/*
Theme Name: LifeVantage
Theme URI: https://lifevantage.com
Author: LifeVantage Studio
Description: Premium wellness & beauty supplements theme with built-in Contact and About pages. Editorial luxury aesthetic inspired by LifeVantage.com.
Version: 3.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lifevantage
Tags: e-commerce, woocommerce, wellness, beauty, luxury, editorial
*/

/* ══════════════════════════════════════════════════
   DESIGN TOKENS
══════════════════════════════════════════════════ */
:root {
  /* ── LifeVantage Brand Palette ─────────────────────────────────
     Sampled from josepedrosantos.lifevantage.com/pt-pt/
     Primary brand color: deep navy (#001F45 / #041737)
     Background: white / pale blue-grey (#EEF3F7)
     Secondary bg: pale sky (#DDF5FE)
     Accent: vivid LifeVantage blue (#00A7E0)
     Text: body grey (#616060), navy for headings (#001F45)
     Borders: blue-grey
  ---------------------------------------------------------------- */
  --cream:       #FFFFFF;  /* Main background - clean white */
  --warm:        #EEF3F7;
  --rose:        #DDF5FE;
  --gold:        #00A7E0;
  --gold-dark:   #0083B3;
  --charcoal:    #001F45;
  --brown:       #041737;
  --muted:       #616060;
  --border:      #DCE6ED;
  --white:       #FFFFFF;
  --badge-rose:  #7ED0F0;
  --sage:        #00A7E0;
  --ink:         #04101F;

  /* Pastel section washes (matches the rotating soft-tint sections on lifevantage.com) */
  --pastel-blue:  #DDF5FE;
  --pastel-green: #EDF5E7;
  --pastel-mauve: #EAE0E5;
  --pastel-teal:  #E6F5F3;

  /* Fonts */
  --serif:  'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  --sans:   'Jost', -apple-system, sans-serif;
  --mono:   'DM Mono', 'Courier New', monospace;

  /* Layout */
  --max:    1280px;
  --pad:    2rem;
  --r-sm:   4px;
  --r-md:   12px;

  /* Motion */
  --ease:   250ms cubic-bezier(0.4,0,0.2,1);
  --ease-s: 600ms cubic-bezier(0.4,0,0.2,1);

  /* Shadows */
  --sh-sm:  0 2px 12px rgba(0,31,69,.06);
  --sh-md:  0 8px 32px rgba(0,31,69,.10);
  --sh-lg:  0 20px 60px rgba(0,31,69,.15);
}

html{color-scheme:light}

/* ══════════════════════════════════════════════════
   RESET
══════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--sans);background:var(--cream);color:var(--brown);line-height:1.75;font-weight:300;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button,input,select,textarea{font:inherit}
/* Ensure [hidden] always wins over display rules */
[hidden]{display:none!important}


/* ══════════════════════════════════════════════════
   TYPOGRAPHY
══════════════════════════════════════════════════ */
h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:700;line-height:1.1;color:var(--charcoal);letter-spacing:-.01em}
h1{font-size:clamp(3rem,6vw,6rem)}
h2{font-size:clamp(2rem,4vw,3.25rem)}
h3{font-size:clamp(1.3rem,2.5vw,1.75rem)}
h4{font-size:1.1rem}
p{color:var(--muted);line-height:1.85;font-weight:300}

.eyebrow{font-family:var(--sans);font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:400;display:block;margin-bottom:.75rem}
.eyebrow--light{color:rgba(255,255,255,.5)}

