/*
Theme Name:  Maru Gold
Theme URI:   https://marugold.in
Author:      Maru Gold LLP
Description: Ultra-premium D2C theme for Maru Gold Cold Pressed Mustard Oil. Inspired by top Shopify food brands — modular, minimal, conversion-focused. WooCommerce + Elementor compatible.
Version:     3.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License:     Proprietary
Text Domain: marugold
*/

/* ═══════════════════════════════════════════
   TOKENS
═══════════════════════════════════════════ */
:root {
  --ink:       #0F0A06;
  --ink-2:     #1A1108;
  --red:       #8B1E1E;
  --red-2:     #6E1717;
  --gold:      #C9A84C;
  --gold-2:    #E8C46A;
  --gold-3:    #A8893A;
  --green:     #2D5A27;
  --green-2:   #3D7A35;
  --cream:     #FAF6EE;
  --cream-2:   #F0E8D4;
  --cream-3:   #E8DCCA;
  --text:      #1A1108;
  --text-2:    #5A4A30;
  --text-3:    #8A7A60;
  --border:    rgba(201,168,76,.18);
  --border-2:  rgba(201,168,76,.32);

  --serif:     'Cormorant Garamond','Playfair Display',Georgia,serif;
  --sans:      'Inter','DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;

  --t0:  clamp(.65rem,  1.5vw, .72rem);
  --t1:  clamp(.78rem,  2vw,   .875rem);
  --t2:  clamp(.9rem,   2.2vw, 1rem);
  --t3:  clamp(1.05rem, 2.5vw, 1.15rem);
  --t4:  clamp(1.3rem,  3vw,   1.6rem);
  --t5:  clamp(1.7rem,  4vw,   2.2rem);
  --t6:  clamp(2.2rem,  5.5vw, 3.2rem);
  --t7:  clamp(2.8rem,  7vw,   4.5rem);
  --t8:  clamp(3.5rem,  9vw,   6rem);

  --sp1: clamp(.3rem,  .6vw,  .5rem);
  --sp2: clamp(.5rem,  1vw,   .75rem);
  --sp3: clamp(.75rem, 1.5vw, 1rem);
  --sp4: clamp(1rem,   2vw,   1.5rem);
  --sp5: clamp(1.5rem, 3vw,   2.25rem);
  --sp6: clamp(2rem,   4vw,   3.25rem);
  --sp7: clamp(3rem,   6vw,   5rem);
  --sp8: clamp(4.5rem, 9vw,   7rem);
  --sp9: clamp(6rem,   12vw,  10rem);

  --r1: 3px; --r2: 6px; --r3: 12px; --r4: 20px; --rpill: 999px;
  --ease: cubic-bezier(.4,0,.2,1);
  --spring: cubic-bezier(.16,1,.3,1);
  --hdr: 72px;
  --ann: 38px;
}

/* ═══════════════════════════════════════════
   RESET
═══════════════════════════════════════════ */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior:smooth; font-size:16px; -webkit-text-size-adjust:100% }
body {
  font-family: var(--sans);
  font-size: var(--t2);
  line-height: 1.7;
  color: var(--text);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img,svg,video { max-width:100%; height:auto; display:block }
a { color:var(--red); text-decoration:none; transition:color .2s var(--ease) }
a:hover { color:var(--gold-3) }
button,input,select,textarea { font-family:inherit; font-size:inherit; color:inherit; border:none; background:none }
button { cursor:pointer }
h1,h2,h3,h4,h5,h6 { font-family:var(--serif); font-weight:400; line-height:1.08; letter-spacing:-.02em; color:var(--ink); margin:0 }
ul,ol { list-style:none }
::selection { background:var(--gold); color:var(--ink) }

/* ═══════════════════════════════════════════
   LAYOUT
═══════════════════════════════════════════ */
.mg-c  { width:min(1300px, 100% - clamp(2rem,5vw,5rem)); margin-inline:auto }
.mg-cw { width:min(1600px, 100% - clamp(1.5rem,3vw,3rem)); margin-inline:auto }
.mg-cn { width:min(860px,  100% - clamp(2rem,5vw,5rem)); margin-inline:auto }
.mg-sec  { padding:var(--sp9) 0 }
.mg-sec-sm { padding:var(--sp7) 0 }

/* ═══════════════════════════════════════════
   ATOMS
═══════════════════════════════════════════ */
.mg-eyebrow {
  display:inline-flex; align-items:center; gap:.55rem;
  font-size:var(--t0); font-weight:600; letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold-3); margin-bottom:var(--sp3)
}
.mg-eyebrow::before { content:''; width:26px; height:1px; background:var(--gold); flex-shrink:0 }
.mg-eyebrow.c { justify-content:center }
.mg-eyebrow.c::after { content:''; width:26px; height:1px; background:var(--gold); flex-shrink:0 }
.mg-eyebrow.lt { color:rgba(201,168,76,.75) }
.mg-eyebrow.lt::before,.mg-eyebrow.lt::after { background:rgba(201,168,76,.4) }

.mg-hl { font-family:var(--serif); font-weight:400; line-height:1.06; letter-spacing:-.02em }
.mg-hl em { font-style:italic; color:var(--red); font-weight:500 }
.mg-hl.lt { color:var(--cream) }
.mg-hl.lt em { color:var(--gold) }

.mg-rule { width:50px; height:1px; background:var(--gold); margin:var(--sp4) 0 }
.mg-rule.c { margin-inline:auto }

.mg-lede { color:var(--text-2); max-width:580px; font-size:var(--t3); line-height:1.75 }
.mg-lede.c { margin-inline:auto; text-align:center }

.mg-sec-head { text-align:center; margin-bottom:var(--sp7) }
.mg-sec-head .mg-lede { margin-top:var(--sp3) }

/* ═══════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════ */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.9rem 1.8rem;
  font-size:var(--t0); font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  border:1.5px solid transparent; border-radius:var(--r1);
  cursor:pointer; transition:all .28s var(--spring); white-space:nowrap; text-decoration:none;
  position:relative; overflow:hidden
}
.btn svg,
.btn i { flex-shrink:0; transition:transform .28s var(--spring) }
.btn:hover svg,
.btn:hover i { transform:translateX(3px) }

.btn-primary { background:var(--red); color:var(--cream); border-color:var(--red) }
.btn-primary:hover { background:var(--red-2); border-color:var(--red-2); color:var(--cream); transform:translateY(-2px) }

