/* ============================================================
   Back Basics Landing Page — back-basics-lp.css
   Design system: Aysegul Yoga (Quicksand, pastel blocks,
   lotus pink + royal blue actions, pill buttons).
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&family=Caveat:wght@400;500;600;700&display=swap');

/* ── Design tokens ─────────────────────────────────────────── */
:root {
    --bb-pink:          #fc3897;
    --bb-pink-dark:     #e91d80;
    --bb-pink-tint:     #ffe1f0;
    --bb-blue:          #3366ff;
    --bb-blue-dark:     #1f4fe0;
    --bb-blue-tint:     #e4ecff;
    --bb-positive:      #3f9e7c;
    --bb-negative:      #d4604f;

    --bb-lavender:      #c3b4d4;
    --bb-lavender-lt:   #d8cce6;
    --bb-mist:          #abcad1;
    --bb-mist-lt:       #cfe1e6;
    --bb-ocean:         #709aad;
    --bb-ocean-dk:      #5d8497;
    --bb-sand:          #ede8d9;
    --bb-sand-lt:       #f4f0e6;
    --bb-sand-dk:       #ddd5c0;

    --bb-text:          #2b2b2b;
    --bb-text-mid:      #5f5f63;
    --bb-text-light:    #8a8a90;
    --bb-bg:            #ffffff;
    --bb-bg-warm:       #faf8f3;
    --bb-border:        #e7e4dd;
    --bb-border-firm:   #d6d2c8;

    --bb-radius:        14px;
    --bb-radius-sm:     8px;
    --bb-radius-pill:   999px;
    --bb-shadow-xs:     0 1px 2px rgba(43,43,43,.06);
    --bb-shadow:        0 2px 8px rgba(43,43,43,.07);
    --bb-shadow-md:     0 8px 24px rgba(43,43,43,.09);
    --bb-shadow-lg:     0 20px 48px rgba(43,43,43,.12);
    --bb-shadow-pink:   0 8px 22px rgba(252,56,151,.28);
    --bb-shadow-blue:   0 8px 22px rgba(51,102,255,.24);

    --bb-font:          'Quicksand', ui-rounded, 'Segoe UI', system-ui, sans-serif;
    --bb-script:        'Caveat', 'Segoe Script', cursive;
    --bb-max-w:         1200px;
    --bb-max-w-narrow:  760px;
    --bb-gap:           clamp(2rem, 5vw, 4rem);
    --bb-section-py:    clamp(3rem, 8vw, 6rem);
    --bb-gutter:        clamp(1.25rem, 5vw, 4rem);
    --bb-ease:          cubic-bezier(.4,0,.2,1);
    --bb-dur:           240ms;
}

/* ── Reset (scoped) ────────────────────────────────────────── */
.bb-lp *, .bb-lp *::before, .bb-lp *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
.bb-lp {
    font-family: var(--bb-font);
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--bb-text);
    background: var(--bb-bg);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
.bb-lp img       { max-width: 100%; height: auto; display: block; }
.bb-lp a         { color: inherit; }
.bb-lp ul        { list-style: none; }
/* Kill Divi's default blockquote left-border */
.bb-lp blockquote { border: none !important; padding: 0 !important; margin: 0; }

/* ── Layout helpers ────────────────────────────────────────── */
.bb-container {
    width: 100%;
    max-width: var(--bb-max-w);
    margin-inline: auto;
    padding-inline: var(--bb-gutter);
}
.bb-section         { padding-block: var(--bb-section-py); }
.bb-lp .bb-text-center { text-align: center !important; }