/* ══════════════════════════════════════════════════
   LAYOUT
══════════════════════════════════════════════════ */
.container{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.section{padding:6rem 0}
.section--warm{background:var(--warm)}
.section--rose{background:var(--warm)}
.section--dark{background:var(--charcoal)}
.section--ink{background:var(--ink)}
.section--pastel-blue{background:var(--pastel-blue)}
.section--pastel-green{background:var(--pastel-green)}
.section--pastel-mauve{background:var(--pastel-mauve)}
.section--pastel-teal{background:var(--pastel-teal)}
.text-center{text-align:center}

.section-head{margin-bottom:3.5rem}
.section-head.center{text-align:center}
.section-head.center p{margin:0 auto}
.section-head h2{margin-bottom:.75rem}
.section-head p{max-width:520px;color:var(--muted)}

/* ══════════════════════════════════════════════════
   BUTTONS
══════════════════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2.25rem;font-family:var(--sans);font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;border:none;cursor:pointer;transition:all var(--ease)}

/* Corner-bracket CTA — signature LifeVantage button treatment: hollow frame
   made of four short L-shaped strokes rather than a filled/outlined box. */
.btn-primary{
  background-color:transparent;
  color:var(--charcoal);
  background-image:
    linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),
    linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),
    linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),
    linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;
  background-size:14px 1.5px,1.5px 14px,14px 1.5px,1.5px 14px,14px 1.5px,1.5px 14px,14px 1.5px,1.5px 14px;
  background-position:top left,top left,top right,top right,bottom left,bottom left,bottom right,bottom right;
}
.btn-primary:hover{background-color:var(--charcoal);color:#fff;transform:translateY(-1px)}
.btn-primary--light{color:#fff}
.btn-primary--light:hover{background-color:#fff;color:var(--charcoal)}

.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:var(--gold-dark);transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,131,179,.30)}
.btn-outline{background:transparent;color:var(--charcoal);border:1px solid var(--border)}
.btn-outline:hover{border-color:var(--charcoal);background:var(--charcoal);color:#fff}
.btn-ghost{background:transparent;color:var(--charcoal);border-bottom:1px solid var(--charcoal);padding-left:0;padding-right:0}
.btn-ghost:hover{color:var(--gold);border-color:var(--gold)}
.btn-white{background:#fff;color:var(--charcoal)}
.btn-white:hover{background:var(--cream);transform:translateY(-1px)}

/* ══════════════════════════════════════════════════
   ANNOUNCEMENT BAR
══════════════════════════════════════════════════ */
.announcement-bar{background:var(--charcoal);color:rgba(255,255,255,.75);text-align:center;padding:.55rem 1rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-family:var(--sans)}
.announcement-bar a{color:var(--gold)}

/* ══════════════════════════════════════════════════
   HEADER / NAV
══════════════════════════════════════════════════ */
#site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fff;border-bottom:1px solid var(--border);box-shadow:var(--sh-sm);transition:box-shadow var(--ease)}
#site-header.scrolled{box-shadow:var(--sh-md)}

.site-header-inner{max-width:var(--max);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;gap:1rem}

.site-logo a{text-decoration:none}
.logo-text{display:block;font-family:var(--serif);font-size:1.75rem;font-weight:400;letter-spacing:.08em;color:var(--charcoal);line-height:1.1}
.logo-sub{display:block;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-top:2px}

.main-nav{display:flex;align-items:center;justify-content:center}
.main-nav ul,.main-nav .nav-list{display:flex;align-items:center;gap:2rem;list-style:none;padding:0;margin:0}
.main-nav a{font-size:.8rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--brown);padding-bottom:2px;border-bottom:1px solid transparent;transition:all var(--ease)}
.main-nav a:hover,.main-nav .current-menu-item > a{color:var(--gold);border-bottom-color:var(--gold)}

.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem}
.header-icon-btn{background:none;border:none;cursor:pointer;color:var(--brown);padding:.4rem;position:relative;transition:color var(--ease);display:flex;align-items:center}
.header-icon-btn:hover{color:var(--gold)}
.cart-badge{position:absolute;top:-4px;right:-6px;background:var(--gold);color:#fff;font-size:.6rem;font-weight:600;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}

.mobile-menu-toggle{display:none}

.mobile-nav{background:#fff;border-top:1px solid var(--border);padding:1.5rem var(--pad)}
.mobile-nav[hidden]{display:none!important}
.mobile-nav-list{display:flex;flex-direction:column;gap:1rem}
.mobile-nav-list a{font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brown)}

.search-overlay{position:fixed;inset:0;background:rgba(0,31,69,.7);backdrop-filter:blur(8px);z-index:2000;display:none;align-items:center;justify-content:center}
.search-overlay.is-open{display:flex}
.search-overlay-inner{background:#fff;padding:2rem;width:min(600px,90vw);border-radius:var(--r-md);position:relative}
.search-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:var(--muted)}
.search-field{display:flex;gap:0;border:1px solid var(--border)}
.search-field input[type="search"]{flex:1;border:none;padding:.75rem 1rem;font-size:.95rem;outline:none;font-family:var(--sans)}
.search-field button{background:var(--charcoal);color:#fff;border:none;padding:.75rem 1.5rem;cursor:pointer;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-family:var(--sans)}

/* ══════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════ */
.hero{min-height:92vh;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;padding-top:72px;background:linear-gradient(160deg,#E9F1F8 0%,#D6E6F5 40%,#B8D4EA 100%);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 75% 50%,rgba(11,95,168,.10),transparent);pointer-events:none}

.hero-content{display:flex;flex-direction:column;justify-content:center;padding:4rem 3rem 4rem 4rem;position:relative;z-index:2}
.hero-eyebrow{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;opacity:0;animation:fadeUp .8s .2s forwards}
.hero-eyebrow-line{width:40px;height:1px;background:var(--gold)}
.hero-title{font-size:clamp(3rem,6vw,6rem);font-weight:300;line-height:1.05;color:var(--charcoal);margin-bottom:1.75rem;opacity:0;animation:fadeUp .8s .35s forwards}
.hero-title em{font-style:italic;color:var(--gold)}
.hero-desc{font-size:1rem;color:var(--muted);line-height:1.85;max-width:480px;margin-bottom:2.5rem;opacity:0;animation:fadeUp .8s .5s forwards}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:fadeUp .8s .65s forwards}
.hero-trust{margin-top:3rem;display:flex;align-items:center;gap:2rem;opacity:0;animation:fadeUp .8s .8s forwards}
.hero-trust-item{text-align:center}
.hero-trust-item .num{font-family:var(--serif);font-size:1.5rem;color:var(--charcoal);display:block}
.hero-trust-item .desc{font-size:.68rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.hero-trust-divider{width:1px;height:36px;background:var(--border)}

.hero-visual{position:relative;overflow:hidden;background:var(--warm)}
.hero-img-wrap{width:100%;height:100%;min-height:75vh}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover;opacity:0;animation:fadeIn 1s .3s forwards}

.hero-badge{position:absolute;bottom:2.5rem;left:-1rem;background:#fff;border-radius:var(--r-md);padding:1rem 1.5rem;box-shadow:var(--sh-lg);display:flex;align-items:center;gap:.75rem;animation:slideLeft .7s .9s both}
.hero-badge .bi{width:36px;height:36px;background:var(--warm);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem}
.hero-badge strong{display:block;font-size:.85rem;color:var(--charcoal);font-weight:500}
.hero-badge span{font-size:.7rem;color:var(--muted)}

.hero-scroll{position:absolute;bottom:2rem;left:3rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;color:var(--muted);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase}
.hero-scroll-line{width:1px;height:48px;background:linear-gradient(var(--gold),transparent);animation:pulse 2s ease-in-out infinite}

/* ══════════════════════════════════════════════════
   BRAND BAR
══════════════════════════════════════════════════ */
.brand-bar{background:var(--border);padding:1.5rem 0}
.brand-bar-inner{max-width:var(--max);margin:0 auto;padding:0 var(--pad);display:flex;align-items:center;gap:4rem}
.brand-bar-logos{display:flex;align-items:center;gap:3rem;flex-wrap:wrap}
.brand-bar-logos span{font-family:var(--serif);font-size:1rem;color:var(--muted);opacity:.6;letter-spacing:.05em}

/* ══════════════════════════════════════════════════
   CATEGORIES
══════════════════════════════════════════════════ */
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.category-card{background:#fff;border:1px solid var(--border);padding:2.5rem 1.5rem;text-align:center;transition:all .3s ease;display:block;color:var(--brown)}
.category-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,31,69,.08)}
.category-card .icon{font-size:2.25rem;margin-bottom:1rem}
.category-card h3{font-family:var(--serif);font-size:1.25rem;font-weight:400;color:var(--charcoal);margin-bottom:.5rem}
.category-card p{font-size:.82rem;color:var(--muted);line-height:1.6;margin-bottom:1rem}
.category-card .link{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);transition:color .2s}
.category-card:hover .link{color:var(--gold)}

/* ══════════════════════════════════════════════════
   PRODUCTS
══════════════════════════════════════════════════ */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.product-card{background:#fff;position:relative;transition:transform .3s ease;border:1px solid transparent}
.product-card:hover{transform:translateY(-4px);border-color:var(--border);box-shadow:var(--sh-md)}
.product-img-wrap{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--warm)}
.product-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform var(--ease-s)}
.product-card:hover .product-img-wrap img{transform:scale(1.04)}
.product-badge{position:absolute;top:1rem;left:1rem;font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .75rem;z-index:2}
.badge-new{background:var(--badge-rose);color:#fff}
.badge-hot{background:var(--charcoal);color:#fff}
.badge-sale{background:var(--gold);color:#fff}
.badge-ltd{background:var(--brown);color:#fff}
.product-hover{position:absolute;bottom:1rem;right:1rem;display:flex;gap:.5rem;opacity:0;transition:opacity var(--ease)}
.product-card:hover .product-hover{opacity:1}
.product-hover-btn{width:38px;height:38px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--brown);transition:all .2s}
.product-hover-btn:hover{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}
.product-body{padding:1.25rem}
.product-cat{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem;display:block}
.product-name{font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--charcoal);margin-bottom:.5rem;line-height:1.4}
.product-excerpt{font-size:.82rem;color:var(--muted);line-height:1.6;margin-bottom:.75rem}
.product-foot{display:flex;align-items:center;justify-content:space-between}
.product-price{font-family:var(--serif);font-size:1.05rem;color:var(--brown)}
.product-price del{color:var(--muted);font-size:.85rem;margin-right:.35rem;opacity:.7}
.product-stars{color:var(--gold);font-size:.75rem;display:flex;align-items:center;gap:.2rem}
.product-stars span{color:var(--muted);font-size:.68rem;margin-left:.2rem}

/* ══════════════════════════════════════════════════
   INGREDIENTS / SCIENCE
══════════════════════════════════════════════════ */
.ing-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.ing-content .eyebrow{margin-bottom:1rem}
.ing-content h2{color:#fff;margin-bottom:1.25rem}
.ing-content > p{color:rgba(255,255,255,.6);margin-bottom:2rem;max-width:440px}
.ing-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2.5rem}
.ing-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;background:rgba(255,255,255,.05);border-left:2px solid var(--gold);transition:background var(--ease)}
.ing-item:hover{background:rgba(255,255,255,.09)}
.ing-icon{font-size:1.4rem;flex-shrink:0}
.ing-text strong{display:block;color:#fff;font-size:.88rem;margin-bottom:.2rem;font-weight:400}
.ing-text span{font-size:.75rem;color:rgba(255,255,255,.45)}
.ing-visual{position:relative;height:520px}
.ing-main{position:absolute;top:0;right:0;width:78%;overflow:hidden}
.ing-accent{position:absolute;bottom:0;left:0;width:50%;overflow:hidden;border:4px solid var(--charcoal)}
.ing-main img,.ing-accent img{width:100%;object-fit:cover}
.ing-main img{aspect-ratio:3/4}
.ing-accent img{aspect-ratio:1}

/* ══════════════════════════════════════════════════
   VALUES
══════════════════════════════════════════════════ */
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}
.value-item{text-align:center}
.value-icon{width:64px;height:64px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:1.5rem;transition:transform .4s cubic-bezier(.34,1.56,.64,1),border-color var(--ease)}
.value-item:hover .value-icon{transform:translateY(-4px);border-color:var(--gold)}
.value-item h3{font-size:1rem;margin-bottom:.6rem}
.value-item p{font-size:.85rem}

/* ══════════════════════════════════════════════════
   TESTIMONIALS
══════════════════════════════════════════════════ */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.testi-card{background:#fff;padding:2rem;border:1px solid var(--border);transition:all var(--ease)}
.testi-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.testi-stars{color:var(--gold);margin-bottom:1rem;font-size:.875rem;letter-spacing:.1em}
.testi-text{font-family:var(--serif);font-size:1rem;line-height:1.7;color:var(--charcoal);margin-bottom:1.5rem;font-style:italic}
.testi-author{display:flex;align-items:center;gap:.75rem}
.testi-avatar{width:42px;height:42px;border-radius:50%;background:var(--warm);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:.875rem;color:var(--charcoal);flex-shrink:0}
.testi-name{font-weight:500;font-size:.875rem;color:var(--charcoal);display:block}
.testi-loc{font-size:.75rem;color:var(--muted)}
.testi-check{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-top:.3rem}

/* ══════════════════════════════════════════════════
   NEWSLETTER
══════════════════════════════════════════════════ */
.nl-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:3.5rem;background:#fff;border:1px solid var(--border)}
.nl-content .eyebrow{margin-bottom:.75rem}
.nl-content h2{font-size:2rem;margin-bottom:.75rem}
.nl-content p{font-size:.9rem}
.nl-form{display:flex;flex-direction:column;gap:.75rem}
.nl-row{display:flex;border:1px solid var(--border);background:var(--cream);transition:border-color var(--ease)}
.nl-row:focus-within{border-color:var(--gold)}
.nl-row input{flex:1;padding:.875rem 1.25rem;background:transparent;border:none;outline:none;font-size:.9rem;font-family:var(--sans);color:var(--charcoal)}
.nl-row input::placeholder{color:var(--muted)}
.nl-row .btn{border-radius:0}
.nl-note{font-size:.7rem;color:var(--muted);line-height:1.6}
.nl-note a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}

/* ══════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════ */
#site-footer{background:var(--ink);padding:5rem 0 2rem;color:rgba(255,255,255,.6)}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:4rem;padding-bottom:4rem;border-bottom:1px solid rgba(255,255,255,.07)}
.footer-brand .logo-text{color:#fff;font-size:1.5rem;display:block;margin-bottom:.4rem}
.footer-brand .logo-sub{color:rgba(255,255,255,.3)}
.footer-brand p{font-size:.875rem;color:rgba(255,255,255,.4);line-height:1.8;max-width:280px;margin:1rem 0 1.5rem}
.footer-socials{display:flex;gap:.75rem;margin-top:1.5rem}
.footer-soc{width:38px;height:38px;background:rgba(255,255,255,.06);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.8rem;transition:all var(--ease)}
.footer-soc:hover{background:var(--gold);color:#fff}
.footer-col h4{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.9);margin-bottom:1.25rem;font-weight:500}
.footer-links{display:flex;flex-direction:column;gap:.65rem}
.footer-links a{font-size:.875rem;color:rgba(255,255,255,.4);transition:color var(--ease)}
.footer-links a:hover{color:var(--gold)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.footer-bottom p{font-size:.75rem;color:rgba(255,255,255,.3)}
.footer-pays{display:flex;gap:.5rem}
.pay-icon{background:rgba(255,255,255,.06);border-radius:3px;padding:.3rem .6rem;font-size:.65rem;color:rgba(255,255,255,.35);letter-spacing:.06em;font-family:var(--mono)}

/* ══════════════════════════════════════════════════
   COOKIE NOTICE
══════════════════════════════════════════════════ */
.cookie-bar{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:9999;background:var(--charcoal);color:#fff;border-radius:var(--r-md);padding:1.25rem 1.75rem;display:flex;align-items:center;gap:1.5rem;box-shadow:var(--sh-lg);max-width:600px;width:calc(100% - 3rem);transition:all .4s ease}
.cookie-bar p{color:rgba(255,255,255,.7);font-size:.82rem;margin:0}
.cookie-bar a{color:var(--gold);text-decoration:underline}
.cookie-actions{display:flex;gap:.5rem;flex-shrink:0}

/* ══════════════════════════════════════════════════
   PAGE HERO (interior pages)
══════════════════════════════════════════════════ */
.page-hero{background:linear-gradient(160deg,#E9F1F8,#D6E6F5);padding:10rem 0 6rem;text-align:center;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(126,208,240,.1),transparent);pointer-events:none}
.page-hero .eyebrow{display:inline-block;margin-bottom:1rem}
.page-hero h1{margin-bottom:1.25rem}
.page-hero p{max-width:560px;margin:0 auto;font-size:1.05rem}

/* ══════════════════════════════════════════════════
   ABOUT PAGE
══════════════════════════════════════════════════ */
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-story.reverse{direction:rtl}
.about-story.reverse > *{direction:ltr}
.about-visual{position:relative;height:560px}
.about-visual-main{width:100%;height:100%;background:var(--warm);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden}
.about-visual-main img{width:100%;height:100%;object-fit:cover}
.about-visual-badge{position:absolute;bottom:-1.5rem;right:-1.5rem;width:110px;height:110px;background:var(--gold);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center}
.about-visual-badge .num{font-family:var(--serif);font-size:2.25rem;font-weight:300;line-height:1}
.about-visual-badge .lbl{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.4;margin-top:2px;opacity:.9}
.about-text .eyebrow{margin-bottom:1rem}
.about-text h2{margin-bottom:1.25rem}
.about-text p{margin-bottom:1.25rem}
.about-pillars{display:flex;gap:2rem;margin:2rem 0 2.5rem;flex-wrap:wrap}
.about-pillar{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;color:var(--muted);font-size:.75rem;line-height:1.4}
.about-pillar .icon{font-size:1.5rem;color:var(--gold)}

.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border)}
.about-stat{padding:2.5rem 2rem;text-align:center;border-right:1px solid var(--border)}
.about-stat:last-child{border-right:none}
.about-stat .num{font-family:var(--serif);font-size:3rem;font-weight:300;color:var(--gold);display:block;line-height:1}
.about-stat .lbl{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:.5rem;display:block}

.about-team{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.team-card{text-align:center}
.team-photo{width:100%;aspect-ratio:1;background:var(--warm);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:4rem;margin-bottom:1.25rem;overflow:hidden}
.team-photo img{width:100%;height:100%;object-fit:cover}
.team-name{font-family:var(--serif);font-size:1.25rem;color:var(--charcoal);margin-bottom:.25rem}
.team-role{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.team-bio{font-size:.85rem;color:var(--muted);line-height:1.7;margin-top:.75rem}

.about-timeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:3rem}
.about-timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--border)}
.timeline-item{position:relative;padding:0 0 3rem 2rem}
.timeline-item::before{content:'';position:absolute;left:-2rem;top:.35rem;width:10px;height:10px;border-radius:50%;background:var(--gold);border:2px solid #fff;box-shadow:0 0 0 1px var(--gold)}
.timeline-year{font-family:var(--mono);font-size:.7rem;letter-spacing:.15em;color:var(--gold);margin-bottom:.35rem}
.timeline-item h3{font-size:1.15rem;margin-bottom:.5rem}
.timeline-item p{font-size:.875rem}

/* ══════════════════════════════════════════════════
   CONTACT PAGE
══════════════════════════════════════════════════ */
.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:5rem;align-items:start}

.contact-info{display:flex;flex-direction:column;gap:2.5rem}
.contact-block h3{font-size:1rem;font-family:var(--serif);color:var(--charcoal);margin-bottom:.75rem}
.contact-detail{display:flex;align-items:flex-start;gap:.875rem;margin-bottom:.875rem}
.contact-detail .ci{width:40px;height:40px;background:var(--warm);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.contact-detail-text strong{display:block;font-size:.8rem;font-weight:500;color:var(--charcoal);margin-bottom:.2rem}
.contact-detail-text span,.contact-detail-text a{font-size:.875rem;color:var(--muted)}
.contact-detail-text a:hover{color:var(--gold)}

.contact-hours table{width:100%;border-collapse:collapse}
.contact-hours td{padding:.4rem 0;font-size:.875rem;color:var(--muted);border-bottom:1px solid var(--border)}
.contact-hours td:first-child{color:var(--charcoal);font-weight:400;padding-right:2rem}
.contact-hours tr:last-child td{border-bottom:none}

.contact-social-links{display:flex;gap:.75rem;flex-wrap:wrap}
.contact-soc{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brown);transition:all var(--ease)}
.contact-soc:hover{border-color:var(--gold);color:var(--gold)}

/* Contact Form */
.contact-form-wrap{background:#fff;border:1px solid var(--border);padding:2.5rem}
.contact-form-head{margin-bottom:2rem}
.contact-form-head h2{font-size:2rem;margin-bottom:.5rem}
.contact-form-head p{font-size:.9rem}

.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.cf-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}
.cf-field label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--charcoal);font-weight:500}
.cf-field input,.cf-field select,.cf-field textarea{width:100%;border:1px solid var(--border);padding:.8rem 1rem;font-family:var(--sans);font-size:.9rem;color:var(--charcoal);background:var(--cream);transition:border-color var(--ease);outline:none}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{border-color:var(--gold);background:#fff}
.cf-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a8e86' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}
.cf-field textarea{resize:vertical;min-height:130px}
.cf-check{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem}
.cf-check input[type=checkbox]{width:16px;height:16px;margin-top:.15rem;accent-color:var(--gold);flex-shrink:0}
.cf-check label{font-size:.8rem;color:var(--muted);line-height:1.6}
.cf-check a{color:var(--gold);text-decoration:underline}
.cf-submit{width:100%;padding:1rem;font-size:.78rem;letter-spacing:.15em;justify-content:center}

.cf-success{display:none;text-align:center;padding:3rem;background:rgba(0,167,224,.08);border:1px solid var(--sage)}
.cf-success .icon{font-size:3rem;margin-bottom:1rem}
.cf-success h3{color:var(--sage);margin-bottom:.5rem}

/* Reclamation Form */
.reclamation-wrap{max-width:640px;margin:0 auto}
.reclamation-alt-contact{text-align:center;margin-top:1.5rem;font-size:.85rem;color:var(--muted)}
.reclamation-form-wrap{background:#fff;border:1px solid var(--border);padding:2.5rem}
.reclamation-form-head{margin-bottom:2rem}
.reclamation-form-head h2{font-size:2rem;margin-bottom:.5rem}
.reclamation-form-head p{font-size:.9rem}

.rf-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.rf-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}
.rf-field label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--charcoal);font-weight:500}
.rf-field input,.rf-field select,.rf-field textarea{width:100%;border:1px solid var(--border);padding:.8rem 1rem;font-family:var(--sans);font-size:.9rem;color:var(--charcoal);background:var(--cream);transition:border-color var(--ease);outline:none}
.rf-field input:focus,.rf-field select:focus,.rf-field textarea:focus{border-color:var(--gold);background:#fff}
.rf-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a8e86' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}
.rf-field textarea{resize:vertical;min-height:130px}
.rf-check{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem}
.rf-check input[type=checkbox]{width:16px;height:16px;margin-top:.15rem;accent-color:var(--gold);flex-shrink:0}
.rf-check label{font-size:.8rem;color:var(--muted);line-height:1.6}
.rf-check a{color:var(--gold);text-decoration:underline}
.rf-submit{width:100%;padding:1rem;font-size:.78rem;letter-spacing:.15em;justify-content:center}

.rf-success{display:none;text-align:center;padding:3rem;background:rgba(0,167,224,.08);border:1px solid var(--sage)}
.rf-success .icon{font-size:3rem;margin-bottom:1rem}
.rf-success h3{color:var(--sage);margin-bottom:.5rem}

.contact-map-wrap{border:1px solid var(--border);overflow:hidden;height:380px;background:var(--warm);display:flex;align-items:center;justify-content:center;margin-top:5rem}
.contact-map-placeholder{text-align:center;color:var(--muted)}
.contact-map-placeholder .map-icon{font-size:3rem;margin-bottom:1rem;color:var(--gold)}
.contact-map-placeholder p{font-size:.875rem}

.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.faq-item{background:#fff;border:1px solid var(--border);padding:1.75rem;transition:border-color var(--ease)}
.faq-item:hover{border-color:var(--gold)}
.faq-item h4{font-size:.95rem;color:var(--charcoal);margin-bottom:.6rem;font-family:var(--serif);font-weight:400}
.faq-item p{font-size:.85rem;line-height:1.7}

/* ══════════════════════════════════════════════════
   WOOCOMMERCE
══════════════════════════════════════════════════ */
.woo-main{padding-top:72px;min-height:70vh}
.woo-main > .container{padding-top:2.5rem;padding-bottom:5rem}
.woo-page-title{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4vw,3.25rem);color:var(--charcoal);margin-bottom:.5rem;margin-top:1rem}
.woo-breadcrumb{padding:.75rem 0;font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}
.woo-breadcrumb a{color:var(--muted);transition:color var(--ease)}
.woo-breadcrumb a:hover{color:var(--gold)}
.woo-breadcrumb .sep{opacity:.4}

.woocommerce-result-count{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);line-height:2.5}
.woocommerce-ordering select{border:1px solid var(--border);border-radius:0;padding:.5rem 2rem .5rem 1rem;font-size:.72rem;letter-spacing:.08em;color:var(--charcoal);background:var(--cream);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a8e86' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;cursor:pointer}

.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:2rem!important;margin:2rem 0 0!important;padding:0!important;list-style:none!important;float:none!important;width:100%!important}
/* WooCommerce Blocks legacy grid (e.g. product-best-sellers) styled to match .product-card */
.wc-block-grid.product-grid{display:block!important}
.wc-block-grid__products{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:2rem!important;list-style:none!important;padding:0!important;margin:0!important;width:100%!important}
.wc-block-grid__product{background:#fff!important;border:1px solid transparent!important;transition:transform .3s ease!important;padding:0!important;margin:0!important;position:relative!important}
.wc-block-grid__product:hover{transform:translateY(-4px)!important;border-color:var(--border)!important;box-shadow:var(--sh-md)!important}
.wc-block-grid__product-link{display:block!important;text-decoration:none!important}
.wc-block-grid__product-image{width:100%!important;margin:0!important}
.wc-block-grid__product-image img{width:100%!important;height:320px!important;object-fit:cover!important;display:block!important;border-radius:0!important;margin:0!important;transition:transform var(--ease-s)!important}
.wc-block-grid__product:hover .wc-block-grid__product-image img{transform:scale(1.04)!important}
.wc-block-grid__product-title{font-family:var(--serif)!important;font-size:1.1rem!important;font-weight:400!important;color:var(--charcoal)!important;padding:1.1rem 1.25rem .25rem!important;margin:0!important;display:block!important;white-space:normal!important}
.wc-block-grid__product-price{font-family:var(--serif)!important;font-size:1.1rem!important;color:var(--brown)!important;padding:0 1.25rem 1rem!important;margin:0!important;display:block!important}
.wc-block-grid__product-rating{padding:0 1.25rem!important;margin:0 0 .5rem!important}
.wc-block-grid__product-add-to-cart{padding:0 1.25rem 1.25rem!important;margin:0!important}
.wc-block-grid__product-add-to-cart a{display:block!important;text-align:center!important;background:var(--charcoal)!important;color:#fff!important;border-radius:0!important;font-size:.68rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;padding:.75rem 1.5rem!important;border:none!important;transition:all var(--ease)!important;width:100%!important;white-space:nowrap!important}
.wc-block-grid__product-add-to-cart a:hover{background:var(--brown)!important;transform:translateY(-1px)!important}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:#fff!important;border:1px solid transparent!important;transition:all .3s ease!important;padding:0!important;margin:0!important;float:none!important;width:auto!important;position:relative!important}
.woocommerce ul.products li.product:hover{transform:translateY(-4px)!important;border-color:var(--border)!important;box-shadow:var(--sh-md)!important}
.woocommerce ul.products li.product img{width:100%!important;height:260px!important;object-fit:cover!important;display:block!important;border-radius:0!important;margin:0!important;transition:transform var(--ease-s)!important}
.woocommerce ul.products li.product:hover img{transform:scale(1.04)!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif)!important;font-size:1rem!important;font-weight:400!important;color:var(--charcoal)!important;padding:1.1rem 1.25rem .25rem!important;margin:0!important}
.woocommerce ul.products li.product .price{font-family:var(--serif)!important;font-size:1.1rem!important;color:var(--brown)!important;padding:0 1.25rem .75rem!important;margin:0!important;display:block!important}
.woocommerce ul.products li.product .button{display:block!important;margin:0 1.25rem 1.25rem!important;text-align:center!important;background:var(--charcoal)!important;color:#fff!important;border-radius:0!important;font-size:.68rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;padding:.75rem 1.5rem!important;border:none!important;transition:all var(--ease)!important;width:calc(100% - 2.5rem)!important}
.woocommerce ul.products li.product .button:hover{background:var(--brown)!important;transform:translateY(-1px)!important}
.woocommerce span.onsale{background:var(--gold)!important;border-radius:0!important;font-size:.62rem!important;letter-spacing:.1em!important;text-transform:uppercase!important;padding:.3rem .8rem!important;top:.75rem!important;left:.75rem!important;right:auto!important;min-width:auto!important;min-height:auto!important;line-height:1.5!important}
.woocommerce .star-rating span::before,.woocommerce .star-rating::before{color:var(--gold)!important}
.woocommerce-sidebar,.woocommerce_sidebar,#secondary.widget-area{display:none!important}
.woocommerce-info{background:var(--warm)!important;border-left:4px solid var(--sage)!important;border-radius:0!important;padding:1.25rem 1.5rem!important;color:var(--muted)!important;margin:2rem 0!important}
.woocommerce nav.woocommerce-pagination ul{border:none!important;display:flex!important;gap:.5rem!important;justify-content:center!important;margin-top:3rem!important}
.woocommerce nav.woocommerce-pagination ul li{border:none!important}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border-radius:0!important;width:44px!important;height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:.78rem!important;color:var(--muted)!important;border:1px solid var(--border)!important;background:transparent!important;transition:all var(--ease)!important}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--charcoal)!important;color:#fff!important;border-color:var(--charcoal)!important}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--charcoal)!important;color:#fff!important;border-color:var(--charcoal)!important}

/* Single product */
.woocommerce div.product{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:2rem}
.woocommerce div.product .product_title{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.8rem);font-weight:300;color:var(--charcoal);margin-bottom:.5rem}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:var(--serif);font-size:1.8rem;color:var(--brown);margin-bottom:1.5rem}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted);font-size:.97rem;line-height:1.8;margin-bottom:1.5rem}
.woocommerce div.product form.cart{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:2rem}
.woocommerce div.product form.cart .qty{border:1px solid var(--border);border-radius:0;padding:.7rem .75rem;font-size:1rem;width:80px;text-align:center}
.woocommerce div.product form.cart .button{flex:1;min-width:180px;padding:.9rem 2rem;font-size:.72rem;letter-spacing:.14em;border-radius:0;background:var(--charcoal);color:#fff;border:none;cursor:pointer;font-family:var(--sans);text-transform:uppercase;transition:all var(--ease)}
.woocommerce div.product form.cart .button:hover{background:var(--brown)}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:2rem}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;border-bottom:1px solid var(--border);margin-bottom:2rem;display:flex}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:none;border-bottom:2px solid transparent;margin:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--gold);background:transparent}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.875rem 1.5rem;display:block}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--charcoal)}
.related.products{grid-column:1/-1;margin-top:3rem}
.related.products h2{font-family:var(--serif);font-weight:300;font-size:2rem;color:var(--charcoal);margin-bottom:2rem}

