/* ============================================================
   Join SBI widget — all styles scoped under .pb-join.
   Inter is the only font. No inline CSS in the markup.
   ============================================================ */

/* The hero uses the shared SBI .sb-hero component from user/css/events-calendar.css
   (loaded by this block) — identical to the Event Calendar / page_hero hero.
   Everything below the hero is styled here. h1 is excluded from the Inter rule so
   the .sb-hero-title Playfair style applies; body text stays Inter. */
.pb-join {
	font-family: 'Inter', sans-serif;
	color: #14210f
}

.pb-join h2,
.pb-join h3,
.pb-join h4,
.pb-join h5,
.pb-join p,
.pb-join a,
.pb-join span,
.pb-join li {
	font-family: 'Inter', sans-serif;
}
.pb-widget{
    margin:0;
}
/* Shared buttons */
.pb-join__btn-primary,
.pb-join__btn-primary--lg {
	background: #e67e22;
	color: #fff;
	border-radius: 10px;
	font-weight: 700;
	text-decoration: none;
	display: flex;
    gap: 6px;
    align-items: center;
}
.pb-join__btn-primary--lg .pb-join__btn-text {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 600;
}
.pb-join__btn-ghost-text{
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 600;  
}

.pb-join__btn-ghost,
.pb-join__btn-ghost--lg {
	background: #285507;
    box-shadow: inset 0 0 0 1px #4C782C;
	color: #fff;
	border-radius: 10px;
	font-weight: 600;
	text-decoration: none;
	display: flex;
    gap: 6px;
    align-items: center;
}

.pb-join__btn-primary {
	padding: 13px 26px
}

.pb-join__btn-ghost {
	padding: 13px 26px
}

.pb-join__btn-primary--lg {
	padding: 13px 28px
}

.pb-join__btn-ghost--lg {
	padding: 13px 28px
}

/* ---- Stats bar -------------------------------------------- */
.pb-join__stats {
    background: #F9F9F9;
    padding: 30px 20px;
    border-bottom: 1px solid #E9E9E9;
}
.pb-join__stats-grid {
	max-width: 1040px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px
}

.pb-join__stat {
	display: flex;
	align-items: center;
	gap: 14px;
	justify-content: center
}

.pb-join__tier-features svg {
    color: #5da12c;
}

.pb-join__stat-icon {
    width: 60px;
    height: 60px;
}
.pb-join__stat-icon img{
    width:100%;
    height:100%;
}
.pb-join__stat-img {
	width: 24px;
	height: 24px;
	object-fit: contain
}

.pb-join__stat-i {
	color: #fff;
	font-size: 18px
}

.pb-join__stat-num {
    font-size: 30px;
    font-weight: 700;
    color: #131413;
    line-height: 100%;
}

.pb-join__stat-label {
    font-size: 16px;
    color: #686968;
    font-weight: 500;
}

/* ---- Section heads (shared) ------------------------------- */
.pb-join__head {
	text-align: center;
	margin-bottom: 40px;
}

.pb-join__h2 {
    font-weight: 700;
    font-size: 45px;
    color: #131413;
    margin: 0 0 6px;
}

.pb-join__head-sub--light {
    color: #FFFFFF;
    opacity: 60%;
}

.pb-join__head-sub.pb-join__head-sub--light {
    color: #FFFFFF;
    opacity: 80%;
}


.pb-join__h2--light {
	color: #fff;
}

.pb-join__accent {
	color: #5DA12C;
}

.pb-join__accent--light {
	color: #5DA12C;
}

.pb-join__head-sub {
    color: #424342;
    font-size: 20px;
    margin: 0;
    font-weight: 400;
    opacity: 80%;
}


/* ---- Membership options ----------------------------------- */
.pb-join__plans {
	padding: 60px 0px;
	background: #fff
}

.pb-join__tiers {
	margin: 0 auto;
	display: grid;
	gap: 20px;
	align-items: stretch
}


.pb-join__tiers--cols-1 {
	grid-template-columns: repeat(1, minmax(0, 1fr))
}

.pb-join__tiers--cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr))
}

.pb-join__tiers--cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr))
}

.pb-join__tiers--cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr))
}

.pb-join__tiers--cols-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr))
}

.pb-join__tiers--cols-6 {
	grid-template-columns: repeat(6, minmax(0, 1fr))
}

.pb-join__tier {
    border: 1px solid #DBDDD9;
    border-radius: 30px;
    padding: 10px;
    background: #fff;
    position: relative;
    display: flex;
    flex-direction: column;
}

.pb-join__tier:hover {
    border: 1px solid #5DA12C;
}

.pb-join__tier-badge {
    align-self: flex-start;
    font-size: 12px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 20px;
    margin-bottom: 14px;
    background: #F5E8FF;
    color: #781DBE;
    transition: all 0.6s ease;
}

.pb-join__tier:hover .pb-join__tier-badge{
    background: #E5F5E7;
    color: #316D38;   
    transition: all 0.6s ease;   
}