/* ── Section backgrounds ───────────────────────────────────── */
/* Default bg-alt → warm off-white */
.bb-bg-alt                  { background: var(--bb-bg-warm); }
/* Per-section overrides */
.bb-pain.bb-bg-alt          { background: var(--bb-bg); }
.bb-proof.bb-bg-alt         { background: var(--bb-mist); }
.bb-final.bb-bg-alt         { background: var(--bb-ocean); color: #fff; }
/* Preview and plan have no bg class — set directly */
.bb-preview                 { background: var(--bb-mist); }
.bb-plan                    { background: var(--bb-sand); }
/* FAQs */
.bb-faqs                    { background: var(--bb-bg-warm); }
/* CTA "what's included" — lavender block replaces the old dark navy */
.bb-bg-dark                 { background: var(--bb-lavender); color: var(--bb-text); }

/* ── Typography ─────────────────────────────────────────────── */
.bb-eyebrow {
    display: inline-block;
    font-family: var(--bb-font);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--bb-text-mid);
    background: var(--bb-lavender-lt);
    padding: 0.3em 1em;
    border-radius: var(--bb-radius-pill);
    margin-bottom: 1rem;
}
/* bb-label: pill eyebrow matching the design system */
.bb-label {
    display: inline-block;
    font-family: var(--bb-font);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--bb-text-mid);
    background: var(--bb-lavender-lt);
    padding: 0.3em 1em;
    border-radius: var(--bb-radius-pill);
    margin-bottom: 0.875rem;
}
/* Mist section — white pill so it reads on the teal background */
.bb-proof .bb-label {
    background: rgba(255,255,255,.65);
    color: var(--bb-ocean-dk);
}
/* Preview section (also mist) */
.bb-preview .bb-label {
    background: rgba(255,255,255,.65);
    color: var(--bb-ocean-dk);
}
.bb-section-heading {
    font-family: var(--bb-font);
    font-size: clamp(1.6rem, 2.6vw, 2.1rem);
    font-weight: 600;
    line-height: 1.25;
    color: var(--bb-text);
    margin-bottom: 0.75rem;
    text-wrap: balance;
    letter-spacing: -0.01em;
}
.bb-proof .bb-section-heading { color: var(--bb-ocean-dk); }
.bb-final .bb-section-heading { color: #fff; }
.bb-section-sub {
    font-size: 1.0625rem;
    color: var(--bb-text-mid);
    max-width: 680px;
    margin-bottom: 2.5rem;
    line-height: 1.6;
}
.bb-proof .bb-section-sub  { color: var(--bb-ocean-dk); opacity: .9; }
.bb-final .bb-section-sub  { color: rgba(255,255,255,.92); }
/* Both classes on the same element — compound selector + !important to beat Divi p margin rules */
.bb-section-sub.bb-text-center,
.bb-text-center .bb-section-sub {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 720px;
    text-align: center !important;
}
.bb-section-heading.bb-text-center,
.bb-text-center .bb-section-heading {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
.bb-highlight { color: var(--bb-blue); }

/* ── Buttons ─────────────────────────────────────────────────── */
.bb-lp .bb-btn,
.bb-lp a.bb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    font-family: var(--bb-font);
    font-weight: 700;
    text-decoration: none !important;
    border-radius: var(--bb-radius-pill);
    border: 1.5px solid transparent;
    transition: transform var(--bb-dur) var(--bb-ease),
                filter var(--bb-dur) var(--bb-ease);
    cursor: pointer;
    white-space: nowrap;
    line-height: 1;
}
.bb-lp .bb-btn:active { transform: scale(.97); }
.bb-lp .bb-btn:hover  { filter: brightness(1.06); text-decoration: none; }

.bb-lp .bb-btn--primary,
.bb-lp a.bb-btn--primary {
    background: var(--bb-pink);
    color: #fff !important;
    border-color: var(--bb-pink);
    padding: 14px 30px;
    font-size: 1.0625rem;
    box-shadow: var(--bb-shadow-pink);
}
.bb-lp .bb-btn--ghost,
.bb-lp a.bb-btn--ghost {
    background: transparent;
    color: var(--bb-blue) !important;
    border-color: var(--bb-blue);
    padding: 14px 30px;
    font-size: 1.0625rem;
}
.bb-lp .bb-btn--sm  { padding: 10px 22px; font-size: 0.9375rem; }
.bb-lp .bb-btn--lg  { padding: 18px 42px; font-size: 1.15rem;   }
.bb-lp .bb-btn--xl  { padding: 18px 48px; font-size: 1.15rem; box-shadow: var(--bb-shadow-pink); }

/* ── Sticky bottom bar ───────────────────────────────────────── */
.bb-sticky {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9000;
    background: var(--bb-pink);
    color: #fff;
    padding: 0.75rem 0;
    transform: translateY(100%);
    transition: transform 0.3s var(--bb-ease);
    box-shadow: 0 -4px 24px rgba(252,56,151,.25);
}
.bb-sticky.is-visible { transform: translateY(0); }
.bb-sticky__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.bb-sticky__text {
    font-family: var(--bb-font);
    font-size: 0.9375rem;
    font-weight: 600;
    opacity: 0.95;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bb-sticky .bb-btn--primary {
    background: #fff;
    color: var(--bb-pink) !important;
    border-color: #fff;
    box-shadow: none;
}
@media ( max-width: 600px ) {
    .bb-sticky__text { display: none; }
    .bb-sticky__inner { justify-content: center; }
}

/* ── Hero ────────────────────────────────────────────────────── */
.bb-hero { background: var(--bb-bg-warm); padding-top: clamp(2.5rem, 5vw, 4.5rem); }
.bb-hero__grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: var(--bb-gap);
    align-items: center;
}
@media ( max-width: 768px ) {
    .bb-hero__grid { grid-template-columns: 1fr; }
    .bb-hero__image-wrap { order: -1; }
}
.bb-hero__heading {
    font-family: var(--bb-font);
    font-size: clamp(2.2rem, 4.5vw, 3.4rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.01em;
    margin-bottom: 1.25rem;
    color: var(--bb-text);
    text-wrap: balance;
}
.bb-hero__sub {
    font-size: 1.125rem;
    color: var(--bb-text);
    margin-bottom: 1.75rem;
    max-width: 520px;
    line-height: 1.6;
}
.bb-bullets {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-bottom: 2rem;
}
.bb-bullets li {
    display: flex;
    align-items: flex-start;
    gap: 0.75em;
    font-size: 1.0625rem;
    color: var(--bb-text);
}
.bb-bullets li::before {
    content: '✓';
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--bb-blue-tint);
    color: var(--bb-blue);
    font-size: 0.8rem;
    font-weight: 800;
    display: grid;
    place-items: center;
    margin-top: 0.1em;
}
.bb-hero__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 0.875rem;
    align-items: center;
}
.bb-hero__image {
    width: 100%;
    border-radius: 32px;
    box-shadow: var(--bb-shadow-lg);
    object-fit: cover;
}