.btn-gold { background:var(--gold); color:var(--ink); border-color:var(--gold) }
.btn-gold:hover { background:var(--gold-2); border-color:var(--gold-2); color:var(--ink); transform:translateY(-2px) }

.btn-outline-light { background:transparent; color:var(--cream); border-color:rgba(201,168,76,.45) }
.btn-outline-light:hover { background:var(--gold); color:var(--ink); border-color:var(--gold) }

.btn-outline-dark { background:transparent; color:var(--red); border-color:var(--red) }
.btn-outline-dark:hover { background:var(--red); color:var(--cream) }

.btn-ghost-gold { background:transparent; color:var(--gold); border-color:rgba(201,168,76,.35) }
.btn-ghost-gold:hover { background:var(--gold); color:var(--ink) }

.btn-sm  { padding:.6rem 1.15rem; font-size:.62rem }
.btn-lg  { padding:1.05rem 2.2rem; font-size:.76rem }
.btn-xl  { padding:1.15rem 2.6rem; font-size:.8rem }
.btn-fw  { width:100%; justify-content:center }

/* ═══════════════════════════════════════════
   ANNOUNCEMENT BAR
═══════════════════════════════════════════ */
.ann-bar {
  height:var(--ann); background:var(--ink); color:var(--cream);
  font-size:var(--t0); letter-spacing:.06em;
  display:flex; align-items:center; justify-content:center; text-align:center;
  position:fixed; top:0; left:0; right:0; z-index:1100;
  border-bottom:1px solid rgba(201,168,76,.1)
}
.ann-bar a { color:var(--gold); text-decoration:underline; text-underline-offset:2px }

/* ═══════════════════════════════════════════
   HEADER
═══════════════════════════════════════════ */
.site-hdr {
  position:fixed; top:var(--ann); left:0; right:0; z-index:1000;
  transition:all .5s var(--spring)
}
.site-hdr.no-ann { top:0 }

.hdr-bar {
  padding:1.15rem 0;
  transition:all .5s var(--spring)
}
.site-hdr.scrolled .hdr-bar {
  padding:.7rem 0;
  background:rgba(15,10,6,.94);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  box-shadow:0 1px 0 rgba(201,168,76,.15), 0 4px 30px rgba(0,0,0,.3)
}

.hdr-inner {
  display:flex; align-items:center; justify-content:space-between; gap:var(--sp5)
}

/* Logo */
.site-logo { display:flex; flex-direction:column; line-height:1; text-decoration:none; flex-shrink:0 }
.logo-sub  { font-size:.55rem; font-weight:700; letter-spacing:.48em; color:var(--green-2); text-transform:uppercase }
.logo-main { font-family:var(--serif); font-size:clamp(1.5rem,2.5vw,1.9rem); font-weight:600; color:var(--gold); letter-spacing:.04em; line-height:1 }
.logo-tag  { font-size:.48rem; letter-spacing:.2em; color:rgba(250,246,238,.35); text-transform:uppercase; margin-top:2px }

/* Nav */
.hdr-nav { display:flex; align-items:center; gap:0 }
.hdr-nav a {
  font-size:var(--t0); font-weight:500; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(250,246,238,.7); padding:.5rem .9rem;
  position:relative; transition:color .18s; display:block
}
.hdr-nav a::after {
  content:''; position:absolute; bottom:0; left:.9rem; right:.9rem;
  height:1px; background:var(--gold);
  transform:scaleX(0); transform-origin:center;
  transition:transform .28s var(--spring)
}
.hdr-nav a:hover,
.hdr-nav a.active { color:var(--gold) }
.hdr-nav a:hover::after,
.hdr-nav a.active::after { transform:scaleX(1) }

/* Actions */
.hdr-actions { display:flex; align-items:center; gap:.25rem; flex-shrink:0 }
.hdr-icon-btn {
  width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center;
  color:rgba(250,246,238,.7); border-radius:var(--r2); position:relative;
  transition:all .18s; cursor:pointer; flex-shrink:0
}
.hdr-icon-btn:hover { color:var(--gold); background:rgba(201,168,76,.1) }
.cart-pill {
  position:absolute; top:5px; right:5px;
  min-width:16px; height:16px;
  background:var(--gold); color:var(--ink);
  font-size:.55rem; font-weight:700; border-radius:8px;
  display:flex; align-items:center; justify-content:center; padding:0 3px
}
.cart-pill.zero { display:none }

/* Hamburger */
.hdr-burger {
  width:40px; height:40px; display:none; flex-direction:column;
  align-items:center; justify-content:center; gap:6px;
  color:var(--cream); cursor:pointer; flex-shrink:0
}
.hdr-burger span {
  display:block; width:22px; height:1.5px; background:currentColor;
  transition:all .3s var(--spring); transform-origin:center
}
.hdr-burger.open span:nth-child(1) { transform:translateY(7.5px) rotate(45deg) }
.hdr-burger.open span:nth-child(2) { opacity:0; transform:scaleX(0) }
.hdr-burger.open span:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg) }

/* ═══════════════════════════════════════════
   MOBILE NAV
═══════════════════════════════════════════ */
.mob-overlay {
  position:fixed; inset:0; background:rgba(15,10,6,.75);
  z-index:1050; opacity:0; pointer-events:none; transition:opacity .3s
}
.mob-overlay.open { opacity:1; pointer-events:all }

.mob-nav {
  position:fixed; top:0; right:-100%; width:min(380px,92vw); height:100vh;
  background:var(--ink-2); z-index:1060;
  display:flex; flex-direction:column; padding:var(--sp6) var(--sp5);
  gap:var(--sp5); transition:right .5s var(--spring); overflow-y:auto
}
.mob-nav.open { right:0 }
.mob-close {
  width:40px; height:40px; color:rgba(250,246,238,.5);
  margin-left:auto; display:flex; align-items:center; justify-content:center;
  border-radius:var(--r2); transition:color .18s; cursor:pointer; flex-shrink:0
}
.mob-close:hover { color:var(--gold) }
.mob-links { display:flex; flex-direction:column; gap:.2rem }
.mob-links a {
  font-family:var(--serif); font-size:var(--t5); color:rgba(250,246,238,.8);
  padding:var(--sp3) 0; border-bottom:1px solid rgba(201,168,76,.08);
  letter-spacing:.02em; transition:color .18s
}
.mob-links a:hover { color:var(--gold) }
.mob-cta { margin-top:auto; display:flex; flex-direction:column; gap:var(--sp2) }