.pb-join__tier-name {
    font-size: 30px;
    font-weight: 600;
    color: #0F1B12;
    margin: 14px 0px 4px;
}

.pb-join__tier-note {
    font-size: 14px;
    color: #3F4841;
    margin-bottom: 28px;
}

.pb-join__tier-price {
    font-size: 44px;
    font-weight: 600;
    color: #5DA12C;
}

.pb-join__tier-period {
    color: #3F4841;
    font-size: 16px;
    font-weight: 400;
    margin-left: 8px;
}

.pb-join__tier-features {
	flex: 1;
	margin-top: 30px;
	padding: 0 15px;
	margin-bottom:20px;
}

.pb-join__tier-feature {
	display: flex;
	align-items: flex-start;
	align-items: center;
	gap: 9px;
	margin-bottom: 14px;
	font-size: 16px;
	color: #3F4841;
}

.pb-join__tier-check {
	color: #16a34a;
	margin-top: 3px
}

.pb-join__tier-cta {
    margin-top: 18px;
    display: block;
    text-align: center;
    background: #fff;
    color: #5DA12C;
    border: 1px solid #5DA12C;
    padding: 15px;
    border-radius: 12px;
    font-weight: 600;
    text-decoration: none;
    margin: 0 15px 15px 15px;
    font-size:16px;
    transition: all 0.6s ease;
}


.pb-join__tier:hover .pb-join__tier-cta {
    background: #5DA12C;
    color: #fff;
}

.pb-join__tier-header {
    padding: 24px;
    background: #F9F9F9;
    border-radius: 20px;
}

.pb-join__tier:hover .pb-join__tier-header{ 
  background:#5DA12C;  
 transition: all 0.6s ease;
}

.pb-join__tier:hover .pb-join__tier-name{
 color:#fff;   
}
.pb-join__tier:hover .pb-join__tier-note{
   color:#fff; 
}
.pb-join__tier:hover .pb-join__tier-price{
    color:#fff; 
}
.pb-join__tier:hover .pb-join__tier-period{
     color:#fff; 
}

/* ---- Why join (dark green) -------------------------------- */
.pb-join__why {
	padding: 60px 0px;
	background: #0f3310
}

.pb-join__why-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.pb-join__benefit {
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .10);
	border-radius: 14px;
	padding: 22px 18px
}

.pb-join__benefit-icon {
    width: 62px;
    height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 36px;
    overflow: hidden;
}

.pb-join__benefit-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.pb-join__benefit-i {
	color: #9fd17f;
	font-size: 18px;
}

.pb-join__benefit-title {
	margin: 0 0 15px;
	font-size: 20px;
	font-weight: 500;
	color: #fff;
}

.pb-join__benefit-text {
    margin: 0;
    font-size: 16px;
    color: #fff;
    line-height: 24px;
    opacity: 60%;
    font-weight: 400;
}


/* ---- How it works ----------------------------------------- */
.pb-join__how {
	padding: 60px 0px;
	background: #fff;
	text-align: center
}

.pb-join__how-sub {
    color: #424342;
    font-size: 20px;
    margin: 0 0 40px;
    opacity: 80%;
}

.pb-join__how-wrap {
	max-width: 948px;
	margin: 0 auto;
	position: relative;
}

.pb-join__how-line {
	position: absolute;
	top: 35%;
	left: 16.6%;
	right: 16.6%;
	border-top: 2px dashed #f0a868;
	z-index: 0
}

.pb-join__how-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	position: relative;
	z-index: 1
}

.pb-join__step-icon {
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: #FF9811;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 18px;
	overflow: hidden;
}

.pb-join__step-img {
    width: 80px;
    height: 80px;
    object-fit: contain;
}

.pb-join__step-i {
	color: #fff;
	font-size: 40px
}

.pb-join__step-title {
    margin: 0 0 14px;
    font-size: 24px;
    font-weight: 600;
    color: #131413;
}

.pb-join__step-text {
    margin: 0 auto;
    max-width: 262px;
    font-size: 16px;
    color: #424342;
    line-height: 24px;
    opacity: 80%;
}

/* ---- Testimonials ----------------------------------------- */
.pb-join__ts {
	padding: 60px 0px;
	background: #161616;
	text-align: center
}

.pb-join__ts-title {
    font-weight: 700;
    font-size: 46px;
    color: #fff;
    margin: 0 0 40px;
}

.pb-join__ts-wrap {
	max-width: 1080px;
	margin: 0 auto
}

.pb-join__ts-track {
	display: flex;
	gap: 33px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 2px
}

.pb-join .pb-ts-track::-webkit-scrollbar {
	display: none
}

.pb-join__ts-card {
    scroll-snap-align: center;
    flex: 0 0 calc(32.6% - 12px);
    min-width: 282px;
    background: #fff;
    border-radius: 24px;
    padding: 24px;
    text-align: left;
}

.pb-join__ts-quote {
	color: #e67e22;
	font-size: 26px;
	line-height: 1;
	margin-bottom: 24px;
}