/* ── Pain Points ─────────────────────────────────────────────── */
.bb-pain .bb-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.bb-pain .bb-pain__grid,
.bb-pain .bb-quote { width: 100%; }
.bb-pain__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.875rem;
    margin-top: 2.25rem;
    margin-bottom: 2.5rem;
}
@media ( max-width: 768px ) { .bb-pain__grid { grid-template-columns: 1fr 1fr; } }
@media ( max-width: 500px )  { .bb-pain__grid { grid-template-columns: 1fr; } }
.bb-pain__card {
    background: var(--bb-bg);
    border: 1.5px solid var(--bb-border);
    border-radius: var(--bb-radius);
    padding: 18px 20px;
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    box-shadow: var(--bb-shadow-xs);
    transition: transform var(--bb-dur) var(--bb-ease), box-shadow var(--bb-dur) var(--bb-ease);
}
.bb-pain__card:hover { transform: translateY(-4px); box-shadow: var(--bb-shadow); }
.bb-pain__icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--bb-pink-tint);
    color: var(--bb-negative);
    font-size: 0.82rem;
    font-weight: 800;
    display: grid;
    place-items: center;
    margin-top: 0.1em;
}
.bb-pain__card p {
    font-size: 0.9375rem;
    line-height: 1.45;
    color: var(--bb-text);
}
.bb-quote {
    background: var(--bb-lavender);
    border-radius: 22px;
    padding: 30px 36px;
    max-width: 760px;
    margin-inline: auto;
    text-align: center;
}
.bb-quote p {
    font-family: var(--bb-font);
    font-size: clamp(1.1rem, 2.2vw, 1.3rem);
    font-weight: 500;
    color: #fff;
    margin-bottom: 0.75rem;
    line-height: 1.5;
    font-style: normal;
}
.bb-quote cite {
    font-style: normal;
    font-family: var(--bb-script);
    font-size: 1.35rem;
    font-weight: 600;
    color: #fff;
    display: block;
}

