/* ============================================================
   Apr 30 2026 — Hero photo rotator + stronger parallax. These
   are NOT preview-only, they're part of the live design system.
   Lives in this file temporarily; promote to style.css when the
   preview overrides get torn down.
   ============================================================ */

/* Stronger parallax on swoosh-banner rows that carry a bg_image.
   background-attachment: fixed gives a true "image stays put while
   content scrolls past" effect — much more pronounced than the
   previous static background. iOS Safari has known jank with fixed
   bgs so we drop to scroll under 768px. */
.bpw-swoosh-banner.vc_row[style*="background-image"],
.bpw-r3-hero.vc_row[style*="background-image"] {
    background-attachment: fixed !important;
    background-size: cover !important;
    background-position: center center !important;
}

@media (max-width: 767px) {
    .bpw-swoosh-banner.vc_row[style*="background-image"],
    .bpw-r3-hero.vc_row[style*="background-image"] {
        background-attachment: scroll !important;
    }
}

/* Hero rotator v2: the row's own background-image is what's visible
   most of the time. The shortcode injects a single .bpw-rotator-overlay
   absolutely-positioned div as the row's first child; the JS fades
   that overlay in showing the next image, commits the swap to the
   row's bg, and fades the overlay out. The swoosh ::before dim
   overlay continues to work because we're swapping the row's native
   background-image, not stacking content above it.

   Most of the styling is inline on the overlay (set by the JS) so
   the CSS here just keeps column content above the overlay layer. */
.bpw-swoosh-banner .wpb_column,
.bpw-swoosh-banner .wpb_wrapper {
    position: relative;
    z-index: 2;
}

/* Tiny "preview imagery — license pending" badge for design pages
   so it's clear which mockups still rely on unlicensed comps. */
.bpw-license-note {
    position: relative;
    z-index: 5;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 4px;
    display: inline-block;
    margin: 0 0 12px;
    backdrop-filter: blur(2px);
}


/* ============================================================
   Apr 21 2026 — Temporary preview overrides for design
   alignment doc. Activated by body classes toggled from the
   bottom-right preview panel.
   Remove this file once Round 3 is locked in.

   Groups (class names mirror group+value so they read as a namespace):
     Nav (mutually exclusive):
       .bpw-preview-nav-flipped     — swap yellow top / white bottom
       .bpw-preview-nav-map         — both tiers white, map SVG texture on top
     Fonts (mutually exclusive):
       .bpw-preview-fonts-oswald    — heavy Oswald hero headlines
       .bpw-preview-fonts-serif     — Playfair Display on H1s / titles
     Colors (stackable):
       .bpw-preview-color-warm-yellow
       .bpw-preview-color-charcoal
       .bpw-preview-color-teal
       .bpw-preview-color-purple    (NEW Apr 21)
     Layout (stackable):
       .bpw-preview-layout-asym
       .bpw-preview-layout-pills
       .bpw-preview-layout-bigstats

   Enqueued only on pages 8025 / 8009 / 136 via functions.php.
   ============================================================ */


/* ============================================================
   NAV group
   ============================================================ */

/* ---------- Nav: Flipped (yellow bottom / white top) ---------- */
@media (min-width: 900px) {
    body.bpw-preview-nav-flipped #header-inner-bg {
        background-color: #fff !important;
        background-image: none !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    }

    body.bpw-preview-nav-flipped nav.main-navigation,
    body.bpw-preview-nav-flipped .main-navigation-container {
        background-color: var(--bpw-yellow, #ffdb35) !important;
        border-top: 0 !important;
    }

    body.bpw-preview-nav-flipped #main-nav > li > a,
    body.bpw-preview-nav-flipped .main-navigation a {
        color: #1a1a1a !important;
    }

    body.bpw-preview-nav-flipped .bpw-nav-cta-cluster .btn-outline-dark {
        border-color: #1a1a1a !important;
    }

    body.bpw-preview-nav-flipped #logo .hb-light-logo { display: none !important; }
    body.bpw-preview-nav-flipped #logo .hb-dark-logo { display: block !important; }

    /* STICKY STATE FIX: when the page is scrolled and the nav becomes
       sticky, the whole header collapses into a single row (see
       style.css #2997). In that state, force both layers back to the
       default sticky look (white with yellow bottom border) so the
       inherited yellow nav doesn't bleed through. */
    body.bpw-preview-nav-flipped.highend-sticky-header nav.main-navigation,
    body.bpw-preview-nav-flipped.highend-sticky-header .main-navigation-container {
        background-color: transparent !important;
    }

    body.bpw-preview-nav-flipped.highend-sticky-header #header-inner-bg {
        background-color: #fff !important;
        border-bottom: 2px solid var(--bpw-yellow, #ffdb35) !important;
    }
}