/* ═══════════════════════════════════════════
   HERO
═══════════════════════════════════════════ */
.hero {
  min-height:100svh;
  background:var(--ink);
  position:relative; overflow:hidden;
  display:flex; align-items:center;
  padding-top:calc(var(--ann) + var(--hdr) + var(--sp6));
  padding-bottom:var(--sp7)
}

/* Grain texture overlay */
.hero::before {
  content:''; position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
  pointer-events:none; z-index:0
}
.hero::after {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 60% 70% at 70% 40%, rgba(139,30,30,.38) 0%, transparent 65%),
    radial-gradient(ellipse 40% 50% at 15% 75%, rgba(45,90,39,.2) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 90% 90%, rgba(201,168,76,.06) 0%, transparent 55%)
}

.hero-inner {
  position:relative; z-index:2;
  display:grid; grid-template-columns:1fr 1fr;
  align-items:center; gap:var(--sp7)
}

/* Left */
.hero-pill {
  display:inline-flex; align-items:center; gap:.55rem;
  background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.28);
  border-radius:var(--rpill); padding:.4rem .95rem .4rem .6rem;
  font-size:var(--t0); font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold); margin-bottom:var(--sp4)
}
.hero-pill-dot {
  width:6px; height:6px; border-radius:50%; background:var(--gold);
  animation:blink 2s ease-in-out infinite; flex-shrink:0
}
@keyframes blink { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.35;transform:scale(.65)} }

.hero h1 {
  font-size:var(--t8); color:var(--cream); line-height:1;
  margin-bottom:var(--sp4); letter-spacing:-.03em
}
.hero h1 em { color:var(--gold); font-style:italic; font-weight:500 }

.hero-sub {
  font-size:var(--t3); color:rgba(250,246,238,.58);
  max-width:500px; line-height:1.85; margin-bottom:var(--sp5)
}

.hero-ctas { display:flex; gap:var(--sp3); flex-wrap:wrap; margin-bottom:var(--sp7) }

.hero-stats {
  display:grid; grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(201,168,76,.14); padding-top:var(--sp4); gap:var(--sp4)
}
.stat-n { font-family:var(--serif); font-size:var(--t5); font-weight:600; color:var(--gold); line-height:1 }
.stat-l { font-size:var(--t0); color:rgba(250,246,238,.38); letter-spacing:.12em; text-transform:uppercase; margin-top:.2rem }

/* Right — product showcase */
.hero-visual {
  display:flex; align-items:flex-end; justify-content:center;
  gap:clamp(.75rem,2vw,1.5rem); position:relative
}
.hero-glow {
  position:absolute; width:75%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,.15),transparent 65%);
  top:50%; left:50%; transform:translate(-50%,-50%);
  filter:blur(40px); pointer-events:none
}
.h-bottle {
  display:flex; flex-direction:column; align-items:center; gap:var(--sp2);
  text-decoration:none; transition:transform .55s var(--spring); position:relative; z-index:1;
  cursor:pointer
}
.h-bottle:hover { transform:translateY(-14px) }
.h-bottle img {
  object-fit:contain;
  filter:drop-shadow(0 20px 50px rgba(0,0,0,.55))
}
.h-bottle.feat img { height:clamp(200px,28vw,320px); width:auto }
.h-bottle.side img { height:clamp(150px,21vw,250px); width:auto; opacity:.82 }
.h-bottle-ph {
  border-radius:var(--r3); display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:.65rem;
  border:1px solid rgba(201,168,76,.14); color:rgba(201,168,76,.45);
  font-size:var(--t0); letter-spacing:.14em; text-transform:uppercase; text-align:center;
  padding:var(--sp4); background:linear-gradient(175deg,rgba(201,168,76,.05),rgba(139,30,30,.08))
}
.h-bottle.feat .h-bottle-ph { height:clamp(200px,28vw,320px); width:clamp(110px,16vw,180px) }
.h-bottle.side .h-bottle-ph { height:clamp(150px,21vw,250px); width:clamp(85px,12vw,140px) }
.h-bottle-name { font-size:var(--t0); letter-spacing:.15em; text-transform:uppercase; color:rgba(250,246,238,.4) }
.h-bottle-price { font-family:var(--serif); font-size:var(--t4); font-weight:600; color:var(--gold) }

/* ═══════════════════════════════════════════
   TRUST STRIP
═══════════════════════════════════════════ */
.trust-strip {
  background:var(--red); padding:var(--sp3) 0;
  border-top:1px solid rgba(201,168,76,.2);
  border-bottom:1px solid rgba(201,168,76,.2)
}
.trust-inner {
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap
}
.trust-item {
  display:flex; align-items:center; gap:.6rem;
  padding:.45rem clamp(.9rem,2.5vw,2rem);
  border-right:1px solid rgba(250,246,238,.12)
}
.trust-item:last-child { border-right:none }
.trust-ic { color:var(--gold); flex-shrink:0; display:flex }
.trust-tx { font-size:var(--t0); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--cream); white-space:nowrap }

/* ═══════════════════════════════════════════
   PRODUCTS
═══════════════════════════════════════════ */
.products-section { background:var(--cream) }

.products-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp4)
}

/* Product card — Mivo-style clean card */
.p-card {
  background:#fff; border-radius:var(--r3);
  overflow:hidden; border:1px solid rgba(15,10,6,.06);
  transition:all .5s var(--spring);
  display:flex; flex-direction:column; position:relative
}
.p-card:hover {
  transform:translateY(-8px);
  border-color:var(--border);
  box-shadow:0 24px 64px rgba(15,10,6,.1), 0 2px 8px rgba(15,10,6,.04)
}

.p-card-tag {
  position:absolute; top:var(--sp3); left:var(--sp3); z-index:2;
  font-size:.58rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  padding:.3rem .75rem; border-radius:var(--r1)
}
.p-card-tag.sale { background:var(--red); color:var(--cream) }
.p-card-tag.new  { background:var(--green); color:var(--cream) }
.p-card-tag.best { background:var(--gold); color:var(--ink) }

.p-card-img {
  background:var(--cream-2); height:clamp(200px,26vw,300px);
  display:flex; align-items:center; justify-content:center;
  padding:var(--sp5); position:relative; overflow:hidden; text-decoration:none
}
/* Subtle radial glow behind product */
.p-card-img::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 70% 60% at 50% 60%, rgba(201,168,76,.1), transparent 65%);
  pointer-events:none
}
.p-card-img img {
  height:clamp(150px,18vw,230px); width:auto; object-fit:contain;
  transition:transform .55s var(--spring); position:relative; z-index:1
}
.p-card:hover .p-card-img img { transform:scale(1.08) translateY(-5px) }