/* Cart & checkout */
.woocommerce table.shop_table{border-radius:0;border:1px solid var(--border)!important;width:100%}
.woocommerce table.shop_table th{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:var(--warm);padding:1rem 1.25rem;border:none!important}
.woocommerce table.shop_table td{padding:1.25rem!important;border-top:1px solid var(--border)!important;vertical-align:middle!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1px solid var(--border)!important;border-radius:0!important;padding:.75rem 1rem!important;font-family:var(--sans)!important;font-size:.95rem!important;transition:border-color var(--ease)!important;width:100%!important;background:var(--cream)!important}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:var(--gold)!important;outline:none!important;background:#fff!important}
.woocommerce-message{border-radius:0!important;border-top:3px solid var(--sage)!important;background:rgba(0,167,224,.08)!important;color:var(--charcoal)!important;padding:1rem 1.5rem!important}
.woocommerce-error{border-radius:0!important;border-top:3px solid #8B4A3A!important;background:rgba(139,74,58,.08)!important;padding:1rem 1.5rem!important}

/* ══════════════════════════════════════════════════
   STANDARD PAGE / BLOG
══════════════════════════════════════════════════ */
.site-main{padding-top:72px;min-height:70vh}
.entry-content{font-size:1.05rem;line-height:1.85;color:var(--muted)}
.entry-content h2,.entry-content h3,.entry-content h4{color:var(--charcoal);margin:2rem 0 1rem}
.entry-content p{margin-bottom:1.25rem}
.entry-content ul,.entry-content ol{padding-left:1.5rem;margin-bottom:1.25rem;color:var(--muted)}
.entry-content li{margin-bottom:.5rem}
.entry-content a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.entry-content img{border-radius:var(--r-md);margin:2rem 0}
.entry-content blockquote{border-left:3px solid var(--gold);padding:1rem 1.5rem;background:var(--warm);margin:1.5rem 0;font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--charcoal)}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.blog-card{background:#fff;border:1px solid var(--border);overflow:hidden;transition:all var(--ease)}
.blog-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.blog-card-img{aspect-ratio:16/9;overflow:hidden;background:var(--warm)}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--ease-s)}
.blog-card:hover .blog-card-img img{transform:scale(1.04)}
.blog-card-body{padding:1.5rem}
.blog-card-cat{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem;display:block}
.blog-card-title{font-family:var(--serif);font-size:1.1rem;color:var(--charcoal);margin-bottom:.5rem;line-height:1.35}
.blog-card-excerpt{font-size:.82rem;color:var(--muted);line-height:1.6;margin-bottom:1rem}
.blog-card-foot{display:flex;align-items:center;justify-content:space-between}
.blog-card-date{font-size:.7rem;letter-spacing:.08em;color:var(--muted)}
.blog-card-read{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}

