/* ==========================================================================
   AYURDAARI WELLNESS — CORE STYLESHEET
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&family=Inter:wght@300;400;500;600;700&display=swap');

:root{
  /* Palette */
  --forest:#173D32;
  --deep-green:#214F3D;
  --sage:#9CAF8D;
  --ivory:#F8F5ED;
  --beige:#E9DDC9;
  --earth-brown:#765842;
  --gold:#B89552;
  --charcoal:#242823;

  --ivory-70: rgba(248,245,237,.7);
  --forest-08: rgba(23,61,50,.08);
  --forest-12: rgba(23,61,50,.12);
  --gold-15: rgba(184,149,82,.15);

  --font-head: 'Playfair Display', 'Cormorant Garamond', serif;
  --font-alt: 'Cormorant Garamond', serif;
  --font-body: 'Inter', sans-serif;

  --container: 1360px;
  --radius-lg: 24px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --shadow-soft: 0 20px 45px -25px rgba(23,61,50,.35);
  --shadow-card: 0 10px 30px -18px rgba(36,40,35,.25);
  --ease: cubic-bezier(.4,0,.2,1);
  --header-h: 118px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--charcoal);
  background:var(--ivory);
  line-height:1.6;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}
/* Subtle film-grain texture for tactile, premium depth on flat backgrounds */
body::before{
  content:'';
  position:fixed;inset:0;
  z-index:2;pointer-events:none;
  opacity:.035;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
img,svg,video{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;border:none;background:none;}
button{cursor:pointer;}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:600;line-height:1.15;color:var(--forest);}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

.container{max-width:var(--container);margin:0 auto;padding:0 32px;}
.hidden{display:none!important;}

/* ---------- Typography helpers ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-body);font-size:12.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:18px;
}
.eyebrow::before{content:'';width:28px;height:1px;background:var(--gold);}
.section-title{
  font-size:clamp(30px,3.6vw,48px);
  color:var(--forest);
  margin-bottom:16px;
  letter-spacing:-.01em;
}
.section-title em{font-style:italic;color:var(--gold);}
.section-sub{
  max-width:560px;
  color:#5b5f56;
  font-size:16.5px;
}
.section-head{margin-bottom:clamp(28px,5vw,44px);}
.section-head.center{text-align:center;margin-left:auto;margin-right:auto;}
.section-head.center .section-sub{margin-left:auto;margin-right:auto;}
.section-head.split{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;}

section{padding:clamp(40px,7vw,88px) 0;position:relative;}
.section-tight{padding:clamp(28px,5.5vw,64px) 0;}
.bg-ivory{background:var(--ivory);}
.bg-beige{background:var(--beige);}
.bg-forest{background:var(--forest);color:var(--ivory-70);}
.bg-forest h1,.bg-forest h2,.bg-forest h3{color:var(--ivory);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 30px;
  border-radius:100px;
  font-size:14px;font-weight:600;letter-spacing:.03em;
  transition:all .35s var(--ease);
  white-space:nowrap;
}
.btn svg{width:16px;height:16px;transition:transform .35s var(--ease);}
.btn:hover svg{transform:translateX(5px);}
.btn-primary{background:var(--forest);color:var(--ivory);box-shadow:var(--shadow-soft);}
.btn-primary:hover{background:var(--deep-green);transform:translateY(-3px);}
.btn-secondary{background:transparent;color:var(--forest);border:1.5px solid var(--forest);}
.btn-secondary:hover{background:var(--forest);color:var(--ivory);transform:translateY(-3px);}
.btn-light{background:var(--ivory);color:var(--forest);}
.btn-light:hover{background:var(--gold);color:var(--ivory);transform:translateY(-3px);}
.btn-ghost{color:var(--forest);font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:8px;}
.btn-ghost svg{width:15px;height:15px;transition:transform .3s var(--ease);}
.btn-ghost:hover svg{transform:translateX(6px);}
.btn-sm{padding:11px 20px;font-size:13px;}

/* ---------- Icon buttons ---------- */
.icon-btn{
  width:42px;height:42px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  position:relative;transition:background .3s var(--ease);
}
.icon-btn svg{width:19px;height:19px;}
.icon-btn:hover{background:var(--forest-08);}
.badge-count{
  position:absolute;top:-2px;right:-2px;
  background:var(--gold);color:var(--ivory);
  font-size:10px;font-weight:700;
  width:17px;height:17px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.announce-bar{
  background:var(--forest);color:var(--ivory);
  text-align:center;font-size:12.5px;letter-spacing:.04em;
  padding:9px 16px;font-weight:500;
}
header.site-header{
  position:sticky;top:0;z-index:200;
  transition:background .4s var(--ease),box-shadow .4s var(--ease),transform .3s var(--ease);
}
.site-header.transparent{background:transparent;}
.site-header.solid{
  background:rgba(248,245,237,.92);
  backdrop-filter:blur(14px);
  box-shadow:0 6px 24px -18px rgba(23,61,50,.4);
}
.site-header.hide-bar .announce-bar{display:none;}

.navbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 32px;max-width:var(--container);margin:0 auto;
  transition:padding .35s var(--ease);
}
.site-header.solid .navbar{padding:14px 32px;}

.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:700;font-size:22px;color:var(--forest);}
.site-header.transparent .logo{color:var(--forest);}
.logo .mark{
  width:38px;height:38px;border-radius:50%;
  background:var(--forest);color:var(--ivory);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-alt);font-style:italic;font-size:19px;
}
.logo span em{color:var(--gold);font-style:italic;}
.logo-img{height:44px;width:auto;border-radius:6px;display:block;}
.drawer-top .logo-img,.footer-brand .logo-img{height:40px;}

.main-nav{display:flex;gap:30px;}
.main-nav a{
  font-size:14.5px;font-weight:500;color:var(--charcoal);
  position:relative;padding:6px 0;
}
.main-nav a::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:1.5px;
  background:var(--gold);transition:width .3s var(--ease);
}
.main-nav a:hover::after,.main-nav a.active::after{width:100%;}
.main-nav a.active{color:var(--forest);font-weight:600;}

.nav-actions{display:flex;align-items:center;gap:4px;}
.nav-actions .btn{margin-left:14px;}

.hamburger{display:none;width:42px;height:42px;position:relative;border-radius:50%;}
.hamburger span{
  position:absolute;left:11px;width:20px;height:2px;background:var(--forest);
  transition:all .3s var(--ease);
}
.hamburger span:nth-child(1){top:15px;}
.hamburger span:nth-child(2){top:21px;}
.hamburger span:nth-child(3){top:27px;}
.hamburger.active span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* Mobile drawer */
.mobile-drawer{
  position:fixed;top:0;right:0;height:100%;width:min(360px,86vw);
  background:var(--ivory);z-index:400;
  transform:translateX(100%);transition:transform .45s var(--ease);
  box-shadow:-20px 0 60px rgba(0,0,0,.15);
  display:flex;flex-direction:column;padding:28px 26px;overflow-y:auto;
}
.mobile-drawer.open{transform:translateX(0);}
.drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px;}
.mobile-drawer nav{display:flex;flex-direction:column;gap:6px;}
.mobile-drawer nav a{
  font-family:var(--font-head);font-size:24px;padding:12px 0;color:var(--forest);
  border-bottom:1px solid var(--forest-08);
}
.drawer-cta{margin-top:32px;display:flex;flex-direction:column;gap:14px;}
.scrim{
  position:fixed;inset:0;background:rgba(23,61,50,.45);z-index:390;
  opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s;
}
.scrim.show{opacity:1;visibility:visible;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  min-height:92vh;display:flex;align-items:center;
  padding-top:64px;padding-bottom:64px;position:relative;overflow:hidden;
  background:linear-gradient(120deg,#f8f5ed 0%,#eee7d6 55%,#e9ddc9 100%);
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 85% 20%, rgba(156,175,141,.35), transparent 55%),
             radial-gradient(circle at 10% 90%, rgba(184,149,82,.18), transparent 45%);
  animation:driftBg 18s ease-in-out infinite alternate;
}
.hero-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
  position:relative;z-index:2;
}
.hero-copy h1{font-size:clamp(46px,6.4vw,92px);margin-bottom:24px;letter-spacing:-.01em;}
.hero-copy h1 .italic{font-family:var(--font-alt);font-style:italic;color:var(--gold);font-weight:500;}
.hero-copy p{max-width:460px;color:#4d5148;font-size:17.5px;margin-bottom:36px;}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;}

.hero-visual{position:relative;height:560px;}
.hero-blob{
  position:absolute;inset:6% 8%;
  border-radius:50% 45% 55% 48% / 55% 50% 48% 45%;
  background:linear-gradient(150deg,#2c5b46,#173D32 70%);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  animation:zoomSlow 14s ease-in-out infinite alternate;
}
.hero-blob img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-blob::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(23,61,50,.25),rgba(23,61,50,0) 55%);
}
.hero-leaf{position:absolute;opacity:.9;filter:drop-shadow(0 10px 14px rgba(0,0,0,.15));}
.hero-leaf.l1{top:6%;left:0;width:70px;animation:floatY 6s ease-in-out infinite;}
.hero-leaf.l2{bottom:10%;right:2%;width:56px;animation:floatY 7s ease-in-out infinite .8s;}
.hero-leaf.l3{top:44%;right:-4%;width:44px;animation:floatY 5.5s ease-in-out infinite .3s;}
.hero-card{
  position:absolute;bottom:18px;left:-24px;
  background:var(--ivory);border-radius:var(--radius-md);
  padding:18px 22px;box-shadow:var(--shadow-card);
  display:flex;align-items:center;gap:14px;min-width:210px;
}
.hero-card .icon-circ{
  width:42px;height:42px;border-radius:50%;background:var(--gold-15);
  display:flex;align-items:center;justify-content:center;color:var(--gold);
}
.hero-card strong{display:block;font-size:15px;color:var(--forest);}
.hero-card span{font-size:12px;color:#6b7066;}

/* ---------- Hero floating product composition ---------- */
.hero-products{position:absolute;inset:0;}
.hero-product{
  position:absolute;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:0 30px 60px -20px rgba(23,20,15,.4);
  border:6px solid var(--ivory);
  opacity:0;transform:translateY(50px) scale(.92);
  transition:opacity .9s var(--ease),transform .9s var(--ease);
}
.hero-product img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-product.in{opacity:1;transform:translateY(0) scale(1);}
.hero-product.hp-1{width:62%;aspect-ratio:4/5;top:2%;left:6%;z-index:2;transition-delay:.1s;}
.hero-product.hp-2{width:44%;aspect-ratio:1/1;bottom:6%;right:0;z-index:3;transition-delay:.35s;}
.hero-product.hp-3{width:30%;aspect-ratio:1/1;top:6%;right:8%;z-index:1;transition-delay:.55s;}
.hero-product.hp-2.in{animation:floatY 7s ease-in-out .9s infinite;}
.hero-product.hp-3.in{animation:floatY 6.5s ease-in-out 1.1s infinite;}
.hero-product.hp-2,.hero-product.hp-3{border-radius:50%;}

/* ---------- Floating trust bar (overlaps hero) ---------- */
.trust-float-wrap{position:relative;z-index:5;margin-top:-56px;padding:0 32px;}
.trust-float{
  max-width:var(--container);margin:0 auto;
  background:var(--ivory);border-radius:var(--radius-lg);
  box-shadow:0 30px 60px -30px rgba(23,61,50,.35);
  padding:30px 40px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;
  border:1px solid var(--forest-08);
}
.trust-float .trust-item{display:flex;align-items:center;gap:14px;font-size:13.5px;font-weight:600;color:var(--forest);flex:1 1 170px;}
.trust-float .trust-icon{
  width:44px;height:44px;border-radius:50%;background:var(--gold-15);color:var(--gold);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.trust-float .trust-icon svg{width:20px;height:20px;}
@media(max-width:1024px){.trust-float-wrap{margin-top:-40px;}.trust-float{padding:24px;gap:18px;}}
@media(max-width:640px){.trust-float-wrap{margin-top:-28px;padding:0 20px;}.trust-float{flex-direction:column;padding:22px;}}

/* ==========================================================================
   HERO SLIDER (actual brand banners as hero)
   ========================================================================== */
.hero-slider{position:relative;overflow:hidden;background:#0f2b22;height:80vh;min-height:520px;max-height:820px;padding:0;}
.hero-slide-track{display:flex;height:100%;transition:transform .7s var(--ease);}
.hero-slide{flex:0 0 100%;height:100%;}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.hero-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.92);
  display:flex;align-items:center;justify-content:center;color:var(--forest);
  box-shadow:var(--shadow-card);transition:background .25s var(--ease),transform .25s var(--ease);
}
.hero-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.06);}
.hero-arrow.prev{left:24px;}
.hero-arrow.next{right:24px;}
.hero-arrow svg{width:20px;height:20px;}
.hero-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.25);z-index:3;}
.hero-progress-bar{height:100%;width:0%;background:var(--gold);}
.hero-progress-bar.animate{transition:width 3.5s linear;}