/* ── Preview Video ───────────────────────────────────────────── */
.bb-preview__inner {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: var(--bb-gap);
    align-items: center;
}
@media ( max-width: 768px ) { .bb-preview__inner { grid-template-columns: 1fr; } }
.bb-preview .bb-section-heading { color: var(--bb-ocean-dk); margin-bottom: 0.6rem; }
.bb-preview .bb-section-sub     { color: var(--bb-ocean-dk); opacity: .9; margin-bottom: 1.5rem; }
.bb-preview__cta { margin-top: 0.5rem; }
.bb-video-responsive {
    position: relative;
    padding-top: 56.25%;
    border-radius: 32px;
    overflow: hidden;
    box-shadow: var(--bb-shadow-lg);
}
.bb-video-responsive iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* ── Solution ────────────────────────────────────────────────── */
.bb-solution__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--bb-gap);
    align-items: center;
}
@media ( max-width: 768px ) { .bb-solution__grid { grid-template-columns: 1fr; } }
.bb-solution__image {
    border-radius: 32px;
    box-shadow: var(--bb-shadow-md);
    object-fit: cover;
}
.bb-body-text p { margin-bottom: 1rem; color: var(--bb-text-mid); line-height: 1.6; }
.bb-body-text p:last-child { margin-bottom: 0; }

/* ── 8-Week Plan ─────────────────────────────────────────────── */
.bb-plan .bb-section-heading { margin-bottom: 0.5rem; }
.bb-plan .bb-section-sub { margin-bottom: 2rem; }
.bb-accordion {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    margin-bottom: 2.5rem;
}
.bb-accordion__item {
    background: var(--bb-bg);
    border: 1.5px solid var(--bb-border);
    border-radius: var(--bb-radius);
    overflow: hidden;
    box-shadow: var(--bb-shadow-xs);
}
.bb-accordion__item.is-open {
    border-left: 3px solid var(--bb-pink);
    box-shadow: var(--bb-shadow);
}
.bb-accordion__trigger {
    width: 100%;
    background: var(--bb-bg);
    border: none;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem 1.375rem;
    cursor: pointer;
    text-align: left;
    transition: background var(--bb-dur) var(--bb-ease);
    font-family: var(--bb-font);
    color: var(--bb-text);
}
.bb-accordion__trigger:hover { background: var(--bb-bg-warm); }
.bb-accordion__item.is-open .bb-accordion__trigger { background: var(--bb-bg-warm); }
.bb-accordion__week-num {
    flex-shrink: 0;
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--bb-pink);
    min-width: 4.5rem;
}
.bb-accordion__title {
    flex: 1;
    font-weight: 600;
    font-size: 1.0625rem;
    color: var(--bb-text);
}
.bb-accordion__icon {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--bb-mist-lt);
    color: var(--bb-ocean-dk);
    display: grid;
    place-items: center;
    font-size: 1.1rem;
    font-weight: 700;
    transition: transform var(--bb-dur) var(--bb-ease), background var(--bb-dur) var(--bb-ease);
}
.bb-accordion__icon::after {
    content: '+';
    display: block;
    line-height: 1;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--bb-ocean-dk);
    transition: transform var(--bb-dur) var(--bb-ease);
}
.bb-accordion__item.is-open .bb-accordion__icon {
    background: var(--bb-blue);
    transform: rotate(45deg);
}
.bb-accordion__item.is-open .bb-accordion__icon::after { color: #fff; }
.bb-accordion__body {
    padding: 0 1.375rem 1.375rem;
    background: var(--bb-bg-warm);
}
.bb-accordion__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 2rem;
    margin-bottom: 0.75rem;
    font-size: 0.9rem;
    color: var(--bb-text-mid);
    padding-top: 0.5rem;
}
.bb-accordion__meta strong { color: var(--bb-text); font-weight: 700; }
.bb-accordion__body p {
    font-size: 0.9375rem;
    color: var(--bb-text-mid);
    line-height: 1.65;
}
.bb-plan__cta {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.875rem;
    margin-top: 1.875rem;
}
.bb-plan__note {
    font-size: 0.9375rem;
    color: var(--bb-text-mid);
}