/* ══════════════════════════════════════════════════
   ANIMATIONS & REVEAL
══════════════════════════════════════════════════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
@keyframes pulse{0%,100%{opacity:.4;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.1)}}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.delay-1{transition-delay:.1s}
.delay-2{transition-delay:.2s}
.delay-3{transition-delay:.3s}
.delay-4{transition-delay:.4s}

/* ══════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════ */
@media(max-width:1100px){
  .footer-top{grid-template-columns:1fr 1fr}
  .about-stats{grid-template-columns:repeat(2,1fr)}
  .about-stats .about-stat:nth-child(2){border-right:none}
  .about-stats .about-stat:nth-child(3){border-top:1px solid var(--border)}
}
@media(max-width:960px){
  .site-header-inner{grid-template-columns:auto 1fr auto}
  .main-nav{display:none}
  .mobile-menu-toggle{display:flex}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-visual{order:-1;min-height:55vw}
  .hero-content{padding:var(--pad)}
  .hero-badge{display:none}
  .about-story{grid-template-columns:1fr}
  .about-story.reverse{direction:ltr}
  .about-visual{height:300px}
  .contact-grid{grid-template-columns:1fr}
  .ing-inner{grid-template-columns:1fr;gap:3rem}
  .values-grid,.testi-grid{grid-template-columns:1fr}
  .product-grid,.category-grid{grid-template-columns:repeat(2,1fr)}
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr)!important}
  .wc-block-grid__products{grid-template-columns:repeat(2,1fr)!important}
  .wc-block-grid__product-image img{height:220px!important}
  .nl-inner{grid-template-columns:1fr;gap:2rem}
  .faq-grid{grid-template-columns:1fr}
  .woocommerce div.product{grid-template-columns:1fr}
  .cf-row{grid-template-columns:1fr}
  .rf-row{grid-template-columns:1fr}
  .about-team{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  :root{--pad:1.25rem}
  .section{padding:4rem 0}
  .hero-title{font-size:2.75rem}
  .page-hero{padding:8rem 0 4rem}
  .product-grid,.category-grid{grid-template-columns:1fr}
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr!important}
  .wc-block-grid__products{grid-template-columns:1fr!important}
  .wc-block-grid__product-image img{height:280px!important}
  .footer-top{grid-template-columns:1fr}
  .about-stats{grid-template-columns:1fr 1fr}
  .about-team{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
}

/* ══════════════════════════════════════════════════
   BLOG — PAGE HERO
══════════════════════════════════════════════════ */
.blog-hero { padding-bottom: 0 }
.blog-main { padding-top: 0; padding-bottom: 5rem }
.blog-main > .container { padding-top: 0 }

