/* =========================================================
   Chandra Kai Manam — Organic Snacks
   Palette: forest green + mustard gold, matching reference layout
========================================================= */
:root{
  --forest:#22461D;        /* primary — rich forest green */
  --forest-2:#3A6430;      /* secondary gradient stop — lighter green */
  --forest-deep:#132810;   /* darkest bg — near-black green */
  --cream:#FBF3E1;         /* page bg — warm cream */
  --cream-2:#F4E7C8;       /* card tint bg */
  --tan:#E9D3A0;           /* mat-texture tan */
  --brown:#22301C;         /* primary text — deep green-charcoal */
  --brown-soft:#6B7259;    /* secondary text — muted olive */
  --gold:#DFA524;          /* accent — mustard gold */
  --gold-soft:#F0C24C;     /* light gold accent */
  --white:#FFFFFF;
  --shadow: 0 16px 32px -16px rgba(19,40,16,0.3);

  /* pouch / accent colour set — cycled across product packaging & icons */
  --hue-1:#4C7A3D; /* leaf green */
  --hue-2:#7A2E3D; /* deep maroon */
  --hue-3:#DFA524; /* mustard */
  --hue-4:#C97A2E; /* burnt orange */
  --hue-5:#2E7A7A; /* teal */
  --hue-6:#A2452F; /* terracotta */
}
.sr-only{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; overflow-x:hidden;}
body{font-family:'Work Sans',sans-serif; background:var(--cream); color:var(--brown);}
h1,h2,h3,h4{font-family:'Fraunces',serif; font-weight:600; color:var(--forest-deep); letter-spacing:-0.01em;}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
ul{list-style:none;}
.wrap{max-width:1280px; margin:0 auto; padding:0 32px;}
.ic{width:18px; height:18px; stroke-width:1.7;}

/* ---------- weave / diamond border strip ---------- */
.weave-border{
  display:none;
}
.weave-border--flip{transform:scaleY(-1);}

/* ---------- topbar ---------- */
.topbar{background:linear-gradient(120deg, var(--gold-soft), var(--gold)); color:var(--forest-deep); font-size:12.5px; font-weight:700;}
.topbar-inner{display:flex; align-items:center; justify-content:center; padding:9px 32px; gap:14px; flex-wrap:wrap;}
.tb-group{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.tb-divider{width:1px; height:16px; background:rgba(19,40,16,0.25); flex-shrink:0;}
.tb-ic{width:14px; height:14px; stroke-width:1.9;}
.tb-social-ic{fill:none; stroke:currentColor;}
.tb-item{display:flex; align-items:center; gap:7px; padding:5px 12px; border-radius:999px; background:rgba(255,255,255,0.28); opacity:0.95; transition:background .15s, opacity .15s;}
.tb-item:hover{opacity:1; background:rgba(255,255,255,0.42);}
.tb-icon-btn{display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,0.28); opacity:0.95; transition:background .15s, opacity .15s; flex-shrink:0;}
.tb-icon-btn:hover{opacity:1; background:rgba(255,255,255,0.42);}
@media (max-width:600px){ .hide-mobile-item{display:none !important;} }
@media (min-width:981px){ .hide-desktop-item{display:none !important;} }
@media (min-width:601px) and (max-width:980px){ .hide-tablet-item{display:none !important;} }
/* Per-device visibility for the whole secondary menu (top bar) */
@media (min-width:981px){ body.hide-topbar-desktop .topbar{display:none !important;} }
@media (min-width:601px) and (max-width:980px){ body.hide-topbar-tablet .topbar{display:none !important;} }
@media (max-width:600px){ body.hide-topbar-mobile .topbar{display:none !important;} }