.p-card-img-ph {
  display:flex; flex-direction:column; align-items:center;
  gap:.75rem; color:rgba(201,168,76,.38); text-align:center
}
.p-card-img-ph span { font-size:var(--t0); letter-spacing:.14em; text-transform:uppercase }

.p-card-body { padding:var(--sp4); display:flex; flex-direction:column; gap:var(--sp2); flex:1 }
.p-card-cat { font-size:.6rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--green) }
.p-card-name { font-family:var(--serif); font-size:var(--t4); font-weight:500; color:var(--ink); line-height:1.18 }
.p-card-name a { color:inherit }
.p-card-name a:hover { color:var(--red) }
.p-card-desc { font-size:var(--t1); color:var(--text-2); line-height:1.68 }
.p-card-foot { display:flex; align-items:center; justify-content:space-between; gap:var(--sp3); margin-top:auto; padding-top:var(--sp3); border-top:1px solid rgba(15,10,6,.06) }
.p-card-price { font-family:var(--serif); font-size:var(--t5); font-weight:600; color:var(--red); line-height:1 }
.p-card-price small { display:block; font-family:var(--sans); font-size:.6rem; font-weight:400; color:var(--text-3); letter-spacing:.08em }
.p-card-price del { font-size:70%; color:var(--text-3); font-weight:400; display:block }

/* WC button override inside card */
.p-card .button,
.p-card .add_to_cart_button {
  display:inline-flex !important; align-items:center; justify-content:center;
  gap:.4rem; padding:.65rem 1.15rem !important;
  background:var(--red) !important; color:var(--cream) !important;
  border:none !important; border-radius:var(--r1) !important;
  font-size:.62rem !important; font-weight:600 !important; letter-spacing:.12em !important;
  text-transform:uppercase !important; cursor:pointer !important; white-space:nowrap;
  transition:background .2s !important
}
.p-card .button:hover,
.p-card .add_to_cart_button:hover { background:var(--red-2) !important; color:var(--cream) !important }

/* ═══════════════════════════════════════════
   STORY
═══════════════════════════════════════════ */
.story-section { background:var(--ink); position:relative; overflow:hidden }
.story-section::before {
  content:''; position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0l4 26 26 4-26 4-4 26-4-26-26-4 26-4z' fill='%23C9A84C' fill-opacity='.025'/%3E%3C/svg%3E");
  pointer-events:none
}
.story-grid {
  position:relative; display:grid; grid-template-columns:1.1fr 1fr;
  gap:clamp(3rem,7vw,7rem); align-items:center
}
.story-img-wrap { position:relative }
.story-img {
  width:100%; height:clamp(380px,48vw,580px);
  object-fit:cover; border-radius:var(--r3);
  border:1px solid rgba(201,168,76,.12);
  display:block
}
.story-ph {
  width:100%; height:clamp(380px,48vw,580px);
  border-radius:var(--r3); border:1px solid rgba(201,168,76,.12);
  background:rgba(201,168,76,.04);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:var(--sp3); color:rgba(201,168,76,.3);
  font-size:var(--t0); letter-spacing:.15em; text-transform:uppercase
}
.story-seal {
  position:absolute; bottom:-1.25rem; right:-1.25rem;
  background:var(--red); border:3px solid var(--ink);
  border-radius:var(--r3); padding:var(--sp3) var(--sp4); text-align:center
}
.seal-n { font-family:var(--serif); font-size:var(--t6); font-weight:600; color:var(--gold); line-height:1 }
.seal-t { font-size:.58rem; color:rgba(250,246,238,.6); letter-spacing:.2em; text-transform:uppercase; margin-top:.25rem }

.story-content p { color:rgba(250,246,238,.65); line-height:1.95; margin-bottom:var(--sp4); font-size:var(--t2) }
.story-pull {
  border-left:2px solid var(--gold); padding:var(--sp3) 0 var(--sp3) var(--sp4);
  margin:var(--sp5) 0
}
.story-pull p {
  font-family:var(--serif); font-size:var(--t4); font-style:italic;
  color:var(--gold) !important; margin:0 !important; line-height:1.5
}

/* ═══════════════════════════════════════════
   PROCESS
═══════════════════════════════════════════ */
.process-section { background:var(--cream-2) }
.process-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:var(--sp5); position:relative
}
.process-grid::before {
  content:''; position:absolute; top:44px; left:12.5%; right:12.5%;
  height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:.3; z-index:0
}
.process-step { text-align:center; position:relative; z-index:1 }
.step-num {
  width:88px; height:88px; margin:0 auto var(--sp4);
  background:var(--red); border:2px solid var(--gold); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-size:var(--t5); font-weight:600; color:var(--gold);
  transition:all .3s var(--spring)
}
.process-step:hover .step-num { background:var(--gold); color:var(--ink); transform:scale(1.07) }
.step-title { font-family:var(--serif); font-size:var(--t4); color:var(--ink); margin-bottom:var(--sp2) }
.step-desc { font-size:var(--t1); color:var(--text-2); line-height:1.75 }

/* ═══════════════════════════════════════════
   WHY
═══════════════════════════════════════════ */
.why-section { background:var(--red) }
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp4) }
.why-card {
  background:rgba(250,246,238,.04); border:1px solid rgba(201,168,76,.2);
  border-radius:var(--r3); padding:var(--sp5);
  transition:all .3s var(--spring)
}
.why-card:hover {
  background:rgba(250,246,238,.08); border-color:rgba(201,168,76,.38);
  transform:translateY(-4px)
}
.why-ic {
  width:50px; height:50px;
  background:rgba(201,168,76,.12); border:1px solid rgba(201,168,76,.28);
  border-radius:var(--r2); color:var(--gold);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:var(--sp4); flex-shrink:0
}
.why-title { font-family:var(--serif); font-size:var(--t4); color:var(--gold); margin-bottom:var(--sp2) }
.why-desc  { font-size:var(--t1); color:rgba(250,246,238,.65); line-height:1.85 }