/* ══════════════════════════════════════════════════
   CATEGORY FILTER BAR
══════════════════════════════════════════════════ */
.blog-cats {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  padding: 2rem 0 2.5rem;
  border-bottom: 1px solid var(--border);
  margin-bottom: 2.5rem;
}
.blog-cat-btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem 1.1rem;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-family: var(--sans);
  font-weight: 400;
  color: var(--muted);
  border: 1px solid var(--border);
  background: transparent;
  transition: all var(--ease);
  text-decoration: none;
}
.blog-cat-btn:hover { border-color: var(--charcoal); color: var(--charcoal) }
.blog-cat-btn.active { background: var(--charcoal); color: #fff; border-color: var(--charcoal) }
.blog-cat-count {
  font-size: .62rem;
  background: rgba(0,0,0,.08);
  padding: .1rem .4rem;
  border-radius: 10px;
}
.blog-cat-btn.active .blog-cat-count { background: rgba(255,255,255,.2) }

/* ══════════════════════════════════════════════════
   FEATURED POST
══════════════════════════════════════════════════ */
.blog-featured {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0;
  background: #fff;
  border: 1px solid var(--border);
  margin-bottom: 3rem;
  overflow: hidden;
}
.blog-featured-img {
  display: block;
  position: relative;
  overflow: hidden;
  min-height: 420px;
}
.blog-featured-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform var(--ease-s);
}
.blog-featured:hover .blog-featured-img img { transform: scale(1.03) }
.blog-featured-placeholder {
  width: 100%; height: 100%; min-height: 420px;
  background: var(--warm);
  display: flex; align-items: center; justify-content: center;
  font-size: 5rem; color: var(--gold); opacity: .3;
}
.blog-featured-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(0,31,69,.1), transparent);
  pointer-events: none;
}
.blog-featured-body {
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
}
.blog-featured-meta { display: flex; align-items: center; gap: .75rem }
.blog-featured-cat {
  font-size: .68rem; letter-spacing: .18em; text-transform: uppercase;
  color: var(--gold); font-family: var(--sans);
}
.blog-featured-badge {
  font-size: .62rem; letter-spacing: .12em; text-transform: uppercase;
  background: var(--gold); color: #fff;
  padding: .2rem .65rem; font-family: var(--sans);
}
.blog-featured-title {
  font-family: var(--serif); font-size: clamp(1.5rem,3vw,2.25rem);
  font-weight: 300; color: var(--charcoal); line-height: 1.15;
}
.blog-featured-title:hover { color: var(--gold) }
.blog-featured-excerpt { font-size: .9rem; color: var(--muted); line-height: 1.75 }
.blog-featured-foot {
  display: flex; align-items: center;
  justify-content: space-between; gap: 1rem;
  flex-wrap: wrap; margin-top: auto; padding-top: 1.25rem;
  border-top: 1px solid var(--border);
}

/* ══════════════════════════════════════════════════
   BLOG GRID LAYOUT (with sidebar)
══════════════════════════════════════════════════ */
.blog-grid-wrap {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 3rem;
  align-items: start;
}
.blog-grid-main { min-width: 0 }

/* Override old 3-col blog-grid */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.75rem;
}
.blog-grid--3 { grid-template-columns: repeat(3, 1fr) }

/* Wide card variant (first card) */
.blog-card--wide { grid-column: 1 / -1 }
.blog-card--wide .blog-card-img { aspect-ratio: 21/9 }

/* Existing card overrides */
.blog-card-img-link { display: block }
.blog-card-top {
  display: flex; align-items: center;
  justify-content: space-between; gap: .5rem;
  margin-bottom: .4rem;
}
.blog-card-time {
  font-size: .65rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--muted);
}
.blog-card-no-img {
  width: 100%; height: 100%; min-height: 200px;
  background: var(--warm);
  display: flex; align-items: center; justify-content: center;
  font-size: 3rem; color: var(--gold); opacity: .3;
}

/* Author row */
.blog-post-author { display: flex; align-items: center; gap: .6rem }
.blog-avatar {
  width: 32px; height: 32px; border-radius: 50%;
  object-fit: cover; flex-shrink: 0; border: 2px solid var(--border);
}
.blog-avatar--lg { width: 44px; height: 44px }
.blog-author-name {
  display: block; font-size: .8rem; font-weight: 500;
  color: var(--charcoal); line-height: 1.2;
}
.blog-post-date { display: block; font-size: .7rem; color: var(--muted) }

/* Btn small variant */
.btn-sm { padding: .55rem 1.25rem; font-size: .68rem }

/* ══════════════════════════════════════════════════
   BLOG PAGINATION
══════════════════════════════════════════════════ */
.blog-pagination { margin-top: 3rem }
.blog-pagination ul {
  display: flex; gap: .5rem;
  list-style: none; padding: 0; flex-wrap: wrap;
}
.blog-pagination ul li a,
.blog-pagination ul li span {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px;
  border: 1px solid var(--border);
  font-size: .8rem; color: var(--muted);
  transition: all var(--ease);
}
.blog-pagination ul li a:hover { border-color: var(--charcoal); color: var(--charcoal) }
.blog-pagination ul li .current {
  background: var(--charcoal); color: #fff; border-color: var(--charcoal);
}
.blog-pagination ul li .dots { border: none }

/* ══════════════════════════════════════════════════
   BLOG SIDEBAR
══════════════════════════════════════════════════ */
.blog-sidebar {
  display: flex; flex-direction: column; gap: 1.75rem;
  position: sticky; top: 100px;
}
.blog-widget {
  background: #fff;
  border: 1px solid var(--border);
  padding: 1.5rem;
}
.blog-widget-title {
  font-family: var(--sans);
  font-size: .68rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--charcoal);
  font-weight: 500;
  margin-bottom: 1.25rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--border);
}

/* Search widget */
.blog-search-form {
  display: flex;
  border: 1px solid var(--border);
  transition: border-color var(--ease);
}
.blog-search-form:focus-within { border-color: var(--gold) }
.blog-search-form input {
  flex: 1; border: none; padding: .65rem .875rem;
  font-size: .875rem; font-family: var(--sans);
  background: var(--cream); outline: none; color: var(--charcoal);
}
.blog-search-form button {
  background: var(--charcoal); color: #fff; border: none;
  padding: 0 .875rem; cursor: pointer; display: flex;
  align-items: center; transition: background var(--ease);
}
.blog-search-form button:hover { background: var(--brown) }

/* Category list widget */
.blog-widget-cats { display: flex; flex-direction: column; gap: 0 }
.blog-widget-cat-link {
  display: flex; align-items: center; justify-content: space-between;
  padding: .6rem 0;
  font-size: .875rem; color: var(--muted);
  border-bottom: 1px solid var(--border);
  transition: color var(--ease);
}
.blog-widget-cats li:last-child .blog-widget-cat-link { border-bottom: none }
.blog-widget-cat-link:hover { color: var(--gold) }

/* Popular posts widget */
.blog-widget-popular { display: flex; flex-direction: column; gap: 1rem }
.blog-popular-item { display: flex; align-items: flex-start; gap: .875rem }
.blog-popular-num {
  font-family: var(--serif); font-size: 1.5rem; font-weight: 300;
  color: var(--border); line-height: 1; flex-shrink: 0; min-width: 2rem;
}
.blog-popular-title {
  display: block; font-size: .875rem; color: var(--charcoal);
  line-height: 1.4; margin-bottom: .25rem;
  transition: color var(--ease);
}
.blog-popular-title:hover { color: var(--gold) }

/* Newsletter widget */
.blog-widget--nl { background: var(--warm); border-color: var(--border); text-align: center }
.blog-nl-icon { font-size: 2rem; margin-bottom: .75rem }
.blog-widget--nl p { font-size: .82rem; margin-bottom: 1rem }
.blog-nl-form { display: flex; flex-direction: column; gap: .5rem; margin-bottom: .5rem }
.blog-nl-form input {
  width: 100%; border: 1px solid var(--border); padding: .65rem .875rem;
  font-size: .875rem; font-family: var(--sans); background: #fff;
  outline: none; color: var(--charcoal); transition: border-color var(--ease);
}
.blog-nl-form input:focus { border-color: var(--gold) }

/* Tag cloud widget */
.blog-tag-cloud { display: flex; flex-wrap: wrap; gap: .4rem }
.blog-tag {
  font-size: .68rem; letter-spacing: .1em; text-transform: uppercase;
  padding: .3rem .75rem; border: 1px solid var(--border);
  color: var(--muted); transition: all var(--ease);
}
.blog-tag:hover { border-color: var(--gold); color: var(--gold) }

/* Empty state */
.blog-empty {
  text-align: center; padding: 6rem 2rem;
  display: flex; flex-direction: column;
  align-items: center; gap: 1rem;
}
.blog-empty-icon { font-size: 4rem }
.blog-empty h2 { font-size: 2rem }
.blog-empty p { max-width: 360px }

/* Newsletter CTA strip */
.blog-nl-strip { padding: 5rem 0 }
.blog-nl-strip-inner {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 4rem; align-items: center;
}
.blog-nl-strip-form { display: flex; flex-direction: column; gap: .75rem }

/* ══════════════════════════════════════════════════
   SINGLE POST
══════════════════════════════════════════════════ */
.single-main { padding-top: 72px }