.pb-join__ts-text {
    font-size: 16px;
    color: #131413;
    line-height: 24px;
    margin: 0 0 48px;
}

.pb-join__ts-stars {
    color: #F1791A;
    margin-bottom: 6px;
}

.pb-join__ts-name {
    font-weight: 600;
    color: #131413;
    font-size: 20px;
}

.pb-join__ts-meta {
    font-size: 14px;
    color: #686968;
}

.pb-join__ts-dots {
	display: flex;
	gap: 6px;
	justify-content: center;
	margin-top: 20px
}

.pb-join .pb-ts-dot {
	width: 10px;
	height: 6px;
	border: 0;
	border-radius: 6px;
	background: #555;
	cursor: pointer;
	transition: .2s;
	padding: 0
}

.pb-join .pb-ts-dot--active {
	background: #16a34a;
	width: 22px
}

/* ---- FAQ -------------------------------------------------- */
.pb-join__faq {
	padding: 56px 20px;
	background: #fff
}

.pb-join__faq-head {
	text-align: center;
	margin-bottom: 40px;
}

.pb-join__faq-h2 {
	font-weight: 700;
	font-size: 45px;
	color: #14210f;
	margin: 0
}

.pb-join__faq-list {
	max-width: 960px;
	margin: 0 auto
}

.pb-join__faq-item {
    border: 1px solid #E9E9E9;
    border-radius: 14px;
    margin-bottom: 16px;
    overflow: hidden;
}

.pb-join__faq-q {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    background: #F9F9F9;
    border: 0;
    padding: 24px 28px;
    cursor: pointer;
    font-size: 20px;
    font-weight: 500;
    color: #14210f;
    text-align: left;
}

.pb-join__faq-q-i {
	color: #94a3b8;
	flex: 0 0 auto
}

.pb-join__faq-a {
    display: none;
    padding: 20px;
    font-size: 16px;
    color: #424342;
    line-height: 25px;
    opacity: 80%;
}

.pb-join__faq-a.is-open {
	display: block
}

/* ---- Ready to join ---------------------------------------- */
.pb-join__ready {
	padding: 50px 0px;
	background: #193c00;
	text-align: center;
	color: #fff
}

.pb-join__ready-h2 {
	font-weight: 600;
	font-size: 45px;
	margin: 0 0 16px;
}

.pb-join__ready-sub {
    color: #fff;
    font-size: 16px;
    margin: 0 0 20px;
    opacity: 80%;
}

.pb-join__ready-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap
}

/* ---- Responsive ------------------------------------------- */
@media (max-width:900px) {
	.pb-join__stats-grid {
		grid-template-columns: repeat(4, 1fr)
	}

	.pb-join__tiers {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}

	.pb-join__why-grid {
		grid-template-columns: repeat(2, 1fr)
	}

	.pb-join__how-grid {
		grid-template-columns: 1fr;
		gap: 32px
	}

	.pb-join__how-line {
		display: none
	}

	.pb-join__ts-card {
		flex-basis: 100%
	}
    .pb-join__h2{
      font-size:30px;
    }
    .pb-join__head-sub{
      font-size:16px;
    }
        .pb-join__how-sub {
        font-size: 16px;
    }
    .pb-join__step-icon {
    width: 100px;
    height: 100px;
    }
    .pb-join__step-img {
    width: 40px;
    height: 40px;
    }
    .pb-join__ts-title{
       font-size:30px;   
       margin: 0 0 20px;
    }
    .pb-join__step-title {
    font-size: 20px;
    }
    .pb-join__step-text {
    font-size: 14px;
    }
    .pb-join__faq-q {
        font-size: 16px;
        padding: 15px;
    }
    .pb-join__ready-h2{
      font-size:30px;   
    }
    .pb-join__ready-sub {
      font-size: 14px;
    }
    .pb-join__btn-primary--lg .pb-join__btn-text {
        font-size:16px;
    }
    .pb-join__btn-ghost-text{
       font-size:16px;   
    }
    .pb-join__tier-name {
     font-size: 24px;
    }
    .pb-join__tier-note {
     margin-bottom: 15px;
    }
    .pb-join__tier-price {
        font-size: 35px;
    }
    .pb-join__stat {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width:560px) {
    .pb-join__stat-num {
      font-size: 20px;
    }
    .pb-join__stat-icon {
      width: 50px;
      height: 50px;
    }
    .pb-join__stat-label {
         font-size: 14px;
    }
    .pb-join__stat {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-direction: column;
     }
     .pb-affiliate__stat-body{
        text-align: center;   
     }
    .pb-join__faq-h2{
        font-size:30px;
    }
    .pb-join__faq-a{
      font-size:14px;   
      padding: 15px 20px;
    }
    .pb-join__stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .pb-join__stats-grid div{
     text-align:center;    
    }
    .pb-join__tiers {
		grid-template-columns: 1fr
	}

	.pb-join__why-grid {
		grid-template-columns: 1fr
	}
	
}