/* ═══════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════ */
.testi-section { background:var(--cream) }
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp4) }
.t-card {
  background:#fff; border-radius:var(--r3); padding:var(--sp5);
  border:1px solid rgba(15,10,6,.06); border-top:3px solid var(--gold);
  display:flex; flex-direction:column; gap:var(--sp3);
  transition:box-shadow .3s
}
.t-card:hover { box-shadow:0 16px 48px rgba(15,10,6,.1) }
.t-stars { color:var(--gold); font-size:.9rem; letter-spacing:.08em }
.t-text { font-family:var(--serif); font-size:var(--t3); font-style:italic; color:var(--ink); line-height:1.75; flex:1 }
.t-author { display:flex; align-items:center; gap:var(--sp3); padding-top:var(--sp3); border-top:1px solid rgba(15,10,6,.06) }
.t-avatar {
  width:44px; height:44px; border-radius:50%; background:var(--red);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-size:1rem; font-weight:600; color:var(--gold); flex-shrink:0
}
.t-name { font-weight:600; font-size:var(--t1); color:var(--ink) }
.t-loc  { font-size:var(--t0); color:var(--text-3) }

/* ═══════════════════════════════════════════
   ABOUT STRIP (counter section)
═══════════════════════════════════════════ */
.about-strip { background:var(--ink-2) }
.about-strip-inner { display:grid; grid-template-columns:1.4fr 1fr; gap:var(--sp7); align-items:center }
.about-counters { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp5) }
.counter-item { padding:var(--sp4); border:1px solid var(--border); border-radius:var(--r3) }
.counter-n { font-family:var(--serif); font-size:var(--t7); font-weight:600; color:var(--gold); line-height:1 }
.counter-l { font-size:var(--t0); color:rgba(250,246,238,.4); letter-spacing:.14em; text-transform:uppercase; margin-top:.3rem }

/* ═══════════════════════════════════════════
   NEWSLETTER
═══════════════════════════════════════════ */
.nl-section { background:var(--ink); text-align:center }
.nl-section p { color:rgba(250,246,238,.55); max-width:480px; margin:var(--sp3) auto var(--sp5); font-size:var(--t3) }
.nl-form { display:flex; max-width:460px; margin:0 auto; gap:0 }
.nl-input {
  flex:1; padding:.9rem 1.2rem;
  background:rgba(250,246,238,.07); border:1px solid rgba(201,168,76,.28); border-right:none;
  border-radius:var(--r1) 0 0 var(--r1); color:var(--cream);
  font-size:var(--t1); outline:none; transition:border-color .2s
}
.nl-input::placeholder { color:rgba(250,246,238,.25) }
.nl-input:focus { border-color:var(--gold) }
.nl-btn {
  padding:.9rem 1.6rem; background:var(--gold); color:var(--ink);
  border:1px solid var(--gold); border-radius:0 var(--r1) var(--r1) 0;
  font-size:var(--t0); font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  cursor:pointer; transition:background .2s; white-space:nowrap
}
.nl-btn:hover { background:var(--gold-2) }
.nl-note { font-size:var(--t0); color:rgba(250,246,238,.22); margin-top:var(--sp3) }

/* ═══════════════════════════════════════════
   POPUP — LEAD FORM
═══════════════════════════════════════════ */
.popup-overlay {
  position:fixed; inset:0; background:rgba(15,10,6,.78); z-index:9000;
  display:flex; align-items:center; justify-content:center; padding:var(--sp4);
  opacity:0; pointer-events:none; transition:opacity .3s
}
.popup-overlay.open { opacity:1; pointer-events:all }

.popup-box {
  background:var(--cream); border-radius:var(--r4);
  width:min(620px,100%); position:relative; overflow:hidden;
  display:grid; grid-template-columns:1fr 1fr;
  transform:scale(.93) translateY(20px); transition:transform .5s var(--spring)
}
.popup-overlay.open .popup-box { transform:scale(1) translateY(0) }

.popup-left {
  background:var(--ink);
  padding:var(--sp6) var(--sp5);
  display:flex; flex-direction:column; justify-content:flex-end;
  position:relative; overflow:hidden
}
.popup-left::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 80% 60% at 20% 80%, rgba(139,30,30,.45), transparent 65%);
  pointer-events:none
}
.popup-left-content { position:relative; z-index:1 }
.popup-kicker { font-size:var(--t0); font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:var(--sp2) }
.popup-hl { font-family:var(--serif); font-size:var(--t6); color:var(--cream); line-height:1.08; margin-bottom:var(--sp2) }
.popup-hl em { color:var(--gold); font-style:italic }
.popup-sub-txt { font-size:var(--t1); color:rgba(250,246,238,.55); line-height:1.75 }

.popup-close {
  position:absolute; top:var(--sp3); right:var(--sp3);
  width:34px; height:34px;
  color:rgba(250,246,238,.45); background:rgba(250,246,238,.06);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  z-index:10; cursor:pointer; transition:all .2s
}
.popup-close:hover { color:var(--gold); background:rgba(201,168,76,.12) }

.popup-right { padding:var(--sp5) }
.popup-form-hl { font-family:var(--serif); font-size:var(--t5); color:var(--ink); margin-bottom:.3rem }
.popup-form-sub { font-size:var(--t1); color:var(--text-2); margin-bottom:var(--sp4); line-height:1.6 }

.form-group { margin-bottom:var(--sp3) }
.form-label { display:block; font-size:var(--t0); font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3); margin-bottom:.4rem }
.form-input {
  width:100%; padding:.8rem 1rem;
  background:#fff; border:1.5px solid rgba(201,168,76,.22);
  border-radius:var(--r2); font-size:var(--t1); color:var(--text); outline:none;
  transition:border-color .2s, box-shadow .2s
}
.form-input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,168,76,.12) }
.form-input::placeholder { color:rgba(26,17,8,.28) }
.form-select {
  width:100%; padding:.8rem 1rem;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238B1E1E'/%3E%3C/svg%3E") no-repeat right 1rem center;
  border:1.5px solid rgba(201,168,76,.22); border-radius:var(--r2);
  font-size:var(--t1); color:var(--text); outline:none; appearance:none; cursor:pointer;
  transition:border-color .2s
}
.form-select:focus { border-color:var(--gold) }