.single-hero {
  background: linear-gradient(160deg, #E9F1F8, #D6E6F5);
  padding: 4rem 0 3rem;
}
.single-meta {
  display: flex; align-items: center; gap: .6rem;
  flex-wrap: wrap; margin-bottom: 1.25rem;
}
.single-cat {
  font-size: .68rem; letter-spacing: .18em; text-transform: uppercase;
  color: var(--gold); font-family: var(--sans);
  border-bottom: 1px solid transparent; transition: border-color var(--ease);
}
.single-cat:hover { border-bottom-color: var(--gold) }
.single-meta-sep { color: var(--border) }
.single-date,.single-read-time {
  font-size: .72rem; color: var(--muted); letter-spacing: .05em;
}
.single-title {
  font-family: var(--serif); font-size: clamp(2.25rem,5vw,4rem);
  font-weight: 300; line-height: 1.1; color: var(--charcoal);
  margin-bottom: 1.25rem;
}
.single-excerpt {
  font-size: 1.1rem; color: var(--muted); line-height: 1.75;
  max-width: 680px; margin-bottom: 2rem;
}
.single-author-row {
  display: flex; align-items: center;
  justify-content: space-between; gap: 1rem;
  padding-top: 1.5rem; border-top: 1px solid var(--border);
  flex-wrap: wrap;
}
.single-share { display: flex; align-items: center; gap: .75rem }
.single-share-label { font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; color: var(--muted) }
.single-share-btn {
  font-size: .68rem; letter-spacing: .1em; text-transform: uppercase;
  padding: .4rem .875rem; border: 1px solid var(--border);
  color: var(--muted); transition: all var(--ease);
}
.single-share-btn:hover { border-color: var(--charcoal); color: var(--charcoal) }

.single-cover { background: var(--warm); padding: 0 }
.single-cover-img { margin: 0; overflow: hidden }
.single-cover-img img { width: 100%; max-height: 560px; object-fit: cover }
.single-caption {
  font-size: .78rem; color: var(--muted); padding: .6rem 1rem;
  text-align: center; font-style: italic; background: var(--warm);
}

.single-body { padding: 3.5rem 0 }

/* Table of contents */
.single-toc {
  background: var(--warm); border: 1px solid var(--border);
  padding: 1.5rem; margin-bottom: 2.5rem;
}
.single-toc-title {
  font-family: var(--sans); font-size: .68rem; letter-spacing: .18em;
  text-transform: uppercase; font-weight: 500; color: var(--charcoal);
  margin-bottom: 1rem;
}
.single-toc-list { padding-left: 1.25rem; color: var(--muted) }
.single-toc-list li { margin-bottom: .4rem }
.single-toc-list a { font-size: .875rem; color: var(--muted); transition: color var(--ease) }
.single-toc-list a:hover { color: var(--gold) }

/* Article body */
.single-content { font-size: 1.05rem; line-height: 1.9; color: var(--muted) }
.single-content h2 {
  font-family: var(--serif); font-size: 1.75rem; font-weight: 300;
  color: var(--charcoal); margin: 2.5rem 0 1rem; scroll-margin-top: 90px;
}
.single-content h3 { font-size: 1.25rem; color: var(--charcoal); margin: 2rem 0 .75rem }
.single-content p { margin-bottom: 1.35rem }
.single-content a { color: var(--gold); text-decoration: underline; text-underline-offset: 3px }
.single-content ul,.single-content ol { padding-left: 1.5rem; margin-bottom: 1.35rem }
.single-content li { margin-bottom: .5rem }
.single-content blockquote {
  border-left: 3px solid var(--gold); padding: 1.25rem 1.75rem;
  background: var(--warm); margin: 2rem 0;
  font-family: var(--serif); font-style: italic;
  font-size: 1.2rem; color: var(--charcoal); line-height: 1.6;
}
.single-content img { border: 1px solid var(--border); margin: 2rem 0 }
.single-content figure { margin: 2rem 0 }
.single-content figcaption { font-size: .78rem; color: var(--muted); text-align: center; margin-top: .5rem; font-style: italic }
.single-content code {
  background: var(--warm); border: 1px solid var(--border);
  padding: .15rem .4rem; font-family: var(--mono); font-size: .875em;
}
.single-content pre {
  background: var(--charcoal); color: rgba(255,255,255,.85);
  padding: 1.5rem; overflow-x: auto; margin: 1.5rem 0; font-size: .875rem;
}
.single-content pre code { background: none; border: none; padding: 0; color: inherit }
.single-content table { width: 100%; border-collapse: collapse; margin: 1.5rem 0 }
.single-content th,.single-content td { padding: .75rem 1rem; border: 1px solid var(--border); font-size: .9rem }
.single-content th { background: var(--warm); font-weight: 500; color: var(--charcoal) }
.single-content hr { border: none; border-top: 1px solid var(--border); margin: 2.5rem 0 }

/* Tags */
.single-tags {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: .5rem; margin: 2.5rem 0;
  padding-top: 2rem; border-top: 1px solid var(--border);
}
.single-tags-label { font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; color: var(--muted) }

/* Author card */
.single-author-card {
  display: flex; gap: 1.5rem; align-items: flex-start;
  padding: 2rem; background: var(--warm); border: 1px solid var(--border);
  margin: 2.5rem 0;
}
.single-author-avatar {
  width: 72px; height: 72px; border-radius: 50%;
  object-fit: cover; flex-shrink: 0; border: 2px solid var(--border);
}
.single-author-info { flex: 1 }
.single-author-name {
  font-family: var(--serif); font-size: 1.25rem; font-weight: 400;
  color: var(--charcoal); margin-bottom: .4rem;
}
.single-author-info p { font-size: .875rem; margin-bottom: .75rem }

/* Prev / Next */
.single-prevnext {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1rem; margin-top: 2.5rem;
  padding-top: 2.5rem; border-top: 1px solid var(--border);
}
.single-prevnext-item { display: flex; flex-direction: column; gap: .4rem }
.single-prevnext-label { font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; color: var(--muted) }
.single-prevnext-title {
  font-family: var(--serif); font-size: 1rem; color: var(--charcoal);
  line-height: 1.3; transition: color var(--ease);
}
.single-prevnext-title:hover { color: var(--gold) }

/* Related posts section */
.single-related { padding: 4rem 0 }
.single-related .blog-grid--3 { gap: 1.75rem }

/* ══════════════════════════════════════════════════
   RESPONSIVE — BLOG
══════════════════════════════════════════════════ */
@media(max-width:1050px){
  .blog-grid-wrap { grid-template-columns: 1fr }
  .blog-sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem }
  .blog-widget--nl { grid-column: 1/-1 }
}
@media(max-width:860px){
  .blog-featured { grid-template-columns: 1fr }
  .blog-featured-img { min-height: 280px }
  .blog-grid { grid-template-columns: 1fr }
  .blog-card--wide { grid-column: auto }
  .blog-card--wide .blog-card-img { aspect-ratio: 16/9 }
  .blog-nl-strip-inner { grid-template-columns: 1fr; gap: 2rem }
  .blog-grid--3 { grid-template-columns: 1fr }
  .single-author-row { flex-direction: column; align-items: flex-start }
  .single-share { flex-wrap: wrap }
  .single-prevnext { grid-template-columns: 1fr }
  .single-author-card { flex-direction: column }
  .single-author-avatar { width: 56px; height: 56px }
}
@media(max-width:640px){
  .blog-sidebar { grid-template-columns: 1fr }
  .blog-cats { gap: .35rem }
}

/* ══════════════════════════════════════════════════
   COMMENTS
══════════════════════════════════════════════════ */
.comments-area { margin-top: 3rem; padding-top: 3rem; border-top: 1px solid var(--border) }
.comments-title { font-family: var(--serif); font-size: 1.75rem; font-weight: 300; color: var(--charcoal); margin-bottom: 2rem }
.comment-list { list-style: none; padding: 0 }
.comment { margin-bottom: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--border) }
.comment-meta { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem }
.comment-author img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover }
.comment-author .fn { font-weight: 500; color: var(--charcoal); font-style: normal; font-size: .9rem }
.comment-metadata time { font-size: .72rem; color: var(--muted) }
.comment-content p { font-size: .9rem; color: var(--muted); line-height: 1.7 }
.reply a { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gold) }
.comment-respond { margin-top: 2rem; padding: 2rem; background: var(--warm); border: 1px solid var(--border) }
.comment-reply-title { font-family: var(--serif); font-size: 1.25rem; font-weight: 300; color: var(--charcoal); margin-bottom: 1.5rem }
.comment-form label { display: block; font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; color: var(--charcoal); font-weight: 500; margin-bottom: .4rem }
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url],
.comment-form textarea {
  width: 100%; border: 1px solid var(--border); padding: .75rem 1rem;
  font-family: var(--sans); font-size: .9rem; color: var(--charcoal);
  background: #fff; transition: border-color var(--ease); outline: none;
}
.comment-form input:focus, .comment-form textarea:focus { border-color: var(--gold) }
.comment-form textarea { resize: vertical; min-height: 120px }
.comment-form-cookies-consent label { font-size: .78rem; text-transform: none; letter-spacing: 0; font-weight: 300 }
#submit {
  background: var(--charcoal); color: #fff; border: none;
  padding: .875rem 2rem; font-family: var(--sans); font-size: .75rem;
  letter-spacing: .14em; text-transform: uppercase; cursor: pointer;
  transition: background var(--ease); margin-top: .5rem;
}
#submit:hover { background: var(--brown) }

/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE SYSTEM — LIFEVANTAGE
   Breakpoints (mobile-first layered on top of base styles):
     --tablet-sm : 480px   small phones → tablet portrait
     --tablet    : 768px   tablet portrait
     --laptop    : 960px   tablet landscape / small laptop  (replaces old 960)
     --desktop   : 1100px  standard desktop                (replaces old 1100)
     --wide      : 1280px  large desktop / TV
   ════════════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   TOUCH & POINTER IMPROVEMENTS (all devices)
───────────────────────────────────────────── */
@media (hover: none) {
  /* On touch devices disable hover transforms that cause sticky states */
  .product-card:hover,
  .category-card:hover,
  .blog-card:hover,
  .testi-card:hover,
  .faq-item:hover { transform: none; box-shadow: none }
  .product-card:hover .product-img-wrap img,
  .blog-card:hover .blog-card-img img { transform: none }
  /* Show quick-add buttons always on touch (no hover) */
  .product-hover { opacity: 1 }
}

/* ─────────────────────────────────────────────
   WIDE DESKTOP  ≥ 1280px
───────────────────────────────────────────── */
@media (min-width: 1280px) {
  /* Extra breathing room on large screens */
  .hero-content { padding: 5rem 4rem 5rem 5rem }
  .section { padding: 7rem 0 }
  .blog-grid-wrap { grid-template-columns: 1fr 320px }
}

/* ─────────────────────────────────────────────
   DESKTOP  ≤ 1100px
   Tablets landscape + small laptops
───────────────────────────────────────────── */
@media (max-width: 1100px) {

  /* Typography scale down */
  h1 { font-size: clamp(2.5rem, 5.5vw, 5rem) }
  h2 { font-size: clamp(1.75rem, 3.5vw, 3rem) }

  /* Header */
  .site-header-inner { gap: .75rem }
  .main-nav ul, .main-nav .nav-list { gap: 1.5rem }
  .main-nav a { font-size: .75rem }

  /* Hero */
  .hero-content { padding: 3rem 2.5rem }
  .hero-title { font-size: clamp(2.5rem, 5vw, 4.5rem) }

  /* Grids */
  .category-grid { grid-template-columns: repeat(2, 1fr) }
  .product-grid  { grid-template-columns: repeat(3, 1fr) }
  .values-grid   { grid-template-columns: repeat(3, 1fr); gap: 2rem }
  .testi-grid    { grid-template-columns: repeat(2, 1fr) }

  /* About */
  .about-story   { gap: 3rem }
  .about-visual  { height: 420px }
  .about-stats   { grid-template-columns: repeat(2, 1fr) }
  .about-stats .about-stat:nth-child(2) { border-right: none }
  .about-stats .about-stat:nth-child(3) { border-top: 1px solid var(--border) }
  .about-team    { grid-template-columns: repeat(3, 1fr); gap: 1.75rem }

  /* Footer */
  .footer-top { grid-template-columns: 1fr 1fr; gap: 2.5rem }
  .footer-brand { grid-column: 1 / -1 }
  .footer-brand p { max-width: 100% }

  /* Ingredients */
  .ing-inner { gap: 3.5rem }
  .ing-visual { height: 440px }

  /* Contact */
  .contact-grid  { gap: 3rem }

  /* WooCommerce */
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important }
  .woocommerce div.product { gap: 2.5rem }

  /* Blog */
  .blog-grid-wrap { grid-template-columns: 1fr 280px; gap: 2.5rem }
  .blog-featured  { min-height: 360px }
  .blog-featured-body { padding: 2rem }
  .blog-featured-title { font-size: clamp(1.35rem, 2.5vw, 1.9rem) }

  /* Newsletter */
  .nl-inner { padding: 2.5rem; gap: 3rem }
}