/* ── Social Proof ────────────────────────────────────────────── */
/* Flexbox centres heading/sub without fighting Divi's margin overrides */
.bb-proof .bb-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.bb-proof .bb-testimonials,
.bb-proof .bb-stats { width: 100%; }
.bb-proof .bb-label { color: var(--bb-ocean-dk); }
.bb-testimonials {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 2.5rem;
}
@media ( max-width: 900px ) { .bb-testimonials { grid-template-columns: repeat(2, 1fr); } }
@media ( max-width: 500px )  { .bb-testimonials { grid-template-columns: 1fr; } }
.bb-testimonial {
    background: var(--bb-bg);
    border: 1.5px solid var(--bb-border);
    border-radius: var(--bb-radius);
    padding: 1.375rem;
    box-shadow: var(--bb-shadow);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    transition: transform var(--bb-dur) var(--bb-ease), box-shadow var(--bb-dur) var(--bb-ease);
}
.bb-testimonial:hover { transform: translateY(-4px); box-shadow: var(--bb-shadow-md); }
.bb-testimonial__stars {
    color: var(--bb-pink);
    font-size: 0.9rem;
    letter-spacing: 1px;
}
.bb-testimonial blockquote {
    font-size: 0.9375rem;
    color: var(--bb-text);
    line-height: 1.55;
    font-style: normal;
    flex: 1;
}
.bb-testimonial cite {
    font-style: normal;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--bb-text);
    font-family: var(--bb-font);
    margin-top: auto;
}
.bb-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    background: var(--bb-bg);
    border: 1.5px solid var(--bb-border);
    border-radius: var(--bb-radius);
    padding: 2rem 1.5rem;
    text-align: center;
    box-shadow: var(--bb-shadow);
}
@media ( max-width: 600px ) { .bb-stats { grid-template-columns: repeat(2, 1fr); } }
.bb-stat { display: flex; flex-direction: column; gap: 0.35rem; position: relative; }
.bb-stat + .bb-stat::before {
    content: '';
    position: absolute;
    left: -0.5rem;
    top: 10%;
    height: 80%;
    width: 1px;
    background: var(--bb-border-firm);
}
@media ( max-width: 600px ) { .bb-stat + .bb-stat::before { display: none; } }
.bb-stat__num {
    font-family: var(--bb-font);
    font-size: clamp(1.7rem, 2.6vw, 2.4rem);
    font-weight: 700;
    color: var(--bb-text);
    line-height: 1;
    letter-spacing: -0.01em;
}
.bb-stat__label {
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--bb-text-mid);
}

