:root{
  --cream:#FFF5E6;
  --cocoa:#4A1115;
  --orange:#F15A24;
  --green:#08783F;
  --mint:#CFEBDD;
  --mint-deep:#197447;
  --chilli:#F13B27;
  --chilli-pale:#FFC3A7;
  --olive:#8DAE74;
  --onion-cream:#FFF8DF;
  --white:#FFFDF9;
  --line:rgba(74,17,21,0.12);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--cream); color:var(--cocoa);
  font-family:'Inter',sans-serif; font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{ font-family:'Baloo 2',sans-serif; }
a{ color:inherit; text-decoration:none; }
img,svg{ display:block; max-width:100%; }
button{ font-family:inherit; }
.wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
:focus-visible{ outline:3px solid var(--orange); outline-offset:3px; }

/* ---------- NAV ---------- */
nav.site-nav{
  position:sticky; top:0; z-index:50;
  background:rgba(255,245,230,0.94); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:80px; gap:20px; }
.wordmark img{ height:42px; width:auto; }
.nav-links{ display:flex; gap:30px; font-size:0.95rem; font-weight:600; }
.nav-links a{ position:relative; padding:4px 0; }
.nav-links a::after{ content:''; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--orange); transition:width .25s ease; }
.nav-links a:hover::after, .nav-links a.active::after{ width:100%; }
.nav-right{ display:flex; align-items:center; gap:10px; }
.icon-btn{ position:relative; background:none; border:none; cursor:pointer; padding:6px; color:var(--cocoa); flex-shrink:0; }
.icon-btn svg{ width:22px; height:22px; }
.cart-count{
  position:absolute; top:-4px; right:-4px; background:var(--orange); color:var(--white);
  font-size:10px; font-weight:800; width:18px; height:18px; border-radius:50%;
  align-items:center; justify-content:center;
}
.nav-mobile-toggle{
  display:none; background:none; border:none; cursor:pointer; padding:8px; color:var(--cocoa); flex-shrink:0;
}
.nav-mobile-toggle svg{ width:24px; height:24px; }
.nav-links-mobile{ display:none; }

@media (max-width:820px){
  .nav-inner .nav-links{ display:none; }
  .nav-mobile-toggle{ display:flex; }
  .nav-shop-btn{ display:none; }

  .nav-links-mobile{
    display:none;
    flex-direction:column;
    background:var(--white);
    border-top:1px solid var(--line);
    box-shadow:0 16px 24px -12px rgba(74,17,21,0.15);
  }
  .nav-links-mobile.open{ display:flex; }
  .nav-links-mobile a{
    padding:16px 24px;
    border-bottom:1px solid var(--line);
    font-family:'Baloo 2',sans-serif; font-weight:700; font-size:1.02rem;
  }
  .nav-links-mobile a:last-child{ border-bottom:none; }
}