/* ─────────────────────────────────────────────
   TABLET LANDSCAPE / SMALL LAPTOP  ≤ 960px
───────────────────────────────────────────── */
@media (max-width: 960px) {

  /* CSS custom property adjustments */
  :root { --pad: 1.75rem }

  /* Typography */
  h1 { font-size: clamp(2.25rem, 5vw, 4rem) }
  h2 { font-size: clamp(1.6rem, 3.5vw, 2.75rem) }
  .section { padding: 5rem 0 }
  .section-head { margin-bottom: 2.5rem }

  /* Header — switch to hamburger */
  .site-header-inner { grid-template-columns: auto 1fr auto; gap: .5rem }
  .main-nav          { display: none }
  .mobile-menu-toggle { display: flex }
  .logo-text { font-size: 1.5rem }

  /* Announcement bar */
  .announcement-bar { font-size: .65rem; letter-spacing: .1em; padding: .5rem 1rem }

  /* Hero — stack vertically */
  .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 72px }
  .hero-visual { order: -1; min-height: 55vw; max-height: 500px }
  .hero-content {
    padding: 2.5rem var(--pad);
    align-items: flex-start;
  }
  .hero-title { font-size: clamp(2.25rem, 5vw, 3.5rem); margin-bottom: 1.25rem }
  .hero-desc  { max-width: 100%; font-size: .95rem }
  .hero-badge { display: none }
  .hero-scroll { display: none }
  .hero-trust { gap: 1.25rem; margin-top: 2rem }
  .hero-trust-item .num { font-size: 1.25rem }

  /* Brand bar */
  .brand-bar-inner { gap: 2rem; flex-wrap: wrap }
  .brand-bar-logos { gap: 1.75rem }
  .brand-bar-logos span { font-size: .875rem }

  /* Grids */
  .category-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem }
  .product-grid  { grid-template-columns: repeat(2, 1fr); gap: 1.5rem }
  .values-grid   { grid-template-columns: repeat(2, 1fr); gap: 2rem }
  .testi-grid    { grid-template-columns: 1fr; gap: 1.5rem }

  /* Ingredients */
  .ing-inner  { grid-template-columns: 1fr; gap: 3rem }
  .ing-visual { height: auto; aspect-ratio: 4/3; position: relative }
  .ing-main, .ing-accent { position: relative; width: 100%; top: auto; right: auto; bottom: auto; left: auto }
  .ing-main  { margin-bottom: 1rem }
  .ing-accent { width: 60%; border: 3px solid var(--charcoal) }
  .ing-content > p { max-width: 100% }

  /* About */
  .about-story   { grid-template-columns: 1fr; gap: 2.5rem }
  .about-story.reverse { direction: ltr }
  .about-visual  { height: 320px }
  .about-visual-badge { width: 90px; height: 90px; bottom: -1rem; right: -1rem }
  .about-visual-badge .num { font-size: 1.75rem }
  .about-stats   { grid-template-columns: repeat(2, 1fr) }
  .about-stats .about-stat:nth-child(2) { border-right: none }
  .about-stats .about-stat:nth-child(3) { border-top: 1px solid var(--border) }
  .about-stat    { padding: 1.75rem 1.5rem }
  .about-stat .num { font-size: 2.25rem }
  .about-team    { grid-template-columns: repeat(2, 1fr); gap: 2rem }
  .about-timeline { padding-left: 2rem }

  /* Contact */
  .contact-grid  { grid-template-columns: 1fr; gap: 2.5rem }
  .contact-form-wrap { padding: 2rem }
  .contact-map-wrap  { margin-top: 3rem; height: 300px }
  .faq-grid      { grid-template-columns: 1fr }
  .cf-row        { grid-template-columns: 1fr }

  /* Reclamation */
  .reclamation-form-wrap { padding: 2rem }
  .rf-row                { grid-template-columns: 1fr }

  /* Newsletter */
  .nl-inner { grid-template-columns: 1fr; gap: 2rem; padding: 2rem }

  /* Footer */
  .footer-top { grid-template-columns: 1fr 1fr; gap: 2rem }
  .footer-brand { grid-column: 1 / -1 }

  /* WooCommerce */
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 1.5rem !important }
  .woocommerce div.product { grid-template-columns: 1fr; gap: 2rem }
  .woocommerce div.product .woocommerce-tabs { grid-column: auto }
  .related.products { grid-column: auto }

  /* Page hero */
  .page-hero { padding: 8rem 0 4rem }
  .page-hero h1 { font-size: clamp(2rem, 4.5vw, 3.25rem) }

  /* Blog */
  .blog-grid-wrap { grid-template-columns: 1fr }
  .blog-sidebar   {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
  .blog-widget--nl { grid-column: 1 / -1 }
  .blog-featured  { grid-template-columns: 1fr }
  .blog-featured-img { min-height: 300px; max-height: 400px }
  .blog-featured-body { padding: 1.75rem }
  .blog-grid      { grid-template-columns: repeat(2, 1fr) }
  .blog-card--wide { grid-column: auto }
  .blog-card--wide .blog-card-img { aspect-ratio: 16/9 }
  .blog-nl-strip-inner { grid-template-columns: 1fr; gap: 2rem }
  .blog-grid--3   { grid-template-columns: repeat(2, 1fr) }

  /* Single post */
  .single-author-row { flex-direction: column; align-items: flex-start; gap: 1.25rem }
  .single-share { flex-wrap: wrap; gap: .5rem }
  .single-prevnext { grid-template-columns: 1fr }
  .single-author-card { flex-direction: column; gap: 1.25rem }
  .single-author-avatar { width: 56px; height: 56px }
  .single-related .blog-grid--3 { grid-template-columns: repeat(2, 1fr) }
}

/* ─────────────────────────────────────────────
   TABLET PORTRAIT  ≤ 768px
───────────────────────────────────────────── */
@media (max-width: 768px) {

  /* Typography */
  h1 { font-size: clamp(2rem, 5.5vw, 3.25rem) }
  h2 { font-size: clamp(1.5rem, 4vw, 2.5rem) }
  .section { padding: 4.5rem 0 }

  /* Header */
  .site-header-inner { height: 64px }
  .logo-text { font-size: 1.4rem }

  /* Hero */
  .hero { padding-top: 64px }
  .hero-content { padding: 2rem var(--pad) 2.5rem }
  .hero-visual  { min-height: 60vw; max-height: 420px }
  .hero-title   { font-size: clamp(2rem, 6vw, 3rem) }
  .hero-actions { gap: .75rem }
  .hero-actions .btn { padding: .75rem 1.5rem; font-size: .7rem }
  .hero-trust   { gap: 1rem }
  .hero-trust-item .num  { font-size: 1.1rem }
  .hero-trust-item .desc { font-size: .6rem }
  .hero-trust-divider { height: 28px }

  /* Brand bar */
  .brand-bar { padding: 1.25rem 0 }
  .brand-bar-inner { gap: 1.25rem }
  .brand-bar-logos { gap: 1.25rem }
  .brand-bar-logos span { font-size: .8rem; opacity: .5 }

  /* Grids */
  .category-grid { gap: 1rem }
  .product-grid  { gap: 1.25rem }
  .category-card { padding: 1.75rem 1.25rem }
  .category-card .icon { font-size: 1.75rem }

  /* Product cards */
  .product-img-wrap { aspect-ratio: 3/4 }
  .product-hover { opacity: 1 } /* always visible on tablet */
  .product-hover-btn { width: 34px; height: 34px }

  /* Values */
  .values-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem }
  .value-icon  { width: 52px; height: 52px; font-size: 1.25rem }

  /* About */
  .about-visual  { height: 280px }
  .about-stat    { padding: 1.5rem 1rem }
  .about-stat .num { font-size: 2rem }
  .about-team    { grid-template-columns: 1fr; gap: 2rem }
  .about-pillars { gap: 1.25rem }
  .about-timeline { padding-left: 1.75rem }
  .timeline-item { padding: 0 0 2rem 1.5rem }

  /* Contact */
  .contact-form-wrap { padding: 1.5rem }
  .contact-form-head h2 { font-size: 1.75rem }
  .contact-hours td { padding: .35rem 0 }

  /* Reclamation */
  .reclamation-form-wrap { padding: 1.5rem }
  .reclamation-form-head h2 { font-size: 1.75rem }

  /* Ingredients */
  .ing-accent { width: 50% }

  /* Testimonials */
  .testi-card { padding: 1.5rem }

  /* Footer */
  .footer-top { grid-template-columns: 1fr; gap: 2rem }
  .footer-brand { grid-column: auto }
  .footer-socials { gap: .5rem }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: .75rem }
  .footer-pays { flex-wrap: wrap }

  /* Newsletter */
  .nl-content h2 { font-size: 1.75rem }
  .nl-row { flex-direction: column; background: transparent; border: none; gap: .5rem }
  .nl-row input {
    border: 1px solid var(--border);
    background: var(--cream);
    padding: .875rem 1.25rem;
    width: 100%;
  }
  .nl-row .btn { width: 100%; justify-content: center; border-radius: 0 }

  /* WooCommerce */
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 1.25rem !important }
  .woocommerce ul.products li.product img { height: 200px !important }
  .woo-page-title { font-size: clamp(1.75rem, 4vw, 2.5rem) }
  .woocommerce div.product form.cart { flex-direction: column; align-items: stretch }
  .woocommerce div.product form.cart .qty { width: 100%; text-align: left }
  .woocommerce div.product form.cart .button { min-width: unset }

  /* Page hero */
  .page-hero { padding: 7rem 0 3.5rem }
  .page-hero h1 { font-size: clamp(1.9rem, 5vw, 3rem) }
  .page-hero p  { font-size: .95rem }

  /* Blog */
  .blog-cats { padding: 1.5rem 0 2rem }
  .blog-cat-btn { padding: .4rem .875rem; font-size: .68rem }
  .blog-featured-img { min-height: 240px }
  .blog-featured-body { padding: 1.5rem }
  .blog-featured-title { font-size: 1.3rem }
  .blog-featured-foot { flex-direction: column; align-items: flex-start; gap: .75rem }
  .blog-sidebar { grid-template-columns: 1fr }
  .blog-grid    { grid-template-columns: 1fr; gap: 1.5rem }
  .blog-grid--3 { grid-template-columns: 1fr }
  .blog-nl-strip { padding: 3.5rem 0 }
  .blog-nl-form .nl-row { flex-direction: column; border: none; background: transparent }
  .blog-nl-form .nl-row input { border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fff; padding: .875rem 1.25rem; width: 100% }
  .blog-nl-form .nl-row .btn { width: 100%; justify-content: center }

  /* Single post */
  .single-hero { padding: 3rem 0 2rem }
  .single-title { font-size: clamp(1.75rem, 5vw, 2.75rem) }
  .single-excerpt { font-size: 1rem }
  .single-share-btn { font-size: .62rem; padding: .35rem .65rem }
  .single-body { padding: 2.5rem 0 }
  .single-related { padding: 3rem 0 }
  .single-related .blog-grid--3 { grid-template-columns: 1fr }
  .single-prevnext-title { font-size: .9rem }

  /* Cookie */
  .cookie-bar { flex-direction: column; gap: 1rem; padding: 1.25rem; text-align: center }
  .cookie-actions { justify-content: center }
}

