/* ─────────────────────────────────────────────
   BJ Harvest Aquaculture — main.css
   Compiled from static prototype
───────────────────────────────────────────── */

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:inherit;border:none;text-transform:capitalize}
a.btn,a[class*="btn-"],[class*="btn-"]{text-transform:capitalize}

/* ── Tokens ── */
:root{
  --g:       #2D9148;
  --g2:      #238039;
  --g-light: #f0f9f3;
  --g-mid:   #2D9148;
  --g-deep:  #1a4a24;
  --g-dk:    #1a4a24;
  --y:       #F5B82E;
  --y-dark:  #0D1F0F;
  --dk:      #0f1f12;
  --dk2:     #122016;
  --white:   #FFFFFF;
  --off:     #f4f7f5;
  --bg:      #f4f7f5;
  --card:    #fff;
  --muted:   #6b7c70;
  --border:  #e4ece6;
  --red:     #dc2626;
  --blue:    #3B82F6;
  --font-display:'Syne',sans-serif;
  --font-body:'Inter',sans-serif;
  --r-sm:10px; --r-md:14px; --r-lg:20px; --r-xl:28px;
  --radius:14px;
  --shadow:0 2px 12px rgba(0,0,0,0.07);
  --max:1200px;
}

body{font-family:var(--font-body);font-size:15px;color:#1A2E1C;background:var(--off);line-height:1.6}

/* ── Utilities ── */
.container{max-width:var(--max);margin:0 auto;padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
/* .tag base — defined in shop section below, no duplicate here */
.pulse{animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.6}}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:24px;font-size:13px;font-weight:500;border:none;transition:all .15s;cursor:pointer;text-decoration:none}
.btn-lg{padding:14px 32px;font-size:14px;border-radius:30px;font-weight:700}
.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--muted)}
.btn-ghost:hover{border-color:var(--g);color:var(--g)}
.btn-green{background:var(--g);color:#fff}
.btn-green:hover{background:var(--g-mid)}
.btn-yellow{background:var(--y);color:var(--y-dark);font-weight:600}
.btn-yellow:hover{filter:brightness(.96)}
.btn-outline-white{background:transparent;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.8);font-size:13px;padding:10px 18px}
.btn-outline-white:hover{background:rgba(255,255,255,.07)}