/* ---------- Synced caption bar below the hero slider ---------- */
.hero-caption-bar{background:var(--ivory);border-bottom:1px solid var(--forest-08);padding:clamp(20px,4.5vw,44px) 0;}
.hero-caption-row{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center;}
.hero-caption-panel{display:none;animation:fadeUp .5s var(--ease);}
.hero-caption-panel.active{display:block;}
.hero-caption-count{font-family:var(--font-head);font-size:13px;letter-spacing:.1em;color:var(--gold);font-weight:700;display:block;margin-bottom:10px;}
.hero-caption-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);opacity:.7;margin-bottom:10px;}
.hero-caption-heading{font-size:clamp(24px,2.6vw,34px);color:var(--forest);margin-bottom:12px;line-height:1.2;}
.hero-caption-desc{color:#5b5f56;font-size:15px;max-width:520px;margin-bottom:18px;}
.hero-caption-features{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px;}
.hero-caption-features span{
  padding:7px 14px;border-radius:100px;border:1px solid var(--forest-12);
  font-size:12.5px;color:var(--forest);font-weight:500;background:#fff;
}
.hero-caption-cta{display:flex;gap:14px;flex-wrap:wrap;}
.hero-caption-cta .btn{padding:12px 22px;font-size:13px;}
.hero-caption-dots{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.hero-dot-card{
  text-align:left;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--forest-08);
  background:#fff;transition:all .3s var(--ease);cursor:pointer;
}
.hero-dot-card:hover{border-color:var(--gold);}
.hero-dot-card.active{background:var(--forest);border-color:var(--forest);}
.hero-dot-card .hd-num{display:block;font-family:var(--font-head);font-size:11px;color:var(--gold);letter-spacing:.08em;margin-bottom:4px;}
.hero-dot-card .hd-label{display:block;font-size:13px;font-weight:600;color:var(--forest);}
.hero-dot-card.active .hd-label{color:var(--ivory);}
.hero-dot-card.active .hd-num{color:var(--sage);}
@media(max-width:1024px){
  .hero-slider{height:60vh;min-height:400px;}
  .hero-caption-row{grid-template-columns:1fr;gap:26px;}
}
@media(max-width:640px){
  .hero-slider{height:auto;min-height:0;max-height:none;}
  .hero-slide img{width:100%;height:auto;object-fit:contain;}
  .hero-arrow{width:36px;height:36px;}
  .hero-arrow.prev{left:8px;}
  .hero-arrow.next{right:8px;}
  .hero-caption-dots{grid-template-columns:1fr 1fr;gap:8px;}
  .hero-caption-features{gap:8px;margin-bottom:16px;}
  .hero-caption-desc{margin-bottom:14px;}
}
@media(max-width:420px){
  .hero-arrow{width:32px;height:32px;}
  .hero-arrow svg{width:16px;height:16px;}
  .hero-caption-dots{grid-template-columns:1fr;}
  .hero-caption-cta .btn{padding:11px 18px;font-size:12.5px;}
}

/* ==========================================================================
   QUICK CATEGORY NAVIGATION
   ========================================================================== */
.quick-cat-nav{padding:clamp(24px,5vw,50px) 0;background:var(--ivory);}
.quick-cat-row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;}
.quick-cat-pill{
  display:flex;align-items:center;gap:12px;padding:14px 24px;border-radius:100px;
  background:#fff;border:1px solid var(--forest-08);box-shadow:var(--shadow-card);
  font-size:14px;font-weight:600;color:var(--forest);transition:all .3s var(--ease);
}
.quick-cat-pill:hover{background:var(--forest);color:var(--ivory);border-color:var(--forest);transform:translateY(-3px);}
.quick-cat-pill .qc-icon{width:34px;height:34px;border-radius:50%;background:var(--gold-15);color:var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.quick-cat-pill .qc-icon svg{width:16px;height:16px;}
.quick-cat-pill:hover .qc-icon{background:rgba(255,255,255,.15);color:var(--sage);}
@media(max-width:640px){
  .quick-cat-row{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:8px;margin:0 -20px;padding-left:20px;padding-right:20px;}
  .quick-cat-pill{flex-shrink:0;}
}

/* ==========================================================================
   NETWORK OPPORTUNITY SECTION (visually distinct from product sections)
   ========================================================================== */
.opportunity-section{background:linear-gradient(160deg,#0f2c22,#173D32 55%,#1f4536);color:var(--ivory);position:relative;overflow:hidden;}
.opportunity-section::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 85% 15%,rgba(184,149,82,.16),transparent 50%),
             radial-gradient(circle at 10% 85%,rgba(156,175,141,.14),transparent 50%);
}
.opportunity-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;position:relative;z-index:1;}
.opportunity-body .eyebrow{color:var(--sage);}
.opportunity-body .eyebrow::before{background:var(--sage);}
.opportunity-body h2{color:var(--ivory);font-size:clamp(30px,3.6vw,46px);margin-bottom:18px;}
.opportunity-body p.desc{color:var(--ivory-70);max-width:480px;margin-bottom:36px;font-size:16px;}
.opportunity-steps{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:36px;}
.opp-step{display:flex;gap:14px;align-items:flex-start;}
.opp-step-num{
  font-family:var(--font-head);font-size:22px;color:var(--gold);font-weight:700;
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(184,149,82,.4);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.opp-step h4{color:var(--ivory);font-size:15.5px;margin-bottom:4px;}
.opp-step p{color:var(--ivory-70);font-size:13px;line-height:1.5;}
.opportunity-cta{display:flex;gap:16px;flex-wrap:wrap;}
.opportunity-visual{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 40px 70px -25px rgba(0,0,0,.5);}
.opportunity-visual img{width:100%;display:block;}
@media(max-width:1024px){
  .opportunity-grid{grid-template-columns:1fr;gap:40px;}
  .opportunity-visual{order:-1;}
}
@media(max-width:640px){
  .opportunity-steps{grid-template-columns:1fr;}
}


/* ==========================================================================
   CATEGORY CARDS (Shop by Wellness) — asymmetric editorial grid
   ========================================================================== */
.wellness-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:190px;
  gap:22px;
}
.wcard{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  grid-column:span 2;grid-row:span 2;
  background:linear-gradient(160deg,#dfd4b8,#c9bb98);
  isolation:isolate;
}
.wcard:nth-child(1){grid-column:span 3;grid-row:span 3;}
.wcard:nth-child(2){grid-column:span 3;grid-row:span 2;}
.wcard:nth-child(3){grid-column:span 3;grid-row:span 2;}
.wcard:nth-child(4){grid-column:span 2;grid-row:span 3;}
.wcard:nth-child(5){grid-column:span 2;grid-row:span 3;}
.wcard:nth-child(6){grid-column:span 2;grid-row:span 3;}
.wcard .wc-art{position:absolute;inset:0;overflow:hidden;}
.wcard:nth-child(odd) .wc-art{background:linear-gradient(150deg,#2c5b46,#173D32);}
.wcard:nth-child(even) .wc-art{background:linear-gradient(150deg,#a98a5f,#765842);}
.wcard .wc-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease);}
.wcard::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(23,20,15,0) 40%,rgba(20,22,17,.82) 100%);
  transition:opacity .4s var(--ease);
}
.wcard:hover .wc-art img{transform:scale(1.08);}
.wc-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px;color:var(--ivory);}
.wc-body h3{color:var(--ivory);font-size:22px;margin-bottom:6px;}
.wc-body p{font-size:13px;color:var(--ivory-70);margin-bottom:12px;max-width:230px;}
.wc-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ivory);}
.wc-link svg{width:14px;height:14px;transition:transform .3s var(--ease);}
.wcard:hover .wc-link svg{transform:translateX(6px);}