.popup-perks { margin-top:var(--sp4); display:flex; flex-direction:column; gap:.5rem }
.popup-perk { display:flex; align-items:center; gap:.6rem; font-size:var(--t0); color:var(--text-2) }
.popup-perk::before {
  content:'✓'; width:16px; height:16px; background:var(--green); color:#fff;
  border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  font-size:.58rem; font-weight:700; flex-shrink:0
}
.popup-skip { display:block; text-align:center; margin-top:var(--sp3); font-size:var(--t0); color:rgba(26,17,8,.3); cursor:pointer; transition:color .2s }
.popup-skip:hover { color:var(--red) }
.popup-msg { display:none; margin-top:var(--sp3); padding:.75rem 1rem; border-radius:var(--r2); font-size:var(--t1); text-align:center }
.popup-msg.ok { background:rgba(45,90,39,.1); color:var(--green); border:1px solid rgba(45,90,39,.2) }
.popup-msg.err { background:rgba(139,30,30,.08); color:var(--red); border:1px solid rgba(139,30,30,.2) }

/* ═══════════════════════════════════════════
   SEARCH OVERLAY
═══════════════════════════════════════════ */
.search-overlay {
  position:fixed; inset:0; background:rgba(15,10,6,.95);
  z-index:2000; display:none; align-items:flex-start;
  justify-content:center; padding:clamp(3rem,10vh,5rem) var(--sp4)
}
.search-overlay.open { display:flex }
.search-wrap { width:min(700px,100%) }
.search-label { font-size:var(--t0); color:rgba(250,246,238,.35); letter-spacing:.2em; text-transform:uppercase; text-align:center; margin-bottom:var(--sp4) }
.search-input {
  width:100%; padding:1.1rem 4rem 1.1rem 1.5rem;
  background:rgba(250,246,238,.07); border:1px solid rgba(201,168,76,.28);
  border-radius:var(--r3); color:var(--cream);
  font-family:var(--serif); font-size:var(--t5); outline:none; transition:border-color .2s
}
.search-input:focus { border-color:var(--gold) }
.search-input::placeholder { color:rgba(250,246,238,.18) }
.search-close {
  position:absolute; top:var(--sp4); right:var(--sp4);
  width:42px; height:42px; color:rgba(250,246,238,.45);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; border-radius:var(--r2); transition:color .2s
}
.search-close:hover { color:var(--gold) }

/* ═══════════════════════════════════════════
   CART DRAWER
═══════════════════════════════════════════ */
.cart-overlay { position:fixed; inset:0; background:rgba(15,10,6,.65); z-index:1200; opacity:0; pointer-events:none; transition:opacity .3s }
.cart-overlay.open { opacity:1; pointer-events:all }
.cart-drawer {
  position:fixed; top:0; right:-100%; width:min(430px,100vw); height:100vh;
  background:var(--cream); z-index:1210;
  display:flex; flex-direction:column;
  transition:right .5s var(--spring);
  box-shadow:-8px 0 50px rgba(15,10,6,.22)
}
.cart-drawer.open { right:0 }
.cart-hdr { padding:var(--sp4); background:var(--ink); display:flex; align-items:center; justify-content:space-between; flex-shrink:0 }
.cart-hdr h3 { font-family:var(--serif); font-size:var(--t4); color:var(--cream); font-weight:400 }
.cart-hdr-btns { display:flex; align-items:center; gap:.25rem }
.cart-x { width:36px; height:36px; color:rgba(250,246,238,.55); display:flex; align-items:center; justify-content:center; border-radius:var(--r2); cursor:pointer; transition:color .2s }
.cart-x:hover { color:var(--gold) }
.cart-body { flex:1; overflow-y:auto; padding:var(--sp4) }
.cart-empty { text-align:center; padding:var(--sp8) var(--sp4); color:var(--text-3) }
.cart-empty-ic { opacity:.22; margin:0 auto var(--sp4) }
.cart-foot { padding:var(--sp4); border-top:1px solid var(--border); background:var(--cream-2); flex-shrink:0 }
.cart-subtotal { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:var(--sp3) }
.cart-subtotal span:first-child { font-size:var(--t0); font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3) }
.cart-subtotal .amount { font-family:var(--serif); font-size:var(--t5); font-weight:600; color:var(--red) }
.cart-btns { display:flex; flex-direction:column; gap:var(--sp2) }

/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
.site-footer { background:var(--ink-2); color:rgba(250,246,238,.55); padding:var(--sp8) 0 0 }
.footer-grid {
  display:grid; grid-template-columns:1.8fr 1fr 1fr 1.4fr;
  gap:clamp(2rem,5vw,5rem); padding-bottom:var(--sp6);
  border-bottom:1px solid rgba(201,168,76,.1)
}
.footer-about p { font-size:var(--t1); line-height:1.9; color:rgba(250,246,238,.45); margin-top:var(--sp3); max-width:280px }
.footer-social { display:flex; gap:.5rem; margin-top:var(--sp4) }
.social-btn {
  width:36px; height:36px; border:1px solid rgba(201,168,76,.2); border-radius:var(--r2);
  display:flex; align-items:center; justify-content:center; color:rgba(250,246,238,.45);
  transition:all .2s
}
.social-btn:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,.08) }
.footer-fssai { margin-top:var(--sp4); padding:.55rem .9rem; background:rgba(201,168,76,.06); border:1px solid rgba(201,168,76,.14); border-radius:var(--r2); font-size:var(--t0); color:rgba(250,246,238,.32); letter-spacing:.05em }
.footer-hl { font-size:var(--t0); font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); margin-bottom:var(--sp4) }
.footer-links { display:flex; flex-direction:column; gap:.55rem }
.footer-links a { font-size:var(--t1); color:rgba(250,246,238,.48); transition:color .18s }
.footer-links a:hover { color:var(--gold) }
.footer-ci { display:flex; align-items:flex-start; gap:.6rem; margin-bottom:.7rem; font-size:var(--t1) }
.footer-ci .ic { color:var(--gold); margin-top:2px; flex-shrink:0 }
.footer-ci a, .footer-ci span { color:rgba(250,246,238,.48) }
.footer-ci a:hover { color:var(--gold) }
.footer-bot { padding:var(--sp4) 0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--sp3); font-size:var(--t0) }
.footer-copy { color:rgba(250,246,238,.28) }
.footer-bot-links { display:flex; gap:var(--sp4); flex-wrap:wrap }
.footer-bot-links a { color:rgba(250,246,238,.32); font-size:var(--t0) }
.footer-bot-links a:hover { color:var(--gold) }