/* ── CTA / Pricing Card ──────────────────────────────────────── */
.bb-cta__header {
    text-align: center;
    margin-bottom: 2.5rem;
}
.bb-cta__header .bb-section-heading { color: #fff; }
.bb-cta__header .bb-section-sub     { color: rgba(255,255,255,.88); }
/* White card centred on lavender */
.bb-cta__card {
    background: #fff;
    border-radius: 32px;
    padding: 2.5rem;
    max-width: 760px;
    margin-inline: auto;
    box-shadow: 0 20px 64px rgba(43,43,43,.15);
    display: flex;
    flex-direction: column;
    align-items: center;
}
@media ( max-width: 600px ) { .bb-cta__card { padding: 2rem 1.5rem; border-radius: 24px; } }
/* Badge */
.bb-cta__badge-wrap { margin-bottom: 1.75rem; }
.bb-cta__badge {
    display: inline-block;
    background: var(--bb-pink-tint);
    color: var(--bb-pink);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 0.35em 1.1em;
    border-radius: var(--bb-radius-pill);
}
/* 2-col checklist inside card */
.bb-checklist,
.bb-checklist--2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 2.5rem;
    width: 100%;
    margin-bottom: 2rem;
    list-style: none;
}
@media ( max-width: 560px ) {
    .bb-checklist,
    .bb-checklist--2col { grid-template-columns: 1fr; }
}
.bb-checklist li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.9375rem;
    color: var(--bb-text);
}
.bb-checklist li::before {
    content: '✓';
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--bb-blue-tint);
    color: var(--bb-blue);
    font-size: 0.75rem;
    font-weight: 800;
    display: grid;
    place-items: center;
    margin-top: 0.15em;
}
/* Pricing */
.bb-cta__pricing {
    display: flex;
    align-items: baseline;
    gap: 0.625rem;
    margin-bottom: 0.3rem;
}
.bb-cta__price {
    font-family: var(--bb-font);
    font-size: 3.4rem;
    font-weight: 700;
    line-height: 1;
    color: var(--bb-text);
    letter-spacing: -0.02em;
}
.bb-cta__price-was {
    font-size: 1.25rem;
    font-weight: 500;
    color: var(--bb-text-light);
    text-decoration: line-through;
}
.bb-cta__price-note {
    font-size: 0.9375rem;
    color: var(--bb-text-mid);
    margin-bottom: 1.75rem;
    text-align: center;
}
/* Action / button */
.bb-cta__action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: 100%;
}
.bb-cta__action .bb-btn--xl { width: 100%; justify-content: center; }
.bb-trust {
    font-size: 0.875rem;
    color: var(--bb-text-mid);
    text-align: center;
}

/* ── FAQs ────────────────────────────────────────────────────── */
.bb-faqs__inner {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: var(--bb-gap);
    align-items: start;
}
@media ( max-width: 768px ) { .bb-faqs__inner { grid-template-columns: 1fr; } }
.bb-faqs__header { position: sticky; top: 80px; }
.bb-faqs .bb-accordion { margin-bottom: 0; }
.bb-faqs .bb-accordion__trigger { padding: 1rem 1.25rem; }
.bb-faqs .bb-accordion__week-num { display: none; }
.bb-faqs .bb-accordion__body { padding: 0 1.25rem 1.25rem; }

/* ── Final CTA / Guide ───────────────────────────────────────── */
.bb-final__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2.5rem, 6vw, 5rem);
    align-items: center;
}
@media ( max-width: 768px ) { .bb-final__grid { grid-template-columns: 1fr; } }