/* ---------- 3-category variant (official category structure) ---------- */
.wellness-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.wellness-grid-3 .wcard{grid-column:auto;grid-row:auto;height:460px;}
@media(max-width:1024px){.wellness-grid-3{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.wellness-grid-3{grid-template-columns:1fr;}.wellness-grid-3 .wcard{height:340px;}}

/* ==========================================================================
   PRODUCT CARDS
   ========================================================================== */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.pcard{
  background:#fff;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-card);transition:transform .4s var(--ease),box-shadow .4s var(--ease);
  display:flex;flex-direction:column;
}
.pcard:hover{transform:translateY(-8px);box-shadow:0 30px 50px -25px rgba(23,61,50,.3);}
.pcard-media{position:relative;height:260px;background:linear-gradient(160deg,#efe8d6,#e2d5b6);overflow:hidden;}
.pcard-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease),transform .6s var(--ease);}
.pcard-media img.alt{opacity:0;}
.pcard:hover .pcard-media img:not(.alt){opacity:0;}
.pcard:hover .pcard-media img.alt{opacity:1;transform:scale(1.05);}
.pcard:hover .pcard-media img:not(.alt){transform:scale(1.05);}
.pcard-badge{position:absolute;top:14px;left:14px;background:var(--forest);color:var(--ivory);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:100px;z-index:2;}
.pcard-badge.new{background:var(--gold);}
.pcard-wish{position:absolute;top:10px;right:10px;z-index:2;width:38px;height:38px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(0,0,0,.1);transition:transform .3s var(--ease);}
.pcard-wish svg{width:17px;height:17px;color:var(--forest);transition:all .25s;}
.pcard-wish.active svg{color:#c0453a;fill:#c0453a;}
.pcard-wish:hover{transform:scale(1.1);}
.pcard-quick{
  position:absolute;left:50%;bottom:14px;transform:translate(-50%,14px);
  opacity:0;transition:all .35s var(--ease);
  background:var(--ivory);color:var(--forest);font-size:12px;font-weight:600;
  padding:10px 18px;border-radius:100px;white-space:nowrap;z-index:2;
}
.pcard:hover .pcard-quick{opacity:1;transform:translate(-50%,0);}
.pcard-body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1;}
.pcard-cat{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-weight:600;}
.pcard-body h3{font-size:19px;}
.pcard-rating{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#8a8f82;}
.pcard-rating .stars{color:var(--gold);letter-spacing:1px;}
.pcard-price{display:flex;align-items:baseline;gap:10px;margin-top:2px;}
.pcard-price .now{font-size:19px;font-weight:700;color:var(--forest);}
.pcard-price .was{font-size:13.5px;color:#a3a89a;text-decoration:line-through;}
.pcard-price .off{font-size:12px;color:#c0453a;font-weight:600;}
.pcard-foot{margin-top:auto;padding-top:14px;}
.add-cart{
  width:100%;padding:13px;border-radius:100px;background:var(--forest);color:var(--ivory);
  font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;
  transition:background .3s var(--ease);
}
.add-cart:hover{background:var(--deep-green);}
.add-cart.added{background:var(--sage);color:var(--forest);}

/* ==========================================================================
   INGREDIENT STORY
   ========================================================================== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.split-visual{position:relative;height:480px;border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(160deg,#e2d5b6,#c9bb98);}
.split-visual img{width:100%;height:100%;object-fit:cover;display:block;}
.habits-visual{height:100%;min-height:580px;}
.ingredient-chips{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 30px;}
.chip{
  padding:10px 18px;border-radius:100px;border:1px solid var(--forest-12);
  font-size:13.5px;color:var(--forest);font-weight:500;opacity:0;transform:translateY(10px);
  transition:all .3s var(--ease);
}
.chip.in{opacity:1;transform:translateY(0);}
.chip:hover{background:var(--forest);color:var(--ivory);border-color:var(--forest);}

/* ---------- Brand story stats ---------- */
.stat-row{display:flex;gap:28px;margin-top:34px;flex-wrap:wrap;}
.stat-card{
  background:var(--ivory);border:1px solid var(--forest-08);border-radius:var(--radius-md);
  padding:24px 26px;flex:1 1 140px;
}
.stat-card .num{font-family:var(--font-head);font-size:34px;color:var(--forest);display:block;}
.stat-card .lbl{font-size:12.5px;color:#6b7066;margin-top:4px;}

/* ---------- Wellness rituals (hover-expand panels) ---------- */
.ritual-grid{display:flex;gap:18px;height:520px;}
.ritual-card{
  border-radius:var(--radius-lg);overflow:hidden;position:relative;height:100%;
  background:linear-gradient(200deg,#2c5b46,#173D32);
  flex:1 1 0;transition:flex .7s var(--ease);cursor:pointer;
}
.ritual-card:nth-child(2){background:linear-gradient(200deg,#c9bb98,#a98a5f);}
.ritual-card:nth-child(3){background:linear-gradient(200deg,#765842,#4c392a);}
.ritual-card:nth-child(4){background:linear-gradient(200deg,#242823,#12140f);}
.ritual-grid:hover .ritual-card{flex:1 1 0;}
.ritual-grid .ritual-card:hover,.ritual-grid .ritual-card.active{flex:2.6 1 0;}
.ritual-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.ritual-card:hover img,.ritual-card.active img{transform:scale(1.06);}
.ritual-card::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.15) 55%,rgba(0,0,0,.1) 100%);z-index:1;transition:background .5s var(--ease);}
.ritual-body{position:absolute;left:0;right:0;bottom:0;padding:30px 26px;color:var(--ivory);z-index:2;}
.ritual-body .tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);font-weight:600;white-space:nowrap;}
.ritual-body h3{color:var(--ivory);font-size:26px;margin:10px 0 0;font-family:var(--font-alt);font-style:italic;font-weight:500;white-space:nowrap;}
.ritual-body ul{max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ease),opacity .4s var(--ease);margin-top:14px;}
.ritual-card:hover .ritual-body ul,.ritual-card.active .ritual-body ul{max-height:160px;opacity:1;}
.ritual-body ul li{font-size:13px;color:var(--ivory-70);padding:3px 0;position:relative;padding-left:16px;white-space:nowrap;}
.ritual-body ul li::before{content:'—';position:absolute;left:0;color:var(--gold);}
@media(max-width:1024px){
  .ritual-grid{flex-direction:column;height:auto;}
  .ritual-card{flex:0 0 150px;}
  .ritual-grid .ritual-card:hover,.ritual-grid .ritual-card.active{flex:0 0 320px;}
}

/* ---------- Why Ayurdaari (editorial orbit) ---------- */
.why-orbit{display:grid;grid-template-columns:1fr auto 1fr;gap:0 48px;align-items:center;max-width:1180px;margin:0 auto;}
.why-orbit-col{display:flex;flex-direction:column;gap:36px;}
.why-orbit-center{position:relative;width:340px;height:340px;border-radius:50%;overflow:hidden;box-shadow:0 30px 60px -25px rgba(23,61,50,.4);border:8px solid var(--ivory);outline:1px solid var(--forest-08);}
.why-orbit-center img{width:100%;height:100%;object-fit:cover;display:block;}
.why-item{display:flex;gap:16px;align-items:flex-start;position:relative;}
.why-orbit-col:first-child .why-item{flex-direction:row-reverse;text-align:right;}
.why-icon{
  width:50px;height:50px;border-radius:50%;background:var(--gold-15);
  display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;
}
.why-icon svg{width:22px;height:22px;}
.why-item h3{font-size:17px;margin-bottom:5px;}
.why-item p{font-size:13.5px;color:#5b5f56;line-height:1.5;}
@media(max-width:1024px){
  .why-orbit{grid-template-columns:1fr;justify-items:center;gap:36px;}
  .why-orbit-center{order:-1;width:220px;height:220px;}
  .why-orbit-col:first-child .why-item{flex-direction:row;text-align:left;}
}

/* ---------- Cinematic banner ---------- */
.cine-banner{
  position:relative;min-height:520px;display:flex;align-items:center;justify-content:center;text-align:center;
  overflow:hidden;border-radius:var(--radius-lg);margin:0 32px;background:linear-gradient(160deg,#173D32,#3a6b52);
}
.cine-banner .art{position:absolute;inset:0;animation:zoomSlow 16s ease-in-out infinite alternate;}
.cine-banner .art img{width:100%;height:100%;object-fit:cover;}
.cine-banner::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,30,24,.35),rgba(10,20,16,.72));z-index:1;}
.cine-body{position:relative;z-index:2;color:var(--ivory);max-width:640px;padding:0 24px;}
.cine-body h2{color:var(--ivory);font-size:clamp(32px,4.6vw,54px);margin-bottom:16px;}
.cine-body p{color:var(--ivory-70);margin-bottom:30px;font-size:16px;}

/* ---------- Testimonials (auto-scrolling marquee) ---------- */
.testi-section{position:relative;overflow:hidden;}
.testi-bg{position:absolute;inset:0;z-index:0;}
.testi-bg img{width:100%;height:100%;object-fit:cover;opacity:.1;}
.testi-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--ivory) 0%,rgba(248,245,237,.85) 100%);}

.testi-marquee{position:relative;z-index:1;margin-top:48px;display:flex;flex-direction:column;gap:22px;}
.testi-marquee::before,.testi-marquee::after{
  content:'';position:absolute;top:0;bottom:0;width:min(140px,14vw);z-index:2;pointer-events:none;
}
.testi-marquee::before{left:0;background:linear-gradient(90deg,var(--ivory) 0%,rgba(248,245,237,0) 100%);}
.testi-marquee::after{right:0;background:linear-gradient(270deg,var(--ivory) 0%,rgba(248,245,237,0) 100%);}

.testi-row{overflow:hidden;width:100%;}
.testi-track{display:inline-flex;gap:22px;width:max-content;will-change:transform;}
.row-left .testi-track{animation:testiScrollLeft 52s linear infinite;}
.row-right .testi-track{animation:testiScrollRight 58s linear infinite;}
.testi-marquee:hover .testi-track,
.testi-marquee:focus-within .testi-track{animation-play-state:paused;}

@keyframes testiScrollLeft{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes testiScrollRight{from{transform:translateX(-50%);}to{transform:translateX(0);}}

.testi-card{
  flex:0 0 380px;background:var(--white,#fff);border:1px solid var(--forest-08,rgba(23,61,50,.08));
  border-radius:18px;padding:22px 26px;text-align:left;box-shadow:var(--shadow-soft);
}
.testi-card-stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:10px;}
.testi-card p{
  font-family:var(--font-alt);font-style:italic;font-size:16px;color:var(--forest);line-height:1.5;margin-bottom:16px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.testi-person{display:flex;align-items:center;gap:12px;}
.testi-avatar{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(160deg,var(--sage),var(--deep-green));
  display:flex;align-items:center;justify-content:center;
  color:var(--ivory);font-family:var(--font-head);font-size:14px;font-weight:600;flex-shrink:0;
}
.testi-person strong{display:block;font-size:14.5px;color:var(--forest);}
.testi-person span{font-size:12px;color:#8a8f82;}

@media (prefers-reduced-motion:reduce){
  .row-left .testi-track,.row-right .testi-track{animation:none;}
}

/* ---------- Gallery masonry (home preview) ---------- */
.masonry{columns:4 220px;column-gap:20px;}
.masonry .m-item{break-inside:avoid;margin-bottom:20px;border-radius:var(--radius-md);overflow:hidden;position:relative;}
.masonry .m-item .m-art{width:100%;display:block;transition:transform .5s var(--ease);}
.m-overlay{
  position:absolute;inset:0;background:rgba(23,61,50,.65);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .35s var(--ease);color:var(--ivory);font-weight:600;font-size:13px;gap:8px;
}
.m-item:hover .m-overlay{opacity:1;}
.m-item:hover .m-art{transform:scale(1.08);}

/* ---------- Blog cards ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.blog-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .4s var(--ease);}
.blog-card:hover{transform:translateY(-6px);}
.blog-media{height:220px;overflow:hidden;background:linear-gradient(160deg,#e2d5b6,#c9bb98);}
.blog-media .b-art{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease);}
.blog-card:hover .b-art{transform:scale(1.08);}
.blog-body{padding:24px;}
.blog-meta{display:flex;gap:14px;font-size:11.5px;color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;}
.blog-body h3{font-size:19px;margin-bottom:10px;line-height:1.35;}
.blog-body p{font-size:14px;color:#5b5f56;margin-bottom:14px;}

/* ---------- Newsletter ---------- */
.newsletter{
  background:linear-gradient(160deg,var(--forest),#0f2c22);
  border-radius:var(--radius-lg);margin:0 32px;padding:70px 40px;text-align:center;position:relative;overflow:hidden;
}
.newsletter::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(156,175,141,.18),transparent 45%),radial-gradient(circle at 85% 80%,rgba(184,149,82,.16),transparent 45%);z-index:1;}
.newsletter-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;mix-blend-mode:luminosity;z-index:0;}
.newsletter h2{color:var(--ivory);position:relative;z-index:2;}
.newsletter p{color:var(--ivory-70);max-width:480px;margin:14px auto 32px;position:relative;z-index:2;}
.news-form{display:flex;max-width:460px;margin:0 auto;background:var(--ivory);border-radius:100px;padding:6px;position:relative;z-index:2;}
.news-form input{flex:1;padding:12px 18px;font-size:14px;color:var(--forest);background:transparent;}
.news-form input::placeholder{color:#9aa093;}
.news-form button{background:var(--forest);color:var(--ivory);padding:12px 24px;border-radius:100px;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px;transition:background .3s;}
.news-form button:hover{background:var(--gold);}
.form-msg{margin-top:14px;font-size:13px;color:var(--sage);position:relative;z-index:2;min-height:18px;}

/* ==========================================================================
   UPGRADED LUXURY FOOTER & SOCIAL MEDIA ICONS
   ========================================================================== */
footer.site-footer {
  background: #082218;
  color: rgba(255, 255, 255, 0.8);
  padding: 0;
  border-top: 2px solid rgba(212, 175, 55, 0.35);
  position: relative;
}

.footer-trust-strip {
  background: rgba(212, 175, 55, 0.12);
  border-bottom: 1px solid rgba(212, 175, 55, 0.25);
  padding: 16px 0;
}
.footer-trust-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.ft-item {
  font-size: 13px;
  color: #fef3c7;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ft-item strong {
  color: #fff;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.4fr;
  gap: 48px;
  padding: clamp(32px,7vw,70px) 0 clamp(24px,5vw,50px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.footer-brand .logo-img {
  max-height: 48px;
  width: auto;
}
.footer-brand p {
  margin-top: 18px;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.75);
}

.footer-social-wrapper {
  margin-top: 24px;
}
.fs-label {
  display: block;
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #d4af37;
  margin-bottom: 12px;
}
.footer-social {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Original-brand-color social icons, with a soft blink */
.fs-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  position: relative;
  animation: iconBlink 2.6s ease-in-out infinite;
}
.fs-icon svg {
  width: 18px;
  height: 18px;
  transition: transform 0.3s ease;
  position: relative;
  z-index: 1;
}

.fs-icon:hover {
  transform: translateY(-6px) scale(1.1);
  animation-play-state: paused;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
}
.fs-icon:hover svg {
  transform: scale(1.1);
}

.fs-icon.fs-insta { background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.fs-icon.fs-fb     { background: #1877F2; }
.fs-icon.fs-yt     { background: #FF0000; }
.fs-icon.fs-wa     { background: #25D366; }

.fs-icon:nth-child(1){animation-delay:0s;}
.fs-icon:nth-child(2){animation-delay:.25s;}
.fs-icon:nth-child(3){animation-delay:.5s;}
.fs-icon:nth-child(4){animation-delay:.75s;}

.footer-col h4 {
  color: #d4af37;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 22px;
}
.footer-col ul li {
  margin-bottom: 12px;
}
.footer-col ul a {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
  transition: all 0.25s;
}
.footer-col ul a:hover {
  color: #d4af37;
  padding-left: 4px;
}

/* ================= LUXURY FOOTER SUBSCRIBE CAPSULE ================= */
.footer-subscribe-form {
  width: 100%;
  max-width: 360px;
}

.footer-subscribe-box {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1.5px solid rgba(212, 175, 55, 0.45);
  border-radius: 50px;
  padding: 5px 6px 5px 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.footer-subscribe-box:hover {
  border-color: rgba(212, 175, 55, 0.75);
  background: rgba(255, 255, 255, 0.09);
}

.footer-subscribe-box:focus-within {
  border-color: #d4af37;
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 0 20px rgba(212, 175, 55, 0.35);
}

.footer-subscribe-box input {
  flex: 1;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  font-size: 13.5px;
  color: #ffffff !important;
  padding: 8px 8px 8px 0;
  margin: 0 !important;
  min-width: 0;
  box-shadow: none !important;
}

.footer-subscribe-box input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}

.footer-subscribe-box button {
  background: linear-gradient(135deg, #fef3c7 0%, #d4af37 60%, #b88d22 100%) !important;
  color: #0e382c !important;
  border: none !important;
  padding: 10px 20px !important;
  border-radius: 40px !important;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  white-space: nowrap;
  margin: 0 !important;
  width: auto !important;
  transition: all 0.3s ease;
  box-shadow: 0 4px 14px rgba(212, 175, 55, 0.3);
}

.footer-subscribe-box button:hover {
  background: #ffffff !important;
  color: #0e382c !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(255, 255, 255, 0.4) !important;
}

.footer-subscribe-box button svg {
  transition: transform 0.25s ease;
}

.footer-subscribe-box button:hover svg {
  transform: translateX(3px);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 0;
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.6);
  flex-wrap: wrap;
  gap: 16px;
}
.footer-payments {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.pay-badge {
  font-size: 11px;
  font-weight: 700;
  color: #d4af37;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.3);
  padding: 4px 10px;
  border-radius: 12px;
}

/* ==========================================================================
   SEARCH OVERLAY
   ========================================================================== */
/* ==========================================================================
   REDESIGNED LUXURY GLASS SEARCH OVERLAY
   ========================================================================== */
.search-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 32, 25, 0.95);
  backdrop-filter: blur(24px);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 60px 24px 40px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-20px);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  overflow-y: auto;
  color: #fff;
}
.search-overlay.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.search-close {
  position: absolute;
  top: 28px;
  right: 32px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #d4af37;
  font-size: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.25s ease;
}
.search-close:hover {
  background: #d4af37;
  color: #0e382c;
}

.search-overlay-container {
  width: min(780px, 92vw);
  text-align: center;
}
.search-eyebrow {
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #d4af37;
  display: block;
  margin-bottom: 8px;
}
.search-overlay-container h2 {
  font-size: clamp(26px, 3.2vw, 38px);
  color: #fff;
  margin-bottom: 28px;
  font-weight: 700;
}

.search-box {
  width: 100%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 40px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 24px;
  box-shadow: 0 15px 35px rgba(0,0,0,0.3);
  transition: border-color 0.3s, box-shadow 0.3s;
}
.search-box:focus-within {
  border-color: #d4af37;
  box-shadow: 0 0 25px rgba(212, 175, 55, 0.4);
}
.search-box input {
  flex: 1;
  font-size: 18px;
  font-family: inherit;
  color: #fff;
  background: transparent;
  border: none;
  outline: none;
}
.search-box input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.search-box svg {
  width: 22px;
  height: 22px;
  color: #d4af37;
  flex-shrink: 0;
}

/* Category Chips */
.search-categories-row {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.search-cat-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px 8px 10px;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 12.5px;
  font-weight: 600;
  transition: all 0.3s;
}
.search-cat-chip img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}
.search-cat-chip:hover {
  background: rgba(212, 175, 55, 0.2);
  border-color: #d4af37;
  color: #d4af37;
}

/* Popular Search Pills */
.search-pop {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
}
.search-pop span {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  margin-right: 4px;
}
.search-tag-btn {
  padding: 6px 14px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 12px;
  color: rgba(255, 255, 255, 0.9);
  cursor: pointer;
  transition: all 0.25s;
}
.search-tag-btn:hover {
  background: #d4af37;
  color: #0e382c;
  border-color: #d4af37;
}

/* Results Grid */
.search-results-section {
  margin-top: 36px;
  text-align: left;
}
.search-results-section h4 {
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #d4af37;
  margin-bottom: 16px;
}
.search-results-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.search-res-card {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  transition: all 0.3s;
}
.search-res-card:hover {
  background: rgba(212, 175, 55, 0.15);
  border-color: #d4af37;
  transform: translateY(-2px);
}
.search-res-card img {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  object-fit: cover;
}
.src-info {
  flex: 1;
}
.src-info h5 {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 2px;
}
.src-cat {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  display: block;
}
.src-price {
  font-size: 14px;
  color: #d4af37;
  font-weight: 700;
}
.src-qv-btn {
  font-size: 11.5px;
  font-weight: 700;
  color: #d4af37;
  white-space: nowrap;
}

@media(max-width: 640px) {
  .search-results-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   CART DRAWER
   ========================================================================== */
.cart-drawer{
  position:fixed;top:0;right:0;height:100%;width:min(420px,90vw);
  background:#fff;z-index:400;transform:translateX(100%);
  transition:transform .45s var(--ease);display:flex;flex-direction:column;
  box-shadow:-20px 0 60px rgba(0,0,0,.15);
}
.cart-drawer.open{transform:translateX(0);}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:26px;border-bottom:1px solid var(--forest-08);}
.cart-head h3{font-size:20px;}
.cart-items{flex:1;overflow-y:auto;padding:20px 26px;display:flex;flex-direction:column;gap:20px;}
.cart-item{display:flex;gap:14px;}
.ci-thumb{width:74px;height:74px;border-radius:var(--radius-sm);background:linear-gradient(160deg,#efe8d6,#c9bb98);flex-shrink:0;position:relative;overflow:hidden;}
.ci-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.ci-info{flex:1;}
.ci-info h4{font-size:14.5px;color:var(--forest);margin-bottom:6px;}
.ci-qty{display:flex;align-items:center;gap:10px;}
.ci-qty button{width:24px;height:24px;border-radius:50%;border:1px solid var(--forest-12);font-size:13px;}
.ci-price{text-align:right;}
.ci-price strong{display:block;font-size:14px;color:var(--forest);}
.ci-remove{font-size:11.5px;color:#a3a89a;text-decoration:underline;margin-top:6px;}
.cart-empty{padding:60px 26px;text-align:center;color:#8a8f82;font-size:14px;}
.cart-foot{padding:24px 26px;border-top:1px solid var(--forest-08);}
.cart-subtotal{display:flex;justify-content:space-between;font-size:15px;margin-bottom:16px;color:var(--forest);font-weight:600;}
.cart-foot .btn{width:100%;justify-content:center;margin-bottom:10px;}

.toast{
  position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--forest);color:var(--ivory);padding:15px 26px;border-radius:100px;
  font-size:13.5px;font-weight:500;z-index:600;opacity:0;visibility:hidden;
  transition:all .4s var(--ease);display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-soft);
}
.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}

/* ---------- Back to top ---------- */
.back-top{
  position:fixed;bottom:28px;right:28px;width:48px;height:48px;border-radius:50%;
  background:var(--forest);color:var(--ivory);display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transform:translateY(10px);transition:all .35s var(--ease);z-index:150;
}
.back-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.back-top svg{width:18px;height:18px;}

/* ---------- Scroll progress ---------- */
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--gold);z-index:600;width:0;}

/* ==========================================================================
   PAGE HERO (inner pages - compact & luxury redesign)
   ========================================================================== */
.page-hero {
  background: linear-gradient(135deg, #07221b 0%, #0e382c 60%, #061c16 100%);
  padding: clamp(64px,14vw,105px) 0 clamp(28px,6vw,46px);
  text-align: center;
  position: relative;
  overflow: hidden;
  color: #ffffff;
}
.page-hero .ph-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.page-hero .ph-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .35;
  filter: saturate(1.2) contrast(1.1);
}
.page-hero .ph-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7,34,27,0.65) 0%, rgba(14,56,44,0.92) 100%);
}
.page-hero .container {
  position: relative;
  z-index: 1;
}
.page-hero .eyebrow {
  justify-content: center;
  color: #d4af37 !important;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11.5px;
}
.page-hero .eyebrow::before {
  display: none;
}
.page-hero h1 {
  font-size: clamp(28px, 3.5vw, 44px) !important;
  color: #ffffff !important;
  line-height: 1.25 !important;
  margin: 8px 0 10px !important;
  font-weight: 700;
}
.page-hero h1 em {
  font-family: var(--font-alt);
  font-style: italic;
  color: #d4af37 !important;
  font-weight: 400;
}
.page-hero p {
  max-width: 580px;
  margin: 10px auto 0;
  color: rgba(255,255,255,0.88) !important;
  font-size: 15px !important;
  line-height: 1.65;
}
.crumb {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  color: rgba(255,255,255,0.75);
  margin-bottom: 14px;
  background: rgba(212,175,55,0.15);
  border: 1px solid rgba(212,175,55,0.35);
  padding: 4px 16px;
  border-radius: 20px;
  backdrop-filter: blur(4px);
}
.crumb a {
  color: #d4af37;
  font-weight: 700;
}

/* ==========================================================================
   FAQ ACCORDION
   ========================================================================== */
.faq-list{max-width:760px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--forest-08);}
.faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:24px 4px;font-family:var(--font-head);font-size:18px;color:var(--forest);text-align:left;
}
.faq-q .plus{width:26px;height:26px;border-radius:50%;border:1px solid var(--forest-12);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:20px;transition:transform .35s var(--ease);position:relative;}
.faq-q .plus::before,.faq-q .plus::after{content:'';position:absolute;background:var(--forest);}
.faq-q .plus::before{width:10px;height:1.4px;}
.faq-q .plus::after{width:1.4px;height:10px;transition:transform .3s var(--ease);}
.faq-item.open .faq-q .plus::after{transform:rotate(90deg) scaleY(0);}
.faq-item.open .faq-q .plus{transform:rotate(180deg);background:var(--forest);}
.faq-item.open .faq-q .plus::before,.faq-item.open .faq-q .plus::after{background:var(--ivory);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease);}
.faq-a p{padding:0 4px 24px;color:#5b5f56;font-size:14.5px;max-width:640px;}

/* ==========================================================================
   MISC SHARED (used across inner pages)
   ========================================================================== */
.tag-pill{display:inline-block;padding:5px 14px;border-radius:100px;background:var(--forest-08);color:var(--forest);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;}
.card-plain{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:34px;}
.two-col{display:grid;grid-template-columns:2fr 1fr;gap:50px;}

/* ==========================================================================
   FILTER TABS (categories / gallery / blog)
   ========================================================================== */
.filter-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:50px;}
.filter-tabs button{
  padding:11px 22px;border-radius:100px;border:1px solid var(--forest-12);
  font-size:13.5px;font-weight:500;color:var(--forest);transition:all .3s var(--ease);
}
.filter-tabs button:hover{background:var(--forest-08);}
.filter-tabs button.active{background:var(--forest);color:var(--ivory);border-color:var(--forest);}