/* ═══════════════════════════════════════════
   WHATSAPP FAB
═══════════════════════════════════════════ */
.wa-fab {
  position:fixed; bottom:clamp(1rem,4vw,1.75rem); right:clamp(1rem,4vw,1.75rem);
  width:56px; height:56px; background:#25D366; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:#fff;
  box-shadow:0 6px 26px rgba(37,211,102,.42); z-index:800; transition:transform .3s var(--spring);
  text-decoration:none
}
.wa-fab:hover { transform:scale(1.1); color:#fff }

/* ═══════════════════════════════════════════
   PAGE HERO (inner pages)
═══════════════════════════════════════════ */
.page-hero {
  background:var(--ink); color:var(--cream); text-align:center;
  padding:clamp(5rem,14vw,8rem) 0 var(--sp6); position:relative; overflow:hidden
}
.page-hero::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 70% 65% at 50%, rgba(139,30,30,.28), transparent 65%);
  pointer-events:none
}
.page-hero .mg-c { position:relative; z-index:1 }
.page-hero h1 { color:var(--cream); font-size:var(--t7); margin-bottom:var(--sp2) }
.page-hero p  { color:rgba(250,246,238,.52); max-width:540px; margin:0 auto; font-size:var(--t3) }

/* ═══════════════════════════════════════════
   PAGE OFFSET
═══════════════════════════════════════════ */
.page-offset     { padding-top:calc(var(--ann) + var(--hdr)) }
.page-offset.noa { padding-top:var(--hdr) }

/* ═══════════════════════════════════════════
   ENTRY CONTENT
═══════════════════════════════════════════ */
.entry-content { font-size:var(--t2); line-height:1.85; color:var(--text) }
.entry-content h2 { font-family:var(--serif); font-size:var(--t6); color:var(--ink); margin:var(--sp6) 0 var(--sp3) }
.entry-content h3 { font-family:var(--serif); font-size:var(--t5); color:var(--ink); margin:var(--sp5) 0 var(--sp3) }
.entry-content p  { margin-bottom:var(--sp4) }
.entry-content a  { color:var(--red); text-decoration:underline; text-decoration-color:rgba(201,168,76,.35); text-underline-offset:3px }
.entry-content blockquote { border-left:3px solid var(--gold); padding:var(--sp3) 0 var(--sp3) var(--sp4); margin:var(--sp5) 0; font-family:var(--serif); font-style:italic; font-size:var(--t4); color:var(--red) }
.entry-content ul,.entry-content ol { padding-left:var(--sp5); margin-bottom:var(--sp4) }
.entry-content li { margin-bottom:.4rem }

/* ═══════════════════════════════════════════
   WOOCOMMERCE OVERRIDES
═══════════════════════════════════════════ */
.woocommerce ul.products { list-style:none !important; padding:0 !important; margin:0 !important; display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:var(--sp4) !important }
.woocommerce ul.products li.product { margin:0 !important; width:auto !important; float:none !important; background:#fff; border-radius:var(--r3); overflow:hidden; border:1px solid rgba(15,10,6,.06); transition:all .5s var(--spring) }
.woocommerce ul.products li.product:hover { transform:translateY(-6px); box-shadow:0 24px 64px rgba(15,10,6,.1) }
.woocommerce ul.products li.product img { width:100% !important; height:240px !important; object-fit:cover; margin:0 !important }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:var(--serif); font-size:var(--t4) !important; color:var(--ink); padding:var(--sp3) var(--sp4) var(--sp2) !important; margin:0 !important }
.woocommerce ul.products li.product .price { font-family:var(--serif); font-size:var(--t4) !important; color:var(--red); padding:0 var(--sp4) var(--sp3) !important; display:block }
.woocommerce ul.products li.product .button { display:block !important; margin:0 var(--sp4) var(--sp4) !important; padding:.65rem 1rem !important; background:var(--red) !important; color:var(--cream) !important; border:none !important; border-radius:var(--r1) !important; font-size:.62rem !important; font-weight:600 !important; letter-spacing:.12em !important; text-transform:uppercase !important; text-align:center !important; transition:background .2s !important }
.woocommerce ul.products li.product .button:hover { background:var(--red-2) !important; color:var(--cream) !important }
.onsale { background:var(--gold) !important; color:var(--ink) !important; font-size:.58rem !important; font-weight:700 !important; letter-spacing:.14em !important; text-transform:uppercase !important; padding:.28rem .75rem !important; border-radius:var(--r1) !important; min-width:auto !important; min-height:auto !important; line-height:1.4 !important; border:none !important }

/* Single product */
.woocommerce div.product { display:grid !important; grid-template-columns:1fr 1fr; gap:var(--sp7); align-items:start; padding:var(--sp7) 0 }
.woocommerce div.product .woocommerce-product-gallery { width:100% !important; float:none !important; margin:0 !important; position:sticky; top:120px }
.woocommerce div.product .woocommerce-product-gallery__wrapper img { border-radius:var(--r3) }
.woocommerce div.product .summary { width:100% !important; float:none !important; margin:0 !important; padding-top:var(--sp3) }
.product_title { font-family:var(--serif) !important; font-size:var(--t7) !important; font-weight:400 !important; color:var(--ink) !important; margin-bottom:var(--sp3) !important; line-height:1.08 !important }
p.price, span.price { font-family:var(--serif); font-size:var(--t5) !important; font-weight:600 !important; color:var(--red) !important; margin-bottom:var(--sp5) !important }
.single_add_to_cart_button { background:var(--red) !important; color:var(--cream) !important; border:none !important; border-radius:var(--r1) !important; padding:1rem 2rem !important; font-size:.78rem !important; font-weight:600 !important; letter-spacing:.14em !important; text-transform:uppercase !important; transition:background .2s !important; min-width:220px !important }
.single_add_to_cart_button:hover { background:var(--red-2) !important }
form.cart { display:flex; align-items:center; flex-wrap:wrap; gap:var(--sp3); margin-bottom:var(--sp5) !important }
.quantity .qty { width:68px !important; height:46px !important; text-align:center !important; border:1.5px solid var(--border) !important; border-radius:var(--r2) !important; font-size:var(--t3) !important }