/* ---------- Nav: Map variants (white two-tier, SVG texture on top) ----------
   Two variants paint the top tier background directly with a pre-colored
   SVG (fills/strokes + opacity baked into the SVG itself). No mask-image,
   no ::before pseudo, no overflow clipping — those created stacking-context
   issues with the sub-menu dropdowns inside #header-inner-bg > .container.
   This is the simpler and more reliable path.

   Shared shell: #header-inner-bg becomes white, nav tier stays white,
   logo switches to dark variant, nav text goes dark. */

@media (min-width: 900px) {
    /* Specificity boosted by chaining ancestor IDs so this rule beats
       both the default theme rule (0,0,1,0) and any sticky-state rule
       short of a full body+sticky+ids ladder. */
    body.bpw-preview-nav-map #hb-header #header-inner #header-inner-bg {
        background-color: #fff !important;
        background-image: url('assets/images/bpw-continents-yellow.svg') !important;
        background-repeat: repeat-x !important;
        background-size: auto 140% !important;
        background-position: center center !important;
        background-blend-mode: normal !important;
    }

    body.bpw-preview-nav-map-outline #hb-header #header-inner #header-inner-bg {
        background-color: #fff !important;
        background-image: url('assets/images/bpw-continents-outline.svg') !important;
        background-repeat: repeat-x !important;
        background-size: auto 140% !important;
        background-position: center center !important;
        background-blend-mode: normal !important;
    }

    /* Shared: nav tier stays white in both map variants */
    body.bpw-preview-nav-map nav.main-navigation,
    body.bpw-preview-nav-map .main-navigation-container,
    body.bpw-preview-nav-map-outline nav.main-navigation,
    body.bpw-preview-nav-map-outline .main-navigation-container {
        background-color: #fff !important;
        border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
    }

    /* Shared: logo/nav text go dark so they read on white */
    body.bpw-preview-nav-map #logo .hb-light-logo,
    body.bpw-preview-nav-map-outline #logo .hb-light-logo { display: none !important; }

    body.bpw-preview-nav-map #logo .hb-dark-logo,
    body.bpw-preview-nav-map-outline #logo .hb-dark-logo { display: block !important; }

    body.bpw-preview-nav-map #main-nav > li > a,
    body.bpw-preview-nav-map .main-navigation a,
    body.bpw-preview-nav-map-outline #main-nav > li > a,
    body.bpw-preview-nav-map-outline .main-navigation a {
        color: #1a1a1a !important;
    }

    body.bpw-preview-nav-map .bpw-nav-cta-cluster .btn-outline-dark,
    body.bpw-preview-nav-map-outline .bpw-nav-cta-cluster .btn-outline-dark {
        border-color: #1a1a1a !important;
    }

    /* Sticky: drop the map for legibility on scroll. Mirror the boosted
       specificity so the sticky theme rule can't sneak back in. */
    body.bpw-preview-nav-map.highend-sticky-header #hb-header #header-inner #header-inner-bg,
    body.bpw-preview-nav-map-outline.highend-sticky-header #hb-header #header-inner #header-inner-bg {
        background-image: none !important;
        border-bottom: 2px solid var(--bpw-yellow, #ffdb35) !important;
    }
}


/* ============================================================
   FONTS group
   ============================================================ */