.search-field{
  display:flex;align-items:center;gap:12px;max-width:420px;margin:0 auto 46px;
  border:1px solid var(--forest-12);border-radius:100px;padding:12px 20px;background:#fff;
}
.search-field svg{width:18px;height:18px;color:var(--forest);flex-shrink:0;}
.search-field input{flex:1;font-size:14px;color:var(--forest);background:transparent;}

/* ==========================================================================
   LIGHTBOX (gallery)
   ========================================================================== */
.lightbox{
  position:fixed;inset:0;background:rgba(15,17,13,.95);z-index:700;
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s;
}
.lightbox.open{opacity:1;visibility:visible;}
.lb-stage{max-width:82vw;max-height:78vh;}
.lb-stage img,.lb-stage .m-art,.lb-stage .b-art{max-width:82vw;max-height:78vh;width:auto;border-radius:var(--radius-sm);object-fit:contain;}
.lb-close{position:absolute;top:28px;right:34px;width:48px;height:48px;border-radius:50%;color:#fff;font-size:30px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);}
.lb-arrow{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;color:#fff;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:16px;transition:background .3s;}
.lb-arrow:hover{background:rgba(255,255,255,.12);}
.lb-prev{left:24px;}
.lb-next{right:24px;}
.lb-caption{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:var(--ivory-70);font-size:13px;letter-spacing:.04em;text-transform:uppercase;}

/* ==========================================================================
   GALLERY GRID (dedicated gallery page)
   ========================================================================== */
.gallery-masonry{columns:4 240px;column-gap:22px;}
.gallery-masonry .m-item{cursor:pointer;}
.gallery-masonry .m-art{height:auto;}
.m-item{background:linear-gradient(160deg,#e2d5b6,#c9bb98);}

/* ==========================================================================
   CATEGORY PAGE CARDS
   ========================================================================== */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.cat-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .4s var(--ease);}
.cat-card:hover{transform:translateY(-6px);}
.cat-media{height:200px;position:relative;overflow:hidden;}
.cat-media .art{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease);}
.cat-card:hover .cat-media .art{transform:scale(1.08);}
.cat-count{position:absolute;top:14px;right:14px;background:rgba(248,245,237,.92);color:var(--forest);font-size:11px;font-weight:700;padding:5px 12px;border-radius:100px;}
.cat-body{padding:22px;}
.cat-body h3{font-size:19px;margin-bottom:8px;}
.cat-body p{font-size:14px;color:#5b5f56;margin-bottom:16px;}

/* ==========================================================================
   LEGAL PAGE
   ========================================================================== */
.legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.legal-card{background:#fff;border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-card);transition:transform .35s var(--ease);}
.legal-card:hover{transform:translateY(-5px);}
.legal-icon{width:52px;height:52px;border-radius:50%;background:var(--gold-15);color:var(--gold);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.legal-icon svg{width:24px;height:24px;}
.legal-card h3{font-size:19px;margin-bottom:8px;}
.legal-card p{font-size:14px;color:#5b5f56;margin-bottom:18px;}

.legal-doc-layout{display:grid;grid-template-columns:260px 1fr;gap:50px;align-items:start;}
.legal-sidebar{position:sticky;top:calc(var(--header-h) + 24px);background:#fff;border-radius:var(--radius-md);padding:10px;box-shadow:var(--shadow-card);}
.legal-sidebar a{display:block;padding:13px 18px;border-radius:var(--radius-sm);font-size:14px;color:#5b5f56;transition:all .25s;}
.legal-sidebar a:hover,.legal-sidebar a.active{background:var(--forest);color:var(--ivory);}
.legal-doc h2{margin-top:36px;margin-bottom:14px;font-size:24px;}
.legal-doc h2:first-child{margin-top:0;}
.legal-doc p,.legal-doc li{color:#4d5148;font-size:15px;margin-bottom:14px;}
.legal-doc ul{padding-left:20px;list-style:disc;}
.legal-doc li{margin-bottom:8px;}

/* ==========================================================================
   ABOUT PAGE — timeline & stats
   ========================================================================== */
.timeline{display:flex;justify-content:space-between;gap:16px;position:relative;flex-wrap:wrap;}
.timeline::before{content:'';position:absolute;top:23px;left:0;right:0;height:1px;background:var(--forest-12);}
.tl-step{flex:1;min-width:130px;text-align:center;position:relative;z-index:1;}
.tl-dot{width:46px;height:46px;border-radius:50%;background:var(--ivory);border:1.5px solid var(--forest);color:var(--forest);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-family:var(--font-head);font-weight:600;}
.tl-step.active .tl-dot{background:var(--forest);color:var(--ivory);}
.tl-step span{font-size:13.5px;font-weight:600;color:var(--forest);}

/* ---------- Process Cards Grid Redesign ---------- */
.process-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 40px;
}
.process-card {
  background: #fff;
  border-radius: 24px;
  padding: 32px 24px;
  border: 1px solid rgba(212, 175, 55, 0.25);
  box-shadow: 0 10px 30px rgba(0,0,0,0.04);
  position: relative;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.process-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(14, 56, 44, 0.12);
  border-color: #d4af37;
}
.process-step-num {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #0e382c;
  color: #d4af37;
  font-weight: 800;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  box-shadow: 0 6px 16px rgba(14, 56, 44, 0.2);
}
.process-card h3 {
  font-size: 18px;
  font-weight: 700;
  color: #0e382c;
  margin-bottom: 10px;
}
.process-card p {
  font-size: 13.5px;
  color: #555;
  line-height: 1.6;
  margin: 0;
}
@media(max-width: 992px) {
  .process-cards-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width: 576px) {
  .process-cards-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   LUXURY CINEMATIC HERO SECTION
   ========================================================================== */
.lux-hero-section {
  position: relative;
  min-height: 640px;
  padding: 100px 0 80px;
  background: #092018;
  color: #fff;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.lux-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.lux-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.65) contrast(1.1);
}
.lux-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #071a13 0%, rgba(9, 32, 24, 0.85) 50%, rgba(9, 32, 24, 0.4) 100%);
}

.lux-hero-container {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 50px;
  align-items: center;
}

.lux-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border-radius: 30px;
  background: rgba(212, 175, 55, 0.18);
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #d4af37;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px;
  backdrop-filter: blur(8px);
}

.lux-hero-title {
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 800;
  line-height: 1.15;
  color: #fff;
  margin-bottom: 20px;
}
.gold-text {
  background: linear-gradient(135deg, #fef3c7 0%, #d4af37 50%, #b89025 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.lux-hero-desc {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.65;
  max-width: 540px;
  margin-bottom: 32px;
}

.lux-hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}

.lux-hero-trust-row {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.lux-trust-chip {
  font-size: 12.5px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Spotlight Cards (Right Side) */
.lux-hero-spotlight {
  background: rgba(15, 45, 36, 0.75);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 28px;
  padding: 28px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.35);
}
.lux-spotlight-header {
  margin-bottom: 20px;
}
.lux-spotlight-header span {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #d4af37;
  display: block;
  margin-bottom: 4px;
}
.lux-spotlight-header h4 {
  font-size: 20px;
  color: #fff;
  margin: 0;
}

.lux-spotlight-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  padding: 14px;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.lux-spotlight-card:last-child {
  margin-bottom: 0;
}
.lux-spotlight-card:hover {
  background: rgba(212, 175, 55, 0.15);
  border-color: #d4af37;
  transform: translateX(6px);
}

.lsc-img {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  overflow: hidden;
  flex-shrink: 0;
}
.lsc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lsc-info {
  flex: 1;
}
.lsc-cat {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #d4af37;
  display: block;
}
.lsc-info h5 {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin: 2px 0 4px;
}
.lsc-price-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.lsc-price {
  font-size: 15px;
  color: #fff;
}
.lsc-stars {
  font-size: 11.5px;
  color: #f59e0b;
}

.lsc-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(212, 175, 55, 0.2);
  border: 1px solid #d4af37;
  color: #d4af37;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s;
}
.lux-spotlight-card:hover .lsc-btn {
  background: #d4af37;
  color: #0e382c;
}

@media (max-width: 992px) {
  .lux-hero-container {
    grid-template-columns: 1fr;
  }
}

.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.about-stats .stat-card{text-align:center;}

.philosophy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.philosophy-card{background:#fff;border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-card);}
.philosophy-card h3{font-size:20px;margin-bottom:10px;}
.philosophy-card p{font-size:14.5px;color:#5b5f56;}

/* ==========================================================================
   CONTACT PAGE
   ========================================================================== */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start;}
.contact-info-item{display:flex;gap:16px;padding:22px 0;border-bottom:1px solid var(--forest-08);}
.contact-info-item:first-child{padding-top:0;}
.contact-icon{width:46px;height:46px;border-radius:50%;background:var(--gold-15);color:var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-icon svg{width:20px;height:20px;}
.contact-info-item h4{font-size:15.5px;color:var(--forest);margin-bottom:4px;}
.contact-info-item p{font-size:14px;color:#5b5f56;}
.map-frame{margin-top:26px;height:260px;border-radius:var(--radius-md);background:linear-gradient(160deg,#e2d5b6,#c9bb98);position:relative;overflow:hidden;}
.map-frame iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.15) sepia(.08);}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.field{margin-bottom:20px;}
.field.full{grid-column:1 / -1;}
.field label{display:block;font-size:13px;font-weight:600;color:var(--forest);margin-bottom:8px;}
.field input,.field textarea{
  width:100%;padding:14px 18px;border-radius:var(--radius-sm);border:1px solid var(--forest-12);
  font-size:14px;background:var(--ivory);transition:border-color .3s;
}
.field input:focus,.field textarea:focus{border-color:var(--gold);}
.field input.invalid,.field textarea.invalid{border-color:#c0453a;}
.field-error{display:none;color:#c0453a;font-size:12px;margin-top:6px;}
.field textarea{min-height:140px;resize:vertical;}
.form-success{display:none;background:var(--sage);color:var(--forest);padding:16px 20px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:20px;font-weight:500;}

/* ==========================================================================
   BLOG PAGE — featured, tabs, load more
   ========================================================================== */
.blog-featured{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;margin-bottom:70px;}
.blog-featured .b-art{height:420px;border-radius:var(--radius-lg);}
.load-more-wrap{text-align:center;margin-top:50px;}

/* ---------- Product carousel arrows (featured products) ---------- */
.carousel-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:52px;flex-wrap:wrap;gap:20px;}
.carousel-arrows{display:flex;gap:12px;}
.carousel-arrows button{width:46px;height:46px;border-radius:50%;border:1px solid var(--forest-12);display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease);}
.carousel-arrows button:hover{background:var(--forest);color:var(--ivory);}
.carousel-arrows svg{width:16px;height:16px;}

/* ==========================================================================
   FEATURED PRODUCT SPOTLIGHT
   ========================================================================== */
.spotlight{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.spotlight-media{position:relative;}
.spotlight-media .sp-art{
  width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
}
.spotlight-media .sp-leaf{position:absolute;opacity:.85;filter:drop-shadow(0 8px 12px rgba(0,0,0,.12));}
.spotlight-media .sp-leaf.s1{top:-6%;right:-6%;width:64px;animation:floatY 6s ease-in-out infinite;}
.spotlight-media .sp-leaf.s2{bottom:6%;left:-8%;width:48px;animation:floatY 7s ease-in-out infinite .5s;}
.spotlight-body .eyebrow{margin-bottom:14px;}
.spotlight-body h2{font-size:clamp(32px,3.8vw,52px);margin-bottom:14px;}
.spotlight-rating{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.spotlight-rating .stars{color:var(--gold);letter-spacing:2px;}
.spotlight-rating span{font-size:13px;color:#8a8f82;}
.spotlight-price{display:flex;align-items:baseline;gap:12px;margin-bottom:22px;}
.spotlight-price .now{font-size:28px;font-weight:700;color:var(--forest);}
.spotlight-price .was{font-size:16px;color:#a3a89a;text-decoration:line-through;}
.spotlight-body p.desc{color:#5b5f56;max-width:460px;margin-bottom:26px;font-size:16px;}
.spotlight-highlights{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px;}
.spotlight-highlights span{
  padding:9px 16px;border-radius:100px;border:1px solid var(--forest-12);
  font-size:13px;color:var(--forest);font-weight:500;
}
.spotlight-cta{display:flex;gap:16px;flex-wrap:wrap;}
@media(max-width:1024px){.spotlight{grid-template-columns:1fr;gap:44px;}.spotlight-media .sp-art{aspect-ratio:16/10;}}

/* ==========================================================================
   INGREDIENT EXPERIENCE — interactive tabs
   ========================================================================== */
.ingredient-experience{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;}
.ing-tabs{display:flex;flex-wrap:wrap;gap:22px;margin-top:8px;}
.ing-tab{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;background:none;text-align:center;width:84px;}
.ing-tab-img{
  width:74px;height:74px;border-radius:50%;overflow:hidden;border:3px solid transparent;
  transition:border-color .3s var(--ease),transform .3s var(--ease);box-shadow:var(--shadow-card);
}
.ing-tab-img img{width:100%;height:100%;object-fit:cover;display:block;}
.ing-tab span{font-size:12.5px;font-weight:600;color:var(--forest);}
.ing-tab:hover .ing-tab-img{transform:translateY(-4px);}
.ing-tab.active .ing-tab-img{border-color:var(--gold);}
.ing-panel-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);aspect-ratio:5/4;}
.ing-panel{
  position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s var(--ease);
}
.ing-panel.active{opacity:1;visibility:visible;}
.ing-panel img{width:100%;height:100%;object-fit:cover;display:block;}
.ing-panel::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,20,15,.82) 0%,rgba(15,20,15,.1) 55%);}
.ing-panel-body{position:absolute;left:0;right:0;bottom:0;padding:34px;color:var(--ivory);}
.ing-panel-body h3{color:var(--ivory);font-family:var(--font-alt);font-style:italic;font-size:30px;margin-bottom:10px;}
.ing-panel-body p{color:var(--ivory-70);font-size:14.5px;max-width:420px;}
@media(max-width:1024px){
  .ingredient-experience{grid-template-columns:1fr;gap:36px;}
  .ing-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;}
  .ing-tab{flex-shrink:0;}
}

/* ==========================================================================
   HEADER MEGA MENU
   ========================================================================== */
.nav-item-mega{position:relative;}
.nav-item-mega > a{display:flex;align-items:center;gap:5px;}
.nav-item-mega > a svg{width:12px;height:12px;transition:transform .3s var(--ease);}
.nav-item-mega:hover > a svg{transform:rotate(180deg);}
.mega-menu{
  position:absolute;top:calc(100% + 22px);left:50%;transform:translateX(-50%) translateY(8px);
  width:min(760px,86vw);background:var(--ivory);border-radius:var(--radius-lg);
  box-shadow:0 40px 70px -30px rgba(23,20,15,.35);border:1px solid var(--forest-08);
  padding:34px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;
  z-index:250;
}
.nav-item-mega:hover .mega-menu,.mega-menu.open{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);
}
.mega-col h4{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);font-weight:700;margin-bottom:16px;}
.mega-links{display:flex;flex-direction:column;gap:11px;}
.mega-links a{font-size:14px;color:var(--charcoal);transition:color .25s,padding-left .25s;}
.mega-links a:hover{color:var(--forest);padding-left:4px;font-weight:600;}
.mega-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.mega-thumb{position:relative;border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:1/1;}
.mega-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease);}
.mega-thumb:hover img{transform:scale(1.08);}
.mega-thumb span{position:absolute;left:8px;bottom:8px;color:#fff;font-size:10.5px;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.5);}
.mega-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%);}
.mega-feature{position:relative;border-radius:var(--radius-md);overflow:hidden;height:100%;min-height:180px;}
.mega-feature img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;}
.mega-feature::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,61,50,.1),rgba(15,20,15,.82));}
.mega-feature-body{position:relative;z-index:1;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;height:100%;color:var(--ivory);}
.mega-feature-body span{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--sage);font-weight:700;}
.mega-feature-body strong{font-family:var(--font-alt);font-style:italic;font-size:19px;font-weight:500;margin:6px 0 12px;display:block;}
.mega-feature-body a{font-size:12.5px;font-weight:700;color:var(--ivory);display:inline-flex;align-items:center;gap:6px;}
@media(max-width:1200px){.mega-menu{display:none;}}