/* ─────────────────────────────────────────────
   SMARTPHONE  ≤ 480px
───────────────────────────────────────────── */
@media (max-width: 480px) {

  /* CSS custom properties */
  :root { --pad: 1rem }

  /* Typography */
  h1 { font-size: clamp(1.75rem, 7vw, 2.75rem) }
  h2 { font-size: clamp(1.4rem, 5vw, 2.25rem) }
  h3 { font-size: clamp(1.1rem, 4vw, 1.5rem) }
  .section { padding: 3.5rem 0 }
  .section-head { margin-bottom: 2rem }
  .eyebrow { font-size: .65rem; letter-spacing: .22em }

  /* Header */
  .site-header-inner { height: 60px; padding: 0 var(--pad) }
  .logo-text { font-size: 1.3rem }
  .logo-sub  { display: none }
  .header-actions { gap: .5rem }
  .header-icon-btn svg { width: 17px; height: 17px }
  .announcement-bar { font-size: .6rem; letter-spacing: .08em; padding: .45rem var(--pad) }

  /* Hero */
  .hero { padding-top: 60px }
  .hero-visual  { min-height: 65vw; max-height: 340px }
  .hero-content { padding: 1.75rem var(--pad) 2.5rem }
  .hero-title   { font-size: clamp(1.75rem, 7vw, 2.5rem); margin-bottom: 1rem }
  .hero-desc    { font-size: .9rem; margin-bottom: 2rem }
  .hero-eyebrow { margin-bottom: 1.25rem }
  .hero-actions { flex-direction: column }
  .hero-actions .btn { width: 100%; justify-content: center }
  .hero-trust   { flex-wrap: wrap; gap: .875rem 1.5rem; justify-content: center }
  .hero-trust-divider { display: none }

  /* Brand bar */
  .brand-bar { overflow: hidden }
  .brand-bar-inner { gap: 1rem }
  .brand-bar-logos { gap: 1rem }
  .brand-bar-logos span { font-size: .75rem }

  /* Categories */
  .category-grid { grid-template-columns: 1fr; gap: .875rem }
  .category-card { padding: 1.5rem 1.25rem; display: flex; align-items: center; gap: 1rem; text-align: left }
  .category-card .icon { font-size: 1.75rem; margin-bottom: 0; flex-shrink: 0 }
  .category-card h3 { margin-bottom: .25rem }

  /* Products */
  .product-grid { grid-template-columns: repeat(2, 1fr); gap: .875rem }
  .product-body { padding: .875rem }
  .product-name { font-size: .875rem }
  .product-price { font-size: .95rem }
  .product-stars { font-size: .65rem }

  /* Ingredients */
  .ing-item { padding: .75rem 1rem }
  .ing-icon { font-size: 1.2rem }
  .ing-text strong { font-size: .82rem }
  .ing-accent { width: 100%; position: static; border: 2px solid var(--charcoal); margin-top: .75rem }
  .ing-list { gap: .5rem }

  /* Values */
  .values-grid { grid-template-columns: 1fr; gap: 1.75rem }

  /* Testimonials */
  .testi-grid { grid-template-columns: 1fr }
  .testi-card { padding: 1.25rem }

  /* About */
  .about-visual { height: 240px }
  .about-visual-badge { width: 75px; height: 75px; font-size: .5rem; bottom: -.75rem; right: -.75rem }
  .about-visual-badge .num { font-size: 1.4rem }
  .about-stats { grid-template-columns: 1fr 1fr }
  .about-stat  { padding: 1.25rem .875rem }
  .about-stat .num { font-size: 1.75rem }
  .about-team  { grid-template-columns: 1fr }
  .about-timeline { padding-left: 1.5rem }

  /* Contact */
  .contact-form-wrap { padding: 1.25rem }
  .contact-form-head h2 { font-size: 1.5rem }
  .contact-social-links { gap: .5rem }
  .contact-soc { padding: .4rem .75rem; font-size: .68rem }
  .faq-grid { grid-template-columns: 1fr }
  .faq-item { padding: 1.25rem }
  .contact-map-wrap { height: 240px }

  /* Reclamation */
  .reclamation-form-wrap { padding: 1.25rem }
  .reclamation-form-head h2 { font-size: 1.5rem }

  /* Newsletter */
  .nl-inner { padding: 1.5rem }
  .nl-content h2 { font-size: 1.5rem }

  /* Footer */
  .footer-top { gap: 1.75rem }
  #site-footer { padding: 3.5rem 0 1.5rem }
  .footer-bottom p { font-size: .7rem }
  .pay-icon { font-size: .58rem; padding: .25rem .45rem }

  /* WooCommerce */
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: .875rem !important }
  .woocommerce ul.products li.product img { height: 160px !important }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .875rem !important; padding: .75rem 1rem .2rem !important }
  .woocommerce ul.products li.product .price { font-size: .95rem !important; padding: 0 1rem .5rem !important }
  .woocommerce ul.products li.product .button { font-size: .6rem !important; margin: 0 1rem 1rem !important; width: calc(100% - 2rem) !important }
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span { width: 38px !important; height: 38px !important; font-size: .72rem !important }
  .woo-main > .container { padding-top: 1.5rem }
  .woo-breadcrumb { font-size: .7rem }

  /* Page hero */
  .page-hero { padding: 6.5rem 0 3rem }
  .page-hero h1 { font-size: clamp(1.75rem, 6.5vw, 2.5rem) }
  .page-hero p  { font-size: .9rem }

  /* Blog */
  .blog-cats { padding: 1.25rem 0 1.75rem; gap: .3rem }
  .blog-cat-btn { padding: .35rem .75rem; font-size: .65rem; letter-spacing: .08em }
  .blog-featured-img { min-height: 200px }
  .blog-featured-body { padding: 1.25rem }
  .blog-featured-title { font-size: 1.2rem }
  .blog-grid    { grid-template-columns: 1fr; gap: 1.25rem }
  .blog-grid--3 { grid-template-columns: 1fr }
  .blog-card-body { padding: 1.1rem }
  .blog-card-title { font-size: 1rem }
  .blog-sidebar { grid-template-columns: 1fr }
  .blog-widget  { padding: 1.25rem }
  .blog-empty   { padding: 4rem var(--pad) }
  .blog-nl-strip { padding: 3rem 0 }
  .blog-nl-strip-inner { gap: 1.5rem }

  /* Single post */
  .single-main  { padding-top: 60px }
  .single-hero  { padding: 2.5rem 0 1.75rem }
  .single-title { font-size: clamp(1.6rem, 6.5vw, 2.25rem) }
  .single-meta  { gap: .4rem }
  .single-excerpt { font-size: .925rem; margin-bottom: 1.5rem }
  .single-cover-img img { max-height: 300px }
  .single-body  { padding: 2rem 0 }
  .single-toc   { padding: 1.25rem }
  .single-content { font-size: 1rem; line-height: 1.8 }
  .single-content h2 { font-size: 1.4rem }
  .single-content h3 { font-size: 1.1rem }
  .single-content blockquote { padding: 1rem 1.25rem; font-size: 1.05rem }
  .single-author-card { padding: 1.25rem }
  .single-author-avatar { width: 48px; height: 48px }
  .single-author-name { font-size: 1.1rem }
  .single-share { display: none } /* Too small to show share buttons on small phones */
  .single-prevnext { margin-top: 2rem; padding-top: 2rem }

  /* Cookie bar */
  .cookie-bar { bottom: 0; border-radius: var(--r-md) var(--r-md) 0 0; width: 100%; left: 0; transform: none; padding: 1rem }
  .cookie-bar p { font-size: .78rem }
}

/* ─────────────────────────────────────────────
   VERY SMALL PHONES  ≤ 360px
───────────────────────────────────────────── */
@media (max-width: 360px) {
  :root { --pad: .875rem }
  .hero-title { font-size: 1.65rem }
  .product-grid { grid-template-columns: 1fr }
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: 1fr !important }
  .about-stats { grid-template-columns: 1fr }
  .about-stat { border-right: none !important; border-top: 1px solid var(--border) }
  .about-stat:first-child { border-top: none }
  .blog-cat-btn { padding: .3rem .6rem; font-size: .6rem }
}

/* ─────────────────────────────────────────────
   PRINT
───────────────────────────────────────────── */
@media print {
  #site-header, .announcement-bar, .cookie-bar,
  .search-overlay, .mobile-nav, .hero-scroll,
  .blog-sidebar, .single-share, .single-author-card,
  .single-prevnext, .single-related, .blog-nl-strip,
  .nl-inner, #site-footer .footer-col,
  .contact-map-wrap, .faq-grid { display: none !important }

  body { background: white; color: black; font-size: 12pt }
  .container { max-width: 100%; padding: 0 }
  .section { padding: 1.5rem 0 }
  h1,h2,h3 { color: black }
  a { color: black }
  .entry-content a { color: black; text-decoration: underline }
  .single-content { font-size: 11pt; line-height: 1.7 }
  .hero { min-height: auto; grid-template-columns: 1fr }
  .hero-visual { display: none }
  .woocommerce ul.products { grid-template-columns: repeat(3,1fr) !important }
  img { max-width: 500px }
}

/* ─────────────────────────────────────────────
   REDUCED MOTION (accessibility)
───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .hero-title,
  .hero-desc,
  .hero-actions,
  .hero-trust,
  .hero-eyebrow,
  .hero-img-wrap img,
  .hero-badge,
  .hero-scroll-line,
  .reveal { opacity: 1; transform: none; animation: none; transition: none }
}

/* ─────────────────────────────────────────────
   HIGH CONTRAST / FORCED COLORS (accessibility)
───────────────────────────────────────────── */
@media (forced-colors: active) {
  .btn-primary, .btn-gold { forced-color-adjust: none }
  .hero-badge, .blog-featured-badge, .product-badge { border: 1px solid ButtonText }
  .blog-cat-btn.active, .blog-pagination ul li .current { forced-color-adjust: none }
}