/* Cart page */
.woocommerce-cart table.cart th { font-size:var(--t0); font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--text-3); padding:var(--sp3) var(--sp2); border-bottom:2px solid var(--border-2) }
.woocommerce-cart table.cart td { padding:var(--sp4) var(--sp2); border-bottom:1px solid rgba(15,10,6,.06); vertical-align:middle }
.woocommerce-cart table.cart .product-thumbnail img { width:72px !important; height:72px !important; object-fit:cover; border-radius:var(--r2) }
.woocommerce-cart table.cart .product-name a { font-family:var(--serif); font-size:var(--t3); color:var(--ink); font-weight:400 }
.wc-proceed-to-checkout .checkout-button { display:block !important; padding:1rem !important; background:var(--red) !important; color:var(--cream) !important; border-radius:var(--r1) !important; font-size:.82rem !important; font-weight:600 !important; letter-spacing:.12em !important; text-transform:uppercase !important; text-align:center !important; margin-top:var(--sp4) !important }

/* Checkout */
.woocommerce-checkout h3 { font-family:var(--serif); font-size:var(--t5); color:var(--ink); margin-bottom:var(--sp4) }
.woocommerce form .form-row { margin-bottom:var(--sp4) }
.woocommerce form .form-row label { display:block; font-size:var(--t0); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); margin-bottom:.4rem }
.woocommerce form .form-row input,.woocommerce form .form-row select,.woocommerce form .form-row textarea { width:100%; padding:.8rem 1rem; border:1.5px solid rgba(201,168,76,.22); border-radius:var(--r2); font-size:var(--t1); background:#fff; outline:none; transition:border-color .2s }
.woocommerce form .form-row input:focus,.woocommerce form .form-row select:focus { border-color:var(--gold) }
#payment #place_order { display:block; width:100%; padding:1.1rem !important; background:var(--red) !important; color:var(--cream) !important; border:none !important; border-radius:var(--r1) !important; font-size:.85rem !important; font-weight:600 !important; letter-spacing:.14em !important; text-transform:uppercase !important }

/* Messages */
.woocommerce-message,.woocommerce-info { border-top:3px solid var(--gold) !important; background:var(--cream) !important; padding:var(--sp3) var(--sp4) !important; border-radius:var(--r2) !important; margin-bottom:var(--sp5) !important }
.woocommerce-error { border-top:3px solid var(--red) !important; background:var(--cream) !important; padding:var(--sp3) var(--sp4) !important; border-radius:var(--r2) !important; margin-bottom:var(--sp5) !important }

/* ═══════════════════════════════════════════
   SCROLL REVEAL (added by JS)
═══════════════════════════════════════════ */
.will-reveal { opacity:0; transform:translateY(24px); transition:opacity .8s var(--spring), transform .8s var(--spring) }
.will-reveal.revealed { opacity:1; transform:none }

/* ═══════════════════════════════════════════
   ACCESSIBILITY
═══════════════════════════════════════════ */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }
:focus-visible { outline:2px solid var(--gold); outline-offset:3px }
.skip-link { position:absolute; top:-100px; left:8px; z-index:9999; padding:8px 16px; background:var(--ink); color:var(--cream); border-radius:var(--r2) }
.skip-link:focus { top:8px }

/* ═══════════════════════════════════════════
   ELEMENTOR COMPATIBILITY
═══════════════════════════════════════════ */
.elementor-template-canvas .site-hdr,
.elementor-template-canvas .site-footer,
.elementor-template-canvas .ann-bar,
.elementor-template-canvas .wa-fab { display:none !important }
.elementor-page .page-hero { display:none }

/* ═══════════════════════════════════════════
   RESPONSIVE — TABLET ≤1024px
═══════════════════════════════════════════ */
@media(max-width:1024px){
  .hero-inner { grid-template-columns:1fr; gap:var(--sp6) }
  .hero-visual { display:none }
  .hero { min-height:auto; padding-bottom:var(--sp8) }
  .story-grid { grid-template-columns:1fr; gap:var(--sp6) }
  .story-seal { bottom:-1rem; right:-0.5rem }
  .process-grid { grid-template-columns:repeat(2,1fr) }
  .process-grid::before { display:none }
  .why-grid { grid-template-columns:repeat(2,1fr) }
  .testi-grid { grid-template-columns:repeat(2,1fr) }
  .products-grid { grid-template-columns:repeat(2,1fr) }
  .footer-grid { grid-template-columns:1fr 1fr; gap:var(--sp5) }
  .about-strip-inner { grid-template-columns:1fr }
  .woocommerce ul.products { grid-template-columns:repeat(2,1fr) !important }
  .woocommerce div.product { grid-template-columns:1fr !important; gap:var(--sp5) }
  .woocommerce div.product .woocommerce-product-gallery { position:static }
  .popup-box { grid-template-columns:1fr }
  .popup-left { min-height:150px; padding:var(--sp4) var(--sp4) var(--sp5) }
}

/* ═══════════════════════════════════════════
   RESPONSIVE — MOBILE ≤768px
═══════════════════════════════════════════ */
@media(max-width:768px){
  :root { --ann:28px; --hdr:60px }
  .hdr-nav { display:none }
  .hdr-burger { display:flex }
  .trust-inner { flex-direction:column }
  .trust-item { border-right:none; border-bottom:1px solid rgba(250,246,238,.1); padding:.45rem 1.25rem; width:100%; justify-content:center }
  .trust-item:last-child { border-bottom:none }
  .products-grid { grid-template-columns:1fr }
  .process-grid { grid-template-columns:1fr }
  .why-grid { grid-template-columns:1fr }
  .testi-grid { grid-template-columns:1fr }
  .footer-grid { grid-template-columns:1fr; gap:var(--sp5) }
  .footer-bot { flex-direction:column; text-align:center }
  .hero-ctas { flex-direction:column }
  .hero-ctas .btn { width:100%; justify-content:center }
  .hero-stats { grid-template-columns:1fr 1fr }
  .nl-form { flex-direction:column }
  .nl-input { border-right:1px solid rgba(201,168,76,.28); border-radius:var(--r1); margin-bottom:var(--sp2) }
  .nl-btn { border-radius:var(--r1) }
  .cart-drawer { width:100% }
  .woocommerce ul.products { grid-template-columns:1fr !important }
  .popup-box { max-height:90vh; overflow-y:auto }
  .about-counters { grid-template-columns:1fr 1fr }
}

/* ═══════════════════════════════════════════
   RESPONSIVE — SMALL ≤480px
═══════════════════════════════════════════ */
@media(max-width:480px){
  :root { --ann:24px }
  .trust-strip { display:none }
  .about-counters { grid-template-columns:1fr }
}

@media print{
  .site-hdr,.site-footer,.ann-bar,.wa-fab,.popup-overlay,.cart-drawer,.mob-nav { display:none !important }
}