/* ==========================================================================
   AYURDAARI WELLNESS — LUXURY UI EXTENSIONS & INTERACTIVE STYLES
   ========================================================================== */

/* ---------- Additional Tokens & Shimmers ---------- */
:root {
  --gold-glow: rgba(212, 175, 55, 0.35);
  --gold-gradient: linear-gradient(135deg, #d4af37 0%, #b89552 50%, #9e7a37 100%);
  --emerald-gradient: linear-gradient(135deg, #0e382c 0%, #173d32 50%, #07241c 100%);
  --glass-card: rgba(255, 255, 255, 0.75);
  --glass-border: rgba(184, 149, 82, 0.22);
}

/* Shimmer Button Sweep */
.btn-primary, .add-cart, .btn-secondary {
  position: relative;
  overflow: hidden;
}
.btn-primary::before, .add-cart::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
  transform: skewX(-20deg);
  transition: left 0.75s ease;
}
.btn-primary:hover::before, .add-cart:hover::before {
  left: 140%;
}

/* ---------- HOME PAGE ABOUT SECTION ---------- */
.home-about-section {
  padding: 110px 0;
  background: linear-gradient(180deg, #F8F5ED 0%, #FAF6EE 100%);
  position: relative;
  overflow: hidden;
}
.home-about-section::before {
  content: '';
  position: absolute;
  top: -120px; right: -120px;
  width: 450px; height: 450px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(184,149,82,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.home-about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.home-about-media {
  position: relative;
}
.home-about-img-wrap {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 25px 50px -20px rgba(23,61,50,0.25);
  border: 1px solid var(--glass-border);
}
.home-about-img-wrap img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
  transition: transform 0.8s var(--ease);
}
.home-about-img-wrap:hover img {
  transform: scale(1.04);
}
.floating-badge {
  position: absolute;
  bottom: -24px;
  right: 24px;
  background: rgba(23, 61, 50, 0.94);
  backdrop-filter: blur(12px);
  color: var(--ivory);
  padding: 18px 24px;
  border-radius: 18px;
  border: 1px solid rgba(212, 175, 55, 0.3);
  box-shadow: 0 15px 35px rgba(0,0,0,0.2);
  display: flex;
  align-items: center;
  gap: 14px;
}
.floating-badge .fb-icon {
  font-size: 28px;
  line-height: 1;
}
.floating-badge strong {
  display: block;
  font-family: var(--font-head);
  font-size: 16px;
  color: #d4af37;
}
.floating-badge span {
  font-size: 12px;
  color: rgba(248,245,237,0.75);
}

.home-about-content .eyebrow {
  margin-bottom: 14px;
}
.home-about-content .section-title {
  margin-bottom: 22px;
}
.home-about-content p {
  font-size: 16px;
  color: #4a5047;
  line-height: 1.75;
  margin-bottom: 28px;
}
.home-about-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 36px;
}
.haf-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.haf-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(184,149,82,0.12);
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.haf-text strong {
  display: block;
  font-size: 15px;
  color: var(--forest);
  margin-bottom: 2px;
}
.haf-text span {
  font-size: 13px;
  color: #6a6f65;
}

/* Stat row on Home About */
.home-about-stats {
  display: flex;
  align-items: center;
  gap: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(23,61,50,0.1);
}
.has-stat strong {
  display: block;
  font-size: 32px;
  font-family: var(--font-head);
  color: var(--forest);
  line-height: 1.1;
}
.has-stat span {
  font-size: 13px;
  color: #6a6f65;
}

/* ---------- AYURVEDIC QUIZ BANNER ---------- */
.quiz-banner-section {
  padding: clamp(40px,8vw,85px) 0;
  background: var(--emerald-gradient);
  color: var(--ivory);
  position: relative;
  overflow: hidden;
}
.quiz-banner-section::after {
  content: '';
  position: absolute;
  top: -50%; right: -10%;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(212,175,55,0.15) 0%, transparent 70%);
  pointer-events: none;
}
.quiz-banner-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  background: rgba(255,255,255,0.06);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(212,175,55,0.25);
  border-radius: 28px;
  padding: clamp(22px,5vw,48px);
}
.quiz-banner-text h2 {
  color: #fff;
  font-size: clamp(26px, 3vw, 38px);
  margin-bottom: 12px;
}
.quiz-banner-text p {
  color: rgba(248,245,237,0.8);
  font-size: 16px;
  max-width: 540px;
}

/* ---------- QUICK VIEW MODAL STYLES ---------- */
.qv-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s var(--ease), visibility 0.35s;
}
.qv-modal.active {
  opacity: 1;
  visibility: visible;
}
.qv-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 25, 20, 0.75);
  backdrop-filter: blur(8px);
}
.qv-dialog {
  position: relative;
  z-index: 2;
  background: #FAF7F2;
  border-radius: 28px;
  max-width: 900px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 35px 70px rgba(0,0,0,0.35);
  border: 1px solid var(--glass-border);
  transform: scale(0.94) translateY(20px);
  transition: transform 0.35s var(--ease);
  padding: 40px;
}
.qv-modal.active .qv-dialog {
  transform: scale(1) translateY(0);
}
.qv-close {
  position: absolute;
  top: 20px; right: 24px;
  font-size: 32px;
  line-height: 1;
  color: #555;
  transition: color 0.2s, transform 0.2s;
  z-index: 10;
}
.qv-close:hover {
  color: var(--forest);
  transform: rotate(90deg);
}
.qv-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: start;
}
.qv-media {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: var(--shadow-card);
}
.qv-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.qv-badge {
  position: absolute;
  top: 14px; left: 14px;
  background: var(--forest);
  color: var(--gold);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 6px 14px;
  border-radius: 20px;
}
.qv-cat {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--gold);
  font-weight: 700;
  margin-bottom: 6px;
  display: block;
}
.qv-title {
  font-size: 28px;
  color: var(--forest);
  margin-bottom: 10px;
}
.qv-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #666;
  margin-bottom: 14px;
}
.qv-rating .stars { color: #f59e0b; }
.qv-price {
  font-size: 28px;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 14px;
}
.qv-desc {
  font-size: 14.5px;
  color: #555;
  line-height: 1.6;
  margin-bottom: 20px;
}
.qv-tabs-nav {
  display: flex;
  gap: 12px;
  border-bottom: 1px solid rgba(23,61,50,0.12);
  margin-bottom: 16px;
}
.qv-tab-btn {
  padding: 8px 14px;
  font-size: 13.5px;
  font-weight: 600;
  color: #777;
  border-bottom: 2px solid transparent;
  transition: all 0.25s;
}
.qv-tab-btn.active {
  color: var(--forest);
  border-bottom-color: var(--gold);
}
.qv-tab-content {
  display: none;
  font-size: 13.5px;
  color: #4a5047;
  line-height: 1.6;
  min-height: 70px;
}
.qv-tab-content.active { display: block; }
.qv-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(23,61,50,0.1);
}
.qv-qty {
  display: flex;
  align-items: center;
  border: 1px solid #ccc;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.qty-btn {
  width: 38px;
  height: 42px;
  font-size: 18px;
  font-weight: 600;
  color: var(--forest);
  background: #f0ebe1;
  transition: background 0.2s;
}
.qty-btn:hover { background: #e2dacd; }
.qv-qty input {
  width: 44px;
  text-align: center;
  font-weight: 700;
  font-size: 15px;
  border: none;
}

/* ---------- AYURVEDIC QUIZ MODAL STYLES ---------- */
.quiz-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s var(--ease), visibility 0.35s;
}
.quiz-modal.active { opacity: 1; visibility: visible; }
.quiz-backdrop { position: absolute; inset: 0; background: rgba(15, 25, 20, 0.8); backdrop-filter: blur(8px); }
.quiz-dialog {
  position: relative;
  z-index: 2;
  background: #FAF7F2;
  border-radius: 28px;
  max-width: 680px;
  width: 100%;
  padding: 40px;
  box-shadow: 0 35px 70px rgba(0,0,0,0.35);
  border: 1px solid var(--glass-border);
  transform: scale(0.94) translateY(20px);
  transition: transform 0.35s var(--ease);
}
.quiz-modal.active .quiz-dialog { transform: scale(1) translateY(0); }
.quiz-close { position: absolute; top: 20px; right: 24px; font-size: 32px; color: #555; }
.quiz-eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: 0.2em; color: var(--gold); font-weight: 700; }
.quiz-header h2 { font-size: 26px; color: var(--forest); margin: 6px 0 16px; }
.quiz-progress-bar { height: 6px; background: rgba(23,61,50,0.1); border-radius: 4px; overflow: hidden; margin-bottom: 28px; }
.quiz-progress-fill { height: 100%; background: var(--gold-gradient); width: 33.3%; transition: width 0.4s var(--ease); }

.quiz-step-num { font-size: 12px; font-weight: 700; color: var(--gold); text-transform: uppercase; margin-bottom: 8px; display: block; }
.quiz-question { font-size: 20px; color: var(--forest); margin-bottom: 24px; }
.quiz-options { display: flex; flex-direction: column; gap: 12px; }
.quiz-option-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: #fff;
  border: 1.5px solid rgba(23,61,50,0.12);
  border-radius: 16px;
  font-size: 15px;
  font-weight: 600;
  color: var(--charcoal);
  transition: all 0.25s var(--ease);
  text-align: left;
}
.quiz-option-btn:hover {
  border-color: var(--gold);
  background: rgba(184,149,82,0.06);
  transform: translateX(4px);
}
.opt-indicator {
  width: 28px; height: 28px; border-radius: 50%; background: rgba(23,61,50,0.08); color: var(--forest);
  display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; flex-shrink: 0; margin-right: 12px;
}
.opt-text { flex-grow: 1; }