/* Shared base: every non-default fonts variant targets the same headings. */
body.bpw-preview-fonts-oswald .bpw-r3-hero h1,   body.bpw-preview-fonts-oswald .bpw-swoosh-banner h1,   body.bpw-preview-fonts-oswald .hb-main-content h1,   body.bpw-preview-fonts-oswald .bpw-section-title,
body.bpw-preview-fonts-playfair .bpw-r3-hero h1, body.bpw-preview-fonts-playfair .bpw-swoosh-banner h1, body.bpw-preview-fonts-playfair .hb-main-content h1, body.bpw-preview-fonts-playfair .bpw-section-title,
body.bpw-preview-fonts-nunito .bpw-r3-hero h1,   body.bpw-preview-fonts-nunito .bpw-swoosh-banner h1,   body.bpw-preview-fonts-nunito .hb-main-content h1,   body.bpw-preview-fonts-nunito .bpw-section-title {
    letter-spacing: -0.01em !important;
    line-height: 1.1 !important;
}

/* ---------- Fonts: Oswald (condensed sans, uppercase, confident) ---------- */
body.bpw-preview-fonts-oswald .bpw-r3-hero h1,
body.bpw-preview-fonts-oswald .bpw-swoosh-banner h1,
body.bpw-preview-fonts-oswald .home .bpw-swoosh-banner h1,
body.bpw-preview-fonts-oswald .hb-main-content h1,
body.bpw-preview-fonts-oswald .bpw-section-title {
    font-family: 'Oswald', 'Arial Narrow', Arial, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.005em !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
}
body.bpw-preview-fonts-oswald .bpw-r3-hero h1 { font-size: 3.25rem !important; }

/* ---------- Fonts: Playfair Display (classic editorial serif) ---------- */
body.bpw-preview-fonts-playfair .bpw-r3-hero h1,
body.bpw-preview-fonts-playfair .bpw-swoosh-banner h1,
body.bpw-preview-fonts-playfair .hb-main-content h1,
body.bpw-preview-fonts-playfair .bpw-section-title {
    font-family: 'Playfair Display', 'Georgia', 'Times New Roman', serif !important;
    font-weight: 700 !important;
    text-transform: none !important;
}
body.bpw-preview-fonts-playfair .bpw-r3-hero h1 { font-size: 3.5rem !important; }

/* ---------- Fonts: Nunito (rounded sans, warm and friendly) ---------- */
body.bpw-preview-fonts-nunito .bpw-r3-hero h1,
body.bpw-preview-fonts-nunito .bpw-swoosh-banner h1,
body.bpw-preview-fonts-nunito .hb-main-content h1,
body.bpw-preview-fonts-nunito .bpw-section-title {
    font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;
    font-weight: 800 !important;
    text-transform: none !important;
    letter-spacing: -0.015em !important;
}
body.bpw-preview-fonts-nunito .bpw-r3-hero h1 { font-size: 3.3rem !important; }

@media (max-width: 767px) {
    body.bpw-preview-fonts-oswald .bpw-r3-hero h1,
    body.bpw-preview-fonts-playfair .bpw-r3-hero h1,
    body.bpw-preview-fonts-nunito .bpw-r3-hero h1 {
        font-size: 2.4rem !important;
    }
}


/* ============================================================
   COLORS group
   ============================================================ */

/* ---------- Color: Softer charcoal (lighter than pure black, clearly
   distinguishable from the near-black #1a1a1a) ---------- */
body.bpw-preview-color-charcoal .bpw-swoosh-banner--overlay-dark::before,
body.bpw-preview-color-charcoal .bpw-section-dark,
body.bpw-preview-color-charcoal .bpw-ref-compare-ours--dark,
body.bpw-preview-color-charcoal .black-bkg,
body.bpw-preview-color-charcoal #footer {
    background-color: #544a42 !important;
}

body.bpw-preview-color-charcoal .bpw-swoosh-banner--overlay-dark::before {
    background-image: linear-gradient(rgba(84, 74, 66, 0.72), rgba(84, 74, 66, 0.72)),
                      var(--bpw-hero-bg-image, none) !important;
}

/* ---------- Color: Teal accent ---------- */
body.bpw-preview-color-teal {
    --bpw-teal: #2ba3a8;
}

/* Link underlines on content links (bolder than before so it's visible
   on the design-alignment doc itself) */
