/*
Theme Name: Flatsome Bright
Theme URI: https://microgenix.net
Description: Bright redesign child theme. Inherits Flatsome. Activates via ?theme_preview=bright while in preview.
Author: Microgenix
Version: 0.1.0
Template: flatsome
Text Domain: flatsome-bright
*/

/* ============================================================
   Brand fonts (live on /wp-content/fonts/)
   ============================================================ */
@font-face{
  font-family:"Meno Banner";
  src:url("/wp-content/fonts/MenoBanner-SemiboldItalic.otf") format("opentype");
  font-weight:600;font-style:italic;font-display:optional;
}
@font-face{
  font-family:"Neue Haas Unica";
  src:url("/wp-content/fonts/NeueHaasUnicaPro-Regular.ttf") format("truetype");
  font-weight:400;font-style:normal;font-display:optional;
}
@font-face{
  font-family:"Neue Haas Unica";
  src:url("/wp-content/fonts/NeueHaasUnicaPro-Bold.ttf") format("truetype");
  font-weight:700;font-style:normal;font-display:optional;
}
@font-face{
  font-family:"Neue Haas Unica";
  src:url("/wp-content/fonts/NeueHaasUnicaPro-BoldItalic.ttf") format("truetype");
  font-weight:700;font-style:italic;font-display:optional;
}

/* ============================================================
   Design tokens
   ============================================================ */
:root{
  --navy:#2B3A72;
  --navy-dark:#1F2A55;
  --cream:#F0EFEC;
  --paper:#FBFAF7;
  --ink:#1C1F2B;
  --muted:#6F7280;
  --hairline:rgba(28,31,43,.08);
  --blush:#F4D9CB;
  --blush-deep:#E9B7A2;
  --butter:#F2EAC8;
  --butter-deep:#E0D294;
  --sage:#D8DDC7;
  --sage-deep:#B8C198;
  --rose:#F2D6D9;
  --rose-deep:#E2B7BC;
  --sky:#D9E2EC;
  --bright-display:"Meno Banner",Georgia,serif;
  --bright-sans:"Neue Haas Unica","Helvetica Neue",Helvetica,Arial,sans-serif;
  --bright-pad:clamp(18px,4.5vw,56px);
  --bright-maxw:1360px;
  --bright-r:24px;
  --bright-r-lg:40px;
}

/* ============================================================
   Body + typography reset (scoped to bright wrapper)
   We scope under .bright-active so Flatsome admin / shop pages
   that haven't been ported yet still render in default styling.
   ============================================================ */
body.bright-active{
  background:var(--cream);
  color:var(--ink);
  font-family:var(--bright-sans);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.bright-active a{color:inherit;text-decoration:none}
body.bright-active img{max-width:100%;display:block}
body.bright-active *,body.bright-active *::before,body.bright-active *::after{box-sizing:border-box}

/* ============================================================
   Headline + body utilities
   ============================================================ */
.bright-display{font-family:var(--bright-display);font-style:italic;font-weight:600;color:var(--navy);letter-spacing:-.005em;line-height:.96}
.bright-h1{font-family:var(--bright-sans);font-weight:700;color:var(--navy);font-size:clamp(48px,10.5vw,120px);line-height:.98;letter-spacing:-.035em}
.bright-h1 em,.bright-h1 .bright-ital{font-family:var(--bright-display);font-style:italic;font-weight:600;letter-spacing:-.005em}
.bright-h2{font-family:var(--bright-sans);font-weight:700;color:var(--navy);font-size:clamp(34px,6.5vw,64px);line-height:1.02;letter-spacing:-.028em}
.bright-h2 em{font-family:var(--bright-display);font-style:italic;font-weight:600}
.bright-h3{font-family:var(--bright-sans);font-weight:700;color:var(--navy);font-size:clamp(24px,4vw,38px);line-height:1.05;letter-spacing:-.022em}
.bright-h3 em{font-family:var(--bright-display);font-style:italic;font-weight:600}
.bright-eyebrow{font-family:var(--bright-sans);font-weight:700;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--navy)}

/* Headings inside bright sections (so authored content gets bright styling automatically) */
body.bright-active .bright-section h1,
body.bright-active .bright-page-hero h1{font-family:var(--bright-sans);font-weight:700;color:var(--navy);font-size:clamp(40px,7.5vw,84px);line-height:.98;letter-spacing:-.035em;margin:0 0 18px}
body.bright-active .bright-section h2,
body.bright-active .bright-page-hero h2{font-family:var(--bright-sans);font-weight:700;color:var(--navy);font-size:clamp(30px,5.5vw,56px);line-height:1.02;letter-spacing:-.028em;margin:0 0 18px}
body.bright-active .bright-section h3,
body.bright-active .bright-page-hero h3{font-family:var(--bright-sans);font-weight:700;color:var(--navy);font-size:clamp(22px,3.5vw,32px);line-height:1.05;letter-spacing:-.018em}
body.bright-active .bright-page-hero h1 em,
body.bright-active .bright-page-hero h2 em,
body.bright-active .bright-page-hero h3 em,
body.bright-active .bright-section h1 em,
body.bright-active .bright-section h2 em,
body.bright-active .bright-section h3 em{font-family:var(--bright-display);font-style:italic;font-weight:600;letter-spacing:-.005em;color:inherit}

/* ============================================================
   Buttons (bright pill style)
   ============================================================ */
.bright-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--navy);color:#fff;
  padding:14px 24px;border-radius:999px;
  font-family:var(--bright-sans);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  border:1.5px solid var(--navy);transition:transform 200ms ease,background 200ms ease;cursor:pointer;
}
.bright-btn:hover{background:var(--navy-dark);transform:translateY(-1px)}
.bright-btn.outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.bright-btn.outline:hover{background:var(--navy);color:#fff}
.bright-btn.white{background:#fff;color:var(--navy);border-color:#fff}
.bright-btn.sm{padding:12px 22px;font-size:12px}

/* ============================================================
   Top bar
   ============================================================ */
.bright-topbar{
  background:var(--navy);color:#fff;
  font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;
  text-align:center;padding:11px var(--bright-pad);
}

/* ============================================================
   Nav
   ============================================================ */
.bright-nav{
  position:sticky;top:0;z-index:200;
  background:rgba(240,239,236,.95);
  backdrop-filter:saturate(140%) blur(12px);
  -webkit-backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--hairline);
}
.bright-nav-inner{
  max-width:var(--bright-maxw);margin:0 auto;
  padding:16px var(--bright-pad);
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;
}
.bright-word{display:inline-flex;align-items:center;line-height:1;flex-shrink:0}
.bright-word img{flex-shrink:0;max-width:none !important;height:32px;width:auto;display:block}
.bright-nav-links{display:none;justify-self:center;gap:4px;align-items:center;list-style:none;margin:0;padding:0}
.bright-nav-links a{padding:9px 16px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);text-decoration:none}
.bright-nav-links a:hover{background:rgba(28,31,43,.05)}
.bright-nav-right{display:flex;gap:8px;justify-self:end;align-items:center}
.bright-nav-cta{
  padding:9px 16px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--navy);display:none;align-items:center;white-space:nowrap;text-decoration:none;
}
.bright-nav-cta:hover{background:rgba(28,31,43,.05)}
@media (min-width:900px){
  .bright-nav-cta{display:inline-flex}
  .bright-nav-links{display:flex}
}
.bright-cart-pill{
  display:inline-flex;align-items:center;gap:6px;
  background:#fff;border:1px solid var(--hairline);
  padding:10px 18px;border-radius:999px;
  font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);
  text-decoration:none;
}

/* ============================================================
   Page hero (smaller than home hero, used on content pages)
   ============================================================ */