/* ---------- nav ---------- */
.site-nav{background:var(--white); border-bottom:1px solid rgba(74,58,34,0.1);}
.nav-inner{display:flex; align-items:center; gap:28px; padding:14px 32px;}
.header-tools{display:flex;align-items:center;gap:16px;min-width:0;}
.brand{display:flex; align-items:center; gap:10px; flex-shrink:0;}
.brand-logo-img{display:block; height:42px; width:auto; max-width:180px; object-fit:contain;}
.brand-mark{width:42px; height:42px; border-radius:50%; background:radial-gradient(circle at 35% 30%, var(--forest-2), var(--forest-deep)); display:flex; align-items:center; justify-content:center; color:var(--gold-soft);}
.mark-ic{width:22px; height:22px;}
.brand-text{line-height:1.15;}
.brand-text .en{font-family:'Fraunces',serif; font-weight:700; font-size:20px; display:block; color:var(--forest-deep);}
.brand-text .tag{font-size:10.5px; letter-spacing:0.08em; color:var(--brown-soft);}
.main-links{display:flex; gap:24px; font-size:14px; font-weight:600; color:var(--brown);}
.main-links a{opacity:0.75; display:flex; align-items:center; gap:3px; padding:6px 0; border-bottom:2px solid transparent;}
.main-links a.active, .main-links a:hover{opacity:1; color:var(--forest); border-color:var(--gold);}
.chev-mini{width:12px; height:12px;}
.nav-search{flex:1; max-width:280px; display:flex; align-items:center; gap:9px; background:var(--cream); border-radius:999px; padding:10px 16px; color:var(--brown-soft); position:relative;}
.nav-search-btn{background:none; border:none; padding:0; cursor:pointer; display:flex; align-items:center; color:inherit;}
.ns-ic{width:16px; height:16px;}
.nav-search input{border:none; outline:none; background:transparent; font-size:13px; width:100%; font-family:inherit; color:var(--brown);}
.ajax-search-results{position:absolute; z-index:99999; top:calc(100% + 8px); left:0; width:100%; min-width:320px; max-width:460px; max-height:480px; overflow-y:auto; background:#ffffff; border-radius:14px; box-shadow:0 18px 40px -10px rgba(0,0,0,.28), 0 4px 12px rgba(0,0,0,.06); border:1px solid rgba(0,0,0,.15); box-sizing:border-box; overscroll-behavior:contain; scrollbar-width:thin;}
.shop-search-top, form[data-product-search]{position:relative;}
.ajax-search-section{border-bottom:1px solid rgba(74,58,34,.08);}
.ajax-search-section:last-of-type{border-bottom:0;}
.ajax-search-heading{display:flex; align-items:center; justify-content:space-between; padding:8px 14px; font-size:10.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--forest); background:var(--cream); border-bottom:1px solid rgba(74,58,34,.06);}
.ajax-search-badge{font-size:9.5px; font-weight:700; padding:2px 7px; border-radius:999px; background:rgba(31,79,43,.12); color:var(--forest);}
.ajax-search-group{display:flex; flex-direction:column;}
.ajax-search-item{display:flex; align-items:center; padding:10px 14px; color:var(--forest-deep); text-decoration:none; transition:background .15s ease, transform .1s ease; border-bottom:1px solid rgba(74,58,34,.06); gap:12px;}
.ajax-search-item:last-child{border-bottom:0;}
.ajax-search-item:hover, .ajax-search-item.is-selected{background:var(--cream-2); text-decoration:none;}
.ajax-search-category-icon{width:38px; height:38px; border-radius:50%; background:var(--cream); display:flex!important; align-items:center; justify-content:center; flex-shrink:0; color:var(--forest); border:1px solid rgba(74,58,34,.12);}
.ajax-search-category-icon svg{width:19px; height:19px; stroke:currentColor; display:block;}
.ajax-search-thumb-wrap{width:44px; height:44px; border-radius:8px; overflow:hidden; background:var(--cream); flex-shrink:0; border:1px solid rgba(74,58,34,.12); display:flex; align-items:center; justify-content:center;}
.ajax-search-thumb{width:100%; height:100%; object-fit:cover; display:block;}
.ajax-search-thumb-placeholder{display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:var(--brown-soft);}
.ajax-search-info{flex:1; min-width:0; display:flex; flex-direction:column; gap:3px;}
.ajax-search-title{font-size:13px; font-weight:600; color:var(--forest-deep); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.3;}
.ajax-search-subtitle{font-size:11.5px; color:var(--brown-soft); line-height:1.2;}
.ajax-search-arrow{color:var(--brown-soft); opacity:.5; transition:transform .15s, opacity .15s, color .15s; flex-shrink:0;}
.ajax-search-item:hover .ajax-search-arrow, .ajax-search-item.is-selected .ajax-search-arrow{opacity:1; transform:translateX(3px); color:var(--forest);}
.ajax-search-price-box{display:flex; flex-direction:column; align-items:flex-end; gap:2px; flex-shrink:0;}
.ajax-search-price{font-size:13.5px; font-weight:700; color:var(--forest);}
.ajax-search-compare-price{font-size:11px; color:var(--brown-soft); text-decoration:line-through; font-weight:400;}
.ajax-search-footer{padding:10px 14px; background:var(--cream); border-top:1px solid rgba(74,58,34,.1);}
.ajax-search-view-all{display:flex; align-items:center; justify-content:center; gap:8px; font-size:12px; font-weight:600; color:var(--forest); text-decoration:none;}
.ajax-search-view-all:hover{text-decoration:underline; color:var(--forest-deep);}
.ajax-search-loading{padding:22px 16px; display:flex; align-items:center; justify-content:center; gap:10px; color:var(--brown-soft); font-size:12.5px;}
.ajax-search-spinner{width:18px; height:18px; border:2px solid rgba(31,79,43,.2); border-top-color:var(--forest); border-radius:50%; animation:ajaxSearchSpin .7s linear infinite;}
@keyframes ajaxSearchSpin{to{transform:rotate(360deg);}}
.ajax-search-empty{padding:24px 18px; text-align:center; color:var(--brown-soft); display:flex; flex-direction:column; align-items:center; gap:6px;}
.ajax-search-empty svg{stroke:var(--brown-soft); opacity:.6; margin-bottom:2px;}
.ajax-search-empty p{margin:0; font-size:13px; color:var(--forest-deep);}
.ajax-search-empty small{font-size:11.5px; color:var(--brown-soft);}
@media(max-width:600px){.ajax-search-results{left:0; right:0; min-width:100%; max-width:100%; border-radius:0 0 14px 14px;}}
.nav-icons{display:flex; align-items:center; gap:16px; flex-shrink:0;}
.store-admin-menu{position:relative;flex:0 0 auto;color:var(--forest-deep);font-size:12px;white-space:nowrap;}.store-admin-menu summary{display:flex;align-items:center;gap:6px;list-style:none;cursor:pointer;font-weight:700;padding:4px 7px 4px 4px;border:1px solid rgba(74,58,34,.18);border-radius:999px;background:var(--white);}.store-admin-menu summary::-webkit-details-marker{display:none;}.store-admin-menu summary>.ic{width:13px;height:13px;color:var(--brown-soft);}.store-admin-avatar{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--forest);color:var(--white);}.store-admin-avatar .ic{width:14px;height:14px;}.store-admin-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:120;width:150px;padding:10px;background:var(--white);border:1px solid rgba(74,58,34,.14);border-radius:10px;box-shadow:0 12px 26px -12px rgba(19,40,16,.35);}.store-admin-dropdown span{display:block;margin-bottom:8px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--brown-soft);}.store-admin-dropdown a{display:block;padding:8px 9px;border-radius:7px;color:#b33a32;font-weight:700;}.store-admin-dropdown a:hover{background:#fff1ef;}
.mobile-search-toggle{display:none;}
.nav-toggle{display:none; flex-direction:column; justify-content:center; gap:5px; width:34px; height:34px; padding:0; border:none; background:none; cursor:pointer; flex-shrink:0;}
.nav-toggle span{display:block; width:100%; height:2px; background:var(--forest-deep); border-radius:2px; transition:transform .2s, opacity .2s;}
.site-nav.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.site-nav.nav-open .nav-toggle span:nth-child(2){opacity:0;}
.site-nav.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{display:contents;}
.mobile-nav-social{display:none;}
.mobile-tabbar{display:none;}
.icon-btn{position:relative; color:var(--forest-deep); opacity:0.85;}
.icon-btn:hover{opacity:1;}
.icon-btn svg{width:19px; height:19px; stroke-width:1.7;}
.cart-count{position:absolute; top:-8px; right:-10px; background:var(--gold); color:var(--forest-deep); font-size:9.5px; font-weight:800; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center;}
.cart-count[data-count="0"]{display:none;}

/* =========================================================
   HERO
========================================================= */
.hero{
  background:
    repeating-linear-gradient(45deg, rgba(34,70,29,0.05) 0 2px, transparent 2px 6px),
    repeating-linear-gradient(-45deg, rgba(34,70,29,0.04) 0 2px, transparent 2px 6px),
    linear-gradient(180deg, var(--cream-2), var(--tan));
  padding:56px 0 30px;
  position:relative;
  overflow:hidden;
}
.hero-flower{position:absolute; pointer-events:none; z-index:0; opacity:0.9;}
.hero-flower.tl{top:-30px; left:-30px; width:130px; height:130px;}
.hero-flower.br{bottom:-40px; right:-20px; width:150px; height:150px;}
.hero-inner{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; position:relative; z-index:1;}
.hero-pills{display:flex; gap:10px; margin-bottom:18px;}
.hero-pills span{font-size:11px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; background:var(--white); border:1px solid rgba(34,70,29,0.12); padding:6px 12px; border-radius:999px; color:var(--forest); box-shadow:0 4px 10px -6px rgba(19,40,16,0.2);}
.hero h1{font-size:clamp(30px,4vw,46px); line-height:1.2; color:var(--forest-deep);}
.hero h1 em{font-style:normal; color:var(--gold);}
.hero-copy > p{margin-top:16px; font-size:15px; color:var(--brown-soft); max-width:420px; line-height:1.7;}
.hero-ctas{display:flex; gap:14px; margin-top:26px; flex-wrap:wrap;}
.btn{display:inline-flex; align-items:center; gap:8px; padding:13px 24px; border-radius:999px; font-weight:700; font-size:13.5px; cursor:pointer; border:1.5px solid transparent; transition:transform .2s ease, box-shadow .2s ease; font-family:'Work Sans',sans-serif;}
.btn:hover{transform:translateY(-2px);}
.btn-ic{width:15px; height:15px;}
.btn-primary{background:var(--forest); color:var(--white); box-shadow:var(--shadow);}
.btn-outline{border-color:var(--forest-deep); color:var(--forest-deep); background:transparent;}
.btn-cream{background:var(--cream); color:var(--forest-deep); border-color:var(--forest-deep);}
.btn-dark-sm{background:var(--forest-deep); color:var(--white); padding:10px 18px; font-size:12.5px;}
.btn-block{width:100%; justify-content:center; margin-top:16px;}
.btn-success{background:#25D366; color:var(--white); box-shadow:var(--shadow);}
.btn-success:hover{background:#1EBE5A;}
.checkout-review-later{margin:18px auto 0;max-width:480px;padding:11px 14px;background:var(--cream-2);border-radius:10px;font-size:13px;line-height:1.5;}.checkout-review-later a{font-weight:700;color:var(--forest);}.product-review-form{margin:14px 0;padding:20px;background:var(--cream-2);border-radius:12px;display:grid;gap:12px;}.product-review-form h4{margin:0;}.product-review-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--brown);}.product-review-form select,.product-review-form textarea{font:inherit;padding:10px 12px;border:1px solid rgba(74,58,34,.2);border-radius:8px;background:#fff;}.product-review-form .btn{justify-self:start;}.product-review-complete,.product-review-notice{padding:13px 16px;background:var(--cream-2);border-radius:10px;line-height:1.5;}.product-review-notice{color:var(--brown-soft);}
.design-settings-group{margin-top:22px;border:1px solid rgba(40,64,31,.16);border-radius:12px;background:#fff;overflow:hidden;}.design-settings-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;background:#F7F4EA;font-weight:800;color:var(--forest-deep);}.design-settings-group>summary::-webkit-details-marker{display:none;}.design-settings-group>summary:after{content:'+';font-size:20px;font-weight:400;color:var(--forest);}.design-settings-group[open]>summary:after{content:'−';}.design-settings-group>summary small{margin-left:auto;font-size:12px;font-weight:500;color:var(--brown-soft);}.design-settings-group[open]>summary{border-bottom:1px solid rgba(40,64,31,.12);}.design-settings-group>h3,.design-settings-group>.admin-hint,.design-settings-group>.element-row,.design-settings-group>.view-tabs,.design-settings-group>.view-panel{margin-left:16px;margin-right:16px;}.design-settings-group>h3{margin-bottom:8px;}
.hero-badges{display:flex; gap:22px; margin-top:30px; flex-wrap:wrap;}

.contact-send-options{display:flex; gap:12px; margin-top:8px;}
.contact-send-options .btn{flex:1;}
.hero-badges span{display:flex; align-items:center; gap:7px; font-size:11.5px; font-weight:600; color:var(--brown-soft);}
.hero-badges svg{width:16px; height:16px; stroke:var(--forest);}

/* hero visual: colorful tray of bowls */
.hero-visual{position:relative;}
.hero-photo{
  width:100%; aspect-ratio:1/0.82; border-radius:28px; object-fit:cover;
  box-shadow:var(--shadow); display:block; position:relative;
}
.hero-tray{
  aspect-ratio:1/0.82; border-radius:28px;
  background:linear-gradient(150deg, var(--tan), var(--forest-deep) 120%);
  box-shadow:var(--shadow);
  display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(3,1fr);
  gap:10px; padding:22px;
  position:relative;
}
.hero-tray::before{
  content:''; position:absolute; inset:-10px; border-radius:34px;
  border:3px solid rgba(19,40,16,0.15); pointer-events:none;
}
.tray-bowl{
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--white);
  box-shadow:inset 0 0 0 5px rgba(255,255,255,0.6), 0 8px 16px rgba(19,40,16,0.3);
}
.tray-bowl.b1{background:#C9852E;} .tray-bowl.b1 .bowl-ic{stroke:#fff;}
.tray-bowl.b2{background:#7A4A26;} .tray-bowl.b2 .bowl-ic{stroke:#fff;}
.tray-bowl.b3{background:#E9D3A0;} .tray-bowl.b3 .bowl-ic{stroke:var(--forest-deep);}
.tray-bowl.b4{background:#B0431F;} .tray-bowl.b4 .bowl-ic{stroke:#fff;}
.tray-bowl.b5{background:#DFA524;} .tray-bowl.b5 .bowl-ic{stroke:var(--forest-deep);}
.tray-bowl.b6{background:#5C3A1E;} .tray-bowl.b6 .bowl-ic{stroke:#fff;}
.tray-bowl.b7{background:var(--white);} .tray-bowl.b7 .bowl-ic{stroke:var(--forest-deep);}
.bowl-ic{width:38%; height:38%; stroke-width:1.6;}
.b1{grid-column:2/4; grid-row:1/2;}
.b2{grid-column:1/2; grid-row:1/3;}
.b3{grid-column:2/3; grid-row:2/3;}
.b4{grid-column:3/4; grid-row:2/3;}
.b5{grid-column:1/2; grid-row:3/4;}
.b6{grid-column:2/3; grid-row:3/4;}
.b7{grid-column:3/4; grid-row:3/4;}
.hero-badge-circle{
  position:absolute; bottom:-18px; right:-14px; width:110px; height:110px; border-radius:50%;
  background:var(--white); box-shadow:var(--shadow); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  border:3px solid var(--gold);
}
.hero-badge-circle span{font-family:'Fraunces',serif; font-weight:700; font-size:13px; color:var(--forest); line-height:1.2;}
.hero-badge-circle small{font-size:9px; color:var(--brown-soft); margin-top:3px; max-width:80px;}
.hero-dots{display:flex; justify-content:center; gap:7px; margin-top:26px;}
.hero-dots span{width:7px; height:7px; border-radius:50%; background:rgba(43,27,78,0.2);}
.hero-dots span.on{background:var(--forest); width:20px; border-radius:4px;}

/* =========================================================
   SECTION / HEADINGS
========================================================= */
.section{padding:56px 0;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:30px; flex-wrap:wrap; gap:14px;}
.section-head h2{font-size:clamp(22px,2.6vw,28px);}
.section-head .sub{font-size:13px; color:var(--brown-soft); margin-top:4px;}
.view-all{font-size:13px; font-weight:700; color:var(--forest); display:flex; align-items:center; gap:6px;}
.center-heading{text-align:center; font-size:clamp(20px,2.4vw,26px); display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:34px;}
.h-leaf{width:22px; height:22px; stroke:var(--gold);}
.h-leaf.flip{transform:scaleX(-1);}
.h-leaf.sm{width:17px; height:17px;}

/* =========================================================
   MOODS
========================================================= */
.moods-section{background:var(--cream-2);}
.mood-row-wrap{display:flex; align-items:center; gap:14px;}
.mood-row{display:flex; gap:20px; overflow-x:auto; scroll-behavior:smooth; padding:6px 4px 14px; flex:1;}
.mood-row::-webkit-scrollbar{height:5px;}
.mood-row::-webkit-scrollbar-thumb{background:var(--tan); border-radius:4px;}
.mood-item{flex-shrink:0; text-align:center; width:88px; font-size:12px; font-weight:600; color:var(--brown-soft);}
.mood-circle{
  width:74px; height:74px; border-radius:50%; margin:0 auto 10px; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 20px -12px rgba(19,40,16,0.3);
  transition:transform .2s ease;
}
.mood-item:nth-child(6n+1) .mood-circle{background:color-mix(in srgb, var(--hue-1) 22%, white);}
.mood-item:nth-child(6n+1) .mood-ic{stroke:var(--hue-1);}
.mood-item:nth-child(6n+2) .mood-circle{background:color-mix(in srgb, var(--hue-2) 18%, white);}
.mood-item:nth-child(6n+2) .mood-ic{stroke:var(--hue-2);}
.mood-item:nth-child(6n+3) .mood-circle{background:color-mix(in srgb, var(--hue-3) 22%, white);}
.mood-item:nth-child(6n+3) .mood-ic{stroke:var(--hue-3);}
.mood-item:nth-child(6n+4) .mood-circle{background:color-mix(in srgb, var(--hue-4) 22%, white);}
.mood-item:nth-child(6n+4) .mood-ic{stroke:var(--hue-4);}
.mood-item:nth-child(6n+5) .mood-circle{background:color-mix(in srgb, var(--hue-5) 20%, white);}
.mood-item:nth-child(6n+5) .mood-ic{stroke:var(--hue-5);}
.mood-item:nth-child(6n+6) .mood-circle{background:color-mix(in srgb, var(--hue-6) 25%, white);}
.mood-item:nth-child(6n+6) .mood-ic{stroke:var(--hue-6);}
.mood-item:hover .mood-circle{transform:translateY(-5px) scale(1.05);}
.mood-ic{width:28px; height:28px; stroke-width:1.7;}
.mood-arrow{
  width:38px; height:38px; border-radius:50%; background:var(--forest-deep); color:var(--white);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; cursor:pointer;
}
.mood-arrow svg{width:16px; height:16px;}

/* =========================================================
   PRODUCT GRID
========================================================= */
.product-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.p-card{
  background:var(--white); border-radius:18px; padding:16px; position:relative;
  box-shadow:0 10px 22px -16px rgba(43,27,78,0.25); border:1px solid rgba(43,27,78,0.06);
  transition:transform .25s ease, box-shadow .25s ease;
}

/* ---- Product layout: Horizontal (image left, info right) ---- */
body.pg-horizontal .product-grid{grid-template-columns:1fr;}
body.pg-horizontal .p-card{display:flex; align-items:stretch; gap:16px; padding:12px;}
body.pg-horizontal .p-media{width:140px; flex-shrink:0; margin-bottom:0; height:auto;}
body.pg-horizontal .p-body{flex:1; display:flex; flex-direction:column; justify-content:center;}
body.pg-horizontal .p-tags{top:8px; left:8px;}
body.pg-horizontal .p-wish{top:8px; right:8px;}

/* ---- Product layout: Square (compact, 1:1 image) ---- */
body.pg-square .product-grid{grid-template-columns:repeat(auto-fill, minmax(170px, 1fr));}
body.pg-square .p-media{aspect-ratio:1/1; height:auto;}
body.pg-square .p-body h4{font-size:13px;}
body.pg-square .p-tagline{display:none;}
.p-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.p-tags{position:absolute; top:14px; left:14px; z-index:2; display:flex; flex-direction:row; gap:5px; align-items:center;}
.p-tag{
  background:var(--forest); color:var(--white); font-size:9.5px; font-weight:700; letter-spacing:0.03em;
  text-transform:uppercase; padding:4px 9px; border-radius:999px;
}
.p-tag-more{background:rgba(19,64,31,0.88); width:20px; height:20px; min-width:20px; padding:0; text-align:center; border:0; color:var(--white); cursor:pointer; font-size:10px; line-height:20px;}
.offer-sheet-backdrop{position:fixed; inset:0; z-index:110; display:flex; align-items:flex-end; background:rgba(0,0,0,.38);}
.offer-sheet{width:100%; max-width:480px; margin:0 auto; background:var(--white); border-radius:22px 22px 0 0; padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px)); box-shadow:0 -12px 32px rgba(0,0,0,.18);}
.offer-sheet-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px;}.offer-sheet h3{margin:0;color:var(--forest-deep);}.offer-sheet-close{border:0;background:var(--cream);width:32px;height:32px;border-radius:50%;font-size:20px;cursor:pointer;}.offer-sheet ul{margin:0;padding:0;list-style:none;}.offer-sheet li{padding:11px 0;border-top:1px solid rgba(43,27,78,.1);font-weight:700;color:var(--forest-deep);}
.p-wish{position:absolute; top:14px; right:14px; width:30px; height:30px; border-radius:50%; background:var(--cream); display:flex; align-items:center; justify-content:center; z-index:2;}
.p-wish svg{width:15px; height:15px; stroke:var(--forest-deep);}
.p-wish.active svg{fill:var(--hue-5); stroke:var(--hue-5);}
.p-media{
  height:150px; border-radius:12px; margin-bottom:14px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg, var(--cream-2), var(--cream));
  position:relative; overflow:hidden;
}
.p-photo{width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease;}
.p-card:hover .p-photo{transform:scale(1.05);}
/* Product "photo" placeholder — shown until a real photo is uploaded.
   A full-bleed gradient art card (not a snack-specific bag shape) so it
   reads as a deliberate design choice for any vertical (jewelry, furniture,
   electronics, …), not just food. Layered: base diagonal gradient, a soft
   highlight + shadow for depth, a fine dot texture for a "printed" feel,
   and the category icon floating in a frosted badge on top. */
.pouch{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;}
.pouch::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, var(--hue-1), color-mix(in srgb, var(--hue-1) 45%, black) 130%);
}
.pouch::after{
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(circle at 20% 16%, rgba(255,255,255,0.4), transparent 42%),
    radial-gradient(circle at 88% 92%, rgba(0,0,0,0.18), transparent 48%),
    radial-gradient(rgba(255,255,255,0.22) 1px, transparent 1.4px);
  background-size:auto, auto, 13px 13px;
}
.pouch-label{
  position:relative; z-index:1;
  width:56px; height:56px; background:rgba(255,255,255,0.94); border-radius:50%;
  display:flex; align-items:center; justify-content:center; box-shadow:0 8px 18px -6px rgba(0,0,0,0.4);
}
.pouch-label svg{width:26px; height:26px; stroke-width:1.6;}
.p-card:nth-child(6n+1) .pouch::before{background:linear-gradient(135deg, var(--hue-1), color-mix(in srgb, var(--hue-1) 45%, black) 130%);}
.p-card:nth-child(6n+1) .pouch-label svg{stroke:var(--hue-1);}
.p-card:nth-child(6n+2) .pouch::before{background:linear-gradient(135deg, var(--hue-2), color-mix(in srgb, var(--hue-2) 45%, black) 130%);}
.p-card:nth-child(6n+2) .pouch-label svg{stroke:var(--hue-2);}
.p-card:nth-child(6n+3) .pouch::before{background:linear-gradient(135deg, var(--hue-3), color-mix(in srgb, var(--hue-3) 45%, black) 130%);}
.p-card:nth-child(6n+3) .pouch-label svg{stroke:var(--hue-3);}
.p-card:nth-child(6n+4) .pouch::before{background:linear-gradient(135deg, var(--hue-4), color-mix(in srgb, var(--hue-4) 45%, black) 130%);}
.p-card:nth-child(6n+4) .pouch-label svg{stroke:var(--hue-4);}
.p-card:nth-child(6n+5) .pouch::before{background:linear-gradient(135deg, var(--hue-5), color-mix(in srgb, var(--hue-5) 45%, black) 130%);}
.p-card:nth-child(6n+5) .pouch-label svg{stroke:var(--hue-5);}
.p-card:nth-child(6n+6) .pouch::before{background:linear-gradient(135deg, var(--hue-6), color-mix(in srgb, var(--hue-6) 45%, black) 130%);}
.p-card:nth-child(6n+6) .pouch-label svg{stroke:var(--hue-6);}
.p-ic{width:46px; height:46px; stroke-width:1.5;}
.p-body h4{font-size:15px; font-weight:700; font-family:'Work Sans',sans-serif; color:var(--forest-deep);}
.p-tagline{font-size:12px; color:var(--brown-soft); margin-top:3px;}
.p-farmer{display:flex; align-items:center; gap:9px; margin-top:12px; font-size:11px; color:var(--brown-soft); line-height:1.4;}
.f-avatar{
  width:28px; height:28px; border-radius:50%; background:var(--hue-4); color:var(--white);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:12px; flex-shrink:0;
}
.p-card:nth-child(6n+1) .f-avatar{background:var(--hue-1);}
.p-card:nth-child(6n+2) .f-avatar{background:var(--hue-2);}
.p-card:nth-child(6n+3) .f-avatar{background:var(--hue-3);}
.p-card:nth-child(6n+4) .f-avatar{background:var(--hue-4);}
.p-card:nth-child(6n+5) .f-avatar{background:var(--hue-5);}
.p-card:nth-child(6n+6) .f-avatar{background:var(--hue-6); color:var(--forest-deep);}
.f-avatar.lg{width:44px; height:44px; font-size:16px; margin-right:-10px; border:2px solid var(--white);}
.p-foot{display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding-top:14px; border-top:1px dashed rgba(43,27,78,0.12);}
.p-price{display:flex; align-items:baseline; gap:6px;}
.p-price s{font-size:11px; color:#b3a5c9;}
.p-price b{font-family:'Fraunces',serif; font-size:17px; color:var(--forest-deep);}
.p-actions{display:flex; align-items:center; gap:8px;}
.qty-btn{width:26px; height:26px; border-radius:50%; border:1px solid rgba(43,27,78,0.15); background:var(--cream); display:flex; align-items:center; justify-content:center; cursor:pointer;}
.qty-btn svg{width:12px; height:12px;}
.add-btn{width:32px; height:32px; border-radius:50%; background:var(--forest); color:var(--white); border:none; display:flex; align-items:center; justify-content:center; cursor:pointer;}
.add-btn:hover{background:var(--gold); color:var(--forest-deep);}
.add-btn svg{width:15px; height:15px;}
.add-btn.added{background:var(--gold);}
@keyframes bump{ 0%{transform:scale(1);} 40%{transform:scale(1.35);} 100%{transform:scale(1);} }
.cart-count.bump{animation:bump .35s ease;}



/* =========================================================
   TWO COLUMN BAND (ingredient + farm to home)
========================================================= */
.two-col-band{display:grid; grid-template-columns:0.85fr 1.6fr; gap:24px;}
.ingredient-card{
  background:linear-gradient(160deg, var(--forest), var(--forest-deep));
  border-radius:22px; padding:34px; color:var(--cream); display:flex; flex-direction:column; justify-content:flex-end; min-height:280px;
}
.ingredient-card h3{color:var(--white); font-size:22px;}
.ingredient-card p{font-size:13px; opacity:0.8; margin:10px 0 20px; max-width:220px;}
.farm-card{background:var(--white); border-radius:22px; padding:30px; box-shadow:0 10px 22px -16px rgba(28,46,22,0.2);}
.farm-card > h3{text-align:center; display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:26px; font-size:19px;}
.farm-landscape{position:relative; overflow:hidden; background:linear-gradient(180deg, #FBF4E0, #F3E6C4);}
.farm-scene{position:absolute; bottom:0; left:0; width:100%; height:62%; z-index:0;}
.farm-landscape > h3, .farm-landscape > .farm-steps{position:relative; z-index:1;}
.farm-landscape .fs-ic{background:var(--white); box-shadow:0 8px 16px -8px rgba(28,46,22,0.35);}
.farm-steps{display:flex; align-items:flex-start; gap:6px; overflow-x:auto; padding-bottom:6px;}
.fstep{flex-shrink:0; width:120px; text-align:center;}
.fs-ic{width:44px; height:44px; border-radius:50%; background:var(--cream); display:flex; align-items:center; justify-content:center; margin:0 auto 10px; color:var(--forest);}
.fs-ic svg{width:20px; height:20px;}
.fstep b{display:block; font-size:12.5px; font-family:'Work Sans',sans-serif; color:var(--forest-deep); margin-bottom:4px;}
.fstep small{font-size:10.5px; color:var(--brown-soft); line-height:1.4;}
.fs-arrow{flex-shrink:0; width:20px; color:var(--gold); margin-top:12px;}
.fs-arrow svg{width:16px; height:16px;}

/* =========================================================
   THREE COLUMN BAND (mini cards)
========================================================= */
.three-col-band{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.mini-card{background:var(--white); border-radius:20px; padding:26px; box-shadow:0 10px 22px -16px rgba(28,46,22,0.2);}
.mini-card h4{font-size:18px; margin-bottom:8px;}
.mini-card p{font-size:12.5px; color:var(--brown-soft); margin-bottom:18px; line-height:1.6;}
.stats-card{background:var(--forest-deep); color:var(--cream);}
.stats-card h4{color:var(--white); margin-bottom:18px;}
.stats-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.stat{display:flex; flex-direction:column; gap:4px;}
.stat svg{width:18px; height:18px; stroke:var(--gold-soft);}
.stat b{font-family:'Fraunces',serif; font-size:20px; color:var(--white);}
.stat span{font-size:10.5px; color:rgba(244,234,210,0.65);}

/* Exactly --testi-cols cards visible per view (admin-set per device in
   Design > Testimonial Styling, injected as --testi-cols in header.php).
   The flex-basis calc() below always sums the N cards + (N-1) gaps to
   precisely 100% of the strip, so with --testi-cols:1 the single card
   fills the strip edge-to-edge and every other card lands fully outside
   the overflow:hidden-equivalent scrollport — no partial peek at any N. */
.testi-carousel-wrap{position:relative;}
.testi-strip{
  display:flex; align-items:stretch; gap:var(--testi-gap,16px); overflow-x:auto;
  scroll-snap-type:x mandatory; scroll-behavior:smooth;
  padding:6px 0 10px;
}
.testi-strip::-webkit-scrollbar{display:none;}
.testi-strip{-ms-overflow-style:none; scrollbar-width:none;}
.sec-testimonials .testi-card{
  flex:0 0 calc((100% - (var(--testi-gap,16px) * (var(--testi-cols,1) - 1))) / var(--testi-cols,1));
  scroll-snap-align:start;
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  background:var(--white); border-radius:24px; padding:44px 48px;
  box-shadow:0 10px 22px -16px rgba(28,46,22,0.2);
}
.sec-testimonials .quote-mark{font-family:'Fraunces',serif; font-size:34px; color:var(--gold); line-height:1; margin-bottom:14px;}
.sec-testimonials .testi-card p{font-size:15px; line-height:1.7; color:var(--brown-soft); max-width:520px; margin:0 0 22px;}
.testi-who{display:flex; align-items:center; justify-content:center; gap:12px;}
.testi-who b{display:block; font-size:13.5px; color:var(--brown);}
.testi-who small{font-size:11.5px; color:var(--brown-soft);}
.sec-testimonials .f-avatar{width:36px; height:36px; font-size:14px;}
.testi-arrow{display:none;} /* replaced by dot navigation */
.testi-dots{display:flex; justify-content:center; align-items:center; gap:8px; margin-top:22px;}
.testi-dots span{width:8px; height:8px; border-radius:50%; background:var(--tan); cursor:pointer; transition:width .2s ease, background .2s ease;}
.testi-dots span.on{background:var(--forest); width:24px; border-radius:5px;}
@media (max-width:980px){
  .sec-testimonials .testi-card{padding:34px 26px;}
}
@media (max-width:600px){
  .testi-strip{--testi-gap:12px;}
  .sec-testimonials .testi-card{padding:28px 20px; border-radius:18px;}
  .sec-testimonials .quote-mark{font-size:28px;}
  .sec-testimonials .testi-card p{font-size:13.5px;}
}

.farmers-card{text-align:left;}
.farmer-avatars{display:flex; margin-bottom:18px;}
.club-card{background:linear-gradient(160deg, var(--gold-soft), var(--gold)); color:var(--forest-deep);}
.club-card h4{color:var(--forest-deep);}

/* =========================================================
   TRUST STRIP
========================================================= */
.trust-strip{background:var(--cream-2); padding:26px 0;}
.trust-row{display:flex; justify-content:space-between; flex-wrap:wrap; gap:18px;}
.t-item{display:flex; align-items:center; gap:10px; font-size:12px; font-weight:600; color:var(--brown-soft);}
.t-item svg{width:22px; height:22px; stroke:var(--forest);}

/* =========================================================
   FOOTER
========================================================= */
.site-footer{background:var(--forest-deep); color:rgba(244,234,210,0.75); padding-top:50px;}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(var(--footer-cols,5),1fr);
  gap:var(--footer-gap,32px);
  padding-bottom:var(--footer-pad-bottom,36px);
}
.f-brand .brand-text .en{color:var(--white);}
.f-brand .brand-text .tag{color:var(--gold-soft);}
.f-brand .brand{display:inline-flex; flex-wrap:nowrap; max-width:100%;}
.f-brand .brand-logo-img{flex:0 0 auto; height:42px; max-width:96px;}
.f-brand .brand-text{min-width:0;}
.f-brand p{font-size:12.5px; margin:14px 0; line-height:1.7;}
.f-social{display:flex; gap:10px; align-items:center;}
.f-social a{width:34px; height:34px; border-radius:50%; background:rgba(244,234,210,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-sizing:border-box; line-height:1; text-decoration:none; padding:0;}
.f-social a svg{display:block; width:16px; height:16px; stroke:var(--cream); fill:none; stroke-width:1.8;}
.f-social a:hover{background:var(--gold);}
.f-social a:hover svg{stroke:var(--forest-deep);}

/* Heading styles for all h1-h6 in footer columns */
.f-col h1,
.f-col h2,
.f-col h3,
.f-col h4,
.f-col h5,
.f-col h6{
  color:var(--white);
  font-family:'Fraunces',serif;
  font-weight:600;
  margin-bottom:14px;
}
.f-col h1{font-size:28px;}
.f-col h2{font-size:24px;}
.f-col h3{font-size:20px;}
.f-col h4{font-size:17px;}
.f-col h5{font-size:14.5px;}
.f-col h6{font-size:13px;}

/* Rich text content in footer columns */
.f-col-text{font-size:13px; color:rgba(244,234,210,0.75); line-height:1.6;}
.f-col-text p{margin:0 0 0.75em;}
.f-col-text p:last-child{margin-bottom:0;}
.f-col-text a{color:var(--gold-soft); text-decoration:underline;}
.f-col-text a:hover{color:var(--gold);}
.f-col-text ul,
.f-col-text ol{margin:0.5em 0 0.5em 1.5em;}
.f-col-text li{margin:0.25em 0;}

.f-col > a{display:block; font-size:12.5px; margin-bottom:9px;}
.f-col > a:hover{color:var(--gold-soft);}
.f-contact address{margin:0 0 13px; font-size:12.5px; font-style:normal; line-height:1.7;}
.f-contact a{display:block; font-size:12.5px; margin-bottom:9px; overflow-wrap:anywhere;}
.f-map iframe{display:block; width:100%; min-height:190px; border:0; border-radius:10px; background:rgba(244,234,210,.1);}
.f-news p{font-size:12px; margin-bottom:14px;}
.f-news-form{display:flex; gap:0; border:1px solid rgba(244,234,210,0.25); border-radius:999px; overflow:hidden;}
.f-news-form input{flex:1; background:transparent; border:none; outline:none; padding:11px 16px; color:var(--cream); font-size:12.5px; font-family:inherit;}
.f-news-form button{background:var(--gold); border:none; width:40px; display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--forest-deep);}
.f-news-form button svg{width:15px; height:15px;}
.f-note{font-size:10.5px; opacity:0.55; display:block; margin-top:8px;}
.footer-bottom{border-top:1px solid rgba(244,234,210,0.12); padding:18px 32px; display:flex; justify-content:space-between; font-size:11.5px; flex-wrap:wrap; gap:8px;}
.footer-bottom a{opacity:0.8;}


/* =========================================================
   CART / CHECKOUT PAGES
========================================================= */
.page-title{display:flex; align-items:center; gap:10px; font-size:24px; margin-bottom:28px;}
.empty-state{text-align:center; padding:60px 20px; background:var(--white); border-radius:20px;}
.empty-state p{margin-bottom:18px; color:var(--brown-soft);}
.success-state .big-ic{width:48px; height:48px; stroke:var(--forest); margin-bottom:14px;}
.success-state h2{margin-bottom:10px;}
.success-state p{margin-bottom:22px;}
.cart-layout{display:grid; grid-template-columns:1.6fr 1fr; gap:26px; align-items:flex-start;}
.cart-main-column{display:grid;gap:12px;min-width:0;}
.cart-list{background:var(--white); border-radius:18px; padding:8px; box-shadow:0 10px 22px -16px rgba(28,46,22,0.2);}
.cart-row{display:grid; grid-template-columns:56px 1fr auto auto 30px; align-items:center; gap:16px; padding:14px; border-bottom:1px dashed rgba(74,58,34,0.12);}
.cart-row:last-child{border-bottom:none;}
.cr-media{width:56px; height:56px; border-radius:12px; background:var(--cream-2); display:flex; align-items:center; justify-content:center;}
.cr-media img{width:100%; height:100%; object-fit:cover; border-radius:inherit;}
.cr-media svg{width:26px; height:26px; stroke:var(--forest-deep);}
.cr-body h4{font-size:14px;}
.cr-unit{font-size:11px; color:var(--brown-soft);}
/* Cart page quantity selector - matches new design */
.cr-qty{display:flex; align-items:center; gap:0; height:40px; background:linear-gradient(135deg, var(--cream-2) 0%, var(--cream) 100%); border:1px solid rgba(74,58,34,.12); border-radius:12px; padding:0 2px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.8), inset 0 -1px 0 rgba(74,58,34,0.05);}
.cr-qty .qty-btn{width:36px; height:36px; display:grid; place-items:center; flex-shrink:0; border:0; border-radius:10px; background:transparent; color:var(--forest-deep); cursor:pointer; transition:background-color 0.15s ease, color 0.15s ease, transform 0.1s ease;}
.cr-qty .qty-btn:hover{background:rgba(34,70,29,0.1); color:var(--forest); transform:scale(1.08);}
.cr-qty .qty-btn:active{transform:scale(0.95);}
.cr-qty .qty-btn svg{width:16px; height:16px; stroke-width:2;}
.cr-qty .cr-qty-val{flex:1; text-align:center; font-family:'Fraunces', serif; font-size:15px; font-weight:700; color:var(--forest-deep); min-width:28px; user-select:none; line-height:1; padding:0 4px;}
.cr-qty .qty-btn:first-child{border-radius:10px 0 0 10px;}
.cr-qty .qty-btn:last-child{border-radius:0 10px 10px 0;}
.cr-price{font-family:'Fraunces',serif; font-weight:700; font-size:15px; white-space:nowrap;}
.cr-remove{background:none; border:none; font-size:20px; color:#C4463B; cursor:pointer;}
.cart-summary{background:var(--white); border-radius:18px; padding:24px; box-shadow:0 10px 22px -16px rgba(28,46,22,0.2); position:sticky; top:20px;}
.cart-summary h3{font-size:17px; margin-bottom:16px;}
.sum-row{display:flex; justify-content:space-between; font-size:13.5px; padding:9px 0; color:var(--brown-soft);}
.sum-total{border-top:1px solid rgba(74,58,34,0.15); margin-top:6px; padding-top:14px; font-weight:800; color:var(--forest-deep); font-size:15px;}
.sum-discount{color:#1E7A32;}
.cart-coupon-box{margin-bottom:14px;}
.cart-coupon-box-left{margin:14px 6px 6px; padding:14px; border-top:1px dashed rgba(74,58,34,.14); background:var(--cream-2); border-radius:12px;}
.cart-coupon-card{width:min(100%,430px);padding:14px 16px;background:var(--white);border:1px solid rgba(74,58,34,.11);border-radius:14px;box-shadow:0 10px 22px -18px rgba(28,46,22,.24);}
.cart-coupon-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;}
.cart-coupon-heading h3{margin:0;font-size:15px;}
.cart-coupon-heading span{color:var(--brown-soft);font-size:10.5px;}
.cart-coupon-form{display:flex; gap:8px;}
.cart-coupon-form input[type="text"]{flex:1; min-width:0; padding:9px 12px; border:1px solid rgba(74,58,34,0.2); border-radius:8px; font-size:13px;}
.cart-coupon-applied{display:flex; align-items:center; justify-content:space-between; gap:8px; background:rgba(30,122,50,0.08); border:1px solid rgba(30,122,50,0.25); border-radius:8px; padding:9px 12px; font-size:13px;}
.cart-coupon-applied b{color:#1E7A32;}
.btn-link-remove{background:none; border:none; color:var(--brown-soft); text-decoration:underline; font-size:12px; cursor:pointer; padding:0;}
.cart-limit-notice{background:#FBEFEA; border:1px solid rgba(196,70,59,0.25); border-radius:10px; padding:10px 12px; margin-top:14px;}
.cart-limit-notice p{font-size:12.5px; color:#C4463B; margin:0;}
.cart-limit-notice p + p{margin-top:6px;}
.btn-disabled{opacity:0.5; cursor:not-allowed; pointer-events:none;}
.checkout-form{background:var(--white); border-radius:18px; padding:26px; display:flex; flex-direction:column; gap:16px; box-shadow:0 10px 22px -16px rgba(28,46,22,0.2);}
.checkout-form label{font-size:12.5px; font-weight:700; color:var(--brown); display:flex; flex-direction:column; gap:6px;}
.checkout-form input, .checkout-form textarea, .checkout-form select{border:1px solid rgba(74,58,34,0.2); border-radius:10px; padding:11px 14px; font-family:inherit; font-size:13.5px; outline:none; width:100%; background:var(--white);}
.checkout-form input:focus, .checkout-form textarea:focus, .checkout-form select:focus{border-color:var(--forest);}
.form-error{background:#FCE6E3; color:#8C2E22; padding:12px 16px; border-radius:10px; margin-bottom:20px; font-size:13px;}
.form-success{background:#E1F3E4; color:#1E7A32; padding:12px 16px; border-radius:10px; margin-bottom:20px; font-size:13px;}
.req{color:#E5484D; margin-left:2px;}
.field-error{color:#C53030; font-size:12px; margin:6px 0 0; display:block;}
.input-invalid{border-color:#E5484D!important;}
.contact-whatsapp-continue{margin-top:10px;}

/* =========================================================
   SHARED: breadcrumb, eyebrow, result count, chips
========================================================= */
.breadcrumb{font-size:12px; color:var(--brown-soft); margin-bottom:22px;}
.breadcrumb a{color:var(--brown-soft);}
.breadcrumb a:hover{color:var(--forest);}
.breadcrumb span{color:var(--forest-deep); font-weight:600;}
.eyebrow-line{font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:4px;}
.result-count{font-size:12.5px; color:var(--brown-soft); font-weight:600;}
.chip{padding:9px 18px; border-radius:999px; border:1px solid rgba(74,58,34,0.15); font-size:12.5px; font-weight:700; color:var(--brown-soft); background:var(--white);}
.chip.active, .chip:hover{background:var(--forest); color:var(--white); border-color:var(--forest);}

/* =========================================================
   PRODUCT DETAIL PAGE
========================================================= */
.product-detail{display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr); gap:56px; align-items:flex-start;}
.sec-product-detail > .wrap > .breadcrumb{display:none;}
.pd-media{position:relative;}
.pd-media-main{
  aspect-ratio:1/0.94; border-radius:14px;
  background:linear-gradient(180deg, var(--cream-2), var(--cream));
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow);
  overflow:hidden;
}
.pd-photo{width:100%; height:100%; object-fit:cover;}
.pouch-lg{width:170px; height:250px;}
.pouch-label-lg{width:120px; height:96px;}
.pouch-label-lg svg{width:56px; height:56px;}
.pd-media .pouch{background:linear-gradient(160deg, var(--hue-1), color-mix(in srgb, var(--hue-1) 70%, black));}
.pd-media .pouch-label svg{stroke:var(--hue-1);}
.pd-ic{width:30%; height:30%; stroke:#fff; stroke-width:1.3;}
.pd-organic-tag{position:absolute; top:16px; left:16px; background:var(--forest); color:var(--white); font-size:11.5px; font-weight:700; padding:7px 14px; border-radius:999px; display:flex; align-items:center; gap:6px;}
.pd-organic-tag svg{width:14px; height:14px;}
.pd-eyebrow{font-size:12px;color:#bd4b27;font-weight:700;margin-bottom:6px;}
.pd-info{display:flex;flex-direction:column;}.pd-info h1{font-size:clamp(28px,3vw,36px);line-height:1.08;}
.pd-tagline{font-size:14px; color:var(--brown-soft); margin-top:6px;}
.pd-rating{display:flex; align-items:center; gap:8px; margin-top:14px; font-size:13px; color:var(--brown-soft);}
.stars-fill{color:var(--gold); letter-spacing:1px;}
.pd-price-row{display:flex; align-items:baseline; gap:10px; margin-top:18px;}
.pd-price-row s{font-size:14px; color:#a99b83;}
.pd-price-row b{font-family:'Fraunces',serif; font-size:30px; color:var(--forest-deep);}
.pd-unit{font-size:12.5px; color:var(--brown-soft);}
.pd-desc{margin-top:16px; font-size:14px; line-height:1.75; color:var(--brown-soft); max-width:480px;}
.pd-farmer-block{display:flex; align-items:center; gap:12px; margin-top:22px; background:var(--cream-2); border-radius:14px; padding:14px 16px;}
.pd-farmer-label{display:block; font-size:11px; color:var(--brown-soft);}
.pd-farmer-village{display:block; font-size:12px; color:var(--brown-soft);}
.pd-actions{display:flex; align-items:center; gap:12px; margin-top:16px; flex-wrap:nowrap;}
.pd-actions #pdAddToCart{flex:1;min-width:180px;display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.pd-actions #pdAddToCart .btn-ic{order:-1;}
.pd-pincode-check{display:flex;align-items:center;gap:9px;margin-top:14px;padding:0 12px;height:42px;border:1px dashed rgba(74,58,34,.2);border-radius:12px;color:var(--brown-soft);}.pd-pincode-check svg{width:16px;height:16px;stroke:var(--forest);flex:0 0 auto;}.pd-pincode-check input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--brown);font:inherit;font-size:13px;}.pd-pincode-check button{border:0;background:transparent;color:var(--forest-deep);font:inherit;font-size:12px;font-weight:800;cursor:pointer;}.pd-pincode-check.is-valid{border-color:rgba(30,122,50,.35);background:rgba(30,122,50,.05);}
/* Mobile/Tablet Quantity Selector - matches desktop design */
.pd-qty{display:flex; align-items:center; gap:0; height:44px; background:linear-gradient(135deg, var(--cream-2) 0%, var(--cream) 100%); border:1px solid rgba(74,58,34,.12); border-radius:14px; padding:0 2px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.8), inset 0 -1px 0 rgba(74,58,34,0.05), 0 4px 12px -4px rgba(34,70,29,0.08); transition:box-shadow 0.2s ease, border-color 0.2s ease;}
.pd-qty:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,0.9), inset 0 -1px 0 rgba(74,58,34,0.08), 0 6px 16px -4px rgba(34,70,29,0.12); border-color:rgba(74,58,34,0.2);}
.pd-qty:focus-within{border-color:var(--forest); box-shadow:inset 0 1px 0 rgba(255,255,255,0.9), 0 0 0 3px rgba(34,70,29,0.15), 0 6px 16px -4px rgba(34,70,29,0.12);}
.pd-qty .qty-btn{width:36px; height:36px; display:grid; place-items:center; flex-shrink:0; border:0; border-radius:10px; background:transparent; color:var(--forest-deep); cursor:pointer; transition:background-color 0.15s ease, color 0.15s ease, transform 0.1s ease;}
.pd-qty .qty-btn:hover{background:rgba(34,70,29,0.1); color:var(--forest); transform:scale(1.08);}
.pd-qty .qty-btn:active{transform:scale(0.95);}
.pd-qty .qty-btn svg{width:16px; height:16px; stroke-width:2; transition:stroke 0.15s ease;}
.pd-qty .qty-btn:hover svg{stroke:var(--forest);}
.pd-qty #pdQty{flex:1; text-align:center; font-family:'Fraunces', serif; font-size:16px; font-weight:700; color:var(--forest-deep); min-width:28px; user-select:none; line-height:1; padding:0 4px;}
.pd-qty .qty-btn:first-child{border-radius:10px 0 0 10px;}
.pd-qty .qty-btn:last-child{border-radius:0 10px 10px 0;}
.pd-wish.active{background:transparent!important; color:#C4463B; border-color:#C4463B;}
.pd-wish.active svg{fill:#C4463B; stroke:#C4463B;}
.pd-badges{display:flex; gap:20px; margin-top:26px; flex-wrap:wrap;}
.pd-badges span{display:flex; align-items:center; gap:7px; font-size:11.5px; color:var(--brown-soft); font-weight:600;}
.pd-badges svg{width:16px; height:16px; stroke:var(--forest);}
.pd-benefit b{font:inherit; font-weight:700;}
.pd-benefit small{font:inherit; font-size:inherit; color:inherit;}
.pd-tabs{order:20;width:calc(186% + 56px);margin-left:calc(-86% - 56px);margin-top:28px;}

/* =========================================================
   AUTH PAGES (login / register)
========================================================= */
.auth-section{display:flex; justify-content:center;}
.auth-card{background:var(--white); border-radius:22px; padding:36px; max-width:420px; margin:0 auto; box-shadow:var(--shadow);}
.auth-card h2{text-align:center; display:flex; align-items:center; justify-content:center; gap:10px; font-size:22px;}
.auth-sub{text-align:center; font-size:12.5px; color:var(--brown-soft); margin:8px 0 22px;}
.auth-form{display:flex; flex-direction:column; gap:16px;}
.auth-form label{font-size:12.5px; font-weight:700; color:var(--brown); display:flex; flex-direction:column; gap:6px;}
.auth-form input, .auth-form textarea, .auth-form select{border:1px solid rgba(74,58,34,0.2); border-radius:10px; padding:11px 14px; font-family:inherit; font-size:13.5px; outline:none; width:100%; background:var(--white);}
.auth-form input:focus, .auth-form textarea:focus, .auth-form select:focus{border-color:var(--forest);}
.auth-input-wrap{position:relative; display:block; width:100%;}.auth-field-icon{position:absolute; left:13px; top:50%; width:16px; height:16px; color:#8798ad; transform:translateY(-50%); pointer-events:none; z-index:1;}.auth-form .auth-input-wrap input,.auth-form .auth-input-wrap select{padding-left:40px;}.auth-form .auth-input-wrap textarea{padding-left:40px;}.auth-textarea-wrap .auth-field-icon{top:16px; transform:none;}.password-toggle{position:absolute; right:9px; top:50%; width:30px; height:30px; transform:translateY(-50%); display:grid; place-items:center; padding:0; border:0; border-radius:7px; background:transparent; color:#71849a; cursor:pointer; z-index:2;}.password-toggle:hover,.password-toggle:focus-visible{background:#edf4ee; color:var(--forest); outline:none;}.password-toggle svg{width:17px; height:17px;}.auth-form .auth-input-wrap:has(.password-toggle) input{padding-right:43px;}.auth-form .auth-input-wrap select{appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--brown-soft) 50%),linear-gradient(135deg,var(--brown-soft) 50%,transparent 50%); background-position:calc(100% - 16px) 18px,calc(100% - 11px) 18px; background-size:5px 5px,5px 5px; background-repeat:no-repeat;}.auth-card{border:1px solid rgba(74,58,34,.10); box-shadow:0 14px 32px -24px rgba(28,46,22,.30);}.auth-form input:focus,.auth-form textarea:focus,.auth-form select:focus{box-shadow:0 0 0 3px rgba(31,79,43,.10);}
.checkbox-label{flex-direction:row !important; align-items:center; justify-content:flex-start; gap:8px !important; font-weight:600 !important; cursor:pointer;}
.auth-form .checkbox-label input{width:16px; height:16px; min-width:16px; flex:0 0 16px; margin:0; padding:0; accent-color:var(--forest);}
.auth-switch{text-align:center; font-size:12.5px; color:var(--brown-soft); margin-top:18px;}
.auth-switch a{color:var(--forest); font-weight:700;}
.account-details-card h4{margin-bottom:4px;}.account-details-intro{margin:0 0 17px; color:var(--brown-soft); font-size:12px;}.account-profile-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}.account-email-field{grid-column:1 / -1;}.account-phone-wrap{display:flex; align-items:center; overflow:hidden; border:1px solid rgba(74,58,34,.2); border-radius:10px; background:var(--white);}.account-phone-wrap>span{align-self:stretch; display:flex; align-items:center; padding:0 10px; border-right:1px solid rgba(74,58,34,.11); background:#f3f6f7; color:var(--forest); font-size:12px; font-weight:700;}.account-phone-wrap i{display:grid; place-items:center; margin-left:10px; color:#8798ad;}.account-phone-wrap i svg{width:16px;height:16px;}.auth-form .account-phone-wrap input{border:0; box-shadow:none; padding-left:9px;}.account-phone-wrap:focus-within{border-color:var(--forest); box-shadow:0 0 0 3px rgba(31,79,43,.1);}.auth-form [data-profile-save]:disabled{opacity:.48; cursor:not-allowed;}.password-guidance{display:block; margin-top:7px; color:var(--brown-soft); font-size:11px; font-weight:500; line-height:1.4;}.password-guidance.is-strong{color:#1e7a32;font-weight:700;}

/* =========================================================
   ACCOUNT LAYOUT
========================================================= */
.account-layout{display:grid; grid-template-columns:220px 1fr; gap:26px; align-items:flex-start;}
.account-nav{background:var(--white); border-radius:16px; padding:14px; box-shadow:0 10px 22px -16px rgba(28,46,22,0.2); display:flex; flex-direction:column; gap:2px;}
.account-nav a{display:flex; align-items:center; gap:10px; padding:11px 12px; border-radius:10px; font-size:13.5px; font-weight:600; color:var(--brown-soft);}
.account-nav a svg{width:16px; height:16px;}
.account-nav a:hover, .account-nav a.active{color:var(--forest-deep);}
.account-nav .logout-link{color:#C4463B; margin-top:8px; border-top:1px solid rgba(74,58,34,0.1); padding-top:14px;}
.account-welcome{display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 24px; border-radius:18px; background:var(--white); box-shadow:0 10px 22px -16px rgba(28,46,22,.2);}.account-kicker{display:block; color:var(--gold); font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase;}.account-welcome h3{margin:5px 0; font-size:20px;}.account-welcome p{margin:0; color:var(--brown-soft); font-size:12px;}.account-summary-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:16px 0;}.account-summary-card{display:flex; align-items:center; gap:10px; padding:14px; border-radius:13px; background:var(--white); color:var(--forest-deep); transition:transform .18s ease,background .18s ease;}.account-summary-card:hover{transform:translateY(-2px); background:#fcfaf5;}.account-summary-card>svg{width:19px;height:19px;color:var(--gold);}.account-summary-card span{display:flex; flex-direction:column; gap:2px;}.account-summary-card b{font-family:'Fraunces',serif; font-size:20px;}.account-summary-card small{font-size:11.5px;color:var(--brown-soft);font-weight:700;}.account-quick-actions{display:grid; grid-template-columns:1fr 1fr; gap:12px;}.account-quick-actions>a{display:flex; align-items:center; gap:10px; padding:13px 15px; border:1px solid rgba(74,58,34,.12); border-radius:13px; background:var(--white); color:var(--forest-deep);}.account-quick-actions>a>svg:first-child{width:18px;height:18px;color:var(--green);}.account-quick-actions span{display:flex; flex:1; flex-direction:column;gap:2px;}.account-quick-actions b{font-size:12px;}.account-quick-actions small{font-size:10.5px;color:var(--brown-soft);}.account-quick-actions>a>svg:last-child{width:15px;height:15px;}.account-recent-orders{display:flex; flex-direction:column; gap:9px;}.account-recent-order{display:grid; grid-template-columns:minmax(160px,1fr) auto auto 16px; align-items:center; gap:16px; padding:14px 15px; border-radius:13px; background:var(--white); color:var(--forest-deep); box-shadow:0 8px 18px -16px rgba(28,46,22,.25);}.account-recent-order:hover{background:#fcfaf5;}.account-recent-order>div>b{font-family:'Fraunces',serif;font-size:14px;}.account-recent-order>svg{width:14px;height:14px;color:var(--brown-soft);}.account-recent-order>b{font-size:14px;}
.account-manage-section{margin:18px 0 12px;}.account-manage-heading{display:flex; align-items:center; justify-content:space-between; margin-bottom:9px;}.account-manage-heading span{font-family:'Fraunces',serif;font-size:17px;color:var(--forest-deep);}.account-manage-heading a{display:inline-flex;align-items:center;gap:4px;color:var(--forest);font-size:11px;font-weight:800;}.account-manage-heading a svg{width:13px;height:13px;}.account-manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}.account-manage-grid>a,.account-shop-link{display:flex;align-items:center;gap:9px;padding:12px 13px;border:1px solid rgba(74,58,34,.12);border-radius:12px;background:var(--white);color:var(--forest-deep);}.account-manage-grid>a>svg:first-child,.account-shop-link>svg:first-child{width:17px;height:17px;color:var(--gold);}.account-manage-grid span,.account-shop-link span{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0;}.account-manage-grid b,.account-shop-link b{font-size:11.5px;}.account-manage-grid small,.account-shop-link small{font-size:10px;color:var(--brown-soft);}.account-manage-grid>a>svg:last-child,.account-shop-link>svg:last-child{width:13px;height:13px;color:var(--brown-soft);}.account-shop-link{margin-bottom:22px;}.account-shop-link>svg:first-child{color:var(--green);}

.order-history-tools{display:flex; justify-content:space-between; align-items:center; gap:14px; margin:0 0 16px;}
.order-filter-tabs{display:flex; flex-wrap:wrap; gap:6px;}
.order-filter-tabs a{padding:7px 11px; border-radius:999px; font-size:12px; font-weight:700; color:var(--brown-soft); background:var(--cream-2);}
.order-filter-tabs a.active,.order-filter-tabs a:hover{background:var(--forest); color:var(--white);}
.order-search{display:flex; align-items:center; gap:7px; min-width:220px; padding:0 10px; border:1px solid rgba(74,58,34,.16); border-radius:10px; background:var(--white); color:var(--brown-soft);}
.order-search svg{width:16px; height:16px; flex:0 0 auto;}.order-search input{min-width:0; width:100%; border:0; padding:10px 0; background:transparent; outline:0; font:inherit; font-size:12px; color:var(--brown);}
.order-list{display:flex; flex-direction:column; gap:12px;}
.order-card{position:relative; background:var(--white); border-radius:14px; box-shadow:0 10px 22px -16px rgba(28,46,22,0.2); overflow:hidden; transition:transform .18s ease,box-shadow .18s ease;}
.order-card:hover{transform:translateY(-2px); box-shadow:0 14px 28px -16px rgba(28,46,22,.3);}.order-card-main{display:block; padding:16px; color:inherit;}.order-card-main:focus-visible{outline:3px solid rgba(226,160,20,.55); outline-offset:-3px;}
.order-row{display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; font-size:13.5px;}
.order-row b{font-family:'Fraunces',serif; font-size:15px;}
.order-date{display:block; font-size:11px; color:var(--brown-soft); margin-top:2px;}
.order-status-group{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}.order-payment-note{font-size:11px; color:var(--brown-soft);}.order-total{margin-left:auto;}
.order-status{padding:5px 12px; border-radius:999px; font-size:11px; font-weight:700;}
.status-pending{background:#FDF0D5; color:#8C6A1B;}
.status-confirmed{background:#E1EEFB; color:#1B5A8C;}
.status-packed{background:#EEE6FB; color:#5A3B8C;}
.status-shipped{background:#FCE9E4; color:#B85C2E;}
.status-delivered{background:#E1F3E4; color:#1E7A32;}
.status-cancelled{background:#FCE3E1; color:#B0291B;}
.order-progress-message{margin:9px 0 0; font-size:12px; color:var(--brown-soft);}.order-items-mini{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; font-size:11.5px; color:var(--brown-soft);}
.order-items-mini span{display:inline-flex; align-items:center; gap:6px; background:var(--cream-2); padding:4px 9px 4px 5px; border-radius:8px;}.order-items-mini img,.order-items-mini i{width:25px; height:25px; border-radius:5px; object-fit:cover; background:var(--white);}.order-items-mini i{display:grid; place-items:center; padding:5px; color:var(--forest);}.order-items-mini i svg{width:100%;height:100%;}
.order-delivery-place{display:flex; align-items:center; gap:6px; margin:11px 0 0; font-size:11px; color:var(--brown-soft);}.order-delivery-place svg{width:14px;height:14px;color:var(--green);}
.order-card-actions{display:flex; align-items:center; gap:9px; padding:11px 16px; border-top:1px solid rgba(74,58,34,.09);}.order-card-actions form{margin:0;}.order-review-link{margin-left:auto; font-size:12px; font-weight:700; color:var(--forest);}
.order-pagination{display:flex; align-items:center; justify-content:center; gap:13px; margin:22px 0 0;}.order-pagination span{font-size:12px; color:var(--brown-soft); font-weight:700;}

.track-steps{display:flex; justify-content:space-between; margin-top:24px; position:relative;}
.track-steps::before{content:''; position:absolute; top:6px; left:4%; right:4%; height:2px; background:rgba(74,58,34,0.12);}
.track-step{position:relative; z-index:1; text-align:center; flex:1; font-size:10.5px; color:var(--brown-soft); font-weight:600;}
.track-dot{display:block; width:14px; height:14px; border-radius:50%; background:var(--white); border:2px solid rgba(74,58,34,0.2); margin:0 auto 8px;}
.track-step.done .track-dot{background:var(--forest); border-color:var(--forest);}
.track-step.done{color:var(--forest-deep);}

/* Customer order details */
.order-detail-main{min-width:0;}
.order-detail-topbar{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px;}
.order-detail-hero{display:flex; align-items:center; justify-content:space-between; gap:22px; padding:24px 26px; border-radius:18px; background:linear-gradient(120deg,var(--forest-deep),var(--forest)); color:var(--white); margin-bottom:20px;}
.order-detail-kicker{display:block; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; opacity:.72; margin-bottom:5px;}
.order-detail-hero h1{font-size:25px; margin:0; color:inherit;}
.order-detail-hero p{font-size:12px; opacity:.8; margin:6px 0 0;}
.order-detail-total{text-align:right; display:flex; flex-direction:column; gap:4px;}
.order-detail-total span{font-size:11px; opacity:.7; text-transform:uppercase; letter-spacing:.07em; font-weight:700;}
.order-detail-total strong{font-family:'Fraunces',serif; font-size:27px;}
.order-detail-grid{display:grid; grid-template-columns:minmax(0,1.55fr) minmax(235px,.8fr); gap:20px; align-items:start;}
.order-detail-primary,.order-detail-side{display:flex; flex-direction:column; gap:20px; min-width:0;}
/* For delivered orders, make feedback the first actionable section. */
.order-detail-primary>.order-review-card{order:-1;}
.order-detail-card{background:var(--white); border-radius:16px; padding:20px; box-shadow:0 10px 22px -16px rgba(28,46,22,.2);}
.order-detail-card-head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:14px; border-bottom:1px solid rgba(74,58,34,.1); margin-bottom:4px;}
.order-detail-card-head h2{font-family:'Fraunces',serif; font-size:17px; margin:0; color:var(--forest-deep);}
.order-detail-card-head h2 svg{width:18px; height:18px; vertical-align:-3px; margin-right:5px;}
.order-detail-card-head>span{font-size:11px; color:var(--brown-soft); font-weight:700;}
.order-item-list{display:flex; flex-direction:column;}
.order-item-detail{display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:15px 0; border-bottom:1px solid rgba(74,58,34,.09); font-size:12px; color:var(--brown-soft);}
.order-item-detail b{display:block; color:var(--forest-deep); font-size:13.5px;}
.order-item-detail small{display:block; font-size:11px; margin-top:3px; color:var(--brown-soft);}
.order-item-detail strong{font-family:'Fraunces',serif; color:var(--forest-deep); font-size:14px; text-align:right;}
.order-totals{margin-top:14px; padding:14px 15px; border-radius:12px; background:var(--cream-2); font-size:12.5px;}
.order-totals>div,.order-payment-row{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:5px 0;}
.order-totals b{color:var(--forest-deep);}.order-discount{color:#39733d;}.order-discount b{color:#39733d;}
.order-grand-total{border-top:1px solid rgba(74,58,34,.15); margin-top:6px; padding-top:12px !important; font-size:14px;}.order-grand-total b{font-family:'Fraunces',serif; font-size:17px;}
.order-address,.order-notes p{white-space:normal; font-size:12.5px; color:var(--brown-soft); line-height:1.7; margin:14px 0 0;}
.order-notes{border-top:1px solid rgba(74,58,34,.1); margin-top:15px; padding-top:13px; font-size:12px; color:var(--forest-deep);}.order-notes p{margin:4px 0 0;}
.order-payment-row{font-size:12.5px; color:var(--brown-soft);}.order-payment-row b{color:var(--forest-deep); text-transform:capitalize;}
.order-tracking-card{background:#eff8f0;}.order-tracking-card>p{font-size:12px; color:var(--forest-deep); font-weight:700; margin:14px 0 7px;}.order-tracking-card code{display:block; padding:9px 10px; background:var(--white); border-radius:8px; font-size:11px; overflow-wrap:anywhere; color:var(--brown);}.order-tracking-card .btn{margin-top:12px; width:100%; justify-content:center;}
.order-timeline-card{margin-top:20px;}.order-timeline-card .track-steps{margin-top:22px;}
.order-review-card .form-success{margin:14px 0 0; padding:11px 13px; border-radius:10px; background:#e1f3e4; color:#1e7a32; font-size:12.5px; font-weight:600;}.order-review-card .product-review-notice{margin:14px 0 0; font-size:12.5px; color:var(--brown-soft); line-height:1.6;}.order-review-card .product-review-complete{display:flex; flex-direction:column; gap:8px; padding:14px; margin-top:14px; border-radius:12px; background:#f8f1df; color:var(--brown-soft); font-size:12.5px; line-height:1.5;}.order-review-card .product-review-complete>div{display:flex; justify-content:space-between; align-items:center; gap:10px;}.order-review-card .product-review-complete b{color:var(--forest-deep); font-size:13px;}.order-review-card .product-review-complete p{margin:0;}.order-review-card .product-review-complete small{font-size:11.5px;}.review-stars{white-space:nowrap; color:var(--gold); font-size:15px; letter-spacing:1px;}.review-stars i{font-style:normal; color:rgba(74,58,34,.18);}.order-review-card .product-review-form{display:flex; flex-direction:column; gap:12px; padding:16px; margin:14px 0 0; background:var(--cream-2);}.order-review-card .product-review-form h3{font-size:14px; margin:0;}.order-review-card .product-review-form label{display:block; font-size:12px; font-weight:700; margin:0; line-height:1.3;}.order-review-card .product-review-form label .admin-hint{display:inline; margin-left:3px;}.order-review-card select,.order-review-card textarea{display:block; width:100%; margin-top:7px; border:1px solid rgba(74,58,34,.2); border-radius:9px; padding:10px; font:inherit; background:var(--white);}.order-review-card .product-review-form .btn{align-self:flex-start; margin-top:2px;}

/* =========================================================
   ADDRESS BOOK
========================================================= */
.address-book-layout{display:grid; grid-template-columns:minmax(0,1.38fr) minmax(300px,.82fr); gap:18px; align-items:start;}
.saved-addresses{min-width:0;}.address-book-heading{display:flex; align-items:end; justify-content:space-between; margin:0 0 11px;}.address-book-heading span{display:block; color:var(--gold); font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase;}.address-book-heading h3{margin:4px 0 0; font-size:17px;}
.saved-address-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;}.address-card{background:var(--white); border-radius:16px; padding:18px; box-shadow:0 10px 22px -16px rgba(28,46,22,0.2); position:relative;}.address-card.is-default{box-shadow:inset 0 0 0 2px var(--forest),0 10px 22px -16px rgba(28,46,22,.2);}.address-card p{font-size:12.5px; color:var(--brown-soft); margin:10px 0; line-height:1.6;}.address-card-head{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px;}.addr-label{display:inline-flex; align-items:center; gap:5px; font-size:10.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--forest); font-weight:800;}.addr-label svg{width:14px;height:14px;}.addr-default{padding:4px 7px; background:#E1F3E4; border-radius:99px; font-size:9.5px; text-transform:uppercase; color:#1E7A32; font-weight:800;}.address-card>b{display:block; font-size:14px;}.addr-phone{display:block; font-size:12px; color:var(--brown-soft); margin-top:4px;}.address-card-actions{display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding-top:12px; border-top:1px solid rgba(74,58,34,.09);}.address-card-actions form{margin:0;}.addr-action-link,.addr-remove{padding:0; border:0; background:none; font:inherit; font-size:11.5px; font-weight:700; color:var(--forest); cursor:pointer;}.addr-remove{color:#C4463B;}.address-card--new{background:var(--cream-2);}.address-card--new>b{font-size:16px;}.address-form-hint{font-size:11.5px!important; margin:5px 0 0!important;}.address-card--new .auth-form{margin-top:14px;}.address-card--new .auth-form>label{margin-bottom:11px;}.address-form-row{display:grid; grid-template-columns:1fr 1fr; gap:10px;}.address-form-row label{min-width:0;}.address-country{display:flex; align-items:center; gap:6px; padding:10px 11px; margin:2px 0 11px; border-radius:9px; background:#eef5f8; color:var(--forest); font-size:11px;}.address-country span:last-child{color:var(--brown-soft);}.address-cancel{display:block; margin-top:10px; color:var(--brown-soft); font-size:12px; text-align:center;}.address-empty{min-height:180px; display:flex; flex-direction:column; justify-content:center;}.address-empty small{color:var(--brown-soft);}

/* =========================================================
   FARMERS
========================================================= */
.farmer-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.farmer-tile{background:var(--white); border-radius:16px; padding:26px 16px; text-align:center; box-shadow:0 10px 22px -16px rgba(43,27,78,0.2); transition:transform .2s ease;}
.farmer-tile:hover{transform:translateY(-5px);}
.farmer-tile b{display:block; margin-top:12px; font-size:14px;}
.farmer-tile span{font-size:11.5px; color:var(--brown-soft);}
.farmer-tile:nth-child(6n+1) .f-avatar{background:var(--hue-1);}
.farmer-tile:nth-child(6n+2) .f-avatar{background:var(--hue-2);}
.farmer-tile:nth-child(6n+3) .f-avatar{background:var(--hue-3);}
.farmer-tile:nth-child(6n+4) .f-avatar{background:var(--hue-4);}
.farmer-tile:nth-child(6n+5) .f-avatar{background:var(--hue-5);}
.farmer-tile:nth-child(6n+6) .f-avatar{background:var(--hue-6); color:var(--forest-deep);}
.f-avatar.xl{width:60px; height:60px; font-size:22px; margin:0 auto;}
.f-avatar.xxl{width:96px; height:96px; font-size:34px; flex-shrink:0;}
.farmer-hero{display:flex; align-items:center; gap:26px; background:var(--white); border-radius:22px; padding:30px; box-shadow:var(--shadow);}

/* =========================================================
   RECIPES / BLOG
========================================================= */
.recipe-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.recipe-card{background:var(--white); border-radius:18px; overflow:hidden; box-shadow:0 10px 22px -16px rgba(28,46,22,0.2); transition:transform .2s ease;}
.recipe-card:hover{transform:translateY(-5px);}
.recipe-media{height:140px; display:flex; align-items:center; justify-content:center;}
.recipe-card:nth-child(6n+1) .recipe-media{background:linear-gradient(155deg, color-mix(in srgb, var(--hue-1) 15%, white), color-mix(in srgb, var(--hue-1) 32%, white));}
.recipe-card:nth-child(6n+1) .pd-ic{stroke:var(--hue-1);}
.recipe-card:nth-child(6n+2) .recipe-media{background:linear-gradient(155deg, color-mix(in srgb, var(--hue-2) 15%, white), color-mix(in srgb, var(--hue-2) 32%, white));}
.recipe-card:nth-child(6n+2) .pd-ic{stroke:var(--hue-2);}
.recipe-card:nth-child(6n+3) .recipe-media{background:linear-gradient(155deg, color-mix(in srgb, var(--hue-3) 15%, white), color-mix(in srgb, var(--hue-3) 32%, white));}
.recipe-card:nth-child(6n+3) .pd-ic{stroke:var(--hue-3);}
.recipe-card:nth-child(6n+4) .recipe-media{background:linear-gradient(155deg, color-mix(in srgb, var(--hue-4) 15%, white), color-mix(in srgb, var(--hue-4) 32%, white));}
.recipe-card:nth-child(6n+4) .pd-ic{stroke:var(--hue-4);}
.recipe-card:nth-child(6n+5) .recipe-media{background:linear-gradient(155deg, color-mix(in srgb, var(--hue-5) 15%, white), color-mix(in srgb, var(--hue-5) 32%, white));}
.recipe-card:nth-child(6n+5) .pd-ic{stroke:var(--hue-5);}
.recipe-card:nth-child(6n+6) .recipe-media{background:linear-gradient(155deg, color-mix(in srgb, var(--hue-6) 22%, white), color-mix(in srgb, var(--hue-6) 40%, white));}
.recipe-card:nth-child(6n+6) .pd-ic{stroke:#B8860B;}
.recipe-media .pd-ic{width:44px; height:44px;}
.recipe-body{padding:18px;}
.recipe-body h4{font-size:15px;}
.recipe-body p{font-size:12.5px; color:var(--brown-soft); margin:8px 0 12px; line-height:1.6;}
.recipe-time{display:inline-flex; align-items:center; gap:6px; font-size:11px; color:var(--forest); font-weight:700;}
.recipe-time svg{width:14px; height:14px;}
.recipe-steps{padding-left:20px; display:flex; flex-direction:column; gap:10px; font-size:13.5px; color:var(--brown-soft); line-height:1.6;}
.recipe-cta{margin-top:26px; background:var(--cream-2); border-radius:14px; padding:16px; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;}

.article{max-width:720px; margin:0 auto;}
.article-media{aspect-ratio:16/7; border-radius:20px; background:linear-gradient(155deg, var(--hue-5), var(--hue-4)); display:flex; align-items:center; justify-content:center; margin-bottom:22px;}
.article-media .pd-ic{stroke:#fff;}
.article-media .pd-ic{width:60px; height:60px;}
.article h1{font-size:clamp(24px,3.4vw,34px); margin:6px 0 20px;}
.article-body{font-size:14.5px; line-height:1.9; color:var(--brown-soft);}

/* =========================================================
   FAQ
========================================================= */
.faq-list{display:flex; flex-direction:column; gap:10px;}
.faq-item{background:var(--white); border-radius:14px; padding:18px 20px; box-shadow:0 10px 20px -16px rgba(28,46,22,0.15);}
.faq-item summary{cursor:pointer; font-weight:700; font-size:14px; display:flex; justify-content:space-between; align-items:center; list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-chev{width:16px; height:16px; transition:transform .2s ease;}
.faq-item[open] .faq-chev{transform:rotate(90deg);}
.faq-item p{font-size:13px; color:var(--brown-soft); margin-top:12px; line-height:1.7;}

/* =========================================================
   SECTION BUILDER (admin/custom-section-form.php output)
   Layout/spacing/background come from --cs-* custom properties set
   per-instance in includes/functions.php (custom_section_html()) —
   these rules only define what the properties *do*.
========================================================= */
.cs-section{
  position:relative; overflow:hidden;
  padding-top:var(--cs-pt,56px); padding-bottom:var(--cs-pb,56px);
  padding-left:var(--cs-pl,0); padding-right:var(--cs-pr,0);
  background-color:var(--cs-bg,transparent);
  background-image:var(--cs-bg-image,none);
  background-position:var(--cs-bg-position,center);
  background-size:var(--cs-bg-size,cover);
  min-height:var(--cs-min-h,auto);
  display:flex; flex-direction:column; justify-content:center;
}
.cs-overlay{position:absolute; inset:0; background:var(--cs-overlay,#000); opacity:var(--cs-overlay-a,0); pointer-events:none;}
.cs-section > .wrap{position:relative; z-index:1; width:100%; display:flex; justify-content:var(--cs-align,center);}
.cs-inner{width:100%; max-width:var(--cs-max-w,960px); text-align:var(--cs-text-align,center);}
.cs-inner h2{font-size:var(--cs-heading-size,clamp(24px,3vw,32px)); margin:8px 0 12px; color:var(--cs-text-color,var(--forest-deep));}
.cs-inner p{color:var(--cs-text-color,var(--brown-soft)); line-height:1.7;}
.cs-inner > .cs-banner-copy p, .cs-inner > .cs-text-block p{font-size:14.5px; margin-bottom:20px;}
.cs-inner .cs-head{margin-bottom:28px;}
.cs-inner .cs-head p{font-size:14.5px; margin-top:6px;}
.cs-cta-row{margin-top:24px;}
.cs-empty-note{font-size:13px; color:var(--brown-soft); text-align:center; padding:20px 0;}

/* Image + Text */
.cs-split{
  border-radius:26px; overflow:hidden; display:grid; grid-template-columns:1fr 1fr; align-items:stretch; min-height:320px; text-align:left;
}
.cs-split.img-left{grid-template-areas:"media copy";}
.cs-split.img-right{grid-template-areas:"copy media";}
.cs-split .cs-split-media{grid-area:media; background:var(--cream-2);}
.cs-split .cs-split-copy{grid-area:copy; padding:44px; display:flex; flex-direction:column; justify-content:center;}
.cs-split-img{width:100%; height:100%; object-fit:cover; display:block; min-height:280px;}
.cs-split-copy h2{font-size:clamp(22px,2.8vw,28px); margin:6px 0 12px; color:var(--cs-text-color,var(--forest-deep));}
.cs-split-copy p{font-size:14px; margin-bottom:18px;}

/* Two Column */
.cs-columns{display:grid; grid-template-columns:1fr 1fr; gap:32px; text-align:left;}
.cs-col{background:var(--white); border-radius:20px; padding:32px; box-shadow:0 10px 22px -16px rgba(28,46,22,0.2);}
.cs-col-img{width:100%; height:200px; object-fit:cover; border-radius:14px; margin-bottom:16px;}
.cs-col h2{font-size:clamp(20px,2.4vw,26px); margin:4px 0 10px; color:var(--cs-text-color,var(--forest-deep));}
.cs-col p{font-size:14px; margin-bottom:16px;}

/* Product Grid */
.cs-product-grid{grid-template-columns:repeat(var(--cs-pg-desktop,4),1fr);}

/* Testimonials */
.cs-testi-grid .testi-strip{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); overflow:visible; scroll-snap-type:none; padding:4px 0;}

@media (min-width:601px) and (max-width:980px){
  .cs-product-grid{grid-template-columns:repeat(var(--cs-pg-tablet,2),1fr);}
}
@media (max-width:700px){
  .cs-split{grid-template-columns:1fr; grid-template-areas:"media" "copy" !important;}
  .cs-columns{grid-template-columns:1fr;}
  .cs-split-img{min-height:220px;}
  .cs-col{padding:24px;}
}
@media (max-width:600px){
  .cs-product-grid{grid-template-columns:repeat(var(--cs-pg-mobile,1),1fr);}
}

/* =========================================================
   PAGE BUILDER (admin/page-builder.php output)
   A nested Section > Row > Column > Block tree. Layout/spacing come from
   --pb-* custom properties set per-instance in includes/functions.php
   (pb_render_section/row/column/block()) — these rules only define what
   the properties *do*, same pattern as the Section Builder above.
========================================================= */
.pb-section{
  position:relative; overflow:hidden;
  padding-top:var(--pb-pt,0); padding-bottom:var(--pb-pb,0);
  padding-left:var(--pb-pl,0); padding-right:var(--pb-pr,0);
  background-color:var(--pb-bg,transparent);
  background-image:var(--pb-bg-image,none);
  background-position:var(--pb-bg-position,center);
  background-size:var(--pb-bg-size,cover);
  min-height:var(--pb-min-h,auto);
}
.pb-overlay{position:absolute; inset:0; background:var(--pb-overlay,#000); opacity:var(--pb-overlay-a,0); pointer-events:none;}
.pb-section-inner{position:relative; z-index:1; width:100%; max-width:var(--pb-max-w,960px); margin:0 auto; color:var(--pb-text-color,inherit);}

.pb-row{
  display:flex; flex-wrap:wrap;
  align-items:var(--pb-row-align,flex-start);
  gap:var(--pb-row-gap,24px);
  background:var(--pb-bg,transparent);
  padding-top:var(--pb-pt,0); padding-bottom:var(--pb-pb,0);
  padding-left:var(--pb-pl,0); padding-right:var(--pb-pr,0);
}
.pb-row + .pb-row{margin-top:0;}

.pb-col{
  box-sizing:border-box;
  /* A row's column-width presets (50/50, 33/33/33, ...) always sum to
     100% of the row. PHP supplies each column's equal share of the total
     pixel gap as --pb-gap-share. Keeping the CSS calculation to a simple
     percentage-minus-length form also works in browsers that do not
     support CSS typed arithmetic/division. */
  flex:0 0 calc(var(--pb-w,100%) - var(--pb-gap-share,0px));
  max-width:calc(var(--pb-w,100%) - var(--pb-gap-share,0px));
  background:var(--pb-bg,transparent);
  text-align:var(--pb-col-align,inherit);
  border-radius:var(--pb-radius,0);
  box-shadow:var(--pb-shadow,none);
  padding-top:var(--pb-pt,0); padding-bottom:var(--pb-pb,0);
  padding-left:var(--pb-pl,0); padding-right:var(--pb-pr,0);
}

.pb-block{
  text-align:var(--pb-align,inherit);
  color:var(--pb-text-color,inherit);
  background:var(--pb-block-bg,transparent);
  border:var(--pb-block-border-width,0) solid var(--pb-block-border-color,transparent);
  border-radius:var(--pb-block-radius,0);
  box-shadow:var(--pb-block-shadow,none);
  overflow:clip;
  padding-top:var(--pb-pt,0); padding-bottom:var(--pb-pb,0);
  padding-left:var(--pb-pl,0); padding-right:var(--pb-pr,0);
}
.pb-empty-note{font-size:13px; color:var(--brown-soft); text-align:center; padding:16px 0;}

.pb-text p:last-child{margin-bottom:0;}
.pb-text h1, .pb-text h2, .pb-text h3, .pb-text h4{color:var(--pb-text-color, var(--forest-deep)); line-height:1.25;}
.pb-text p{line-height:1.75; color:inherit;}

.pb-image img{max-width:100%; height:auto; display:block;}
.pb-image:not(.pb-image-full){display:inline-block;}
.pb-image-full img{width:100%;}

.pb-button-wrap{text-align:inherit;}

.pb-gallery{
  display:grid; gap:var(--pb-gal-gap,12px);
  grid-template-columns:repeat(var(--pb-gal-desktop,3),1fr);
}
.pb-gallery-item img{width:100%; height:100%; aspect-ratio:1/1; object-fit:cover; border-radius:10px; display:block;}
@media (min-width:601px) and (max-width:980px){
  .pb-gallery{grid-template-columns:repeat(var(--pb-gal-tablet,2),1fr);}
}
@media (max-width:600px){
  .pb-gallery{grid-template-columns:repeat(var(--pb-gal-mobile,1),1fr);}
}

.pb-heading{margin:0;}
.pb-heading h1, .pb-heading h2, .pb-heading h3, .pb-heading h4{margin:0; color:var(--pb-text-color, var(--forest-deep));}

.pb-icon-wrap{display:inline-flex; align-items:center; justify-content:center; width:var(--pb-icon-size,40px); height:var(--pb-icon-size,40px);}
.pb-icon-wrap svg{width:100%; height:100%; stroke:var(--pb-icon-color,var(--forest));}
.pb-icon-wrap.pb-icon-circle{background:var(--pb-icon-bg,var(--cream-2)); border-radius:50%; padding:20%; box-sizing:border-box;}

.pb-features-grid{margin:0;}

.pb-faq-list{max-width:820px; margin:0 auto;}

.pb-spacer{width:100%;}

.pb-divider{border:none; border-top:1px solid rgba(74,58,34,0.15); margin:0;}

.pb-map-wrap{width:100%; border-radius:18px; overflow:hidden; box-shadow:0 10px 22px -16px rgba(28,46,22,0.2);}
.pb-map-wrap iframe{display:block; width:100%; height:100%; border:0;}

.pb-video{position:relative; width:100%; height:0; overflow:hidden; background:#000;}
.pb-video iframe, .pb-video video{position:absolute; inset:0; width:100%; height:100%; border:0; display:block; object-fit:cover;}

.pb-video-gallery{
  display:grid; gap:var(--pb-vgal-gap,16px);
  grid-template-columns:repeat(var(--pb-vgal-desktop,2),1fr);
}
.pb-video-gallery-item .pb-video{border-radius:12px; padding-top:56.25%;}
.pb-video-gallery-caption{margin-top:8px; font-size:13px; font-weight:600; color:var(--brown);}
@media (min-width:601px) and (max-width:980px){
  .pb-video-gallery{grid-template-columns:repeat(var(--pb-vgal-tablet,2),1fr);}
}
@media (max-width:600px){
  .pb-video-gallery{grid-template-columns:repeat(var(--pb-vgal-mobile,1),1fr);}
}

/* Reuses .cat-tile/.cat-tile-media/.cat-tile-copy from the homepage
   category showcase, but with admin-configurable column counts per
   breakpoint (the homepage's .cat-showcase stays fixed at 3 always). */
.pb-cat-grid{grid-template-columns:repeat(var(--pb-cat-desktop,4),1fr);}
@media (min-width:601px) and (max-width:980px){
  .pb-cat-grid{grid-template-columns:repeat(var(--pb-cat-tablet,2),1fr);}
}
@media (max-width:600px){
  .pb-cat-grid{grid-template-columns:repeat(var(--pb-cat-mobile,1),1fr);}
}

/* =========================================================
   SHOP PAGE (full catalogue)
========================================================= */
.sec-shop{padding:38px 0 48px;}
.sec-shop>.wrap>.section-head{margin-bottom:22px;align-items:center;}
.shop-top-controls{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:9px;background:rgba(255,255,255,.62);border:1px solid rgba(74,58,34,.1);border-radius:14px;}
.shop-search-top{display:flex; flex:1 1 420px; min-width:260px; max-width:none; margin:0; border:1px solid rgba(74,58,34,.16); background:var(--white); border-radius:10px; overflow:visible; box-shadow:none; position:relative;}
.shop-search-top label{flex:1;}.shop-search-top input{width:100%; border:0; outline:0; padding:13px 16px; font:inherit; font-size:13px; background:transparent;}.shop-search-top button{display:flex; align-items:center; gap:7px; border:0; border-radius:0 9px 9px 0; padding:0 18px; background:var(--forest); color:var(--white); font:inherit; font-size:12px; font-weight:700; cursor:pointer;}.shop-search-top button svg{width:17px;height:17px;}
.shop-layout{display:grid; grid-template-columns:205px minmax(0,1fr); gap:22px; align-items:start;}
.shop-filters{background:var(--white); border:1px solid rgba(74,58,34,.1); border-radius:14px; padding:18px; box-shadow:0 12px 26px -22px rgba(28,46,22,.35); position:sticky; top:20px;}
.filter-heading{display:flex; align-items:center; justify-content:space-between; gap:8px; padding-bottom:11px; margin-bottom:0;}.filter-heading h3{margin:0; font-family:'Fraunces',serif; font-size:17px;}.filter-heading a{font-size:9.5px; color:var(--forest); font-weight:700; text-transform:uppercase; letter-spacing:.05em;}
.shop-filters h4{font-size:13px; margin-bottom:10px;}
.filter-link{display:block; font-size:12.5px; color:var(--brown-soft); padding:5px 0;}
.filter-link:hover, .filter-link.active{color:var(--forest); font-weight:700;}
.shop-search-form{display:flex; gap:8px;}
.shop-search-form input{flex:1; border:1px solid rgba(74,58,34,0.2); border-radius:10px; padding:9px 12px; font-size:13px; font-family:inherit;}
.shop-search-form button{background:var(--forest); border:none; border-radius:10px; width:38px; display:flex; align-items:center; justify-content:center; cursor:pointer;}
.shop-search-form button svg{width:16px; height:16px; stroke:#fff;}
.shop-toolbar{display:flex; flex:0 0 auto; align-items:center; gap:9px; margin:0; flex-wrap:wrap; min-height:38px;}.shop-filter-toggle{display:none;}.shop-active-filters{display:flex; flex-wrap:wrap; gap:7px;}.shop-active-filters:empty{display:none;}.filter-chip{display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid rgba(40,64,31,.18); border-radius:999px; color:var(--forest); background:#f1f7ef; font-size:11px; font-weight:600;}.filter-chip a{font-size:16px; line-height:10px; color:var(--forest);}.shop-toolbar-count{font-size:11px; color:var(--brown-soft); white-space:nowrap;}
.shop-mobile-actions,.shop-sort-sheet{display:none;}
.shop-filter-close{display:none;}
.shop-sort select{border:1px solid rgba(74,58,34,0.2); border-radius:10px; padding:9px 14px; font-size:13px; font-family:inherit; background:var(--white);}
.shop-pagination{display:flex; gap:8px; justify-content:center; margin-top:36px;}
.shop-pagination a{width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:var(--brown-soft); background:var(--white); border:1px solid rgba(74,58,34,0.15);}
.shop-pagination a.active{background:var(--forest); color:var(--white); border-color:var(--forest);}

@media (min-width:981px){
  .sec-shop>.wrap{max-width:1480px;padding-left:24px;padding-right:24px;}
  .shop-layout{grid-template-columns:280px minmax(0,1fr);gap:24px;}
  .shop-filters{padding:20px 21px;}
}

/* =========================================================
   NEW HOMEPAGE MODULES
========================================================= */

/* ---- Offer / deal strip ---- */
.offer-band{
  background:linear-gradient(120deg, var(--forest), var(--forest-2));
  border-radius:26px; padding:44px; display:flex; align-items:center; justify-content:space-between;
  gap:30px; flex-wrap:wrap; color:var(--cream); position:relative; overflow:hidden;
}
.offer-tag{display:inline-flex; align-items:center; gap:7px; font-size:11.5px; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; background:rgba(244,234,210,0.15); padding:7px 14px; border-radius:999px;}
.offer-copy h2{color:var(--white); font-size:clamp(24px,3vw,32px); margin:14px 0 10px; max-width:420px;}
.offer-copy p{font-size:14px; line-height:1.7; color:rgba(244,234,210,0.8); max-width:400px; margin-bottom:20px;}
.offer-timer{display:flex; gap:12px;}
.timer-cell{background:rgba(244,234,210,0.12); border-radius:14px; padding:16px 18px; text-align:center; min-width:74px;}
.timer-cell b{display:block; font-family:'Fraunces',serif; font-size:28px; color:var(--white); line-height:1;}
.timer-cell small{display:block; font-size:10.5px; margin-top:6px; color:rgba(244,234,210,0.7); letter-spacing:0.05em;}

/* ---- Category showcase — plain circular images, no card/box/border ----
   Always exactly 3 equal-width columns (desktop/tablet/mobile alike — see
   the matching header.php-driven cat_columns_* setting, which must stay at
   3 on every breakpoint for this to hold). The circle is sized as a
   percentage of its own column (capped so it never grows huge on wide
   desktop columns), so it naturally scales down instead of overflowing
   on narrow screens — no separate per-breakpoint image-size rules needed. */
.cat-showcase{
  display:grid; grid-template-columns:repeat(3, 1fr);
  justify-content:center; gap:22px;
}
.cat-showcase{grid-template-columns:repeat(3,minmax(160px,210px)) !important; justify-content:center; column-gap:48px !important;}
.sec-categories .cat-showcase{column-gap:48px !important; row-gap:30px !important;}
.sec-categories .cat-tile-copy{padding-top:20px;}
@media (min-width:981px){
  .sec-categories .cat-showcase{grid-template-columns:repeat(3,minmax(160px,210px)) !important; justify-content:center;}
}
.cat-tile{
  width:100%; display:flex; flex-direction:column; align-items:center; box-sizing:border-box;
  transition:transform .25s ease; position:relative;
}

.cat-tile-media{
  width:72%; max-width:130px; aspect-ratio:1; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:50%;
  position:relative; flex-shrink:0; box-sizing:border-box; margin:0 auto;
}
.cat-tile-media.is-icon{background:linear-gradient(135deg, var(--cream-2), var(--tan));}
.cat-tile-media.is-icon::before{
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(circle at 18% 14%, rgba(255,255,255,0.55), transparent 45%),
    radial-gradient(rgba(255,255,255,0.3) 1px, transparent 1.4px);
  background-size:auto, 13px 13px;
}
.cat-tile-media img{
  width:100%; height:100%; object-fit:cover; object-position:center;
  display:block; position:relative; z-index:1; flex-shrink:0; transition:transform .3s ease;
}
.cat-tile:hover .cat-tile-media img{transform:scale(1.06);}
.cat-tile-ic{
  position:relative; z-index:1; width:44%; height:44%; border-radius:50%; background:rgba(255,255,255,0.92);
  display:flex; align-items:center; justify-content:center; box-shadow:0 8px 18px -6px rgba(19,40,16,0.3);
}
.cat-tile-ic svg{width:60%; height:60%; stroke:var(--forest-deep);}

.cat-tile-copy{padding:14px 4px 0; text-align:center; width:100%;}
.cat-tile h3{font-size:18px; margin-bottom:4px; color:var(--forest-deep);}
.cat-tile-copy p{font-size:12.5px; font-weight:700; color:var(--forest); display:flex; align-items:center; justify-content:center; gap:6px;}
.cat-tile-copy p svg{width:14px; height:14px;}
.cat-tile p{font-size:12.5px; font-weight:700; color:var(--forest); display:flex; align-items:center; justify-content:center; gap:6px;}
.cat-tile p svg{width:14px; height:14px;}
.cat-viewall-row{display:flex; justify-content:center; margin-top:32px;}

/* ---- Why choose us ---- */
.sec-why{background:var(--why-section-bg,transparent);}
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.why-card{background:var(--why-card-bg,var(--white)); border-radius:var(--why-card-radius,20px); padding:28px; text-align:center;
  box-shadow:0 10px 22px -16px rgba(28,46,22,0.2); transition:transform .25s ease;}
.why-card:hover{transform:translateY(-5px);}
.why-ic{width:62px; height:62px; border-radius:50%; background:var(--why-icon-bg,var(--cream-2)); display:flex;
  align-items:center; justify-content:center; margin:0 auto 16px;}
.why-ic svg{width:28px; height:28px; stroke:var(--forest);}
.sec-why .center-heading{color:var(--why-heading-color,inherit);}
.why-card h3{font-size:17px; margin-bottom:8px;}
.why-card p{font-size:12.5px; color:var(--brown-soft); line-height:1.65;}

/* Page Builder's Why Choose Us design settings deliberately override a
   template's default card treatment only when that setting was chosen. */
.sec-why[style*="--why-card-bg"] .why-card{background:var(--why-card-bg) !important;}
.sec-why[style*="--why-icon-bg"] .why-ic{background:var(--why-icon-bg) !important;}
.sec-why[style*="--why-card-radius"] .why-card{border-radius:var(--why-card-radius) !important;}
.sec-why[style*="--why-heading-color"] .center-heading{color:var(--why-heading-color) !important;}

/* ---- Customer photo wall ---- */
.ugc-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:14px;}
.ugc-tile{aspect-ratio:1; border-radius:16px; overflow:hidden; position:relative;
  display:flex; align-items:center; justify-content:center; transition:transform .25s ease;}
.ugc-tile:hover{transform:scale(1.04);}
.ugc-tile img{width:100%; height:100%; object-fit:cover;}
.ugc-tile.tone-1{background:linear-gradient(150deg,#E3EEDD,#CFE0C6);}
.ugc-tile.tone-2{background:linear-gradient(150deg,#F6E2E4,#EBC7CC);}
.ugc-tile.tone-3{background:linear-gradient(150deg,#FBEEDA,#F2DCB4);}
.ugc-tile.tone-4{background:linear-gradient(150deg,#DDEBEE,#C2DBE1);}
.ugc-tile.tone-5{background:linear-gradient(150deg,#EFE6F5,#DCCCEA);}
.ugc-tile.tone-6{background:linear-gradient(150deg,#F7E6D8,#EFCDB2);}
.ugc-ic svg{width:34px; height:34px; stroke:var(--forest-deep);}
.ugc-label{position:absolute; left:0; right:0; bottom:0; padding:10px 12px; font-size:11px; font-weight:700;
  color:#fff; background:linear-gradient(to top, rgba(19,40,16,0.75), transparent);}

@media (max-width:980px){
  .cat-showcase{grid-template-columns:repeat(3,1fr) !important; justify-content:initial;}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .cat-showcase{gap:18px;}
  body.pg-horizontal .p-card{flex-direction:column;}
  body.pg-horizontal .p-media{width:100%; height:150px;}
  .ugc-grid{grid-template-columns:repeat(3,1fr);}
  .offer-band{padding:30px;}
  .offer-timer{width:100%;}
  .timer-cell{flex:1; min-width:0;}
}
@media (max-width:600px){
  .why-grid{grid-template-columns:1fr;}
  .cat-showcase{gap:12px;}
  .sec-categories .cat-showcase{column-gap:18px !important; row-gap:28px !important;}
  .sec-categories .cat-tile-copy{padding-top:12px;}
  .cat-tile-copy{padding:8px 2px 0;}
  .cat-tile h3{font-size:13px;}
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width:980px){
  .header-tools{display:contents;}
  .nav-inner{
    position:relative; padding:12px 16px;
    display:grid; grid-template-columns:1fr auto; column-gap:12px; row-gap:10px;
    grid-template-areas:"toggle icons" "brand brand" "search search";
  }
  .brand{grid-area:brand; justify-self:center;}
  .nav-icons{grid-area:icons; justify-self:end;}
  .store-admin-menu{display:none;}
  .icon-account{display:flex;}
  .cart-trigger{display:none;} /* the bottom tab bar's Cart tab takes over here */
  .mobile-search-toggle{display:flex; align-items:center; justify-content:center;}
  .nav-toggle{grid-area:toggle; justify-self:start; display:flex;}
  .mobile-menu{
    display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column;
    background:var(--white); padding:6px 24px 20px; gap:0;
    box-shadow:0 16px 32px -16px rgba(19,40,16,0.3); border-bottom:1px solid rgba(74,58,34,0.1);
    max-height:calc(100vh - 100%); overflow-y:auto; z-index:60;
  }
  .site-nav.nav-open .mobile-menu{display:flex;}
  .main-links{flex-direction:column; gap:0; width:100%;}
  .main-links a{width:100%; padding:13px 0; border-bottom:1px solid rgba(74,58,34,0.08); justify-content:space-between;}
  .mobile-nav-social{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0 0;margin-top:5px;border-top:1px solid rgba(74,58,34,.1);color:var(--brown-soft);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
  .mobile-nav-social>div{display:flex;align-items:center;gap:9px;}
  .mobile-nav-social a{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(74,58,34,.15);border-radius:50%;color:var(--forest);background:var(--cream-2);}
  .mobile-nav-social svg{width:15px;height:15px;}
  .nav-item{position:static;}
  .submenu-caret{transition:transform .2s;}
  .nav-item.submenu-open .submenu-caret{transform:rotate(90deg);}
  .nav-item.has-submenu:hover .submenu-dropdown{display:none;}
  .submenu-dropdown{position:static; display:none; box-shadow:none; padding:0 0 0 14px; min-width:0; margin-bottom:6px;}
  .nav-item.submenu-open .submenu-dropdown{display:block;}
  .submenu-dropdown a{padding:10px 0;}
  /* Search now lives in the persistent mobile header (via the icon
     toggle), not buried inside the hamburger menu — hidden until tapped. */
  .nav-search{grid-area:search; max-width:100%; width:100%; box-sizing:border-box; display:none;}
  .site-nav.search-open .nav-search{display:flex;}
  body{padding-bottom:60px;}
  .mobile-tabbar{
    display:flex; position:fixed; left:0; right:0; bottom:0; z-index:70;
    background:var(--white); border-top:1px solid rgba(74,58,34,0.1);
    box-shadow:0 -8px 20px -14px rgba(19,40,16,0.3);
  }
  .mtb-item{
    flex:1; display:flex; flex-direction:column; align-items:center; gap:3px;
    padding:9px 0 8px; font-size:10.5px; font-weight:600; color:var(--brown-soft);
  }
  .mtb-item svg{width:20px; height:20px; stroke-width:1.7;}
  .mtb-item.active{color:var(--forest);}
  .mtb-icon-wrap{position:relative; display:inline-flex;}
  .mtb-icon-wrap .cart-count{top:-6px; right:-9px;}
  .hero-inner{grid-template-columns:1fr;}
  .hero-visual{max-width:420px; margin:0 auto;}
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .two-col-band, .three-col-band{grid-template-columns:1fr;}
  .footer-grid{--footer-cols:2; grid-template-columns:repeat(var(--footer-cols,2),1fr);}
  .cart-layout{grid-template-columns:1fr;}
  .cart-row{grid-template-columns:44px 1fr auto; row-gap:8px;}
  .cr-price{grid-column:2/3;}
  .product-detail{grid-template-columns:1fr;}
  .sec-product-detail{padding:0 0 132px;}
  .sec-product-detail>.wrap{padding:0 16px;}
  .pd-gallery{display:none;}
  .pd-info{width:100%;}
  .pd-pincode-check{display:none;}
  .pd-badges{order:10;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 0;padding:18px 0;border-top:1px solid rgba(74,58,34,.14);border-bottom:1px solid rgba(74,58,34,.14);}
  .pd-badges span{flex-direction:column;justify-content:center;text-align:center;gap:6px;font-size:11px;font-weight:500;line-height:1.3;}
  .pd-badges svg{width:18px;height:18px;padding:7px;border-radius:50%;background:#f0deca;}
  .pd-tabs{order:20;margin-top:0!important;}
  .pd-tab-list{display:none;}
  .pd-tab-panel,.pd-tab-panel[hidden]{display:block!important;padding:18px 0 0;}
  .pd-tab-panel+.pd-tab-panel{border-top:1px solid rgba(74,58,34,.14);margin-top:12px;}
  .pd-actions{position:fixed;left:0;right:0;bottom:60px;z-index:90;margin:0;padding:12px;background:var(--white);border-top:1px solid rgba(74,58,34,.14);box-shadow:0 -8px 20px -16px rgba(28,46,22,.3);}
  .pd-actions .pd-qty{order:1;}.pd-actions .pd-wish{order:2;}.pd-actions #pdAddToCart{order:3;}
  .pd-tabs{width:auto;margin-left:0;margin-top:28px;}
  .pd-actions{flex-wrap:wrap;}
  .pd-actions #pdAddToCart{min-width:0;}
  .account-layout{grid-template-columns:1fr;}
  .order-detail-grid{grid-template-columns:1fr;}
  .address-grid, .farmer-grid, .recipe-grid{grid-template-columns:1fr 1fr;}
  .shop-layout{display:block;}
  .shop-filters{position:static; display:none; margin-bottom:18px;}
  .shop-filters.is-open{display:block; position:fixed; inset:0; z-index:95; overflow:auto; border-radius:0; padding:20px 16px 84px; margin:0;}
  .shop-filter-close{display:block; border:0; background:none; font-size:25px; line-height:1; color:var(--brown-soft); cursor:pointer;}
  body:has(.shop-mobile-actions) .mobile-tabbar, body:has(.shop-mobile-actions) .floating-actions{display:none;}
  .shop-filter-toggle{display:inline-flex; align-items:center; gap:6px; border:1px solid rgba(74,58,34,.18); border-radius:9px; padding:9px 12px; background:var(--white); color:var(--forest); font:inherit; font-size:12px; font-weight:700; cursor:pointer;}
  .shop-filter-toggle svg{width:15px;height:15px;}
  .shop-mobile-actions{display:flex; position:fixed; left:0; right:0; bottom:0; z-index:80; height:52px; background:var(--white); border-top:1px solid rgba(74,58,34,.12); box-shadow:0 -8px 20px -16px rgba(19,40,16,.35);}
  .shop-mobile-actions button{flex:1; display:flex; align-items:center; justify-content:center; gap:7px; border:0; background:transparent; color:var(--brown); font:inherit; font-size:12px; font-weight:700; letter-spacing:.04em; cursor:pointer;}
  .shop-mobile-actions button+button{border-left:1px solid rgba(74,58,34,.14);}
  .shop-mobile-actions svg{width:16px;height:16px;}
  .shop-sort-sheet{display:block; position:fixed; inset:0; z-index:100; background:rgba(24,28,22,.38); opacity:0; pointer-events:none; transition:opacity .2s;}
  .shop-sort-sheet.is-open{opacity:1; pointer-events:auto;}
  .shop-sort-sheet-inner{position:absolute; left:0; right:0; bottom:0; background:var(--white); padding:18px 16px 24px; transform:translateY(100%); transition:transform .22s; box-shadow:0 -10px 30px -18px rgba(0,0,0,.35);}
  .shop-sort-sheet.is-open .shop-sort-sheet-inner{transform:translateY(0);}
  .shop-sheet-title{display:flex; justify-content:space-between; align-items:center; padding-bottom:13px; border-bottom:1px solid rgba(74,58,34,.12); color:var(--brown-soft); font-size:10px; font-weight:700; letter-spacing:.08em;}
  .shop-sheet-title button{border:0; background:none; font-size:24px; line-height:1; color:var(--brown-soft);}
  .shop-sort-sheet-inner>a{display:block; padding:15px 2px; border-bottom:1px solid rgba(74,58,34,.07); color:var(--brown); font-size:13px;}
  .shop-sort-sheet-inner>a.active{color:var(--forest); font-weight:700;}
  .custom-split{grid-template-columns:1fr; grid-template-areas:"media" "copy" !important;}
  .custom-sec-img{min-height:220px;}
}
@media (max-width:600px){
  /* Mobile tab navigation replaces the desktop account sidebar. This keeps
     My Orders focused on the order list/detail instead of profile links. */
  .account-layout .account-nav{display:none;}
  .address-book-layout{grid-template-columns:1fr;}.saved-address-grid{grid-template-columns:1fr;}.address-card--new{order:2;}
  .account-profile-grid{grid-template-columns:1fr;}.account-email-field{grid-column:auto;}
  .account-welcome{align-items:flex-start; flex-direction:column; padding:19px;}.account-welcome .btn{min-height:0; padding:7px 11px; font-size:11px;}.account-summary-grid{gap:8px;}.account-summary-card{padding:11px 8px; gap:6px;}.account-summary-card>svg{width:16px;height:16px;}.account-summary-card b{font-size:18px;}.account-summary-card small{font-size:10px;}.account-quick-actions{grid-template-columns:1fr;}.account-recent-order{grid-template-columns:minmax(0,1fr) auto 14px; gap:9px;}.account-recent-order>b{grid-column:2; grid-row:1;}.account-recent-order .order-status{grid-column:2; grid-row:2;}.account-recent-order>svg{grid-column:3; grid-row:1 / span 2;}
  .order-history-tools{align-items:stretch; flex-direction:column; gap:10px;}
  .order-filter-tabs{flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px;}
  .order-filter-tabs a{white-space:nowrap;}.order-search{min-width:0;}
  .order-row{align-items:flex-start; gap:8px;}.order-status-group{order:3; width:100%;}.order-total{margin-left:auto;}
  .order-card-main{padding:14px;}.order-card-actions{padding:10px 14px; flex-wrap:wrap;}.order-review-link{margin-left:0;}
  /* Product cards need more usable width than the general page gutters on
     small screens. Keep two columns, but reclaim that excess side space. */
  .product-grid:not(.cs-product-grid){margin-inline:-16px; gap:12px;}
  .product-grid:not(.cs-product-grid) .p-card{padding:10px;}
  .product-grid:not(.cs-product-grid) .p-media{margin-bottom:10px;}
  /* The bottom bar owns mobile sorting/filtering. Keep this header focused
     on search and products, without the duplicate desktop title/controls. */
  .sec-shop{padding:16px 0 72px;}
  .sec-shop>.wrap>.section-head{display:none;}
  .shop-top-controls{display:block;margin:0 0 12px;padding:0;background:transparent;border:0;border-radius:0;}
  .shop-search-top{margin:0 0 12px; max-width:none;}
  .shop-search-top input{padding:12px 13px; font-size:12px;}
  .shop-search-top button{padding:0 13px;}
  .shop-search-top button span{display:none;}
  .shop-toolbar{margin-bottom:12px; min-height:0;}
  .shop-toolbar>.shop-filter-toggle{display:none;}
  .shop-toolbar>.shop-sort{display:none;}
  .sec-shop>.wrap>.section-head>.result-count{display:none;}
  .order-detail-hero{padding:19px; border-radius:14px; align-items:flex-start;}
  .order-detail-hero h1{font-size:20px;}
  .order-detail-total strong{font-size:21px;}
  .order-detail-card{padding:16px; border-radius:14px;}
  .order-item-detail{grid-template-columns:minmax(0,1fr) auto; gap:5px 12px;}
  .order-item-detail>span{grid-column:1/2; grid-row:2; font-size:11px;}
  .order-item-detail strong{grid-column:2/3; grid-row:1/3; align-self:center;}
  .order-timeline-card .track-steps{align-items:flex-start; gap:0; overflow-x:auto; justify-content:flex-start; padding-bottom:4px;}
  .order-timeline-card .track-step{min-width:72px; flex:0 0 72px; font-size:9.5px;}
  .order-timeline-card .track-steps::before{left:36px; right:auto; width:calc(100% - 72px);}
  .address-grid, .farmer-grid, .recipe-grid{grid-template-columns:1fr;}
  .footer-grid{--footer-cols:1; grid-template-columns:repeat(var(--footer-cols,1),1fr); text-align:center;}
  .f-social{justify-content:center;}
  .footer-bottom{justify-content:center; text-align:center;}
}


/* =========================================================
   SLIDER / LATEST / OFFER / MARQUEE / CAROUSEL MODULES
========================================================= */
/* =========================================================
   HERO SLIDER - FULL WIDTH & RESPONSIVE
========================================================= */

.sec-slider-full {
    display: block !important;

    width: 100vw !important;
    max-width: 100vw !important;

    margin: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    background: transparent !important;

    overflow: hidden !important;
    box-sizing: border-box !important;
}


.sec-slider-full .slider {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

    overflow: hidden !important;

    box-sizing: border-box !important;
}


.sec-slider-full .slider-track {
    display: flex !important;

    width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    transition: transform .5s ease;
}


.sec-slider-full .slide {
    position: relative !important;

    flex: 0 0 100% !important;

    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: var(--slide-padding, 0px) !important;

    background: transparent !important;

    overflow: hidden !important;

    box-sizing: border-box !important;
}


/* Actual banner image */
.sec-slider-full .slide-image {
    display: block !important;

    width: var(--slide-image-width, 100%) !important;
    max-width: 100% !important;

    height: var(--slide-height, auto) !important;
    min-height: 0 !important;

    margin: 0 auto !important;
    padding: 0 !important;

    border: var(--slide-border, 0px) solid currentColor !important;
    border-radius: var(--slide-radius, 0px) !important;

    object-fit: var(--slide-fit, contain) !important;

    /*vertical-align: top !important;*/
}


/* Text overlay */
.sec-slider-full .slide-copy {
    position: absolute !important;

    inset: 0 !important;

    z-index: 5;

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: clamp(20px, 5vw, 60px);

    max-width: 600px;

    box-sizing: border-box;

    line-height: normal;
}


/* Arrows */
.sec-slider-full .slider-arrow {
    position: absolute !important;

    top: 50% !important;

    transform: translateY(-50%) !important;

    z-index: 20 !important;

    width: 44px !important;
    height: 44px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 1px solid rgba(74,58,34,.15) !important;

    border-radius: 50% !important;

    background: rgba(255,255,255,.95) !important;

    color: var(--forest-deep) !important;

    cursor: pointer;

    box-sizing: border-box !important;
}

.sec-slider-full .slider-arrow.prev {
    left: 18px !important;
}

.sec-slider-full .slider-arrow.next {
    right: 18px !important;
}

.sec-slider-full .slider-arrow svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
}


/* Dots */
.sec-slider-full .slider-dots {
    position: absolute !important;

    left: 0 !important;
    right: 0 !important;
    bottom: 14px !important;

    z-index: 20 !important;

    display: flex !important;

    justify-content: center !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;
}

.sec-slider-full .slider-dots span {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: rgba(255,255,255,.85);

    cursor: pointer;
}

.sec-slider-full .slider-dots span.on {
    width: 22px;
    border-radius: 5px;
    background: var(--gold);
}


/* Remove slider-generated extra spacing */
.sec-slider-full,
.sec-slider-full::before,
.sec-slider-full::after,
.sec-slider-full .slider,
.sec-slider-full .slider::before,
.sec-slider-full .slider::after,
.sec-slider-full .slider-track,
.sec-slider-full .slide,
.sec-slider-full .slide::before,
.sec-slider-full .slide::after {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* Remove old photo overlay */
.sec-slider-full .slide.has-photo-bleed::before {
    display: none !important;
    content: none !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 980px) {

    .sec-slider-full .slider-arrow {
        width: 38px !important;
        height: 38px !important;
    }

    .sec-slider-full .slider-arrow.prev {
        left: 12px !important;
    }

    .sec-slider-full .slider-arrow.next {
        right: 12px !important;
    }

    .sec-slider-full .slide-copy {
        padding: 30px;
        max-width: 500px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .sec-slider-full {
        width: 100vw !important;
        max-width: 100vw !important;

        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;

        padding: 0 !important;
    }

    .sec-slider-full .slider {
        width: 100% !important;
        height: auto !important;
    }

    .sec-slider-full .slide {
        width: 100% !important;
        min-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;
    }

    .sec-slider-full .slide-image {
        width: 100% !important;
        max-width: 100% !important;
        height: var(--slide-height, auto) !important;
    }

    .sec-slider-full .slider-arrow {
        width: 34px !important;
        height: 34px !important;
    }

    .sec-slider-full .slider-arrow.prev {
        left: 8px !important;
    }

    .sec-slider-full .slider-arrow.next {
        right: 8px !important;
    }

    .sec-slider-full .slider-arrow svg {
        width: 14px;
        height: 14px;
    }

    .sec-slider-full .slide-copy {
        padding: 15px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

    .sec-slider-full .slider-arrow {
        width: 30px !important;
        height: 30px !important;
    }

    .sec-slider-full .slider-arrow.prev {
        left: 6px !important;
    }

    .sec-slider-full .slider-arrow.next {
        right: 6px !important;
    }
}

/* ---- Offer Products section ---- */
.offer-eyebrow{color:#B0291B; display:flex; align-items:center; gap:6px;}
.offer-eyebrow-ic{width:14px !important; height:14px !important;}
.offer-eyebrow svg{stroke:#B0291B;}
.sec-offerprods .p-card{position:relative;}
.sec-offerprods .p-price s{color:#B0291B; opacity:0.7;}
.offer-empty{
  background:var(--white); border-radius:20px; padding:50px 30px; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:14px;
  box-shadow:0 10px 22px -16px rgba(28,46,22,0.2);
}
.offer-empty-ic{width:56px; height:56px; border-radius:50%; background:var(--cream-2);
  display:flex; align-items:center; justify-content:center;}
.offer-empty-ic svg{width:26px; height:26px; stroke:var(--forest);}
.offer-empty p{font-size:13.5px; color:var(--brown-soft); line-height:1.7; max-width:380px;}

/* Automatic discount % badge on any product with a compare-at price */
.p-discount-badge{
  position:absolute; top:14px; left:14px; z-index:2;
  background:#B0291B; color:#fff; font-size:10px; font-weight:800; letter-spacing:0.02em;
  padding:5px 10px; border-radius:999px;
}

/* =========================================================
   CART DRAWER (slide-out sidebar, opens on Add to Cart)
========================================================= */
.cart-drawer-overlay{
  position:fixed; inset:0; background:rgba(19,40,16,0.5); z-index:108;
  opacity:0; pointer-events:none; transition:opacity .25s ease;
}
.cart-drawer-overlay.active{opacity:1; pointer-events:auto;}
.cart-drawer{
  position:fixed; top:0; right:0; bottom:0; width:400px; max-width:92vw; background:var(--cream);
  z-index:109; display:flex; flex-direction:column; box-shadow:-16px 0 40px rgba(19,40,16,0.25);
  transform:translateX(100%); transition:transform .3s ease;
}
.cart-drawer.active{transform:translateX(0);}
.cart-drawer-head{
  display:flex; align-items:center; justify-content:space-between; padding:22px 24px;
  border-bottom:1px solid rgba(74,58,34,0.12);
}
.cart-drawer-head h3{font-size:17px; display:flex; align-items:center; gap:8px;}
.cart-drawer-close{background:none; border:none; font-size:26px; line-height:1; cursor:pointer; color:var(--brown-soft);}
.cart-drawer-items{flex:1; overflow-y:auto; padding:14px 24px;}
.drawer-item{display:flex; gap:12px; padding:14px 0; border-bottom:1px dashed rgba(74,58,34,0.12);}
.drawer-item-media{width:54px; height:54px; border-radius:10px; background:var(--cream-2); flex-shrink:0; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.drawer-item-media img{width:100%; height:100%; object-fit:cover;}
.drawer-item-media svg{width:24px; height:24px; stroke:var(--forest-deep);}
.drawer-item-body{flex:1;}
.drawer-item-body h4{font-size:13.5px; margin-bottom:2px;}
.drawer-item-meta{display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--brown-soft); margin-top:6px;}
.drawer-item-price{font-family:'Fraunces',serif; font-weight:700; color:var(--forest-deep); font-size:13.5px;}
.cart-drawer-foot{padding:18px 24px 24px; border-top:1px solid rgba(74,58,34,0.12); display:flex; flex-direction:column; gap:10px;}
.cart-drawer-total{display:flex; justify-content:space-between; font-size:14.5px; margin-bottom:6px;}
.cart-drawer-total b{font-family:'Fraunces',serif; font-size:18px; color:var(--forest-deep);}
.cart-drawer-empty{text-align:center; padding:50px 20px; color:var(--brown-soft); font-size:13.5px;}


/* ---- Stock stepper (admin) ---- */
/* =========================================================
   STOCK STEPPER - ADMIN
========================================================= */

.stock-stepper {
  display: block !important;
  width: 100% !important;
  max-width: 40% !important;
}

.stock-current {
  display: block;
  margin-bottom: 10px;
}

.stock-current b {
  display: block;
  font-size: 22px;
  line-height: 1.2;
  color: var(--forest-deep);
  text-align:center;
}

/* Input + buttons row */
.stock-adjust-row {
  display: flex !important;
  align-items: center;
  gap: 8px;
  width: 100% !important;
}

/* Enter count */
.stock-adjust-row input#stockAmount {
  display: block !important;
  flex: 1 1 auto !important;
  width: 80% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 42px !important;
  box-sizing: border-box;

  border: 1px solid rgba(74,58,34,0.2);
  border-radius: 10px;
  background: var(--white);

  padding: 10px 12px;
  font-family: inherit;
  font-size: 14px;
  color: var(--brown);
  outline: none;
}

.stock-adjust-row input#stockAmount:focus {
  border-color: var(--forest);
}

/* Stock +/- buttons */
.stock-adjust-row .stock-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;

  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;

  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;

  flex: 0 0 42px !important;

  padding: 0 !important;
  margin: 0 !important;

  border: 1px solid rgba(74,58,34,0.2);
  border-radius: 8px;

  background: var(--cream-2);
  color: var(--forest-deep);

  font-size: 18px;
  font-weight: 700;
  line-height: 1;

  cursor: pointer;
}

.stock-adjust-row .stock-btn:hover {
  background: var(--forest);
  color: var(--white);
}

.stock-adjust-row .stock-btn:active {
  transform: scale(0.96);
}

/* =========================================================
   ADMIN PRODUCT ATTRIBUTES & VARIATIONS
========================================================= */

.product-attributes,
.attributes-section {
  width: 100%;
  margin: 0;
  padding: 0;
}

.attribute-block {
  width: 100%;
  margin: 0 0 18px;
  padding: 18px;
  background: var(--cream-2);
  border: 1px solid rgba(74, 58, 34, 0.10);
  border-radius: 14px;
  box-sizing: border-box;
}

.attribute-block:last-child { margin-bottom: 0; }

.attribute-block h4,
.attribute-block .attribute-title {
  margin: 0 0 10px;
  color: var(--forest-deep);
  font-size: 15px;
  font-weight: 700;
}

.attribute-name,
.attribute-block input.attribute-name {
  display: block;
  width: 100%;
  height: 42px;
  margin: 0 0 12px;
  padding: 9px 12px;
  box-sizing: border-box;
  border: 1px solid rgba(74, 58, 34, 0.20);
  border-radius: 9px;
  background: var(--white);
  color: var(--brown);
  font-family: inherit;
  font-size: 13px;
  outline: none;
}

.attribute-name:focus {
  border-color: var(--forest);
  box-shadow: 0 0 0 2px rgba(34, 70, 29, 0.08);
}

.attribute-values {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 0;
}

.attribute-value-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 0;
}

.attribute-value-row input {
  flex: 1;
  width: 100%;
  height: 40px;
  margin: 0;
  padding: 8px 12px;
  box-sizing: border-box;
  border: 1px solid rgba(74, 58, 34, 0.20);
  border-radius: 9px;
  background: var(--white);
  color: var(--brown);
  font-family: inherit;
  font-size: 13px;
  outline: none;
}

.attribute-value-row input:focus { border-color: var(--forest); }

.attribute-value-remove,
.attribute-remove {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #C4463B;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.attribute-value-remove:hover,
.attribute-remove:hover { color: #9F2118; }

.add-attribute-btn,
.add-value-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  margin: 10px 0 0;
  padding: 8px 16px;
  border: 1px solid var(--forest);
  border-radius: 9px;
  background: transparent;
  color: var(--forest);
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}

.add-attribute-btn:hover,
.add-value-btn:hover {
  background: var(--forest);
  color: var(--white);
}

/* =====================================================
   ATTRIBUTE + VARIATION TOGGLE - FINAL SIZE
===================================================== */

.attribute-toggle-title strong{
  font-size:15px !important;
  font-weight:700 !important;
}

.attribute-toggle-title small{
  font-size:12px !important;
  margin-top:4px !important;
}

.attribute-chevron{
  font-size:23px !important;
  font-weight:600 !important;
  line-height:1 !important;
  width:30px !important;
  text-align:center !important;
}

.variation-toggle-title strong{
  font-size:18px !important;
  font-weight:600 !important;
}

.variation-toggle-title .admin-hint{
  font-size:12px !important;
}

.variation-chevron{
  font-size:23px !important;
  font-weight:600 !important;
  line-height:1 !important;
  width:30px !important;
  text-align:center !important;
}


/* =========================================================
   GENERATED VARIATIONS
========================================================= */

.variations-section {
  width: 100%;
  margin: 24px 0 0;
  padding: 20px 0 0;
  border-top: 1px solid rgba(74, 58, 34, 0.12);
}

.variations-section h3 {
  margin: 0 0 6px;
  color: var(--forest-deep);
  font-size: 18px;
}

.variations-section > p {
  margin: 0 0 16px;
  color: var(--brown-soft);
  font-size: 12px;
  line-height: 1.5;
}

.generate-variations-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin: 0 0 18px;
  padding: 9px 18px;
  border: 0;
  border-radius: 9px;
  background: var(--forest);
  color: var(--white);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.generate-variations-btn:hover { background: var(--forest-deep); }

/* =========================================================
   VARIATION ROW
========================================================= */

.variant-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.8fr) minmax(110px, 1fr) minmax(110px, 1fr) minmax(100px, 1fr) 36px;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0 0 8px;
  padding: 0;
}

.variant-row input,
.variant-row select {
  width: 100%;
  height: 40px;
  margin: 0;
  padding: 8px 10px;
  box-sizing: border-box;
  border: 1px solid rgba(74, 58, 34, 0.20);
  border-radius: 8px;
  background: var(--white);
  color: var(--brown);
  font-family: inherit;
  font-size: 13px;
  outline: none;
}

.variant-row input:focus,
.variant-row select:focus {
  border-color: var(--forest);
  box-shadow: 0 0 0 2px rgba(34, 70, 29, 0.06);
}

.variant-row .variant-name {
  font-weight: 600;
  color: var(--forest-deep);
}

.variant-remove {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #C4463B;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.variant-remove:hover { color: #9F2118; }

.variation-header {
  display: grid;
  grid-template-columns: minmax(180px, 1.8fr) minmax(110px, 1fr) minmax(110px, 1fr) minmax(100px, 1fr) 36px;
  gap: 8px;
  margin: 0 0 8px;
  padding: 0 0 6px;
  border-bottom: 1px solid rgba(74, 58, 34, 0.10);
}

.variation-header span {
  color: var(--brown-soft);
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.variations-empty {
  margin: 0;
  padding: 22px;
  border: 1px dashed rgba(74, 58, 34, 0.20);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.45);
  color: var(--brown-soft);
  font-size: 12.5px;
  text-align: center;
}

@media (max-width: 700px) {
  .attribute-block { padding: 14px; }

  .variant-row {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "name remove"
      "price compare"
      "stock stock";
    gap: 8px;
  }

  .variant-row .variant-name { grid-area: name; }
  .variant-row input:nth-child(2) { grid-area: price; }
  .variant-row input:nth-child(3) { grid-area: compare; }
  .variant-row input:nth-child(4) { grid-area: stock; }
  .variant-row .variant-remove { grid-area: remove; justify-self: end; }
  .variation-header { display: none; }
}

@media (max-width: 480px) {
  .attribute-block { padding: 12px; }
  .attribute-value-row { gap: 6px; }
  .attribute-value-remove { width: 28px; flex-basis: 28px; }

  .variant-row {
    grid-template-columns: 1fr;
    grid-template-areas:
      "name"
      "price"
      "compare"
      "stock"
      "remove";
  }

  .variant-row .variant-remove { justify-self: end; }
}

/* ---- Tag checkboxes (admin) ---- */
/* Tag Add Button */
#addTagBtn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:40% !important;
  height:42px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid var(--forest) !important;
  border-radius:999px !important;
  background:#22461D !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:700 !important;
  cursor:pointer;
}

#addTagBtn:hover{
  background:var(--forest) !important;
  color:#fff !important;
}
/* ---- Attribute/tag chip list (shared by admin/attributes.php and admin/tags.php) ---- */
.attr-value-list{display:flex; flex-wrap:wrap; gap:8px;}
.attr-value-chip{background:var(--cream-2); border-radius:999px; padding:6px 8px 6px 14px; font-size:12.5px; display:flex; align-items:center; gap:6px;}
.attr-value-chip button{background:none; border:none; color:#C4463B; font-size:16px; cursor:pointer; padding:0 4px;}

/* ---- Variant picker: selectable pill buttons (customer product page) ---- */
.pd-variant-picker{margin:10px 0;}
.pd-variant-label{display:block; font-size:12.5px; font-weight:700; color:var(--brown-soft); margin-bottom:8px; text-transform:uppercase; letter-spacing:0.03em;}
.variant-btn-group{display:flex; flex-wrap:wrap; gap:10px;}
.variant-btn{
  border:1.5px solid rgba(74,58,34,0.25); background:var(--white); border-radius:10px;
  padding:10px 18px; font-size:13.5px; font-weight:700; color:var(--brown); cursor:pointer;
  transition:all .15s ease;
}
.variant-btn:hover:not(.disabled){border-color:var(--forest);}
.variant-btn.active{background:#eef5eb; border-color:var(--forest); color:var(--forest-deep);}
.variant-btn.disabled, .variant-btn:disabled{opacity:0.4; cursor:not-allowed; text-decoration:line-through;}
.pd-variant-stock{font-size:12px; color:var(--brown-soft); margin-top:8px; min-height:16px;}
.pd-variant-stock.out-of-stock{color:#C4463B; font-weight:700;}

@media (max-width:600px){
  .variant-btn{padding:9px 14px; font-size:13px;}
  .tag-checkbox{padding:7px 12px; font-size:12.5px;}
}
.tag-dropdown{width:100%; max-width:320px; border:1px solid rgba(74,58,34,0.2); border-radius:10px; padding:8px; font-size:13px; font-family:inherit;}
.tag-dropdown option{padding:6px 8px;}

/*====customers admin css=====*/
.customer-address-card{background:var(--cream-2); border-radius:12px; padding:14px 16px; margin-bottom:10px;}
.customer-address-card b{display:block; margin-bottom:4px; font-size:13.5px;}
.customer-address-card p{font-size:12.5px; color:var(--brown-soft); margin:2px 0;}
/*checkout new css — single-page WooCommerce-style layout */
.checkout-section-title{margin-bottom:6px;}
.checkout-layout{align-items:flex-start;}
.checkout-order-col{display:flex; flex-direction:column; gap:20px;}
/* The order card can be tall (many items/payment choices), so it must flow
   with the checkout page instead of inheriting cart.php's sticky summary. */
.checkout-layout .cart-summary{position:static; top:auto;}
.checkout-payment .btn-block{width:100%;}
.checkout-account-choice{background:var(--cream-2); border:1px solid rgba(74,58,34,.12); border-radius:16px; padding:20px 22px; margin-bottom:22px; display:grid; grid-template-columns:1fr auto; gap:12px 24px; align-items:center;}
.checkout-account-choice h3{font-size:18px; margin:0 0 4px;}.checkout-account-choice p{font-size:13px; color:var(--brown-soft); margin:0; line-height:1.5;}.checkout-choice-eyebrow{font-size:11px!important; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--gold)!important; margin:0 0 4px!important;}.checkout-choice-actions{display:flex; gap:10px; flex-wrap:wrap;}.checkout-choice-footnote{grid-column:1/-1; font-size:12px!important;}.checkout-field-note{font-weight:400; color:var(--brown-soft);}.checkout-optional{font-weight:400; color:var(--brown-soft);}.checkout-billing input[readonly]{background:var(--cream-2); color:var(--brown-soft); cursor:default;}.checkout-notes{grid-column:1/-1; background:var(--white); border-radius:18px; padding:22px 26px; box-shadow:0 10px 22px -16px rgba(28,46,22,.2);}.checkout-notes h3{font-size:17px; margin-bottom:12px;}.checkout-notes label{font-size:12.5px; font-weight:700; color:var(--brown); display:flex; flex-direction:column; gap:6px;}.checkout-notes textarea{border:1px solid rgba(74,58,34,.2); border-radius:10px; padding:11px 14px; font:inherit; font-size:13.5px; outline:none; width:100%; resize:vertical;}.checkout-notes textarea:focus{border-color:var(--forest);}
.checkout-saved-address{display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:15px; border:1px solid rgba(31,79,43,.28); border-radius:12px; background:#f7fcf7;}.checkout-saved-address[hidden]{display:none;}.checkout-saved-address b{font-size:13px; color:var(--forest-deep);}.checkout-saved-address p{margin:5px 0 0; color:var(--brown-soft); font-size:12.5px; line-height:1.5;}.checkout-address-actions{display:flex; flex:0 0 auto; gap:8px; flex-wrap:wrap; justify-content:flex-end;}.checkout-change-address{padding:8px 11px; font-size:12px;}
.checkout-billing{border:1px solid rgba(74,58,34,.11); box-shadow:0 12px 30px -22px rgba(28,46,22,.28);}.checkout-billing > :first-child{padding-bottom:15px; border-bottom:1px solid rgba(74,58,34,.12);}.checkout-billing .checkout-section-title{font-size:20px;}.checkout-billing #shippingAddressEditor{display:grid; gap:15px;}.checkout-billing #shippingAddressEditor .admin-form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}.checkout-billing #shippingAddressEditor label{font-size:11.5px; letter-spacing:.01em;}.checkout-billing #shippingAddressEditor input,.checkout-billing #shippingAddressEditor select{min-height:43px; border-color:#dbe3ed; background:#fcfdff; padding:11px 13px;}.checkout-billing #shippingAddressEditor input::placeholder{color:#91a0b4;}.checkout-billing #shippingAddressEditor input:focus,.checkout-billing #shippingAddressEditor select:focus{border-color:var(--forest); box-shadow:0 0 0 3px rgba(31,79,43,.10);}.checkout-billing #shippingAddressEditor > .admin-hint{margin:-7px 0 1px;}.checkout-billing #shippingAddressEditor[hidden]{display:none;}
.checkout-address-form-heading{display:flex;flex-direction:column;gap:3px;padding:0 0 3px;}.checkout-address-form-heading h4{margin:0;font-size:15px;color:var(--forest-deep);}.checkout-address-form-heading small{color:var(--brown-soft);font-size:11.5px;line-height:1.4;font-weight:400;}
.checkout-input-wrap{position:relative; display:block; width:100%;}.checkout-field-icon{position:absolute; left:13px; top:50%; width:15px; height:15px; color:#8798ad; transform:translateY(-50%); pointer-events:none; z-index:1;}.checkout-billing #shippingAddressEditor .checkout-input-wrap input,.checkout-billing #shippingAddressEditor .checkout-input-wrap select{padding-left:39px;}.checkout-billing #shippingAddressEditor .checkout-input-wrap select{appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--brown-soft) 50%),linear-gradient(135deg,var(--brown-soft) 50%,transparent 50%); background-position:calc(100% - 16px) 18px,calc(100% - 11px) 18px; background-size:5px 5px,5px 5px; background-repeat:no-repeat;}
.checkout-billing-toggle{display:flex!important; flex-direction:row!important; align-items:flex-start; gap:10px; padding:13px 14px; border:1px solid rgba(74,58,34,.18); border-radius:10px; cursor:pointer;}.checkout-billing-toggle input{width:auto!important; margin-top:3px;}.checkout-billing-toggle b,.checkout-billing-toggle small{display:block;}.checkout-billing-toggle small{margin-top:3px; color:var(--brown-soft); font-weight:400; line-height:1.4;}.checkout-billing-fields{display:flex; flex-direction:column; gap:14px; padding:16px; border:1px solid rgba(74,58,34,.16); border-radius:12px; background:var(--cream-2);}.checkout-billing-fields[hidden]{display:none;}.checkout-billing-fields h4{margin:0; font-size:15px;}
.checkout-add-shipping{align-self:flex-start;padding:9px 16px;font-size:12px;}.checkout-add-shipping[hidden]{display:none;}
#savedAddressChooser{display:grid;gap:8px;}#savedAddressChooser[hidden]{display:none;}
.checkout-address-save-row{display:flex;align-items:center;gap:12px;padding-top:3px;}.checkout-address-save-row .btn{min-height:40px;padding:10px 18px;font-size:12px;}.checkout-address-save-row small{color:var(--brown-soft);font-size:10.5px;line-height:1.4;}.checkout-address-save-row #cancelShippingAddress{background:transparent;}
.order-cancel-btn{color:#b33a32!important; border-color:rgba(179,58,50,.36)!important;}.order-cancel-btn:hover{background:#fff1ef!important;}
.order-hide-form{position:absolute;top:11px;right:12px;z-index:3;display:flex;align-items:center;}.order-card:has(.order-history-remove) .order-total{margin-right:40px;}.order-history-remove{width:30px;height:30px;border:1px solid rgba(179,58,50,.3);border-radius:50%;background:transparent;color:#b33a32;font-size:21px;line-height:1;cursor:pointer;display:grid;place-items:center;}.order-history-remove:hover{background:#fff1ef;border-color:#b33a32;}
.address-choice-list{display:flex; flex-direction:column; gap:8px; margin-bottom:14px;}
.address-choice-card, .payment-choice-card{display:flex; gap:10px; align-items:flex-start; padding:14px; border:1px solid rgba(74,58,34,0.2); border-radius:10px; cursor:pointer; margin-bottom:10px;}
.address-choice-card input, .payment-choice-card input{margin-top:3px;}
.address-choice-card b, .payment-choice-card b{display:flex; align-items:center; gap:6px; font-size:13px;}
.address-choice-card small, .payment-choice-card small{display:block; font-size:11.5px; color:var(--brown-soft); margin-top:2px;}
.payment-choice-card:has(input[value="whatsapp"]):hover{border-color:#25D366;}
.payment-choice-card:has(input[value="whatsapp"]) b{color:#1ebe5d;}
.payment-qr-preview{width:120px; height:120px; object-fit:contain; margin-top:8px; border:1px solid rgba(74,58,34,0.2); border-radius:8px; background:#fff; padding:4px;}
.qr-payment-details{margin:-2px 0 12px; padding:14px; border:1px solid rgba(31,79,43,.28); border-radius:12px; background:#f4fbf5;}
.qr-payment-details[hidden]{display:none;}
.qr-payment-details .payment-qr-preview{display:block; width:156px; height:156px; margin:10px auto;}
.qr-payment-step,.qr-payment-amount,.qr-payment-recipient{margin:6px 0; font-size:13px; color:var(--brown); line-height:1.45;}
.qr-payment-amount{font-size:15px; color:var(--forest-deep);}
.qr-payment-recipient code{font-size:12px; word-break:break-all;}
.qr-reference-label{display:flex; flex-direction:column; gap:6px; margin-top:12px; font-size:12.5px; font-weight:700; color:var(--brown);}
.qr-reference-label input{border:1px solid rgba(74,58,34,.24); border-radius:9px; padding:10px 12px; font:inherit; background:#fff;}
.qr-reference-label input:focus{outline:2px solid rgba(31,79,43,.24); outline-offset:1px;}
.qr-payment-proof-options{display:flex; flex-direction:column; gap:9px; margin-top:10px;}.qr-proof-or{align-self:center; font-size:12px; font-weight:800; color:var(--brown-soft); text-transform:uppercase;}.qr-reference-label input[type="file"]{padding:8px; font-size:12px;}.qr-reference-label small{font-weight:400; color:var(--brown-soft); line-height:1.4;}
.qr-payment-details > small{display:block; margin-top:8px; color:var(--brown-soft); font-size:11.5px; line-height:1.45;}
.sum-variant-label{display:block; font-size:11px; color:var(--brown-soft); margin-top:2px;}
@media (max-width:980px){
  /* Keep the form's natural, accessible order: billing details first, then
     order summary and payment options. */
  .checkout-billing,.checkout-order-col{order:0;}
  /* Checkout has several large cards and external-payment elements. Keep
     the mobile navigation, menu, and optional contact buttons tappable
     above those page layers; an open cart drawer still sits above all of
     them at z-index 108/109. */
  body[data-page="checkout"] .site-nav{position:relative; z-index:102;}
  body[data-page="checkout"] .mobile-tabbar{display:flex; z-index:100; pointer-events:auto;}
  body[data-page="checkout"] .floating-actions{z-index:101; pointer-events:auto;}

  /* Cart page: ensure floating WhatsApp/Call buttons are visible above
     the mobile tab bar (z-index 70). Floating actions use z-index 80 by default,
     but explicit rules here guarantee they stay tappable even if other
     fixed elements overlap. */
  body[data-page="cart"] .floating-actions{z-index:101; pointer-events:auto;}
  body[data-page="cart"] .mobile-tabbar{z-index:100; pointer-events:auto;}
  .checkout-account-choice{grid-template-columns:1fr;}.checkout-choice-actions{width:100%;}.checkout-choice-actions .btn{flex:1; justify-content:center;}.checkout-notes{grid-column:auto;}
  .checkout-saved-address{flex-direction:column;}.checkout-address-actions{width:100%;}.checkout-change-address{flex:1; justify-content:center;}
  .checkout-billing #shippingAddressEditor .admin-form-row{grid-template-columns:1fr; gap:15px;}
  body[data-page="cart"] .site-nav{position:relative; z-index:102;}
}
/* forgot & reset password */
.auth-forgot-link{float:right; font-size:12px; font-weight:600; color:var(--forest);}
.dev-reset-note{background:var(--cream-2); border-radius:10px; padding:14px; margin-top:14px; word-break:break-all;}
.dev-reset-note a{font-size:12px; color:var(--forest); text-decoration:underline;}


/* ==== Menu css ====*/
.nav-item{position:relative;}
.nav-item.has-submenu > a{display:flex; align-items:center; gap:4px;}
.submenu-caret{width:10px; height:10px;}
.submenu-dropdown{
  position:absolute; top:100%; left:0; background:var(--white); border-radius:10px; padding:8px;
  box-shadow:0 12px 30px -10px rgba(0,0,0,0.25); min-width:180px; display:none; z-index:20;
}
.nav-item.has-submenu:hover .submenu-dropdown{display:block;}
.submenu-dropdown a{display:block; padding:8px 12px; border-radius:6px; font-size:13px;}
.submenu-dropdown a:hover{background:var(--cream-2);}

/* =========================================================
   GENERAL SETTINGS TABS
========================================================= */

.settings-tabs {
    display: flex;
    align-items: center;
    gap: 4px;

    width: fit-content;

    margin: 0 0 22px;

    padding: 4px;

    background: rgba(74, 58, 34, 0.07);

    border: 1px solid rgba(74, 58, 34, 0.08);

    border-radius: 12px;
}


.settings-tab {
    appearance: none;

    border: 0;

    margin: 0;

    padding: 10px 24px;

    min-width: 105px;

    background: transparent;

    color: var(--brown-soft);

    border-radius: 9px;

    font-family: inherit;

    font-size: 13px;

    font-weight: 700;

    line-height: 1.2;

    cursor: pointer;

    transition:
        background .18s ease,
        color .18s ease,
        box-shadow .18s ease;
}


.settings-tab:hover {
    color: var(--forest-deep);

    background: rgba(255,255,255,.55);
}


.settings-tab.active {
    color: #fff;

    background: var(--forest-deep);

    box-shadow:
        0 5px 14px -7px rgba(0,0,0,.35);
}


/* =========================================================
   TAB CONTENT
========================================================= */

.settings-tab-content {
    display: none;

    width: 100%;
}


.settings-tab-content.active {
    display: block;
}


/* =========================================================
   SETTINGS PANEL
========================================================= */

.settings-panel {
    width: 100%;

    max-width: 720px !important;

    box-sizing: border-box;
}


.settings-panel-heading {
    margin-bottom: 24px;
}


.settings-panel-heading h3 {
    margin: 0 0 6px;

    color: var(--forest-deep);

    font-size: 19px;
}


.settings-panel-heading .admin-hint {
    margin: 0;

    line-height: 1.55;
}


.settings-section-title {
    margin-top: 28px;

    padding-top: 22px;

    border-top: 1px solid rgba(74,58,34,.10);
}


.settings-section-title h3 {
    margin: 0 0 5px;

    font-size: 16px;

    color: var(--forest-deep);
}


.settings-section-title .admin-hint {
    margin: 0;

    line-height: 1.5;
}


/* =========================================================
   PAYMENT GATEWAY
========================================================= */

.payment-settings-panel {
    max-width: 760px !important;
}


.payment-gateway-card {
    width: 100%;

    box-sizing: border-box;

    margin-bottom: 18px;

    padding: 22px;

    background: var(--cream-2);

    border: 1px solid rgba(74,58,34,.12);

    border-radius: 16px;
}


/* Gateway heading */

.payment-gateway-header {
    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 24px;

    margin-bottom: 22px;
}


.payment-gateway-header h4 {
    margin: 0 0 5px;

    color: var(--forest-deep);

    font-size: 16px;

    line-height: 1.3;
}


.payment-gateway-header .admin-hint {
    max-width: 500px;

    margin: 0;

    line-height: 1.5;
}


/* COD doesn't need field spacing */

.payment-gateway-header.cod-header {
    margin-bottom: 0;
}


/* =========================================================
   ENABLE CHECKBOX
========================================================= */

.gateway-toggle {
    display: flex !important;

    flex-direction: row !important;

    align-items: center !important;

    justify-content: flex-start !important;

    gap: 8px !important;

    width: auto !important;

    margin: 0 !important;

    padding: 0 !important;

    white-space: nowrap;

    cursor: pointer;
}


.gateway-toggle input[type="checkbox"] {
    appearance: auto;

    width: 17px !important;

    height: 17px !important;

    min-width: 17px !important;

    margin: 0 !important;

    padding: 0 !important;

    accent-color: var(--forest);

    cursor: pointer;
}


.gateway-toggle span {
    margin: 0;

    color: var(--forest-deep);

    font-size: 12px;

    font-weight: 700;
}


/* =========================================================
   PAYMENT FIELDS
========================================================= */

.payment-fields-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 16px;

    width: 100%;

    margin-bottom: 16px;
}


.payment-fields-grid label {
    display: flex !important;

    flex-direction: column !important;

    align-items: stretch !important;

    gap: 7px !important;

    width: 100% !important;

    margin: 0 !important;

    color: var(--forest-deep);

    font-size: 12px;

    font-weight: 700;
}


/* Inputs */

.payment-fields-grid input[type="text"],
.payment-fields-grid input[type="password"],
.payment-fields-grid input[type="url"],
.payment-fields-grid select {
    display: block;

    width: 100% !important;

    height: 42px !important;

    min-height: 42px;

    box-sizing: border-box;

    margin: 0 !important;

    padding: 9px 12px !important;

    background: var(--white) !important;

    border: 1px solid rgba(74,58,34,.20) !important;

    border-radius: 9px !important;

    color: var(--forest-deep);

    font-family: inherit;

    font-size: 13px;

    line-height: 1.2;

    outline: none;
}


.payment-fields-grid input:focus,
.payment-fields-grid select:focus {
    border-color: var(--forest) !important;

    box-shadow:
        0 0 0 2px rgba(40,64,31,.08);

    outline: none;
}


/* Field helper text */

.payment-fields-grid .admin-hint {
    display: block;

    margin: 0;

    color: var(--brown-soft);

    font-size: 10.5px;

    font-weight: 400;

    line-height: 1.4;
}


/* =========================================================
   SECURITY NOTE
========================================================= */

.payment-security-note {
    margin-top: 4px;

    padding: 11px 13px;

    background: rgba(40,64,31,.06);

    border: 1px solid rgba(40,64,31,.10);

    border-radius: 9px;

    color: var(--brown-soft);

    font-size: 11px;

    line-height: 1.5;
}


.payment-security-note strong {
    color: var(--forest-deep);
}


/* =========================================================
   SAVE MESSAGE
========================================================= */

.settings-save-message {
    max-width: 720px;

    box-sizing: border-box;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 700px) {

    .settings-tabs {
        width: 100%;

        box-sizing: border-box;
    }


    .settings-tab {
        flex: 1;

        min-width: 0;

        padding: 10px 14px;
    }


    .settings-panel {
        max-width: 100% !important;
    }


    .payment-fields-grid {
        grid-template-columns: 1fr;

        gap: 16px;
    }


    .payment-gateway-header {
        gap: 14px;
    }

}


@media (max-width: 480px) {

    .settings-tabs {
        margin-bottom: 16px;
    }


    .settings-tab {
        padding: 9px 10px;

        font-size: 12px;
    }


    .payment-gateway-card {
        padding: 17px;

        border-radius: 14px;
    }


    .payment-gateway-header {
        flex-direction: column;
    }


    .gateway-toggle {
        align-self: flex-start;
    }

}
/*===== Products =======*/
/* ---- Product gallery: main image LEFT, thumbnails as a strip beside it (not below) ---- */
.pd-gallery{display:flex; gap:14px;}
.pd-thumb-strip{display:flex; flex-direction:column; gap:10px; order:-1;}
.pd-media-main{flex:1;}
.pd-thumb{
  width:64px; height:64px; border-radius:10px; overflow:hidden; border:2px solid transparent;
  padding:0; cursor:pointer; background:var(--cream-2);
}
.pd-thumb.active{border-color:var(--forest);}
.pd-thumb img{width:100%; height:100%; object-fit:cover;}
@media (max-width:700px){
  .pd-gallery{flex-direction:column;}
  .pd-thumb-strip{order:1; flex-direction:row; overflow-x:auto;}
}

/* ---- Product card quantity stepper (grid cards) ---- */
.p-qty-stepper{display:flex; align-items:center; gap:0; height:36px; border:1px solid rgba(74,58,34,0.15); border-radius:10px; background:linear-gradient(135deg, var(--cream-2) 0%, var(--cream) 100%); padding:0 2px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.8), inset 0 -1px 0 rgba(74,58,34,0.05);}
.p-qty-btn{width:32px; height:32px; display:grid; place-items:center; flex-shrink:0; border:0; border-radius:8px; background:transparent; color:var(--forest-deep); cursor:pointer; transition:background-color 0.15s ease, color 0.15s ease, transform 0.1s ease;}
.p-qty-btn:hover{background:rgba(34,70,29,0.1); color:var(--forest); transform:scale(1.08);}
.p-qty-btn:active{transform:scale(0.95);}
.p-qty-count{min-width:24px; text-align:center; font-family:'Fraunces', serif; font-size:14px; font-weight:700; color:var(--forest-deep); user-select:none; line-height:1; padding:0 2px;}
.p-qty-btn:first-child{border-radius:8px 0 0 8px;}
.p-qty-btn:last-child{border-radius:0 8px 8px 0;}

/* ---- Admin: gallery image previews ---- */
.gallery-preview-list{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:12px;}
.gallery-preview-item{position:relative; width:70px;}
.gallery-preview-item img{width:70px; height:70px; object-fit:cover; border-radius:8px; display:block;}
.gallery-remove{
  position:absolute; top:-6px; right:-6px; width:20px; height:20px; border-radius:50%;
  background:#C4463B; color:#fff; border:none; cursor:pointer; font-size:13px; line-height:1;
}
/* SEO: image ALT text, shown under each gallery thumbnail — only when the SEO tab is unlocked (see admin/product-form.php). */
.gallery-alt-input{width:70px; margin-top:4px; padding:3px 4px; font-size:10.5px; border:1px solid rgba(74,58,34,0.2); border-radius:5px;}
/* Product card: price row, then stepper + Add to Cart button below it */
.p-price{margin-bottom:10px;}
.p-card-variations{margin:-2px 0 10px;}
.p-card-variation-options{display:flex; flex-wrap:wrap; gap:5px;}
.p-variant-option{border:1px solid rgba(74,58,34,.22); border-radius:6px; background:#fff; color:var(--forest-deep); padding:4px 7px; font:inherit; font-size:10.5px; font-weight:700; line-height:1.15; cursor:pointer;}
.p-variant-option:hover,.p-variant-option.active{border-color:var(--forest); background:var(--forest); color:#fff;}
.pd-tabs{margin-top:30px;}.pd-tab-list{display:flex;gap:26px;border-bottom:1px solid rgba(74,58,34,.14);overflow-x:auto;}.pd-tab{border:0;border-bottom:2px solid transparent;background:transparent;padding:0 0 12px;color:var(--brown-soft);font:inherit;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer;}.pd-tab.active{border-bottom-color:var(--forest);color:var(--forest-deep);}.pd-tab-panel{padding:22px 0;color:var(--brown);font-size:14px;line-height:1.7;}.pd-tab-panel[hidden]{display:none;}.pd-tab-panel h1,.pd-tab-panel h2,.pd-tab-panel h3,.pd-tab-panel h4{color:var(--forest-deep);margin:0 0 10px;}.pd-tab-panel ul,.pd-tab-panel ol{padding-left:22px;}
.product-tab-editor-row{margin:12px 0;background:var(--cream-2);border:1px solid rgba(74,58,34,.14);border-radius:12px;overflow:hidden;}.product-tab-editor-toggle{display:grid;grid-template-columns:1fr auto 20px;gap:10px;align-items:center;padding:14px;cursor:pointer;user-select:none;}.product-tab-editor-toggle:hover{background:rgba(255,255,255,.35);}.product-tab-editor-title{color:var(--forest-deep);font-size:14px;}.product-tab-editor-summary{color:var(--brown-soft);font-size:11px;}.product-tab-editor-chevron{color:var(--forest-deep);font-size:18px;transition:transform .18s ease;}.product-tab-editor-content{padding:0 14px 14px;}.product-tab-editor-row.collapsed .product-tab-editor-content{display:none;}.product-tab-editor-row.collapsed .product-tab-editor-chevron{transform:rotate(-90deg);}.product-tab-editor-head{display:grid;grid-template-columns:1fr 38px;gap:10px;align-items:end;}.product-tab-toolbar{display:flex;gap:5px;margin-top:8px;}.product-tab-toolbar button{border:1px solid rgba(74,58,34,.2);border-radius:5px;background:#fff;color:var(--forest-deep);padding:5px 8px;font:inherit;font-size:11px;cursor:pointer;}.product-tab-toolbar button:hover{background:var(--forest);color:#fff;}.product-tab-rich-editor{min-height:110px;margin-top:5px;padding:10px;background:#fff;border:1px solid rgba(74,58,34,.2);border-radius:7px;font:inherit;line-height:1.5;outline:none;}.product-tab-rich-editor:focus{border-color:var(--forest);box-shadow:0 0 0 2px rgba(34,70,29,.12);}.product-tab-rich-editor h3{margin:0 0 8px;}
.product-tab-description-editor{margin:12px 0 18px;background:var(--cream-2);border:1px solid rgba(74,58,34,.14);border-radius:12px;overflow:hidden;}.product-tab-description-editor .product-tab-editor-toggle{padding:14px;}.product-tab-description-editor .product-tab-editor-content{padding:0 14px 14px;}.product-tab-description-editor.collapsed .product-tab-editor-content{display:none;}.product-tab-description-editor.collapsed .product-tab-editor-chevron{transform:rotate(-90deg);}.product-tab-description-editor .classic-editor-panel{margin:0;background:#fff;}.product-tab-toolbar-full{flex-wrap:wrap;align-items:center;padding-bottom:3px;}.product-tab-toolbar-full select{height:29px;border:1px solid rgba(74,58,34,.2);border-radius:5px;background:#fff;color:var(--forest-deep);padding:3px 7px;font:inherit;font-size:11px;}.product-tab-toolbar-full button{min-height:29px;}.product-tab-editor-mode{display:flex;gap:0;border-bottom:1px solid rgba(74,58,34,.14);margin-top:8px;}.product-tab-editor-mode button{border:0;border-bottom:2px solid transparent;background:transparent;padding:9px 14px;color:var(--brown-soft);font:inherit;font-size:12px;font-weight:700;cursor:pointer;}.product-tab-editor-mode button.active{border-bottom-color:var(--forest);color:var(--forest-deep);}.product-tab-html-editor{display:none;width:100%;min-height:180px;margin-top:5px;padding:10px;box-sizing:border-box;border:1px solid rgba(74,58,34,.2);border-radius:7px;background:#fff;font:12px/1.5 monospace;resize:vertical;}
.p-foot{display:flex; align-items:center; gap:8px;}
/* Match custom tab editors to the full Description editor controls. */
.product-tab-editor-mode{background:var(--cream-2)!important;}
.product-tab-editor-mode button{padding:12px 18px!important;border:0!important;border-bottom:0!important;}
.product-tab-editor-mode button.active{background:var(--white)!important;box-shadow:inset 0 -2px 0 var(--forest)!important;}
.product-tab-toolbar-full{padding:10px!important;gap:5px!important;background:#fff!important;border-bottom:1px solid rgba(74,58,34,.14)!important;}
.product-tab-toolbar-full button,.product-tab-toolbar-full select{min-height:34px!important;padding:6px 10px!important;font-size:12px!important;border-radius:6px!important;}
.product-tab-html-editor{margin-top:0!important;padding:14px!important;border:0!important;border-radius:0!important;}
.product-tab-toolbar-full .tab-color-text{font-weight:800;text-decoration:underline;text-decoration-color:#222;}.product-tab-toolbar-full .tab-color-highlight{font-weight:800;background:#fff36a;}
.p-add-cart-btn{
  flex:1; background:var(--forest); color:#fff; border:none; border-radius:8px;
  padding:8px 10px; font-size:12.5px; font-weight:700; cursor:pointer; white-space:nowrap;
}
.p-add-cart-btn:hover{background:var(--forest-deep);}

@media (max-width:480px){
  .p-foot{flex-wrap:wrap;}
  .p-add-cart-btn{flex:1 1 100%;}
}
/* =========================================================
   PRODUCT EDITOR — REMOVE EXCESS SECTION SPACING
   Targets ONLY the product editor
========================================================= */

/* Product editor form */
.admin-panel:has(.gallery-preview-list) > .admin-form {
    gap: 8px !important;
}

/* Section headings: Pricing, Unit, Stock, Tags, Variants */
.admin-panel:has(.gallery-preview-list) > .admin-form > h3 {
    margin-top: 8px !important;
    margin-bottom: 4px !important;
    padding: 0 !important;

    line-height: 1.25 !important;
}

/* First section heading */
.admin-panel:has(.gallery-preview-list) > .admin-form > h3:first-of-type {
    margin-top: 4px !important;
}

/* Two-column rows */
.admin-panel:has(.gallery-preview-list) > .admin-form > .admin-form-row {
    gap: 14px !important;
    margin: 0 !important;
}

/* Labels inside product editor */
.admin-panel:has(.gallery-preview-list) > .admin-form > label {
    gap: 5px !important;
    margin: 0 !important;
}

/* Gallery preview */
.admin-panel:has(.gallery-preview-list) .gallery-preview-list {
    margin-bottom: 4px !important;
    gap: 8px !important;
}

/* Gallery file input */
.admin-panel:has(.gallery-preview-list) input[type="file"] {
    margin: 0 !important;
}

/* Small helper text */
.admin-panel:has(.gallery-preview-list) .admin-hint {
    margin: 0 !important;
    line-height: 1.35 !important;
}

/* Unit / pricing / stock rows */
.admin-panel:has(.gallery-preview-list) .admin-form-row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Stock section */
.admin-panel:has(.gallery-preview-list) .stock-stepper {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Tags section */
.admin-panel:has(.gallery-preview-list) .tag-add-btn {
    margin-top: 4px !important;
}

/* Variant section */
.admin-panel:has(.gallery-preview-list) #variantRows {
    margin-top: 0 !important;
}

/* Save buttons */
.admin-panel:has(.gallery-preview-list) .admin-btn-row {
    margin-top: 10px !important;
}


/* =========================================================
   PRODUCT EDITOR — MOBILE
========================================================= */

@media (max-width: 700px) {

    .admin-panel:has(.gallery-preview-list) > .admin-form {
        gap: 8px !important;
    }

    .admin-panel:has(.gallery-preview-list) > .admin-form > h3 {
        margin-top: 8px !important;
        margin-bottom: 4px !important;
    }

    .admin-panel:has(.gallery-preview-list) > .admin-form > .admin-form-row {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
}

/* =========================================================
   FLOATING WHATSAPP / CALL BUTTONS
   z-index:80 is deliberately below the cart drawer (98/99)
   so an open cart drawer covers these instead of overlapping it.
========================================================= */
.floating-actions{
  position:fixed; bottom:22px; z-index:80;
  display:flex; flex-direction:column; gap:12px;
  padding-bottom:env(safe-area-inset-bottom, 0);
}
.floating-actions--left{left:18px;}
.floating-actions--right{right:18px;}
.fab{
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:#fff; box-shadow:0 10px 24px -8px rgba(19,40,16,0.45);
  transition:transform .15s ease, box-shadow .15s ease;
}
.fab:hover{transform:translateY(-3px) scale(1.05); box-shadow:0 14px 28px -8px rgba(19,40,16,0.5);}
.fab svg{width:24px; height:24px;}
.fab-whatsapp{background:#25D366;}
.fab-call{background:var(--forest);}
@media (max-width:980px){
  .floating-actions{bottom:78px;}
}
@media (max-width:640px){
  /* The storefront mobile navigation is fixed at the bottom. Keep contact
     actions above its 72px bar (and an iPhone-style safe area) so neither
     button hides Home, Cart, or Profile. */
  .floating-actions{bottom:calc(54px + env(safe-area-inset-bottom, 0px));}
  .floating-actions--left{left:6px;}
  .floating-actions--right{right:6px;}
  .fab{width:46px; height:46px;}
  .fab svg{width:21px; height:21px;}
}
/* Per-button device visibility (Admin > Floating Buttons > Visible On) */
@media (max-width:600px){ .fab-hide-mobile{display:none !important;} }
@media (min-width:601px) and (max-width:980px){ .fab-hide-tablet{display:none !important;} }
@media (min-width:981px){ .fab-hide-desktop{display:none !important;} }
/* =========================================================
   DYNAMIC CONTENT TYPOGRAPHY (shared by CMS Pages and Blog)
========================================================= */
.page-content{
    max-width:1100px;
    margin:0 auto;
    padding:60px 20px;
    color:var(--brown);
    font-size:16px;
    line-height:1.8;
}
.page-content h1{
    font-size:clamp(32px,5vw,52px);
    line-height:1.15;
    margin:0 0 24px;
    color:var(--forest-deep);
}
.page-content h2{
    font-size:clamp(26px,4vw,38px);
    line-height:1.2;
    margin:32px 0 14px;
    color:var(--forest-deep);
}
.page-content h3{
    font-size:24px;
    margin:26px 0 12px;
    color:var(--forest-deep);
}
.page-content p{margin:0 0 18px;}
.page-content img{
    display:block;
    max-width:100%;
    height:auto;
    margin:20px 0;
}
.page-content a{color:var(--forest);text-decoration:underline;}
.page-content ul,.page-content ol{margin:0 0 20px 24px;}
.page-content blockquote{
    margin:24px 0;
    padding:14px 20px;
    border-left:4px solid var(--forest);
    background:var(--cream-2);
}
.page-content table{
    width:100%;
    border-collapse:collapse;
    margin:24px 0;
}
.page-content th,.page-content td{
    border:1px solid rgba(74,58,34,.16);
    padding:10px;
    text-align:left;
}
@media(max-width:700px){
    .page-content{padding:40px 16px;}
}

/* =========================================================
   SECTION / ROW / COLUMN LAYOUT BLOCKS
   Built via the "Insert Layout" tool in the page editor.
========================================================= */
.builder-section{margin:32px 0;}
.builder-section:first-child{margin-top:0;}
.builder-section:last-child{margin-bottom:0;}
.builder-row{display:grid; gap:28px;}
.builder-row.cols-1{grid-template-columns:1fr;}
.builder-row.cols-2{grid-template-columns:repeat(2,1fr);}
.builder-row.cols-3{grid-template-columns:repeat(3,1fr);}
.builder-row.cols-4{grid-template-columns:repeat(4,1fr);}
.builder-col{min-width:0;}
.builder-col > *:last-child{margin-bottom:0;}
@media(max-width:700px){
    .builder-row.cols-2,
    .builder-row.cols-3,
    .builder-row.cols-4{grid-template-columns:1fr;}
}

/* =========================================================
   BLOG
========================================================= */
.blog-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:24px;}
.blog-card{
  display:flex; flex-direction:column; background:var(--white); border-radius:16px; overflow:hidden;
  box-shadow:0 10px 20px -16px rgba(28,46,22,0.25); transition:transform .2s ease, box-shadow .2s ease;
}
.blog-card:hover{transform:translateY(-4px); box-shadow:0 16px 28px -16px rgba(28,46,22,0.35);}
.blog-card-media{aspect-ratio:16/10; background:var(--cream-2); display:flex; align-items:center; justify-content:center; overflow:hidden;}
.blog-card-media img{width:100%; height:100%; object-fit:cover;}
.blog-card-icon{width:44px; height:44px; color:var(--forest);}
.blog-card-body{padding:20px; display:flex; flex-direction:column; gap:8px; flex:1;}
.blog-card-date{font-size:11px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--gold);}
.blog-card-title{font-size:18px; line-height:1.35; color:var(--forest-deep);}
.blog-card-excerpt{font-size:13.5px; color:var(--brown-soft); line-height:1.6; flex:1;}
.blog-read-more{display:flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--forest); margin-top:4px;}
.blog-read-more svg{width:15px; height:15px;}

.blog-post-date{font-size:12px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--gold); margin-bottom:8px;}
.blog-post-hero{width:100%; max-height:460px; object-fit:cover; border-radius:16px; margin:20px 0 32px;}

.admin-nav-section {
    margin: 18px 10px 6px;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.7px;
    text-transform: uppercase;

    color: #929992;
}

.admin-nav-section:first-of-type {
    margin-top: 10px;
}

/* ---------------------------------------------------------
   Classic Editor content blocks — inserted via the "Insert
   Layout" + advanced-element toolbar buttons (includes/classic_editor.php).
   Shared here (not admin.css) because this content is saved as
   raw HTML and echoed on live pages (blog posts, footer, etc),
   not just previewed in the admin editor. Background/padding/text
   -align set via the Style panel are applied as inline styles on
   the element itself, so no extra CSS is needed for those.
--------------------------------------------------------- */
.ce-section{ margin:20px 0; padding:32px; border-radius:14px; }
.ce-row{ display:flex; flex-wrap:wrap; gap:20px; }
.ce-col{ flex:1 1 0; min-width:180px; min-height:1.4em; }
@media (max-width:640px){ .ce-row{ flex-direction:column; } }

.ce-btn{
  display:inline-block; padding:12px 26px; border-radius:999px;
  background:var(--forest); color:var(--white) !important; font-weight:700;
  text-decoration:none !important; box-shadow:var(--shadow); line-height:1.2;
}
.ce-btn:hover{ background:var(--forest-2); }

.ce-card{ padding:22px; border-radius:14px; background:var(--cream-2); text-align:center; }
.ce-card-icon{ font-size:28px; margin-bottom:10px; color:var(--gold); }
.ce-card h4{ margin:0 0 8px; }
.ce-card p{ margin:0; color:var(--brown-soft); font-size:14px; }

.ce-cta{ padding:40px 32px; border-radius:16px; background:var(--forest); color:var(--white); text-align:center; margin:20px 0; }
.ce-cta h3{ color:var(--white); margin:0 0 10px; }
.ce-cta p{ margin:0 0 18px; opacity:0.9; }
.ce-cta .ce-btn{ background:var(--gold); color:var(--forest-deep) !important; box-shadow:none; }
.ce-cta .ce-btn:hover{ background:var(--gold-soft); }

.ce-spacer{ width:100%; }
.shop-attribute-form{margin-top:12px;border-top:1px solid rgba(74,58,34,.14);}.shop-attribute-filter{border:0;border-bottom:1px solid rgba(74,58,34,.1);padding:10px 0;margin:0;}.shop-attribute-filter legend{font-weight:800;font-size:12px;margin-bottom:6px;color:var(--brown);}.shop-attribute-filter label{display:flex;align-items:center;gap:7px;padding:4px 0;font-size:12px;cursor:pointer;}.shop-attribute-filter input{accent-color:var(--forest);}.shop-attribute-filter small{margin-left:auto;color:var(--brown-soft);font-size:10px;}
.shop-price-range{display:flex;align-items:center;gap:6px;}.shop-price-range input{width:0;min-width:0;flex:1;border:1px solid rgba(74,58,34,.2);border-radius:7px;padding:7px;font:inherit;font-size:11px;}.shop-price-range span{color:var(--brown-soft);}.shop-apply-filters{width:100%;margin-top:12px;border:0;border-radius:8px;padding:9px;background:var(--forest);color:#fff;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;}.shop-apply-filters:hover{background:var(--forest-deep);}

/* Modern shop filter controls */
.shop-category-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:3px;}
.shop-category-pills .filter-link{display:inline-flex;align-items:center;width:auto;padding:6px 9px;border:1px solid rgba(74,58,34,.14);border-radius:999px;background:#fff;color:var(--brown-soft);font-size:11px;line-height:1.2;}
.shop-category-pills .filter-link:hover{border-color:rgba(34,70,29,.34);background:#f4f8f1;color:var(--forest);}
.shop-category-pills .filter-link.active{border-color:var(--forest);background:var(--forest);color:#fff;font-weight:700;}
.shop-attribute-filter{margin:8px 0;padding:10px;border:1px solid rgba(74,58,34,.1);border-radius:10px;background:#fafbf8;}
.shop-attribute-filter legend{padding:0 5px;margin-left:-5px;background:var(--white);}
.shop-choice-pills{display:flex;flex-wrap:wrap;gap:6px;}
.shop-attribute-filter .shop-choice-pill{position:relative;display:inline-flex;padding:0;font-size:11px;}
.shop-choice-pill input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.shop-choice-pill>span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid rgba(74,58,34,.16);border-radius:999px;background:#fff;color:var(--brown-soft);font-size:10.5px;line-height:1.2;transition:border-color .16s ease,background-color .16s ease,color .16s ease;}
.shop-choice-pill>span small{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;margin:0;padding:0 4px;border-radius:999px;background:var(--cream-2);color:var(--brown-soft);font-size:9px;}
.shop-choice-pill:hover>span{border-color:rgba(34,70,29,.35);color:var(--forest);}
.shop-choice-pill input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px;}
.shop-choice-pill input:checked+span{border-color:var(--forest);background:var(--forest);color:#fff;font-weight:700;}
.shop-choice-pill input:checked+span small{background:rgba(255,255,255,.2);color:#fff;}
.shop-attribute-filter .shop-stock-switch{display:flex;align-items:center;gap:9px;padding:1px 0;cursor:pointer;}
.shop-stock-switch input{position:absolute;width:1px;height:1px;opacity:0;}
.shop-switch-track{position:relative;display:inline-block;width:34px;height:19px;flex:0 0 34px;border-radius:999px;background:#d6d9d1;transition:background-color .16s ease;}
.shop-switch-track::after{content:'';position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .16s ease;}
.shop-stock-switch input:checked+.shop-switch-track{background:var(--forest);}
.shop-stock-switch input:checked+.shop-switch-track::after{transform:translateX(15px);}
.shop-stock-switch input:focus-visible+.shop-switch-track{outline:2px solid var(--gold);outline-offset:2px;}
.shop-switch-label{font-size:11px;color:var(--brown);}

/* Compact accordion filter sidebar */
.shop-attribute-form{margin-top:0;border-top:0;}
.shop-filter-section{margin:0;border:0;border-top:1px solid rgba(74,58,34,.11);}
.shop-filter-section:last-of-type{border-bottom:1px solid rgba(74,58,34,.11);}
.shop-filter-section summary{display:flex;align-items:center;gap:7px;min-height:43px;padding:0 2px;list-style:none;color:var(--forest-deep);font-size:12px;font-weight:800;cursor:pointer;user-select:none;}
.shop-filter-section summary::-webkit-details-marker{display:none;}
.shop-filter-section summary::after{content:'+';display:grid;place-items:center;width:21px;height:21px;margin-left:auto;border-radius:50%;background:var(--cream-2);color:var(--forest);font-size:16px;font-weight:500;line-height:1;}
.shop-filter-section[open] summary::after{content:'\2212';}
.shop-filter-section-body{padding:0 2px 13px;}
.shop-filter-section .shop-category-pills{margin:0;}
.shop-price-slider{padding:2px 1px 3px;}.shop-price-entry-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;}.shop-price-entry-fields label{display:block;color:var(--brown-soft);font-size:10px;font-weight:700;}.shop-price-entry-fields label span{display:block;margin:0 0 4px;color:var(--brown-soft);}.shop-price-entry-fields input{box-sizing:border-box;width:100%;height:32px;padding:6px 8px;border:1px solid rgba(74,58,34,.18);border-radius:7px;background:#fff;color:var(--forest-deep);font:700 12px inherit;}.shop-price-entry-fields input:focus{border-color:var(--forest);outline:0;box-shadow:0 0 0 2px rgba(32,76,30,.1);}.shop-price-track{position:relative;height:24px;display:flex;align-items:center;}.shop-price-track::before,.shop-price-track-fill{position:absolute;left:0;right:0;height:4px;border-radius:999px;content:'';}.shop-price-track::before{background:#e4e6dd;}.shop-price-track-fill{left:var(--range-start,0%);right:calc(100% - var(--range-end,100%));background:var(--forest);}.shop-price-track input[type="range"]{position:absolute;z-index:2;width:100%;height:24px;margin:0;padding:0;appearance:none;-webkit-appearance:none;background:transparent;pointer-events:none;}.shop-price-track input[type="range"]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:3px solid var(--forest);border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(20,46,18,.22);pointer-events:auto;cursor:grab;}.shop-price-track input[type="range"]::-moz-range-thumb{width:11px;height:11px;border:3px solid var(--forest);border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(20,46,18,.22);pointer-events:auto;cursor:grab;}.shop-price-track input[type="range"]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--gold);outline-offset:2px;}
.shop-filter-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);}
.shop-filter-section .shop-stock-switch{display:flex;align-items:center;gap:9px;padding:2px 0;cursor:pointer;}
.shop-apply-filters{margin-top:15px;padding:10px 12px;border-radius:9px;}

/* Clearer, roomier catalogue filter sidebar. */
.shop-filters{color:#33402f;}
.filter-heading h3{font-size:18px;color:var(--forest-deep);}
.shop-filter-section summary{font-size:12.5px;color:#233b21;}
.shop-category-pills .filter-link{font-size:11.5px;color:#465244;}
.shop-choice-pill>span{font-size:11.5px;color:#465244;}
.shop-choice-pill>span small{font-size:9.5px;color:#52604d;}
.shop-switch-label{font-size:11.5px;color:#354233;}
.shop-price-entry-fields label,.shop-price-entry-fields label span{font-size:10.5px;color:#44513f;}

/* Customer account overview refinements */
.account-page{padding-top:42px;}
.account-page .page-title{margin-bottom:22px;}
.account-nav{border:1px solid rgba(74,58,34,.08);}
.account-nav a{transition:background-color .18s ease,color .18s ease,transform .18s ease;}
.account-nav a:hover{background:var(--cream-2);transform:translateX(2px);}
.account-nav a.active{background:#edf5ea;color:var(--forest-deep);font-weight:800;}
.account-nav .logout-link{margin-top:10px;padding:12px;border-top:0;background:#fff3f1;color:#b9362c;}
.account-nav .logout-link:hover{background:#fde8e4;color:#9d281f;}
.account-welcome{padding:19px 24px;}
.account-contact{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.account-contact span+span::before{content:'•';margin-right:8px;color:rgba(74,58,34,.42);}
.account-summary-card{min-height:72px;border:1px solid rgba(74,58,34,.09);box-shadow:0 9px 20px -18px rgba(28,46,22,.32);}
.account-summary-card:hover{border-color:rgba(34,70,29,.2);box-shadow:0 14px 25px -18px rgba(28,46,22,.38);}
.account-summary-card>svg{width:21px;height:21px;}
.account-manage-section{margin-top:24px;}
.account-manage-heading span{font-size:19px;}
.account-manage-grid>a,.account-shop-link{min-height:58px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease;}
.account-manage-grid>a:hover,.account-shop-link:hover{transform:translateY(-2px);border-color:rgba(34,70,29,.22);background:#fcfdf9;box-shadow:0 12px 24px -20px rgba(28,46,22,.38);}
.account-manage-grid b,.account-shop-link b{font-size:12.5px;}
.account-manage-grid small,.account-shop-link small{font-size:10.5px;}
.account-recent-orders{gap:8px;}
.account-recent-head{display:grid;grid-template-columns:minmax(160px,1fr) auto 84px 90px;align-items:center;gap:16px;padding:0 32px 3px 15px;color:var(--brown-soft);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.account-recent-head span:nth-child(3),.account-recent-head span:nth-child(4){text-align:right;}
.account-recent-order{grid-template-columns:minmax(160px,1fr) auto 84px 90px 16px;border:1px solid rgba(74,58,34,.09);box-shadow:none;}
.account-recent-order:hover{border-color:rgba(34,70,29,.2);box-shadow:0 12px 24px -20px rgba(28,46,22,.35);}
.account-recent-order>b{text-align:right;}
.account-recent-view{font-size:11.5px;font-weight:800;color:var(--forest);text-align:right;white-space:nowrap;}

@media (max-width:600px){
  .account-page{padding-top:20px;padding-bottom:84px;}
  .account-page .page-title{margin-bottom:15px;}
  .account-contact{align-items:flex-start;flex-direction:column;gap:3px;}
  .account-contact span+span::before{content:none;}
  .account-summary-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px;}
  .account-summary-card{min-width:145px;min-height:70px;scroll-snap-align:start;}
  .account-manage-heading span{font-size:18px;}
  .account-manage-grid>a,.account-shop-link{min-height:58px;}
  .account-recent-head{display:none;}
  .account-recent-order{grid-template-columns:minmax(0,1fr) auto 14px;}
  .account-recent-order .order-status{grid-column:2;grid-row:2;}
  .account-recent-order>b{grid-column:2;grid-row:1;text-align:right;}
  .account-recent-view{display:none;}
  .account-recent-order>svg{grid-column:3;grid-row:1 / span 2;}
}