.quiz-result-card { text-align: center; }
.result-badge { display: inline-block; background: rgba(184,149,82,0.15); color: var(--forest); font-weight: 700; font-size: 12px; padding: 6px 16px; border-radius: 20px; margin-bottom: 12px; }
.quiz-result-card h3 { font-size: 26px; color: var(--forest); margin-bottom: 20px; }
.quiz-result-grid { display: grid; grid-template-columns: 180px 1fr; gap: 24px; text-align: left; align-items: center; }
.quiz-result-img { border-radius: 18px; overflow: hidden; box-shadow: var(--shadow-card); }
.quiz-result-img img { width: 100%; height: 180px; object-fit: cover; }
.quiz-result-info p { font-size: 14px; color: #555; margin-bottom: 12px; }
.quiz-result-meta { font-size: 13px; color: #333; margin-bottom: 18px; display: flex; gap: 16px; }
.quiz-result-actions { display: flex; gap: 12px; }

/* ---------- TOAST NOTIFICATIONS STYLES ---------- */
.toast-container {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: 12px;
  pointer-events: none;
}
.toast-card {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(23, 61, 50, 0.94);
  backdrop-filter: blur(12px);
  color: var(--ivory);
  padding: 14px 20px;
  border-radius: 18px;
  border: 1px solid rgba(212,175,55,0.3);
  box-shadow: 0 15px 35px rgba(0,0,0,0.25);
  transform: translateX(120%);
  transition: transform 0.4s var(--ease), opacity 0.4s var(--ease);
  max-width: 360px;
}
.toast-card.show { transform: translateX(0); }
.toast-card.hide { transform: translateX(120%); opacity: 0; }
.toast-img { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; flex-shrink: 0; }
.toast-icon { font-size: 24px; flex-shrink: 0; }
.toast-content { flex-grow: 1; }
.toast-title { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--gold); font-weight: 700; display: block; }
.toast-message { font-size: 13.5px; color: #fff; line-height: 1.3; }
.toast-close { color: rgba(255,255,255,0.6); font-size: 20px; margin-left: 8px; }

/* ---------- FLOATING WHATSAPP WIDGET ---------- */
.whatsapp-widget {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9990;
  display: flex;
  align-items: center;
  gap: 12px;
}
.wa-btn {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 25px rgba(37,211,102,0.4);
  position: relative;
  transition: transform 0.3s var(--ease);
}
.wa-btn:hover {
  transform: scale(1.1);
}
.wa-aura {
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid #25D366;
  animation: waPulse 2s infinite;
  pointer-events: none;
}
@keyframes waPulse {
  0% { transform: scale(0.9); opacity: 0.8; }
  100% { transform: scale(1.35); opacity: 0; }
}
.wa-tooltip {
  background: rgba(23,61,50,0.92);
  backdrop-filter: blur(8px);
  color: #fff;
  padding: 8px 14px;
  border-radius: 12px;
  font-size: 12px;
  border: 1px solid rgba(212,175,55,0.25);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
  display: none;
}
@media(min-width: 768px) {
  .wa-tooltip { display: block; }
}
.wa-tooltip span { display: block; font-weight: 700; color: var(--gold); }
.wa-tooltip small { color: rgba(255,255,255,0.75); font-size: 11px; }

/* ---------- CANVAS PARTICLES OVERLAY ---------- */
.leaf-particle-canvas {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
}

/* Responsive fixes for new elements */
@media(max-width: 992px) {
  .home-about-grid { grid-template-columns: 1fr; gap: 40px; }
  .qv-grid { grid-template-columns: 1fr; }
  .quiz-banner-box { flex-direction: column; text-align: center; }
  .quiz-result-grid { grid-template-columns: 1fr; text-align: center; }
  .quiz-result-img { max-width: 200px; margin: 0 auto; }
}

/* ==========================================================================
   WAY2RICH STYLE CATEGORIES & E-COMMERCE SHOP LAYOUT
   ========================================================================== */

.page-banner-w2r {
  padding: clamp(38px,10vw,60px) 0 clamp(26px,6vw,45px);
  background: linear-gradient(135deg, #0e382c 0%, #173d32 100%);
  color: var(--ivory);
  text-align: center;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(212,175,55,0.25);
}
.page-banner-w2r::before {
  content: '';
  position: absolute;
  top: -50%; left: 50%; transform: translateX(-50%);
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(212,175,55,0.15) 0%, transparent 70%);
  pointer-events: none;
}
.page-banner-w2r h1 {
  font-size: clamp(32px, 4vw, 48px);
  color: #fff;
  margin-bottom: 10px;
}
.page-banner-w2r .gold-text {
  color: #d4af37;
  font-style: italic;
}
.page-banner-w2r .breadcrumb-w2r {
  font-size: 13.5px;
  color: rgba(248,245,237,0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.page-banner-w2r .breadcrumb-w2r a {
  color: var(--gold);
  transition: color 0.2s;
}
.page-banner-w2r .breadcrumb-w2r a:hover {
  color: #fff;
}

/* Shop Layout Grid */
.shop-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 36px;
  align-items: start;
  padding: clamp(28px,6vw,50px) 0 clamp(40px,8vw,80px);
}

/* Sidebar */
.shop-sidebar {
  background: #FAF7F2;
  border: 1px solid var(--glass-border);
  border-radius: 24px;
  padding: 28px 24px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.06);
  position: sticky;
  top: 140px;
}
.sidebar-section {
  margin-bottom: 32px;
}
.sidebar-section:last-child {
  margin-bottom: 0;
}
.sidebar-section h3 {
  font-size: 18px;
  color: var(--forest);
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 2px solid rgba(184,149,82,0.2);
  position: relative;
}
.sidebar-section h3::after {
  content: '';
  position: absolute;
  left: 0; bottom: -2px;
  width: 40px; height: 2px;
  background: var(--gold);
}

/* Categories List */
.categories-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.categories-list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  color: #4a5047;
  transition: all 0.25s var(--ease);
  background: transparent;
}
.categories-list li a:hover {
  background: rgba(184,149,82,0.08);
  color: var(--forest);
  transform: translateX(4px);
}
.categories-list li a.active {
  background: var(--forest);
  color: #d4af37;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(23,61,50,0.2);
}
.categories-list li a .cat-count-badge {
  font-size: 11.5px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 10px;
  background: rgba(23,61,50,0.08);
  color: var(--forest);
  transition: all 0.25s;
}
.categories-list li a.active .cat-count-badge {
  background: rgba(212,175,55,0.25);
  color: #fff;
}

/* Price Range Filter */
.price-range-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.price-inputs {
  display: flex;
  align-items: center;
  gap: 8px;
}
.price-inputs input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(23,61,50,0.18);
  border-radius: 10px;
  font-size: 13.5px;
  background: #fff;
}
.price-inputs input:focus {
  border-color: var(--gold);
  outline: none;
}
.price-inputs span {
  color: #888;
  font-weight: 600;
}
.btn-filter-price {
  width: 100%;
  padding: 10px;
  background: var(--gold-gradient);
  color: #fff;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 4px 12px rgba(184,149,82,0.3);
}
.btn-filter-price:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(184,149,82,0.4);
}

/* Main Shop Content */
.shop-main {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Shop Header Toolbar */
.shop-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #FAF7F2;
  border: 1px solid var(--glass-border);
  padding: 16px 24px;
  border-radius: 18px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.04);
}
.results-count-text {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--forest);
}
.results-count-text span {
  color: var(--gold);
}

.shop-controls {
  display: flex;
  align-items: center;
  gap: 14px;
}
.shop-search-input {
  position: relative;
  display: flex;
  align-items: center;
}
.shop-search-input input {
  padding: 9px 14px 9px 36px;
  border: 1px solid rgba(23,61,50,0.18);
  border-radius: 12px;
  font-size: 13.5px;
  background: #fff;
  width: 220px;
  transition: width 0.3s var(--ease), border-color 0.3s;
}
.shop-search-input input:focus {
  width: 260px;
  border-color: var(--gold);
  outline: none;
}
.shop-search-input svg {
  position: absolute;
  left: 12px;
  color: #777;
  width: 16px; height: 16px;
  pointer-events: none;
}

.sort-select-w2r {
  padding: 9px 14px;
  border: 1px solid rgba(23,61,50,0.18);
  border-radius: 12px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--forest);
  background: #fff;
  cursor: pointer;
}
.sort-select-w2r:focus {
  border-color: var(--gold);
  outline: none;
}

/* Products Grid */
.shop-products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 28px;
}

/* Way2Rich Inspired Product Card */
.w2r-product-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(23,61,50,0.1);
  box-shadow: 0 10px 25px rgba(0,0,0,0.05);
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s;
  display: flex;
  flex-direction: column;
  position: relative;
}
.w2r-product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(23,61,50,0.15);
  border-color: rgba(212,175,55,0.4);
}

.w2r-card-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: #f8f6f0;
}
.w2r-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s var(--ease);
}
.w2r-product-card:hover .w2r-card-media img {
  transform: scale(1.08);
}

.w2r-card-badge {
  position: absolute;
  top: 12px; left: 12px;
  background: var(--forest);
  color: #d4af37;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 5px 12px;
  border-radius: 14px;
  z-index: 2;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}
.w2r-card-badge.hot {
  background: #dc2626;
  color: #fff;
}
.w2r-card-badge.new {
  background: #d4af37;
  color: var(--forest);
}

.w2r-card-actions {
  position: absolute;
  top: 12px; right: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 3;
  opacity: 0.9;
  transition: opacity 0.3s;
}
.w2r-action-btn {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(4px);
  color: var(--forest);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  transition: all 0.25s var(--ease);
  cursor: pointer;
}
.w2r-action-btn:hover {
  background: var(--gold);
  color: #fff;
  transform: scale(1.12);
}
.w2r-action-btn.active {
  background: #dc2626;
  color: #fff;
}

.w2r-card-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.w2r-card-cat {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gold);
  margin-bottom: 6px;
  display: block;
}
.w2r-card-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 8px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.w2r-card-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #666;
  margin-bottom: 12px;
}
.w2r-card-rating .stars {
  color: #f59e0b;
}

.w2r-card-price-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 16px;
  margin-top: auto;
}
.w2r-price-current {
  font-size: 20px;
  font-weight: 800;
  color: var(--forest);
}
.w2r-price-original {
  font-size: 14px;
  color: #999;
  text-decoration: line-through;
}
.w2r-discount-tag {
  font-size: 11.5px;
  font-weight: 700;
  color: #15803d;
  background: #e6f7ed;
  padding: 3px 10px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  letter-spacing: 0.02em;
}

/* Card Quantity & Add Row */
.w2r-cart-control-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.w2r-qty-stepper {
  display: flex;
  align-items: center;
  border: 1px solid rgba(23,61,50,0.2);
  border-radius: 10px;
  overflow: hidden;
  background: #FAF7F2;
}
.w2r-qty-btn {
  width: 30px;
  height: 36px;
  font-size: 16px;
  font-weight: 700;
  color: var(--forest);
  background: transparent;
  transition: background 0.2s;
}
.w2r-qty-btn:hover {
  background: rgba(184,149,82,0.18);
}
.w2r-qty-input {
  width: 32px;
  text-align: center;
  font-size: 13.5px;
  font-weight: 700;
  border: none;
  background: transparent;
}

.w2r-add-cart-btn {
  flex-grow: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  background: var(--forest);
  color: var(--ivory);
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 700;
  transition: all 0.25s var(--ease);
  box-shadow: 0 4px 12px rgba(23,61,50,0.2);
}
.w2r-add-cart-btn:hover {
  background: var(--gold-gradient);
  color: #fff;
  box-shadow: 0 6px 16px rgba(184,149,82,0.35);
  transform: translateY(-2px);
}
.w2r-add-cart-btn svg {
  width: 15px; height: 15px;
}

/* Responsive Shop Layout */
@media(max-width: 992px) {
  .shop-layout {
    grid-template-columns: 1fr;
  }
  .shop-sidebar {
    position: static;
  }
  .shop-header-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .shop-controls {
    flex-direction: column;
    align-items: stretch;
  }
  .shop-search-input input {
    width: 100%;
  }
  .shop-search-input input:focus {
    width: 100%;
  }
}

/* ==========================================================================
   NOVEL INTERACTIVE FEATURES: DOSHA WHEEL, BUNDLE BUILDER, NIGHT THEME
   ========================================================================== */

/* ---------- NIGHT RITUAL THEME STYLES ---------- */
body.night-ritual-mode {
  background: #081a14;
  color: #e8f0ec;
}
body.night-ritual-mode .bg-ivory {
  background: #0b241c;
}
body.night-ritual-mode .bg-beige {
  background: #071e17;
}
body.night-ritual-mode .site-header.solid {
  background: rgba(8, 26, 20, 0.92);
  border-bottom-color: rgba(212,175,55,0.2);
}
body.night-ritual-mode .home-about-section {
  background: linear-gradient(180deg, #071e17 0%, #0c2b21 100%);
}
body.night-ritual-mode .pcard,
body.night-ritual-mode .wcard,
body.night-ritual-mode .home-about-img-wrap,
body.night-ritual-mode .shop-sidebar,
body.night-ritual-mode .shop-header-bar,
body.night-ritual-mode .w2r-product-card {
  background: #0d2e24;
  border-color: rgba(212,175,55,0.25);
  color: #e8f0ec;
}
body.night-ritual-mode h1,
body.night-ritual-mode h2,
body.night-ritual-mode h3,
body.night-ritual-mode .section-title,
body.night-ritual-mode .w2r-card-title,
body.night-ritual-mode .qv-title,
body.night-ritual-mode .w2r-price-current {
  color: #f3e9d2;
}
body.night-ritual-mode .w2r-qty-stepper {
  background: #071e17;
  border-color: rgba(212,175,55,0.3);
}
body.night-ritual-mode .w2r-qty-input {
  color: #fff;
}
body.night-ritual-mode p,
body.night-ritual-mode .section-sub,
body.night-ritual-mode .home-about-content p {
  color: #b0c4ba;
}

/* Floating Ambiance Switcher Button */
.theme-toggle-float {
  position: fixed;
  bottom: 100px;
  right: 30px;
  z-index: 9980;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: rgba(23, 61, 50, 0.92);
  backdrop-filter: blur(12px);
  color: #d4af37;
  border: 1px solid rgba(212,175,55,0.35);
  border-radius: 30px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 10px 25px rgba(0,0,0,0.25);
  transition: transform 0.3s var(--ease), background 0.3s;
}
.theme-toggle-float:hover {
  transform: translateY(-3px) scale(1.04);
  background: var(--forest);
}

/* ---------- 01. DOSHA HARMONY WHEEL SECTION ---------- */
.dosha-harmony-section {
  padding: 100px 0;
  background: linear-gradient(180deg, #FAF6EE 0%, #F5EFE2 100%);
  position: relative;
  overflow: hidden;
}
body.night-ritual-mode .dosha-harmony-section {
  background: linear-gradient(180deg, #09221b 0%, #061913 100%);
}

.dosha-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.dosha-media-box {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 25px 50px -15px rgba(0,0,0,0.25);
  border: 1px solid var(--glass-border);
}
.dosha-media-box img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
}
.dosha-overlay-badge {
  position: absolute;
  top: 20px; left: 20px;
  background: rgba(23, 61, 50, 0.9);
  backdrop-filter: blur(10px);
  color: #d4af37;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  padding: 8px 18px;
  border-radius: 20px;
  border: 1px solid rgba(212,175,55,0.3);
}

.dosha-selector-tabs {
  display: flex;
  gap: 12px;
  margin-bottom: 28px;
}
.dosha-tab-btn {
  flex: 1;
  padding: 14px 18px;
  border-radius: 16px;
  background: #fff;
  border: 1.5px solid rgba(23,61,50,0.12);
  cursor: pointer;
  transition: all 0.3s var(--ease);
  text-align: center;
}
body.night-ritual-mode .dosha-tab-btn {
  background: #0d2e24;
  border-color: rgba(212,175,55,0.2);
}
.dosha-tab-btn:hover {
  border-color: var(--gold);
  transform: translateY(-2px);
}
.dosha-tab-btn.active {
  background: var(--forest);
  color: #fff;
  border-color: var(--gold);
  box-shadow: 0 10px 25px rgba(23,61,50,0.25);
}
.dosha-tab-btn strong {
  display: block;
  font-size: 16px;
  font-family: var(--font-head);
  color: inherit;
}
.dosha-tab-btn.active strong {
  color: #d4af37;
}
.dosha-tab-btn span {
  font-size: 11.5px;
  opacity: 0.8;
}

.dosha-info-card {
  background: #fff;
  border-radius: 24px;
  padding: 32px;
  border: 1px solid rgba(23,61,50,0.1);
  box-shadow: 0 15px 35px rgba(0,0,0,0.06);
}
body.night-ritual-mode .dosha-info-card {
  background: #0d2e24;
  border-color: rgba(212,175,55,0.25);
}
.dosha-info-card h3 {
  font-size: 24px;
  color: var(--forest);
  margin-bottom: 8px;
}
.dosha-element-tag {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}
.dosha-info-card p {
  font-size: 15px;
  color: #555;
  line-height: 1.65;
  margin-bottom: 24px;
}
.dosha-recommend-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: #FAF7F2;
  padding: 16px 20px;
  border-radius: 16px;
  border: 1px solid rgba(184,149,82,0.2);
}
body.night-ritual-mode .dosha-recommend-box {
  background: #071e17;
}
.dr-text span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #888;
  display: block;
}
.dr-text strong {
  font-size: 15px;
  color: var(--forest);
}

/* ---------- 02. CUSTOM WELLNESS BUNDLE BUILDER SECTION ---------- */
.bundle-builder-section {
  padding: 100px 0;
  background: var(--emerald-gradient);
  color: var(--ivory);
  position: relative;
  overflow: hidden;
}
.bundle-builder-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
  align-items: start;
}
.bundle-steps-col {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.bundle-step-box {
  background: rgba(255,255,255,0.06);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(212,175,55,0.25);
  border-radius: 24px;
  padding: 24px 28px;
}
.bundle-step-title {
  font-size: 17px;
  color: #fff;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.bundle-step-title span {
  width: 26px; height: 26px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--forest);
  font-size: 13px;
  font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}