.bright-page-hero{
  padding:60px var(--bright-pad) 56px;
  background:var(--blush);
  position:relative;overflow:hidden;
}
.bright-page-hero.butter{background:var(--butter)}
.bright-page-hero.sage{background:var(--sage)}
.bright-page-hero.rose{background:var(--rose)}
.bright-page-hero.sky{background:var(--sky)}
.bright-page-hero-inner{max-width:var(--bright-maxw);margin:0 auto;position:relative;z-index:2}
.bright-page-hero .bright-eyebrow{display:block;margin-bottom:14px}
.bright-page-hero p.bright-lead{font-size:18px;line-height:1.5;max-width:54ch;margin:0;color:#3C2A22}
.bright-page-hero.butter p.bright-lead{color:#574a1c}
.bright-page-hero.sage p.bright-lead{color:#37402A}
.bright-page-hero.rose p.bright-lead{color:#5A2A33}
.bright-page-hero.sky p.bright-lead{color:#1F2A55}

/* ============================================================
   Sections
   ============================================================ */
.bright-section{padding:72px var(--bright-pad);max-width:var(--bright-maxw);margin:0 auto}
.bright-section.pastel-blush,.bright-section.pastel-butter,.bright-section.pastel-sage,.bright-section.pastel-rose,.bright-section.pastel-sky{max-width:none}
.bright-section.pastel-blush{background:var(--blush)}
.bright-section.pastel-butter{background:var(--butter)}
.bright-section.pastel-sage{background:var(--sage)}
.bright-section.pastel-rose{background:var(--rose)}
.bright-section.pastel-sky{background:var(--sky)}
.bright-section .inner{max-width:var(--bright-maxw);margin:0 auto}
.bright-section p{font-size:16px;line-height:1.65;margin:0 0 14px;max-width:62ch;color:var(--ink)}
.bright-section .bright-lead{font-size:18px;color:var(--ink);max-width:60ch;margin-bottom:28px}
.bright-section ul{margin:0 0 18px;padding-left:22px;max-width:60ch}
.bright-section ul li{margin-bottom:8px;line-height:1.6}

/* Two-column section layout */
.bright-two-col{display:grid;grid-template-columns:1fr;gap:36px;align-items:start}
@media (min-width:900px){.bright-two-col{grid-template-columns:1.1fr 1fr;gap:64px}}

/* Info cards */
.bright-info-card{background:#fff;border-radius:var(--bright-r);padding:28px;border:1px solid var(--hairline)}
.bright-info-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:760px){.bright-info-grid{grid-template-columns:repeat(3,1fr);gap:24px}}
.bright-info-card .icon{width:44px;height:44px;border-radius:50%;background:var(--blush);display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--navy);font-family:var(--bright-display);font-weight:600;font-size:22px;font-style:italic}

/* FAQ */
.bright-faq{background:#fff;border-radius:18px;padding:0;overflow:hidden;margin-bottom:10px;max-width:780px}
.bright-faq > summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-family:var(--bright-sans);font-size:14.5px;font-weight:700;color:var(--navy)}
.bright-faq > summary::-webkit-details-marker{display:none}
.bright-faq .faq-toggle{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;font-weight:500;flex-shrink:0;transition:transform 220ms ease}
.bright-faq[open] .faq-toggle{transform:rotate(45deg)}
.bright-faq .faq-a{padding:0 22px 20px 22px;font-size:14.5px;line-height:1.55;color:var(--ink);max-width:62ch;font-weight:400}

/* CTA strip */
.bright-cta-strip{background:var(--navy);color:#fff;padding:72px var(--bright-pad);text-align:center}
.bright-cta-strip h2{color:#fff;margin:0 0 18px}
.bright-cta-strip p{color:rgba(255,255,255,.78);max-width:50ch;margin:0 auto 28px;font-size:17px}

/* ============================================================
   Footer
   ============================================================ */
.bright-footer{background:var(--navy);color:#fff;padding:72px var(--bright-pad) 32px}
.bright-foot-inner{max-width:var(--bright-maxw);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px}
@media (max-width:780px){.bright-foot-inner{grid-template-columns:1fr 1fr;gap:32px}}
.bright-foot-brand p{color:rgba(255,255,255,.7);font-size:14px;max-width:34ch;margin:8px 0 0}
.bright-foot-brand img{height:36px;width:auto;margin-bottom:10px;max-width:none !important}
.bright-foot-col h5{font-family:var(--bright-sans);font-weight:700;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:0 0 14px}
.bright-foot-col ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.bright-foot-col a{color:#fff;font-size:14.5px;opacity:.8;text-decoration:none}
.bright-foot-col a:hover{opacity:1;text-decoration:underline}
.bright-foot-bottom{max-width:var(--bright-maxw);margin:48px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;color:rgba(255,255,255,.5);font-size:12px;letter-spacing:.04em}

/* ============================================================
   Hide Flatsome's default header/footer when bright is active
   (the mu-plugin adds class to <body> on preview hits)
   ============================================================ */
body.bright-active #wrapper > header,
body.bright-active #wrapper > footer,
body.bright-active #masthead,
body.bright-active #colophon,
body.bright-active .header-main,
body.bright-active .header-bottom,
body.bright-active .header-top,
body.bright-active #header{display:none !important}
body.bright-active #wrapper{padding-top:0}
body.bright-active #main,
body.bright-active main{padding:0;margin:0}

/* Hide Flatsome's page title bar / breadcrumbs on routed pages
   so the bright page-hero doesn't duplicate flatsome's title. */
body.bright-active .page-title,
body.bright-active .page-title-inner,
body.bright-active .page-title-bg,
body.bright-active .page-title-medium,
body.bright-active .page-title-small,
body.bright-active .page-title-large,
body.bright-active .breadcrumbs,
body.bright-active .entry-header:not(.product-info .entry-header),
body.bright-active .entry-title:not(.product_title){display:none !important}
/* Restore product_title on single product pages */
body.bright-active.single-product h1.product_title,
body.bright-active.single-product h1.product_title.entry-title{display:block !important}

/* Flatsome wraps page content in entry-content / page-wrapper. Strip the
   constraining padding/max-width so the bright page-hero sits flush. */
body.bright-active .entry-content,
body.bright-active .page-wrapper{padding:0 !important;margin:0 !important;max-width:none !important;background:transparent !important}
body.bright-active article.page,
body.bright-active article.post{margin:0 !important;padding:0 !important}
body.bright-active .post-content,
body.bright-active .entry-content > .wpb_row,
body.bright-active .entry-content > .row{max-width:none !important}
body.bright-active section.entry-content{background:var(--cream)}

/* Catch-all: hide any h1 that isn't inside bright sections, plus common
   flatsome page chrome classes. */
body.bright-active h1.uppercase,
body.bright-active .text-center > h1,
body.bright-active .page-header,
body.bright-active .entry-content > h1:first-child{display:none !important}
/* === BRAND FONTS (actual files on microgenix.net) === */

  .bright-display{font-family:var(--bright-display);font-style:italic;font-weight:600;color:var(--navy);letter-spacing:-.005em;line-height:.96}
  .bright-h1{font-family:var(--bright-sans);font-weight:700;font-style:normal;color:var(--navy);font-size:clamp(48px,10.5vw,120px);line-height:.98;letter-spacing:-.035em}
  .bright-h1 em,.bright-h1 .bright-ital{font-family:var(--bright-display);font-style:italic;font-weight:600;letter-spacing:-.005em}
  .bright-h2{font-family:var(--bright-sans);font-weight:700;font-style:normal;color:var(--navy);font-size:clamp(34px,6.5vw,64px);line-height:1.02;letter-spacing:-.028em}
  .bright-h2 em,.bright-h2 .bright-ital{font-family:var(--bright-display);font-style:italic;font-weight:600;letter-spacing:-.005em}
  .bright-h3{font-family:var(--bright-sans);font-weight:700;font-style:normal;color:var(--navy);font-size:clamp(24px,4vw,38px);line-height:1.05;letter-spacing:-.022em}
  .bright-h3 em,.bright-h3 .bright-ital{font-family:var(--bright-display);font-style:italic;font-weight:600;letter-spacing:-.005em}
  .bright-h4{font-family:var(--bright-display);font-style:italic;font-weight:600;color:var(--navy);font-size:22px;line-height:1.05}
  .bright-eyebrow{font-family:var(--bright-sans);font-weight:700;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--navy)}
  .bright-hero .bright-eyebrow{white-space:nowrap;display:inline-block}
  @media (max-width:760px){.bright-hero .bright-eyebrow{white-space:normal;display:inline}}

  /* Buttons */
  .bright-btn{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--navy);color:#fff;
    padding:14px 24px;border-radius:999px;
    font-family:var(--bright-sans);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    border:1.5px solid var(--navy);transition:transform 200ms ease,background 200ms ease;
  }
  .bright-btn:hover{background:var(--navy-dark);transform:translateY(-1px)}
  .bright-btn.outline{background:transparent;color:var(--navy);border-color:var(--navy)}
  .bright-btn.outline:hover{background:var(--navy);color:#fff}
  .bright-btn.white{background:#fff;color:var(--navy);border-color:#fff}
  .bright-btn.sm{padding:12px 22px;font-size:12px}

  /* Top */
  .bright-topbar{
    background:var(--navy);color:#fff;
    font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;
    text-align:center;padding:11px var(--bright-pad);
  }
  .bright-nav{position:sticky;top:0;z-index:20;background:rgba(240,239,236,.95);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--hairline)}
  .bright-nav-inner{max-width:var(--bright-maxw);margin:0 auto;padding:16px var(--bright-pad);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}
  .bright-word{font-family:var(--bright-display);font-style:italic;font-weight:600;font-size:28px;color:var(--navy);letter-spacing:-.005em;display:inline-flex;align-items:center;line-height:1;flex-shrink:0}
  .bright-word img{flex-shrink:0;max-width:none !important}
  .bright-nav-links{display:none;justify-self:center;gap:4px;align-items:center}
  .bright-nav-links a{padding:9px 16px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
  .bright-nav-links a:hover{background:rgba(28,31,43,.05)}
  .bright-nav-right{display:flex;gap:8px;justify-self:end;align-items:center}
  .bright-nav-cta{padding:9px 16px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);display:none;align-items:center;white-space:nowrap}
  .bright-nav-cta:hover{background:rgba(28,31,43,.05)}
  @media (min-width:900px){.bright-nav-cta{display:inline-flex}}
  .bright-cart-pill{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--hairline);padding:10px 18px;border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}

  /* === HERO === */
  .bright-hero{
    background:var(--blush);position:relative;overflow:hidden;
    padding:40px var(--bright-pad) 56px;
  }
  .bright-hero-inner{max-width:var(--bright-maxw);margin:0 auto;position:relative;z-index:2}
  .bright-hero-grid{display:grid;grid-template-columns:1fr;gap:30px;align-items:center}
  .bright-hero h1{margin:18px 0 22px}
  .bright-hero h1 .bright-ital{font-family:var(--bright-display);font-style:italic;color:var(--navy-dark)}
  .bright-hero p.bright-lead{font-size:18px;line-height:1.5;max-width:38ch;margin:0 0 28px;color:#3C2A22}
  .bright-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:28px}
  .bright-hero-trust{display:flex;gap:8px;flex-wrap:wrap}
  .bright-chip{
    background:#fff;border-radius:999px;padding:7px 12px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);
    display:inline-flex;align-items:center;gap:6px;
  }
  .bright-chip svg{flex-shrink:0;color:var(--navy)}

  .bright-hero-art{
    position:relative;aspect-ratio:1/1;
    background:#fff;border-radius:var(--bright-r-lg);overflow:hidden;
    display:flex;align-items:center;justify-content:center;
  }
  .bright-hero-art img{width:100%;height:100%;object-fit:cover}
  .bright-hero-sticker{
    position:absolute;background:var(--navy);color:#fff;
    border-radius:50%;width:88px;height:88px;
    display:flex;align-items:center;justify-content:center;text-align:center;
    font-family:var(--bright-sans);font-weight:700;font-size:8.5px;line-height:1.2;
    padding:8px;transform:rotate(-8deg);right:14px;top:14px;letter-spacing:.05em;text-transform:uppercase;
    box-shadow:0 12px 28px -16px rgba(16,19,31,.34);
  }
  .bright-hero-sticker em{font-family:var(--bright-display);font-style:italic;display:block;font-size:20px;font-weight:600;margin:2px 0;text-transform:none;letter-spacing:-.02em}
  .bright-hero .bright-word-decor{
    position:absolute;font-family:var(--bright-display);font-style:italic;color:rgba(43,58,114,.16);font-weight:600;font-size:32vw;letter-spacing:-.04em;
    left:-2vw;bottom:-12vw;line-height:.8;pointer-events:none;z-index:1;
  }
  .bright-hero .bright-sparkle{position:absolute;width:38px;height:38px;color:var(--navy)}
  .bright-hero .bright-sparkle.bright-s1{top:64px;right:42%}
  .bright-hero .bright-sparkle.bright-s2{bottom:88px;right:48%;width:28px;height:28px;color:var(--blush-deep)}

  /* === FEATURED BUNDLES === */
  .bright-picks{background:var(--cream);padding:64px var(--bright-pad)}
  .bright-picks-inner{max-width:var(--bright-maxw);margin:0 auto}
  .bright-picks-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:30px}
  .bright-picks-head .bright-eyebrow{margin-bottom:8px;display:block}
  .bright-picks-head h2{margin:0;max-width:18ch}
  .bright-picks-head p{color:var(--muted);max-width:36ch;font-size:15px;margin:0}
  .bright-picks-grid{
    display:flex;gap:14px;
    overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x mandatory;
    padding:0 var(--bright-pad) 8px;margin:0 calc(var(--bright-pad) * -1);
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .bright-picks-grid::-webkit-scrollbar{display:none}
  .bright-picks-grid > .bright-pick{flex:0 0 78%;scroll-snap-align:start;max-width:340px}
  .bright-pick{
    border-radius:var(--bright-r);padding:18px;
    display:flex;flex-direction:column;
    gap:14px;overflow:hidden;border:1px solid rgba(16,19,31,.06);
    transition:transform 200ms ease;color:inherit;
  }
  .bright-pick:hover{transform:translateY(-3px)}
  .bright-pick.bright-b-blush{background:var(--blush)}
  .bright-pick.bright-b-butter{background:var(--butter)}
  .bright-pick.bright-b-sage{background:var(--sage)}
  .bright-pick.bright-b-rose{background:var(--rose)}
  .bright-pick.bright-b-sky{background:var(--sky)}
  .bright-pick-img{
    width:100%;aspect-ratio:1/1;background:#fff;border-radius:14px;overflow:hidden;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .bright-pick-img img{width:100%;height:100%;object-fit:cover}
  .bright-pick-body{display:flex;flex-direction:column;gap:8px;padding:4px 4px 6px;flex:1;min-height:0}
  .bright-pick-tag{align-self:flex-start;background:#fff;border-radius:999px;padding:5px 12px;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--navy)}
  .bright-pick h3{margin:2px 0 0;font-size:26px;line-height:1.02;min-height:calc(2 * 26px * 1.02);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .bright-pick p{margin:0;color:var(--ink);font-size:13.5px;line-height:1.45;opacity:.86;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .bright-pick-foot{margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}
  .bright-pick-price{font-family:var(--bright-display);font-style:italic;font-weight:600;font-size:20px;color:var(--navy);line-height:1}
  .bright-pick-arrow{
    width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;
    display:inline-flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;font-family:var(--bright-sans);font-weight:300;
  }

  /* === STRENGTH ROW (microdose lineup, real products) === */
  .bright-strength-row{padding:80px var(--bright-pad);max-width:var(--bright-maxw);margin:0 auto}
  .bright-row-head{display:grid;gap:14px;grid-template-columns:1fr;margin-bottom:32px;align-items:end}
  .bright-row-head .bright-eyebrow{display:block;margin-bottom:6px}
  .bright-row-head h2{margin:0;max-width:22ch}
  .bright-row-head p{margin:0;color:var(--muted);font-size:15px;max-width:38ch}
  .bright-row-head .bright-more{font-family:var(--bright-sans);font-weight:700;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);border-bottom:1.5px solid var(--navy);padding-bottom:3px;align-self:end;justify-self:start}

  .bright-product-grid{
    display:flex;gap:14px;
    overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x mandatory;
    padding:0 var(--bright-pad) 8px;margin:0 calc(var(--bright-pad) * -1);
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .bright-product-grid::-webkit-scrollbar{display:none}
  .bright-product-grid > .bright-p-card{flex:0 0 78%;scroll-snap-align:start;max-width:320px}
  .bright-p-card{
    background:#fff;border-radius:var(--bright-r);overflow:hidden;border:1px solid var(--hairline);
    display:flex;flex-direction:column;transition:transform 200ms ease;
  }
  .bright-p-card:hover{transform:translateY(-3px)}
  .bright-p-img{position:relative;aspect-ratio:1/1;background:var(--paper);overflow:hidden;display:flex;align-items:center;justify-content:center}
  .bright-p-img img{width:100%;height:100%;object-fit:cover}
  .bright-p-img.contain img{width:80%;height:80%;object-fit:contain;mix-blend-mode:multiply}
  .bright-p-tag{
    position:absolute;top:12px;left:12px;background:#fff;color:var(--navy);
    font-family:var(--bright-sans);font-weight:700;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
    padding:5px 10px;border-radius:999px;border:1px solid var(--hairline);
  }
  .bright-p-tag.bright-dose{background:var(--navy);color:#fff;border-color:var(--navy)}
  .bright-p-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px;flex:1;min-height:148px}
  .bright-p-body .kicker{display:none}
  .bright-p-body h4{font-family:var(--bright-display);font-style:italic;font-weight:600;font-size:17px;margin:0;color:var(--navy);line-height:1.1;letter-spacing:-.003em;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
  .bright-p-body .bright-strain{font-size:11.5px;color:var(--muted);margin:0;line-height:1.3;letter-spacing:.01em;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:15px}
  .bright-p-body .bright-p-meta,.bright-p-body .meta{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--muted);margin:0;letter-spacing:.02em;font-weight:600;min-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bright-p-body .bright-p-meta span,.bright-p-body .meta span{white-space:nowrap}
  .bright-p-body .bright-p-meta .bright-stars,.bright-p-body .meta .bright-stars{color:var(--navy);font-weight:700}
  .bright-p-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;gap:8px;padding-top:10px}
  .bright-p-price{font-family:var(--bright-display);font-style:italic;font-weight:600;font-size:20px;color:var(--navy);line-height:1}
  .bright-p-price small{font-family:var(--bright-sans);font-style:normal;font-weight:700;font-size:10.5px;letter-spacing:.15em;color:var(--muted);margin-left:4px}
  .bright-p-add{
    background:var(--navy);color:#fff;border:0;cursor:pointer;
    width:38px;height:38px;border-radius:50%;font-size:18px;font-weight:300;font-family:var(--bright-sans);
    display:inline-flex;align-items:center;justify-content:center;
  }

  /* === BUILD YOUR BUNDLE === */
  .bundle{background:var(--butter);padding:80px var(--bright-pad);position:relative;overflow:hidden}
  .bundle-inner{max-width:var(--bright-maxw);margin:0 auto;display:grid;grid-template-columns:1fr;gap:36px;align-items:center;position:relative;z-index:2}
  .bundle h2{margin:14px 0 18px}
  .bundle p.bright-lead{font-size:17.5px;line-height:1.55;max-width:38ch;color:#4E461B;margin:0 0 22px}
  .bundle ul{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:10px}
  .bundle li{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;font-family:var(--bright-sans);color:var(--navy)}
  .bright-check{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
  .bundle-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
  .bundle-meta{font-size:13px;color:var(--navy);font-weight:700;letter-spacing:.06em;text-transform:uppercase}

  .stack{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:520px;margin:0 auto}
  .stack-card{
    background:#fff;border-radius:16px;padding:8px 8px 12px;
    display:flex;flex-direction:column;gap:8px;align-items:stretch;
    box-shadow:0 18px 44px -28px rgba(16,19,31,.22);border:1px solid rgba(16,19,31,.05);
  }
  .stack-card .img-wrap{aspect-ratio:1/1;background:var(--paper);border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}
  .stack-card img{width:100%;height:100%;object-fit:cover}
  .stack-card .name{font-family:var(--bright-display);font-style:italic;font-weight:600;font-size:14.5px;color:var(--navy);line-height:1.05;padding:0 4px;letter-spacing:-.003em}
  .stack-card .pricey{font-size:11px;color:var(--muted);font-weight:600;padding:0 4px;letter-spacing:.04em}

  /* === HANDBOOK BAND === */
  .bright-handbook{background:var(--sky);padding:80px var(--bright-pad);position:relative;overflow:hidden}
  .bright-handbook-inner{max-width:var(--bright-maxw);margin:0 auto;display:grid;grid-template-columns:1fr;gap:36px;align-items:center;position:relative;z-index:2}
  .bright-handbook h2{margin:14px 0 18px}
  .bright-handbook p.bright-lead{font-size:17px;line-height:1.55;max-width:38ch;color:var(--navy);margin:0 0 22px;opacity:.88}
  .bright-handbook ul{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:10px}
  .bright-handbook li{display:flex;align-items:center;gap:12px;font-size:14.5px;font-weight:600;color:var(--navy)}
  .bright-handbook-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .bright-handbook-meta{font-size:11px;color:var(--navy);font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
  .bright-handbook-art{position:relative;max-width:520px;margin:0 auto;aspect-ratio:1/1;border-radius:var(--bright-r-lg);overflow:hidden;background:#fff;border:1px solid rgba(28,31,43,.06)}
  .bright-handbook-art img{width:100%;height:100%;object-fit:cover}
  .bright-handbook-art .bright-floating{position:absolute;bottom:16px;left:16px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-radius:12px;padding:9px 14px;font-family:var(--bright-sans);font-weight:700;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);box-shadow:0 12px 28px -16px rgba(16,19,31,.32)}
  @media (min-width:900px){.bright-handbook-inner{grid-template-columns:1fr 1fr;gap:80px}}

  /* === EDITORIAL BREAK === */
  .break-row{
    padding:24px var(--bright-pad);background:var(--cream);
    border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
  }
  .marquee-words{
    font-family:var(--bright-display);font-style:italic;font-weight:600;font-size:clamp(22px,3.4vw,38px);color:var(--navy);
    text-align:center;letter-spacing:-.005em;line-height:1.1;
  }
  .marquee-words span{color:var(--blush-deep)}

  /* === LIFESTYLE FEATURE BLOCK === */
  .bright-lifestyle{padding:80px var(--bright-pad);max-width:var(--bright-maxw);margin:0 auto}
  .bright-lifestyle-grid{display:grid;gap:16px;grid-template-columns:1fr}
  .ls{position:relative;border-radius:var(--bright-r);overflow:hidden;aspect-ratio:4/5;background:var(--paper)}
  .ls img{width:100%;height:100%;object-fit:cover}
  .ls .scrim{position:absolute;left:0;right:0;bottom:0;padding:24px;background:linear-gradient(0deg,rgba(16,19,31,.72),transparent 60%);color:#fff}
  .ls .scrim .kicker{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;opacity:.86;margin-bottom:8px}
  .ls .scrim h3{font-family:var(--bright-display);font-style:italic;font-weight:600;color:#fff;font-size:26px;margin:0;line-height:1.02}
  .ls .scrim p{margin:8px 0 12px;font-size:14px;opacity:.88;max-width:30ch;line-height:1.5}
  .ls .scrim a{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#fff;border-bottom:1.5px solid #fff;padding-bottom:2px}
  .ls .pricetag{position:absolute;top:16px;right:16px;background:#fff;color:var(--navy);border-radius:999px;padding:8px 14px;font-family:var(--bright-display);font-style:italic;font-weight:600;font-size:14px;box-shadow:0 12px 30px -16px rgba(16,19,31,.36)}

  /* === REAL REVIEWS === */
  .bright-reviews{background:var(--cream);padding:80px var(--bright-pad)}
  .bright-reviews-inner{max-width:var(--bright-maxw);margin:0 auto}
  .bright-reviews-head{display:grid;gap:16px;grid-template-columns:1fr;margin-bottom:32px}
  .bright-reviews-head h2{margin:6px 0 0;max-width:20ch}
  .bright-reviews-meta{display:flex;align-items:center;gap:14px;color:var(--ink);font-size:13.5px}
  .bright-reviews-meta .bright-big{font-family:var(--bright-display);font-style:italic;font-weight:600;color:var(--navy);font-size:52px;line-height:.9;letter-spacing:-.012em}
  .bright-stars-text{color:var(--navy);font-weight:700;letter-spacing:.04em;font-size:14px}
  .bright-reviews-grid{display:grid;gap:14px;grid-template-columns:1fr}
  .bright-rev{
    background:#fff;border-radius:var(--bright-r);padding:24px;border:1px solid var(--hairline);
    display:flex;flex-direction:column;gap:12px;
  }
  .bright-rev .bright-badge{align-self:flex-start;font-size:10.5px;letter-spacing:.18em;background:var(--blush);color:var(--navy);padding:5px 10px;border-radius:999px;font-weight:700;text-transform:uppercase}
  .bright-rev p{margin:0;font-size:15.5px;line-height:1.55;color:var(--ink);font-family:var(--bright-display);font-style:italic;font-weight:600;letter-spacing:-.005em}
  .bright-rev .bright-who{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--muted);margin-top:4px;letter-spacing:.04em}
  .bright-rev .bright-who strong{color:var(--ink);font-family:var(--bright-sans);font-weight:700;font-style:normal}

  /* === QUIZ === */
  .bright-quiz{background:var(--sage);padding:80px var(--bright-pad);position:relative;overflow:hidden}
  .bright-quiz-inner{max-width:var(--bright-maxw);margin:0 auto;display:grid;gap:32px;align-items:center;position:relative;z-index:2}
  .bright-quiz .bright-eyebrow{color:#37402A}
  .bright-quiz h2{color:#1F2D14;margin:14px 0 18px}
  .bright-quiz p{color:#37402A;font-size:17px;max-width:42ch;margin:0 0 26px}
  .bright-qcards{display:grid;gap:10px}
  .bright-qcard{
    background:#fff;border-radius:18px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;
    font-size:14.5px;font-weight:700;color:var(--navy);font-family:var(--bright-sans);
  }
  .bright-qcard .bright-qnum{
    background:var(--navy);color:#fff;width:30px;height:30px;border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;
  }
  .bright-qcard .bright-qright{color:var(--muted);font-weight:600;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase}
  /* FAQ accordion */
  .bright-faq{background:#fff;border-radius:18px;padding:0;overflow:hidden;transition:background 180ms ease}
  .bright-faq[open]{background:#fff}
  .bright-faq > summary{
    list-style:none;cursor:pointer;
    padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;
    font-family:var(--bright-sans);font-size:14.5px;font-weight:700;color:var(--navy);
  }
  .bright-faq > summary::-webkit-details-marker{display:none}
  .bright-faq .faq-q{flex:1;letter-spacing:-.005em}
  .bright-faq .faq-toggle{
    width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;
    display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;font-weight:500;flex-shrink:0;
    transition:transform 220ms ease;
  }
  .bright-faq[open] .faq-toggle{transform:rotate(45deg)}
  .bright-faq .faq-a{padding:0 22px 20px 22px;font-size:14.5px;line-height:1.55;color:var(--ink);max-width:60ch;font-weight:400}

  /* === JOURNAL TEASER === */
  .journal{padding:80px var(--bright-pad);max-width:var(--bright-maxw);margin:0 auto}
  .journal-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:28px}
  .journal-head h2{margin:0}
  .j-grid{display:grid;gap:18px;grid-template-columns:1fr}
  .j{position:relative;border-radius:var(--bright-r);overflow:hidden;background:#fff;border:1px solid var(--hairline)}
  .j-img{aspect-ratio:4/3;overflow:hidden}
  .j-img img{width:100%;height:100%;object-fit:cover}
  .j-body{padding:22px}
  .j-body .kicker{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--navy);font-weight:700}
  .j-body h3{font-family:var(--bright-display);font-style:italic;font-weight:600;font-size:22px;margin:8px 0 10px;color:var(--navy);line-height:1.1}
  .j-body p{margin:0 0 12px;font-size:14.5px;color:var(--muted);line-height:1.55}
  .j-body time{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700}

  /* === FOUNDER MOMENT === */
  .bright-founder{background:var(--rose);padding:96px var(--bright-pad);position:relative;overflow:hidden}
  .bright-founder-inner{max-width:var(--bright-maxw);margin:0 auto;display:grid;gap:48px;grid-template-columns:1fr;align-items:center;position:relative;z-index:2}
  .bright-founder .bright-eyebrow{color:#3E1F25}
  .bright-founder h2{color:#3E1F25;margin:14px 0 20px}
  .bright-founder p{font-size:17px;line-height:1.55;color:#3E1F25;margin:0 0 14px;max-width:44ch}
  .bright-founder .bright-sig{margin-top:24px;font-family:var(--bright-display);font-style:italic;font-weight:600;font-size:30px;color:var(--navy);letter-spacing:-.008em}
  .bright-founder .bright-role{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#5C2E36;font-weight:700;margin-top:4px}
  .bright-founder-img{border-radius:var(--bright-r-lg);overflow:hidden;aspect-ratio:4/5;background:#fff}
  .bright-founder-img img{width:100%;height:100%;object-fit:cover}

  /* === NEWSLETTER === */
  .bright-newsletter{background:var(--cream);padding:80px var(--bright-pad);text-align:center}
  .bright-nl-inner{max-width:680px;margin:0 auto}
  .bright-nl-inner h2{margin:0 0 14px}
  .bright-nl-inner p{color:var(--muted);font-size:16px;max-width:36ch;margin:0 auto 24px}
  .bright-nl-form{display:flex;gap:8px;flex-wrap:wrap;max-width:520px;margin:0 auto;background:#fff;padding:6px;border-radius:999px;border:1px solid var(--hairline)}
  .bright-nl-form input{flex:1;min-width:160px;padding:14px 22px;border-radius:999px;border:0;font-size:14.5px;color:var(--ink);outline:none;font-family:var(--bright-sans);background:transparent}
  .bright-nl-form .bright-btn{padding:14px 26px}

  /* === FOOTER === */
  footer{background:var(--navy);color:var(--cream);padding:64px var(--bright-pad) 32px}
  .bright-foot-inner{max-width:var(--bright-maxw);margin:0 auto;display:grid;gap:40px;grid-template-columns:1fr}
  .bright-foot-brand .bright-word{color:var(--cream);font-size:36px}
  .bright-foot-brand p{margin-top:14px;opacity:.78;max-width:34ch;font-size:14.5px;line-height:1.55}
  .bright-foot-col h5{font-family:var(--bright-sans);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;opacity:.7;margin:0 0 16px;font-weight:700}
  .bright-foot-col ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
  .bright-foot-col a{opacity:.92;font-size:14.5px;font-weight:500}
  .foot-fine{border-top:1px solid rgba(240,239,236,.14);margin-top:44px;padding-top:22px;font-size:11.5px;opacity:.6;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;letter-spacing:.06em;text-transform:uppercase}

  @media (min-width:760px){
    .bright-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;overflow:visible;padding:0;margin:0}
    .bright-product-grid > .bright-p-card{flex:none;max-width:none}
    .bright-lifestyle-grid{grid-template-columns:1.4fr 1fr 1fr;gap:18px}
    .bright-lifestyle-grid .bright-ls1{grid-row:span 2}
    .j-grid{grid-template-columns:repeat(3,1fr);gap:22px}
  }
  @media (min-width:900px){
    .bright-nav-links{display:flex}
    .bright-hero{padding:64px var(--bright-pad) 96px}
    .bright-hero-grid{grid-template-columns:1.05fr 1fr;gap:72px}
    .bright-picks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;overflow:visible;padding:0;margin:0}
    .bright-picks-grid > .bright-pick{flex:none;max-width:none}
    .bright-product-grid{grid-template-columns:repeat(4,1fr);gap:18px}
    .bundle-inner{grid-template-columns:1fr 1fr;gap:80px}
    .bright-reviews-head{grid-template-columns:1fr auto;align-items:end}
    .bright-reviews-grid{grid-template-columns:repeat(3,1fr);gap:18px}
    .bright-quiz-inner{grid-template-columns:1fr 1fr;gap:64px}
    .bright-row-head{grid-template-columns:1fr 1fr auto;gap:32px}
    .bright-founder-inner{grid-template-columns:.95fr 1.05fr;gap:64px}
    .bright-foot-inner{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:56px}
  }
  /* === Heading + italic fix (applies to bare h1/h2/h3 without class) === */
  .bright-page-hero h1, .bright-section h1{font-family:var(--bright-sans);font-weight:700;color:var(--navy);font-size:clamp(40px,7.5vw,84px);line-height:.98;letter-spacing:-.035em;margin:0 0 18px}
  .bright-page-hero h2, .bright-section h2{font-family:var(--bright-sans);font-weight:700;color:var(--navy);font-size:clamp(30px,5.5vw,56px);line-height:1.02;letter-spacing:-.028em;margin:0 0 18px}
  .bright-page-hero h3, .bright-section h3, .bright-info-card h3{font-family:var(--bright-sans);font-weight:700;color:var(--navy);font-size:clamp(22px,3.5vw,32px);line-height:1.05;letter-spacing:-.018em}
  .bright-page-hero h1 em, .bright-page-hero h2 em, .bright-page-hero h3 em,
  .bright-section h1 em, .bright-section h2 em, .bright-section h3 em,
  .bright-info-card h3 em, .bright-faq summary em{
    font-family:var(--bright-display);font-style:italic;font-weight:600;letter-spacing:-.005em;color:inherit;
  }
/* ============================================================
   v3 SPECIFICITY OVERRIDES — Flatsome's `body a` and theme button
   rules were beating .bright-btn. Lock our bright colors with
   higher specificity so they always win.
   ============================================================ */
body.bright-active .bright-btn,
body.bright-active a.bright-btn,
body.bright-active button.bright-btn{color:#fff !important}
body.bright-active .bright-btn:hover,
body.bright-active a.bright-btn:hover{color:#fff !important;background:var(--navy-dark) !important}
body.bright-active .bright-btn.outline,
body.bright-active a.bright-btn.outline{color:var(--navy) !important;background:transparent !important}
body.bright-active .bright-btn.outline:hover,
body.bright-active a.bright-btn.outline:hover{color:#fff !important;background:var(--navy) !important}
body.bright-active .bright-btn.white,
body.bright-active a.bright-btn.white{color:var(--navy) !important;background:#fff !important}
body.bright-active .bright-nav-cta,
body.bright-active a.bright-nav-cta{color:var(--navy) !important}
body.bright-active .bright-cart-pill,
body.bright-active a.bright-cart-pill{color:var(--navy) !important}
body.bright-active .bright-nav-links a{color:var(--navy) !important}
body.bright-active .bright-foot-col a,
body.bright-active .bright-footer a{color:#cdd3e8 !important}
body.bright-active .bright-footer a:hover{color:#fff !important}

/* Lock all headlines and eyebrow text to navy regardless of theme overrides */
body.bright-active .bright-h1,
body.bright-active .bright-h2,
body.bright-active .bright-h3,
body.bright-active .bright-h4,
body.bright-active .bright-eyebrow,
body.bright-active .bright-display{color:var(--navy) !important}
body.bright-active .bright-h1 .bright-ital,
body.bright-active .bright-h2 .bright-ital,
body.bright-active .bright-h3 .bright-ital{color:var(--navy-dark) !important}

/* ============================================================
   Top bar layout — make room for country switcher on the right
   ============================================================ */
body.bright-active .bright-topbar{
  display:flex;align-items:center;justify-content:center;gap:24px;position:relative;
}
body.bright-active .bright-topbar-msg{display:inline-block}
body.bright-active .bright-topbar-country{
  position:absolute;right:var(--bright-pad);top:50%;transform:translateY(-50%);
  display:inline-flex;align-items:center;
}
body.bright-active .bright-topbar-country .cbr-country-shortcode{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;
  color:#fff !important;
}
body.bright-active .bright-topbar-country .cbr-country-shortcode > span{display:inline-flex;align-items:center;gap:6px}
body.bright-active .bright-topbar-country .cbr_shipping_country{
  color:#fff !important;text-decoration:underline;text-decoration-color:rgba(255,255,255,.5);
  text-underline-offset:3px;cursor:pointer;
}
body.bright-active .bright-topbar-country .cbr_shipping_country:hover{
  text-decoration-color:#fff;
}
body.bright-active .bright-topbar-country .flag{
  display:inline-block;width:18px;height:12px;background-size:cover !important;background-position:center !important;border-radius:2px;
  box-shadow:0 0 0 1px rgba(255,255,255,.2);
}
/* Hide the country switcher on small screens so the announcement stays centered */
@media (max-width:560px){
  body.bright-active .bright-topbar-country{display:none}
}
/* sparkle z-index fix (also in woo-v3) */
body.bright-active .bright-hero .bright-sparkle{z-index:5 !important}
body.bright-active .bright-hero{overflow:visible !important}
body.bright-active .bright-hero-art{overflow:hidden}

/* ============================================================
   v3 SPLIT HERO (microdose/macro/wholesale) — text + image side by side
   ============================================================ */
body.bright-active .bright-page-hero--split .bright-split{
  display:grid;grid-template-columns:1fr;gap:32px;align-items:center;
}
@media (min-width:900px){
  body.bright-active .bright-page-hero--split .bright-split{
    grid-template-columns:1.05fr 1fr;gap:48px;
  }
}
body.bright-active .bright-split-img{
  margin:0;border-radius:var(--bright-r-lg);overflow:hidden;
  aspect-ratio:4/5;background:#fff;
}
body.bright-active .bright-split-img img{width:100%;height:100%;object-fit:cover;display:block}

/* === IMAGE STRIP (3 lifestyle/product images in a row) === */
body.bright-active .bright-image-strip{
  display:grid;grid-template-columns:1fr;gap:8px;margin:0 0 0;
}
@media (min-width:760px){
  body.bright-active .bright-image-strip{grid-template-columns:repeat(3,1fr);gap:12px}
}
body.bright-active .bright-image-strip figure{margin:0;aspect-ratio:1/1;overflow:hidden}
body.bright-active .bright-image-strip img{width:100%;height:100%;object-fit:cover;display:block}

/* === AFFILIATE SECTION === */
body.bright-active .bright-affiliate-inner{max-width:var(--bright-maxw);margin:0 auto;padding:0 var(--bright-pad)}
body.bright-active .bright-affiliate-grid{
  display:grid;grid-template-columns:1fr;gap:18px;margin:28px 0 28px;
}
@media (min-width:760px){
  body.bright-active .bright-affiliate-grid{grid-template-columns:repeat(3,1fr);gap:24px}
}
body.bright-active .bright-affiliate-grid > div{
  background:#fff;border-radius:var(--bright-r);padding:20px;
  border:1px solid var(--hairline);
}
body.bright-active .bright-affiliate-num{
  display:inline-block;font-family:var(--bright-display);font-style:italic;
  color:var(--navy);font-size:36px;font-weight:600;line-height:1;margin-bottom:8px;
}
body.bright-active .bright-affiliate-grid strong{
  display:block;font-family:var(--bright-sans);font-size:15px;font-weight:700;
  color:var(--navy);margin-bottom:4px;
}
body.bright-active .bright-affiliate-grid p{margin:0;color:#3C2A22;font-size:14px;line-height:1.5}

/* === SOCIAL ROW === */
body.bright-active .bright-social-inner{
  max-width:var(--bright-maxw);margin:0 auto;padding:48px var(--bright-pad);
  display:grid;grid-template-columns:1fr;gap:24px;align-items:center;
}
@media (min-width:760px){
  body.bright-active .bright-social-inner{grid-template-columns:1.4fr 1fr;gap:32px}
}
body.bright-active .bright-social-links{
  display:flex;gap:12px;flex-wrap:wrap;justify-self:end;
}
body.bright-active .bright-social-pill{
  display:inline-flex;align-items:center;gap:10px;
  background:#fff;border:1px solid var(--hairline);
  padding:14px 22px;border-radius:999px;
  font-family:var(--bright-sans);font-weight:700;font-size:13px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--navy) !important;
  text-decoration:none;transition:all 200ms ease;
}
body.bright-active .bright-social-pill:hover{background:var(--navy);color:#fff !important;border-color:var(--navy);transform:translateY(-1px)}
body.bright-active .bright-social-pill:hover svg{color:#fff}
body.bright-active .bright-social-pill svg{color:var(--navy);transition:color 200ms}

/* === FOOTER SOCIAL ROW (added in mu-plugin) === */
body.bright-active .bright-foot-social{
  display:flex;gap:10px;margin-top:14px;
}
body.bright-active .bright-foot-social a{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.1);color:#fff !important;
  transition:background 200ms;
}
body.bright-active .bright-foot-social a:hover{background:rgba(255,255,255,.22)}
body.bright-active .bright-foot-social svg{width:18px;height:18px}

/* ============================================================
   v4 NAV SOCIAL ICONS
   ============================================================ */
body.bright-active .bright-nav-social{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  background:transparent;color:var(--navy) !important;
  border:1px solid var(--hairline);
  transition:all 200ms ease;
}
body.bright-active .bright-nav-social:hover{
  background:var(--navy);color:#fff !important;border-color:var(--navy);
}
body.bright-active .bright-nav-social svg{display:block;width:16px;height:16px;color:inherit}

/* v4 sparkle z-index — applied with higher specificity */
html body.bright-active .bright-hero .bright-sparkle{z-index:10 !important;position:absolute !important}
html body.bright-active .bright-hero .bright-sparkle.bright-s1{top:24px !important;right:50% !important;margin-right:160px}
html body.bright-active .bright-hero{overflow:visible !important}
html body.bright-active .bright-hero-art{overflow:hidden;position:relative;z-index:1}

/* v4 newsletter form — was rendering oddly wide */
html body.bright-active .bright-nl-form{
  display:flex !important;gap:0 !important;align-items:center !important;
  background:#fff !important;border:1px solid var(--hairline) !important;
  border-radius:999px !important;padding:6px !important;
  max-width:520px !important;margin:18px auto 0 !important;
  height:auto !important;
}
html body.bright-active .bright-nl-form input[type="email"]{
  flex:1 1 auto !important;border:none !important;background:transparent !important;
  padding:0 18px !important;font-family:var(--bright-sans) !important;
  font-size:14px !important;color:var(--ink) !important;
  height:44px !important;width:auto !important;min-width:0 !important;
  box-shadow:none !important;border-radius:0 !important;
}
html body.bright-active .bright-nl-form input[type="email"]:focus{outline:none !important;box-shadow:none !important}
html body.bright-active .bright-nl-form button.bright-btn,
html body.bright-active .bright-nl-form .bright-btn{
  margin:0 !important;padding:12px 22px !important;font-size:12px !important;
  flex-shrink:0;
}

/* ============================================================
   v5 NEWSLETTER PILL — tighten further, less vertical air
   ============================================================ */
html body.bright-active .bright-newsletter{padding:48px var(--bright-pad) !important}
html body.bright-active .bright-nl-form{
  padding:4px !important;
  max-width:500px !important;
  margin:14px auto 0 !important;
}
html body.bright-active .bright-nl-form input[type="email"]{
  height:40px !important;
  padding:0 16px !important;
}
html body.bright-active .bright-nl-form .bright-btn,
html body.bright-active .bright-nl-form button.bright-btn{
  padding:10px 20px !important;
  font-size:11.5px !important;
  height:40px !important;
}

/* ============================================================
   v5 NEWSLETTER OFFER — matches MGX trip popup design
   ============================================================ */
html body.bright-active .bright-newsletter.bright-offer{
  padding:0 !important;background:var(--cream);
}
html body.bright-active .bright-offer-inner{
  max-width:var(--bright-maxw);margin:0 auto;
  background:var(--navy);color:#fff;
  border-radius:var(--bright-r-lg);overflow:hidden;
  display:grid;grid-template-columns:1fr;
}
@media (min-width:900px){
  html body.bright-active .bright-offer-inner{grid-template-columns:1fr 1fr;margin:60px auto}
}
html body.bright-active .bright-offer-art{
  position:relative;min-height:320px;
  background:#000;
}
html body.bright-active .bright-offer-art img{
  width:100%;height:100%;object-fit:cover;display:block;
  opacity:.55;
}
html body.bright-active .bright-offer-headline{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start;
  padding:32px;
}
html body.bright-active .bright-offer-headline h2{
  color:#fff !important;text-shadow:0 4px 28px rgba(0,0,0,.3);
  font-size:clamp(28px,4.5vw,48px) !important;
  margin:0;
}
html body.bright-active .bright-offer-headline h2 em,
html body.bright-active .bright-offer-headline h2 .bright-ital{color:#fff !important}
html body.bright-active .bright-offer-body{
  padding:36px 32px;background:var(--navy);color:#fff;
  display:flex;flex-direction:column;justify-content:center;
}
html body.bright-active .bright-offer-body p{
  color:rgba(255,255,255,.92) !important;font-size:15px;line-height:1.55;margin:0 0 14px;
}
html body.bright-active .bright-offer-body strong{color:#fff;font-weight:700}
html body.bright-active .bright-offer-form{
  margin-top:18px;background:#FFF5E5;border-radius:var(--bright-r);
  padding:24px;display:flex;flex-direction:column;gap:12px;
}
html body.bright-active .bright-offer-form input[type="text"],
html body.bright-active .bright-offer-form input[type="email"]{
  background:#fff !important;border:1px solid var(--hairline) !important;
  border-radius:999px !important;padding:14px 22px !important;
  font-family:var(--bright-sans) !important;font-size:14px !important;
  color:var(--ink) !important;width:100% !important;box-sizing:border-box !important;
  height:auto !important;
}
html body.bright-active .bright-offer-form button.bright-btn{
  width:100% !important;justify-content:center !important;
  margin-top:4px !important;padding:16px 22px !important;font-size:13px !important;
  height:auto !important;
}
html body.bright-active .bright-offer-note{
  font-size:12px !important;color:var(--muted) !important;text-align:center;margin:8px 0 0 !important;
}

/* ============================================================
   v5 NO ORPHANS — prevent single-word last lines across the bright site
   text-wrap: pretty is supported in Chrome 117+, Safari 17.4+, Firefox 121+
   For older browsers it's a graceful no-op.
   ============================================================ */
html body.bright-active h1,
html body.bright-active h2,
html body.bright-active h3,
html body.bright-active h4,
html body.bright-active .bright-h1,
html body.bright-active .bright-h2,
html body.bright-active .bright-h3,
html body.bright-active .bright-h4,
html body.bright-active .bright-display,
html body.bright-active p,
html body.bright-active .bright-lead,
html body.bright-active .lead,
html body.bright-active li,
html body.bright-active .bright-eyebrow,
html body.bright-active blockquote{
  text-wrap:pretty;
  -webkit-hyphens:none;hyphens:none;
}

/* Headings benefit from balance more than pretty (centers line breaks too) */
html body.bright-active .bright-h1,
html body.bright-active .bright-h2,
html body.bright-active h1.bright-h1,
html body.bright-active h2.bright-h2{
  text-wrap:balance;
}

/* ============================================================
   v5 MOBILE POLISH — nav cleanup, footer compact, hide off-page sparkles
   ============================================================ */

/* === MOBILE NAV: hide social icons + free shipping topbar country */
@media (max-width:760px){
  html body.bright-active .bright-nav-social{display:none !important}
  html body.bright-active .bright-nav-cta{display:none !important}
  html body.bright-active .bright-nav-inner{
    padding:12px var(--bright-pad) !important;
    gap:8px !important;grid-template-columns:auto 1fr auto !important;
  }
  html body.bright-active .bright-word img{width:120px !important;height:auto !important}
  html body.bright-active .bright-nav-right{gap:6px !important}
  html body.bright-active .bright-cart-pill{padding:8px 14px !important;font-size:11.5px !important}
}

/* === HIDE SPARKLES ON MOBILE — they're decorative and were positioned off-page */
@media (max-width:760px){
  html body.bright-active .bright-sparkle{display:none !important}
}

/* === FOOTER MOBILE — 2-col grid + tighter spacing === */
@media (max-width:760px){
  html body.bright-active .bright-foot-inner{
    grid-template-columns:1fr 1fr !important;
    gap:24px 24px !important;
    padding:32px var(--bright-pad) !important;
  }
  html body.bright-active .bright-foot-brand{grid-column:1 / -1 !important;margin-bottom:8px}
  html body.bright-active .bright-foot-brand p{font-size:13px !important;margin:8px 0 12px !important}
  html body.bright-active .bright-foot-col h5{font-size:11px !important;margin:0 0 10px !important;letter-spacing:.16em}
  html body.bright-active .bright-foot-col ul{margin:0 !important;padding:0 !important;list-style:none !important}
  html body.bright-active .bright-foot-col ul li{margin:0 0 8px !important}
  html body.bright-active .bright-foot-col ul li a{font-size:14px !important;line-height:1.3 !important}
  html body.bright-active .bright-foot-social{margin-top:6px !important;gap:8px !important}
  html body.bright-active .bright-foot-social a{width:34px !important;height:34px !important}
  html body.bright-active .bright-foot-bottom{
    padding:14px var(--bright-pad) !important;
    flex-direction:column !important;gap:6px !important;
    font-size:11px !important;
  }
}

/* === OFFER SECTION MOBILE === */
@media (max-width:760px){
  html body.bright-active .bright-offer-inner{
    margin:24px 16px !important;border-radius:18px !important;
  }
  html body.bright-active .bright-offer-art{min-height:240px !important}
  html body.bright-active .bright-offer-headline{padding:20px !important}
  html body.bright-active .bright-offer-headline h2{font-size:28px !important}
  html body.bright-active .bright-offer-body{padding:24px 22px !important}
}

/* ============================================================
   v5 FINAL POLISH — offer image 16:9, form 2-col first+last,
   footer accordion on mobile.
   ============================================================ */

/* === OFFER ART: 16:9 ratio, no more vertical stretching === */
html body.bright-active .bright-offer-art{
  aspect-ratio:16/9 !important;
  min-height:unset !important;
}
html body.bright-active .bright-offer-art img{
  width:100% !important;height:100% !important;object-fit:cover !important;
}

/* === FORM: First + Last side-by-side === */
html body.bright-active .bright-offer-form .bright-offer-row{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
@media (max-width:480px){
  html body.bright-active .bright-offer-form .bright-offer-row{grid-template-columns:1fr;gap:10px}
}

/* === FOOTER MOBILE ACCORDION === */
html body.bright-active .bright-foot-col{display:block}
html body.bright-active .bright-foot-col summary{cursor:pointer;list-style:none}
html body.bright-active .bright-foot-col summary::-webkit-details-marker{display:none}
html body.bright-active .bright-foot-col summary h5{margin:0;display:inline-block}

/* Desktop: keep all open, no markers */
@media (min-width:761px){
  html body.bright-active .bright-foot-col[open] ul,
  html body.bright-active .bright-foot-col ul{display:block !important}
  html body.bright-active .bright-foot-col summary{pointer-events:none}
  html body.bright-active .bright-foot-col[open]{display:block}
}

/* Mobile: accordion with chevron */
@media (max-width:760px){
  html body.bright-active .bright-foot-inner{
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:24px var(--bright-pad) !important;
  }
  html body.bright-active .bright-foot-brand{margin-bottom:18px !important;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12)}
  html body.bright-active .bright-foot-brand p{font-size:13px !important;line-height:1.5 !important;margin:6px 0 10px !important;color:rgba(255,255,255,.7)}
  html body.bright-active .bright-foot-col{
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  html body.bright-active .bright-foot-col summary{
    padding:14px 0 !important;display:flex !important;
    justify-content:space-between !important;align-items:center !important;
    cursor:pointer !important;pointer-events:auto !important;
  }
  html body.bright-active .bright-foot-col summary h5{
    font-size:13px !important;letter-spacing:.18em;
    color:#fff !important;font-weight:700;margin:0;
  }
  html body.bright-active .bright-foot-col summary::after{
    content:'+';color:#fff;font-size:22px;font-weight:300;line-height:1;
    transition:transform 200ms;
  }
  html body.bright-active .bright-foot-col[open] summary::after{content:'–'}
  html body.bright-active .bright-foot-col ul{
    margin:0 0 14px !important;padding:0 !important;
    list-style:none !important;
  }
  html body.bright-active .bright-foot-col li{margin:0 0 8px !important}
  html body.bright-active .bright-foot-col li a{
    font-size:14px !important;color:rgba(255,255,255,.78) !important;
  }
  html body.bright-active .bright-foot-bottom{
    padding:16px var(--bright-pad) !important;
    flex-direction:column;gap:6px;
    font-size:11px !important;text-align:center;
  }
}

/* ============================================================
   v5 BEAUTY STRIP — full-bleed dried mushroom detail between hero and picks
   ============================================================ */
html body.bright-active .bright-beauty-strip{
  position:relative;
  margin:0;padding:0;
  background:var(--cream);
}
html body.bright-active .bright-beauty-strip figure{
  margin:0;position:relative;
  aspect-ratio:21/9;overflow:hidden;
  display:block;
}
@media (max-width:760px){
  html body.bright-active .bright-beauty-strip figure{aspect-ratio:4/3}
}
html body.bright-active .bright-beauty-strip img{
  width:100%;height:100%;object-fit:cover;display:block;
}
html body.bright-active .bright-beauty-strip figcaption{
  position:absolute;left:0;right:0;bottom:0;
  padding:24px var(--bright-pad);
  background:linear-gradient(transparent, rgba(28,31,43,.55));
  color:#fff;
}
html body.bright-active .bright-beauty-strip figcaption .bright-eyebrow{color:#fff !important;opacity:.9}
html body.bright-active .bright-beauty-strip figcaption p{
  color:#fff !important;
  font-family:var(--bright-display);font-style:italic;
  font-size:clamp(22px,3vw,38px);
  font-weight:600;line-height:1.1;margin:6px 0 0;letter-spacing:-.01em;
  max-width:32ch;
}

/* ============================================================
   v5 HERO DIPTYCH — 2-photo editorial collage in hero art area
   Top: lifestyle portrait | Bottom: macro mushroom detail
   ============================================================ */
html body.bright-active .bright-hero-art--diptych{
  position:relative;aspect-ratio:1/1.18;
  background:transparent !important;border-radius:0 !important;overflow:visible !important;
  display:grid;grid-template-rows:1.35fr 1fr;gap:14px;
}
html body.bright-active .bright-hero-art--diptych .bright-hero-art-top,
html body.bright-active .bright-hero-art--diptych .bright-hero-art-bottom{
  position:relative;border-radius:var(--bright-r-lg);overflow:hidden;
  background:#fff;
}
html body.bright-active .bright-hero-art--diptych .bright-hero-art-top img,
html body.bright-active .bright-hero-art--diptych .bright-hero-art-bottom img{
  width:100%;height:100%;object-fit:cover;display:block;
}
/* Diptych bottom: offset to the right slightly for editorial rhythm */
html body.bright-active .bright-hero-art--diptych .bright-hero-art-bottom{
  margin-left:14%;border-radius:var(--bright-r-lg);
}
@media (max-width:760px){
  html body.bright-active .bright-hero-art--diptych{aspect-ratio:1/1.25;gap:10px}
  html body.bright-active .bright-hero-art--diptych .bright-hero-art-bottom{margin-left:18%}
}

/* Tag label on bottom image (counterpart to Mush love sticker) */
html body.bright-active .bright-hero-art-tag{
  position:absolute;left:14px;bottom:14px;z-index:3;
  font-family:var(--bright-sans);font-size:10.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:#fff;
  background:rgba(28,31,43,.55);backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  padding:8px 12px;border-radius:999px;
}
html body.bright-active .bright-hero-art-tag em{
  font-family:var(--bright-display);font-style:italic;
  text-transform:none;letter-spacing:-.01em;font-size:13px;
  margin-right:4px;
}

/* Hero art top: keep the Mush love sticker positioned within its frame */
html body.bright-active .bright-hero-art--diptych .bright-hero-art-top .bright-hero-sticker{
  right:14px;top:14px;left:auto;
}

/* ============================================================
   v5 FOOTER MOBILE TIGHT — 3 link columns side by side, compact
   ============================================================ */
@media (max-width:760px){
  html body.bright-active .bright-foot-inner{
    grid-template-columns:1fr 1fr 1fr !important;
    gap:18px 16px !important;
    padding:32px 18px !important;
  }
  html body.bright-active .bright-foot-brand{
    grid-column:1 / -1 !important;
    margin-bottom:0 !important;padding-bottom:18px;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  html body.bright-active .bright-foot-brand p{font-size:13px !important;line-height:1.4 !important;margin:6px 0 10px !important;color:rgba(255,255,255,.7)}
  html body.bright-active .bright-foot-col{display:block !important}
  html body.bright-active .bright-foot-col h5{
    font-size:11px !important;letter-spacing:.16em !important;
    margin:0 0 10px !important;color:#fff !important;font-weight:700;
  }
  html body.bright-active .bright-foot-col ul{
    margin:0 !important;padding:0 !important;list-style:none !important;
  }
  html body.bright-active .bright-foot-col li{margin:0 0 7px !important}
  html body.bright-active .bright-foot-col li a{
    font-size:13px !important;line-height:1.25 !important;
    color:rgba(255,255,255,.78) !important;
  }
  html body.bright-active .bright-foot-social{margin-top:4px !important;gap:8px !important}
  html body.bright-active .bright-foot-social a{width:34px !important;height:34px !important}
  html body.bright-active .bright-foot-bottom{
    padding:14px 18px !important;
    flex-direction:column !important;gap:6px !important;
    font-size:11px !important;text-align:center;
  }
}

/* ============================================================
   v6 FOOTER MOBILE FINAL — 3-col grid Shop|Learn|Help, tight rows
   This is the last word, overrides all prior conflicting rules.
   ============================================================ */
@media (max-width:760px){
  html body.bright-active .bright-footer{padding:32px 16px 20px !important}
  html body.bright-active .bright-foot-inner{
    grid-template-columns:1fr 1fr 1fr !important;
    gap:14px 12px !important;
    padding:0 !important;
  }
  html body.bright-active .bright-foot-brand{
    grid-column:1 / -1 !important;
    margin-bottom:14px !important;padding-bottom:16px !important;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  html body.bright-active .bright-foot-brand p{
    font-size:13px !important;line-height:1.4 !important;
    margin:6px 0 10px !important;color:rgba(255,255,255,.7);
  }
  html body.bright-active .bright-foot-brand img{height:30px !important;margin-bottom:6px !important}
  html body.bright-active .bright-foot-col{display:block !important;min-width:0 !important}
  html body.bright-active .bright-foot-col h5{
    font-size:10.5px !important;letter-spacing:.14em !important;
    margin:0 0 8px !important;color:#fff !important;font-weight:700 !important;
  }
  html body.bright-active .bright-foot-col ul{
    margin:0 !important;padding:0 !important;
    list-style:none !important;display:block !important;gap:0 !important;
  }
  html body.bright-active .bright-foot-col li{margin:0 0 4px !important;padding:0 !important}
  html body.bright-active .bright-foot-col li a{
    font-size:12.5px !important;line-height:1.25 !important;
    color:rgba(255,255,255,.78) !important;display:inline-block !important;
  }
  html body.bright-active .bright-foot-social{margin-top:4px !important;gap:8px !important}
  html body.bright-active .bright-foot-social a{width:32px !important;height:32px !important}
  html body.bright-active .bright-foot-bottom{
    padding:14px 0 0 !important;
    flex-direction:column !important;gap:4px !important;
    font-size:10.5px !important;text-align:center;
  }
}

/* ============================================================
   v6 PALETTE CONSOLIDATION — restrict to peach (blush), cream, sky.
   Aliases rose→blush, sage→sky, butter→cream so all existing
   `pastel-*` and `.rose/.sage/.butter` page-hero variants pull
   from the approved palette. No HTML edits needed.
   ============================================================ */
:root,
html body.bright-active{
  --rose:#F4D9CB;          /* = blush (peach) */
  --rose-deep:#E9B7A2;
  --sage:#D9E2EC;          /* = sky */
  --sage-deep:#B6C0D1;
  --butter:#F0EFEC;        /* = cream */
  --butter-deep:#D9D6CB;
}
/* Explicit overrides for any baked-in color references */
html body.bright-active .bright-founder{background:#F4D9CB !important}
html body.bright-active .bright-founder .bright-eyebrow,
html body.bright-active .bright-founder h2,
html body.bright-active .bright-founder p{color:#3C2A22 !important}
html body.bright-active .bright-founder .bright-role{color:#5C3E33 !important}
html body.bright-active .bright-page-hero.sage{background:#D9E2EC !important}
html body.bright-active .bright-page-hero.rose{background:#F4D9CB !important}
html body.bright-active .bright-page-hero.butter{background:#F0EFEC !important}
html body.bright-active .bright-section.pastel-sage{background:#D9E2EC !important}
html body.bright-active .bright-section.pastel-rose{background:#F4D9CB !important}
html body.bright-active .bright-section.pastel-butter{background:#F0EFEC !important}

/* ============================================================
   v7 OFFER REWORK — clean image, no overlay, headline lives in body
   ============================================================ */
html body.bright-active .bright-newsletter.bright-offer{
  padding:40px var(--bright-pad) !important;background:var(--cream);
}
html body.bright-active .bright-offer-inner{
  max-width:var(--bright-maxw);margin:0 auto;
  background:#fff;border:1px solid var(--hairline);
  border-radius:var(--bright-r-lg);overflow:hidden;
  display:grid;grid-template-columns:1fr;
}
@media (min-width:900px){
  html body.bright-active .bright-offer-inner{grid-template-columns:1.05fr 1fr}
}
html body.bright-active .bright-offer-art{
  margin:0;position:relative;
  aspect-ratio:16/10;overflow:hidden;background:#0e1726;
  min-height:unset !important;
}
@media (min-width:900px){
  html body.bright-active .bright-offer-art{aspect-ratio:unset;height:100%;min-height:480px}
}
html body.bright-active .bright-offer-art img{
  width:100%;height:100%;object-fit:cover;display:block;opacity:1 !important;
}
html body.bright-active .bright-offer-body{
  background:#fff !important;color:var(--ink);
  padding:36px 32px;display:flex;flex-direction:column;justify-content:center;gap:14px;
}
@media (min-width:900px){
  html body.bright-active .bright-offer-body{padding:48px 44px}
}
html body.bright-active .bright-offer-body .bright-eyebrow{color:var(--navy) !important;margin:0}
html body.bright-active .bright-offer-body .bright-h2{
  color:var(--navy) !important;margin:0 0 4px !important;
  font-size:clamp(28px,3.5vw,42px) !important;
}
html body.bright-active .bright-offer-body p{
  color:#3C2A22 !important;font-size:15px;line-height:1.55;margin:0;
}
html body.bright-active .bright-offer-body strong{color:var(--navy)}
html body.bright-active .bright-offer-form{
  margin-top:8px;display:flex;flex-direction:column;gap:10px;
}
html body.bright-active .bright-offer-form input[type="text"],
html body.bright-active .bright-offer-form input[type="email"]{
  background:#fff !important;border:1px solid var(--hairline) !important;
  border-radius:999px !important;padding:13px 20px !important;
  font-family:var(--bright-sans) !important;font-size:14px !important;
  color:var(--ink) !important;width:100% !important;box-sizing:border-box !important;
  height:auto !important;
}
html body.bright-active .bright-offer-form button.bright-btn{
  width:100% !important;justify-content:center !important;
  margin-top:4px !important;padding:14px 22px !important;font-size:13px !important;
  height:auto !important;
}
html body.bright-active .bright-offer-note{
  font-size:12px !important;color:var(--muted) !important;
  text-align:center;margin:6px 0 0 !important;
}

/* ============================================================
   v7 COLOR ROTATION — break duplicates so each section is distinct.
   Sequence on home: hero peach → bundles cream → reordered cream
   → handbook sky → FAQ peach → reviews cream → founder peach
   → affiliate peach → offer cream.
   ============================================================ */
html body.bright-active .bright-quiz{background:#F4D9CB !important}  /* peach */
html body.bright-active .bright-quiz .bright-eyebrow,
html body.bright-active .bright-quiz h2,
html body.bright-active .bright-quiz p{color:var(--navy) !important}
html body.bright-active .bright-quiz p{color:#3C2A22 !important}

/* ============================================================
   v8 SAGE RETURNS — sage on FAQ + Affiliate (2x rotation anchor)
   Sequence on home: peach → cream → cream → sky → SAGE → cream
   → peach → SAGE → cream. Sage at 2 calm trust moments.
   ============================================================ */

/* Restore sage CSS variable to its original green value (was aliased to sky) */
:root,
html body.bright-active{
  --sage:#D8DDC7;
  --sage-deep:#B8C198;
}

/* FAQ block (.bright-quiz): SAGE with green text harmony */
html body.bright-active .bright-quiz{background:#D8DDC7 !important}
html body.bright-active .bright-quiz .bright-eyebrow{color:#37402A !important}
html body.bright-active .bright-quiz h2{color:#1F2D14 !important}
html body.bright-active .bright-quiz h2 em,
html body.bright-active .bright-quiz h2 .bright-ital{color:#2C3B19 !important}
html body.bright-active .bright-quiz p{color:#37402A !important}

/* Affiliate block: SAGE (second usage) with green text harmony */
html body.bright-active .bright-affiliate.pastel-blush,
html body.bright-active section.bright-affiliate{background:#D8DDC7 !important}
html body.bright-active .bright-affiliate .bright-eyebrow{color:#37402A !important}
html body.bright-active .bright-affiliate h2{color:#1F2D14 !important}
html body.bright-active .bright-affiliate h2 em,
html body.bright-active .bright-affiliate h2 .bright-ital{color:#2C3B19 !important}
html body.bright-active .bright-affiliate > .bright-affiliate-inner > div > p,
html body.bright-active .bright-affiliate p{color:#37402A !important}
html body.bright-active .bright-affiliate .bright-affiliate-num{color:#1F2D14 !important}
html body.bright-active .bright-affiliate .bright-affiliate-grid > div{
  background:#fff !important;border:1px solid rgba(31,45,20,.12) !important;
}
html body.bright-active .bright-affiliate .bright-affiliate-grid strong{color:#1F2D14 !important}
html body.bright-active .bright-affiliate .bright-affiliate-grid p{color:#37402A !important}

/* ============================================================
   v9 OFFER FORM BUTTON — tighten size, single line
   ============================================================ */
html body.bright-active .bright-offer-form button.bright-btn,
html body.bright-active .bright-offer-form .bright-btn{
  padding:14px 24px !important;
  font-size:12px !important;
  letter-spacing:.06em !important;
  line-height:1.2 !important;
  height:auto !important;
  min-height:0 !important;
  width:auto !important;
  white-space:nowrap !important;
  align-self:stretch !important;
  justify-content:center !important;
}
@media (min-width:480px){
  html body.bright-active .bright-offer-form button.bright-btn{
    padding:14px 28px !important;
    align-self:flex-start !important;
  }
}

/* ============================================================
   v10 LEAD COPY MOBILE — was rendering 22-24px, tighten to 16px
   ============================================================ */
@media (max-width:760px){
  html body.bright-active .lead,
  html body.bright-active .bright-lead,
  html body.bright-active p.lead,
  html body.bright-active p.bright-lead,
  html body.bright-active .bright-page-hero p.lead{
    font-size:16px !important;
    line-height:1.5 !important;
  }
}

/* ============================================================
   v17 FLAG SPRITE FIX — un-do all overrides that broke CBR's
   per-country background-position. Native CBR sprite renders:
   .flag.ca at -834px 0px (20×10), .flag.us at -5219px 0px (20×11)
   ============================================================ */
html body.bright-active .bright-topbar-country .flag,
html body.bright-active .bright-topbar-country .cbr-country-shortcode .flag{
  display:inline-block !important;
  vertical-align:middle !important;
  /* Explicitly UNDO every override the previous rule set */
  width:auto !important;
  height:10px !important;
  background-size:auto !important;
  background-position:initial !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
/* Per-country positions (matching CBR's front.css) with extra specificity */
html body.bright-active .bright-topbar-country .flag.ca{
  width:20px !important;height:10px !important;
  background-position:-834px 0px !important;
}
html body.bright-active .bright-topbar-country .flag.us{
  width:20px !important;height:11px !important;
  background-position:-5219px 0px !important;
}

/* ============================================================
   v19 HERO LEAD BOLD — "Your Elevated Lifestyle"
   ============================================================ */
html body.bright-active .bright-hero .bright-lead{
  font-weight:700 !important;
  color:var(--navy) !important;
  font-size:clamp(16px, 1.6vw, 20px) !important;
  letter-spacing:.01em !important;
  line-height:1.3 !important;
  margin:8px 0 24px !important;
}

/* ============================================================
   v21 BATCH FIXES — shop gap (real), flag (forced), qty pills,
   "Find your product" CTA in category nav, etc.
   ============================================================ */

/* SHOP ARCHIVE GAP — match Flatsome's `.col` width with extra margin */
@media (min-width:850px){
  html body.bright-active.woocommerce-shop .row.large-columns-4 > .product,
  html body.bright-active.archive .row.large-columns-4 > .product,
  html body.bright-active.tax-product_cat .row.large-columns-4 > .product{
    flex-basis:calc(25% - 24px) !important;
    max-width:calc(25% - 24px) !important;
    margin:0 12px 32px !important;
    padding:0 !important;
  }
  html body.bright-active.woocommerce-shop .row.large-columns-4,
  html body.bright-active.archive .row.large-columns-4,
  html body.bright-active.tax-product_cat .row.large-columns-4{
    margin:0 -12px !important;
  }
}
@media (min-width:550px) and (max-width:849px){
  html body.bright-active.woocommerce-shop .row > .product{
    flex-basis:calc(50% - 18px) !important;
    max-width:calc(50% - 18px) !important;
    margin:0 9px 24px !important;
    padding:0 !important;
  }
}

/* FLAG SPRITE — force exact CBR position with maximum specificity */
html body.bright-active .bright-topbar .bright-topbar-country .cbr-country-shortcode .flag,
html body.bright-active .bright-topbar-country .flag{
  display:inline-block !important;
  background-size:auto !important;
  background-repeat:no-repeat !important;
  background-image:url('https://microgenix.net/wp-content/plugins/country-base-restrictions-pro-addon/assets/images/flags@2x.png') !important;
  background-position:initial !important;
  width:20px !important;height:10px !important;
  vertical-align:middle !important;
  box-shadow:none !important;border-radius:0 !important;
}
html body.bright-active .bright-topbar .bright-topbar-country .flag.ca,
html body.bright-active .bright-topbar-country .flag.ca{
  background-position:-834px 0 !important;
  width:20px !important;height:10px !important;
}
html body.bright-active .bright-topbar .bright-topbar-country .flag.us,
html body.bright-active .bright-topbar-country .flag.us{
  background-position:-5219px 0 !important;
  width:20px !important;height:11px !important;
}
/* The flag sprite is sized for 1x (width 5652px). At 2x retina, browsers
   correctly use flags@2x.png at half-positions. Force background-size to
   the natural 1x grid so positions align. */
html body.bright-active .bright-topbar-country .flag{
  background-size:5652px 15px !important;
}

/* SINGLE PRODUCT QTY BUTTONS — big navy pills with proper text */
html body.bright-active.single-product .quantity,
html body.bright-active.single-product .ux-quantity{
  display:inline-flex !important;align-items:center !important;gap:6px !important;
  background:transparent !important;border:none !important;border-radius:0 !important;
  padding:0 !important;
  width:auto !important;max-width:none !important;
}
html body.bright-active.single-product .ux-quantity__button,
html body.bright-active.single-product input.button.minus,
html body.bright-active.single-product input.button.plus,
html body.bright-active.single-product button.minus,
html body.bright-active.single-product button.plus,
html body.bright-active.single-product .quantity .minus,
html body.bright-active.single-product .quantity .plus{
  width:44px !important;height:44px !important;
  min-width:44px !important;min-height:44px !important;
  border-radius:50% !important;
  background:var(--navy) !important;color:#fff !important;
  border:none !important;
  font-family:var(--bright-sans), sans-serif !important;
  font-style:normal !important;
  font-size:22px !important;font-weight:400 !important;
  line-height:1 !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  padding:0 !important;margin:0 !important;
  -webkit-appearance:none;appearance:none;
  cursor:pointer;
  text-indent:0 !important;
}
html body.bright-active.single-product .quantity input.qty,
html body.bright-active.single-product .ux-quantity input.qty{
  width:60px !important;height:44px !important;
  text-align:center !important;
  font-family:var(--bright-sans) !important;font-weight:700 !important;font-size:16px !important;
  background:transparent !important;border:none !important;border-radius:0 !important;
  color:var(--navy) !important;padding:0 !important;
  box-shadow:none !important;
}

/* CATEGORY FILTER NAV — add space + style for "Find your product" injected pill */
html body.bright-active .bright-find-product{
  display:inline-flex !important;align-items:center !important;
  margin-left:auto !important;
  background:#F4D9CB !important; /* peach accent */
  color:var(--navy) !important;
  font-family:var(--bright-sans), "Neue Haas Unica", -apple-system, sans-serif !important;
  font-weight:700 !important;font-size:13px !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;
  padding:11px 22px !important;border-radius:999px !important;
  border:1.5px solid #F4D9CB !important;
  text-decoration:none !important;
  transition:all 200ms ease;
}
html body.bright-active .bright-find-product:hover{
  background:var(--navy) !important;color:#fff !important;border-color:var(--navy) !important;
}

/* ============================================================
   v22 CRITICAL FIXES
   ============================================================ */

/* SAVE 20% badge variant — same as other product badges */
html body.bright-active .mgx-badge.save,
html body.bright-active .badge.onsale,
html body.bright-active .onsale,
html body.bright-active .badge-container .save,
html body.bright-active .badge-container [class*="save"]{
  display:inline-flex !important;align-items:center !important;
  background:#F4D9CB !important;color:var(--navy) !important;
  font-family:var(--bright-sans), "Neue Haas Unica", -apple-system, sans-serif !important;
  font-style:normal !important;font-weight:700 !important;
  font-size:10.5px !important;letter-spacing:.16em !important;text-transform:uppercase !important;
  padding:7px 12px !important;border-radius:999px !important;
  border:1px solid rgba(28,31,43,.08) !important;
  box-shadow:0 2px 8px -2px rgba(16,19,31,.12) !important;
  line-height:1.1 !important;text-shadow:none !important;
}

/* VIEW CART + CHECKOUT mini cart buttons → white text */
html body.bright-active .widget_shopping_cart .buttons .button,
html body.bright-active .widget_shopping_cart .buttons a,
html body.bright-active .cart-sidebar .button,
html body.bright-active .cart-sidebar a.button,
html body.bright-active .cart-sidebar .buttons a,
html body.bright-active .header-cart-checkout,
html body.bright-active a.wc-forward,
html body.bright-active .button.wc-forward,
html body.bright-active .cart-sidebar .wc-forward{
  background:var(--navy) !important;color:#fff !important;
  border:none !important;border-radius:999px !important;
  font-family:var(--bright-sans), sans-serif !important;
  font-style:normal !important;font-weight:700 !important;
  font-size:13px !important;letter-spacing:.06em !important;text-transform:uppercase !important;
  padding:14px 24px !important;text-shadow:none !important;
  box-shadow:none !important;
}
html body.bright-active .widget_shopping_cart .buttons .button:hover,
html body.bright-active .widget_shopping_cart .buttons a:hover,
html body.bright-active .cart-sidebar .button:hover{
  background:var(--navy-dark) !important;color:#fff !important;
}

/* SINGLE PRODUCT VARIATIONS — make selected state visible */
html body.bright-active.single-product .pills a,
html body.bright-active.single-product .ux-swatch,
html body.bright-active.single-product .variations .pills a{
  cursor:pointer !important;
  transition:all 180ms ease;
}
html body.bright-active.single-product .pills a.selected,
html body.bright-active.single-product .ux-swatch.selected,
html body.bright-active.single-product .variations .pills a.selected,
html body.bright-active.single-product .pills a[aria-selected="true"]{
  background:var(--navy) !important;
  color:#fff !important;
  border-color:var(--navy) !important;
}
html body.bright-active.single-product .pills a:hover{
  border-color:var(--navy) !important;
}

/* CATEGORY FILTER NAV — make room for FIND YOUR PRODUCT */
@media (min-width:760px){
  html body.bright-active .nav-tabs,
  html body.bright-active .nav-pills,
  html body.bright-active ul.nav-tabs{
    display:flex !important;flex-wrap:wrap !important;align-items:center !important;
    justify-content:center !important;gap:10px !important;
  }
}

/* ============================================================
   v23 BATCH: account page polish, form field padding,
   rewards bar tighten, register/login/lookup buttons on-brand
   ============================================================ */

/* === REWARDS BAR (peach, "Complete your order and earn N Mushie Points") === */
html body.bright-active .yith-wcpr-points-message,
html body.bright-active .wc-points-rewards-cart-message,
html body.bright-active .woocommerce-info,
html body.bright-active.woocommerce-cart .points-earned-notice,
html body.bright-active.woocommerce-checkout .points-earned-notice{
  padding:10px 18px !important;
  margin:0 0 14px !important;
  font-size:13px !important;
  line-height:1.4 !important;
  border-radius:10px !important;
  background:#F4D9CB !important;
  color:var(--navy) !important;
  border:none !important;
}

/* === FORM FIELD PADDING (checkout, account, all bright forms) === */
html body.bright-active input[type="text"],
html body.bright-active input[type="email"],
html body.bright-active input[type="password"],
html body.bright-active input[type="tel"],
html body.bright-active input[type="number"],
html body.bright-active input[type="search"],
html body.bright-active select,
html body.bright-active textarea,
html body.bright-active.woocommerce-checkout .form-row input,
html body.bright-active.woocommerce-checkout .form-row select,
html body.bright-active.woocommerce-checkout .form-row textarea,
html body.bright-active.woocommerce-account input,
html body.bright-active.woocommerce-account select{
  padding:14px 22px !important;
  font-family:var(--bright-sans), sans-serif !important;
  font-size:14px !important;
  line-height:1.4 !important;
  border:1px solid var(--hairline) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--ink) !important;
  box-sizing:border-box !important;
  height:auto !important;min-height:48px !important;
}
html body.bright-active textarea{
  border-radius:18px !important;min-height:120px !important;padding:14px 22px !important;
}
html body.bright-active select{
  padding-right:36px !important;
}

/* === ACCOUNT PAGE — proper layout + breathing room === */
html body.bright-active.woocommerce-account #main,
html body.bright-active.woocommerce-account .container,
html body.bright-active.woocommerce-account .row.row-main{
  padding-top:48px !important;padding-bottom:48px !important;
}
@media (max-width:760px){
  html body.bright-active.woocommerce-account #main,
  html body.bright-active.woocommerce-account .container{
    padding-top:24px !important;padding-bottom:32px !important;
  }
}

/* Track-your-order box — bright cream */
html body.bright-active.woocommerce-account .order-tracking-form,
html body.bright-active.woocommerce-account form.track_order,
html body.bright-active.woocommerce-account [class*="track-order"]{
  background:var(--cream) !important;
  border-radius:18px !important;
  padding:28px !important;
  margin:0 0 36px !important;
  border:1px solid var(--hairline) !important;
}
html body.bright-active.woocommerce-account .order-tracking-form h3,
html body.bright-active.woocommerce-account form.track_order h3{
  margin:0 0 6px !important;font-family:var(--bright-sans) !important;
  font-weight:700 !important;color:var(--navy) !important;font-size:18px !important;
}

/* LOOK UP / LOG IN / REGISTER buttons — uniform bright */
html body.bright-active.woocommerce-account button[type="submit"],
html body.bright-active.woocommerce-account input[type="submit"].button,
html body.bright-active.woocommerce-account .button.wcurrent_form_submit,
html body.bright-active.woocommerce-account #wcsm_submit_btn,
html body.bright-active.woocommerce-account .woocommerce-form-login__submit,
html body.bright-active.woocommerce-account .woocommerce-form-register__submit,
html body.bright-active.woocommerce-account .submit-button{
  background:var(--navy) !important;background-image:none !important;
  color:#fff !important;
  border:1.5px solid var(--navy) !important;
  border-radius:999px !important;
  padding:14px 32px !important;
  font-family:var(--bright-sans) !important;font-style:normal !important;
  font-weight:700 !important;font-size:13px !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;
  line-height:1.1 !important;
  box-shadow:none !important;text-shadow:none !important;
  min-width:0 !important;width:auto !important;height:auto !important;
  cursor:pointer;
  transition:background 200ms ease;
}
html body.bright-active.woocommerce-account button[type="submit"]:hover,
html body.bright-active.woocommerce-account input[type="submit"].button:hover,
html body.bright-active.woocommerce-account .woocommerce-form-register__submit:hover,
html body.bright-active.woocommerce-account .woocommerce-form-login__submit:hover{
  background:var(--navy-dark) !important;color:#fff !important;
}

/* LOGIN / REGISTER columns — proper inner padding */
html body.bright-active.woocommerce-account .u-column1.col-1,
html body.bright-active.woocommerce-account .u-column2.col-2,
html body.bright-active.woocommerce-account .woocommerce-form-login,
html body.bright-active.woocommerce-account .woocommerce-form-register{
  background:#fff !important;
  padding:32px !important;
  border-radius:18px !important;
  border:1px solid var(--hairline) !important;
}
@media (max-width:760px){
  html body.bright-active.woocommerce-account .u-column1.col-1,
  html body.bright-active.woocommerce-account .u-column2.col-2,
  html body.bright-active.woocommerce-account .woocommerce-form-login,
  html body.bright-active.woocommerce-account .woocommerce-form-register{
    padding:24px 20px !important;
    margin:0 0 18px !important;
  }
  html body.bright-active.woocommerce-account .col2-set{
    display:flex !important;flex-direction:column !important;gap:0 !important;
  }
}

html body.bright-active.woocommerce-account h2,
html body.bright-active.woocommerce-account h3{
  margin:0 0 18px !important;
}

html body.bright-active.woocommerce-account .form-row{
  margin-bottom:18px !important;
}
html body.bright-active.woocommerce-account .form-row label{
  display:block !important;
  font-family:var(--bright-sans) !important;font-weight:700 !important;
  font-size:13px !important;color:var(--navy) !important;
  margin-bottom:8px !important;
}

/* ============================================================
   v24 CTA STRIP BUTTON — white-on-white invisible text fix
   ============================================================ */
html body.bright-active section.bright-cta-strip a.bright-btn,
html body.bright-active section.bright-cta-strip .bright-btn,
html body.bright-active .bright-cta-strip > a.bright-btn,
html body.bright-active .bright-cta-strip a[class*="bright-btn"]{
  background:#fff !important;
  color:var(--navy) !important;
  border:1.5px solid #fff !important;
  text-indent:0 !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  padding:14px 28px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-family:var(--bright-sans), sans-serif !important;
}
html body.bright-active section.bright-cta-strip a.bright-btn:hover,
html body.bright-active .bright-cta-strip a.bright-btn:hover{
  background:rgba(255,255,255,.92) !important;
  color:var(--navy) !important;
}
html body.bright-active .bright-cta-strip *{text-shadow:none !important}

/* ============================================================
   v27 FLAG FINAL — flags@2x.png needs background-size:5652px 15px
   for the per-country positions to map correctly. CBR's own CSS
   does this in a 2x media query. We force it always.
   ============================================================ */
html body.bright-active .bright-topbar .bright-topbar-country .cbr-country-shortcode .flag,
html body.bright-active .bright-topbar-country .cbr-country-shortcode .flag,
html body.bright-active .bright-topbar-country .flag{
  background-size:5652px 15px !important;
  background-repeat:no-repeat !important;
}
html body.bright-active .bright-topbar .bright-topbar-country .flag.ca,
html body.bright-active .bright-topbar-country .cbr-country-shortcode .flag.ca,
html body.bright-active .bright-topbar-country .flag.ca{
  width:20px !important;height:10px !important;
  background-position:-834px 0 !important;
}
html body.bright-active .bright-topbar .bright-topbar-country .flag.us,
html body.bright-active .bright-topbar-country .cbr-country-shortcode .flag.us,
html body.bright-active .bright-topbar-country .flag.us{
  width:20px !important;height:11px !important;
  background-position:-5219px 0 !important;
}

/* ============================================================
   v28 SWITCH COUNTRY LINK — inline link in cart error notice
   ============================================================ */
html body.bright-active .bright-switch-country{
  color:var(--navy) !important;
  font-weight:700 !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
  white-space:nowrap !important;
  margin-left:4px !important;
}
html body.bright-active .bright-switch-country:hover{
  color:var(--navy-dark) !important;
  text-decoration-color:var(--navy-dark) !important;
}

/* ============================================================
   v47 — HANDBOOK FORM + TESTIMONIAL BADGE LINKS
   ============================================================ */
.bright-handbook-form{display:flex;flex-direction:column;gap:10px;max-width:380px}
.bright-handbook-form input{
  background:#fff;border:1.5px solid rgba(43,58,114,.2);border-radius:10px;
  padding:13px 16px;font-size:14px;font-family:var(--bright-sans), sans-serif;
  color:var(--navy);outline:none;width:100%;box-sizing:border-box;
}
.bright-handbook-form input:focus{border-color:var(--navy)}
.bright-handbook-form input::placeholder{color:rgba(43,58,114,.5)}
.bright-handbook-form button{margin-top:4px}
.bright-handbook-form .bright-handbook-meta{
  font-size:12px;color:var(--muted, #888);margin:4px 0 0;
}
.bright-handbook-status{
  font-size:13px;margin:6px 0 0;padding:10px 12px;border-radius:8px;
  font-weight:500;
}
.bright-handbook-status.ok{background:rgba(43,58,114,.08);color:var(--navy)}
.bright-handbook-status.err{background:#fee;color:#c33}

/* Testimonial badge links: keep navy pill, no underline */
html body.bright-active a.bright-badge{
  text-decoration:none !important;
  color:inherit !important;
  border-bottom:0 !important;
  transition:opacity .15s;
}
html body.bright-active a.bright-badge:hover{
  opacity:.75 !important;
  text-decoration:none !important;
}

/* ============================================================
   v50 — REPLACE "hi." WATERMARK WITH MICROGENIX MUSH LOGO
   Image is white-on-transparent. Use it as a CSS mask so the
   visible color is exactly the same navy-at-16% as the "hi." text.
   ============================================================ */
.bright-hero .bright-word-decor.bright-word-decor--img{
  background-color:rgba(43,58,114,.16);
  -webkit-mask: url('/wp-content/mgx-bright/img/microgenix-mush.png') no-repeat left bottom / contain;
          mask: url('/wp-content/mgx-bright/img/microgenix-mush.png') no-repeat left bottom / contain;
  width:60vw;
  height:30vw;
  left:-8vw;
  bottom:-5vw;
  font-size:0 !important;
  color:transparent !important;
  line-height:0 !important;
}
@media (min-width:760px){
  .bright-hero .bright-word-decor.bright-word-decor--img{
    width:42vw;
    height:22vw;
    left:-3vw;
    bottom:-3vw;
  }
}
@media (min-width:1200px){
  .bright-hero .bright-word-decor.bright-word-decor--img{
    width:32vw;
    height:18vw;
  }
}

/* ============================================================
   v57 — TOPBAR FLAG FIX: kill background-size:cover override
   The earlier rule .bright-topbar-country .flag { background-size:cover }
   was stretching the 5652px sprite to fill an 18px element, showing
   a mangled fragment. Force native sprite size.
   ============================================================ */
html body.bright-active .bright-topbar-country .flag,
html body.bright-active .bright-topbar-country .flag.us,
html body.bright-active .bright-topbar-country .flag.ca,
html body.bright-active .bright-topbar-country .cbr-country-shortcode .flag{
  display:inline-block !important;
  width:24px !important;
  height:15px !important;
  background-size:5652px 15px !important;
  background-position-y:0 !important;
  background-repeat:no-repeat !important;
  border-radius:2px !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.25) !important;
}
html body.bright-active .bright-topbar-country .flag.us{
  background-position:-5219px 0 !important;
}
html body.bright-active .bright-topbar-country .flag.ca{
  background-position:-834px 0 !important;
}

/* ============================================================
   v58 — BESTSELLER CARD TITLES IN NEUE HAAS MEDIUM
   Was Meno Banner italic; user wants the same sans medium feel
   as the rest of the brand body type.
   ============================================================ */
html body.bright-active .bright-p-card .bright-p-body h4,
html body.bright-active .bright-product-grid .bright-p-card h4,
html body.bright-active .bright-p-body h4{
  font-family:var(--bright-sans), "Neue Haas Unica", -apple-system, sans-serif !important;
  font-style:normal !important;
  font-weight:500 !important;
  letter-spacing:-.01em !important;
}

/* 2026-06-02: Homepage "Win a trip" offer button ("Try your luck") was stretching
   full-width inside the flex column (align-items:stretch). Size it to its content
   and center it. Scoped to the offer-body direct button only. */
html body.bright-active .bright-offer-body > a.bright-btn,
html body.bright-active .bright-offer-body > .bright-btn{
  align-self:center !important;
  width:auto !important;
  flex:0 0 auto !important;
}
/* ============================================================
   EVENTS / BULK PRICING BANNER
   One compact band. Copy left, savings line middle, one button.
   ============================================================ */
.ev-band{
  background:var(--blush);          /* butter is remapped to cream on live, blush is the real pastel */
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
  padding:32px var(--bright-pad);
}
.ev-band-inner{
  max-width:var(--bright-maxw);margin:0 auto;
  display:grid;grid-template-columns:1fr;gap:16px;align-items:center;
}
.ev-band .bright-eyebrow{margin-bottom:10px;letter-spacing:.18em;font-size:10.5px}
/* the theme forces every eyebrow to navy with !important, so match its escalation */
html body.bright-active .ev-band .bright-eyebrow{color:#7A4738 !important}
.ev-band h2.bright-h2{
  margin:0;color:var(--navy);
  font-size:clamp(30px,4.4vw,44px);line-height:1.0;letter-spacing:-.028em;
  text-wrap:balance;
}
.ev-band h2 em{
  font-family:var(--bright-display);font-style:italic;font-weight:600;color:#8A4A38;
}
.ev-copy{margin:0;color:#4A2118;font-size:16px;font-weight:700;line-height:1.5;white-space:nowrap}
.ev-act{display:flex;align-items:center}
.ev-act .bright-btn{white-space:nowrap;text-decoration:none !important}

/* the occasion list loses a word on narrow screens so it never orphans */
.ev-eb-short{display:inline}
.ev-eb-full{display:none}
@media(min-width:600px){.ev-eb-short{display:none}.ev-eb-full{display:inline}}
@media(max-width:759px){
  .ev-copy{white-space:normal}
}
/* tablet: headline keeps its own line, savings line and button share the next */
@media(min-width:760px){
  .ev-band{padding:48px var(--bright-pad)}
  .ev-band-inner{
    grid-template-columns:1fr auto;
    grid-template-areas:"head head" "copy act";
    gap:26px 36px;
  }
  .ev-band-inner > :first-child{grid-area:head}
  .ev-copy{grid-area:copy;align-self:center}
  .ev-act{grid-area:act;justify-content:flex-end}
}
/* desktop: all three on one line */
@media(min-width:1340px){
  .ev-band{padding:52px var(--bright-pad)}
  .ev-band-inner{
    grid-template-columns:minmax(0,max-content) minmax(0,max-content) minmax(0,max-content);
    grid-template-areas:"head copy act";
    justify-content:space-between;
    gap:48px;
  }
}