/* Left column */
.bb-final__join { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.bb-label--on-ocean {
    background: var(--bb-sand);
    color: var(--bb-text-mid);
    margin-bottom: 1.125rem;
}
.bb-final__join .bb-section-heading {
    color: #fff;
    font-size: clamp(1.75rem, 3.2vw, 2.5rem);
    margin-bottom: 1rem;
}
.bb-final__join p {
    color: rgba(255,255,255,.85);
    font-size: 1.0625rem;
    line-height: 1.65;
    margin-bottom: 1.5rem;
}
.bb-final__join .bb-btn--primary {
    margin-top: 0.5rem;
}

/* Right column — white card */
.bb-final__guide {
    background: var(--bb-bg);
    color: var(--bb-text);
    border-radius: 28px;
    padding: 2.25rem 2.25rem 2rem;
    box-shadow: 0 24px 64px rgba(43,43,43,.18);
    display: flex;
    flex-direction: column;
    gap: 0;
}
/* Card heading + subtitle */
.bb-final__guide-heading {
    font-family: var(--bb-font);
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--bb-text);
    margin-bottom: 0.3rem;
    line-height: 1.2;
}
.bb-final__guide-sub {
    font-size: 0.9375rem;
    color: var(--bb-text-light);
    margin-bottom: 1.5rem;
}
/* Trust text below form submit */
.bb-final__guide-trust {
    font-size: 0.875rem;
    color: var(--bb-text-light);
    text-align: center;
    margin-top: 0.75rem;
}

/* ── Gravity Forms ───────────────────────────────────────────── */
.bb-lp .gform_wrapper,
.bb-lp .gform_wrapper * {
    font-family: var(--bb-font) !important;
    box-sizing: border-box;
}
/* Kill GF's default list/wrapper chrome */
.bb-lp .gform_body,
.bb-lp .gform_fields {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: none !important;
    border: none !important;
}
.bb-lp .gfield {
    margin: 0 0 1rem !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
}
.bb-lp .gfield:last-child { margin-bottom: 0 !important; }
/* Labels */
.bb-lp .gfield_label,
.bb-lp .gfield__label {
    display: block !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    color: var(--bb-text) !important;
    margin: 0 0 0.4rem !important;
    padding: 0 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.bb-lp .gfield_required { color: var(--bb-pink) !important; margin-left: 2px !important; }
/* Inputs */
.bb-lp .gform_wrapper input[type="text"],
.bb-lp .gform_wrapper input[type="email"],
.bb-lp .gform_wrapper input[type="tel"],
.bb-lp .gform_wrapper input[type="number"],
.bb-lp .gform_wrapper input[type="password"],
.bb-lp .gform_wrapper input[type="url"],
.bb-lp .gform_wrapper textarea,
.bb-lp .gform_wrapper select {
    width: 100% !important;
    padding: 12px 18px !important;
    border: 1.5px solid var(--bb-border-firm) !important;
    border-radius: var(--bb-radius-pill) !important;
    background: var(--bb-bg) !important;
    color: var(--bb-text) !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
    transition: border-color var(--bb-dur) var(--bb-ease),
                box-shadow var(--bb-dur) var(--bb-ease) !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
    height: auto !important;
}
.bb-lp .gform_wrapper textarea {
    border-radius: var(--bb-radius) !important;
    resize: vertical !important;
    min-height: 120px !important;
}
.bb-lp .gform_wrapper input:focus,
.bb-lp .gform_wrapper textarea:focus,
.bb-lp .gform_wrapper select:focus {
    border-color: var(--bb-blue) !important;
    box-shadow: 0 0 0 3px var(--bb-blue-tint) !important;
}
/* GF input container — remove default padding/margin */
.bb-lp .ginput_container {
    margin: 0 !important;
    padding: 0 !important;
}
/* Placeholder */
.bb-lp .gform_wrapper input::placeholder,
.bb-lp .gform_wrapper textarea::placeholder {
    color: var(--bb-text-light) !important;
    opacity: 1 !important;
}
/* Field descriptions */
.bb-lp .gfield_description {
    font-size: 0.875rem !important;
    color: var(--bb-text-light) !important;
    margin: 0.25rem 0 0 !important;
    padding: 0 4px !important;
}
/* Validation errors */
.bb-lp .gfield_error .gfield_label,
.bb-lp .gfield_error .gfield__label { color: var(--bb-negative) !important; }
.bb-lp .gfield_error input,
.bb-lp .gfield_error textarea {
    border-color: var(--bb-negative) !important;
    box-shadow: 0 0 0 3px rgba(212,96,79,.12) !important;
}
.bb-lp .gfield_validation_message,
.bb-lp .validation_message {
    color: var(--bb-negative) !important;
    font-size: 0.875rem !important;
    margin: 0.3rem 0 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    font-weight: 500 !important;
}
.bb-lp .gform_validation_errors {
    background: #fff5f5 !important;
    border: 1.5px solid rgba(212,96,79,.4) !important;
    border-radius: var(--bb-radius) !important;
    padding: 1rem 1.25rem !important;
    margin-bottom: 1.5rem !important;
    color: var(--bb-negative) !important;
    font-size: 0.9375rem !important;
}
/* Submit button */
.bb-lp .gform_footer {
    margin-top: 1.25rem !important;
    padding: 0 !important;
}
.bb-lp .gform_button,
.bb-lp .gform_button.button,
.bb-lp input.gform_button {
    display: block !important;
    width: 100% !important;
    background: var(--bb-pink) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--bb-radius-pill) !important;
    padding: 14px 30px !important;
    font-weight: 700 !important;
    font-size: 1.0625rem !important;
    cursor: pointer !important;
    transition: filter var(--bb-dur) var(--bb-ease),
                transform var(--bb-dur) var(--bb-ease) !important;
    box-shadow: var(--bb-shadow-pink) !important;
    line-height: 1 !important;
    text-align: center !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    height: auto !important;
}
.bb-lp .gform_button:hover { filter: brightness(1.06) !important; }
.bb-lp .gform_button:active { transform: scale(.97) !important; }
/* Ajax spinner */
.bb-lp .gform_ajax_spinner { margin-left: 0.5rem; }
/* Confirmation message */
.bb-lp .gform_confirmation_message {
    background: #ecfdf5 !important;
    border: 1.5px solid #6ee7b7 !important;
    border-radius: var(--bb-radius) !important;
    padding: 1.25rem 1.5rem !important;
    color: #065f46 !important;
    font-weight: 500 !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    text-align: center !important;
}
/* GF honeypot + hidden fields — keep invisible */
.bb-lp .gform_validation_container,
.bb-lp .gf_invisible { display: none !important; }
/* GF v2 multi-column reset — force single column */
.bb-lp .gform_fields .gfield--width-half,
.bb-lp .gform_fields .gfield--width-third { width: 100% !important; }