/* ---------- BUTTONS ---------- */
.btn{
  font-family:'Baloo 2',sans-serif; font-weight:700; font-size:1rem;
  padding:14px 28px; border-radius:100px; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  cursor:pointer; border:none; text-align:center;
}
.btn-solid{ background:var(--orange); color:var(--white); box-shadow:0 6px 0 #C2440F; }
.btn-solid:active{ transform:translateY(4px); box-shadow:0 2px 0 #C2440F; }
.btn-solid:disabled{ opacity:0.45; cursor:not-allowed; box-shadow:none; }
.btn-outline{ background:transparent; color:var(--green); border:2.5px solid var(--green); }
.btn-outline:hover{ background:var(--green); color:var(--white); }
.btn-dark{ background:var(--cocoa); color:var(--cream); box-shadow:0 6px 0 #2c0a0d; }
.btn-dark:active{ transform:translateY(4px); box-shadow:0 2px 0 #2c0a0d; }
.btn-block{ width:100%; }
.btn-sm{ padding:9px 18px; font-size:0.88rem; }

/* ---------- BADGES ---------- */
.pill{ display:inline-flex; align-items:center; gap:6px; font-size:0.8rem; font-weight:700; padding:5px 13px; border-radius:100px; }
.pill-mint{ background:var(--mint); color:var(--mint-deep); }
.pill-chilli{ background:var(--chilli-pale); color:#9c2214; }
.pill-olive{ background:#e4ecd8; color:var(--olive); }
.pill-outline{ background:var(--white); color:var(--green); border:1.5px solid var(--green); }

/* ---------- BREADCRUMB ---------- */
.breadcrumb{ font-size:0.85rem; color:rgba(74,17,21,0.55); padding:22px 0 0; }
.breadcrumb a:hover{ color:var(--orange); }

/* ---------- PAGE HEADER ---------- */
.page-head{ padding:34px 0 40px; }
.page-head h1{ font-size:2.6rem; font-weight:800; margin-bottom:8px; }
.page-head p{ color:rgba(74,17,21,0.65); }

/* ---------- PRODUCT GRID ---------- */
.filter-row{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px; }
.filter-chip{
  font-family:'Baloo 2',sans-serif; font-weight:700; font-size:0.88rem;
  padding:9px 18px; border-radius:100px; background:var(--white); border:1.5px solid var(--line); cursor:pointer;
}
.filter-chip.active{ background:var(--cocoa); color:var(--cream); border-color:var(--cocoa); }
.product-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:900px){ .product-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .product-grid{ grid-template-columns:1fr; max-width:380px; margin:0 auto; } }

.product-card{
  background:var(--white); border-radius:20px; overflow:hidden;
  box-shadow:0 14px 30px -18px rgba(74,17,21,0.35);
  display:flex; flex-direction:column;
}
.product-card .pc-photo{ position:relative; aspect-ratio:4/5; overflow:hidden; display:block; background:var(--white); }
.product-card .pc-photo img{ width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .4s ease; }
.product-card:hover .pc-photo img{ transform:scale(1.045); }
.pc-body{ padding:18px 20px 20px; display:flex; flex-direction:column; gap:10px; flex:1; }
.pc-body h3{ font-size:1.15rem; font-weight:800; }
.pc-body .pc-sub{ font-size:0.85rem; color:rgba(74,17,21,0.55); margin-top:-6px; }
.pc-price-row{ display:flex; align-items:baseline; gap:8px; margin-top:auto; }
.pc-price{ font-family:'Baloo 2',sans-serif; font-weight:800; font-size:1.3rem; color:var(--orange); }
.pc-compare{ font-size:0.9rem; color:rgba(74,17,21,0.35); text-decoration:line-through; }

/* ---------- PRODUCT DETAIL ---------- */
.pd-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; padding:20px 0 80px; align-items:start; }
.pd-photo{ position:sticky; top:100px; border-radius:24px; overflow:hidden; box-shadow:0 20px 50px -24px rgba(74,17,21,0.4); }
.pd-photo img{ width:100%; }
.pd-title{ font-size:2.2rem; font-weight:800; margin:14px 0 6px; line-height:1.05; }
.pd-sub{ color:rgba(74,17,21,0.55); font-size:0.95rem; margin-bottom:18px; }
.pd-price-row{ display:flex; align-items:baseline; gap:12px; margin-bottom:22px; }
.pd-price{ font-family:'Baloo 2',sans-serif; font-weight:800; font-size:2rem; color:var(--orange); }
.pd-compare{ font-size:1.1rem; color:rgba(74,17,21,0.35); text-decoration:line-through; }
.pd-desc{ color:rgba(74,17,21,0.75); margin-bottom:26px; max-width:46ch; }
.pd-benefits{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:28px; }
.pd-benefits li{ list-style:none; font-size:0.9rem; display:flex; align-items:center; gap:8px; color:var(--cocoa); }
.pd-benefits li::before{ content:'✓'; color:var(--green); font-weight:800; }
.pd-buy-row{ display:flex; gap:14px; align-items:center; margin-bottom:14px; }
.qty-stepper{ display:flex; align-items:center; border:2px solid var(--line); border-radius:100px; }
.qty-stepper button{ background:none; border:none; width:42px; height:48px; font-size:1.2rem; cursor:pointer; color:var(--cocoa); }
.qty-stepper span{ width:34px; text-align:center; font-weight:700; }
.pd-stock-note{ font-size:0.85rem; color:var(--chilli); font-weight:600; margin-bottom:20px; }
.pd-tabs{ border-top:1px solid var(--line); margin-top:20px; }
.pd-tab{ border-bottom:1px solid var(--line); padding:18px 0; }
.pd-tab summary{ cursor:pointer; font-family:'Baloo 2',sans-serif; font-weight:700; font-size:1.02rem; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.pd-tab summary::-webkit-details-marker{ display:none; }
.pd-tab summary::after{ content:'+'; font-size:1.3rem; color:var(--orange); }
.pd-tab[open] summary::after{ content:'–'; }
.pd-tab-content{ padding-top:12px; font-size:0.92rem; color:rgba(74,17,21,0.72); }
.nutri-table{ width:100%; border-collapse:collapse; font-size:0.9rem; margin-top:8px; }
.nutri-table td{ padding:7px 0; border-bottom:1px solid var(--line); }
.nutri-table td:last-child{ text-align:right; font-weight:700; }
@media (max-width:820px){ .pd-grid{ grid-template-columns:1fr; gap:28px; } .pd-photo{ position:static; } }

/* ---------- CROSS-SELL ---------- */
.crosssell{ padding:60px 0 90px; border-top:1px solid var(--line); }
.crosssell h2{ font-size:1.7rem; font-weight:800; margin-bottom:24px; }

/* ---------- MARQUEE ---------- */
.marquee-band{ background:var(--cocoa); color:var(--cream); overflow:hidden; padding:16px 0; }
.marquee-track{ display:flex; gap:44px; white-space:nowrap; animation:scroll 26s linear infinite; width:max-content; }
.marquee-track span{ font-family:'Baloo 2',sans-serif; font-weight:700; font-size:1.05rem; display:flex; align-items:center; gap:14px; }
.marquee-track span::after{ content:'●'; color:var(--orange); font-size:0.55rem; margin-left:14px; }
@keyframes scroll{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .marquee-track{ animation:none; } }

/* ---------- CART PAGE ---------- */
.cart-layout{ display:grid; grid-template-columns:1fr 340px; gap:40px; padding:10px 0 90px; align-items:start; }
.cart-line{ display:grid; grid-template-columns:88px 1fr auto auto; gap:16px; align-items:center; padding:18px 0; border-bottom:1px solid var(--line); }
.cart-line img{ width:88px; height:88px; object-fit:cover; border-radius:14px; }
.cart-line h4{ font-size:1.02rem; font-weight:800; margin-bottom:3px; }
.cart-line .cl-sub{ font-size:0.82rem; color:rgba(74,17,21,0.5); }
.cart-line .cl-remove{ background:none; border:none; cursor:pointer; color:rgba(74,17,21,0.4); font-size:0.82rem; margin-top:6px; text-decoration:underline; }
.cart-line .cl-total{ font-family:'Baloo 2',sans-serif; font-weight:800; text-align:right; min-width:70px; }
.summary-card{ background:var(--white); border-radius:20px; padding:26px; box-shadow:0 14px 30px -18px rgba(74,17,21,0.3); position:sticky; top:100px; }
.summary-card h3{ font-size:1.2rem; font-weight:800; margin-bottom:16px; }
.summary-row{ display:flex; justify-content:space-between; font-size:0.94rem; margin-bottom:10px; color:rgba(74,17,21,0.75); }
.summary-row.total{ font-family:'Baloo 2',sans-serif; font-weight:800; font-size:1.15rem; color:var(--cocoa); border-top:1px solid var(--line); padding-top:14px; margin-top:14px; }
.promo-row{ display:flex; gap:8px; margin:16px 0; }
.promo-row input{ flex:1; }
.empty-cart{ text-align:center; padding:100px 0; }
.empty-cart h2{ font-size:1.8rem; font-weight:800; margin-bottom:10px; }
.empty-cart p{ color:rgba(74,17,21,0.6); margin-bottom:24px; }
@media (max-width:820px){ .cart-layout{ grid-template-columns:1fr; } .summary-card{ position:static; } }

/* ---------- FORMS ---------- */
label{ display:block; font-size:0.85rem; font-weight:700; margin-bottom:6px; }
input[type=text], input[type=email], input[type=tel], input[type=number], select{
  width:100%; padding:12px 14px; border-radius:12px; border:1.5px solid var(--line);
  font-size:0.95rem; font-family:inherit; background:var(--white); color:var(--cocoa);
}
input:focus, select:focus{ border-color:var(--orange); outline:none; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.form-grid.full{ grid-template-columns:1fr; }
@media (max-width:480px){ .form-grid{ grid-template-columns:1fr; } }
.payment-option{
  display:flex; align-items:center; gap:12px; border:1.5px solid var(--line); border-radius:14px;
  padding:16px; margin-bottom:10px; cursor:pointer; background:var(--white);
}
.payment-option.selected{ border-color:var(--orange); box-shadow:0 0 0 3px rgba(241,90,36,0.12); }
.payment-option input{ width:auto; }

/* ---------- TOAST ---------- */
#toast{
  position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(20px);
  background:var(--cocoa); color:var(--cream); padding:14px 24px; border-radius:100px;
  font-weight:700; font-size:0.9rem; opacity:0; pointer-events:none; transition:all .25s ease; z-index:200;
  box-shadow:0 10px 24px rgba(0,0,0,0.25);
}
#toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

/* ---------- FOOTER ---------- */
footer.site-footer{ background:var(--cocoa); color:var(--cream); padding:64px 0 30px; margin-top:60px; }
.footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:52px; }
.footer-word img{ height:44px; background:var(--cream); padding:8px 14px; border-radius:12px; margin-bottom:14px; }
.footer-top p{ color:rgba(255,245,230,0.65); font-size:0.92rem; max-width:280px; }
.footer-col h4{ font-family:'Baloo 2',sans-serif; font-weight:700; margin-bottom:14px; color:var(--mint); font-size:1rem; }
.footer-col li{ list-style:none; margin-bottom:9px; font-size:0.9rem; color:rgba(255,245,230,0.7); }
.footer-bottom{ border-top:1px solid rgba(255,245,230,0.15); padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:0.8rem; color:rgba(255,245,230,0.5); }
@media (max-width:860px){ .footer-top{ grid-template-columns:1fr 1fr; } }

/* ---------- MISC PAGE SECTIONS (home) ---------- */
/* ---------- HERO SLIDER (3 ready-made banner images) ---------- */
.hero-slider{ position:relative; overflow:hidden; background:var(--warm-cream, #FFF5E6); line-height:0; }
.hero-slider-track{ position:relative; }
.hero-slide{
  display:none;
  animation:heroFadeIn .5s ease both;
}
.hero-slide.is-active{ display:block; }
@keyframes heroFadeIn{ from{ opacity:0; } to{ opacity:1; } }

/* The banners already contain all their own text/branding — just show the
   full image at its natural ratio so nothing is ever cropped, on any
   screen size. To swap an image later, replace the file in
   assets/img/banner-*.jpg (same filename) or edit the path in
   front-page.php — no CSS changes needed. */
.hero-banner-link{ display:block; }
.hero-slide img{ display:block; width:100%; height:auto; }

/* Arrows */
.hero-slider-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:44px; height:44px; border-radius:50%; border:none; cursor:pointer;
  background:var(--white); color:var(--cocoa); box-shadow:0 8px 20px -8px rgba(74,17,21,0.4);
  display:flex; align-items:center; justify-content:center; transition:background .2s ease;
}
.hero-slider-arrow:hover{ background:var(--snack-orange, #F15A24); color:var(--white); }
.hero-slider-arrow svg{ width:20px; height:20px; }
.hero-slider-arrow.prev{ left:16px; }
.hero-slider-arrow.next{ right:16px; }

/* Dots */
.hero-slider-dots{
  position:absolute; left:0; right:0; bottom:14px; z-index:5;
  display:flex; justify-content:center; gap:10px;
}
.hero-slider-dot{
  width:9px; height:9px; border-radius:50%; border:none; padding:0; cursor:pointer;
  background:rgba(255,255,255,0.6); box-shadow:0 0 0 1px rgba(0,0,0,0.15); transition:all .2s ease;
}
.hero-slider-dot.active{ background:var(--snack-orange, #F15A24); width:26px; border-radius:6px; box-shadow:none; }

@media (max-width:600px){
  .hero-slider-arrow{ width:34px; height:34px; }
  .hero-slider-arrow svg{ width:16px; height:16px; }
  .hero-slider-arrow.prev{ left:6px; }
  .hero-slider-arrow.next{ right:6px; }
  .hero-slider-dots{ bottom:8px; }
}

.torn{ height:44px; width:100%; background:var(--cocoa); clip-path:polygon(0% 100%,2% 30%,5% 90%,8% 20%,11% 80%,14% 10%,17% 70%,20% 25%,23% 95%,26% 15%,29% 75%,32% 30%,35% 90%,38% 10%,41% 65%,44% 20%,47% 85%,50% 30%,53% 95%,56% 15%,59% 70%,62% 25%,65% 90%,68% 10%,71% 60%,74% 20%,77% 85%,80% 30%,83% 95%,86% 15%,89% 70%,92% 25%,95% 90%,98% 10%,100% 100%); margin-top:0; }
.shelf{ padding:80px 0 20px; }
.shelf-head{ max-width:520px; margin-bottom:44px; }
.shelf-head h2{ font-size:2.4rem; font-weight:800; margin-bottom:12px; }
.shelf-head p{ color:rgba(74,17,21,0.7); font-size:1.02rem; }
.facts{ background:var(--white); border-top:3px solid var(--cocoa); border-bottom:3px solid var(--cocoa); padding:50px 0; margin-top:80px; }
.facts-inner{ display:grid; grid-template-columns:repeat(4,1fr); }
.facts-inner > div{ padding:0 28px; border-left:1px dashed var(--line); }
.facts-inner > div:first-child{ border-left:none; padding-left:0; }
.facts-label{ font-size:0.85rem; font-weight:600; color:rgba(74,17,21,0.55); margin-bottom:6px; }
.facts-value{ font-family:'Baloo 2',sans-serif; font-weight:800; font-size:1.4rem; color:var(--green); }
@media (max-width:860px){ .facts-inner{ grid-template-columns:1fr 1fr; row-gap:26px; } .facts-inner > div:nth-child(3){ border-left:none; } }
.notes{ padding:80px 0; }
.notes-head{ margin-bottom:44px; max-width:480px; }
.notes-head h2{ font-size:2.2rem; font-weight:800; }
.notes-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.note{ background:var(--white); padding:24px 22px 20px; box-shadow:0 10px 24px -12px rgba(74,17,21,0.25); clip-path:polygon(0% 3%,4% 0%,96% 1%,100% 4%,99% 96%,95% 100%,3% 99%,1% 95%); }
.note:nth-child(1){ transform:rotate(-2.5deg); }
.note:nth-child(2){ transform:rotate(1.5deg); margin-top:18px; }
.note:nth-child(3){ transform:rotate(-1deg); }
.note-stars{ color:var(--orange); letter-spacing:2px; margin-bottom:10px; }
.note p{ margin-bottom:14px; }
.note-author{ font-family:'Baloo 2',sans-serif; font-weight:700; font-size:0.9rem; color:var(--green); }
@media (max-width:860px){ .notes-row{ grid-template-columns:1fr; } .note:nth-child(2){ margin-top:0; } }
.cta-band{ background:var(--orange); color:var(--white); padding:64px 0; text-align:center; }
.cta-band h2{ font-size:2rem; font-weight:800; margin-bottom:10px; }
.cta-band p{ opacity:0.9; margin-bottom:26px; }
.cta-form{ display:flex; justify-content:center; gap:10px; max-width:420px; margin:0 auto; }
.cta-form input{ flex:1; padding:14px 18px; border-radius:100px; border:none; font-size:0.95rem; }
.cta-form button{ background:var(--cocoa); color:var(--white); border:none; padding:14px 26px; border-radius:100px; font-family:'Baloo 2',sans-serif; font-weight:700; cursor:pointer; }
@media (max-width:520px){ .cta-form{ flex-direction:column; } }

/* ---------- SUCCESS PAGE ---------- */
.success-box{ max-width:520px; margin:0 auto; text-align:center; padding:90px 24px; }
.success-icon{ width:74px; height:74px; border-radius:50%; background:var(--green); color:var(--white); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-size:2rem; }
.order-summary-box{ background:var(--white); border-radius:16px; padding:22px; margin:26px 0; text-align:left; }

/* ==========================================================================
   WooCommerce styling — makes Woo's own default templates (shop archive,
   single product, cart, checkout, my account) match the rest of the site.
   ========================================================================== */

.woocommerce-page-wrap{ padding-bottom:90px; }

/* Shop archive grid */
.woocommerce ul.products{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; list-style:none; margin:30px 0 0; }
.woocommerce ul.products li.product{
  background:var(--white); border-radius:20px; overflow:hidden;
  box-shadow:0 14px 30px -18px rgba(74,17,21,0.35); padding:0 !important;
  text-align:left; position:relative;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{ display:block; }
.woocommerce ul.products li.product img{
  width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center;
  border-radius:0; margin:0; background:var(--white);
}
.woocommerce ul.products li.product h2.woocommerce-loop-product__title{
  font-family:'Baloo 2',sans-serif; font-weight:800; font-size:1.1rem; margin:16px 20px 4px;
}
.woocommerce ul.products li.product .price{
  font-family:'Baloo 2',sans-serif; font-weight:800; color:var(--orange); font-size:1.2rem; margin:0 20px;
}
.woocommerce ul.products li.product .price del{ color:rgba(74,17,21,0.35); font-weight:600; font-size:0.85rem; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .wp-block-button__link{
  display:block !important; margin:14px 20px 20px !important;
  width:calc(100% - 40px) !important; height:auto !important; min-height:0 !important;
  aspect-ratio:auto !important;
  font-family:'Baloo 2',sans-serif !important; font-weight:700 !important; font-size:0.9rem !important;
  background:var(--orange) !important; color:var(--white) !important; border-radius:100px !important;
  padding:11px 20px !important; line-height:1.3 !important;
  text-align:center !important; border:none !important; white-space:normal !important;
  box-shadow:none !important;
}
.woocommerce ul.products li.product .button:hover{ background:#d94d1c !important; }
/* WooCommerce inserts a small loading spinner and a "View cart" link right
   after the Add to cart button during/after an AJAX add. Style them so they
   never appear as an unstyled grey/silver box. */
.woocommerce ul.products li.product a.ajax-loading,
.ajax-loading{
  position:absolute !important; width:18px !important; height:18px !important;
  top:50% !important; right:14px !important; left:auto !important;
  transform:translateY(-50%) !important; margin:0 !important; padding:0 !important;
  background:none !important; border:none !important; box-shadow:none !important;
}
.woocommerce ul.products li.product a.added_to_cart{
  display:block !important; margin:8px 20px 16px !important; text-align:center !important;
  font-family:'Baloo 2',sans-serif !important; font-weight:700 !important; font-size:0.85rem !important;
  color:var(--green) !important; background:none !important; border:none !important; box-shadow:none !important;
  text-decoration:underline !important; padding:0 !important;
}
.woocommerce ul.products li.product .onsale{
  position:absolute; top:14px; left:14px; background:var(--chilli); color:var(--white);
  font-family:'Baloo 2',sans-serif; font-weight:700; font-size:0.75rem; border-radius:100px;
  padding:5px 12px; min-height:0; min-width:0; line-height:1;
}
.woocommerce ul.products li.product .star-rating{ margin:0 20px; color:var(--orange); }
@media (max-width:900px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .woocommerce ul.products{ grid-template-columns:1fr; max-width:380px; margin-left:auto; margin-right:auto; } }

/* Sorting / result count bar */
.woocommerce-result-count, .woocommerce-ordering{ font-size:0.88rem; color:rgba(74,17,21,0.6); }
.woocommerce-ordering select{ padding:8px 12px; border-radius:100px; border:1.5px solid var(--line); }

/* ==========================================================================
   CUSTOM SINGLE PRODUCT PAGE (single-product.php)
   Namespaced .snackland-* per project convention.
   ========================================================================== */
.snackland-product-page{ padding:10px 0 50px; }
.snackland-product-section{ display:grid; grid-template-columns:52% 48%; gap:60px; align-items:start; }
@media (max-width:860px){ .snackland-product-section{ grid-template-columns:1fr; gap:28px; } }

/* Gallery */
.snackland-product-gallery{ position:relative; }
.snackland-product-gallery .woocommerce-product-gallery{ border-radius:24px; overflow:hidden; box-shadow:0 20px 50px -24px rgba(74,17,21,0.4); background:var(--white); }
.snackland-product-gallery .woocommerce-product-gallery__wrapper{ position:relative; aspect-ratio:1/1; }
.snackland-product-gallery .woocommerce-product-gallery img{ width:100%; height:100%; object-fit:contain; display:block; }
/* A visible zoom affordance on the main image — WooCommerce's own PhotoSwipe
   lightbox opens on click of the image itself (theme support already
   declared in functions.php); this icon just makes that discoverable. */
.snackland-product-gallery .woocommerce-product-gallery__image{ position:relative; }
.snackland-product-gallery .woocommerce-product-gallery__image::after{
  content:'🔍'; position:absolute; top:14px; right:14px; width:38px; height:38px;
  background:var(--white); border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1rem; box-shadow:0 4px 12px rgba(0,0,0,0.15); pointer-events:none;
}
.snackland-product-gallery .flex-control-thumbs{
  display:flex; gap:11px; list-style:none; margin-top:12px; padding:0 0 4px;
  overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:thin;
}
.snackland-product-gallery .flex-control-thumbs li{ flex:0 0 auto; width:72px; }
.snackland-product-gallery .flex-control-thumbs img{
  width:72px; height:72px; object-fit:cover; border-radius:12px; cursor:pointer;
  border:2px solid var(--line); opacity:0.75; transition:all .15s ease;
}
.snackland-product-gallery .flex-control-thumbs img.flex-active{ border-color:var(--orange); opacity:1; }
.snackland-badges{ position:absolute; top:14px; left:14px; z-index:5; display:flex; gap:8px; }
.snackland-badge{ font-family:'Baloo 2',sans-serif; font-weight:700; font-size:0.78rem; padding:6px 14px; border-radius:100px; color:var(--white); }
.snackland-badge-featured{ background:#D4A017; }
.snackland-badge-sale{ background:var(--chilli); }

/* Buy box */
.snackland-product-title{ font-size:2.1rem; font-weight:800; line-height:1.08; margin-bottom:10px; }
@media (max-width:600px){ .snackland-product-title{ font-size:1.7rem; } }
.snackland-product-rating{ display:flex; align-items:center; gap:8px; margin-bottom:14px; font-size:0.95rem; }
/* Our own star rendering for the hand-rolled instances that carry an inline
   --rating value (title area + review summary). WooCommerce's own star
   markup elsewhere (comments list, related products) is untouched and keeps
   using WooCommerce's default stylesheet, already loaded via
   add_theme_support('woocommerce'). */
.star-rating[style*="--rating"]{
  position:relative; display:inline-block; font-size:1rem; line-height:1; letter-spacing:2px;
}
.star-rating[style*="--rating"]::before{ content:'★★★★★'; color:rgba(74,17,21,0.18); }
.star-rating[style*="--rating"]::after{
  content:'★★★★★'; position:absolute; top:0; left:0; color:var(--orange);
  width:calc(var(--rating) / 5 * 100%); overflow:hidden; white-space:nowrap;
}
.snackland-product-rating .star-rating{ color:var(--orange); }
.snackland-review-link{ color:var(--green); text-decoration:underline; cursor:pointer; }
.snackland-no-reviews-yet{ color:rgba(74,17,21,0.5); font-size:0.9rem; }

.snackland-price{ display:flex; flex-wrap:wrap; align-items:baseline; gap:12px; margin-bottom:2px; }
.snackland-price .price{ font-family:'Baloo 2',sans-serif; font-weight:800; font-size:1.9rem; color:var(--orange); }
.snackland-price .price del{ color:rgba(74,17,21,0.35); font-size:1.1rem; font-weight:600; }
.snackland-price .price ins{ text-decoration:none; }
.snackland-save{ font-size:0.9rem; font-weight:700; color:var(--green); background:var(--mint); padding:4px 12px; border-radius:100px; }
.snackland-tax-note{ font-size:0.82rem; color:rgba(74,17,21,0.5); margin-bottom:18px; }
.snackland-short-desc{ color:rgba(74,17,21,0.75); margin-bottom:20px; max-width:48ch; }
.snackland-short-desc p:last-child{ margin-bottom:0; }

.snackland-trust-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; margin-bottom:24px; padding:16px; background:var(--white); border-radius:16px; }
.snackland-trust-row div{ font-size:0.86rem; font-weight:600; display:flex; align-items:center; gap:8px; }
.snackland-trust-icon{ font-size:1.05rem; }

/* Cart form (WooCommerce's own form.cart, restyled) */
.snackland-cart-form form.cart{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:18px; }

/* Variations table (only appears for variable products — WooCommerce renders
   this automatically; we just style it to look like selectable cards) */
.snackland-cart-form table.variations{ width:100%; margin-bottom:6px; border-collapse:separate; }
.snackland-cart-form table.variations tr{ display:block; margin-bottom:12px; }
.snackland-cart-form table.variations label{ display:block; font-weight:700; font-size:0.85rem; margin-bottom:8px; }
.snackland-cart-form table.variations select{
  width:100%; padding:12px 14px; border-radius:12px; border:1.5px solid var(--line); font-family:inherit; background:var(--white);
}
.snackland-cart-form table.variations select:focus{ border-color:var(--orange); outline:none; }
.snackland-cart-form .woocommerce-variation-price .price{ font-size:1.5rem; }
.snackland-cart-form .reset_variations{ font-size:0.82rem; color:var(--chilli); margin-left:8px; }

/* Quantity stepper — WooCommerce only outputs a bare <input>; theme.js adds
   the − / + buttons around it and drives the input's native stepUp/stepDown
   (respecting the min/max/step WooCommerce already sets from stock rules). */
.snackland-cart-form .quantity{ margin:0; display:inline-flex; align-items:center; border:2px solid var(--line); border-radius:100px; overflow:hidden; }
.snackland-cart-form .quantity input{ width:52px; padding:12px 4px; border:none; text-align:center; height:auto; -moz-appearance:textfield; }
.snackland-cart-form .quantity input::-webkit-inner-spin-button,
.snackland-cart-form .quantity input::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0; }
.snackland-qty-btn{
  background:none; border:none; width:38px; height:44px; font-size:1.15rem; cursor:pointer; color:var(--cocoa);
  display:flex; align-items:center; justify-content:center;
}
.snackland-qty-btn:hover{ background:rgba(0,0,0,0.04); }

.snackland-cart-form button.single_add_to_cart_button,
.snackland-cart-form .wp-block-button__link{
  font-family:'Baloo 2',sans-serif !important; font-weight:700 !important; font-size:1rem !important;
  padding:14px 28px !important; height:auto !important; min-height:0 !important; width:auto !important;
  aspect-ratio:auto !important; line-height:1.3 !important; white-space:normal !important;
  border-radius:100px !important; background:var(--orange) !important; color:var(--white) !important;
  border:none !important; box-shadow:0 6px 0 #C2440F !important; cursor:pointer;
}
.snackland-cart-form button.single_add_to_cart_button:hover{ background:#d94d1c !important; }
.snackland-cart-form button.single_add_to_cart_button.disabled,
.snackland-cart-form button.single_add_to_cart_button:disabled{ opacity:0.5; cursor:not-allowed; box-shadow:none !important; }
.snackland-buy-now{ font-family:'Baloo 2',sans-serif; font-weight:700; padding:14px 28px; border-radius:100px; cursor:pointer; }
.snackland-cart-form .stock{ width:100%; font-size:0.85rem; font-weight:600; color:var(--green); margin-top:-4px; }
.snackland-cart-form .stock.out-of-stock{ color:var(--chilli); }
.snackland-cart-form p.stock.out-of-stock ~ .single_add_to_cart_button{ display:none; }

.snackland-meta{ display:flex; flex-wrap:wrap; gap:6px 16px; font-size:0.86rem; color:rgba(74,17,21,0.65); margin-bottom:20px; }
.snackland-meta a{ color:var(--green); }

.snackland-payment-row{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding-top:16px; border-top:1px solid var(--line); }
.snackland-payment-label{ font-size:0.85rem; font-weight:700; margin-right:4px; }
.snackland-pill{ font-size:0.78rem; font-weight:700; padding:4px 12px; border-radius:100px; }
.snackland-pill-blue{ background:#E0EBFF; color:#2451C4; }
.snackland-pill-purple{ background:#EFE3FF; color:#7A3FC4; }
.snackland-pill-green{ background:var(--mint); color:var(--mint-deep); }
.snackland-pill-grey{ background:#EDEDED; color:#555; }

/* Accordions */
.snackland-accordions{ max-width:900px; margin:50px auto 0; }
.snackland-accordion{ border:1px solid var(--line); border-radius:16px; padding:18px 22px; margin-bottom:12px; background:var(--white); }
.snackland-accordion summary{ cursor:pointer; font-family:'Baloo 2',sans-serif; font-weight:700; font-size:1.02rem; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.snackland-accordion summary::-webkit-details-marker{ display:none; }
.snackland-accordion summary::after{ content:'⌄'; font-size:1.2rem; color:var(--orange); transition:transform .2s ease; }
.snackland-accordion[open] summary::after{ transform:rotate(180deg); }
.snackland-accordion-body{ padding-top:14px; color:rgba(74,17,21,0.75); font-size:0.95rem; line-height:1.7; }
.snackland-attr-table{ width:100%; border-collapse:collapse; font-size:0.9rem; }
.snackland-attr-table th, .snackland-attr-table td{ padding:8px 0; border-bottom:1px solid var(--line); text-align:left; }
.snackland-attr-table th{ width:35%; color:rgba(74,17,21,0.6); font-weight:600; }
@media (max-width:600px){ .snackland-attr-table, .snackland-attr-table tbody, .snackland-attr-table tr{ display:block; } .snackland-attr-table th, .snackland-attr-table td{ display:block; padding:4px 0; } .snackland-attr-table th{ width:auto; padding-top:10px; } }

/* Shipping & support info cards */
.snackland-info-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:900px; margin:24px auto 0; }
.snackland-info-card{ background:var(--white); border-radius:16px; padding:22px; }
.snackland-info-card h3{ font-size:1.05rem; font-weight:800; margin-bottom:14px; }
.snackland-info-card ul{ list-style:none; padding:0; }
.snackland-info-card li{ font-size:0.88rem; color:rgba(74,17,21,0.75); margin-bottom:14px; line-height:1.5; }
.snackland-info-card li:last-child{ margin-bottom:0; }
.snackland-info-card li strong{ color:var(--cocoa); }
.snackland-info-card a{ color:var(--green); }
@media (max-width:700px){ .snackland-info-grid{ grid-template-columns:1fr; } }

/* Reviews */
.snackland-reviews{ max-width:900px; margin:50px auto 60px; scroll-margin-top:100px; }
.snackland-reviews-heading{ font-size:1.7rem; font-weight:800; margin-bottom:20px; text-align:center; }
.snackland-review-summary{ display:grid; grid-template-columns:auto 1fr; gap:36px; align-items:center; background:var(--white); border-radius:16px; padding:24px; margin-bottom:30px; }
.snackland-review-summary-score{ display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center; }
.snackland-review-big-number{ font-family:'Baloo 2',sans-serif; font-weight:800; font-size:2.6rem; color:var(--cocoa); }
.snackland-review-summary .star-rating{ color:var(--orange); }
.snackland-review-bars{ display:flex; flex-direction:column; gap:6px; }
.snackland-review-bar-row{ display:grid; grid-template-columns:28px 1fr 24px; align-items:center; gap:10px; font-size:0.82rem; }
.snackland-review-bar-track{ height:8px; background:var(--line); border-radius:100px; overflow:hidden; }
.snackland-review-bar-fill{ height:100%; background:var(--orange); border-radius:100px; }
@media (max-width:600px){ .snackland-review-summary{ grid-template-columns:1fr; text-align:center; } }
.snackland-no-reviews{ text-align:center; background:var(--white); border-radius:16px; padding:40px 20px; margin-bottom:20px; }
.snackland-no-reviews-title{ font-family:'Baloo 2',sans-serif; font-weight:800; font-size:1.2rem; margin-bottom:6px; }
.snackland-reviews .comment-form-rating select{ padding:8px 12px; border-radius:10px; border:1.5px solid var(--line); }
.snackland-reviews #respond input[type="text"], .snackland-reviews #respond input[type="email"], .snackland-reviews #respond textarea{
  width:100%; padding:12px 14px; border-radius:12px; border:1.5px solid var(--line); font-family:inherit;
}
.snackland-reviews #respond .form-submit input{
  font-family:'Baloo 2',sans-serif; font-weight:700; background:var(--orange); color:var(--white);
  border:none; border-radius:100px; padding:12px 26px; cursor:pointer;
}
.snackland-reviews .commentlist{ list-style:none; padding:0; }
.snackland-reviews .comment_container{ background:var(--white); border-radius:14px; padding:18px; margin-bottom:14px; }
.snackland-reviews .star-rating{ color:var(--orange); }

/* Related products */
.woocommerce .related.products{ margin-top:20px; border-top:1px solid var(--line); padding-top:40px; }
.woocommerce .related.products > h2{ font-size:1.7rem; font-weight:800; margin-bottom:24px; text-align:center; }

/* Sticky mobile buy bar */
.snackland-sticky-bar{
  display:none; position:fixed; left:0; right:0; bottom:0; z-index:60;
  background:var(--white); box-shadow:0 -8px 24px rgba(0,0,0,0.12);
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  align-items:center; justify-content:space-between; gap:12px;
}
.snackland-sticky-bar.is-visible{ display:flex; }
.snackland-sticky-price{ font-family:'Baloo 2',sans-serif; font-weight:800; color:var(--orange); font-size:1.1rem; }
.snackland-sticky-price .price{ font-size:1.1rem; }
.snackland-sticky-add{ flex-shrink:0; padding:11px 22px !important; font-size:0.92rem !important; }
@media (min-width:861px){ .snackland-sticky-bar{ display:none !important; } }


/* Cart page */
.woocommerce-cart table.shop_table{ width:100%; border-collapse:collapse; margin-bottom:30px; }
.woocommerce-cart table.shop_table th{ text-align:left; font-size:0.8rem; text-transform:uppercase; letter-spacing:0.04em; color:rgba(74,17,21,0.5); padding-bottom:12px; border-bottom:1px solid var(--line); }
.woocommerce-cart table.shop_table td{ padding:16px 10px; border-bottom:1px solid var(--line); vertical-align:middle; }
.woocommerce-cart table.shop_table td.product-thumbnail img{ width:70px; border-radius:12px; }
.woocommerce-cart table.shop_table td.product-name a{ font-family:'Baloo 2',sans-serif; font-weight:700; }
.woocommerce-cart table.shop_table input.qty{ width:60px; padding:8px; border-radius:100px; border:1.5px solid var(--line); text-align:center; }
.woocommerce-cart table.shop_table td.product-remove a{ color:var(--chilli); font-size:1.3rem; }
.woocommerce-cart .cart-collaterals .cart_totals{ background:var(--white); border-radius:20px; padding:26px; box-shadow:0 14px 30px -18px rgba(74,17,21,0.3); max-width:380px; margin-left:auto; }
.woocommerce-cart .cart_totals h2{ font-size:1.2rem; font-weight:800; margin-bottom:14px; }
.woocommerce-cart .cart_totals table{ width:100%; }
.woocommerce-cart .cart_totals table td, .woocommerce-cart .cart_totals table th{ padding:9px 0; border-bottom:1px solid var(--line); font-size:0.94rem; }
.woocommerce-cart .wc-proceed-to-checkout a{
  display:block; text-align:center; font-family:'Baloo 2',sans-serif; font-weight:700;
  background:var(--orange); color:var(--white) !important; padding:14px; border-radius:100px; margin-top:14px;
}
.woocommerce button[name="update_cart"]{
  font-family:'Baloo 2',sans-serif; font-weight:700; background:var(--cocoa); color:var(--cream);
  border:none; border-radius:100px; padding:11px 22px; cursor:pointer;
}
.woocommerce-cart .woocommerce-shipping-calculator .button{
  font-family:'Baloo 2',sans-serif; font-weight:700; background:var(--green); color:var(--white);
  border:none; border-radius:100px; padding:10px 18px; margin-top:10px;
}
#coupon_code{ padding:12px 14px; border-radius:12px; border:1.5px solid var(--line); margin-right:8px; }
.woocommerce-cart button[name="apply_coupon"]{
  font-family:'Baloo 2',sans-serif; font-weight:700; background:var(--white); color:var(--green);
  border:1.5px solid var(--green); border-radius:100px; padding:11px 20px; cursor:pointer;
}

/* Mobile: stack cart table rows as cards instead of a cramped table.
   WooCommerce already outputs a data-title attribute on every <td>, so this
   just needs to display it. */
@media (max-width:700px){
  .woocommerce-cart table.shop_table thead{ display:none; }
  .woocommerce-cart table.shop_table, .woocommerce-cart table.shop_table tbody,
  .woocommerce-cart table.shop_table tr, .woocommerce-cart table.shop_table td{
    display:block; width:100%;
  }
  .woocommerce-cart table.shop_table tr{
    margin-bottom:16px; border:1px solid var(--line); border-radius:16px; padding:14px; background:var(--white);
  }
  .woocommerce-cart table.shop_table td{
    display:flex; justify-content:space-between; align-items:center;
    border-bottom:none; padding:7px 2px; text-align:right;
  }
  .woocommerce-cart table.shop_table td::before{
    content:attr(data-title); font-weight:700; text-align:left; padding-right:10px; font-size:0.85rem;
  }
  .woocommerce-cart table.shop_table td.product-thumbnail{ justify-content:center; }
  .woocommerce-cart table.shop_table td.product-thumbnail::before{ content:''; }
  .woocommerce-cart .cart-collaterals .cart_totals{ max-width:100%; margin-left:0; }
  #coupon_code{ width:100%; margin:0 0 10px; }
  .woocommerce-cart .coupon .button{ width:100%; }
}

/* Checkout page */
.woocommerce-checkout #customer_details{ display:grid; grid-template-columns:1fr; gap:20px; }
.woocommerce-checkout .form-row label{ font-size:0.85rem; font-weight:700; margin-bottom:6px; }
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row select, .woocommerce-checkout .form-row textarea{
  width:100%; padding:12px 14px; border-radius:12px; border:1.5px solid var(--line); font-family:inherit;
}
.woocommerce-checkout #order_review{ background:var(--white); border-radius:20px; padding:26px; box-shadow:0 14px 30px -18px rgba(74,17,21,0.3); }
.woocommerce-checkout #order_review table.shop_table td, .woocommerce-checkout #order_review table.shop_table th{ padding:9px 0; border-bottom:1px solid var(--line); }
.woocommerce-checkout #place_order{
  width:100%; font-family:'Baloo 2',sans-serif; font-weight:700; font-size:1.05rem;
  background:var(--orange); color:var(--white); border:none; border-radius:100px; padding:16px; cursor:pointer; margin-top:14px;
}
.woocommerce-checkout ul.wc_payment_methods{ list-style:none; }
.woocommerce-checkout ul.wc_payment_methods li{ border:1.5px solid var(--line); border-radius:14px; padding:14px 16px; margin-bottom:10px; }
.woocommerce-checkout ul.wc_payment_methods li label{ font-weight:700; margin-bottom:0; display:inline; }
@media (max-width:700px){
  .woocommerce-checkout #order_review table.shop_table thead{ display:none; }
  .woocommerce-checkout #order_review table.shop_table, .woocommerce-checkout #order_review table.shop_table tbody,
  .woocommerce-checkout #order_review table.shop_table tr, .woocommerce-checkout #order_review table.shop_table td{
    display:block; width:100%;
  }
  .woocommerce-checkout #order_review table.shop_table td{
    display:flex; justify-content:space-between; padding:6px 0; text-align:right;
  }
  .woocommerce-checkout #order_review table.shop_table td::before{ content:attr(data-title); font-weight:700; text-align:left; }
}

/* My account page */
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin-bottom:30px; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:inline-block; padding:9px 18px; border-radius:100px; background:var(--white);
  border:1.5px solid var(--line); font-family:'Baloo 2',sans-serif; font-weight:700; font-size:0.88rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ background:var(--cocoa); color:var(--cream); border-color:var(--cocoa); }
.woocommerce-account table.shop_table{ width:100%; border-collapse:collapse; }
.woocommerce-account table.shop_table td, .woocommerce-account table.shop_table th{ padding:12px; border-bottom:1px solid var(--line); text-align:left; }
.woocommerce-account .woocommerce-MyAccount-content .button{
  font-family:'Baloo 2',sans-serif; font-weight:700; background:var(--orange); color:var(--white) !important;
  border-radius:100px; padding:10px 20px; display:inline-block;
}
@media (max-width:700px){
  .woocommerce-account table.shop_table thead{ display:none; }
  .woocommerce-account table.shop_table, .woocommerce-account table.shop_table tbody,
  .woocommerce-account table.shop_table tr, .woocommerce-account table.shop_table td{ display:block; width:100%; }
  .woocommerce-account table.shop_table tr{ margin-bottom:14px; border:1px solid var(--line); border-radius:14px; padding:10px; }
  .woocommerce-account table.shop_table td{ display:flex; justify-content:space-between; border-bottom:none; text-align:right; }
  .woocommerce-account table.shop_table td::before{ content:attr(data-title); font-weight:700; text-align:left; }
}

/* WooCommerce notices (out of stock, added to cart, errors) */
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  background:var(--mint); color:var(--mint-deep); border:none; border-radius:14px;
  padding:14px 20px; font-weight:600; list-style:none; margin:20px 0;
}
.woocommerce-error{ background:var(--chilli-pale); color:#9c2214; }
.woocommerce-message a.button, .woocommerce-error a.button{
  background:var(--cocoa); color:var(--cream) !important; border-radius:100px; padding:8px 16px; margin-left:10px;
}

/* Breadcrumb */
.woocommerce-breadcrumb{ font-size:0.85rem; color:rgba(74,17,21,0.55); }
.woocommerce-breadcrumb a:hover{ color:var(--orange); }

/* ==========================================================================
   New homepage sections — How It's Made / Our Story / Bundle CTA / FAQ
   ========================================================================== */

.how-made{ padding:80px 0; background:var(--white); }
.how-made-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.how-made-step{ text-align:center; padding:0 10px; }
.how-made-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:50%; background:var(--mint);
  color:var(--mint-deep); font-family:'Baloo 2',sans-serif; font-weight:800; font-size:1.1rem;
  margin-bottom:16px;
}
.how-made-step h3{ font-size:1.25rem; font-weight:800; margin-bottom:8px; }
.how-made-step p{ font-size:0.92rem; color:rgba(74,17,21,0.65); max-width:32ch; margin:0 auto; }
@media (max-width:820px){ .how-made-grid{ grid-template-columns:1fr; gap:36px; } }

.story-band{ padding:80px 0; }
.story-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:48px; align-items:center; }
.story-photo{ border-radius:24px; overflow:hidden; box-shadow:0 20px 44px -22px rgba(74,17,21,0.35); }
.story-photo img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; }
.story-band h2{ font-size:2rem; font-weight:800; margin-bottom:16px; }
.story-band p{ color:rgba(74,17,21,0.72); margin-bottom:16px; max-width:52ch; }
@media (max-width:820px){ .story-grid{ grid-template-columns:1fr; gap:26px; text-align:center; } .story-band p{ margin-left:auto; margin-right:auto; } }

.bundle-cta{ background:var(--cocoa); padding:50px 0; }
.bundle-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.bundle-inner h2{ color:var(--cream); font-size:1.7rem; font-weight:800; margin-bottom:6px; }
.bundle-inner p{ color:rgba(255,245,230,0.7); max-width:44ch; }
@media (max-width:700px){ .bundle-inner{ flex-direction:column; text-align:center; } }

.home-faq{ padding:80px 0; background:var(--white); }

/* ==========================================================================
   Final mobile pass — smaller type scale and tighter spacing under 480px
   so nothing feels like a shrunk desktop layout on a real phone.
   ========================================================================== */
@media (max-width:480px){
  .wrap{ padding:0 18px; }
  .hero{ padding-top:36px; }
  .hero-kicker{ font-size:0.8rem; }
  .shelf, .notes, .home-faq, .how-made, .story-band{ padding-top:56px; padding-bottom:56px; }
  .shelf-head h2, .notes-head h2, .story-band h2{ font-size:1.7rem; }
  .btn{ padding:13px 22px; font-size:0.95rem; }
  .facts{ padding:36px 0; }
  .facts-value{ font-size:1.2rem; }
  footer.site-footer{ padding:48px 0 24px; }
  .footer-bottom{ flex-direction:column; text-align:center; gap:8px; }
}

/* Prevent horizontal scroll traps on small screens no matter what */
html, body{ overflow-x:hidden; max-width:100%; }
img{ max-width:100%; height:auto; }