.bundle-options-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 14px;
}
.bundle-opt-card {
  background: rgba(255,255,255,0.08);
  border: 1.5px solid rgba(255,255,255,0.15);
  border-radius: 16px;
  padding: 14px;
  cursor: pointer;
  transition: all 0.25s var(--ease);
  text-align: center;
}
.bundle-opt-card:hover {
  border-color: var(--gold);
  background: rgba(212,175,55,0.12);
}
.bundle-opt-card.selected {
  border-color: #d4af37;
  background: rgba(212,175,55,0.22);
  box-shadow: 0 6px 20px rgba(212,175,55,0.25);
}
.bundle-opt-card img {
  width: 60px; height: 60px;
  border-radius: 12px;
  object-fit: cover;
  margin: 0 auto 10px;
}
.bundle-opt-card strong {
  display: block;
  font-size: 13.5px;
  color: #fff;
  line-height: 1.3;
  margin-bottom: 4px;
}
.bundle-opt-card span {
  font-size: 12.5px;
  color: var(--gold);
  font-weight: 700;
}

.bundle-summary-card {
  position: sticky;
  top: 140px;
  background: rgba(15, 45, 36, 0.95);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(212,175,55,0.35);
  border-radius: 28px;
  padding: 32px 28px;
  box-shadow: 0 25px 50px rgba(0,0,0,0.35);
}
.bundle-summary-card h3 {
  font-size: 22px;
  color: #fff;
  margin-bottom: 20px;
}
.bundle-item-list {
  list-style: none;
  padding: 0; margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.bundle-item-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13.5px;
  color: rgba(248,245,237,0.85);
  padding-bottom: 8px;
  border-bottom: 1px dashed rgba(255,255,255,0.15);
}
.bundle-price-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.bundle-total {
  font-size: 28px;
  font-weight: 800;
  color: #d4af37;
}
.bundle-savings-badge {
  font-size: 11.5px;
  font-weight: 700;
  color: #16a34a;
  background: rgba(22,163,74,0.2);
  padding: 4px 10px;
  border-radius: 12px;
}

@media(max-width: 992px) {
  .dosha-grid, .bundle-builder-grid {
    grid-template-columns: 1fr;
  }
  .bundle-summary-card {
    position: static;
  }
}

/* ==========================================================================
   NOVEL EXPERIENCES: HERBAL MATRIX, INCOME CALCULATOR & SPIN WHEEL
   ========================================================================== */

/* ---------- HERBAL MATRIX SECTION ---------- */
.herbal-matrix-section {
  padding: clamp(40px,8vw,90px) 0;
  background: linear-gradient(180deg, #FBF8F3 0%, #F3EDE2 100%);
  position: relative;
  overflow: hidden;
}
.herbal-matrix-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 48px;
}
.herb-filter-tabs {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.herb-tab-btn {
  padding: 10px 20px;
  font-size: 13.5px;
  font-weight: 600;
  border-radius: 30px;
  background: #fff;
  border: 1px solid rgba(14, 56, 44, 0.15);
  color: #0e382c;
  cursor: pointer;
  transition: all 0.3s ease;
}
.herb-tab-btn.active, .herb-tab-btn:hover {
  background: #0e382c;
  color: #d4af37;
  border-color: #0e382c;
  box-shadow: 0 8px 20px rgba(14, 56, 44, 0.15);
}

.herb-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 28px;
}
.herb-card {
  background: #fff;
  border-radius: 24px;
  padding: 28px;
  border: 1px solid rgba(212, 175, 55, 0.2);
  box-shadow: 0 12px 30px rgba(0,0,0,0.04);
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.herb-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 20px 40px rgba(14, 56, 44, 0.12);
  border-color: #d4af37;
}
.herb-icon-box {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(14, 56, 44, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin-bottom: 18px;
}
.herb-title {
  font-size: 20px;
  font-weight: 700;
  color: #0e382c;
  margin-bottom: 6px;
}
.herb-sanskrit {
  font-size: 12.5px;
  font-style: italic;
  color: #888;
  margin-bottom: 12px;
  display: block;
}
.herb-benefit-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.herb-tag {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  background: #F4EFE6;
  color: #0e382c;
}
.herb-desc {
  font-size: 13.5px;
  color: #555;
  line-height: 1.6;
  margin-bottom: 20px;
}
.herb-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px dashed rgba(14, 56, 44, 0.12);
}
.herb-product-link {
  font-size: 12.5px;
  font-weight: 700;
  color: #0e382c;
  display: flex;
  align-items: center;
  gap: 6px;
}
.herb-product-link:hover {
  color: #b89025;
}

/* ---------- OPPORTUNITY INCOME CALCULATOR ---------- */
.opportunity-calc-section {
  padding: 90px 0;
  background: #0b2920;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.calc-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  align-items: center;
}
.calc-card-box {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 32px;
  padding: 40px;
  box-shadow: 0 30px 60px rgba(0,0,0,0.4);
}
.calc-slider-group {
  margin-bottom: 28px;
}
.calc-label-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.calc-label {
  font-size: 14px;
  font-weight: 600;
  color: #e2e8f0;
}
.calc-val {
  font-size: 16px;
  font-weight: 800;
  color: #d4af37;
}
.calc-slider {
  width: 100%;
  height: 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.15);
  outline: none;
  -webkit-appearance: none;
  accent-color: #d4af37;
  cursor: pointer;
}
.calc-result-box {
  background: linear-gradient(135deg, rgba(212,175,55,0.15) 0%, rgba(14,56,44,0.4) 100%);
  border: 1px solid #d4af37;
  border-radius: 28px;
  padding: 36px;
  text-align: center;
  position: relative;
}
.rank-badge-glow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border-radius: 30px;
  background: #d4af37;
  color: #0b2920;
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  box-shadow: 0 0 20px rgba(212, 175, 55, 0.5);
}
.calc-total-amount {
  font-size: 46px;
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.02em;
  margin-bottom: 8px;
  line-height: 1;
}
.calc-subtext {
  font-size: 13px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 24px;
}
.calc-breakdown {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  text-align: left;
  border-top: 1px solid rgba(255,255,255,0.15);
  padding-top: 20px;
}
.breakdown-item strong {
  display: block;
  font-size: 18px;
  color: #d4af37;
  font-weight: 700;
}
.breakdown-item span {
  font-size: 11.5px;
  color: rgba(255,255,255,0.7);
}

/* ---------- FLOATING GAMIFIED SPIN WHEEL WIDGET ---------- */
.spin-wheel-trigger {
  position: fixed;
  bottom: 95px;
  left: 24px;
  z-index: 998;
  background: linear-gradient(135deg, #0e382c 0%, #165644 100%);
  color: #d4af37;
  border: 1px solid #d4af37;
  padding: 10px 18px;
  border-radius: 30px;
  font-weight: 700;
  font-size: 12.5px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  box-shadow: 0 10px 25px rgba(0,0,0,0.25);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.spin-wheel-trigger:hover {
  transform: translateY(-4px) scale(1.05);
}

.wheel-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.wheel-modal.active {
  opacity: 1;
  visibility: visible;
}
.wheel-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 25, 20, 0.82);
  backdrop-filter: blur(10px);
}
.wheel-modal-content {
  position: relative;
  z-index: 2;
  background: #FAF7F2;
  border-radius: 32px;
  max-width: 520px;
  width: 100%;
  padding: 36px;
  text-align: center;
  box-shadow: 0 30px 60px rgba(0,0,0,0.4);
  border: 1px solid rgba(212,175,55,0.4);
}
.wheel-close-btn {
  position: absolute;
  top: 18px; right: 20px;
  background: none; border: none;
  font-size: 24px; color: #0e382c;
  cursor: pointer;
}
.wheel-canvas-wrapper {
  position: relative;
  width: 280px;
  height: 280px;
  margin: 20px auto;
}
#wheelCanvas {
  width: 100%;
  height: 100%;
  transition: transform 4s cubic-bezier(0.15, 0.99, 0.18, 1);
  border-radius: 50%;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.wheel-pointer {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 0; height: 0;
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  border-top: 22px solid #d4af37;
  filter: drop-shadow(0 4px 6px rgba(0,0,0,0.3));
  z-index: 10;
}
.spin-action-btn {
  width: 100%;
  padding: 14px;
  background: #0e382c;
  color: #d4af37;
  border: 1px solid #d4af37;
  border-radius: 30px;
  font-size: 15px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: all 0.3s;
}
.spin-action-btn:hover {
  background: #165644;
  box-shadow: 0 10px 25px rgba(14, 56, 44, 0.3);
}

@media (max-width: 992px) {
  .calc-grid {
    grid-template-columns: 1fr;
  }
}

/* ================= TOP CONTACT BAR ================= */
.top-contact-bar {
  background: #0b2920;
  color: rgba(255,255,255,0.9);
  padding: 6px 32px;
  font-size: 12.5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(212,175,55,0.25);
  flex-wrap: wrap;
  gap: 8px;
}
.top-contact-bar a {
  color: var(--ivory);
  text-decoration: none;
  transition: color 0.3s;
}
.top-contact-bar a:hover {
  color: #d4af37;
}
.tc-left, .tc-right {
  display: flex;
  align-items: center;
  gap: 18px;
}
.tc-item {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.tc-item svg {
  color: #d4af37;
}
.tc-social-icons {
  display: flex;
  align-items: center;
  gap: 8px;
}
.tc-social-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  border: 1px solid rgba(255,255,255,0.25);
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: iconBlink 2.6s ease-in-out infinite;
}
.tc-social-icon svg {
  width: 14px;
  height: 14px;
  transition: transform 0.3s ease;
  position: relative;
  z-index: 1;
}
.tc-social-icon:hover {
  transform: translateY(-3px) scale(1.15);
  animation-play-state: paused;
}
.tc-social-icon.tc-insta {
  background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  box-shadow: 0 3px 10px rgba(220,39,67,0.4);
}
.tc-social-icon.tc-fb {
  background: #1877f2;
  box-shadow: 0 3px 10px rgba(24,119,242,0.4);
}
.tc-social-icon.tc-yt {
  background: #ff0000;
  box-shadow: 0 3px 10px rgba(255,0,0,0.4);
}
.tc-social-icon.tc-wa {
  background: #25d366;
  box-shadow: 0 3px 10px rgba(37,211,102,0.4);
}
.tc-social-icon:nth-child(1){animation-delay:0s;}
.tc-social-icon:nth-child(2){animation-delay:.25s;}
.tc-social-icon:nth-child(3){animation-delay:.5s;}
.tc-social-icon:nth-child(4){animation-delay:.75s;}

@keyframes iconBlink{
  0%,100%{opacity:1;}
  50%{opacity:.55;}
}
@media (prefers-reduced-motion:reduce){
  .fs-icon,.tc-social-icon{animation:none;}
}

/* ---------- Blinking "Shop Now" CTA ---------- */
.btn-blink{position:relative;animation:btnBlinkPulse 1.8s ease-in-out infinite;}
@keyframes btnBlinkPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(23,61,50,.5);}
  50%{box-shadow:0 0 0 9px rgba(23,61,50,0);}
}
@media (prefers-reduced-motion:reduce){
  .btn-blink{animation:none;}
}

@media(max-width:720px){
  .top-contact-bar{flex-direction:column;justify-content:center;padding:8px 16px;gap:6px;text-align:center;}
  .tc-left,.tc-right{width:100%;justify-content:center;flex-wrap:wrap;gap:6px 14px;}
  .tc-left{flex-direction:column;gap:4px;}
  .tc-item{justify-content:center;font-size:11.5px;}
}
@media(max-width:420px){
  .top-contact-bar{font-size:11px;padding:7px 12px;}
  .tc-item{font-size:11px;}
  .tc-right > span{font-size:10.5px!important;}
  .tc-social-icons{gap:6px;}
  .tc-social-icon{width:24px;height:24px;}
  .tc-social-icon svg{width:12px;height:12px;}
}

/* FLOATING CALL WIDGET */
.whatsapp-widget {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 990;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
}
.call-float-btn {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, #173d32, #0b2920);
  color: #d4af37;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(23,61,50,0.4);
  border: 1.5px solid #d4af37;
  position: relative;
  transition: all 0.3s ease;
}
.call-float-btn:hover {
  transform: scale(1.12);
  background: #d4af37;
  color: #0b2920;
}
.call-aura {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid rgba(212,175,55,0.4);
  animation: pulseAura 2s infinite;
}

/* BANK & BUSINESS DETAILS CARD */
.bank-details-card {
  background: linear-gradient(145deg, #0e382c, #071f18);
  color: #fff;
  border-radius: 20px;
  padding: 32px;
  border: 1px solid rgba(212,175,55,0.4);
  box-shadow: 0 20px 40px rgba(0,0,0,0.3);
  margin-top: 24px;
}
.bd-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(212,175,55,0.3);
  padding-bottom: 16px;
  margin-bottom: 20px;
}
.bd-head h3 {
  font-family: var(--font-head);
  color: #d4af37;
  font-size: 22px;
  margin: 0;
}
.bd-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
}
.bd-item strong {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #d4af37;
  margin-bottom: 4px;
}
.bd-item span {
  font-size: 15px;
  font-weight: 600;
  color: #fff;
}
.gst-badge-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(212,175,55,0.15);
  border: 1px solid rgba(212,175,55,0.4);
  color: #d4af37;
  padding: 6px 14px;
  border-radius: 20px;
  font-weight: 700;
  font-size: 13px;
}

/* ==========================================================================
   VISIBLE LEGAL DOCUMENTS & GOVERNMENT REGISTRATIONS SHOWCASE GALLERY
   ========================================================================== */

.doc-showcase-section {
  padding: clamp(30px, 6vw, 60px) 0;
  background: #FAF7F2;
}

.doc-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 28px;
  margin-top: 30px;
}

/* Document Paper Card Container */
.doc-paper-card {
  background: #ffffff;
  border-radius: 20px;
  border: 1.5px solid rgba(14, 56, 44, 0.12);
  box-shadow: 0 12px 30px rgba(14, 56, 44, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
  position: relative;
}

.doc-paper-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 45px rgba(14, 56, 44, 0.16);
  border-color: rgba(212, 175, 55, 0.6);
}

/* Top Badge Bar */
.doc-card-badge-bar {
  background: linear-gradient(135deg, #0e382c 0%, #173d32 100%);
  color: #ffffff;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-bottom: 2px solid var(--gold);
}

.doc-badge-status {
  background: rgba(212, 175, 55, 0.2);
  color: var(--gold);
  border: 1px solid rgba(212, 175, 55, 0.5);
  padding: 2px 10px;
  border-radius: 12px;
  font-size: 10.5px;
}

/* Visible Document Image Frame */
.doc-img-frame {
  position: relative;
  background: #f8f6f0;
  border: 1px solid rgba(212, 175, 55, 0.4);
  margin: 16px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.04), 0 6px 18px rgba(0,0,0,0.06);
  cursor: pointer;
  height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.doc-img-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform 0.4s ease;
}

.doc-img-frame:hover img {
  transform: scale(1.06);
}

.doc-img-overlay-badge {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: rgba(14, 56, 44, 0.88);
  color: var(--gold);
  backdrop-filter: blur(4px);
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  border: 1px solid rgba(212, 175, 55, 0.5);
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* Authentic Document Preview Paper Sheet Frame */
.doc-paper-preview {
  background: #fffdf9;
  border: 1px solid #e2dacd;
  margin: 16px;
  border-radius: 12px;
  padding: 18px;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.02), 0 4px 12px rgba(0, 0, 0, 0.03);
  cursor: pointer;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Background Watermark Seal */
.doc-paper-preview::before {
  content: '✓ OFFICIAL';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-25deg);
  font-size: 32px;
  font-weight: 900;
  color: rgba(14, 56, 44, 0.03);
  letter-spacing: 0.2em;
  pointer-events: none;
  white-space: nowrap;
}