/* ── Small-screen fixes (≤ 480px) ───────────────────────────── */
@media ( max-width: 480px ) {
    /* Hero heading — reduce min so it doesn't crowd a 320px screen */
    .bb-hero__heading { font-size: clamp(1.75rem, 8vw, 2.6rem); }

    /* CTA pair — stack vertically, stretch to full width */
    .bb-hero__ctas { flex-direction: column; align-items: stretch; }
    .bb-hero__ctas .bb-btn { text-align: center; width: 100%; }

    /* Accordion trigger — align top so wrapped titles don't look skewed */
    .bb-accordion__trigger { align-items: flex-start; padding: 0.9rem 1rem; }
    .bb-accordion__week-num { padding-top: 0.15em; }
    .bb-accordion__body { padding: 0 1rem 1rem; }

    /* Quote — reduce padding on narrow screens */
    .bb-quote { padding: 22px 20px; }

    /* Final guide card — reduce border-radius & padding */
    .bb-final__guide { border-radius: 20px; padding: 1.5rem; }

    /* Section headings — tighten min for very small screens */
    .bb-section-heading { font-size: clamp(1.4rem, 5.5vw, 2.1rem); }

    /* Buttons — allow wrap on very small widths */
    .bb-lp .bb-btn { white-space: normal; text-align: center; }
}

/* ── Admin bar offset ────────────────────────────────────────── */
/* Bottom sticky needs no admin-bar offset — it sits at bottom: 0 */

/* ── Reduced motion ──────────────────────────────────────────── */
@media ( prefers-reduced-motion: reduce ) {
    .bb-lp *, .bb-lp *::before, .bb-lp *::after { transition: none !important; }
}