body.bpw-preview-color-teal .hb-main-content a:not(.btn):not(.yellow-btn):not(.vc_btn3):not(.bpw-logo-link):not([class*='button']):not(.bpw-preview-bar__btn) {
    text-decoration-color: #2ba3a8 !important;
    text-decoration-thickness: 2px !important;
    color: #1a1a1a !important;
}

body.bpw-preview-color-teal .hb-main-content a:not(.btn):not(.yellow-btn):not(.vc_btn3):hover {
    color: #1e7a7e !important;
    text-decoration-color: #1e7a7e !important;
}

/* Stat cards: teal border + teal numerals (visible on both
   .bpw-stat-card-r3 real cards AND .bpw-mini-stat-card preview cards) */
body.bpw-preview-color-teal .bpw-stat-card-r3,
body.bpw-preview-color-teal .bpw-mini-stat-card {
    border: 2px solid rgba(43, 163, 168, 0.35) !important;
}

body.bpw-preview-color-teal .bpw-stat-card-r3:hover {
    border-color: #2ba3a8 !important;
    transform: translateY(-2px) !important;
}

body.bpw-preview-color-teal .bpw-stat-number-r3,
body.bpw-preview-color-teal .bpw-mini-stat-n {
    color: #2ba3a8 !important;
}

/* Section title yellow-bar underline gets a teal tail for visible signal */
body.bpw-preview-color-teal .bpw-section-title::after {
    background: linear-gradient(90deg, var(--bpw-yellow, #ffdb35) 0%, var(--bpw-yellow, #ffdb35) 55%, #2ba3a8 55%, #2ba3a8 100%) !important;
}

/* ---------- Color: More purple emphasis (NEW) ---------- */
body.bpw-preview-color-purple {
    --bpw-purple: #7c3aed;
    --bpw-purple-soft: #a78bfa;
}

/* Section title bars get a purple tail similar to teal but distinct */
body.bpw-preview-color-purple .bpw-section-title::after {
    background: linear-gradient(90deg, var(--bpw-yellow, #ffdb35) 0%, var(--bpw-yellow, #ffdb35) 55%, #7c3aed 55%, #7c3aed 100%) !important;
}

/* If BOTH teal and purple are active, split three ways so both show */
body.bpw-preview-color-teal.bpw-preview-color-purple .bpw-section-title::after {
    background: linear-gradient(90deg,
        var(--bpw-yellow, #ffdb35) 0%, var(--bpw-yellow, #ffdb35) 40%,
        #2ba3a8 40%, #2ba3a8 70%,
        #7c3aed 70%, #7c3aed 100%) !important;
}

/* Stat numerals purple (default, not just hover) */
body.bpw-preview-color-purple .bpw-stat-number-r3,
body.bpw-preview-color-purple .bpw-mini-stat-n {
    color: #7c3aed !important;
}

/* Teal + purple both active: alternate */
body.bpw-preview-color-teal.bpw-preview-color-purple .bpw-stat-card-r3:nth-child(even) .bpw-stat-number-r3,
body.bpw-preview-color-teal.bpw-preview-color-purple .bpw-mini-stat-card:nth-child(even) .bpw-mini-stat-n {
    color: #7c3aed !important;
}
body.bpw-preview-color-teal.bpw-preview-color-purple .bpw-stat-card-r3:nth-child(odd) .bpw-stat-number-r3,
body.bpw-preview-color-teal.bpw-preview-color-purple .bpw-mini-stat-card:nth-child(odd) .bpw-mini-stat-n {
    color: #2ba3a8 !important;
}

/* Content-box-petal gets a subtle purple left border when purple active */
body.bpw-preview-color-purple .bpw-content-box-petal,
body.bpw-preview-color-purple .bpw-content-box-petal-alt {
    border-left: 4px solid #7c3aed !important;
}

/* Secondary button text picks up purple */
body.bpw-preview-color-purple .btn-outline-dark {
    color: #7c3aed !important;
    border-color: #7c3aed !important;
}

body.bpw-preview-color-purple .btn-outline-dark:hover {
    background: #7c3aed !important;
    color: #fff !important;
}


/* ============================================================
   LAYOUT group
   ============================================================ */

/* ---------- Layout: Pill-shaped CTAs ---------- */
body.bpw-preview-layout-pills .yellow-btn,
body.bpw-preview-layout-pills .btn-outline-dark,
body.bpw-preview-layout-pills .btn-outline,
body.bpw-preview-layout-pills .btn-light,
body.bpw-preview-layout-pills .btn-primary,
body.bpw-preview-layout-pills .btn-secondary,
body.bpw-preview-layout-pills .vc_btn3,
body.bpw-preview-layout-pills .wp-block-button__link,
body.bpw-preview-layout-pills .bpw-nav-cta-cluster a {
    border-radius: 999px !important;
}

/* ---------- Layout: Dramatic stat numerals ---------- */
body.bpw-preview-layout-bigstats .bpw-stat-number-r3 {
    font-size: 4.75rem !important;
    letter-spacing: -0.02em !important;
    line-height: 0.9 !important;
    font-weight: 700 !important;
}

body.bpw-preview-layout-bigstats .bpw-stat-card-r3 {
    min-height: 180px !important;
}

body.bpw-preview-layout-bigstats .bpw-stat-label-r3 {
    margin-top: 12px !important;
    font-size: 0.85rem !important;
}

body.bpw-preview-layout-bigstats .bpw-mini-stat-n {
    font-size: 2.8rem !important;
}

@media (max-width: 767px) {
    body.bpw-preview-layout-bigstats .bpw-stat-number-r3 {
        font-size: 3.25rem !important;
    }
}


/* ============================================================
   Preview panel widget
   Collapsed: small pill bottom-right.
   Expanded: popup above the pill with grouped controls.
   ============================================================ */

.bpw-preview-bar {
    position: fixed;
    right: 16px;
    bottom: 76px;
    z-index: 998;
    font-family: 'Oswald', sans-serif;
}

/* --- Collapsed pill --- */
.bpw-preview-bar__trigger {
    background: #1a1a1a;
    color: #fff;
    border: 0;
    border-radius: 999px;
    padding: 10px 16px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    font-family: inherit;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
}

.bpw-preview-bar__trigger:hover {
    background: #2a2a2a;
}

.bpw-preview-bar__trigger-count {
    background: #ffdb35;
    color: #1a1a1a;
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 10px;
    min-width: 16px;
    text-align: center;
    font-weight: 700;
}

.bpw-preview-bar__trigger-count:empty {
    display: none;
}

.bpw-preview-bar__trigger-icon {
    width: 12px;
    height: 12px;
    border: 1px solid currentColor;
    border-radius: 2px;
    position: relative;
}

.bpw-preview-bar__trigger-icon::after {
    content: '';
    position: absolute;
    inset: 2px;
    background: currentColor;
    opacity: 0.4;
}

/* --- Expanded panel --- */
.bpw-preview-panel {
    position: absolute;
    right: 0;
    bottom: calc(100% + 10px);
    width: 340px;
    max-width: calc(100vw - 32px);
    max-height: 78vh;
    overflow-y: auto;
    background: #1a1a1a;
    color: #fff;
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
    display: none;
    font-family: 'Montserrat', sans-serif;
}

.bpw-preview-bar.is-open .bpw-preview-panel {
    display: block;
}

.bpw-preview-panel__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.bpw-preview-panel__title {
    font-family: 'Oswald', sans-serif;
    font-size: 13px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #ffdb35;
    margin: 0;
    font-weight: 600;
}

.bpw-preview-panel__close {
    background: transparent;
    border: 0;
    color: rgba(255, 255, 255, 0.6);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
}

.bpw-preview-panel__close:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

.bpw-preview-panel__preset {
    width: 100%;
    margin: 0 0 16px;
    padding: 10px 14px;
    background: linear-gradient(135deg, #ffdb35, #ffc107);
    color: #1a1a1a;
    border: 0;
    border-radius: 999px;
    font-family: 'Oswald', sans-serif;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 700;
    cursor: pointer;
    transition: all 150ms ease;
    box-shadow: 0 4px 14px rgba(255, 219, 53, 0.35);
}

.bpw-preview-panel__preset::before {
    content: '\2728  ';
}

.bpw-preview-panel__preset:hover {
    background: linear-gradient(135deg, #ffe566, #ffd43c);
    box-shadow: 0 6px 18px rgba(255, 219, 53, 0.55);
    transform: translateY(-1px);
}

.bpw-preview-panel__preset.is-applied {
    background: #16a34a;
    color: #fff;
    box-shadow: 0 4px 14px rgba(22, 163, 74, 0.4);
}

.bpw-preview-panel__preset.is-applied::before {
    content: '\2713  ';
}

.bpw-preview-group {
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.bpw-preview-group:last-of-type {
    border-bottom: 0;
    margin-bottom: 8px;
}

.bpw-preview-group__label {
    font-family: 'Oswald', sans-serif;
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    margin: 0 0 8px;
    font-weight: 600;
}

.bpw-preview-group__note {
    font-family: 'Montserrat', sans-serif;
    font-size: 9px;
    letter-spacing: 0.04em;
    text-transform: none;
    color: rgba(255, 255, 255, 0.45);
    font-weight: 400;
    font-style: italic;
    margin-left: 8px;
}

.bpw-preview-group__options {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.bpw-preview-opt {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    padding: 7px 12px;
    cursor: pointer;
    font-family: 'Oswald', sans-serif;
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 500;
    transition: all 150ms ease;
}

.bpw-preview-opt:hover {
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.06);
}

.bpw-preview-opt.is-active {
    background: #ffdb35;
    color: #1a1a1a;
    border-color: #ffdb35;
    font-weight: 700;
}

.bpw-preview-panel__actions {
    display: flex;
    gap: 8px;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.bpw-preview-panel__actions button {
    flex: 1;
    padding: 9px 12px;
    border-radius: 999px;
    font-family: 'Oswald', sans-serif;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 150ms ease;
}

.bpw-preview-panel__reset {
    background: transparent;
    color: rgba(255, 255, 255, 0.7);
    border-color: rgba(255, 255, 255, 0.2) !important;
}

.bpw-preview-panel__reset:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.5) !important;
}

.bpw-preview-panel__copy {
    background: transparent;
    color: rgba(255, 255, 255, 0.85);
    border-color: rgba(255, 255, 255, 0.3) !important;
}

.bpw-preview-panel__copy:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.6) !important;
}

.bpw-preview-panel__copy.is-copied {
    background: #16a34a;
    border-color: #16a34a !important;
    color: #fff;
}

.bpw-preview-panel__copy.is-copied::before {
    content: 'Copied ';
}

/* Set as my pick: primary action. Yellow when fresh, green when
   confirmed (last 2.4s), subtle "saved earlier" indicator if the user
   has previously committed a pick on a prior visit. */
.bpw-preview-panel__pick {
    background: #ffdb35;
    color: #1a1a1a;
    border-color: #ffdb35 !important;
    font-weight: 700;
}

.bpw-preview-panel__pick:hover {
    background: #ffe566;
    border-color: #ffe566 !important;
}

.bpw-preview-panel__pick.is-saved {
    background: #16a34a;
    color: #fff;
    border-color: #16a34a !important;
}

.bpw-preview-panel__pick.is-saved::before {
    content: '\2713 ';
    margin-right: 4px;
}

.bpw-preview-panel__pick.is-saved-prior:not(.is-saved) {
    box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.35);
}

.bpw-preview-panel__pick.is-saved-prior:not(.is-saved)::after {
    content: ' \2713';
    color: #16a34a;
    font-weight: 800;
}

/* Toast */
.bpw-preview-toast {
    position: fixed;
    right: 16px;
    bottom: 140px;
    z-index: 999;
    background: #1a1a1a;
    color: #fff;
    padding: 12px 18px;
    border-radius: 12px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    max-width: 320px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
    transition: opacity 200ms ease, transform 200ms ease;
}

.bpw-preview-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.bpw-preview-toast strong {
    color: #ffdb35;
    display: block;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 11px;
    margin-bottom: 6px;
}

@media (max-width: 767px) {
    .bpw-preview-bar {
        right: 8px;
        bottom: 76px;
    }
    .bpw-preview-panel {
        right: 0;
        width: calc(100vw - 16px);
    }
    .bpw-preview-toast {
        right: 8px;
        left: 8px;
        max-width: none;
    }
}