/* ── Nav — matches static shop.html exactly ── */
.nav{position:sticky;top:0;z-index:200;background:rgba(10,26,12,0.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,0.06)}
.nav-inner{height:64px;display:flex;align-items:center;gap:16px}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none}
.logo-box{width:40px;height:52px;background:transparent;border-radius:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.logo-box img{width:100%;height:100%;object-fit:contain;display:block}
.logo-name{display:flex;flex-direction:column;gap:1px}
.logo-name-main{font-family:var(--font-display);font-size:15px;color:#fff;font-weight:800;letter-spacing:-.3px;line-height:1}
.logo-name-main span{color:var(--y)}
.logo-name-sub{font-family:var(--font-display);font-size:10px;color:rgba(255,255,255,0.45);font-weight:700;letter-spacing:3.8px;text-transform:uppercase;line-height:1}
/* ── Primary nav (dynamic wp_nav_menu output) ── */
.nav-links{display:flex;align-items:center;gap:4px;margin-left:8px}
/* strip WP's default <ul> */
.nav-links ul.nav-links-inner{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}
.nav-links ul.nav-links-inner li{display:contents} /* flatten li so only <a> shows */
.nav-links a{font-size:13px;color:rgba(255,255,255,0.7);padding:6px 12px;border-radius:8px;text-decoration:none;font-weight:500;transition:color .15s,background .15s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:#fff;background:rgba(255,255,255,0.08)}
/* items with children */
.nav-item-wrap{position:relative;display:inline-flex;align-items:center}
.nav-item-wrap > a{display:inline-flex;align-items:center;gap:4px}
.nav-dropdown{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:180px;background:#122016;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.nav-dropdown a{display:block;padding:8px 12px;border-radius:6px;font-size:13px;color:rgba(255,255,255,.7);white-space:nowrap}
.nav-dropdown a:hover,.nav-dropdown a.active{color:#fff;background:rgba(255,255,255,.08)}
.nav-item-wrap:hover .nav-dropdown{display:block}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}
/* LIVE badge */
.nav-live{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.8px;color:#ff6b6b;background:rgba(255,60,60,0.12);border:1px solid rgba(255,60,60,0.22);border-radius:100px;padding:4px 10px 4px 7px;text-decoration:none;cursor:pointer}
.nav-live:hover{background:rgba(255,60,60,0.2);border-color:rgba(255,60,60,0.4);color:#ff4444}
.nav-live span{width:7px;height:7px;background:#ff4444;border-radius:50%;display:inline-block}
.pulse .nav-live span,.pulse span{animation:nav-pulse 1.4s ease-in-out infinite}
@keyframes nav-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}
/* Nav buttons */
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:100px;font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:all .18s;text-decoration:none;white-space:nowrap}
.btn-ghost{border-color:rgba(255,255,255,0.2);color:rgba(255,255,255,0.85);background:transparent}
.btn-ghost:hover{border-color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.06)}
.btn-yellow{background:var(--y);color:var(--y-dark);border-color:var(--y)}
.btn-yellow:hover{background:#e8a820;border-color:#e8a820}
.btn-green{background:var(--g);color:#fff;border-color:var(--g)}
.btn-green:hover{background:var(--g2)}
.btn-cart{background:var(--g);color:#fff;border-color:var(--g);position:relative}
.btn-cart:hover{background:var(--g2);border-color:var(--g2)}
.btn-lg{padding:14px 32px;font-size:14px;font-weight:700}
.btn-outline-white{background:transparent;border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.8)}
.btn-outline-white:hover{background:rgba(255,255,255,.07)}
/* Cart badge on button */
.cart-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;background:var(--y);color:var(--y-dark);border-radius:50%;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 3px}
.cart-btn-wrap{position:relative}
/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:6px}
.hamburger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:all .2s}
/* Mobile menu */
.mobile-menu{display:none;flex-direction:column;gap:2px;padding:12px 16px 16px;background:rgba(10,26,12,0.98);border-top:1px solid rgba(255,255,255,0.07)}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:15px;color:rgba(255,255,255,0.8);padding:10px 12px;border-radius:10px;text-decoration:none;font-weight:500}
.mobile-menu a:hover{color:#fff;background:rgba(255,255,255,0.07)}
.mobile-menu-btns{display:flex;gap:8px;margin-top:8px;padding:0 4px}
.mobile-menu-btns .btn{flex:1;justify-content:center}

/* ── Mini-cart dropdown (not drawer) ── */
.mini-cart{position:absolute;top:calc(100% + 12px);right:0;width:320px;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.22);border:1px solid var(--border);z-index:500;display:none;flex-direction:column;overflow:hidden;animation:mcFade .18s ease}
.mini-cart.open{display:flex}
@keyframes mcFade{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.mc-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid #e8f0ea}
.mc-header-title{font-size:14px;font-weight:700;color:var(--dk)}
.mc-close{width:28px;height:28px;border:none;background:#f0f5f1;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#555}
.mc-close:hover{background:#e0ece3}
.mc-items{max-height:260px;overflow-y:auto;padding:8px}
.mc-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;transition:background .1s}
.mc-item:hover{background:#f6faf7}
.mc-item-thumb{width:44px;height:44px;border-radius:8px;background:#e8f4ec;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;overflow:hidden;position:relative}
.mc-item-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.mc-item-info{flex:1;min-width:0}
.mc-item-name{font-size:13px;font-weight:600;color:var(--dk);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-item-meta{font-size:11px;color:var(--muted);margin-top:1px}
.mc-item-price{font-size:13px;font-weight:700;color:var(--g);flex-shrink:0}
.mc-remove{width:20px;height:20px;border:none;background:transparent;color:#aaa;cursor:pointer;font-size:15px;line-height:1;padding:0;font-family:inherit;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .1s,color .1s;flex-shrink:0}
.mc-remove:hover{background:#fde8e8;color:#dc2626}
.mc-empty{padding:28px 16px;text-align:center}
.mc-empty-icon{font-size:32px;margin-bottom:8px}
.mc-empty p{font-size:13px;color:var(--muted)}
.mc-footer{border-top:1px solid #e8f0ea;padding:12px 16px}
.mc-total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.mc-total-label{font-size:13px;font-weight:600;color:var(--dk)}
.mc-total-amount{font-size:16px;font-weight:800;color:var(--g)}
.mc-btns{display:flex;gap:8px}
.mc-btn{flex:1;padding:9px;border-radius:8px;text-align:center;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s}
.mc-btn-outline{border:1.5px solid var(--border);color:var(--dk);background:#fff}
.mc-btn-outline:hover{border-color:var(--g);color:var(--g)}
.mc-btn-primary{background:var(--g);color:#fff;border:1.5px solid var(--g)}
.mc-btn-primary:hover{background:var(--g2);border-color:var(--g2)}

/* ── Section ── */
.section{padding:56px 0}
.section-sm{padding:36px 0}
.section-head{margin-bottom:32px}
.section-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.section-eyebrow{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--g);margin-bottom:8px}
.section-title{font-family:var(--font-display);font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--dk);letter-spacing:-.5px}
.section-sub{font-size:14px;color:var(--muted);margin-top:6px}

/* ── Hero ── */
.hero-section{background:var(--dk);position:relative;overflow:hidden}
.hero-section::before{content:'SEAFOOD';position:absolute;bottom:-40px;left:50%;transform:translateX(-50%);font-family:var(--font-display);font-size:160px;font-weight:800;color:rgba(255,255,255,.025);white-space:nowrap;pointer-events:none;letter-spacing:-4px}
.hero-inner{display:grid;grid-template-columns:1fr 420px;column-gap:48px;row-gap:0;align-items:start;padding-top:64px;padding-bottom:64px}
/* Desktop: text + buttons stacked in col 1, price panel spans both rows in col 2 */
.hero-text{grid-column:1;grid-row:1;margin-bottom:24px}
.hero-btns{grid-column:1;grid-row:2}
.price-panel{grid-column:2;grid-row:1/3;align-self:center}
.hero-eyebrow{display:inline-flex;align-items:center;gap:7px;background:rgba(245,200,66,.12);border:1px solid rgba(245,200,66,.3);border-radius:20px;padding:6px 14px;font-size:12px;color:var(--y);margin-bottom:20px}
.eyebrow-dot{width:7px;height:7px;background:var(--y);border-radius:50%;display:inline-block}
.hero-title{font-family:var(--font-display);font-size:clamp(36px,5vw,58px);font-weight:800;color:#fff;line-height:1.08;letter-spacing:-1.5px;margin-bottom:18px}
.hero-accent{color:var(--y)}
.hero-sub{font-size:15px;color:rgba(255,255,255,.72);line-height:1.75;margin-bottom:28px;max-width:460px}
.hero-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.hero-ctas .btn{font-size:14px;padding:12px 24px}
.hero-meta{display:flex;gap:20px;flex-wrap:wrap}
.hero-meta-item{display:flex;align-items:center;gap:7px;font-size:12px;color:rgba(255,255,255,.45)}
.hero-meta-item svg{color:var(--y);opacity:.8;flex-shrink:0}
/* Price panel */
.price-panel{background:rgb(11 25 13 / 42%);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-xl);padding:22px;display:flex;flex-direction:column;gap:12px}
.price-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.price-panel-title{font-size:12px;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.5px}
.price-panel-badge{font-size:10px;background:rgba(245,200,66,.15);border:1px solid rgba(245,200,66,.25);color:var(--y);padding:3px 9px;border-radius:20px}
.price-rows-wrap{border-radius:var(--r-md);overflow:hidden}
/* Track holds original + duplicate rows for seamless loop */
.price-rows-track{display:flex;flex-direction:column}
.price-rows-animate{animation:priceScrollUp linear infinite}
.price-rows-animate:hover{animation-play-state:paused}
@keyframes priceScrollUp{
  0%{transform:translateY(0)}
  100%{transform:translateY(-50%)}
}
.price-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}
.price-row:last-of-type{border-bottom:1px solid rgba(255,255,255,.07)}
/* ── ACF image icon — base ── */
.acf-icon{display:inline-block;width:32px;height:32px;object-fit:cover;border-radius:6px;vertical-align:middle;flex-shrink:0}
/* context overrides */
.price-icon{width:28px;height:28px;border-radius:50%}
.trust-icon-img{width:40px;height:40px;border-radius:8px}
.chip-icon-img{width:28px;height:28px;border-radius:50%;object-fit:cover}
.benefit-icon-img{width:44px;height:44px;border-radius:10px}
.prod-icon-img{width:32px;height:32px;border-radius:50%}
.aud-icon-img{width:28px;height:28px;border-radius:6px}
.trust-chip-img{width:20px;height:20px;border-radius:4px}
.hl-icon-img{width:44px;height:44px;border-radius:10px}
.pkg-icon-img{width:40px;height:40px;border-radius:8px}
.loc-icon-img{width:22px;height:22px;border-radius:4px}
/* ── end ACF icon ── */
.price-name{display:flex;align-items:center;gap:8px}
.price-emoji{font-size:20px;display:flex;align-items:center}
.price-label{font-size:13px;color:#fff;font-weight:500}
.price-unit{font-size:11px;color:rgba(255,255,255,.4);margin-top:1px}
.price-value{text-align:right}
.price-amount{font-size:15px;font-weight:600;color:var(--y)}
.price-range{font-size:10px;color:rgba(255,255,255,.35);margin-top:1px}
.season-pill{background:rgba(245,200,66,.08);border:1px solid rgba(245,200,66,.2);border-radius:var(--r-md);padding:12px 14px;display:flex;align-items:center;gap:10px}
.season-pill-icon{font-size:22px}
.season-pill-text{font-size:12px}
.season-pill-title{color:var(--y);font-weight:500;margin-bottom:2px}
.season-pill-sub{color:rgba(255,255,255,.4);line-height:1.4}

/* ── Ticker ── */
/* ── LIVE VIDEO SECTION ─────────────────────────────── */
.live-section{background:#fff;padding:60px 0 48px;border-bottom:1px solid var(--border)}.live-section .container{max-width:1160px}
.live-header{text-align:center;margin-bottom:32px}
.live-badge-pill{display:inline-flex;align-items:center;gap:8px;background:#e8202f;color:#fff;font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;padding:5px 14px 5px 10px;border-radius:100px;margin-bottom:16px}
.live-dot{width:8px;height:8px;background:#fff;border-radius:50%;flex-shrink:0;animation:live-pulse 1.2s ease-in-out infinite}
@keyframes live-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.6)}}
.live-title{font-family:var(--font-display);font-size:clamp(24px,3.5vw,38px);font-weight:800;color:var(--dk);letter-spacing:-0.5px;margin-bottom:10px;}
.live-desc{font-size:15px;color:var(--muted);max-width:540px;margin:0 auto}
.live-embed-wrap{position:relative;width:100%;max-width:1100px;margin:0 auto 28px;border-radius:16px;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.55);background:#000}
.live-embed-wrap::before{content:'';display:block;padding-top:56.25%}
.live-embed-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:none;display:block}
/* YouTube click-to-play poster */
.live-yt-poster{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#111;cursor:pointer;display:flex;align-items:center;justify-content:center}
.live-yt-play{transition:transform .2s}
.live-yt-poster:hover .live-yt-play{transform:scale(1.1)}
.live-cta-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.live-watch-btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;padding:12px 24px;border-radius:100px;text-decoration:none;transition:all .18s;background:var(--g);color:#fff;border:2px solid var(--g)}
.live-watch-btn:hover{filter:brightness(.9);transform:translateY(-1px)}
/* ── Platform brand colours ── */
.live-watch-btn--facebook{background:#1877F2;border-color:#1877F2;color:#fff}
.live-watch-btn--facebook:hover{background:#0e65d9;border-color:#0e65d9}
.live-watch-btn--youtube{background:#FF0000;border-color:#FF0000;color:#fff}
.live-watch-btn--youtube:hover{background:#cc0000;border-color:#cc0000}
.live-watch-btn--shopee{background:#EE4D2D;border-color:#EE4D2D;color:#fff}
.live-watch-btn--shopee:hover{background:#d43d1f;border-color:#d43d1f}
.live-watch-btn--tiktok{background:#010101;border-color:#010101;color:#fff}
.live-watch-btn--tiktok:hover{background:#ff0050;border-color:#ff0050}
/* Ghost (second CTA button) — falls back to brand colour of its platform */
.live-watch-btn--ghost{opacity:.92}
.live-watch-btn--ghost:hover{opacity:1;filter:brightness(.93);transform:translateY(-1px)}
.live-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:860px;margin:0 auto 28px;min-height:200px;border:2px dashed rgba(255,255,255,.12);border-radius:16px;text-align:center;padding:40px 24px}
/* ── END LIVE VIDEO SECTION ─────────────────────────────── */
.ticker-strip{background:var(--y);overflow:hidden;padding:10px 0}
.ticker-track{display:flex;white-space:nowrap;animation:ticker 32s linear infinite}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ticker-item{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--y-dark);padding:0 28px;flex-shrink:0}
.ticker-dot{width:4px;height:4px;border-radius:50%;background:rgba(0,0,0,.3)}

/* ── Category tabs (homepage) ── */
.cat-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}

/* ── Product grid — matches static shop.html ── */
ul.products{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:0;margin:0}
ul.products.list-view{grid-template-columns:1fr}
li.product{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column;list-style:none;position:relative}
li.product:hover{box-shadow:0 8px 32px rgba(45,145,72,.12);transform:translateY(-3px)}
/* list view */
ul.products.list-view li.product{flex-direction:row;height:130px}
ul.products.list-view .prod-img-wrap{width:140px;flex-shrink:0;border-radius:0}
ul.products.list-view .prod-body{flex:1;display:flex;align-items:center;gap:16px;padding:16px 20px}
ul.products.list-view .prod-footer{flex-direction:column;align-items:flex-end;padding:16px 16px 16px 0;min-width:140px;border-top:none}
/* image */
.prod-img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e8f4ec}
.prod-img-emoji{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:52px;z-index:1}
.prod-img-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;transition:transform .4s ease}
li.product:hover .prod-img-wrap img{transform:scale(1.05)}
/* tags */
.prod-tags{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:5px;z-index:3}
/* Base tag — all badges share this */
.tag{
  display:inline-flex;align-items:center;gap:5px;
  font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  padding:4px 10px;border-radius:100px;white-space:nowrap;line-height:1;
  width: fit-content;
}
/* LIVE — red with pulsing dot */
.tag-live{background:#e8202f;color:#fff}
.tag-live::before{
  content:'';width:6px;height:6px;background:#fff;border-radius:50%;
  display:inline-block;flex-shrink:0;
  animation:tag-live-pulse 1.4s ease-in-out infinite;
}
@keyframes tag-live-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.65)}}
/* FRESH — green */
.tag-fresh{background:#1e7c45;color:#fff}
/* FROZEN — blue */
.tag-frozen{background:#2563eb;color:#fff}
/* READY to cook — amber */
.tag-ready{background:#d97706;color:#fff}
/* On Sale — yellow */
.tag-special{background:var(--y);color:#78350f}
.tag-special::before{content:'%';font-size:9px;font-weight:800;opacity:.75}
/* Origin (Singapore / Malaysia etc.) — dark pill with location pin */
.tag-origin{background:rgba(15,31,18,.72);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.tag-origin::before{
  content:'';
  display:inline-block;flex-shrink:0;
  width:7px;height:9px;
  background:currentColor;
  clip-path:polygon(50% 100%, 0% 35%, 18% 0%, 82% 0%, 100% 35%);
  opacity:.75;
}
/* Unit tag */
.tag-unit{background:rgba(15,31,18,.55);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
/* wishlist */
.prod-wishlist{position:absolute;top:10px;right:10px;z-index:3;width:30px;height:30px;background:rgba(255,255,255,.88);border:none;border-radius:50%;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:all .15s;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.prod-wishlist:hover{background:#fff;transform:scale(1.15)}
.prod-wishlist.active{color:#ef4444}
/* oos overlay */
.prod-oos-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:4}
.prod-oos-overlay span{background:#fff;color:var(--dk);font-size:12px;font-weight:700;padding:6px 14px;border-radius:20px}
/* product body */
.prod-body{padding:14px 14px 0}
.prod-category{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.woocommerce-loop-product__title{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--dk);margin-bottom:4px;line-height:1.25}
.woocommerce-loop-product__title a{color:inherit;text-decoration:none}
.woocommerce-loop-product__title a:hover{color:var(--g)}
.prod-unit{font-size:11px;color:var(--muted);margin-bottom:0}
/* product footer */
.prod-footer{padding:12px 14px 14px;display:flex;align-items:center;justify-content:space-between;margin-top:auto;border-top:1px solid var(--border);gap:8px}
.prod-price,.price{font-size:17px;color:var(--dk)}
.woocommerce-Price-amount{font-family:var(--font-display);font-size:17px;font-weight:800;color:var(--g)}
/* add to cart button */
.add_to_cart_button{display:inline-flex;align-items:center;gap:5px;background:var(--g);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-family:var(--font-body);font-size:12px;font-weight:700;cursor:pointer;transition:all .18s;text-decoration:none;white-space:nowrap}
.add_to_cart_button:hover{background:var(--g2);transform:translateY(-1px)}
.add_to_cart_button.added{background:var(--y);color:var(--y-dark)}
.add_to_cart_button.loading{opacity:.6;pointer-events:none}
/* prod-card-link covers whole card */
.prod-card-link{position:absolute;inset:0;z-index:1}

/* ── Trust section (homepage strip) ── */
.trust-section{background:var(--dk);padding:40px 0}
.trust-inner{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.trust-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.trust-item .trust-icon{font-size:28px}
.trust-item .trust-label{font-size:13px;font-weight:600;color:#fff}
.trust-item .trust-desc{font-size:12px;color:rgba(255,255,255,.45);line-height:1.5}

/* ── B2B Steps section ── */
.b2b-steps-section{background:var(--dk);padding:72px 0;position:relative;overflow:hidden}
.b2b-steps-glow{position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:800px;height:600px;background:radial-gradient(circle,rgba(27,107,47,.3),transparent 70%);pointer-events:none}
.b2b-steps-head{text-align:center;margin-bottom:48px}
.b2b-eyebrow{color:var(--y)}
.b2b-steps-title{font-family:var(--font-display);font-size:clamp(26px,3.5vw,40px);font-weight:800;color:#fff;letter-spacing:-.5px;margin-bottom:12px}
.b2b-steps-sub{font-size:15px;color:rgba(255,255,255,.5);line-height:1.7;max-width:580px;margin:0 auto}
.b2b-steps-grid{display:flex;align-items:flex-start;justify-content:center;gap:0;margin-bottom:40px}
.b2b-step-card{flex:1;max-width:280px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-xl);padding:28px 24px;text-align:center}
.b2b-step-arrow{font-size:22px;color:rgba(255,255,255,.2);padding:0 16px;padding-top:48px;flex-shrink:0}
.b2b-step-num{font-family:var(--font-display);font-size:12px;font-weight:700;color:rgba(245,200,66,.6);letter-spacing:1px;text-transform:uppercase;margin-bottom:12px}
.b2b-step-icon{font-size:36px;margin-bottom:14px}
.b2b-step-title{font-family:var(--font-display);font-size:16px;font-weight:800;color:#fff;margin-bottom:8px}
.b2b-step-desc{font-size:13px;color:rgba(255,255,255,.5);line-height:1.65}
.b2b-steps-ctas{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:40px}
.b2b-login-btn{color:rgba(255,255,255,.7) !important;border-color:rgba(255,255,255,.2) !important}
.b2b-login-btn:hover{border-color:rgba(255,255,255,.5) !important;color:#fff !important}
.b2b-stats-row{display:flex;justify-content:center;gap:48px;flex-wrap:wrap;padding-top:32px;border-top:1px solid rgba(255,255,255,.08)}
.b2b-stat{display:flex;flex-direction:column;align-items:center;gap:4px}
.b2b-stat-num{font-family:var(--font-display);font-size:28px;font-weight:800;color:var(--y)}
.b2b-stat-label{font-size:12px;color:rgba(255,255,255,.4)}

/* ── Category cards ── */
.cat-section{background:var(--off)}
.cat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cat-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;transition:all .18s;text-decoration:none}
.cat-card:hover{border-color:var(--g);box-shadow:0 4px 16px rgba(27,107,47,.12);transform:translateY(-2px)}
.cat-card-icon{font-size:32px;flex-shrink:0}
.cat-card-name{font-size:15px;font-weight:700;color:var(--dk);margin-bottom:3px}
.cat-card-desc{font-size:12px;color:var(--muted);line-height:1.5}
.cat-card-count{font-size:11px;color:var(--g);font-weight:600;margin-top:4px}
.cat-card-arrow{color:var(--muted);margin-left:auto;flex-shrink:0;transition:transform .15s}
.cat-card:hover .cat-card-arrow{transform:translateX(3px);color:var(--g)}

/* ── How it works ── */
.how-section{background:#fff}
.how-steps{display:flex;align-items:flex-start;gap:0;justify-content:center}
.how-step{flex:1;max-width:300px;text-align:center;padding:0 24px}
.how-step .how-num{width:48px;height:48px;border-radius:50%;background:var(--g-light);color:var(--g);font-family:var(--font-display);font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.how-step .how-icon{font-size:32px;margin-bottom:12px}
.how-step h3{font-family:var(--font-display);font-size:16px;font-weight:800;color:var(--dk);margin-bottom:8px}
.how-step p{font-size:13px;color:var(--muted);line-height:1.65}
.how-arrow{font-size:22px;color:var(--border);padding:0 8px;padding-top:20px;flex-shrink:0}

/* ── Shop page — matches static shop.html exactly ── */
.shop-hero{background:linear-gradient(135deg,#071409 0%,#122b18 50%,#0b1f0f 100%);padding:52px 0 0;position:relative;overflow:hidden}
.shop-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 100% at 90% 50%,rgba(45,145,72,.22) 0%,transparent 65%)}
.shop-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;align-items:end;gap:32px}
.shop-hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--y);margin-bottom:10px}
.shop-hero h1{font-family:var(--font-display);font-size:clamp(28px,3.8vw,44px);font-weight:800;color:#fff;letter-spacing:-1.2px;line-height:1.1;margin-bottom:12px}
.shop-hero h1 span{color:var(--y)}
.shop-hero p{font-size:14px;color:rgba(255,255,255,.55);margin-bottom:28px;max-width:480px}
.search-bar{display:flex;gap:0;max-width:480px;background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden;transition:border-color .2s}
.search-bar:focus-within{border-color:var(--g)}
.search-bar input{flex:1;background:transparent;border:none;outline:none;padding:12px 16px;font-family:var(--font-body);font-size:14px;color:#fff}
.search-bar input::placeholder{color:rgba(255,255,255,.35)}
.search-bar button{background:var(--g);border:none;padding:0 18px;cursor:pointer;color:#fff;transition:background .15s;display:flex;align-items:center}
.search-bar button:hover{background:var(--g2)}
.shop-hero-cats{display:flex;flex-direction:column;gap:10px;padding-bottom:28px}
.hero-cat-chip{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 16px;text-decoration:none;transition:all .18s;min-width:190px}
.hero-cat-chip:hover,.hero-cat-chip.active{background:rgba(45,145,72,.2);border-color:rgba(45,145,72,.4)}
.hero-cat-chip-icon{font-size:22px}
.hero-cat-chip-name{font-size:13px;font-weight:700;color:#fff}
.hero-cat-chip-count{font-size:11px;color:rgba(255,255,255,.45);margin-top:1px}
.shop-hero-wave{display:block;width:100%;margin-bottom:-2px;margin-top:36px}
/* filter bar */
.filter-bar{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:64px;z-index:100}
.filter-bar-inner{display:flex;align-items:center;gap:0;overflow-x:auto;scrollbar-width:none}
.filter-bar-inner::-webkit-scrollbar{display:none}
.filter-bar .cat-tab{border: none; border-radius: 0px; border-bottom: 2px solid transparent; height: 50px;}
/* .cat-tab{display:inline-flex;align-items:center;gap:7px;padding:0 20px;height:50px;font-size:13px;font-weight:600;color:var(--muted);border:none;background:transparent;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s;flex-shrink:0;text-decoration:none} */
.cat-tab:hover{color:var(--dk)}
.cat-tab.active{color:var(--g);border-bottom-color:var(--g)}
.filter-bar .cat-tab.active{
      color: var(--g);
    border-bottom-color: var(--g);
    background: #FFFFFF;
}
.cat-tab-count{font-size:11px;background:var(--g-light);color:var(--g);border-radius:100px;padding:2px 7px;font-weight:700}
.cat-tab.active .cat-tab-count{background:var(--g);color:#fff}
.filter-divider{width:1px;height:24px;background:var(--border);flex-shrink:0;margin:0 4px}
/* sort bar */
.sort-bar{background:var(--bg);padding:14px 0;border-bottom:1px solid var(--border)}
.sort-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.results-count{font-size:13px;color:var(--muted)}
.results-count strong,.results-count p{display:inline;font-size:13px;color:var(--dk);font-weight:700}
.sort-controls{display:flex;align-items:center;gap:10px}
.sort-label{font-size:13px;color:var(--muted);white-space:nowrap}
.woocommerce-ordering select,.sort-select{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--dk);background:#fff;border:1.5px solid var(--border);border-radius:8px;padding:7px 30px 7px 12px;cursor:pointer;outline:none;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='%236b7c70' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color .15s}
.woocommerce-ordering select:focus,.sort-select:focus{border-color:var(--g)}
.view-toggle{display:flex;gap:4px}
.view-btn{width:32px;height:32px;border:1.5px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .15s}
.view-btn.active,.view-btn:hover{border-color:var(--g);color:var(--g);background:var(--g-light)}
/* shop main */
.shop-main{padding:28px 0 64px}
.sidebar{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;position:sticky;top:126px}
.sidebar-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.sidebar-section:last-child{margin:0;padding:0;border:none}
.sidebar-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--dk);margin-bottom:12px}
.price-range-row{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:6px}
.sidebar-cats label,.sidebar-tags label{display:flex;align-items:center;gap:8px;font-size:13px;color:#444;padding:5px 0;cursor:pointer}
.sidebar-cats input,.sidebar-tags input{accent-color:var(--g)}

/* ── Product single ── */
.product-breadcrumb{padding:14px 0;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted)}
.product-breadcrumb a{color:var(--muted);transition:color .12s}
.product-breadcrumb a:hover{color:var(--g)}
.product-breadcrumb span{margin:0 6px;opacity:.5}
.product-layout{display:grid;grid-template-columns:1fr 480px;gap:48px;padding:36px 0 60px;align-items:start}
.product-gallery{position:sticky;top:88px}
.gallery-main{aspect-ratio:1;background:linear-gradient(135deg,#0f2012,#071a0a);border-radius:var(--r-xl);overflow:hidden;position:relative;margin-bottom:12px;display:flex;align-items:center;justify-content:center}
.gallery-main img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:2;transition:opacity .3s}
.gallery-placeholder{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.gallery-placeholder-icon{font-size:120px;filter:drop-shadow(0 8px 32px rgba(0,0,0,.5));line-height:1}
.gallery-placeholder-label{font-size:12px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.5px;font-weight:500}
.gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gallery-thumb{aspect-ratio:1;border-radius:var(--r-md);overflow:hidden;border:2px solid transparent;cursor:pointer;transition:all .15s;background:#e8f5ec;position:relative;display:flex;align-items:center;justify-content:center}
.gallery-thumb.active,.gallery-thumb:hover{border-color:var(--g);box-shadow:0 0 0 2px rgba(27,107,47,.2)}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
/* Product info */
.product-info{display:flex;flex-direction:column;gap:20px}
.product-badges-row{display:flex;gap:6px;flex-wrap:wrap}
.product-title{font-family:var(--font-display);font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--dk);letter-spacing:-.5px}
.product-rating{display:flex;align-items:center;gap:8px}
.stars{color:#F59E0B;font-size:14px;letter-spacing:1px}
.rating-count{font-size:12px;color:var(--muted)}
.product-price-block{display:flex;align-items:baseline;gap:8px}
.product-price-main{font-family:var(--font-display);font-size:34px;font-weight:800;color:var(--g)}
.product-price-per{font-size:14px;color:var(--muted);font-weight:400}
.product-desc{font-size:14px;color:#444;line-height:1.75}
/* Variation pills */
.variation-block{margin-bottom:16px}
.var-label{font-size:13px;font-weight:600;color:var(--dk);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.var-selected-val{color:var(--g);font-weight:400}
.variation-pills{display:flex;gap:8px;flex-wrap:wrap}
.var-pill{padding:8px 16px;border-radius:var(--r-md);border:1.5px solid var(--border);font-size:13px;font-weight:500;color:var(--muted);background:#fff;cursor:pointer;transition:all .15s;white-space:nowrap}
.var-pill:hover{border-color:var(--g);color:var(--g)}
.var-pill.active{background:var(--g);color:#fff;border-color:var(--g)}
.var-pill.out-of-stock{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.woo-variation-select{display:none}
.variation-required-msg{font-size:12px;color:#dc2626;display:none;margin-top:6px}
.variation-required-msg.show{display:block}
.reset_variations{font-size:11px;color:var(--muted);text-decoration:underline;margin-top:4px;display:none}
.options-group{display:flex;flex-direction:column;gap:14px}
.qty-row{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.qty-total-price{margin-left:auto;font-size:17px;font-weight:700;color:var(--g);font-family:var(--font-display)}
.qty-label{font-size:13px;font-weight:600;color:var(--dk)}
.qty-wrap{display:flex;align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}
.qty-btn{width:42px;height:42px;border:none;background:none;font-size:20px;color:var(--g);font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}
.qty-btn:hover{background:var(--g-light)}
.qty-input,.qty-val{width:52px;height:42px;text-align:center;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);font-size:16px;font-weight:600;color:var(--dk);font-family:var(--font-body);outline:none;-moz-appearance:textfield}
.qty-input::-webkit-inner-spin-button,.qty-input::-webkit-outer-spin-button{-webkit-appearance:none}
.qty-suffix{font-size:13px;color:var(--muted);font-weight:500}
.add-to-cart-btn{flex:1;height:52px;border-radius:14px;background:var(--g);color:#fff;border:none;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .18s}
.add-to-cart-btn:hover{background:var(--g-mid);transform:translateY(-1px)}
.add-to-cart-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.wishlist-btn{width:52px;height:52px;border:1.5px solid var(--border);border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;transition:all .15s;color:#ccc}
.wishlist-btn:hover,.wishlist-btn.active{border-color:#dc2626;color:#dc2626;background:#fff5f5}
.product-meta-block{background:var(--g-light);border:1px solid #C3DFC9;border-radius:var(--r-lg);padding:16px}
.meta-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#333;padding:6px 0;border-bottom:1px solid #d0e8d8}
.meta-row:last-child{border:none;padding-bottom:0}
.meta-row svg{color:var(--g);flex-shrink:0}
.meta-label{color:var(--muted);width:110px;flex-shrink:0}
.meta-val{font-weight:600}
/* Tabs */
.product-tabs{border-bottom:1px solid var(--border);display:flex;gap:0;margin-bottom:24px}
.product-tab{padding:12px 20px;font-size:14px;font-weight:600;color:var(--muted);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .12s}
.product-tab.active{color:var(--g);border-bottom-color:var(--g)}
.product-tab-panel{display:none;font-size:14px;color:#444;line-height:1.8}
.product-tab-panel.active{display:block}

/* ── Cart page ── */
.cart-page{max-width:1140px;margin:0 auto;padding:40px 24px 80px}
.cart-page-title{font-family:var(--font-display);font-size:28px;font-weight:800;margin-bottom:8px}
.cart-page-title span{color:var(--g)}
.cart-breadcrumb{font-size:13px;color:var(--muted);margin-bottom:32px}
.cart-breadcrumb a{color:var(--g);text-decoration:none}
.cart-breadcrumb a:hover{text-decoration:underline}
/* Layout */
.cart-layout{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}
.cart-layout>.cart-form-col{grid-column:1;grid-row:1;min-width:0}
.cart-layout>.cart_totals{grid-column:2;grid-row:1;min-width:0}
/* Cart form card */
.woocommerce-cart-form{background:#fff;border-radius:14px;border:1px solid var(--border);overflow:hidden}
table.shop_table{width:100%;border-collapse:collapse}
table.shop_table thead{background:#f3f7f4}
table.shop_table thead th{padding:14px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);text-align:left}
table.shop_table thead th.product-subtotal{text-align:right}
table.shop_table tbody tr{border-top:1px solid var(--border)}
table.shop_table tbody tr:first-child{border-top:none}
table.shop_table td{padding:16px;vertical-align:middle}
.product-remove a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fef2f2;color:#dc2626;font-size:18px;text-decoration:none;transition:background .2s;line-height:1}
.product-remove a:hover{background:#fecaca}
.product-thumbnail img{width:96px;height:96px;object-fit:cover;border-radius:12px;border:1px solid var(--border);display:block}
.product-thumbnail-inner{width:96px;height:96px;border-radius:12px;background:linear-gradient(135deg,#1a3a1f,#0d1f10);display:flex;align-items:center;justify-content:center;font-size:38px;position:relative;overflow:hidden}
.product-thumbnail-inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;border-radius:12px}
.product-name a{font-weight:600;font-size:14px;color:var(--dk);text-decoration:none}
.product-name a:hover{color:var(--g)}
.product-name .variation{font-size:12px;color:var(--muted);margin-top:2px}
.product-price{font-size:14px;font-weight:500;color:var(--dk)}
.product-quantity .qty-wrap{display:inline-flex;border:1.5px solid var(--border);border-radius:8px;overflow:hidden}
.product-quantity .qty-wrap button{width:32px;height:32px;border:none;background:transparent;font-size:16px;cursor:pointer;color:var(--dk);transition:background .15s}
.product-quantity .qty-wrap button:hover{background:#f0f5f1}
.product-quantity .qty-wrap input{width:44px;height:32px;border:none;text-align:center;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--dk);background:transparent}
.product-quantity .qty-wrap input:focus{outline:none}
.product-subtotal{font-size:14px;font-weight:700;color:var(--dk);text-align:right}
/* Cart actions bar */
.cart-actions{padding:16px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);background:#f9fbf9;flex-wrap:wrap;gap:10px}
.coupon-wrap{display:flex;gap:8px}
.coupon-wrap input{padding:9px 14px;border:1.5px solid var(--border);border-radius:8px;font-family:var(--font-body);font-size:13px;width:180px;outline:none;transition:border-color .2s;background:#fff}
.coupon-wrap input:focus{border-color:var(--g)}
.btn-coupon{padding:9px 16px;font-size:13px;border-radius:8px;border:1.5px solid var(--g);background:var(--g);color:#fff;font-family:var(--font-body);font-weight:600;cursor:pointer;transition:all .2s}
.btn-coupon:hover{background:var(--g2)}
.btn-update-cart{padding:9px 16px;font-size:13px;border-radius:8px;border:1.5px solid var(--border);background:#fff;font-family:var(--font-body);font-weight:600;cursor:pointer;color:var(--dk);transition:all .2s}
.btn-update-cart:hover{border-color:var(--g);color:var(--g)}
/* Cart totals sidebar */
.cart_totals{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;position:sticky;top:84px}
.cart_totals h2{font-family:var(--font-display);font-size:18px;font-weight:700;margin-bottom:20px;color:var(--dk)}
.cart_totals table{width:100%;border-collapse:collapse}
.cart_totals table th{font-size:13px;color:var(--muted);font-weight:500;text-align:left;padding:10px 0;border-bottom:1px solid var(--border)}
.cart_totals table td{font-size:14px;font-weight:600;text-align:right;padding:10px 0;border-bottom:1px solid var(--border)}
.cart_totals table tr.order-total th,.cart_totals table tr.order-total td{border-bottom:none;font-size:16px;font-weight:700;color:var(--dk);padding-top:14px}
.cart_totals .woocommerce-Price-amount{font-weight:700}
.shipping-note{font-size:12px;color:var(--muted);margin:16px 0;line-height:1.6;background:#f3f7f4;padding:10px 12px;border-radius:8px}
.shipping-note strong{color:var(--g)}
.wc-proceed-to-checkout{margin-top:18px}
.checkout-btn{display:block;width:100%;padding:15px;background:var(--g);color:#fff;border:none;border-radius:10px;font-family:var(--font-display);font-size:16px;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;transition:background .2s;letter-spacing:.3px}
.checkout-btn:hover{background:var(--g2)}
.secure-note{text-align:center;font-size:11px;color:var(--muted);margin-top:10px;display:flex;align-items:center;justify-content:center;gap:5px}
/* Empty cart */
.cart-empty{text-align:center;padding:80px 24px;background:#fff;border-radius:14px;border:1px solid var(--border)}
.cart-empty-icon{font-size:72px;margin-bottom:20px;opacity:.6}
.cart-empty h2{font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:10px;color:var(--dk)}
.cart-empty p{color:var(--muted);font-size:14px;margin-bottom:28px}
.btn-return-shop{display:inline-flex;align-items:center;gap:8px;background:var(--g);color:#fff;padding:13px 28px;border-radius:100px;font-weight:700;font-size:15px;text-decoration:none;transition:background .2s;font-family:var(--font-display)}
.btn-return-shop:hover{background:var(--g2)}
/* Cross-sell — now uses .related-section / .related-grid / .prod-card (same as single product) */
.cs-price{font-size:12px;color:var(--g);font-weight:700}
.cs-add{width:100%;margin-top:8px;padding:7px;border:1.5px solid var(--g);border-radius:8px;background:transparent;color:var(--g);font-family:var(--font-body);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}
.cs-add:hover{background:var(--g);color:#fff}
/* Responsive */
@media(max-width:860px){.cart-layout{grid-template-columns:1fr}.cart-layout>.cart-form-col{grid-column:1;grid-row:1}.cart-layout>.cart_totals{grid-column:1;grid-row:2}}

/* ── Checkout progress bar ── */
.checkout-progress{background:#fff;border-bottom:1px solid var(--border);padding:16px 0}
.progress-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:center}
.prog-step{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--muted)}
.prog-step.active{color:var(--g);font-weight:600}
.prog-step.done{color:var(--g)}
.prog-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:#fff;flex-shrink:0;transition:all .2s}
.prog-step.active .prog-dot{background:var(--g);border-color:var(--g);color:#fff}
.prog-step.done .prog-dot{background:var(--g);border-color:var(--g);color:#fff}
.prog-line{width:48px;height:2px;background:var(--border);flex-shrink:0;margin:0 4px}
.prog-line.done{background:var(--g)}
@media(max-width:500px){.prog-label{display:none}.prog-line{width:20px}}

/* ── Checkout layout ── */
.checkout-wrap{max-width:1100px;margin:0 auto;padding:32px 24px 80px;display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:start}
.checkout-forms{display:flex;flex-direction:column;gap:0}
.checkout-wrap>.checkout-forms{grid-column:1;grid-row:1;min-width:0}
.checkout-wrap>.checkout-sidebar{grid-column:2;grid-row:1;min-width:0}

/* ── Form sections ── */
.form-section{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:20px}
.form-section-header{padding:18px 22px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}
.form-section-icon{width:34px;height:34px;background:var(--g-light);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.form-section-title{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--dk)}
.form-section-body{padding:22px}
/* two-col rows inside form sections */
.co-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.co-row-three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:540px){.co-row-2,.co-row-three{grid-template-columns:1fr}}

/* ── WC field wrappers inside our form sections ── */
/* Reset global .form-row grid so WC <p class="form-row"> stays as a block */
.form-section-body p.form-row{display:block;margin:0 0 16px}
.form-section-body p.form-row:last-child{margin-bottom:0}
.co-row-2 p.form-row,.co-row-three p.form-row{margin-bottom:0}
/* Labels */
.form-section-body p.form-row label{font-size:12px;font-weight:600;color:var(--dk);letter-spacing:.3px;text-transform:uppercase;display:block;margin-bottom:5px}
.form-section-body p.form-row label .required{color:var(--red)}
/* Inputs */
.form-section-body p.form-row .input-text,
.form-section-body p.form-row input[type=text],
.form-section-body p.form-row input[type=email],
.form-section-body p.form-row input[type=tel],
.form-section-body p.form-row input[type=password],
.form-section-body p.form-row select,
.form-section-body p.form-row textarea{
  padding:11px 14px;border:1.5px solid var(--border);border-radius:9px;font-family:var(--font-body);font-size:14px;color:var(--dk);outline:none;background:#fff;transition:border-color .15s,box-shadow .15s;width:100%;display:block
}
.form-section-body p.form-row .input-text:focus,
.form-section-body p.form-row input:focus,
.form-section-body p.form-row select:focus,
.form-section-body p.form-row textarea:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(45,145,72,.1)}
.form-section-body p.form-row textarea{resize:vertical;min-height:80px}
/* WC validation states */
.form-section-body p.woocommerce-validated .input-text{border-color:var(--g)}
.form-section-body p.woocommerce-invalid .input-text{border-color:var(--red)}

/* ── Delivery slots ── */
.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:480px){.slot-grid{grid-template-columns:1fr 1fr}}
.slot-card{border:1.5px solid var(--border);border-radius:10px;padding:11px 10px;text-align:center;cursor:pointer;transition:all .15s;background:#fff;display:block}
.slot-card:hover{border-color:var(--g);background:var(--g-light)}
.slot-card.active{border-color:var(--g);background:var(--g-light);box-shadow:0 0 0 2px rgba(45,145,72,.18)}
.slot-time{font-size:14px;font-weight:700;color:var(--dk);margin-top:2px}
.slot-fee{font-size:11px;color:var(--g);margin-top:2px}

/* ══════════════════════════════════════════════════
   ORDER CONFIRMATION (THANK YOU) PAGE
══════════════════════════════════════════════════ */
.ty-wrap{max-width:1100px;margin:0 auto;padding:36px 24px 80px}

/* Hero */
.ty-hero{text-align:center;padding:48px 24px 36px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:28px}
.ty-hero-icon{font-size:56px;margin-bottom:16px;line-height:1}
.ty-hero-title{font-family:var(--font-display);font-size:28px;font-weight:800;color:var(--dk);margin-bottom:10px}
.ty-hero-sub{font-size:15px;color:var(--muted);max-width:480px;margin:0 auto}
.ty-hero-failed .ty-hero-icon{filter:grayscale(0)}

/* Meta strip */
.ty-meta-strip{display:flex;flex-wrap:wrap;gap:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:28px;overflow:hidden}
.ty-meta-item{flex:1;min-width:140px;padding:18px 22px;border-right:1px solid var(--border)}
.ty-meta-item:last-child{border-right:none}
.ty-meta-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:5px}
.ty-meta-val{font-size:14px;font-weight:700;color:var(--dk)}
.ty-meta-total{color:var(--g);font-size:16px}

/* Two-column grid */
.ty-grid{display:grid;grid-template-columns:1fr 360px;gap:24px;margin-bottom:28px;align-items:start}
@media(max-width:860px){.ty-grid{grid-template-columns:1fr}}

/* Cards */
.ty-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.ty-card-header{padding:16px 22px;border-bottom:1px solid var(--border);font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--dk)}
.ty-card-body{padding:20px 22px}

/* Items table */
.ty-items-table{width:100%;border-collapse:collapse}
.ty-items-table thead th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:0 0 12px;text-align:left;border-bottom:1px solid var(--border)}
.ty-th-qty,.ty-th-price{text-align:right}
.ty-item-name-cell{display:flex;align-items:center;gap:12px;padding:14px 0}
.ty-item-thumb{width:44px;height:44px;border-radius:8px;background:linear-gradient(135deg,#1a3a1f,#0d1f10);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;position:relative;overflow:hidden}
.ty-item-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ty-item-name-cell span{font-size:13px;font-weight:600;color:var(--dk);flex:1}
.ty-td-qty{text-align:right;font-size:13px;color:var(--muted);white-space:nowrap;vertical-align:middle}
.ty-td-price{text-align:right;font-size:13px;font-weight:700;color:var(--dk);white-space:nowrap;vertical-align:middle}
.ty-items-table tbody tr{border-bottom:1px solid var(--border)}
.ty-items-table tbody tr:last-child td{padding-bottom:14px}
.ty-tfoot-row td{padding:6px 0;font-size:13px}
.ty-tfoot-label{color:var(--muted)}
.ty-tfoot-total td{padding-top:14px;border-top:2px solid var(--border);font-size:15px;font-weight:800;color:var(--dk)}
.ty-tfoot-total .ty-td-price{color:var(--g);font-size:16px}

/* Address */
.ty-address-body p{font-size:14px;color:var(--dk);line-height:1.7}
.ty-address-phone{color:var(--muted) !important;font-size:13px !important;margin-top:8px}

/* Slot */
.ty-slot-val{font-size:15px;font-weight:700;color:var(--g)}

/* What's next */
.ty-next-steps{display:flex;flex-direction:column;gap:14px}
.ty-next-step{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:var(--dk);line-height:1.5}
.ty-next-dot{width:24px;height:24px;border-radius:50%;background:var(--g);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}

/* CTA row */
.ty-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.ty-btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:13px 28px;background:var(--g);color:#fff;border-radius:100px;font-family:var(--font-display);font-size:14px;font-weight:700;text-decoration:none;transition:background .15s}
.ty-btn-primary:hover{background:var(--g2)}
.ty-btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:13px 28px;border:2px solid var(--border);color:var(--dk);border-radius:100px;font-family:var(--font-display);font-size:14px;font-weight:700;text-decoration:none;transition:all .15s;background:#fff}
.ty-btn-outline:hover{border-color:var(--g);color:var(--g)}

@media(max-width:600px){
  .ty-meta-strip{flex-direction:column}
  .ty-meta-item{border-right:none;border-bottom:1px solid var(--border)}
  .ty-meta-item:last-child{border-bottom:none}
  .ty-hero-title{font-size:22px}
  .ty-wrap{padding:24px 16px 60px}
}

/* ── Coupon bar (above checkout-wrap, green bg) ── */
.co-coupon-bar{background:var(--g);padding:0}
.co-coupon-bar-inner{max-width:1100px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.co-coupon-bar-text{font-size:13px;color:#fff;font-weight:600}
.co-coupon-toggle-btn{background:transparent;border:none;color:rgba(255,255,255,.85);font-size:13px;font-weight:600;text-decoration:underline;cursor:pointer;padding:0}
.co-coupon-toggle-btn:hover{color:#fff}
.co-coupon-drawer{display:none;width:100%;padding-top:10px}
.co-coupon-drawer.open{display:block}
.co-coupon-inner-form{display:flex;gap:8px}
.co-coupon-inner-form .input-text{flex:1;padding:9px 13px;border:1.5px solid rgba(255,255,255,.4);border-radius:8px;background:rgba(255,255,255,.15);color:#fff;font-size:13px;font-family:var(--font-body);outline:none}
.co-coupon-inner-form .input-text::placeholder{color:rgba(255,255,255,.6)}
.co-coupon-inner-form .input-text:focus{border-color:#fff;background:rgba(255,255,255,.25)}
.co-coupon-apply{padding:9px 18px;background:rgba(255,255,255,.2);border:1.5px solid rgba(255,255,255,.5);border-radius:8px;color:#fff;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s}
.co-coupon-apply:hover{background:rgba(255,255,255,.35)}

/* ── WC payment section ── */
.co-payment-body{padding:16px}
.co-payment-body #payment,.co-payment-body .woocommerce-checkout-payment{display:block !important}
/* Payment methods list */
.co-payment-body .wc_payment_methods{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
/* Each gateway */
.co-payment-body .wc_payment_method{border:1.5px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .15s}
.co-payment-body .wc_payment_method:has(input:checked){border-color:var(--g);box-shadow:0 0 0 2px rgba(45,145,72,.18)}
/* Gateway label row: radio + text side by side */
.co-payment-body .wc_payment_method{display:flex;flex-direction:column}
.co-payment-body .wc_payment_method input[type=radio]{display:none}
.co-payment-body .wc_payment_method>label{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;font-size:14px;font-weight:600;color:var(--dk);position:relative}
.co-payment-body .wc_payment_method>label::before{content:'';width:16px;height:16px;border:2px solid var(--border);border-radius:50%;display:inline-flex;flex-shrink:0;transition:all .15s}
.co-payment-body .wc_payment_method:has(input:checked)>label::before{border-color:var(--g);background:var(--g);box-shadow:inset 0 0 0 3px #fff}
/* Payment gateway description box */
.co-payment-body .payment_box{padding:12px 16px 14px;border-top:1px solid var(--border);font-size:13px;color:var(--muted);display:none}
/* Gateway icons in label */
.co-payment-body .wc_payment_method>label img{height:22px;width:auto;margin-left:auto;border-radius:3px}
/* Hide WC's default place order button; keep nonce in DOM */
.co-payment-body #place_order{display:none !important}
.co-payment-body .place-order{height:0;overflow:hidden;padding:0;margin:0}
.co-payment-body .woocommerce-terms-and-conditions-wrapper{padding:10px 0 0;font-size:12px;color:var(--muted)}
.co-no-gateways{font-size:13px;color:var(--muted);padding:8px 0}

/* ── Order summary sidebar ── */
.checkout-sidebar .order-summary{background:#fff;border:1px solid var(--border);border-radius:14px;position:sticky;top:84px;overflow:hidden}
.os-header{padding:18px 22px 14px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.os-title{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--dk)}
.os-edit{font-size:12px;color:var(--g);text-decoration:none;font-weight:600}
.os-edit:hover{text-decoration:underline}
.os-items{padding:8px 0;max-height:300px;overflow-y:auto}
.os-item{display:flex;align-items:center;gap:12px;padding:10px 20px}
.os-item-thumb{width:52px;height:52px;border-radius:9px;background:linear-gradient(135deg,#1a3a1f,#0d1f10);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;position:relative;overflow:hidden}
.os-item-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.os-item-qty-badge{position:absolute;top:-4px;right:-4px;width:20px;height:20px;background:var(--dk);color:#fff;border-radius:50%;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:3;line-height:1}
.os-item-info{flex:1;min-width:0}
.os-item-name{font-size:13px;font-weight:600;color:var(--dk);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-item-unit{font-size:11px;color:var(--muted);margin-top:1px}
.os-item-price{font-size:13px;font-weight:700;color:var(--dk);flex-shrink:0}
.os-divider{height:1px;background:var(--border);margin:4px 20px}
.os-rows{padding:14px 20px}
.os-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px}
.os-row-label{color:var(--muted)}
.os-row-val{font-weight:600;color:var(--dk)}
/* WC outputs <tr>, we style the totals spans differently */
.os-rows .woocommerce-Price-amount{font-weight:600;color:var(--dk)}
.os-row.total{padding-top:14px;margin-top:4px;border-top:2px solid var(--border)}
.os-row.total .os-row-label{font-size:15px;font-weight:700;color:var(--dk)}
.os-row.total .os-row-val{font-size:18px;font-weight:800;color:var(--g)}
.os-row.total .os-row-val .woocommerce-Price-amount{font-size:18px;font-weight:800;color:var(--g)}
.os-coupon{display:flex;gap:8px;margin:12px 20px 16px}
.os-coupon input{flex:1;padding:9px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;font-family:var(--font-body);outline:none;transition:border-color .15s}
.os-coupon input:focus{border-color:var(--g)}
.os-coupon .button{padding:9px 14px;background:var(--g);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}
.os-coupon .button:hover{background:var(--g2)}
.os-note{font-size:11px;color:var(--muted);padding:0 20px 14px;line-height:1.6}
.os-note strong{color:var(--g)}

/* ── Place order ── */
.place-order-wrap{padding:16px 20px 20px;border-top:1px solid var(--border)}
.btn-place-order{width:100%;padding:16px;background:var(--g);color:#fff;border:none;border-radius:12px;font-family:var(--font-display);font-size:17px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .18s;letter-spacing:-.1px}
.btn-place-order:hover{background:var(--g2);transform:translateY(-1px);box-shadow:0 8px 24px rgba(45,145,72,.35)}
.btn-place-order:active{transform:translateY(0)}
.btn-place-order:disabled{opacity:.6;cursor:not-allowed;transform:none}
.place-order-sub{text-align:center;font-size:11px;color:var(--muted);margin-top:10px;display:flex;align-items:center;justify-content:center;gap:5px}

/* ── Checkout empty state ── */
.co-empty{text-align:center;padding:80px 24px;background:#fff;border-radius:14px;border:1px solid var(--border);max-width:440px;margin:40px auto}
.co-empty h2{font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:10px}
.co-empty p{color:var(--muted);font-size:14px;margin-bottom:24px}

/* ── Checkout responsive ── */
@media(max-width:860px){.checkout-wrap{grid-template-columns:1fr}.checkout-wrap>.checkout-forms{grid-column:1;grid-row:1}.checkout-wrap>.checkout-sidebar{grid-column:1;grid-row:2}}
/* Keep old selectors for any remaining pages */
.checkout-layout{display:grid;grid-template-columns:1fr 400px;gap:28px;padding:36px 0 60px;align-items:start}
.checkout-form-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);padding:28px}
.checkout-section-title{font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--dk);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.form-group{display:flex;flex-direction:column;gap:5px}
.form-group label{font-size:12px;font-weight:600;color:var(--dk)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 13px;border:1.5px solid var(--border);border-radius:var(--r-sm);font-family:var(--font-body);font-size:14px;color:var(--dk);outline:none;transition:border-color .15s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(27,107,47,.1)}
.order-summary-box{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);padding:24px;position:sticky;top:96px}

/* ── B2B page ── */
.b2b-page-hero{background:var(--dk);padding:56px 0}
.access-gate-bar{background:linear-gradient(135deg,#0f2012,#1b3a20);border-bottom:1px solid rgba(255,255,255,.08);padding:14px 0}
.access-gate-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.access-gate-left{display:flex;align-items:center;gap:12px;font-size:13px;color:rgba(255,255,255,.7)}
.access-gate-left strong{color:#fff}
.access-gate-icon{font-size:20px}
.access-gate-btn{background:var(--y);color:var(--y-dark);padding:9px 20px;border-radius:20px;font-size:13px;font-weight:700;white-space:nowrap;text-decoration:none;transition:filter .15s}
.access-gate-btn:hover{filter:brightness(.95)}

/* ── Register page ── */
.register-hero{background:var(--dk);padding:56px 0}
.register-layout{display:grid;grid-template-columns:1fr 360px;gap:32px;padding:40px 0 60px;align-items:start}
.register-form-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);padding:32px}
.progress-steps{display:flex;align-items:center;margin-bottom:28px}
.progress-step{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--muted)}
.progress-step.active{color:var(--g)}
.progress-step .step-num{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--muted);background:#fff}
.progress-step.active .step-num{border-color:var(--g);background:var(--g);color:#fff}
.progress-step.done .step-num{border-color:var(--g);background:var(--g-light);color:var(--g)}
.progress-line{flex:1;height:2px;background:var(--border);margin:0 12px}
.progress-line.active{background:var(--g)}
.file-upload-area{border:2px dashed var(--border);border-radius:var(--r-md);padding:28px;text-align:center;cursor:pointer;transition:all .15s;position:relative;background:#fafcfa}
.file-upload-area:hover,.file-upload-area.drag-over{border-color:var(--g);background:var(--g-light)}
.file-upload-area input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.file-upload-icon{font-size:32px;margin-bottom:8px}
.file-upload-label{font-size:14px;font-weight:600;color:var(--dk);margin-bottom:4px}
.file-upload-hint{font-size:12px;color:var(--muted)}
.file-chosen{font-size:12px;color:var(--g);font-weight:600;margin-top:6px;display:none}
.register-sidebar .sidebar-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:22px;margin-bottom:16px}
.register-sidebar .sidebar-card h4{font-family:var(--font-display);font-size:15px;font-weight:800;color:var(--dk);margin-bottom:14px}

/* ── WooCommerce overrides ── */
.woocommerce .woocommerce-breadcrumb{font-size:12px;color:var(--muted);padding:12px 0;margin:0}
.woocommerce-breadcrumb a{color:var(--muted)}
.woocommerce-breadcrumb a:hover{color:var(--g)}
.woocommerce .woocommerce-notices-wrapper{max-width:var(--max);margin:0 auto;padding:0 24px}
/* Variation form */
.variations_form .variations th,.variations_form .variations td{padding:6px 0;font-size:13px}
.variations_form .variations th label{font-weight:600;color:var(--dk)}
.variations_form .single_variation .price{font-family:var(--font-display);font-size:28px;font-weight:800;color:var(--g)}
.single_variation_wrap .single_variation{margin-bottom:12px}
/* Cart/checkout */
.woocommerce-cart .cart_totals,.woocommerce-checkout #order_review{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);padding:24px}

/* ── Footer ── */
.site-footer{background:var(--dk);margin-top:0}
.footer-top{padding:56px 0 40px}
.footer-top-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:32px}
.footer-brand{display:flex;flex-direction:column;gap:14px}
.footer-logo{display:flex;align-items:center;gap:10px}
.footer-logo .logo-name-main{color:#fff;font-size:15px}
.footer-logo .logo-name-main span{color:var(--y)}
.footer-logo .logo-name-sub{color:rgba(255,255,255,.4)}
.footer-tagline{font-size:13px;color:rgba(255,255,255,.4);line-height:1.65;max-width:240px}
.footer-socials{display:flex;gap:8px}
.footer-social-link{width:34px;height:34px;border:1px solid rgba(255,255,255,.12);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);transition:all .15s}
.footer-social-link:hover{border-color:var(--y);color:var(--y)}
.footer-col{}
.footer-col-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:rgba(255,255,255,.4);margin-bottom:14px;display:block}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:9px}
.footer-links a{font-size:13px;color:rgba(255,255,255,.5);transition:color .15s}
.footer-links a:hover{color:var(--y)}
.footer-contact{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-contact li{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.5)}
.footer-contact svg{color:var(--g);flex-shrink:0}
.footer-hours{margin-top:12px;font-size:12px;color:rgba(255,255,255,.35)}
.footer-hours strong{color:rgba(255,255,255,.5);display:block;margin-bottom:2px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding:20px 0}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer-copy{font-size:12px;color:rgba(255,255,255,.3)}
.footer-trust{display:flex;gap:16px;flex-wrap:wrap}
.trust-badge{font-size:11px;color:rgba(255,255,255,.35)}

/* ── WC Ajax add to cart loader ── */
.add_to_cart_button.loading{opacity:.6;pointer-events:none}
.add_to_cart_button.added::after{content:'✓'}

/* ── WooCommerce notices ── */
.woocommerce-notices-wrapper{margin-bottom:16px}
.woocommerce-message,.woocommerce-error,.woocommerce-info{
  padding:14px 18px;border-radius:var(--r-sm);font-size:14px;
  margin-bottom:16px;display:flex;align-items:flex-start;gap:10px;list-style:none;
}
.woocommerce-message{background:#e8f5e9;border-left:3px solid var(--g);color:var(--dk)}
.woocommerce-error{background:#fdecea;border-left:3px solid var(--red);color:#b71c1c}
.woocommerce-info{background:#e3f2fd;border-left:3px solid var(--blue);color:#0d47a1}
.woocommerce-message a.button,.woocommerce-info a.button{
  margin-left:auto;flex-shrink:0;padding:6px 14px;border-radius:6px;
  background:var(--g);color:#fff;font-size:12px;font-weight:700;text-decoration:none;
}
ul.woocommerce-error{flex-direction:column;gap:6px}
ul.woocommerce-error li{list-style:none}
/* Fix WC injecting <br> inside payment method labels and buttons */
.wc_payment_method label br,.payment_box br,button br,.btn br{display:none}

/* ── WC quantity input ── */
.quantity{display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;background:#fff}
.quantity input[type=number]{width:56px;text-align:center;border:none;padding:8px 4px;font-size:15px;font-weight:600;color:var(--dk);outline:none;-moz-appearance:textfield}
.quantity input[type=number]::-webkit-inner-spin-button,.quantity input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}
.quantity .qty{background:transparent}

/* ── WC star rating ── */
.star-rating{overflow:hidden;position:relative;height:1em;width:5.4em;font-family:star;font-size:13px;color:#ccc}
.star-rating::before{content:'\2605\2605\2605\2605\2605';float:left;top:0;left:0;position:absolute}
.star-rating span{overflow:hidden;float:left;top:0;left:0;position:absolute;padding-top:1.5em}
.star-rating span::before{content:'\2605\2605\2605\2605\2605';top:0;position:absolute;color:var(--y)}
.woocommerce-product-rating{display:flex;align-items:center;gap:8px;margin-bottom:10px}

/* ── WC breadcrumb ── */
.woocommerce-breadcrumb{font-size:12px;color:var(--muted);margin-bottom:20px}
.woocommerce-breadcrumb a{color:var(--muted);text-decoration:none}
.woocommerce-breadcrumb a:hover{color:var(--g)}

/* ── WC ordering/results ── */
.woocommerce-result-count{font-size:13px;color:var(--muted)}

/* ── WC pagination ── */
.woocommerce-pagination ul{display:flex;gap:6px;list-style:none;padding:0;margin:0;justify-content:center}
.woocommerce-pagination ul li a,.woocommerce-pagination ul li span{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:13px;color:var(--muted);text-decoration:none;transition:all .15s}
.woocommerce-pagination ul li .current,.woocommerce-pagination ul li a:hover{background:var(--g);color:#fff;border-color:var(--g)}

/* ── WC tabs (product single) ── */
.woocommerce-tabs ul.tabs{display:flex;gap:0;list-style:none;padding:0;margin:0;border-bottom:1px solid var(--border)}
.woocommerce-tabs ul.tabs li{padding:10px 20px;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s}
.woocommerce-tabs ul.tabs li.active{color:var(--g);border-bottom-color:var(--g)}
.woocommerce-tabs .panel{padding:20px 0;font-size:14px;color:var(--dk);line-height:1.7}

/* ── WC variation form ── */
.variations{width:100%;border-collapse:collapse}
.variations td,.variations th{padding:6px 0;vertical-align:top}
.variations label{font-size:13px;font-weight:600;color:var(--dk);white-space:nowrap}
.variations select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:14px;color:var(--dk);background:#fff;outline:none;cursor:pointer;min-width:160px}
.reset_variations{font-size:12px;color:var(--muted);text-decoration:none;margin-top:4px;display:inline-block}
.woocommerce-variation-price{margin:10px 0;font-size:22px;font-weight:700;color:var(--g)}

/* ── WC account & form ── */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:4px}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:9px 14px;border-radius:var(--r-sm);font-size:14px;color:var(--dk);text-decoration:none;transition:background .15s}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover{background:var(--g-light);color:var(--g)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--g);color:#fff}
.woocommerce form .form-row{margin-bottom:16px}
.woocommerce form .form-row label{display:block;font-size:13px;font-weight:500;color:var(--dk);margin-bottom:5px}
.woocommerce form .form-row input,.woocommerce form .form-row select,.woocommerce form .form-row textarea{width:100%;padding:10px 13px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:14px;color:var(--dk);outline:none;transition:border .15s;font-family:var(--font-body)}
.woocommerce form .form-row input:focus,.woocommerce form .form-row select:focus,.woocommerce form .form-row textarea:focus{border-color:var(--g)}

/* ── WC select2 fallback ── */
.select2-container .select2-selection--single{height:42px;border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 12px;font-size:14px}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:9px}
.select2-dropdown{border:1px solid var(--border);border-radius:var(--r-sm)}
.select2-container--default .select2-results__option--highlighted{background:var(--g)}

/* ── Responsive ── */
@media(max-width:1100px){
  .trust-inner{grid-template-columns:repeat(3,1fr)}
  .footer-top-inner{grid-template-columns:1fr 1fr 1fr}
  .cat-cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1024px){
  ul.products{grid-template-columns:repeat(3,1fr)}
}
/* Hero goes single-column at 768px: text → price table → buttons */
@media(max-width:768px){
  .hero-inner{grid-template-columns:1fr;align-items:start;gap:16px}
  .hero-text{grid-column:auto;grid-row:auto;order:1;margin-bottom:0}
  .price-panel{grid-column:auto;grid-row:auto;order:2;display:flex;align-self:auto}
  .hero-btns{grid-column:auto;grid-row:auto;order:3}
}
@media(max-width:900px){
  .shop-hero-inner{grid-template-columns:1fr}
  .shop-hero-cats{flex-direction:row;flex-wrap:wrap;padding-bottom:0}
  .hero-cat-chip{min-width:auto;flex:1 1 140px}
  .cart-page-layout,.checkout-layout,.register-layout{grid-template-columns:1fr}
  .product-layout{grid-template-columns:1fr;gap:32px}
  .product-gallery{position:static}
  .b2b-steps-grid{flex-direction:column;align-items:center}
  .b2b-step-arrow{padding:8px 0;transform:rotate(90deg)}
  .how-steps{flex-direction:column;align-items:center}
  .how-arrow{transform:rotate(90deg);padding:0}
}
@media(max-width:768px){
  .nav-links{display:none}
  .nav-right .btn-ghost,.nav-right .btn-yellow{display:none}
  .hamburger{display:flex}
  ul.products{grid-template-columns:repeat(2,1fr);gap:12px}
  .footer-top-inner{grid-template-columns:1fr 1fr;gap:24px}
  .footer-brand{grid-column:1/-1}
  .trust-inner{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
  ul.products{grid-template-columns:repeat(2,1fr);gap:10px}
  .cat-cards{grid-template-columns:1fr}
  .footer-top-inner{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .container{padding:0 16px}
  .shop-hero{padding:36px 0 0}
}
/* ── Tiny phones (<414px): keep nav in one row ── */
@media(max-width:413px){
  .nav-live{display:none}         /* removes ~80px, nav fits on any phone */
  .nav-inner{gap:8px}             /* tighten flex gap */
  .logo-name-sub{display:none}    /* hide "AQUACULTURE" sub-line, saves height too */
}

/* ── B2B steps grid — override gap:0 ── */
.b2b-steps-grid{gap:24px}

/* ── Disabled add-to-cart button (variable product, no variation selected yet) ── */
.btn-add-cart:disabled,.btn-add-cart.disabled{opacity:.45;pointer-events:none;cursor:not-allowed}
.btn-add-cart:disabled:hover,.btn-add-cart.disabled:hover{transform:none}

/* ── WC single variation price/stock display ── */
.single_variation_wrap .woocommerce-variation-price .price,
.single_variation_wrap .woocommerce-variation-price .woocommerce-Price-amount{
  font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--g)
}
.single_variation_wrap .woocommerce-variation-description p{font-size:13px;color:var(--muted);margin:6px 0 0}
.single_variation_wrap .stock{font-size:13px;font-weight:600;padding:4px 0}
.in-stock{color:var(--g)}.out-of-stock{color:#dc2626}

/* ══════════════════════════════════════
   HOMEPAGE — front-page.php additions
══════════════════════════════════════ */

/* ── Light nav on homepage ── */
.is-front-page .nav{background:rgba(255,255,255,.97);border-bottom:1px solid var(--border)}
.is-front-page .logo-name-main{color:var(--dk)}
.is-front-page .logo-name-main span{color:var(--g)}
.is-front-page .logo-name-sub{color:var(--muted)}
/* footer logo always white, even on homepage */
.site-footer .logo-name-main{color:#fff!important}
.site-footer .logo-name-main span{color:var(--y)!important}
.site-footer .logo-name-sub{color:rgba(255,255,255,.45)!important}
.is-front-page .nav-links a,.is-front-page .nav-links ul.nav-links-inner a{color:rgba(15,31,18,.65)}
.is-front-page .nav-links a:hover,.is-front-page .nav-links a.active,
.is-front-page .nav-links ul.nav-links-inner a:hover,.is-front-page .nav-links ul.nav-links-inner a.active{color:var(--dk);background:rgba(15,31,18,.06)}
.is-front-page .nav-dropdown{background:#fff;border-color:rgba(0,0,0,.08)}
.is-front-page .nav-dropdown a{color:rgba(15,31,18,.65)}
.is-front-page .nav-dropdown a:hover,.is-front-page .nav-dropdown a.active{color:var(--dk);background:rgba(15,31,18,.06)}
.is-front-page .btn-ghost{border-color:rgba(15,31,18,.2);color:rgba(15,31,18,.8)}
.is-front-page .btn-ghost:hover{border-color:rgba(15,31,18,.4);background:rgba(15,31,18,.05)}
.is-front-page .hamburger span{background:var(--dk)}
.is-front-page .mobile-menu{background:#fff;border-top:1px solid var(--border)}
.is-front-page .mobile-menu a{color:rgba(15,31,18,.75)}
.is-front-page .mobile-menu a:hover{color:var(--dk);background:rgba(15,31,18,.05)}
.is-front-page .nav-live{color:#dc2626;background:rgba(255,60,60,.08);border-color:rgba(255,60,60,.18)}
.is-front-page .nav-live span{background:#dc2626}

/* ── Hero ── */
.hero{background:var(--dk);position:relative;overflow:hidden;padding:72px 0 64px}
.hero-bg-text{position:absolute;bottom:-40px;left:50%;transform:translateX(-50%);font-family:var(--font-display);font-size:clamp(80px,12vw,160px);font-weight:800;color:rgba(255,255,255,.025);white-space:nowrap;pointer-events:none;letter-spacing:-4px;z-index:0;user-select:none}
/* Full background image mode */
.hero--has-bg{background-size:cover;background-position:center center;background-repeat:no-repeat;min-height:580px}
/* Overlay: strong dark base so text is always readable; corners slightly lighter for seafood depth */
.hero-bg-overlay{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(to right,
      rgba(10,25,14,.50) 0%,
      rgba(10,25,14,.58) 16%,
      rgba(10,25,14,.58) 84%,
      rgba(10,25,14,.50) 100%
    ),
    linear-gradient(to bottom, rgba(10,25,14,.02) 0%, rgba(10,25,14,.22) 100%)
}
/* hero-inner grid already defined above; alias .hero .hero-inner if needed */
.hero .hero-inner{position:relative;z-index:1}
.hero-h1{font-family:var(--font-display);font-size:clamp(36px,5vw,58px);font-weight:800;color:#fff;line-height:1.08;letter-spacing:-1.5px;margin-bottom:18px}
.hero-h1 .accent{color:var(--y)}
.hero-h1 .green{color:var(--g)}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.hero-actions .btn{font-size:14px;padding:12px 24px}
.btn-outline-yellow{background:transparent;border:1.5px solid rgba(245,184,46,.4);color:var(--y);border-radius:100px;font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;padding:12px 24px;display:inline-flex;align-items:center;gap:6px;transition:all .18s;text-decoration:none;white-space:nowrap}
.btn-outline-yellow:hover{border-color:var(--y);background:rgba(245,184,46,.1)}

/* ── Homepage product card (custom loop) ── */
.prod-img{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:0}
.prod-img-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;z-index:1}
.prod-img-icon{font-size:48px;line-height:1}
.prod-img-sub{font-size:10px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.6px}
.prod-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;transition:transform .4s ease}
li.product:hover .prod-img img{transform:scale(1.05)}
.prod-badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:5px;z-index:3}
.prod-fav{position:absolute;top:10px;right:10px;z-index:3;width:30px;height:30px;background:rgba(255,255,255,.88);border:none;border-radius:50%;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:all .15s;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.prod-fav:hover{background:#fff;transform:scale(1.15)}
.prod-fav.active{color:#ef4444}
.prod-name{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--dk);line-height:1.25;margin-bottom:4px}
.prod-desc{font-size:12px;color:var(--muted);line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:0}
.prod-price-unit{font-size:11px;color:var(--muted);margin-top:2px}
.add-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--g);color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;transition:all .18s;text-decoration:none;flex-shrink:0;line-height:1}
.add-btn:hover{background:var(--g2);transform:scale(1.08)}

/* ── Promo slider ── */
.promo-slider-section{padding:24px 0 32px}
/* Two-column layout: left slider (~57%) + right static (~43%) */
.promo-two-col{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;align-items:stretch}
/* min-width:0 prevents grid children from overflowing their column */
.promo-left,.promo-right{min-width:0}
.promo-left{display:flex;flex-direction:column}
.promo-right{display:flex}
.promo-right .promo-card{flex:1}
.promo-card--full{height:100%;min-height:260px}
/* Slider */
.promo-slider-wrap{position:relative;flex:1;display:flex;flex-direction:column}
.promo-slider-viewport{width:100%;overflow:hidden;border-radius:var(--r-xl);flex:1;min-height:260px}
.promo-slider-track{display:flex;transition:transform .42s cubic-bezier(.4,0,.2,1);will-change:transform}
/* Width set explicitly via JS — avoids % resolution issues in nested flex */
.promo-slide{flex:none;box-sizing:border-box}
.promo-slide .promo-card{height:100%;min-height:260px}
/* Arrows */
.promo-arrow{position:absolute;top:calc(50% - 14px);transform:translateY(-50%);z-index:10;width:36px;height:36px;border-radius:50%;background:#fff;border:1.5px solid var(--border);color:var(--dk);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;box-shadow:0 2px 8px rgba(0,0,0,.10)}
.promo-arrow:hover{background:var(--g);border-color:var(--g);color:#fff}
.promo-arrow-prev{left:-18px}
.promo-arrow-next{right:-18px}
/* Dots — overlaid inside the viewport */
.promo-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
.promo-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45);border:none;cursor:pointer;padding:0;transition:all .2s}
.promo-dot.active{background:#fff;width:22px;border-radius:4px}
@media(max-width:640px){.promo-two-col{grid-template-columns:1fr}.promo-arrow-prev{left:-12px}.promo-arrow-next{right:-12px}}
/* ── Promo banners ── */
.promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.promo-card{border-radius:var(--r-xl);padding:36px;position:relative;overflow:hidden;min-height:200px;display:flex;flex-direction:column;gap:10px}
.promo-dark{background:var(--dk)}
.promo-green{background:var(--g)}
.promo-label-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:4px 12px;border-radius:100px;background:rgba(255,255,255,.15);color:#fff;width:fit-content}
.promo-title{font-family:var(--font-display);font-size:clamp(18px,2.5vw,24px);font-weight:800;color:#fff;letter-spacing:-.4px;line-height:1.2}
.promo-sub{font-size:13px;color:rgba(255,255,255,.6);line-height:1.65;flex:1}
.promo-btn-dark{display:inline-flex;align-items:center;background:var(--y);color:var(--y-dark);padding:10px 22px;border-radius:100px;font-size:13px;font-weight:700;text-decoration:none;transition:filter .15s;width:fit-content}
.promo-btn-dark:hover{filter:brightness(.95)}
.promo-btn-green{display:inline-flex;align-items:center;background:rgba(255,255,255,.15);color:#fff;border:1.5px solid rgba(255,255,255,.3);padding:10px 22px;border-radius:100px;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s;width:fit-content}
.promo-btn-green:hover{background:rgba(255,255,255,.22)}
.promo-deco{position:absolute;right:24px;bottom:-10px;font-size:80px;opacity:.18;line-height:1;pointer-events:none;user-select:none}

/* ── Trust cards grid ── */
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.trust-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:28px 22px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .2s}
.trust-card:hover{box-shadow:0 4px 20px rgba(45,145,72,.1)}
.trust-card .trust-icon{font-size:32px}
.trust-card .trust-title{font-family:var(--font-display);font-size:15px;font-weight:800;color:var(--dk)}
.trust-card .trust-desc{font-size:13px;color:var(--muted);line-height:1.6}

/* ── B2B + Farm biz grid ── */
.biz-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.biz-card{border-radius:var(--r-xl);padding:40px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:16px}
.biz-dark{background:var(--dk)}
.biz-light{background:var(--off);border:1px solid var(--border)}
.biz-eyebrow{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}
.biz-dark .biz-eyebrow{color:var(--y)}
.biz-light .biz-eyebrow{color:var(--g)}
.biz-title{font-family:var(--font-display);font-size:clamp(20px,2.8vw,28px);font-weight:800;letter-spacing:-.4px;line-height:1.2}
.biz-dark .biz-title{color:#fff}
.biz-light .biz-title{color:var(--dk)}
.biz-sub{font-size:14px;line-height:1.7}
.biz-dark .biz-sub{color:rgba(255,255,255,.55)}
.biz-light .biz-sub{color:var(--muted)}
.biz-checklist{display:flex;flex-direction:column;gap:10px}
.biz-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5}
.biz-dark .biz-check{color:rgba(255,255,255,.7)}
.biz-light .biz-check{color:#444}
.check-dot{width:20px;height:20px;border-radius:50%;background:var(--g);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.biz-cta-dark{display:inline-flex;align-items:center;background:var(--y);color:var(--y-dark);padding:12px 24px;border-radius:100px;font-size:14px;font-weight:700;text-decoration:none;transition:filter .15s;width:fit-content}
.biz-cta-dark:hover{filter:brightness(.95)}
.biz-cta-light{display:inline-flex;align-items:center;background:var(--g);color:#fff;padding:12px 24px;border-radius:100px;font-size:14px;font-weight:700;text-decoration:none;transition:background .15s;width:fit-content}
.biz-cta-light:hover{background:var(--g2)}
.biz-deco{position:absolute;right:28px;bottom:-14px;font-size:90px;opacity:.12;line-height:1;pointer-events:none;user-select:none}

/* ── B2B steps + Referral band — defined in pixel-perfect overrides block below ── */

/* ── Reviews grid — defined in pixel-perfect overrides block below ── */

/* ── Login Modal ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal-box{background:#fff;border-radius:var(--r-xl);width:100%;max-width:420px;box-shadow:0 24px 80px rgba(0,0,0,.35);overflow:hidden}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border)}
.modal-logo{display:flex;align-items:center;gap:10px}
.modal-logo img{width:36px;height:36px;object-fit:contain}
.modal-logo-name{font-family:var(--font-display);font-size:16px;font-weight:800;color:var(--dk)}
.modal-logo-name span{color:var(--g)}
.modal-close{width:32px;height:32px;border:none;background:#f0f5f1;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#555;transition:background .12s}
.modal-close:hover{background:#e0ece3}
.modal-tabs{display:flex;border-bottom:1px solid var(--border)}
.modal-tab{flex:1;padding:12px 16px;font-size:13px;font-weight:600;color:var(--muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;transition:all .12s}
.modal-tab.active{color:var(--g);border-bottom-color:var(--g)}
.modal-tab-panel{display:none;padding:24px}
.modal-tab-panel.active{display:block}
.modal-field{margin-bottom:16px}
.modal-field label{display:block;font-size:12px;font-weight:600;color:var(--dk);margin-bottom:6px}
.req{color:#dc2626}
.modal-input{width:100%;padding:10px 13px;border:1.5px solid var(--border);border-radius:var(--r-sm);font-family:var(--font-body);font-size:14px;color:var(--dk);outline:none;transition:border-color .15s;box-sizing:border-box}
.modal-input:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(45,145,72,.1)}
.modal-login-form{margin-bottom:0}
.modal-remember{display:flex;align-items:center;gap:8px;margin-bottom:16px;cursor:pointer}
.modal-btn-submit{width:100%;display:block;padding:13px;border-radius:12px;font-family:var(--font-body);font-size:14px;font-weight:700;border:none;cursor:pointer;text-align:center;text-decoration:none;transition:all .15s}
.modal-link{display:block;text-align:center;font-size:12px;color:var(--muted);margin-top:12px;text-decoration:none}
.modal-link:hover{color:var(--g)}
.modal-divider{text-align:center;font-size:12px;color:var(--muted);margin:16px 0;position:relative}
.modal-divider::before,.modal-divider::after{content:'';position:absolute;top:50%;width:40%;height:1px;background:var(--border)}
.modal-divider::before{left:0}
.modal-divider::after{right:0}
.modal-biz-intro{display:flex;align-items:flex-start;gap:14px;background:var(--off);border:1px solid var(--border);border-radius:var(--r-md);padding:16px;margin-bottom:20px}
.modal-biz-icon{font-size:32px;flex-shrink:0}
.modal-biz-intro-text h3{font-family:var(--font-display);font-size:14px;font-weight:800;color:var(--dk);margin-bottom:4px}
.modal-biz-intro-text p{font-size:12px;color:var(--muted);line-height:1.6}

/* ══════════════════════════════════════
   PRODUCT PAGE — single-product.php additions
══════════════════════════════════════ */

/* ── Breadcrumb ── */
.breadcrumb{background:#fff;border-bottom:1px solid var(--border)}
.breadcrumb-inner{display:flex;align-items:center;flex-wrap:wrap;padding:13px 0;font-size:12px;color:var(--muted)}
.breadcrumb-inner a{color:var(--muted);text-decoration:none;transition:color .12s}
.breadcrumb-inner a:hover{color:var(--g)}
.sep{margin:0 8px;opacity:.4}
.current{color:var(--dk);font-weight:500}

/* ── Product section ── */
.product-section{padding-bottom:0}

/* ── Gallery sticky wrapper ── */
.gallery{position:sticky;top:88px}
.gallery-placeholder-icon{font-size:clamp(60px,10vw,100px);filter:drop-shadow(0 8px 30px rgba(0,0,0,.5))}
.gallery-placeholder-label{font-size:12px;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.8px;margin-top:4px}
.gallery-badge-row{position:absolute;top:12px;left:12px;display:flex;gap:6px;z-index:5;flex-wrap:wrap}

/* ── Product info column ── */
.prod-info{display:flex;flex-direction:column;gap:20px}
.prod-info-badges{display:flex;gap:6px;flex-wrap:wrap}
.prod-info-name{font-family:var(--font-display);font-size:clamp(28px,3vw,38px);font-weight:800;color:var(--dk);letter-spacing:-.5px;line-height:1.1}
.prod-rating{display:flex;align-items:center;gap:8px}
.prod-stars{color:var(--y);font-size:15px;letter-spacing:1px}
.prod-rating-text{font-size:13px;color:var(--muted)}
.prod-rating-text a{color:var(--g);text-decoration:none}
.prod-rating-text a:hover{text-decoration:underline}
/* ── Price block (green bg) ── */
.price-block {
    background: var(--g-light);
    border: 1px solid #C3DFC9;
    border-radius: var(--r-lg);
    padding: 20px 22px;
}
.price-block-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}
.price-main{    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 800;
    color: var(--g);
    letter-spacing: -.5px;
    line-height: 1;}
.price-block .price-main .woocommerce-Price-amount{font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--g)}
.price-block .price-main .woocommerce-Price-currencySymbol{font-size:16px}
.price-block .price-main ins{text-decoration:none;display:inline}
.price-block .price-main del{font-size:14px;color:var(--muted);text-decoration:line-through;margin-left:6px}
.price-unit-label{font-size:13px;color:var(--muted);margin-top:4px}
.price-old-tag{font-size:13px;color:var(--muted);text-decoration:line-through;display:block}
.price-save-tag{display:inline-block;background:var(--red);color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px}
.price-note{font-size:12px;color:#555;line-height:1.6;padding-top:10px;border-top:1px solid #C3DFC9;margin-top:12px}

/* ── Stock bar ── */
.stock-bar{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:var(--r-md);padding:12px 16px}
.stock-dot{width:10px;height:10px;border-radius:50%;background:#22C55E;flex-shrink:0;box-shadow:0 0 0 3px rgba(34,197,94,.2)}
.stock-dot.low{background:#F59E0B;box-shadow:0 0 0 3px rgba(245,158,11,.2)}
.stock-text{font-size:13px;font-weight:500;color:var(--dk)}
.stock-sub{font-size:12px;color:var(--muted);margin-left:auto}

/* ── Prep options ── */
.options-label{font-size:13px;font-weight:600;color:var(--dk);margin-bottom:4px}
.options-group{display:flex;flex-direction:column;gap:12px}
.prep-options{display:flex;gap:8px;flex-wrap:wrap}
.prep-opt{padding:8px 16px;border-radius:var(--r-md);border:1px solid var(--border);background:#fff;font-family:var(--font-body);font-size:13px;color:var(--muted);cursor:pointer;transition:all .15s}
.prep-opt:hover,.prep-opt.active{border-color:var(--g);color:var(--g);background:var(--g-light)}

/* ── CTA stack ── */
.cta-stack{display:flex;flex-direction:column;gap:10px}
.btn-add-cart{width:100%;padding:16px 24px;border-radius:var(--r-lg);background:var(--g);color:#fff;border:none;font-family:var(--font-display);font-size:17px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .18s;letter-spacing:-.2px}
.btn-add-cart:hover{background:var(--g-mid);transform:translateY(-2px);box-shadow:0 8px 24px rgba(27,107,47,.35)}
.btn-add-cart:active{transform:translateY(0)}
.btn-buy-now{width:100%;padding:14px 24px;border-radius:var(--r-lg);background:var(--y);color:var(--y-dark);border:none;font-family:var(--font-body);font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s;text-decoration:none;text-align:center}
.btn-buy-now:hover{filter:brightness(.96);transform:translateY(-1px)}
.btn-buy-now-disabled{opacity:.55;pointer-events:none}
.btn-row{display:flex;gap:10px}
.btn-wishlist,.btn-share{flex:1;padding:12px;border-radius:var(--r-lg);border:1px solid var(--border);background:#fff;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px}
.btn-wishlist:hover{border-color:var(--red);color:var(--red)}
.btn-share:hover{border-color:var(--g);color:var(--g)}

/* ── Delivery strip ── */
.delivery-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}
.delivery-item{background:#fff;padding:12px 14px;display:flex;align-items:center;gap:6px}
.delivery-icon{font-size:20px;flex-shrink:0}
.delivery-text-title{font-size:12px;font-weight:600;color:var(--dk)}
.delivery-text-sub{font-size:11px;color:var(--muted)}

/* ── Product tabs section ── */
.prod-tabs-section{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:0 0 48px;padding:0}
.prod-tabs-nav{display:flex;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}
.prod-tabs-nav::-webkit-scrollbar{display:none}
.prod-tab-btn{padding:16px 28px;font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap;transition:all .15s}
.prod-tab-btn:hover:not(.active){color:var(--dk)}
.prod-tab-btn.active{color:var(--g);border-bottom-color:var(--g);font-weight:600}
.prod-tab-panel{display:none;padding:32px 0}
.prod-tab-panel.active{display:block}

/* Tab: description */
.tab-desc-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.tab-desc-title{font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--dk);margin-bottom:12px}
.tab-desc-text{font-size:14px;color:#444;line-height:1.75}
.tab-desc-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.tab-desc-list-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#444}
.tab-desc-list-item::before{content:'✓';width:20px;height:20px;border-radius:50%;background:var(--g-light);color:var(--g);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}

/* Tab: nutrition */
.nutrition-table{width:100%;border-collapse:collapse;font-size:13px}
.nutrition-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:2px solid var(--border)}
.nutrition-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:#444}
.nutrition-table tr:last-child td{border-bottom:none}
.nutrition-table tr:nth-child(even) td{background:var(--off)}

/* Tab: delivery detail */
.delivery-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.delivery-detail-card{background:var(--off);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:8px}
.delivery-detail-icon{font-size:28px}
.delivery-detail-title{font-family:var(--font-display);font-size:14px;font-weight:800;color:var(--dk)}
.delivery-detail-text{font-size:12px;color:var(--muted);line-height:1.65}

/* ── Reviews section (product page) ── */
.reviews-section{padding:48px 0 64px;border-top:1px solid var(--border)}
.reviews-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:32px}
.reviews-summary{display:flex;align-items:center;gap:32px;background:var(--off);border:1px solid var(--border);border-radius:var(--r-xl);padding:24px 28px;margin-bottom:32px}
.reviews-big-score{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}
.reviews-big-num{font-family:var(--font-display);font-size:52px;font-weight:800;color:var(--dk);line-height:1}
.reviews-big-stars{font-size:18px;color:var(--y);letter-spacing:2px}
.reviews-big-count{font-size:12px;color:var(--muted)}
.reviews-divider{width:1px;height:80px;background:var(--border);flex-shrink:0}
.reviews-bars{flex:1;display:flex;flex-direction:column;gap:8px}
.rev-bar-row{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.rev-bar-label{width:40px;text-align:right;flex-shrink:0}
.rev-bar-track{flex:1;height:6px;background:#e8f0ea;border-radius:3px;overflow:hidden}
.rev-bar-fill{height:100%;background:var(--y);border-radius:3px}
.rev-bar-count{width:28px;flex-shrink:0}
.rev-verified{display:inline-block;font-size:10px;color:var(--g);background:var(--g-light);border-radius:100px;padding:2px 8px;font-weight:700;margin-left:6px}

/* ── Price flash animation when variation selected ── */
@keyframes price-flash{0%{opacity:.4;transform:scale(.97)}100%{opacity:1;transform:scale(1)}}
.price-updated{animation:price-flash .25s ease-out}

/* ── WooCommerce review form ── */
.wc-reviews-wrapper{margin-top:8px}

/* Review form wrapper — card */
#review_form_wrapper{background:#fff;border:1.5px solid var(--border);border-radius:var(--r-xl);padding:32px 36px;max-width:700px;margin-top:36px}
#review_form_wrapper h3,.comment-reply-title{font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--dk);margin:0 0 24px}

/* Star rating */
.comment-form-rating{margin-bottom:24px}
.comment-form-rating > label{display:block;font-size:13px;font-weight:700;color:var(--dk);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}
.stars{display:flex;align-items:center;gap:0}
.stars span{display:inline-flex}
.comment-form-rating .stars a{
  display:inline-block;width:36px;height:36px;
  font-size:0 !important;text-indent:-9999px;text-decoration:none;
  position:relative;
}
.comment-form-rating .stars a::before{
  content:'★';font-size:30px;line-height:36px;
  position:absolute;left:0;top:0;
  color:#d1d5db;transition:color .12s;
  text-indent:0;
}
.comment-form-rating .stars:hover a::before{color:var(--y)}
.comment-form-rating .stars a:hover ~ a::before{color:#d1d5db !important}
.comment-form-rating .stars a.active::before,
.comment-form-rating .stars.selected a::before{color:var(--y)}
.comment-form-rating select#rating{display:none}

/* Form fields */
.comment-form p{margin:0 0 18px}
.comment-form p:last-child{margin-bottom:0}
.comment-form label{display:block;font-size:13px;font-weight:600;color:var(--dk);margin-bottom:6px}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
  width:100%;padding:11px 14px;
  border:1.5px solid #e2e8e5;border-radius:10px;
  font-size:14px;font-family:var(--font-body);color:var(--dk);
  background:#fafcfb;outline:none;box-sizing:border-box;
  transition:border-color .15s,box-shadow .15s;
}
.comment-form input[type="text"]:focus,
.comment-form input[type="email"]:focus,
.comment-form textarea:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(45,145,72,.08);background:#fff}
.comment-form textarea{min-height:130px;resize:vertical;line-height:1.65}
.comment-form .form-submit{margin-top:4px}
.comment-form input[type="submit"]{
  background:var(--g);color:#fff;border:none;border-radius:100px;
  padding:13px 32px;font-size:15px;font-weight:700;font-family:var(--font-body);
  cursor:pointer;transition:background .18s,transform .15s;letter-spacing:.2px;
}
.comment-form input[type="submit"]:hover{background:#247a3a;transform:translateY(-1px)}

/* Comment list — review cards */
.commentlist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.comment.review{background:#fff;border:1.5px solid var(--border);border-radius:var(--r-xl);padding:22px 24px}
.comment.review .woocommerce-review__author{font-weight:700;font-size:14px;color:var(--dk)}
.comment.review .woocommerce-review__dash{display:none}
.comment.review .woocommerce-review__published-date{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.comment.review .woocommerce-review__verified{display:inline-block;font-size:10px;color:var(--g);background:#e8f5ed;border-radius:100px;padding:2px 8px;font-weight:700;margin-left:6px;vertical-align:middle}
.comment.review .star-rating{font-size:14px;letter-spacing:1px;color:var(--y);margin:10px 0 8px}
.comment.review .star-rating span{display:none}
.comment.review .description p{font-size:14px;color:#555;line-height:1.7;margin:0}
/* "no reviews yet" message */
.woocommerce-noreviews{font-size:14px;color:var(--muted);margin-bottom:8px}
/* Name + email side by side */
.comment-form-author,.comment-form-email{display:inline-block;width:calc(50% - 9px);box-sizing:border-box}
.comment-form-author{margin-right:18px}
@media(max-width:600px){.comment-form-author,.comment-form-email{display:block;width:100%;margin-right:0}.commentlist{grid-template-columns:1fr}}

/* ── Related products ── */
.related-section{background:var(--off);padding:72px 0 64px;margin-top:64px;border-top:1px solid var(--border)}
.related-section .section-eyebrow{margin-bottom:6px}
.related-section .section-title{margin-bottom:32px}
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}

/* ── Variation block header ── */
.variation-block-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.variation-block-label{font-size:13px;font-weight:700;color:var(--dk)}
.variation-selected-label{font-size:13px;color:var(--g);font-weight:600}
#var-price-badge{display:inline-flex;align-items:center;background:var(--g);color:#fff;font-size:13px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.01em;transition:opacity .15s}

/* ══════════════════════════════════════
   RESPONSIVE ADDITIONS
══════════════════════════════════════ */
@media(max-width:1100px){
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .ref-band{grid-template-columns:1fr 1fr;gap:16px}
  .ref-steps,.ref-cta{grid-column:span 2;justify-self:start}
  .delivery-detail-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr}
  .biz-grid,.promo-grid{grid-template-columns:1fr}
  .ref-band{grid-template-columns:1fr;gap:12px}
  .ref-steps,.ref-cta{grid-column:auto}
  .tab-desc-grid{grid-template-columns:1fr;gap:24px}
  .delivery-detail-grid{grid-template-columns:repeat(2,1fr)}
  .related-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
  .delivery-strip{grid-template-columns:1fr}
  .gallery{position:static}
}
@media(max-width:768px){
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .prod-tabs-nav{margin-bottom:20px}
  .reviews-summary{flex-direction:column;align-items:flex-start;gap:16px}
  .reviews-divider{width:100%;height:1px}
  .reviews-bars{width:100%}
}
@media(max-width:480px){
  .trust-grid{grid-template-columns:1fr}
  .biz-card{padding:28px}
  .ref-band{padding:24px}
  .hero{padding:48px 0 40px}
  .related-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
  .tab-desc-grid{grid-template-columns:1fr}
  .delivery-detail-grid{grid-template-columns:1fr}
}
/* Corner images: hide on narrow screens where they'd overlap text */
@media(max-width:600px){
  .live-section{padding:36px 0}
  .live-embed-wrap{border-radius:10px}
}

/* ═══════════════════════════════════════════════════════
   HOMEPAGE PIXEL-PERFECT OVERRIDES — matches farmfresh-sg_1.html exactly
═══════════════════════════════════════════════════════ */

/* ── Category tabs — pill style ── */
.cat-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.cat-tab{display:flex;align-items:center;gap:7px;padding:8px 18px;border-radius:24px;font-size:13px;font-weight:500;border:1px solid var(--border);background:#fff;color:var(--muted);cursor:pointer;transition:all .15s;font-family:var(--font-body)}
.cat-tab:hover{border-color:var(--g);color:var(--g)}
.cat-tab.active{background:var(--g);color:#fff;border-color:var(--g)}
.cat-tab span{font-size:11px;opacity:.75}

/* ── Product grid ── */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
ul.products{list-style:none;padding:0;margin:0}
li.product{list-style:none}
.prod-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:all .18s;position:relative}
.prod-card:hover,.li.product.prod-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.1);border-color:#bdd9c2}
li.product:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.1);border-color:#bdd9c2}

/* ── Product card image — fixed 190px height ── */
.prod-img{height:190px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;aspect-ratio:unset}
.prod-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;position:absolute;inset:0;z-index:2}
.prod-card:hover .prod-img img,.product:hover .prod-img img{transform:scale(1.06)}
.prod-img-placeholder{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.prod-img-icon{font-size:68px;line-height:1;filter:drop-shadow(0 4px 20px rgba(0,0,0,.5))}
.prod-img-sub{font-size:10px;color:rgba(255,255,255,.45);font-weight:500;letter-spacing:.5px;text-transform:uppercase}

/* ── Product card body ── */
.prod-body{padding:14px}
.prod-name,h2.prod-name,.woocommerce-loop-product__title{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--dk);margin-bottom:3px}
.prod-desc,p.prod-desc{font-size:12px;color:var(--muted);margin-bottom:12px;line-height:1.5}
.prod-footer{display:flex;align-items:center;justify-content:space-between}
.prod-price,.price{font-size:17px;font-weight:700;color:var(--g)}
.prod-price-unit{font-size:11px;color:var(--muted);margin-top:1px;font-weight:400}

/* ── Add button — CIRCLE ── */
.add-btn{width:34px;height:34px;border-radius:50%;background:var(--g);border:none;color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;cursor:pointer;text-decoration:none}
.add-btn:hover{background:var(--g2);transform:scale(1.08)}

/* ── Promo grid — 1.35/1 ratio, dk2 dark card ── */
.promo-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}
.promo-card{border-radius:var(--r-xl);padding:32px;position:relative;overflow:hidden;min-height:220px;display:flex;flex-direction:column;gap:10px}
.promo-dark{background:var(--dk2)}
.promo-label-tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;margin-bottom:0;opacity:.6}
.promo-dark .promo-label-tag{color:var(--y);opacity:1}
.promo-green .promo-label-tag{color:#A7F3C0;opacity:1}
.promo-title{font-family:var(--font-display);font-size:clamp(20px,2.5vw,26px);font-weight:800;color:#fff;line-height:1.2;margin-bottom:8px;letter-spacing:-.3px}
.promo-sub{font-size:13px;color:rgba(255,255,255,.55);margin-bottom:20px;line-height:1.6}
.promo-btn-dark{background:var(--y);color:var(--y-dark);border:none;padding:10px 22px;border-radius:20px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;cursor:pointer;text-decoration:none;transition:filter .15s}
.promo-btn-green{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.25);padding:10px 22px;border-radius:20px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;cursor:pointer;text-decoration:none;transition:filter .15s}
.promo-btn-dark:hover,.promo-btn-green:hover{filter:brightness(1.1)}
.promo-deco{position:absolute;right:24px;bottom:16px;font-size:72px;opacity:.12;pointer-events:none;line-height:1}
.promo-green .promo-deco{opacity:.18}

/* ── Trust cards — centered text, smaller padding ── */
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.trust-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);padding:20px 16px;text-align:center;display:block;transition:box-shadow .2s}
.trust-card:hover{box-shadow:0 4px 20px rgba(45,145,72,.1)}
.trust-icon{font-size:30px;margin-bottom:10px;display:block}
.trust-title{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--dk);margin-bottom:4px}
.trust-desc{font-size:12px;color:var(--muted);line-height:1.6}

/* ── Biz cards — g-light bg, correct check-dot colours ── */
.biz-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.biz-card{border-radius:var(--r-xl);padding:30px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:16px}
.biz-light{background:#E8F5EC;border:1px solid #C3DFC9}
.biz-dark{background:var(--dk)}
.biz-eyebrow{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;margin-bottom:0}
.biz-dark .biz-eyebrow{color:var(--y)}
.biz-light .biz-eyebrow{color:var(--g)}
.biz-sub{font-size:13px;line-height:1.65}
.biz-dark .biz-sub{color:rgba(255,255,255,.5)}
.biz-light .biz-sub{color:#555}
.biz-checklist{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}
.biz-check{display:flex;align-items:center;gap:8px;font-size:12px}
.biz-dark .biz-check{color:rgba(255,255,255,.65)}
.biz-light .biz-check{color:#444}
.check-dot{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}
.biz-dark .check-dot{background:rgba(245,200,66,.15);color:var(--y)}
.biz-light .check-dot{background:#C8EAD0;color:var(--g)}
.biz-cta-dark{display:inline-flex;align-items:center;background:var(--y);color:var(--y-dark);padding:12px 24px;border-radius:22px;font-size:14px;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:filter .15s;width:fit-content}
.biz-cta-dark:hover{filter:brightness(1.07)}
.biz-cta-light{display:inline-flex;align-items:center;background:var(--g);color:#fff;padding:12px 24px;border-radius:22px;font-size:14px;font-weight:500;text-decoration:none;border:none;cursor:pointer;transition:filter .15s;width:fit-content}
.biz-cta-light:hover{filter:brightness(1.07)}
.biz-deco{position:absolute;right:20px;bottom:16px;font-size:64px;opacity:.1;pointer-events:none;line-height:1;user-select:none}
.biz-light .biz-deco{opacity:.2}

/* ── B2B steps — CSS grid, connecting line, 64px yellow circles ── */
.b2b-steps-section{background:var(--dk);padding:64px 0}
.b2b-steps-section .section-eyebrow{color:var(--y)}
.b2b-steps-section .section-title{color:#fff}
.b2b-steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:40px;position:relative}
.b2b-steps-grid::before{content:'';position:absolute;top:32px;left:calc(16.6% + 16px);right:calc(16.6% + 16px);height:1px;background:rgba(255,255,255,.12);z-index:0}
.b2b-step{text-align:center;padding:0 24px;position:relative;z-index:1;background:transparent;border:none;flex:unset;max-width:unset;display:block;gap:unset;align-items:unset;flex-direction:unset;border-radius:0}
.b2b-step .b2b-step-num{width:64px;height:64px;border-radius:50%;border:1.5px solid rgba(245,184,46,.4);background:rgba(245,184,46,.08);color:var(--y);font-family:var(--font-display);font-size:22px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;flex-shrink:0}
.b2b-step .b2b-step-title{font-family:var(--font-display);font-size:16px;font-weight:800;color:#fff;margin-bottom:8px;display:block}
.b2b-step .b2b-step-desc{font-size:13px;color:rgba(255,255,255,.5);line-height:1.65;display:block}
.b2b-steps-cta{text-align:center;margin-top:40px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding-top:0}
.btn-steps-primary{background:var(--y);color:var(--y-dark);border:none;padding:14px 32px;border-radius:30px;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:filter .15s;font-family:var(--font-body)}
.btn-steps-primary:hover{filter:brightness(.95)}
.btn-steps-ghost{background:transparent;color:rgba(255,255,255,.7);border:1.5px solid rgba(255,255,255,.2);padding:13px 28px;border-radius:30px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .15s;font-family:var(--font-body)}
.btn-steps-ghost:hover{border-color:rgba(255,255,255,.5);color:#fff}
@media(max-width:640px){.b2b-steps-grid{grid-template-columns:1fr;gap:32px}.b2b-steps-grid::before{display:none}}

/* ── Referral band — flex layout, dk2 bg, yellow step numbers ── */
.ref-band{background:var(--dk2);border-radius:var(--r-xl);padding:32px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ref-left{}
.ref-label{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:rgba(255,255,255,.4);margin-bottom:6px}
.ref-title{font-family:var(--font-display);font-size:clamp(20px,2.5vw,28px);font-weight:800;color:#fff;letter-spacing:-.3px}
.ref-title span{color:var(--y)}
.ref-mid{font-size:13px;color:rgba(255,255,255,.5);line-height:1.7;max-width:240px}
.ref-steps{display:flex;gap:12px}
.ref-step{text-align:center}
.ref-step-num{width:32px;height:32px;border-radius:50%;background:rgba(245,200,66,.12);border:1px solid rgba(245,200,66,.2);color:var(--y);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 5px;flex-shrink:0}
.ref-step-text{font-size:11px;color:rgba(255,255,255,.45);max-width:70px;line-height:1.4}
.ref-cta{background:var(--y);border:none;color:var(--y-dark);padding:13px 26px;border-radius:24px;font-size:14px;font-weight:700;white-space:nowrap;flex-shrink:0;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:filter .15s}
.ref-cta:hover{filter:brightness(.96)}

/* ── Reviews — 3 columns desktop, 2 tablet, 1 mobile ── */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.reviews-grid{grid-template-columns:1fr}}
.rev-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column}
.rev-stars{color:#F59E0B;font-size:14px;margin-bottom:12px;letter-spacing:2px}
.rev-text{font-size:14px;color:#444;line-height:1.7;margin-bottom:16px;flex:1}
.rev-author{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}
.rev-avatar{width:38px;height:38px;border-radius:50%;background:#E8F5EC;color:var(--g);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rev-name{font-size:13px;font-weight:700;color:var(--dk);white-space:nowrap}
.rev-meta{font-size:12px;color:var(--muted);margin-top:2px}

/* ── Responsive fixes for flex ref-band ── */
@media(max-width:900px){
  .ref-band{flex-direction:column;align-items:flex-start}
  .ref-steps{display:none}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .promo-grid{grid-template-columns:1fr}
  .biz-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .cat-tab{padding:7px 12px;font-size:12px; text-align: center; line-height: 12px; }
  .cat-tabs{gap:6px}
  .ref-band{padding:22px}
  .biz-card{padding:22px}
  .promo-card{padding:22px}
}

/* ═══════════════════════════════════════════════════════════════════
   B2B / TRADE PAGE  (page-b2b-trade.php)
═══════════════════════════════════════════════════════════════════ */

/* Access gate */
.access-gate-bar{background:linear-gradient(90deg,#0f2012,#1a3820);border-bottom:1px solid rgba(245,184,46,.2);padding:12px 0}
.access-gate-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.access-gate-left{display:flex;align-items:center;gap:12px;flex:1}
.access-gate-icon{font-size:18px;flex-shrink:0}
.access-gate-left strong{color:#fff;font-size:13px;font-weight:700;display:block;margin-bottom:2px}
.access-gate-left span{font-size:12px;color:rgba(255,255,255,.5)}
.access-gate-btn{background:var(--y);color:var(--y-dark);font-size:13px;font-weight:700;padding:9px 20px;border-radius:20px;text-decoration:none;white-space:nowrap;transition:filter .15s;flex-shrink:0}
.access-gate-btn:hover{filter:brightness(.95)}

/* Hero */
.b2b-hero{background:linear-gradient(135deg,#071409 0%,#112918 45%,#0b1f10 100%);padding:80px 0 0;position:relative;overflow:hidden}
.b2b-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 70% 50%,rgba(45,145,72,.18) 0%,transparent 70%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding-bottom:60px}
.hero-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(245,184,46,0.15);border:1px solid rgba(245,184,46,0.35);color:var(--y);font-size:12px;font-weight:700;letter-spacing:.8px;padding:5px 14px;border-radius:100px;margin-bottom:24px}
.b2b-hero h1{font-family:var(--font-display);font-size:clamp(34px,4.2vw,54px);font-weight:800;color:#fff;line-height:1.08;letter-spacing:-1.5px;margin-bottom:20px}
.b2b-hero h1 span{color:var(--y)}
.b2b-hero>div>div>div>p,.hero-left>p{font-size:16px;color:rgba(255,255,255,0.68);line-height:1.7;margin-bottom:32px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn-hero-primary{display:inline-flex;align-items:center;gap:8px;background:var(--y);color:#0D1F0F;padding:14px 28px;border-radius:100px;font-family:var(--font-display);font-size:15px;font-weight:800;text-decoration:none;transition:all .18s;border:none;cursor:pointer}
.btn-hero-primary:hover{background:#e8a820;transform:translateY(-1px);box-shadow:0 8px 28px rgba(245,184,46,.35)}
.btn-hero-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;padding:14px 28px;border-radius:100px;font-family:var(--font-display);font-size:15px;font-weight:700;text-decoration:none;border:1.5px solid rgba(255,255,255,0.3);transition:all .18s;cursor:pointer}
.btn-hero-ghost:hover{border-color:rgba(255,255,255,0.7);background:rgba(255,255,255,0.06)}
.hero-stats-bar{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,0.08);padding:28px 0 0}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr)}
.hero-stat{padding:20px 24px 28px;border-right:1px solid rgba(255,255,255,0.07);text-align:center}
.hero-stat:last-child{border-right:none}
.hero-stat-num{font-family:var(--font-display);font-size:34px;font-weight:800;color:#fff;line-height:1}
.hero-stat-num span{color:var(--y)}
.hero-stat-label{font-size:12px;color:rgba(255,255,255,.42);margin-top:6px;font-weight:500}
.hero-wave{display:block;width:100%;margin-bottom:-2px}
.hero-visual{position:relative;height:480px}
.hero-img-main{width:100%;height:100%;border-radius:20px;overflow:hidden;position:relative;box-shadow:0 32px 80px rgba(0,0,0,.55)}
.hero-img-main img{width:100%;height:100%;object-fit:cover;display:block}
.hero-img-main::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,transparent 50%,rgba(7,20,9,.6) 100%);border-radius:20px}
.hero-chip{position:absolute;display:flex;align-items:center;gap:8px;background:rgba(10,26,12,.88);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px 14px;color:#fff;font-size:13px;font-weight:600;box-shadow:0 8px 32px rgba(0,0,0,.35)}
.hero-chip-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.hero-chip-text{line-height:1.3}
.hero-chip-text small{display:block;font-size:11px;color:rgba(255,255,255,.5);font-weight:400}
.chip-delivery{top:24px;left:-28px;animation:chipFloat 4s ease-in-out infinite}
.chip-fresh{bottom:80px;left:-32px;animation:chipFloat 4s ease-in-out infinite .8s}
.chip-cert{bottom:24px;right:16px;animation:chipFloat 4s ease-in-out infinite 1.6s}
@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.hero-img-badge{position:absolute;top:20px;right:20px;background:var(--y);color:#0D1F0F;font-family:var(--font-display);font-size:12px;font-weight:800;padding:6px 14px;border-radius:100px;letter-spacing:.4px;box-shadow:0 4px 16px rgba(245,184,46,.4)}

/* Trust bar */
.trust-bar{background:#fff;border-bottom:1px solid var(--border);padding:18px 0}
.trust-inner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}
.trust-label{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.5px;text-transform:uppercase;margin-right:8px}
.trust-chip{display:inline-flex;align-items:center;gap:6px;background:var(--g-light);border:1px solid #d0eada;color:var(--g);font-size:12px;font-weight:600;padding:5px 13px;border-radius:100px}

/* Section headings */
.section-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--g);margin-bottom:10px}
.section-title{font-family:var(--font-display);font-size:clamp(26px,3.5vw,38px);font-weight:800;color:var(--dk);letter-spacing:-1px;line-height:1.15}
.section-sub{font-size:15px;color:var(--muted);line-height:1.65;margin-top:12px}

/* Benefits */
.benefits-section{padding:80px 0}
.benefits-header{text-align:center;max-width:600px;margin:0 auto 56px}
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.benefit-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:28px 24px;transition:box-shadow .2s,transform .2s}
.benefit-card:hover{box-shadow:0 8px 32px rgba(45,145,72,.1);transform:translateY(-3px)}
.benefit-icon{width:52px;height:52px;background:var(--g-light);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:18px}
.benefit-title{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--dk);margin-bottom:8px}
.benefit-desc{font-size:13px;color:var(--muted);line-height:1.6}

/* Pricing table */
.pricing-section{padding:80px 0;background:#fff}
.pricing-header{text-align:center;max-width:600px;margin:0 auto 52px}
.pricing-header .section-eyebrow{color:var(--g)}
.pricing-header .section-title{color:var(--dk)}
.pricing-header .section-sub{color:var(--muted)}
.pricing-table-wrap{overflow-x:auto;border-radius:var(--r-lg);border:1.5px solid var(--border)}
.pricing-table{width:100%;border-collapse:collapse;background:#fff;min-width:640px}
.pricing-table thead tr{background:var(--g-light);border-bottom:2px solid var(--border)}
.pricing-table th{padding:16px 20px;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--g-mid);text-align:left}
.pricing-table th:not(:first-child){text-align:center}
.pricing-table td{padding:16px 20px;font-size:14px;color:var(--dk);border-bottom:1px solid var(--border)}
.pricing-table td:not(:first-child){text-align:center;font-weight:600}
.pricing-table tr:last-child td{border-bottom:none}
.pricing-table tr:hover td{background:var(--g-light)}
.prod-name-cell{display:flex;align-items:center;gap:10px}
.prod-emoji-cell{width:36px;height:36px;background:var(--g-light);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.tier-badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:11px;font-weight:700}
.tier-retail{background:#f1f5f9;color:#64748b}
.tier-trade{background:#dcfce7;color:#16a34a}
.tier-bulk{background:#fef9c3;color:#a16207}
.tier-custom{background:#fee2e2;color:#dc2626}
.pricing-note{margin-top:20px;text-align:center;font-size:12px;color:var(--muted)}
/* Add To Quote button in pricing table */
.atq-btn{display:inline-block;padding:7px 16px;border-radius:100px;border:1.5px solid var(--border);background:#fff;color:var(--g-mid);font-size:12px;font-weight:600;letter-spacing:.3px;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background .18s,border-color .18s,color .18s}
.atq-btn:hover{background:var(--g);border-color:var(--g);color:#fff}
.atq-btn--added{background:var(--g)!important;border-color:var(--g)!important;color:#fff!important}

/* Audience */
.audience-section{padding:80px 0}
.audience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:48px}
.audience-card{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/2}
.audience-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.audience-card:hover img{transform:scale(1.05)}
.audience-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,26,12,.85) 0%,rgba(10,26,12,.2) 60%,transparent 100%)}
.audience-label{position:absolute;bottom:0;left:0;right:0;padding:20px 18px}
.audience-label h3{font-family:var(--font-display);font-size:17px;font-weight:700;color:#fff;margin-bottom:4px}
.audience-label p{font-size:12px;color:rgba(255,255,255,.65)}

/* How it works */
.how-section{padding:80px 0;background:#fff}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:52px;position:relative}
.how-grid::before{content:'';position:absolute;top:32px;left:12%;right:12%;height:2px;background:linear-gradient(to right,var(--g),var(--y));opacity:.25;z-index:0}
.how-step{text-align:center;padding:0 20px;position:relative;z-index:1}
.how-num{width:64px;height:64px;background:var(--g-light);border:2px solid var(--g);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--g);margin:0 auto 20px}
.how-title{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--dk);margin-bottom:8px}
.how-desc{font-size:13px;color:var(--muted);line-height:1.6}

/* Enquiry form */
.enquiry-section{padding:80px 0;background:#fff}
.enquiry-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start}
.enquiry-info h2{font-family:var(--font-display);font-size:32px;font-weight:800;color:var(--dk);letter-spacing:-1px;margin-bottom:16px}
.enquiry-info p{font-size:15px;color:var(--muted);line-height:1.7;margin-bottom:28px}
.contact-list{list-style:none;display:flex;flex-direction:column;gap:14px}
.contact-list li{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--dk)}
.contact-list a{color:var(--g);text-decoration:none}
.contact-list a:hover{text-decoration:underline}
.contact-icon{width:36px;height:36px;background:var(--g-light);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;margin-top:1px}
.contact-text strong{display:block;font-weight:600;margin-bottom:1px}
.contact-text span{color:var(--muted);font-size:13px}
.enquiry-form{background:#fff;border:1px solid var(--border);border-radius:20px;padding:36px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:13px;font-weight:600;color:var(--dk);margin-bottom:6px}
.form-group .req{color:var(--red)}
.form-control{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:10px;font-family:var(--font-body);font-size:14px;color:var(--dk);background:#fff;transition:border-color .15s,box-shadow .15s;outline:none}
.form-control:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(45,145,72,.1)}
select.form-control{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='%236b7c70' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
textarea.form-control{resize:vertical;min-height:110px}
.form-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--muted);cursor:pointer}
.form-check input{margin-top:2px;accent-color:var(--g);width:15px;height:15px;flex-shrink:0;cursor:pointer}
.btn-submit{width:100%;padding:15px;background:var(--g);color:#fff;border:none;border-radius:12px;font-family:var(--font-display);font-size:16px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .18s;letter-spacing:-.1px;margin-top:8px}
.btn-submit:hover{background:var(--g-mid);transform:translateY(-1px);box-shadow:0 8px 24px rgba(45,145,72,.3)}
.btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}
.form-note{text-align:center;font-size:12px;color:var(--muted);margin-top:12px;display:flex;align-items:center;justify-content:center;gap:5px}

/* Toast */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(40px);background:#0f1f12;color:#fff;padding:13px 22px;border-radius:30px;font-size:14px;font-weight:500;z-index:9999;opacity:0;transition:all .35s ease;pointer-events:none;white-space:nowrap;box-shadow:0 6px 24px rgba(0,0,0,.4)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* B2B responsive */
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{height:320px;margin-top:8px}
  .chip-delivery,.chip-fresh{left:8px}
  .enquiry-wrap{grid-template-columns:1fr}
  .how-grid::before{display:none}
  .access-gate-inner{flex-direction:column;align-items:flex-start}
  .access-gate-btn{align-self:flex-end}
}
@media(max-width:600px){
  .form-row{grid-template-columns:1fr}
  .hero-stats{grid-template-columns:repeat(2,1fr)}
  .hero-stat{border-right:none;border-bottom:1px solid rgba(255,255,255,.07)}
  .hero-stat:nth-child(odd){border-right:1px solid rgba(255,255,255,.07)}
  .b2b-hero{padding:52px 0 0}
}

/* ═══════════════════════════════════════════════════════════════════
   FARM TOUR PAGE  (page-farm-tour.php)
═══════════════════════════════════════════════════════════════════ */

/* Hero — reuses b2b-hero + hero-grid + hero-visual + chip classes exactly.
   .ft-hero-page is a tiny modifier for farm-tour-specific wave fill colour. */
.ft-hero-page .hero-wave path{fill:#f7f9f7}
/* wave SVG fill matches the off-white trust strip below */

/* Trust strip */
.ft-trust-strip{background:#fff;border-bottom:1px solid var(--border);padding:14px 0}
.ft-trust-inner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.ft-trust-item{font-size:13px;font-weight:500;color:var(--dk)}
.ft-trust-dot{color:var(--border);font-size:18px;line-height:1}

/* Section head */
.ft-section-head{margin-bottom:48px}

/* Highlights */
.ft-highlights-section{padding:80px 0;background:var(--off)}
.ft-highlights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ft-highlight-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:28px 24px;transition:transform .18s,box-shadow .18s}
.ft-highlight-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(45,145,72,.1)}
.ft-hl-icon{font-size:32px;margin-bottom:14px}
.ft-hl-title{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--dk);margin-bottom:8px}
.ft-hl-desc{font-size:13px;color:var(--muted);line-height:1.65}

/* Gallery */
.ft-gallery-section{padding:80px 0}
.ft-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:240px 240px;gap:12px;margin-top:40px}
.ft-gallery-large{grid-column:1/3;grid-row:1/3}
.ft-gallery-item{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--g-light)}
.ft-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.ft-gallery-item:hover img{transform:scale(1.05)}
.ft-gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,20,9,.7) 0%,transparent 60%);display:flex;align-items:flex-end;padding:14px}
.ft-gallery-overlay span{font-size:13px;font-weight:600;color:#fff}

/* Packages */
.ft-packages-section{padding:80px 0;background:var(--dk2)}
.ft-packages-section .section-eyebrow{color:var(--y)}
.ft-packages-section .section-title{color:#fff}
.ft-packages-section .section-sub{color:rgba(255,255,255,.5)}
.ft-packages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.ft-package-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-xl);padding:32px 28px;position:relative;display:flex;flex-direction:column;transition:border-color .18s}
.ft-package-card:hover{border-color:rgba(255,255,255,.2)}
.ft-pkg-featured{background:rgba(45,145,72,.12);border-color:rgba(45,145,72,.4)}
.ft-pkg-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--y);color:var(--y-dark);font-size:11px;font-weight:800;padding:4px 14px;border-radius:100px;white-space:nowrap;letter-spacing:.3px}
.ft-pkg-header{margin-bottom:20px}
.ft-pkg-icon{font-size:32px;margin-bottom:12px}
.ft-pkg-name{font-family:var(--font-display);font-size:20px;font-weight:800;color:#fff;margin-bottom:4px}
.ft-pkg-tagline{font-size:13px;color:rgba(255,255,255,.45)}
.ft-pkg-price{display:flex;align-items:baseline;gap:4px;margin-bottom:4px}
.ft-pkg-amount{font-family:var(--font-display);font-size:38px;font-weight:800;color:#fff}
.ft-pkg-unit{font-size:14px;color:rgba(255,255,255,.45)}
.ft-pkg-child-price{font-size:12px;color:rgba(255,255,255,.35);margin-bottom:24px}
.ft-pkg-features{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:28px;flex:1}
.ft-pkg-features li{font-size:13px;color:rgba(255,255,255,.7)}
.ft-pkg-btn{display:block;width:100%;padding:13px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--r-lg);text-align:center;color:#fff;font-family:var(--font-display);font-size:14px;font-weight:700;text-decoration:none;transition:all .18s;cursor:pointer}
.ft-pkg-btn:hover,.ft-pkg-featured .ft-pkg-btn{background:var(--g);border-color:var(--g)}
.ft-pkg-featured .ft-pkg-btn:hover{background:var(--g-mid)}

/* Included / Not included */
.ft-included-section{padding:60px 0;background:#fff}
.ft-included-wrap{display:grid;grid-template-columns:1fr 4px 1fr;gap:40px;align-items:start}
.ft-included-divider{background:var(--border);border-radius:2px}
.ft-incl-title{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--dk);margin-bottom:20px}
.ft-incl-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0}
.ft-incl-yes{background:var(--g-light);color:var(--g)}
.ft-incl-no{background:#fef2f2;color:#dc2626}
.ft-incl-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.ft-incl-list li{font-size:14px;line-height:1.5;padding-left:16px;position:relative}
.ft-incl-list-yes li::before{content:'✓';position:absolute;left:0;color:var(--g);font-weight:700}
.ft-incl-list-no li::before{content:'✗';position:absolute;left:0;color:#dc2626}
.ft-incl-note{margin-top:20px;background:var(--g-light);border:1px solid #C3DFC9;border-radius:10px;padding:12px 14px;font-size:13px;color:var(--dk);line-height:1.55}

/* ── Media gallery ── */
.ft-media-section{padding:80px 0;background:var(--off)}

/* filter tabs */
.ft-media-tabs{display:flex;gap:6px;justify-content:center;margin-bottom:36px}
.ft-media-tab{display:inline-flex;align-items:center;gap:6px;padding:9px 20px;border-radius:100px;border:1.5px solid var(--border);background:#fff;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--font-body)}
.ft-media-tab:hover{border-color:var(--g);color:var(--g)}
.ft-media-tab.active{background:var(--g);color:#fff;border-color:var(--g)}

/* grid */
.ft-media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ft-media-item{border-radius:var(--r-lg);overflow:hidden;cursor:pointer;position:relative;background:var(--g-light)}
.ft-media-item:focus-visible{outline:3px solid var(--g);outline-offset:2px}
.ft-media-thumb{position:relative;aspect-ratio:16/10;overflow:hidden}
.ft-media-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.ft-media-item:hover .ft-media-thumb img{transform:scale(1.06)}

/* overlay */
.ft-media-overlay{position:absolute;inset:0;background:rgba(7,20,9,0);transition:background .2s;display:flex;align-items:center;justify-content:center}
.ft-media-item:hover .ft-media-overlay{background:rgba(7,20,9,.45)}

/* play button */
.ft-play-btn{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:all .2s;flex-shrink:0}
.ft-media-item:hover .ft-play-btn{opacity:1;transform:scale(1)}

/* zoom button */
.ft-zoom-btn{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transform:scale(.8);transition:all .2s}
.ft-media-item:hover .ft-zoom-btn{opacity:1;transform:scale(1)}

/* video badge */
.ft-media-type-badge{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:4px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;font-weight:700;padding:4px 9px;border-radius:100px;backdrop-filter:blur(4px)}

/* caption strip */
.ft-media-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(7,20,9,.8) 0%,transparent 100%);color:#fff;font-size:12px;font-weight:500;padding:28px 12px 10px;transform:translateY(100%);transition:transform .22s ease}
.ft-media-item:hover .ft-media-caption{transform:translateY(0)}

/* ── Lightbox ── */
.ft-lightbox{position:fixed;inset:0;z-index:2000;background:rgba(5,14,6,.94);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:20px}
.ft-lightbox[hidden]{display:none}
.ft-lb-content{position:relative;max-width:min(1000px,90vw);max-height:75vh;display:flex;align-items:center;justify-content:center}
.ft-lb-content img{max-width:100%;max-height:75vh;border-radius:var(--r-lg);object-fit:contain;box-shadow:0 32px 80px rgba(0,0,0,.7);display:block}
.ft-lb-content iframe{width:min(900px,85vw);height:min(506px,48vw);border-radius:var(--r-lg);border:none;display:block}
.ft-lb-close{position:fixed;top:18px;right:20px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:10}
.ft-lb-close:hover{background:rgba(255,255,255,.22)}
.ft-lb-nav{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:10}
.ft-lb-nav:hover{background:rgba(255,255,255,.22)}
.ft-lb-prev{left:16px}
.ft-lb-next{right:16px}
.ft-lb-caption{color:rgba(255,255,255,.75);font-size:13px;text-align:center;max-width:600px}
.ft-lb-counter{color:rgba(255,255,255,.35);font-size:12px}

/* Reviews */
.ft-reviews-section{padding:80px 0;background:var(--off)}
.ft-reviews-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.ft-rev-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:22px}
.ft-rev-stars{color:var(--y);font-size:14px;margin-bottom:10px;letter-spacing:1px}
.ft-rev-text{font-size:13px;color:var(--dk);line-height:1.65;margin-bottom:16px}
.ft-rev-author{display:flex;align-items:center;gap:10px}
.ft-rev-avatar{width:36px;height:36px;border-radius:50%;background:var(--g-light);color:var(--g);font-family:var(--font-display);font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ft-rev-name{font-size:13px;font-weight:700;color:var(--dk);white-space:nowrap}
.ft-rev-meta{font-size:11px;color:var(--muted);margin-top:1px}

/* Booking section */
.ft-booking-section{padding:80px 0}
.ft-booking-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start}
.ft-booking-info h2{font-family:var(--font-display);font-size:32px;font-weight:800;color:var(--dk);letter-spacing:-1px;margin-bottom:16px}
.ft-booking-info p{font-size:15px;color:var(--muted);line-height:1.7;margin-bottom:28px}

/* FAQ */
.ft-faq-section{padding:80px 0;background:#fff}
.ft-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin-top:40px}
.ft-faq-item{border-bottom:1px solid var(--border)}
.ft-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:none;border:none;padding:18px 0;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--dk);cursor:pointer;text-align:left;transition:color .15s}
.ft-faq-q:hover{color:var(--g)}
.ft-faq-chevron{flex-shrink:0;transition:transform .2s}
.ft-faq-q[aria-expanded="true"] .ft-faq-chevron{transform:rotate(180deg)}
.ft-faq-q[aria-expanded="true"]{color:var(--g)}
.ft-faq-a{padding:0 0 16px}
.ft-faq-a p{font-size:13px;color:var(--muted);line-height:1.7}

/* Location */
.ft-location-section{padding:80px 0;background:var(--off)}
.ft-location-wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.ft-location-details{display:flex;flex-direction:column;gap:14px;margin-top:24px}
.ft-loc-item{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--dk);line-height:1.5}
.ft-loc-icon{font-size:18px;flex-shrink:0;margin-top:1px}
.ft-map-wrap{border-radius:var(--r-lg);overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.12);border:1px solid var(--border)}

/* Farm Tour responsive */
@media(max-width:1024px){
  .ft-highlights-grid{grid-template-columns:repeat(2,1fr)}
  .ft-packages-grid{grid-template-columns:1fr}
  .ft-packages-grid .ft-package-card{max-width:480px;margin:0 auto;width:100%}
  .ft-reviews-grid{grid-template-columns:repeat(2,1fr)}
  .ft-media-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .ft-included-wrap{grid-template-columns:1fr;gap:32px}
  .ft-included-divider{display:none}
  .ft-booking-wrap{grid-template-columns:1fr}
  .ft-location-wrap{grid-template-columns:1fr}
  .ft-faq-grid{grid-template-columns:1fr}
  .ft-gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}
  .ft-gallery-large{grid-column:auto;grid-row:auto}
}
@media(max-width:640px){
  .ft-highlights-grid{grid-template-columns:1fr}
  .ft-reviews-grid{grid-template-columns:1fr}
  .ft-gallery-grid{grid-template-columns:1fr}
  .ft-media-grid{grid-template-columns:1fr}
  .ft-trust-dot{display:none}
  .ft-trust-inner{gap:8px}
  .ft-lb-content iframe{width:90vw;height:50vw}
  .ft-lb-nav{display:none}
}

/* ══════════════════════════════════════════════════
   TRADE REGISTER PAGE
══════════════════════════════════════════════════ */
.reg-page-wrap{background:var(--bg);min-height:60vh}
/* ── How it works strip — light, between hero and form ── */
.reg-how-section{background:#fff;border-bottom:1px solid #e8ede9;padding:36px 24px}
.reg-how-label{text-align:center;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--g);margin-bottom:28px}
.reg-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:780px;margin:0 auto;position:relative}
.reg-how-step{text-align:center;padding:0 20px;position:relative}
.reg-how-num{width:48px;height:48px;border-radius:50%;background:var(--g);color:#fff;font-family:var(--font-display);font-size:20px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.reg-how-line{position:absolute;top:24px;left:calc(50% + 24px);right:calc(-50% + 24px);height:1px;background:#d4e8d8;z-index:0}
.reg-how-title{font-family:var(--font-display);font-size:14px;font-weight:800;color:var(--dk);margin-bottom:6px}
.reg-how-desc{font-size:12px;color:var(--muted);line-height:1.6}
@media(max-width:640px){.reg-how-grid{grid-template-columns:1fr;gap:24px}.reg-how-line{display:none}}

/* Hero */
.reg-hero{background:linear-gradient(135deg,#0f2012,#1b3a20);padding:52px 24px 48px;text-align:center}
.reg-hero-inner{max-width:680px;margin:0 auto}
.reg-hero-badge{display:inline-block;background:rgba(45,145,72,.3);color:#a8d5b5;font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:5px 14px;border-radius:100px;border:1px solid rgba(45,145,72,.4);margin-bottom:18px}
.reg-hero-title{font-family:var(--font-display);font-size:32px;font-weight:800;color:#fff;margin-bottom:12px}
.reg-hero-sub{font-size:15px;color:rgba(255,255,255,.65);line-height:1.6;margin-bottom:20px}
.reg-hero-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.reg-hero-chips span{font-size:12px;color:rgba(255,255,255,.75);background:rgba(255,255,255,.08);padding:5px 12px;border-radius:100px;border:1px solid rgba(255,255,255,.12)}

/* Layout */
.reg-body{max-width:1100px;margin:0 auto;padding:36px 24px 80px;display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}
@media(max-width:860px){.reg-body{grid-template-columns:1fr}}

/* Form card */
.reg-form-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:32px}
.reg-section-title{font-family:var(--font-display);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.reg-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
@media(max-width:540px){.reg-row{grid-template-columns:1fr}}
.reg-field{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}
.reg-field label{font-size:12px;font-weight:600;color:var(--dk);text-transform:uppercase;letter-spacing:.3px}
.reg-field .req{color:var(--red)}
.reg-input{padding:11px 14px;border:1.5px solid var(--border);border-radius:9px;font-family:var(--font-body);font-size:14px;color:var(--dk);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}
.reg-input:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(45,145,72,.1)}
.reg-input.reg-input-error{border-color:var(--red);box-shadow:0 0 0 3px rgba(220,38,38,.08)}
.reg-textarea{min-height:100px;resize:vertical}
.reg-field-hint{font-size:11px;color:var(--muted);margin-top:2px}
.reg-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--muted);cursor:pointer;margin-bottom:20px;line-height:1.5}
.reg-consent input{margin-top:2px;accent-color:var(--g);flex-shrink:0}
.reg-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px;color:var(--red);margin-bottom:16px}
.reg-btn-submit{width:100%;padding:15px;background:var(--g);color:#fff;border:none;border-radius:12px;font-family:var(--font-display);font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,transform .15s}
.reg-btn-submit:hover{background:var(--g2);transform:translateY(-1px)}
.reg-btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.reg-privacy-note{text-align:center;font-size:11px;color:var(--muted);margin-top:12px;display:flex;align-items:center;justify-content:center;gap:5px}

/* Success state */
.reg-success-state{text-align:center;padding:20px 0}
.reg-success-icon{font-size:60px;margin-bottom:16px}
.reg-success-state h2{font-family:var(--font-display);font-size:24px;font-weight:800;color:var(--dk);margin-bottom:10px}
.reg-success-state p{font-size:15px;color:var(--muted);margin-bottom:10px;line-height:1.6}
.reg-ref-display{background:var(--g-light);border:1px solid rgba(45,145,72,.2);border-radius:8px;padding:12px 20px;font-size:14px;color:var(--dk);display:inline-block;margin:10px 0 20px}
.reg-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--g);color:#fff;border-radius:100px;font-family:var(--font-display);font-size:14px;font-weight:700;text-decoration:none;transition:background .15s}
.reg-btn-primary:hover{background:var(--g2)}

/* Sidebar */
.reg-side{display:flex;flex-direction:column;gap:20px}
.reg-side-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:22px}
.reg-side-title{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--dk);margin-bottom:16px}
.reg-next-steps{display:flex;flex-direction:column;gap:16px}
.reg-next-step{display:flex;gap:12px;align-items:flex-start}
.reg-step-dot{width:26px;height:26px;background:var(--g);color:#fff;border-radius:50%;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.reg-next-step strong{font-size:13px;color:var(--dk);font-weight:700;display:block;margin-bottom:3px}
.reg-next-step p{font-size:12px;color:var(--muted);line-height:1.5;margin:0}
.reg-side-contact .reg-side-title{margin-bottom:4px}
.reg-contact-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--dk);text-decoration:none;transition:color .15s}
.reg-contact-row:last-child{border-bottom:none}
.reg-contact-row:hover{color:var(--g)}

/* ── BizFile upload zone ── */
.reg-file-zone{border:2px dashed var(--border);border-radius:10px;padding:24px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:#fafcfa;position:relative}
.reg-file-zone:hover,.reg-file-dragover{border-color:var(--g);background:var(--g-light)}
.reg-file-zone.reg-file-has-file{border-style:solid;border-color:var(--g);background:var(--g-light)}
.reg-file-zone.reg-file-error{border-color:var(--red);background:#fef2f2}
.reg-file-icon{font-size:32px;margin-bottom:8px;line-height:1}
.reg-file-label{font-size:14px;font-weight:600;color:var(--dk);margin-bottom:4px}
.reg-file-hint{font-size:12px;color:var(--muted)}
.reg-file-chosen{display:flex;align-items:center;gap:10px;justify-content:center;flex-wrap:wrap}
.reg-file-chosen-icon{font-size:22px}
#reg-file-chosen-name{font-size:13px;font-weight:600;color:var(--dk);word-break:break-all}
.reg-file-remove{background:transparent;border:none;color:var(--red);font-size:12px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s}
.reg-file-remove:hover{background:#fee2e2}

/* ═══════════════════════════════════════════════════════════
   REFERRAL DASHBOARD (My Account → Referrals)
═══════════════════════════════════════════════════════════ */
.bjh-ref-dashboard{max-width:780px}

/* Stats row */
.bjh-ref-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}
.bjh-ref-stat-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px 20px;text-align:center}
.bjh-ref-stat-card .stat-val{font-size:28px;font-weight:800;color:var(--g);font-family:'Syne',sans-serif;line-height:1}
.bjh-ref-stat-card .stat-lbl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}

/* Referral link card */
.bjh-ref-link-card{background:linear-gradient(135deg,#f0faf3 0%,#e6f5eb 100%);border:1px solid #b6dfc4;border-radius:14px;padding:24px 28px;margin-bottom:24px}
.bjh-ref-link-card h3{font-size:16px;font-weight:700;color:var(--dk);margin:0 0 6px}
.bjh-ref-link-card p{font-size:13px;color:var(--muted);margin:0 0 16px;line-height:1.5}
.bjh-ref-link-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.bjh-ref-link-input{flex:1;min-width:0;background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:13px;color:var(--dk);font-family:monospace;outline:none}
.bjh-ref-copy-btn{background:var(--g);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}
.bjh-ref-copy-btn:hover{background:var(--g-dk)}
.bjh-ref-copy-btn.copied{background:#16a34a}

/* Share row */
.bjh-ref-share-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.bjh-ref-share-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .15s}
.bjh-ref-share-btn:hover{opacity:.85}
.bjh-ref-share-wa{background:#25d366;color:#fff}
.bjh-ref-share-em{background:var(--dk);color:#fff}

/* How it works */
.bjh-ref-how{margin-bottom:28px}
.bjh-ref-how h3{font-size:15px;font-weight:700;color:var(--dk);margin:0 0 14px}
.bjh-ref-how-steps{display:flex;gap:0;flex-wrap:wrap}
.bjh-ref-how-step{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:160px;padding:0 16px 0 0}
.bjh-ref-how-step:last-child{padding-right:0}
.bjh-ref-how-dot{width:28px;height:28px;border-radius:50%;background:var(--g);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.bjh-ref-how-step strong{font-size:13px;color:var(--dk);font-weight:700;display:block;margin-bottom:3px}
.bjh-ref-how-step p{font-size:12px;color:var(--muted);line-height:1.5;margin:0}

/* History table */
.bjh-ref-table-wrap{overflow-x:auto}
.bjh-ref-table{width:100%;border-collapse:collapse;font-size:13px}
.bjh-ref-table th{text-align:left;padding:10px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:2px solid var(--border);white-space:nowrap}
.bjh-ref-table td{padding:12px 14px;border-bottom:1px solid var(--border);color:var(--dk);vertical-align:middle}
.bjh-ref-table tr:last-child td{border-bottom:none}
.bjh-ref-table tr:hover td{background:#fafcfa}

/* Status badges */
.bjh-ref-badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.bjh-ref-badge-pending{background:#fef9c3;color:#854d0e}
.bjh-ref-badge-rewarded{background:#dcfce7;color:#15803d}
.bjh-ref-badge-b2b{background:#dbeafe;color:#1d4ed8}

/* Coupon code chip */
.bjh-ref-coupon{display:inline-block;background:#f0faf3;border:1px solid #b6dfc4;border-radius:6px;padding:3px 9px;font-size:12px;font-family:monospace;color:var(--g-dk);font-weight:600}

/* Empty state */
.bjh-ref-empty{text-align:center;padding:48px 24px;background:#fafcfa;border-radius:14px;border:1px dashed var(--border)}
.bjh-ref-empty-icon{font-size:40px;margin-bottom:12px}
.bjh-ref-empty h3{font-size:16px;font-weight:700;color:var(--dk);margin:0 0 6px}
.bjh-ref-empty p{font-size:13px;color:var(--muted);margin:0;line-height:1.5}

@media(max-width:640px){
  .bjh-ref-stats{grid-template-columns:1fr 1fr}
  .bjh-ref-how-steps{flex-direction:column;gap:16px}
  .bjh-ref-how-step{padding:0}
  .bjh-ref-link-row{flex-direction:column}
  .bjh-ref-copy-btn,.bjh-ref-link-input{width:100%}
}

/* ═══════════════════════════════════════════════════════════
   CONTACT US PAGE
═══════════════════════════════════════════════════════════ */
/* ── Contact hero — matches shop hero dark style ── */
.ct-hero{background:linear-gradient(135deg,#071409 0%,#122b18 50%,#0b1f0f 100%);padding:52px 0 0;position:relative;overflow:hidden}
.ct-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 100% at 90% 50%,rgba(45,145,72,.2) 0%,transparent 65%)}
.ct-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;align-items:end;gap:32px}
.ct-hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--y);margin-bottom:10px}
.ct-hero-text h1{font-family:var(--font-display);font-size:clamp(28px,3.8vw,44px);font-weight:800;color:#fff;letter-spacing:-1.2px;line-height:1.1;margin-bottom:12px}
.ct-hero-text h1 span{color:var(--y)}
.ct-hero-text p{font-size:14px;color:rgba(255,255,255,.55);margin-bottom:24px;max-width:480px;line-height:1.6}
.ct-hero-cta{display:inline-flex;align-items:center;gap:8px;background:var(--g);color:#fff;border-radius:10px;padding:11px 20px;font-size:14px;font-weight:700;text-decoration:none;transition:background .15s;margin-bottom:28px}
.ct-hero-cta:hover{background:var(--g2)}
.ct-hero-cta--wa{background:#25D366;border-radius:100px;padding:12px 24px;font-size:15px}
.ct-hero-cta--wa:hover{background:#1ebe5c}
/* Right chips */
.ct-hero-chips{display:flex;flex-direction:column;gap:10px;padding-bottom:28px}
.ct-hero-chip{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:11px 16px;text-decoration:none;transition:all .18s;min-width:210px}
.ct-hero-chip:hover{background:rgba(45,145,72,.2);border-color:rgba(45,145,72,.4)}
.ct-hero-chip--wa{border-color:rgba(37,211,102,.25);background:rgba(37,211,102,.08)}
.ct-hero-chip--wa:hover{background:rgba(37,211,102,.18);border-color:rgba(37,211,102,.5)}
.ct-hero-chip--nolink{pointer-events:none}
.ct-hero-chip-icon{font-size:22px;flex-shrink:0}
.ct-hero-chip--phone .ct-hero-chip-icon{filter:brightness(0) saturate(100%) invert(1);opacity:.9}
.ct-hero-chip-name{font-size:13px;font-weight:700;color:#fff}
.ct-hero-chip-sub{font-size:11px;color:rgba(255,255,255,.45);margin-top:2px}
/* Wave */
.ct-hero-wave{display:block;width:100%;margin-bottom:-2px;margin-top:36px}

.ct-page-wrap{max-width:1100px;margin:0 auto;padding:48px 20px 80px}

/* Body layout */
.ct-body{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}

/* Form card */
.ct-form-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:36px 36px 32px;box-shadow:0 2px 16px rgba(0,0,0,.05)}
.ct-form-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.ct-form-header-title{font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--dk);margin-bottom:2px}
.ct-form-header-sub{font-size:12px;color:var(--muted)}
.ct-form-wa-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;background:#25d366;color:#fff;border-radius:100px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;transition:filter .15s;flex-shrink:0}
.ct-form-wa-btn:hover{filter:brightness(.9)}

/* Enquiry type chips */
.ct-type-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.ct-type-chip{cursor:pointer}
.ct-type-chip input{position:absolute;opacity:0;pointer-events:none}
.ct-type-chip span{display:inline-block;padding:7px 14px;border-radius:20px;border:1.5px solid var(--border);font-size:13px;font-weight:500;color:var(--muted);transition:all .15s;white-space:nowrap}
.ct-type-chip.active span,.ct-type-chip input:checked + span{border-color:var(--g);background:var(--g-light);color:var(--g-dk);font-weight:600}

/* Fields */
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.ct-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.ct-field label{font-size:13px;font-weight:600;color:var(--dk)}
.ct-field .req{color:var(--g);font-weight:700}
.ct-input{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:10px 13px;font-size:14px;color:var(--dk);font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;background:#fff;box-sizing:border-box}
.ct-input:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(45,145,72,.12)}
.ct-input.ct-input-error{border-color:var(--red);box-shadow:0 0 0 3px rgba(239,68,68,.1)}
.ct-textarea{min-height:130px;resize:vertical}
.ct-error{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;padding:12px 16px;font-size:13px;color:#b91c1c;margin-bottom:16px}

/* Submit */
.ct-btn-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;background:var(--g);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s}
.ct-btn-submit:hover{background:var(--g-dk)}
.ct-btn-submit:disabled{opacity:.6;cursor:not-allowed}
.ct-privacy-note{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin-top:12px;justify-content:center}

/* Success state */
.ct-success-state{text-align:center;padding:32px 16px}
.ct-success-icon{font-size:52px;margin-bottom:16px}
.ct-success-state h2{font-size:22px;font-weight:800;color:var(--dk);margin:0 0 10px}
.ct-success-state p{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 8px}
.ct-ref-display{background:var(--g-light);border-radius:8px;padding:10px 16px;font-size:13px;color:var(--g-dk);display:inline-block;margin:8px 0 20px}
.ct-btn-primary{display:inline-block;background:var(--g);color:#fff;border-radius:10px;padding:11px 24px;font-size:14px;font-weight:700;text-decoration:none;transition:background .15s}
.ct-btn-primary:hover{background:var(--g-dk)}

/* Side info */
.ct-side{display:flex;flex-direction:column;gap:16px}
.ct-info-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px 24px}
.ct-info-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:16px}
.ct-info-row{display:flex;align-items:flex-start;gap:14px;padding:11px 0;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;transition:background .15s}
.ct-info-row:last-child{border-bottom:none}
a.ct-info-row:hover{color:var(--g)}
.ct-info-row--nolink{pointer-events:none}
.ct-info-icon{font-size:20px;width:24px;text-align:center;flex-shrink:0;margin-top:1px}
.ct-info-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:2px}
.ct-info-val{font-size:14px;font-weight:600;color:var(--dk)}

/* Response times card */
.ct-response-card{}
.ct-response-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--dk);padding:7px 0}
.ct-response-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.ct-dot-fast{background:#22c55e}
.ct-dot-med{background:#f59e0b}
.ct-dot-trade{background:#3b82f6}

/* WhatsApp CTA */
.ct-wa-cta{display:flex;align-items:center;justify-content:center;gap:10px;background:#25d366;color:#fff;border-radius:12px;padding:14px 20px;font-size:14px;font-weight:700;text-decoration:none;transition:background .15s;text-align:center}
.ct-wa-cta:hover{background:#16a34a;color:#fff}

/* Contact page responsive */
@media(max-width:940px){
  .ct-hero-inner{grid-template-columns:1fr}
  .ct-hero-chips{flex-direction:row;flex-wrap:wrap;padding-bottom:0;gap:8px}
  .ct-hero-chip{min-width:0;flex:1 1 calc(50% - 8px)}
}
@media(max-width:768px){
  .ct-hero{padding:36px 0 0}
  .ct-body{grid-template-columns:1fr}
  .ct-form-card{padding:24px 20px}
  .ct-row{grid-template-columns:1fr}
  .ct-hero-chips{flex-direction:column}
  .ct-hero-chip{min-width:0}
  .ct-page-wrap{padding:32px 16px 60px}
}

/* ═══════════════════════════════════════════════════════════
   FAQ PAGE
═══════════════════════════════════════════════════════════ */

/* Hero — same dark style as shop/contact */
.faq-hero{background:linear-gradient(135deg,#071409 0%,#122b18 50%,#0b1f0f 100%);padding:56px 0 0;position:relative;overflow:hidden;text-align:center}
.faq-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 0%,rgba(45,145,72,.18) 0%,transparent 70%)}
.faq-hero-inner{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:0 20px}
.faq-hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--y);margin-bottom:12px}
.faq-hero h1{font-family:var(--font-display);font-size:clamp(30px,4.5vw,50px);font-weight:800;color:#fff;letter-spacing:-1.5px;line-height:1.1;margin-bottom:14px}
.faq-hero h1 span{color:var(--y)}
.faq-hero p{font-size:15px;color:rgba(255,255,255,.6);line-height:1.6;margin-bottom:28px}

/* Search bar */
.faq-search-wrap{position:relative;max-width:520px;margin:0 auto 36px;display:flex;align-items:center}
.faq-search-icon{position:absolute;left:16px;color:rgba(255,255,255,.4);pointer-events:none;flex-shrink:0}
.faq-search-input{width:100%;background:rgba(255,255,255,.09);border:1.5px solid rgba(255,255,255,.15);border-radius:14px;padding:13px 44px 13px 44px;font-size:15px;color:#fff;font-family:inherit;outline:none;transition:border-color .2s,background .2s}
.faq-search-input::placeholder{color:rgba(255,255,255,.35)}
.faq-search-input:focus{border-color:var(--g);background:rgba(255,255,255,.13)}
.faq-search-clear{position:absolute;right:14px;background:rgba(255,255,255,.15);border:none;color:#fff;border-radius:50%;width:22px;height:22px;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;transition:background .15s}
.faq-search-clear:hover{background:rgba(255,255,255,.25)}
.faq-hero-wave{display:block;width:100%;margin-bottom:-2px;margin-top:0}

/* Layout */
.faq-page-wrap{max-width:1100px;margin:0 auto;padding:48px 20px 80px}
.faq-layout{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start}

/* Sidebar */
.faq-sidebar{position:sticky;top:80px}
.faq-sidebar-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px;padding:0 8px}
.faq-cat-nav{display:flex;flex-direction:column;gap:2px;margin-bottom:24px}
.faq-cat-link{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:10px;font-size:13px;font-weight:500;color:var(--dk);text-decoration:none;transition:all .15s;border:1px solid transparent}
.faq-cat-link:hover{background:var(--g-light);color:var(--g-dk)}
.faq-cat-link.active{background:var(--g-light);color:var(--g-dk);border-color:#c3e4cc;font-weight:700}
.faq-cat-link-icon{font-size:16px;flex-shrink:0}
.faq-cat-count{margin-left:auto;background:var(--border);color:var(--muted);font-size:10px;font-weight:700;border-radius:10px;padding:1px 7px;min-width:20px;text-align:center}
.faq-cat-link.active .faq-cat-count{background:#c3e4cc;color:var(--g-dk)}

/* Sidebar CTA */
.faq-sidebar-cta{background:linear-gradient(135deg,#f0faf3,#e6f5eb);border:1px solid #c3e4cc;border-radius:14px;padding:18px 16px}
.faq-sidebar-cta-title{font-size:13px;font-weight:700;color:var(--dk);margin-bottom:4px}
.faq-sidebar-cta p{font-size:12px;color:var(--muted);margin:0 0 12px;line-height:1.5}
.faq-cta-btn{display:block;text-align:center;padding:9px 14px;border-radius:9px;font-size:12px;font-weight:700;text-decoration:none;margin-bottom:8px;transition:opacity .15s;background:var(--dk);color:#fff}
.faq-cta-btn:last-child{margin-bottom:0}
.faq-cta-btn:hover{opacity:.85}
.faq-cta-wa{background:#25d366;color:#fff}

/* Category sections */
.faq-category{margin-bottom:48px}
.faq-cat-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid var(--border)}
.faq-cat-header-icon{font-size:24px;line-height:1}
.faq-cat-header h2{font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--dk);margin:0}

/* Accordion */
.faq-accordion{display:flex;flex-direction:column;gap:8px}
.faq-item{border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .15s,box-shadow .15s;background:#fff}
.faq-item:hover{border-color:#b6dfc4}
.faq-item.open{border-color:var(--g);box-shadow:0 2px 12px rgba(45,145,72,.1)}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:transparent;border:none;cursor:pointer;text-align:left;font-size:14px;font-weight:600;color:var(--dk);font-family:inherit;transition:background .15s}
.faq-question:hover{background:var(--g-light)}
.faq-item.open .faq-question{background:var(--g-light);color:var(--g-dk)}
.faq-chevron{flex-shrink:0;color:var(--muted);transition:transform .25s}
.faq-item.open .faq-chevron{transform:rotate(180deg);color:var(--g)}
.faq-answer{border-top:1px solid var(--border)}
.faq-answer[hidden]{display:none}
.faq-answer-inner{padding:16px 20px 18px;font-size:14px;color:var(--dk);line-height:1.7}
.faq-answer-inner p{margin:0 0 10px}
.faq-answer-inner p:last-child{margin-bottom:0}
.faq-answer-inner a{color:var(--g);font-weight:600;text-decoration:underline}
.faq-answer-inner strong{color:var(--dk)}
.faq-answer-inner ul,.faq-answer-inner ol{padding-left:20px;margin:8px 0}
.faq-answer-inner li{margin-bottom:4px}

/* No results */
.faq-no-results{text-align:center;padding:60px 24px;background:#fafcfa;border-radius:16px;border:1px dashed var(--border)}
.faq-no-results-icon{font-size:40px;margin-bottom:12px}
.faq-no-results h3{font-size:16px;font-weight:700;color:var(--dk);margin:0 0 6px}
.faq-no-results p{font-size:13px;color:var(--muted);margin:0}
.faq-no-results a{color:var(--g);font-weight:600}

/* Responsive */
@media(max-width:768px){
  .faq-layout{grid-template-columns:1fr}
  .faq-sidebar{position:static;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
  .faq-sidebar-title{display:none}
  .faq-cat-nav{flex-direction:row;flex-wrap:wrap;gap:6px;margin-bottom:0}
  .faq-cat-link{padding:6px 12px;font-size:12px;border:1px solid var(--border)}
  .faq-cat-count{display:none}
  .faq-sidebar-cta{width:100%}
  .faq-hero{padding:40px 0 0}
  .faq-page-wrap{padding:28px 16px 60px}
}

/* ═══════════════════════════════════════════════════════════
   DELIVERY INFO PAGE
═══════════════════════════════════════════════════════════ */

/* Hero */
.del-hero{background:linear-gradient(135deg,#071409 0%,#122b18 50%,#0b1f0f 100%);padding:56px 0 0;position:relative;overflow:hidden;text-align:center}
.del-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 0%,rgba(45,145,72,.18) 0%,transparent 70%)}
.del-hero-inner{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:0 20px 32px}
.del-hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--y);margin-bottom:12px}
.del-hero h1{font-family:var(--font-display);font-size:clamp(30px,4.5vw,50px);font-weight:800;color:#fff;letter-spacing:-1.5px;line-height:1.1;margin-bottom:14px}
.del-hero h1 span{color:var(--y)}
.del-hero p{font-size:15px;color:rgba(255,255,255,.6);line-height:1.6;margin-bottom:0}
.del-hero-wave{display:block;width:100%;margin-bottom:-2px;margin-top:0}

/* Stats strip */
.del-stats-strip{background:rgba(0,0,0,.25);backdrop-filter:blur(4px);border-top:1px solid rgba(255,255,255,.08);margin-top:24px}
.del-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.del-stat{display:flex;flex-direction:column;align-items:center;padding:18px 12px;border-right:1px solid rgba(255,255,255,.08)}
.del-stat:last-child{border-right:none}
.del-stat-icon{font-size:22px;margin-bottom:4px}
.del-stat-value{font-size:18px;font-weight:800;color:#fff;font-family:var(--font-display);line-height:1}
.del-stat-label{font-size:11px;color:rgba(255,255,255,.5);margin-top:3px;text-align:center}

/* Page body */
.del-page-wrap{max-width:1100px;margin:0 auto;padding:56px 20px 80px}
.del-section{margin-bottom:56px}
.del-section-title{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--dk);margin:0 0 20px;letter-spacing:-.5px}
.del-section-note{font-size:13px;color:var(--muted);margin:-10px 0 20px;background:var(--g-light);border-left:3px solid var(--g);padding:10px 14px;border-radius:0 8px 8px 0}

/* Zones grid */
.del-zones-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.del-zone-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:24px;position:relative;transition:box-shadow .15s}
.del-zone-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.08)}
.del-zone-card--hl{border-color:var(--g);box-shadow:0 4px 20px rgba(45,145,72,.15)}
.del-zone-badge{display:inline-block;background:var(--g);color:#fff;font-size:10px;font-weight:700;border-radius:20px;padding:3px 10px;margin-bottom:12px;letter-spacing:.04em}
.del-zone-name{font-size:17px;font-weight:800;color:var(--dk);margin-bottom:6px;font-family:var(--font-display)}
.del-zone-areas{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:16px;min-height:36px}
.del-zone-meta{border-top:1px solid var(--border);padding-top:14px;display:flex;flex-direction:column;gap:8px}
.del-zone-meta-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}
.del-zone-meta-row span{color:var(--muted)}
.del-zone-meta-row strong{color:var(--dk);font-weight:700}
.del-zone-free strong{color:var(--g)}

/* Slots grid */
.del-slots-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.del-slot{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:16px 12px;text-align:center;transition:all .15s;position:relative}
.del-slot:hover{border-color:#b6dfc4;box-shadow:0 2px 12px rgba(45,145,72,.1)}
.del-slot--peak{border-color:var(--g);background:var(--g-light)}
.del-slot-time{font-size:13px;font-weight:800;color:var(--dk);margin-bottom:4px;font-family:var(--font-display)}
.del-slot-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.del-slot-note{font-size:10px;color:var(--g-dk);font-weight:600;line-height:1.4}
.del-slot-peak-tag{display:inline-block;background:var(--g);color:#fff;font-size:9px;font-weight:700;border-radius:20px;padding:2px 8px;margin-top:6px;letter-spacing:.04em}

/* How it works — dark section */
.del-section--dark{background:linear-gradient(135deg,#071409 0%,#122b18 100%);border-radius:20px;padding:40px 36px;margin-bottom:56px}
.del-section-title--light{color:#fff}
.del-steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.del-step{text-align:center;position:relative}
.del-step-num{width:32px;height:32px;border-radius:50%;background:var(--g);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.del-step-icon{font-size:28px;margin-bottom:8px}
.del-step-title{font-size:14px;font-weight:700;color:#fff;margin-bottom:6px}
.del-step-desc{font-size:12px;color:rgba(255,255,255,.55);line-height:1.6}

/* Packaging */
.del-pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.del-pack-card{display:flex;align-items:flex-start;gap:14px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px}
.del-pack-icon{font-size:24px;flex-shrink:0;margin-top:1px}
.del-pack-label{font-size:13px;font-weight:700;color:var(--dk);margin-bottom:3px}
.del-pack-desc{font-size:12px;color:var(--muted);line-height:1.5}

/* Notes */
.del-notes-list{display:flex;flex-direction:column;gap:10px}
.del-note{display:flex;align-items:flex-start;gap:14px;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:14px 18px}
.del-note-icon{font-size:20px;flex-shrink:0;margin-top:1px}
.del-note p{font-size:13px;color:var(--dk);line-height:1.6;margin:0}

/* CTA strip */
.del-cta-strip{background:linear-gradient(135deg,#f0faf3,#e6f5eb);border:1px solid #c3e4cc;border-radius:20px;padding:32px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.del-cta-text h3{font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--dk);margin:0 0 4px}
.del-cta-text p{font-size:13px;color:var(--muted);margin:0}
.del-cta-btns{display:flex;gap:10px;flex-wrap:wrap}
.del-cta-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none;transition:opacity .15s;white-space:nowrap}
.del-cta-btn:hover{opacity:.85}
.del-cta-btn--primary{background:var(--g);color:#fff}
.del-cta-btn--wa{background:#25d366;color:#fff}
.del-cta-btn--ghost{background:#fff;color:var(--dk);border:1.5px solid var(--border)}

/* Responsive */
@media(max-width:900px){
  .del-zones-grid{grid-template-columns:1fr 1fr}
  .del-slots-grid{grid-template-columns:repeat(3,1fr)}
  .del-steps-grid{grid-template-columns:repeat(2,1fr)}
  .del-pack-grid{grid-template-columns:1fr 1fr}
  .del-stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .del-zones-grid,.del-slots-grid,.del-steps-grid,.del-pack-grid{grid-template-columns:1fr}
  .del-stats-grid{grid-template-columns:repeat(2,1fr)}
  .del-section--dark{padding:28px 20px}
  .del-cta-strip{flex-direction:column;text-align:center}
  .del-page-wrap{padding:36px 16px 60px}
}

/* ═══════════════════════════════════════════════════════════
   FRESHNESS GUARANTEE PAGE
═══════════════════════════════════════════════════════════ */

/* Hero */
.fg-hero{background:linear-gradient(135deg,#071409 0%,#122b18 50%,#0b1f0f 100%);padding:56px 0 0;position:relative;overflow:hidden;text-align:center}
.fg-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 0%,rgba(45,145,72,.18) 0%,transparent 70%)}
.fg-hero-inner{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:0 20px 40px}
.fg-hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--y);margin-bottom:12px}
.fg-hero h1{font-family:var(--font-display);font-size:clamp(30px,4.5vw,50px);font-weight:800;color:#fff;letter-spacing:-1.5px;line-height:1.1;margin-bottom:14px}
.fg-hero h1 span{color:var(--y)}
.fg-hero p{font-size:15px;color:rgba(255,255,255,.6);line-height:1.6;max-width:520px;margin:0 auto}
.fg-hero-wave{display:block;width:100%;margin-bottom:-2px}

/* Page body */
.fg-page-wrap{max-width:1100px;margin:0 auto;padding:56px 20px 80px}
.fg-section{margin-bottom:56px}
.fg-section-title{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--dk);margin:0 0 6px;letter-spacing:-.5px}
.fg-section-title--light{color:#fff}
.fg-section-sub{font-size:14px;color:rgba(255,255,255,.55);margin:0 0 28px}

/* Core promise cards */
.fg-promises-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fg-promise-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:28px 24px;text-align:center;transition:box-shadow .15s}
.fg-promise-card:hover{box-shadow:0 4px 24px rgba(0,0,0,.08)}
.fg-promise-icon{font-size:36px;margin-bottom:12px}
.fg-promise-title{font-size:16px;font-weight:800;color:var(--dk);margin-bottom:8px;font-family:var(--font-display)}
.fg-promise-desc{font-size:13px;color:var(--muted);line-height:1.6}

/* Quality process — dark */
.fg-section--dark{background:linear-gradient(135deg,#071409 0%,#122b18 100%);border-radius:20px;padding:40px 36px;margin-bottom:56px}
.fg-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fg-process-step{text-align:center}
.fg-process-num{width:28px;height:28px;border-radius:50%;background:var(--g);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 8px}
.fg-process-icon{font-size:26px;margin-bottom:6px}
.fg-process-title{font-size:13px;font-weight:700;color:#fff;margin-bottom:4px}
.fg-process-desc{font-size:11px;color:rgba(255,255,255,.5);line-height:1.6}

/* Certifications */
.fg-certs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fg-cert-card{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:20px 16px;text-align:center;transition:border-color .15s}
.fg-cert-card:hover{border-color:var(--g)}
.fg-cert-icon{font-size:28px;margin-bottom:8px}
.fg-cert-name{font-size:13px;font-weight:800;color:var(--dk);margin-bottom:4px}
.fg-cert-body{font-size:11px;color:var(--muted);line-height:1.5}

/* Policy table */
.fg-refund-intro{font-size:14px;color:var(--muted);margin:0 0 20px;line-height:1.6}
.fg-policy-table{border:1.5px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:16px}
.fg-policy-head{display:grid;grid-template-columns:2fr 2fr 1fr;background:var(--g-light);padding:10px 16px;font-size:11px;font-weight:700;color:var(--g-dk);text-transform:uppercase;letter-spacing:.04em}
.fg-policy-row{display:grid;grid-template-columns:2fr 2fr 1fr;padding:14px 16px;font-size:13px;border-top:1px solid var(--border);align-items:center}
.fg-policy-row:nth-child(even){background:#fafaf9}
.fg-policy-action{color:var(--g);font-weight:600}
.fg-policy-time{font-weight:700;color:var(--dk);background:var(--g-light);border-radius:20px;padding:3px 10px;font-size:11px;display:inline-block;text-align:center}
.fg-refund-note{display:flex;align-items:flex-start;gap:10px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px 16px;font-size:13px;color:var(--dk);line-height:1.5}
.fg-refund-note span{flex-shrink:0;font-size:16px}

/* CTA strip */
.fg-cta-strip{background:linear-gradient(135deg,#f0faf3,#e6f5eb);border:1px solid #c3e4cc;border-radius:20px;padding:32px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.fg-cta-text h3{font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--dk);margin:0 0 4px}
.fg-cta-text p{font-size:13px;color:var(--muted);margin:0}
.fg-cta-btns{display:flex;gap:10px;flex-wrap:wrap}
.fg-cta-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none;transition:opacity .15s;white-space:nowrap}
.fg-cta-btn:hover{opacity:.85}
.fg-cta-btn--primary{background:var(--g);color:#fff}
.fg-cta-btn--wa{background:#25d366;color:#fff}
.fg-cta-btn--ghost{background:#fff;color:var(--dk);border:1.5px solid var(--border)}

/* Responsive */
@media(max-width:900px){
  .fg-promises-grid{grid-template-columns:1fr 1fr}
  .fg-process-grid{grid-template-columns:1fr 1fr}
  .fg-certs-grid{grid-template-columns:1fr 1fr}
  .fg-policy-head,.fg-policy-row{grid-template-columns:1.5fr 1.5fr 1fr}
}
@media(max-width:640px){
  .fg-promises-grid,.fg-process-grid,.fg-certs-grid{grid-template-columns:1fr}
  .fg-policy-head{display:none}
  .fg-policy-row{grid-template-columns:1fr;gap:4px}
  .fg-section--dark{padding:28px 20px}
  .fg-cta-strip{flex-direction:column;text-align:center}
  .fg-page-wrap{padding:36px 16px 60px}
}

/* ============================================================
   MY ACCOUNT PAGES
   ============================================================ */

/* ---------- Page shell ---------- */
.ma-page{padding:40px 0 80px}

/* ---------- Hero bar ---------- */
.ma-hero{
  display:flex;align-items:center;gap:20px;
  background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);
  padding:24px 28px;margin-bottom:28px;
  box-shadow:0 1px 4px rgba(0,0,0,.06);
}
.ma-hero-avatar{
  width:60px;height:60px;border-radius:50%;
  background:var(--g);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:800;font-family:var(--font-display);
  flex-shrink:0;
}
.ma-hero-info{flex:1;min-width:0}
.ma-hero-name{font-size:20px;font-weight:800;color:var(--dk);margin:0 0 2px;line-height:1.2}
.ma-hero-email{font-size:13px;color:var(--muted);margin:0}
.ma-hero-stats{display:flex;gap:20px}
.ma-stat{display:flex;flex-direction:column;align-items:center;gap:2px}
.ma-stat-num{font-size:22px;font-weight:800;color:var(--g);font-family:var(--font-display)}
.ma-stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}

/* ---------- 2-col wrap ---------- */
.ma-wrap{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}

/* ---------- Sidebar ---------- */
.ma-sidebar{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);
  padding:12px 0;position:sticky;top:90px;
  box-shadow:0 1px 4px rgba(0,0,0,.06);
}
.ma-nav ul{list-style:none;margin:0;padding:0}
.ma-nav li{border-bottom:1px solid var(--border)}
.ma-nav li:last-child{border-bottom:none}
.ma-nav a{
  display:flex;align-items:center;gap:10px;
  padding:12px 20px;text-decoration:none;
  font-size:14px;font-weight:600;color:var(--dk);
  transition:background .15s,color .15s;
}
.ma-nav a:hover{background:rgba(0,0,0,.04);color:var(--g)}
.ma-nav .is-active a,.ma-nav [aria-current="page"]{background:var(--g);color:#fff!important}
.ma-nav .is-active a:hover{opacity:.9}
.ma-nav-icon{font-size:16px;line-height:1}
.ma-nav-logout a{color:#e53e3e!important}
.ma-nav-logout a:hover{background:#fff5f5!important;color:#c53030!important}
.ma-nav .is-active.ma-nav-logout a{background:#e53e3e!important;color:#fff!important}

/* ---------- Main content card ---------- */
.ma-content{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);
  padding:32px;
  box-shadow:0 1px 4px rgba(0,0,0,.06);
}

/* ---------- Section ---------- */
.ma-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.ma-section-title{font-size:20px;font-weight:800;color:var(--dk);margin:0 0 20px;font-family:var(--font-display)}
.ma-section-header .ma-section-title{margin:0}
.ma-welcome{font-size:15px;color:var(--muted);margin-bottom:24px}
.ma-back-link{font-size:13px;font-weight:600;color:var(--g);text-decoration:none}
.ma-back-link:hover{text-decoration:underline}
.ma-order-meta{font-size:14px;color:var(--muted);margin-bottom:20px}

/* ---------- Dashboard cards ---------- */
.ma-dash-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ma-dash-card{
  display:flex;align-items:center;gap:12px;
  padding:18px 20px;border-radius:12px;
  border:1.5px solid var(--border);background:#fff;
  text-decoration:none;color:var(--dk);
  font-size:14px;font-weight:700;
  transition:border-color .15s,box-shadow .15s,transform .1s;
}
.ma-dash-card:hover{border-color:var(--g);box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-1px);color:var(--g)}
.ma-dash-card--green{background:var(--g);border-color:var(--g);color:#fff}
.ma-dash-card--green:hover{background:#1a7a50;border-color:#1a7a50;color:#fff}
.ma-dash-card--b2b{background:var(--y);border-color:var(--y);color:var(--dk)}
.ma-dash-card--b2b:hover{filter:brightness(.93);color:var(--dk)}
/* B2B badge next to welcome name */
.ma-b2b-badge{display:inline-flex;align-items:center;gap:4px;margin-left:10px;padding:3px 10px;background:var(--y);color:var(--dk);border-radius:100px;font-size:11px;font-weight:800;vertical-align:middle;letter-spacing:.3px}
/* B2B notice bar below cards */
.ma-b2b-notice{margin-top:20px;padding:12px 16px;background:#f0faf3;border:1px solid #b6e2c4;border-radius:10px;font-size:13px;color:var(--dk);line-height:1.5}
.ma-dash-icon{font-size:22px;line-height:1}
.ma-dash-label{flex:1}
.ma-dash-arrow{font-size:16px;opacity:.5}

/* ---------- Orders table ---------- */
.ma-orders-table-wrap{overflow-x:auto}
.ma-orders-table{width:100%;border-collapse:collapse;font-size:14px}
.ma-orders-table th{
  text-align:left;padding:10px 14px;
  background:#f8f9fa;border-bottom:2px solid var(--border);
  font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);
  white-space:nowrap;
}
.ma-orders-table td{padding:14px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--dk)}
.ma-orders-table tr:last-child td{border-bottom:none}
.ma-orders-table tr:hover td{background:#fafafa}
.ma-order-num a{font-weight:700;color:var(--g);text-decoration:none}
.ma-order-num a:hover{text-decoration:underline}
.ma-order-status{
  display:inline-flex;align-items:center;padding:3px 10px;
  border-radius:20px;font-size:12px;font-weight:700;
}
.ma-order-status--pending,.ma-order-status--on-hold{background:#fff3cd;color:#856404}
.ma-order-status--processing{background:#cff4fc;color:#055160}
.ma-order-status--completed{background:#d1e7dd;color:#0a3622}
.ma-order-status--cancelled,.ma-order-status--failed,.ma-order-status--refunded{background:#f8d7da;color:#842029}
.ma-order-actions{display:flex;gap:8px;flex-wrap:wrap}
.ma-order-btn{
  display:inline-block;padding:6px 14px;border-radius:6px;
  font-size:12px;font-weight:700;text-decoration:none;
  background:#f1f3f5;color:var(--dk);transition:background .15s;
}
.ma-order-btn:hover{background:#e2e6ea}
.ma-order-btn--view{background:var(--g);color:#fff}
.ma-order-btn--view:hover{background:#1a7a50;color:#fff}
.ma-orders-pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.ma-orders-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  padding:7px 13px;border-radius:8px;border:1.5px solid var(--border);
  font-size:13px;font-weight:700;text-decoration:none;color:var(--dk);
}
.ma-orders-pagination .page-numbers.current,.ma-orders-pagination .page-numbers:hover{background:var(--g);border-color:var(--g);color:#fff}

/* ---------- Empty state ---------- */
.ma-empty-state{text-align:center;padding:48px 24px}
.ma-empty-icon{font-size:48px;margin-bottom:16px}
.ma-empty-text{font-size:16px;color:var(--muted);margin-bottom:24px}

/* ---------- Forms ---------- */
.ma-form{max-width:600px}
.ma-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ma-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.ma-field{margin-bottom:18px}
.ma-field label{display:block;font-size:13px;font-weight:700;color:var(--dk);margin-bottom:6px}
.ma-field .req{color:#e53e3e}
.ma-input{
  width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:8px;
  font-size:14px;color:var(--dk);background:#fff;font-family:var(--font-body);
  transition:border-color .15s,box-shadow .15s;box-sizing:border-box;
}
.ma-input:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px rgba(34,113,74,.12)}
.ma-field-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.ma-check-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--dk);cursor:pointer}
.ma-lost-pw{font-size:13px;font-weight:600;color:var(--g);text-decoration:none}
.ma-lost-pw:hover{text-decoration:underline}
.ma-hint{font-size:12px;color:var(--muted);margin:4px 0 0}
.ma-form-divider{border:none;border-top:1.5px solid var(--border);margin:28px 0}
.ma-form-sub-title{font-size:16px;font-weight:800;color:var(--dk);margin:0 0 18px;font-family:var(--font-display)}
.ma-btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 28px;border-radius:8px;
  background:var(--g);color:#fff;border:none;cursor:pointer;
  font-size:15px;font-weight:700;font-family:var(--font-body);
  transition:background .15s;text-decoration:none;
}
.ma-btn-primary:hover{background:#1a7a50;color:#fff}
.ma-btn-submit{
  width:100%;padding:13px;border-radius:8px;
  background:var(--g);color:#fff;border:none;cursor:pointer;
  font-size:15px;font-weight:700;font-family:var(--font-body);
  transition:background .15s;margin-top:4px;
}
.ma-btn-submit:hover{background:#1a7a50}

/* WooCommerce injected fields inside .ma-form-grid-2 */
.ma-form-grid-2 .form-row{margin-bottom:18px}
.ma-form-grid-2 .form-row label{display:block;font-size:13px;font-weight:700;color:var(--dk);margin-bottom:6px}
.ma-form-grid-2 .form-row input[type=text],
.ma-form-grid-2 .form-row input[type=email],
.ma-form-grid-2 .form-row input[type=tel],
.ma-form-grid-2 .form-row select{
  width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:8px;
  font-size:14px;color:var(--dk);font-family:var(--font-body);box-sizing:border-box;
}
.ma-form-grid-2 .form-row-wide{grid-column:1/-1}

/* WooCommerce notices inside .ma-content */
.ma-content .woocommerce-message,
.ma-content .woocommerce-error,
.ma-content .woocommerce-info{border-radius:8px;margin-bottom:20px;font-size:14px}

/* ---------- Login page ---------- */
.ma-login-page{padding:60px 0 80px;background:var(--off)}
.ma-login-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;max-width:860px;margin:0 auto}
.ma-login-brand{padding:40px}
.ma-login-logo{width:64px;height:64px;object-fit:contain;margin-bottom:16px}
.ma-login-brand-name{font-size:32px;font-weight:900;color:var(--dk);margin:0 0 4px;font-family:var(--font-display);line-height:1}
.ma-login-brand-name span{color:var(--g)}
.ma-login-brand-sub{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:0 0 16px}
.ma-login-brand-desc{font-size:15px;color:var(--dk);margin:0 0 24px;line-height:1.6}
.ma-login-perks{display:flex;flex-direction:column;gap:10px}
.ma-login-perk{font-size:14px;font-weight:600;color:var(--dk)}
.ma-login-forms{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);
  padding:36px;box-shadow:0 2px 12px rgba(0,0,0,.07);
}
.ma-login-tabs{display:flex;gap:0;margin-bottom:28px;border-bottom:2px solid var(--border)}
.ma-login-tab{
  flex:1;padding:10px;border:none;background:none;cursor:pointer;
  font-size:14px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent;
  margin-bottom:-2px;transition:color .15s,border-color .15s;
}
.ma-login-tab.active{color:var(--g);border-bottom-color:var(--g)}
.ma-login-panel .ma-field{margin-bottom:16px}
.ma-login-trade{margin-top:20px;font-size:13px;color:var(--muted);text-align:center;border-top:1px solid var(--border);padding-top:16px}
.ma-login-trade a{color:var(--g);font-weight:600;text-decoration:none}
.ma-login-trade a:hover{text-decoration:underline}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .ma-login-wrap{grid-template-columns:1fr;gap:24px;max-width:480px}
  .ma-login-brand{padding:0 0 8px}
  .ma-login-logo,.ma-login-brand-name,.ma-login-brand-sub,.ma-login-brand-desc{text-align:center}
  .ma-login-perks{flex-direction:row;flex-wrap:wrap;justify-content:center}
}
@media(max-width:768px){
  .ma-wrap{grid-template-columns:1fr}
  .ma-sidebar{position:static}
  .ma-hero{flex-wrap:wrap}
  .ma-dash-cards{grid-template-columns:1fr 1fr}
  .ma-form-row{grid-template-columns:1fr}
  .ma-form-grid-2{grid-template-columns:1fr}
}
@media(max-width:480px){
  .ma-page{padding:24px 0 60px}
  .ma-hero{padding:16px 20px;gap:14px}
  .ma-hero-avatar{width:48px;height:48px;font-size:18px}
  .ma-hero-name{font-size:17px}
  .ma-content{padding:20px 16px}
  .ma-dash-cards{grid-template-columns:1fr}
  .ma-login-page{padding:32px 0 60px}
  .ma-login-forms{padding:24px 18px}
  .ma-orders-table th{display:none}
  .ma-orders-table td{display:block;padding:8px 14px;border-bottom:none}
  .ma-orders-table td:first-child{padding-top:14px}
  .ma-orders-table td:last-child{padding-bottom:14px;border-bottom:1px solid var(--border)}
  .ma-orders-table td::before{content:attr(data-label)' ';font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;display:block;margin-bottom:2px}
}

/* ══════════════════════════════════════════════════════════════
   FULL RESPONSIVE OVERHAUL — fixes 1014px → 767px broken range
   Key change: hamburger threshold moved 768px → 1024px
   All layout grids collapse properly at each tier
══════════════════════════════════════════════════════════════ */

/* ── 1200px: NAV hamburger threshold (nav is too cramped below container max-width) ── */
@media(max-width:1200px){
  .nav-links{display:none!important}
  .nav-right .btn-ghost,.nav-right .btn-yellow{display:none}
  .hamburger{display:flex!important}
}

/* ── 1100px: ensure footer/trust stay clean ── */
@media(max-width:1100px){
  .footer-top-inner{grid-template-columns:1fr 1fr 1fr;gap:24px}
  /* footer-brand stays in natural flow (col 1 of 3); brand NOT spanning full width here */
}

/* ── 1024px: layout collapses (hero, product, grids) ── */
@media(max-width:1024px){
  /* NAV — already handled at 1200px above; repeated here for safety */
  .nav-links{display:none!important}
  .nav-right .btn-ghost,.nav-right .btn-yellow{display:none}
  .hamburger{display:flex!important}

  /* HOMEPAGE HERO */
  .hero-inner{grid-template-columns:1fr;align-items:start;gap:16px}
  .hero-text{grid-column:auto;grid-row:auto;order:1;margin-bottom:0}
  .price-panel{grid-column:auto;grid-row:auto;order:2;display:flex;align-self:auto}
  .hero-btns{grid-column:auto;grid-row:auto;order:3}
  .hero{padding:52px 0 44px}

@media(max-width:640px){
  .hero{padding:40px 0 36px;background-position:left 50px}
  .hero-sub{margin-bottom:0}
}

  /* SHOP HERO */
  .shop-hero-inner{grid-template-columns:1fr}
  .shop-hero-cats{flex-direction:row;flex-wrap:wrap;padding-bottom:0}
  .hero-cat-chip{min-width:auto;flex:1 1 140px}

  /* SINGLE PRODUCT */
  .product-layout{grid-template-columns:1fr;gap:32px}
  .product-gallery,.gallery{position:static}

  /* HOMEPAGE prod-grid: 4 → 3 cols */
  .prod-grid{grid-template-columns:repeat(3,1fr)}

  /* BIZ / PROMO two-up → stacked */
  .biz-grid{grid-template-columns:1fr}
  .promo-grid{grid-template-columns:1fr}

  /* TRUST — 4 → 2 cols */
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .trust-inner{grid-template-columns:repeat(2,1fr)}

  /* TAB DESC */
  .tab-desc-grid{grid-template-columns:1fr;gap:24px}

  /* DELIVERY STRIP */
  .delivery-strip{grid-template-columns:1fr}

  /* DELIVERY DETAIL */
  .delivery-detail-grid{grid-template-columns:repeat(2,1fr)}

  /* RELATED GRID — reduce min */
  .related-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}

  /* REF BAND */
  .ref-band{grid-template-columns:1fr;gap:12px}
  .ref-steps,.ref-cta{grid-column:auto}

  /* CONTAINER */
  .container{padding:0 20px}

  /* CONTACT / CATEGORY hero */
  .ct-hero-inner{grid-template-columns:1fr}
}
.tag-season {
    background: rgba(255, 255, 255, .85);
    color: var(--dk);
}
.tag-special {
    background: var(--y);
    color: #0D1F0F;
}
.tag img{
  position: initial;
}

/* ── 900px: remaining collapses ── */
@media(max-width:900px){
  /* B2B steps arrow */
  .b2b-steps-grid{flex-direction:column;align-items:center}
  .b2b-step-arrow{padding:8px 0;transform:rotate(90deg)}
  .how-steps{flex-direction:column;align-items:center}
  .how-arrow{transform:rotate(90deg);padding:0}

  /* My-account login */
  .ma-login-wrap{grid-template-columns:1fr;gap:24px;max-width:480px}
  .ma-login-brand{padding:0 0 8px}
}

/* ── 768px ── */
@media(max-width:768px){
  /* CONTAINER */
  .container{padding:0 16px}

  /* FOOTER: 3 → 2 cols */
  .footer-top-inner{grid-template-columns:1fr 1fr;gap:20px}
  .footer-brand{grid-column:1/-1}

  /* PRODUCTS */
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  ul.products{grid-template-columns:repeat(2,1fr);gap:12px}

  /* WC SHOP: ensure products list is 2-col */
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:12px}

  /* REVIEWS: comment cards 1-col */
  .commentlist{grid-template-columns:1fr!important}
  .reviews-summary{flex-direction:column;align-items:flex-start;gap:16px}
  .reviews-divider{width:100%;height:1px}
  .reviews-bars{width:100%}

  /* TRUST */
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .trust-inner{grid-template-columns:repeat(2,1fr)}

  /* TABS NAV */
  .prod-tabs-nav{margin-bottom:20px}

  /* DELIVERY DETAIL */
  .delivery-detail-grid{grid-template-columns:1fr}

  /* RELATED: keep auto-fill on mobile (2-up at min 160px) */
  .related-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}

  /* MY ACCOUNT */
  .ma-wrap{grid-template-columns:1fr}
  .ma-sidebar{position:static}
  .ma-hero{flex-wrap:wrap}
  .ma-dash-cards{grid-template-columns:1fr 1fr}
  .ma-form-row,.ma-form-grid-2{grid-template-columns:1fr}
}

/* ── 640px ── */
@media(max-width:640px){
  .hero{padding:40px 0 36px}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%;justify-content:center;text-align:center}

  .biz-card{padding:28px}
  .promo-card{padding:28px}

  .b2b-steps-grid{gap:32px}
  .b2b-steps-grid::before{display:none}

  /* SHOP cats */
  .hero-cat-chip{flex:1 1 120px}

  /* RELATED on narrow phones */
  .related-grid{grid-template-columns:repeat(2,1fr)}

  /* Section padding */
  .fg-section--dark{padding:28px 20px}
  .fg-cta-strip{flex-direction:column;text-align:center}
}

/* ── 480px: small phones ── */
@media(max-width:480px){
  .container{padding:0 14px}

  /* PRODUCTS */
  .prod-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  ul.products{grid-template-columns:repeat(2,1fr);gap:10px}

  /* CAT CARDS */
  .cat-cards{grid-template-columns:1fr}

  /* FOOTER */
  .footer-top-inner{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}

  /* TRUST */
  .trust-grid{grid-template-columns:1fr}
  .trust-inner{grid-template-columns:1fr}

  /* RELATED */
  .related-grid{grid-template-columns:repeat(2,1fr)}

  /* SHOP */
  .shop-hero{padding:36px 0 0}

  /* ACCOUNT */
  .ma-page{padding:24px 0 60px}
  .ma-hero{padding:16px 20px;gap:14px}
  .ma-hero-avatar{width:48px;height:48px;font-size:18px}
  .ma-hero-name{font-size:17px}
  .ma-content{padding:20px 16px}
  .ma-dash-cards{grid-template-columns:1fr}
}

/* ── 414px: tiny phones ── */
@media(max-width:414px){
  .nav-live{display:none}
  .nav-inner{gap:8px}
  .logo-name-sub{display:none}
  .prod-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  ul.products{grid-template-columns:repeat(2,1fr);gap:8px}
  .hero{padding:36px 0 32px}
}

/* ════════════════════════════════════════════
   MY ACCOUNT — Addresses
════════════════════════════════════════════ */
.ma-addresses-intro{color:var(--muted,#666);font-size:13px;margin-bottom:24px}
.ma-addr-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ma-addr-card{background:#f8fafc;border:1px solid var(--border,#e5e7eb);border-radius:14px;padding:20px 22px}
.ma-addr-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.ma-addr-card-title{font-size:13px;font-weight:700;color:var(--dk,#1a1a1a);margin:0;text-transform:uppercase;letter-spacing:.6px}
.ma-addr-edit-btn{font-size:12px;font-weight:600;color:var(--g,#4caf50);text-decoration:none;border:1.5px solid var(--g,#4caf50);border-radius:20px;padding:4px 14px;transition:all .15s;white-space:nowrap}
.ma-addr-edit-btn:hover{background:var(--g,#4caf50);color:#fff}
.ma-addr-card-body{font-style:normal;font-size:13px;color:var(--muted,#555);line-height:1.8}
.ma-addr-card-body p{margin:0}
.ma-addr-none{color:#aaa;font-size:13px;font-style:italic}

@media(max-width:640px){
  .ma-addr-grid{grid-template-columns:1fr}
}

/* ════════════════════════════════════════════
   WISHLIST — persistent localStorage system
════════════════════════════════════════════ */

/* Pop animation on toggle */
@keyframes wl-pop{0%{transform:scale(1)}50%{transform:scale(1.35)}100%{transform:scale(1)}}
.wl-pop{animation:wl-pop .3s ease}

/* Nav wishlist button */
.nav-wishlist-btn{display:inline-flex;align-items:center;justify-content:center}
.nav-wishlist-btn svg{transition:fill .15s,stroke .15s}
.nav-wishlist-btn:hover svg{fill:rgba(239,68,68,.2);stroke:#ef4444}

/* Wishlist count badge in nav */
.bjh-wl-count{display:none;background:var(--g,#e63);color:#fff;font-size:10px;font-weight:700;border-radius:50%;width:16px;height:16px;line-height:16px;text-align:center;position:absolute;top:-4px;right:-6px}

/* Wishlist page grid */
.wl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-top:8px}
.wl-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.wl-card:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(0,0,0,.3)}
.wl-card-img-link{display:block;aspect-ratio:1/1;overflow:hidden;background:#111}
.wl-card-img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.wl-card:hover .wl-card-img{transform:scale(1.05)}
.wl-card-body{padding:14px 16px 16px}
.wl-card-name{display:block;font-weight:600;color:var(--text,#fff);font-size:14px;margin-bottom:6px;text-decoration:none;line-height:1.4}
.wl-card-name:hover{color:var(--g,#e63)}
.wl-card-price{font-size:15px;font-weight:700;color:var(--g,#e63);margin-bottom:12px}
.wl-card-actions{display:flex;gap:8px;flex-wrap:wrap}
.wl-remove-btn{background:none;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.5);border-radius:8px;padding:7px 12px;font-size:12px;cursor:pointer;transition:all .15s}
.wl-remove-btn:hover{border-color:#ef4444;color:#ef4444}

/* Empty state */
.wl-empty{text-align:center;padding:60px 20px;color:rgba(255,255,255,.5)}
.wl-empty p{margin-bottom:20px;font-size:16px}
.ma-wishlist-loading{color:rgba(255,255,255,.4);padding:20px 0}
.ma-wishlist-intro{color:rgba(255,255,255,.5);font-size:13px;margin-bottom:24px}

/* My Account wishlist heading */
.ma-wishlist-wrap{padding-top:4px}
.ma-wishlist-wrap .ma-section-title{margin-bottom:6px}

/* Wishlist inside white .ma-content (account page) — override dark-theme defaults */
.ma-content .wl-grid{margin-top:0}
.ma-content .wl-card{background:#f8fafc;border-color:var(--border,#e5e7eb)}
.ma-content .wl-card-img-link{background:#f0f2f5}
.ma-content .wl-card-name{color:var(--dk,#1a1a1a)}
.ma-content .wl-card-name:hover{color:var(--g,#4caf50)}
.ma-content .wl-card-price{color:var(--g,#4caf50)}
.ma-content .wl-remove-btn{border-color:var(--border,#e5e7eb);color:var(--muted,#666)}
.ma-content .wl-remove-btn:hover{border-color:#ef4444;color:#ef4444}
.ma-content .wl-empty{color:var(--muted,#666)}
.ma-content .ma-wishlist-loading{color:var(--muted,#999)}
.ma-content .ma-wishlist-intro{color:var(--muted,#666)}

/* Standalone wishlist page (light background) — mirror .ma-content overrides */
.wl-standalone-wrap .wl-card{background:#f8fafc;border-color:var(--border,#e5e7eb)}
.wl-standalone-wrap .wl-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.1)}
.wl-standalone-wrap .wl-card-img-link{background:#f0f2f5}
.wl-standalone-wrap .wl-card-name{color:var(--dk,#1a1a1a)}
.wl-standalone-wrap .wl-card-name:hover{color:var(--g,#4caf50)}
.wl-standalone-wrap .wl-card-price{color:var(--g,#4caf50)}
.wl-standalone-wrap .wl-remove-btn{border-color:var(--border,#e5e7eb);color:var(--muted,#666)}
.wl-standalone-wrap .wl-remove-btn:hover{border-color:#ef4444;color:#ef4444}
.wl-standalone-wrap .wl-empty{color:var(--muted,#666)}
.wl-standalone-wrap .ma-wishlist-loading{color:var(--muted,#999)}
.wl-standalone-wrap .ma-wishlist-intro{color:var(--muted,#666)}
.wl-standalone-wrap .wl-view-btn{background:var(--dk,#1a1a1a);color:#fff}
.wl-standalone-wrap .wl-view-btn:hover{background:var(--g,#4caf50);color:#fff}

@media(max-width:640px){
  .wl-grid{grid-template-columns:repeat(2,1fr);gap:12px}
}

/* ── Social Share Popup ── */
#bjh-share-popup{
  background:#fff;
  border-radius:16px;
  box-shadow:0 8px 40px rgba(0,0,0,.18);
  padding:8px 0 4px;
  overflow:hidden;
  animation:bsp-in .15s ease;
  border:1px solid rgba(0,0,0,.07);
}
@keyframes bsp-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.bsp-title{
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;
  color:#999;padding:4px 16px 10px;
}
.bsp-row{
  display:flex;align-items:center;gap:12px;
  width:100%;padding:10px 16px;
  background:none;border:none;cursor:pointer;text-align:left;
  text-decoration:none;color:#1a1a1a;
  transition:background .12s;
}
.bsp-row:hover{background:#f5f5f5}
.bsp-icon{
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;flex-shrink:0;
}
.bsp-label{font-size:14px;font-weight:600;flex:1;color:#1a1a1a}
.bsp-arrow{color:#bbb;flex-shrink:0}
.bsp-copy-status{font-size:12px;font-weight:600;color:var(--g,#4caf50);flex-shrink:0}
.bsp-close{
  display:block;width:calc(100% - 32px);margin:6px 16px 8px;
  padding:8px;background:#f5f5f5;border:none;border-radius:8px;
  font-size:13px;font-weight:600;color:#666;cursor:pointer;
  transition:background .12s;
}
.bsp-close:hover{background:#ebebeb;color:#333}