/* Document Header inside Paper */
.doc-sheet-header {
  border-bottom: 2px double rgba(14, 56, 44, 0.2);
  padding-bottom: 12px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.doc-sheet-emblem {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0e382c, #1a4d3e);
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
  border: 1.5px solid var(--gold);
  box-shadow: 0 3px 8px rgba(0,0,0,0.1);
}

.doc-sheet-title-group h4 {
  font-family: var(--font-heading);
  font-size: 15px;
  color: var(--forest);
  margin: 0 0 2px 0;
  font-weight: 800;
  line-height: 1.2;
}

.doc-sheet-title-group span {
  font-size: 11px;
  color: #777;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Key Detail Lines in Paper Sheet */
.doc-sheet-body {
  font-size: 12px;
  color: #4a5047;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 14px;
}

.doc-detail-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 4px;
  border-bottom: 1px stroke rgba(0,0,0,0.05);
}

.doc-detail-row span {
  color: #7a8077;
  font-size: 11.5px;
}

.doc-detail-row strong {
  color: var(--forest);
  font-family: monospace;
  font-size: 12.5px;
}

/* Official Stamp & Seal Ribbon */
.doc-sheet-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 10px;
  border-top: 1px dashed rgba(14, 56, 44, 0.2);
}

.doc-official-seal {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  color: #15803d;
  font-weight: 800;
  background: #e6f7ed;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid rgba(21, 128, 61, 0.2);
}

.doc-qr-box {
  width: 38px;
  height: 38px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px;
}

.doc-qr-box svg {
  width: 100%;
  height: 100%;
}

/* Action Buttons Bar */
.doc-card-actions {
  padding: 14px 18px 18px;
  display: flex;
  gap: 10px;
  background: #ffffff;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.btn-doc-inspect {
  flex: 1;
  background: var(--forest);
  color: #ffffff;
  border: none;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: background 0.25s, transform 0.2s;
}

.btn-doc-inspect:hover {
  background: #174f3e;
  color: var(--gold);
  transform: translateY(-2px);
}

.btn-doc-download {
  background: rgba(212, 175, 55, 0.15);
  color: var(--forest);
  border: 1px solid rgba(212, 175, 55, 0.5);
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.25s;
}

.btn-doc-download:hover {
  background: var(--gold);
  color: #ffffff;
  border-color: var(--gold);
}

/* ================= DOCUMENT LIGHTBOX MODAL ================= */
.doc-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(8, 26, 20, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.doc-modal-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.doc-modal-box {
  background: #ffffff;
  width: 100%;
  max-width: 720px;
  max-height: 90vh;
  border-radius: 24px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5);
  overflow-y: auto;
  border: 2px solid var(--gold);
  position: relative;
  transform: scale(0.92);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.doc-modal-overlay.active .doc-modal-box {
  transform: scale(1);
}

.doc-modal-head {
  background: linear-gradient(135deg, #0e382c 0%, #173d32 100%);
  color: #ffffff;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 2px solid var(--gold);
  position: sticky;
  top: 0;
  z-index: 10;
}

.doc-modal-head h3 {
  font-family: var(--font-heading);
  color: var(--gold);
  font-size: 20px;
  margin: 0;
}

.doc-modal-close {
  background: rgba(255, 255, 255, 0.15);
  border: none;
  color: #ffffff;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s;
}

.doc-modal-close:hover {
  background: rgba(255, 255, 255, 0.3);
  color: var(--gold);
}

.doc-modal-body {
  padding: 28px;
  background: #fffdf9;
}

.doc-full-paper {
  background: #ffffff;
  border: 2px solid #e2dacd;
  border-radius: 16px;
  padding: 30px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
  position: relative;
}

.doc-full-header {
  text-align: center;
  border-bottom: 2px double var(--forest);
  padding-bottom: 20px;
  margin-bottom: 24px;
}

.doc-full-header h2 {
  font-family: var(--font-heading);
  color: var(--forest);
  font-size: 24px;
  margin: 8px 0 4px;
}

.doc-full-header p {
  font-size: 13px;
  color: #666;
  margin: 0;
}

.doc-full-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
  font-size: 13.5px;
}

.doc-full-table th, .doc-full-table td {
  padding: 12px 14px;
  border-bottom: 1px solid #eee;
  text-align: left;
}

.doc-full-table th {
  background: #f7f3eb;
  color: var(--forest);
  font-weight: 700;
  width: 35%;
}

.doc-full-table td {
  color: #333;
  font-weight: 500;
}

/* ================= BLOG READER LIGHTBOX MODAL ================= */
.blog-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(8, 26, 20, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.blog-modal-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.blog-modal-box {
  background: #ffffff;
  width: 100%;
  max-width: 800px;
  max-height: 90vh;
  border-radius: 24px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5);
  overflow-y: auto;
  border: 2px solid var(--gold);
  position: relative;
  transform: scale(0.92);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.blog-modal-overlay.active .blog-modal-box {
  transform: scale(1);
}

.blog-modal-head {
  background: linear-gradient(135deg, #0e382c 0%, #173d32 100%);
  color: #ffffff;
  padding: 20px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 2px solid var(--gold);
  position: sticky;
  top: 0;
  z-index: 10;
}

.blog-modal-head .bm-category {
  background: rgba(212, 175, 55, 0.2);
  color: var(--gold);
  border: 1px solid rgba(212, 175, 55, 0.5);
  font-size: 11px;
  font-weight: 700;
  padding: 3px 12px;
  border-radius: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.blog-modal-close {
  background: rgba(255, 255, 255, 0.15);
  border: none;
  color: #ffffff;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s;
}

.blog-modal-close:hover {
  background: rgba(255, 255, 255, 0.3);
  color: var(--gold);
}

.blog-modal-body {
  padding: 32px;
  background: #FAF7F2;
  color: #333;
  line-height: 1.7;
}

.blog-modal-body h1 {
  font-family: var(--font-heading);
  color: var(--forest);
  font-size: clamp(24px, 4vw, 34px);
  margin: 12px 0 16px;
  line-height: 1.25;
}

.blog-modal-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 13px;
  color: #777;
  border-bottom: 1px solid rgba(14, 56, 44, 0.1);
  padding-bottom: 16px;
  margin-bottom: 24px;
}

.blog-modal-hero-img {
  width: 100%;
  max-height: 380px;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid rgba(212, 175, 55, 0.3);
  box-shadow: 0 10px 25px rgba(14, 56, 44, 0.1);
  margin-bottom: 24px;
}

.blog-modal-article-text {
  font-size: 15px;
  color: #4a5047;
}

.blog-modal-article-text h3 {
  font-family: var(--font-heading);
  color: var(--forest);
  font-size: 20px;
  margin: 24px 0 10px;
}

.blog-modal-article-text .lead {
  font-size: 17px;
  font-weight: 500;
  color: var(--forest);
  line-height: 1.6;
  margin-bottom: 20px;
}

.blog-takeaway-box {
  background: #ffffff;
  border-left: 4px solid var(--gold);
  padding: 16px 20px;
  border-radius: 0 12px 12px 0;
  margin: 24px 0;
  box-shadow: 0 4px 14px rgba(0,0,0,0.04);
}

/* ==========================================================================
   REDESIGNED LUXURY CONTACT PAGE STYLING
   ========================================================================== */
.contact-hero-wrap {
  position: relative;
  background: linear-gradient(135deg, #071f18 0%, #0e382c 60%, #174d3d 100%);
  padding: 65px 0 65px;
  color: #ffffff;
  text-align: center;
  overflow: hidden;
}

.contact-hero-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 20%, rgba(212, 175, 55, 0.15) 0%, transparent 60%);
  pointer-events: none;
}

.contact-hero-wrap .eyebrow {
  color: var(--gold);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 12px;
}

.contact-hero-wrap h1 {
  font-size: clamp(34px, 5vw, 52px);
  font-family: var(--font-heading);
  color: #ffffff;
  margin: 10px 0 14px;
}

.contact-hero-wrap p {
  color: rgba(255, 255, 255, 0.85);
  font-size: 16px;
  max-width: 580px;
  margin: 0 auto;
  line-height: 1.7;
}

/* Quick Action Channels Grid */
.contact-quick-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: -50px;
  position: relative;
  z-index: 10;
}

.c-quick-card {
  background: #ffffff;
  border-radius: 20px;
  padding: 24px 20px;
  border: 1.5px solid rgba(212, 175, 55, 0.3);
  box-shadow: 0 15px 35px rgba(14, 56, 44, 0.1);
  text-align: center;
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

.c-quick-card:hover {
  transform: translateY(-6px);
  border-color: var(--gold);
  box-shadow: 0 20px 45px rgba(212, 175, 55, 0.25);
}

.c-quick-icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(14, 56, 44, 0.08) 0%, rgba(212, 175, 55, 0.15) 100%);
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: var(--forest);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  transition: all 0.3s ease;
}

.c-quick-card:hover .c-quick-icon {
  background: var(--forest);
  color: var(--gold);
  border-color: var(--forest);
}

.c-quick-card strong {
  display: block;
  font-size: 15px;
  color: var(--forest);
  margin-bottom: 4px;
}

.c-quick-card span {
  font-size: 13px;
  color: #666666;
  margin-bottom: 12px;
  word-break: break-word;
}

.c-quick-action {
  font-size: 12px;
  font-weight: 800;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: auto;
}

/* Contact Main Section Layout */
.contact-main-section {
  padding: 80px 0;
  background: #FAF7F2;
}

.contact-split-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 40px;
  align-items: start;
}

/* Form Card Design */
.c-form-card {
  background: #ffffff;
  border-radius: 28px;
  border: 2px solid rgba(212, 175, 55, 0.35);
  box-shadow: 0 20px 50px rgba(14, 56, 44, 0.08);
  overflow: hidden;
}

.c-form-header {
  background: linear-gradient(135deg, #0e382c 0%, #164638 100%);
  color: #ffffff;
  padding: 28px 32px;
  border-bottom: 2px solid var(--gold);
}

.c-form-header h2 {
  font-size: 24px;
  color: #ffffff;
  margin: 4px 0 0;
  font-family: var(--font-heading);
}

.c-form-header span.eyebrow {
  color: var(--gold);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.c-form-body {
  padding: 32px;
}

.c-subject-selector {
  margin-bottom: 24px;
}

.c-subject-selector label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 10px;
}

.c-subject-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.c-subject-pill {
  padding: 8px 16px;
  border-radius: 30px;
  border: 1.5px solid rgba(14, 56, 44, 0.15);
  background: #FAF7F2;
  font-size: 12.5px;
  font-weight: 600;
  color: #555555;
  cursor: pointer;
  transition: all 0.25s ease;
  user-select: none;
}

.c-subject-pill:hover,
.c-subject-pill.active {
  background: var(--forest);
  color: var(--gold);
  border-color: var(--forest);
  box-shadow: 0 4px 12px rgba(14, 56, 44, 0.2);
}

.c-input-group {
  margin-bottom: 20px;
}

.c-input-group label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--forest);
  margin-bottom: 6px;
}

.c-input-group input,
.c-input-group textarea {
  width: 100%;
  padding: 14px 18px;
  border-radius: 14px;
  border: 1.5px solid rgba(14, 56, 44, 0.15);
  background: #FAF7F2;
  font-size: 14px;
  color: var(--forest);
  outline: none;
  transition: all 0.3s ease;
  font-family: inherit;
}

.c-input-group input:focus,
.c-input-group textarea:focus {
  border-color: var(--gold);
  background: #ffffff;
  box-shadow: 0 0 15px rgba(212, 175, 55, 0.25);
}

.c-input-group textarea {
  min-height: 130px;
  resize: vertical;
}

.c-submit-btn {
  width: 100%;
  padding: 16px;
  border-radius: 40px;
  background: linear-gradient(135deg, #0e382c 0%, #164638 100%);
  color: var(--gold);
  border: 1.5px solid var(--gold);
  font-size: 15px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition: all 0.35s ease;
  box-shadow: 0 10px 25px rgba(14, 56, 44, 0.25);
}

.c-submit-btn:hover {
  background: var(--gold);
  color: var(--forest);
  border-color: var(--gold);
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(212, 175, 55, 0.35);
}

/* Info Side Panel */
.c-info-panel {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-entity-card {
  background: #ffffff;
  border-radius: 24px;
  border: 1.5px solid rgba(212, 175, 55, 0.35);
  padding: 28px;
  box-shadow: 0 15px 35px rgba(14, 56, 44, 0.06);
}

.c-entity-card .entity-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(212, 175, 55, 0.15);
  color: var(--forest);
  border: 1px solid rgba(212, 175, 55, 0.4);
  font-size: 11px;
  font-weight: 800;
  padding: 4px 12px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 12px;
}

.c-entity-card h3 {
  font-size: 20px;
  color: var(--forest);
  margin-bottom: 14px;
  font-family: var(--font-heading);
}

.c-info-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.c-info-row {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.c-info-row .row-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(14, 56, 44, 0.08);
  color: var(--forest);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.c-info-row strong {
  display: block;
  font-size: 13px;
  color: var(--forest);
}

.c-info-row p, .c-info-row a {
  font-size: 13.5px;
  color: #555555;
  text-decoration: none;
}

.c-info-row a:hover {
  color: var(--gold);
}

.c-map-box {
  background: #ffffff;
  border-radius: 24px;
  border: 1.5px solid rgba(212, 175, 55, 0.35);
  overflow: hidden;
  box-shadow: 0 15px 35px rgba(14, 56, 44, 0.06);
}

.c-map-box iframe {
  width: 100%;
  height: 260px;
  border: none;
  display: block;
}

.c-map-foot {
  padding: 14px 20px;
  background: #ffffff;
  border-top: 1px solid rgba(14, 56, 44, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: var(--forest);
}

@media (max-width: 992px) {
  .contact-quick-cards {
    grid-template-columns: repeat(2, 1fr);
    margin-top: -30px;
  }
  .contact-split-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 576px) {
  .contact-quick-cards {
    grid-template-columns: 1fr;
  }
  .c-form-body {
    padding: 20px;
  }
}

.account-dropdown { position: relative; list-style: none; }
.account-dropdown summary { list-style: none; cursor: pointer; }
.account-dropdown summary::-webkit-details-marker { display: none; }
.account-dropdown[open] summary { background: rgba(15, 92, 61, 0.08); border-radius: 999px; }
.account-dropdown-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  background: #fff;
  border: 1px solid #e7e7e2;
  border-radius: 10px;
  box-shadow: 0 14px 34px rgba(10, 54, 38, 0.14);
  min-width: 200px;
  overflow: hidden;
  z-index: 80;
}
.account-dropdown-menu a {
  display: block;
  padding: 11px 16px;
  font-size: 13.5px;
  color: #23291f;
  text-decoration: none;
  border-bottom: 1px solid #f1f1ec;
}
.account-dropdown-menu a:last-child { border-bottom: none; }
.account-dropdown-menu a:hover { background: #f4f8f5; color: #0f5c3d; }





