:root{
  --cream:#FFF8F0;
  --accent:#E4572E;
  --accent-dark:#C6431E;
  --brown:#3A2B22;
  --muted:#8a7768;
  --whatsapp:#25D366;
  --gold:#F2A93B;
}
*{box-sizing:border-box;}
body{
  background:var(--cream);
  font-family:'Poppins', 'Segoe UI', sans-serif;
  color:var(--brown);
  padding-bottom:78px;
}
@media(min-width:992px){ body{ padding-bottom:0; } }

a{ text-decoration:none; }

/* ---------- Header / tabs / search ---------- */
.top-header{
  position:sticky; top:0; z-index:1030;
  background:var(--cream);
  padding-top:12px; padding-bottom:8px;
  box-shadow:0 2px 10px rgba(58,43,34,0.06);
}
.brand{
  font-weight:700; font-size:1.5rem; color:var(--accent-dark);
  display:flex; align-items:center; gap:8px;
}
/*.brand i{ font-size:1.6rem; }*/
.brand img{ height:36px; width:auto; display:block; }

.desktop-nav{ display:none; }
@media(min-width:992px){
  .desktop-nav{ display:flex; gap:26px; align-items:center; }
  .desktop-nav a{
    color:var(--brown); font-weight:600; font-size:0.95rem;
    display:flex; align-items:center; gap:6px; opacity:0.85;
  }
  .desktop-nav a:hover{ opacity:1; color:var(--accent-dark); }
  .desktop-nav a.active{ color:var(--accent-dark); opacity:1; }
  .desktop-nav a.whatsapp-link{ color:var(--whatsapp); }
}

.tabs-row{
  display:flex; gap:10px; overflow-x:auto; padding:10px 2px 4px;
  scrollbar-width:none;
}
.tabs-row::-webkit-scrollbar{ display:none; }
.tab-pill{
  flex:0 0 auto; display:flex; align-items:center; gap:7px;
  padding:9px 18px; border-radius:14px; border:1.5px solid #ece2d6;
  background:#fff; font-weight:600; font-size:0.9rem; color:var(--brown);
  white-space:nowrap; position:relative;
  transition:all .15s ease;
}
.tab-pill.active{ background:var(--accent); color:#fff; border-color:var(--accent); }
.tab-pill .soon-badge{
  position:absolute; top:-8px; right:-6px;
  background:#2f9e44; color:#fff; font-size:0.55rem; font-weight:700;
  padding:2px 6px; border-radius:8px; white-space:nowrap;
}

.search-box, .search-row{
  background:#fff; border-radius:14px; border:1.5px solid #ece2d6;
  padding:11px 16px; display:flex; align-items:center; gap:10px;
  color:var(--muted); margin-top:8px; font-size:0.92rem; position:relative;
}
.search-box input, .search-row input{
  flex:1; border:none; outline:none; background:transparent;
  font-family:inherit; font-size:0.95rem; color:var(--brown);
}
.search-box input::placeholder, .search-row input::placeholder{ color:var(--muted); }
.search-row i.back-icon{ color:var(--accent-dark); font-size:1.2rem; }
.search-clear{ color:var(--accent); font-size:1rem; cursor:pointer; display:none; }

.search-suggestions{
  position:absolute; top:calc(100% + 6px); left:0; right:0; background:#fff;
  border:1px solid #ece2d6; border-radius:14px; box-shadow:0 10px 24px rgba(58,43,34,0.12);
  max-height:340px; overflow-y:auto; z-index:1040; display:none;
}
.search-suggestions.show{ display:block; }
.suggestion-item{
  display:flex; align-items:center; gap:10px; padding:10px 14px; color:var(--brown);
  border-bottom:1px solid #f4ece1;
}
.suggestion-item:last-child{ border-bottom:none; }
.suggestion-item:hover{ background:#fff8f0; }
.suggestion-thumb{ width:40px; height:40px; border-radius:9px; object-fit:cover; flex:0 0 auto; background:#f1e6d8; }
.suggestion-name{ font-weight:600; font-size:0.88rem; }
.suggestion-cat{ font-size:0.72rem; color:var(--muted); }
.suggestion-empty{ padding:14px; text-align:center; color:var(--muted); font-size:0.85rem; }

/* ---------- Section titles ---------- */
.section-title{
  font-weight:700; font-size:1.2rem; margin:26px 0 14px; color:var(--brown);
}
.section-title small{
  display:block; font-weight:400; font-size:0.8rem; color:var(--muted); margin-top:2px;
}

/* ---------- Offers carousel ---------- */
.offers-carousel .carousel-item{
  border-radius:18px; overflow:hidden; height:150px;
}
@media(min-width:576px){ .offers-carousel .carousel-item{ height:190px; } }
@media(min-width:992px){ .offers-carousel .carousel-item{ height:260px; } }
.offers-carousel img{ width:100%; height:100%; object-fit:cover; }
.offers-carousel .carousel-indicators{ margin-bottom:6px; }
.offers-carousel .carousel-indicators button{
  width:6px; height:6px; border-radius:50%; background:#e0d3c4; opacity:1; border:none;
}
.offers-carousel .carousel-indicators button.active{ background:var(--accent); width:18px; border-radius:4px; }
.offers-carousel .carousel-control-prev, .offers-carousel .carousel-control-next{ width:10%; }

/* ---------- Most popular grid ---------- */
.popular-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
@media(min-width:576px){ .popular-grid{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:992px){ .popular-grid{ grid-template-columns:repeat(4,1fr); } }
.popular-card{
  position:relative; border-radius:16px; overflow:hidden; height:150px;
  display:flex; align-items:flex-end; color:#fff;
  background-size:cover; background-position:center;
}
@media(min-width:992px){ .popular-card{ height:170px; } }
.popular-card .pc-overlay{
  position:relative; z-index:1; padding:14px; width:100%;
  background:linear-gradient(180deg, rgba(0,0,0,0.05) 40%, rgba(0,0,0,0.6) 100%);
}
.popular-card .pc-name{ font-weight:700; font-size:1rem; }

/* ---------- Subcategory chip row (listing page) ---------- */
.subcat-row{ display:flex; gap:10px; overflow-x:auto; padding:16px 2px 4px; scrollbar-width:none; }
.subcat-row::-webkit-scrollbar{ display:none; }
.subcat-chip{
  flex:0 0 auto; display:flex; align-items:center; gap:8px;
  padding:8px 16px 8px 8px; border-radius:30px; border:1.5px solid #ece2d6;
  background:#fff; font-weight:600; font-size:0.85rem; color:var(--brown);
  white-space:nowrap;
}
.subcat-chip.active{ background:var(--accent); color:#fff; border-color:var(--accent); }
.subcat-chip img{ width:30px; height:30px; border-radius:50%; object-fit:cover; }
.subcat-chip .subcat-count{ opacity:0.75; font-weight:400; }

/* ---------- Listing heading ---------- */
.list-heading{ font-weight:700; font-size:1.3rem; margin:20px 0 14px; }
.list-heading span{ color:var(--muted); font-weight:400; font-size:0.85rem; }

/* ---------- Product grid / cards ---------- */
.product-grid{ display:grid; grid-template-columns:1fr; gap:18px; }
@media(min-width:576px){ .product-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:992px){ .product-grid{ grid-template-columns:repeat(3,1fr); } }

.product-card{
  display:block; background:#fff; border-radius:18px; overflow:hidden;
  border:1px solid #f1e6d8; position:relative; color:inherit;
}
.product-media{
  position:relative; height:200px; overflow:hidden; background:#f1e6d8;
}
.product-media img{
  position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .6s ease;
}
.product-media img.active{ opacity:1; }
.discount-badge{
  position:absolute; top:12px; left:0; background:var(--accent); color:#fff;
  font-weight:700; font-size:0.8rem; padding:6px 14px; border-radius:0 10px 10px 0; z-index:2;
}
.highlight-badge{
  position:absolute; top:12px; right:12px; background:#fff; color:var(--accent-dark);
  font-weight:600; font-size:0.7rem; padding:5px 10px; border-radius:8px; z-index:2;
  box-shadow:0 2px 6px rgba(58,43,34,0.12);
}
.media-dots{ position:absolute; bottom:10px; left:0; right:0; display:flex; justify-content:center; gap:5px; z-index:2; }
.media-dots span{ width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,0.6); }
.media-dots span.active{ background:#fff; width:14px; border-radius:3px; }

.soldout-overlay{
  position:absolute; inset:0; background:rgba(58,43,34,0.55); z-index:3;
  display:flex; align-items:center; justify-content:center;
}
.soldout-overlay span{
  background:#fff; color:var(--brown); font-weight:800; font-size:0.95rem;
  padding:8px 22px; border-radius:8px; letter-spacing:0.5px; transform:rotate(-6deg);
  box-shadow:0 4px 14px rgba(0,0,0,0.25);
}
.product-card.is-soldout .product-media{ filter:grayscale(0.5) brightness(0.8); }
.product-card.is-soldout .product-body{ opacity:0.6; }

.product-body{ padding:14px 16px 16px; }
.product-row{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.product-row + .product-row{ margin-top:6px; }
.product-title{ font-weight:600; font-size:1.05rem; }
.stars{ color:var(--gold, #F2A93B); font-size:0.8rem; white-space:nowrap; }
.tag-badge{
  font-size:0.78rem; font-weight:600; color:var(--accent-dark);
  background:#fdeee7; padding:2px 10px; border-radius:8px;
}
.price-old{ color:var(--muted); text-decoration:line-through; font-size:0.85rem; }
.weight-text{ color:var(--muted); font-size:0.85rem; }
.price-new{ font-weight:700; font-size:1.05rem; color:var(--brown); }

/* ---------- Bottom nav (mobile) ---------- */
.bottom-nav{
  position:fixed; bottom:0; left:0; right:0; z-index:1030;
  background:#FFF3EA; border-top:1px solid #f3ddc9;
  display:flex; justify-content:space-around; align-items:center;
  padding:8px 0 10px; box-shadow:0 -3px 14px rgba(58,43,34,0.09);
}
@media(min-width:992px){ .bottom-nav{ display:none; } }
.bottom-nav .nav-item{
  display:flex; flex-direction:column; align-items:center; gap:3px;
  font-size:0.68rem; color:var(--muted); font-weight:600;
  padding:4px 2px; border-radius:12px; min-width:56px;
}
.bottom-nav .nav-item i{
  font-size:1.2rem; width:34px; height:26px; border-radius:9px;
  display:flex; align-items:center; justify-content:center;
}
.bottom-nav .nav-item.active{ color:var(--accent-dark); }
.bottom-nav .nav-item.active i{ background:var(--accent); color:#fff; }
.bottom-nav .nav-item.whatsapp i{ color:var(--whatsapp); font-size:1.45rem; }
.nav-cart-badge{
  position:absolute; top:-4px; right:-6px; background:var(--accent-dark); color:#fff;
  font-size:0.6rem; font-weight:700; min-width:15px; height:15px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; padding:0 2px; line-height:1;
}
.cart-badge-inline{
  background:var(--accent-dark); color:#fff; font-size:0.68rem; font-weight:700;
  min-width:16px; height:16px; border-radius:50%; display:inline-flex;
  align-items:center; justify-content:center; padding:0 4px; margin-left:2px; vertical-align:2px;
}

.empty-state{
  text-align:center; padding:56px 16px; color:var(--muted);
}
.empty-state i{ font-size:2.4rem; color:#e3d4c4; }

/* =================================================================
   Product detail page
   ================================================================= */
.detail-top-bar{
  display:flex; align-items:center; gap:14px;
  padding:14px 16px; position:sticky; top:0; background:#fff; z-index:1030;
}
.detail-top-bar i{ font-size:1.3rem; color:var(--brown); }
.detail-top-bar .brand{ font-weight:700; color:var(--accent-dark); }

.detail-wrap{ max-width:1100px; margin:0 auto; padding:0 0 24px; }
@media(min-width:992px){
  .detail-wrap{ display:flex; gap:36px; padding:24px 24px 40px; }
  .media-col{ flex:0 0 44%; position:sticky; top:76px; align-self:flex-start; }
  .info-col{ flex:1; background:#fff; border-radius:18px; padding:4px 8px 8px; }
}

.media-frame{ position:relative; height:340px; overflow:hidden; background:#000; }
@media(min-width:992px){ .media-frame{ border-radius:18px; height:420px; } }
.media-frame .media-slide-el{ position:absolute; inset:0; transition:opacity .5s ease; }
.media-frame .media-slide-el img,
.media-frame .media-slide-el iframe{ width:100%; height:100%; object-fit:cover; display:block; }
.media-play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:56px; height:56px; border-radius:50%; background:rgba(255,255,255,0.25);
  border:2px solid rgba(255,255,255,0.85); display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.5rem; pointer-events:none;
}
.media-nav-btn{
  position:absolute; top:50%; transform:translateY(-50%); z-index:4;
  width:34px; height:34px; border-radius:50%; border:none;
  background:rgba(0,0,0,0.35); color:#fff; font-size:1.1rem;
  display:flex; align-items:center; justify-content:center;
}
.media-nav-btn:hover{ background:rgba(0,0,0,0.55); }
.media-nav-prev{ left:10px; }
.media-nav-next{ right:10px; }

.info-pad{ padding:16px 16px 0; }
.row-line{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:8px; }
.product-name{ font-weight:700; font-size:1.4rem; }
.muted-text{ color:var(--muted); font-size:0.9rem; }

.desc-text{
  color:var(--muted); font-size:0.88rem; line-height:1.55; margin-top:14px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.desc-text.expanded{ -webkit-line-clamp:unset; }
.see-more{
  color:var(--accent-dark); font-weight:600; font-size:0.88rem; cursor:pointer;
  display:flex; justify-content:flex-end; align-items:center; gap:4px; margin-top:6px;
}
.see-more i{ transition:transform .2s ease; }
.see-more.open i{ transform:rotate(180deg); }

.dsection{ border-top:8px solid var(--cream); padding:18px 16px; }
@media(min-width:992px){ .dsection{ border-top-color:#faf3ea; } }
.dsection-title{ font-weight:600; font-size:1.05rem; color:var(--brown); margin-bottom:14px; }

.variant-row{ display:flex; gap:10px; flex-wrap:wrap; }
.variant-pill{
  padding:9px 20px; border-radius:12px; border:1.5px solid var(--line, #f1e6d8);
  font-weight:600; font-size:0.92rem; cursor:pointer; background:#fff; color:var(--brown);
}
.variant-pill.active{ background:var(--accent); border-color:var(--accent); color:#fff; }

.variant-type-row{ display:flex; gap:8px; flex-wrap:wrap; }
.variant-type-pill{
  padding:9px 22px; border-radius:12px; border:1.5px solid var(--line, #f1e6d8);
  font-weight:600; font-size:0.92rem; cursor:pointer; background:#fff; color:var(--brown);
  transition:background .18s, border-color .18s, color .18s;
}
.variant-type-pill.active{ background:var(--brown); border-color:var(--brown); color:#fff; }

.check-item{
  display:flex; align-items:center; justify-content:space-between;
  padding:11px 0; border-bottom:1px solid #f1e6d8; cursor:pointer;
}
.check-item:last-child{ border-bottom:none; }
.check-item .ci-name{ font-weight:500; font-size:0.95rem; }
.check-item .ci-right{ display:flex; align-items:center; gap:12px; }
.ci-price{ color:var(--muted); font-size:0.88rem; }

.check-box{
  width:24px; height:24px; border-radius:6px; border:1.5px solid var(--accent);
  display:flex; align-items:center; justify-content:center; flex:0 0 auto;
  color:#fff; font-size:0.85rem;
}
.check-box.checked{ background:var(--accent); }
.check-box.radio{ border-radius:50%; }

.addmore-item{ display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #f1e6d8; }
.addmore-item:last-child{ border-bottom:none; }
.addmore-thumb{ width:56px; height:56px; border-radius:10px; flex:0 0 auto; object-fit:cover; background:#f1e6d8; }
.addmore-mid{ flex:1; min-width:0; }
.addmore-name{ font-weight:600; font-size:0.92rem; }
.addmore-sub{ color:var(--muted); font-size:0.8rem; margin-bottom:6px; }
.addmore-price{ font-weight:600; font-size:0.82rem; min-width:52px; max-width:110px; text-align:right; white-space:nowrap; }

.stepper{
  display:flex; align-items:center; gap:10px; border:1.5px solid #f1e6d8;
  border-radius:10px; padding:4px 10px; width:fit-content;
}
.stepper.accent{ border-color:var(--accent); }
.stepper button{
  border:none; background:none; color:var(--accent); font-size:1.1rem; font-weight:700;
  width:20px; height:20px; display:flex; align-items:center; justify-content:center; padding:0;
}
.stepper button:disabled{ opacity:0.35; }
.stepper .val{ font-weight:600; min-width:14px; text-align:center; font-size:0.9rem; }
.stepper.sm{ padding:3px 8px; gap:8px; }

.detail-bottom-bar{
  position:fixed; bottom:0; left:0; right:0; z-index:1030;
  background:#fff; border-top:1px solid #f1e6d8;
  display:flex; align-items:center; gap:14px; padding:12px 16px;
  box-shadow:0 -3px 14px rgba(58,43,34,0.08);
}
@media(min-width:992px){ .detail-bottom-bar{ display:none; } }
.add-btn{
  flex:1; background:var(--accent); color:#fff; border:none; border-radius:12px;
  display:flex; align-items:center; justify-content:space-between; padding:12px 18px;
  font-weight:700; font-size:1rem;
}
.add-btn .abtn-old{ font-size:0.78rem; text-decoration:line-through; opacity:0.85; font-weight:500; display:block; }
.add-btn .abtn-new{ font-size:0.95rem; }
.add-btn:disabled{ opacity:0.6; }

.desktop-add{ display:none; }
@media(min-width:992px){
  .desktop-add{ display:flex; align-items:center; gap:16px; padding:16px; margin:8px 16px 16px; border-top:1px solid #f1e6d8; }
}

.toast-note{
  position:fixed; top:14px; left:50%; transform:translateX(-50%); z-index:1050;
  background:var(--brown); color:#fff; padding:10px 20px; border-radius:10px;
  font-size:0.88rem; font-weight:600; opacity:0; pointer-events:none; transition:opacity .25s ease;
}
.toast-note.show{ opacity:1; }

/* Related items row at the bottom of the detail page */
.related-row{ display:flex; gap:14px; overflow-x:auto; padding:2px 2px 8px; scrollbar-width:none; }
.related-row::-webkit-scrollbar{ display:none; }
.related-card{
  flex:0 0 150px; background:#fff; border:1px solid #f1e6d8; border-radius:14px; overflow:hidden; color:inherit;
}
.related-card img{ width:100%; height:110px; object-fit:cover; background:#f1e6d8; }
.related-card .rc-body{ padding:10px; }
.related-card .rc-name{ font-weight:600; font-size:0.85rem; line-height:1.3; height:2.2em; overflow:hidden; }
.related-card .rc-price{ font-weight:700; font-size:0.88rem; margin-top:4px; }

/* =================================================================
   Sitewide sticky-foot: bottom nav (mobile only) + a top slot that's
   either the default mini-cart-bar or a page's own $stickyBarHtml
   (cart.php/checkout.php). The top slot stays visible on desktop even
   though the bottom nav itself is mobile-only - desktop already has the
   header's nav, so only the action bar needs to persist there.
   ================================================================= */
.sticky-foot{ position:fixed; left:0; right:0; bottom:0; z-index:1030; }
.sticky-foot .bottom-nav{ position:static; }
.mini-cart-bar{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:var(--accent); color:#fff; padding:12px 16px;
  box-shadow:0 -3px 14px rgba(58,43,34,0.12);
}
.mini-cart-bar .mcb-info{ font-weight:600; font-size:0.88rem; }
.mini-cart-bar .mcb-next{
  background:#fff; color:var(--accent-dark); font-weight:700; font-size:0.88rem;
  padding:8px 18px; border-radius:10px; display:flex; align-items:center; gap:6px;
}
body.has-mini-cart-bar{ padding-bottom:136px; }
@media(min-width:992px){ body.has-mini-cart-bar{ padding-bottom:84px; } }

/* A page's own action bar in the sticky-foot's top slot (cart.php's Next,
   checkout.php's Complete order) - stacked above the bottom nav on mobile,
   the only thing shown (bottom nav is mobile-only) on desktop. */
.sticky-action-bar{
  display:flex; align-items:center; gap:14px; padding:12px 16px;
  background:#fff; border-top:1px solid #f1e6d8;
  box-shadow:0 -3px 14px rgba(58,43,34,0.08);
}

/* =================================================================
   Cart page
   ================================================================= */
.cart-item{ display:flex; gap:12px; align-items:flex-start; padding:14px 0; border-bottom:1px solid #f1e6d8; }
.cart-item:last-child{ border-bottom:none; }
.cart-item-thumb{ width:64px; height:64px; border-radius:12px; object-fit:cover; background:#f1e6d8; flex:0 0 auto; }
.cart-item-mid{ flex:1; min-width:0; }
.cart-item-name{ font-weight:600; font-size:0.98rem; }
.cart-item-meta{ color:var(--muted); font-size:0.82rem; margin-top:3px; line-height:1.5; }
.cart-item-qty{ font-weight:600; font-size:0.85rem; margin-top:6px; color:var(--brown); }
.cart-item-right{ display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.cart-item-price{ font-weight:700; font-size:0.98rem; }
.cart-item-remove{ color:var(--muted); font-size:1.1rem; cursor:pointer; background:none; border:none; padding:0; }
.cart-item-remove:hover{ color:var(--accent-dark); }

/* =================================================================
   Checkout details form (login/address) + review/payment page
   ================================================================= */
.checkout-form-wrap{ max-width:520px; margin:0 auto; padding:16px 4px 40px; }
.checkout-form .form-control{ border-radius:10px; border-color:#ece2d6; }

.checkout-wrap{ max-width:640px; margin:0 auto; padding:16px 0 170px; display:flex; flex-direction:column; gap:14px; }
@media(min-width:992px){ .checkout-wrap{ padding-bottom:100px; } }
.ck-card{ background:#fff; border-radius:16px; padding:16px; border:1px solid #f1e6d8; }
.ck-card-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.ck-edit{ color:var(--accent-dark); font-weight:600; font-size:0.85rem; }
.ck-address{ font-size:0.92rem; line-height:1.6; }
.ck-totals{ margin-top:10px; border-top:1px solid #f1e6d8; padding-top:10px; }
.ck-nudge{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:0.88rem; color:var(--accent-dark); }
.ck-nudge-link{ font-weight:700; text-decoration:underline; margin-left:auto; }
.ck-option{ display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #f1e6d8; cursor:pointer; }
.ck-option:last-child{ border-bottom:none; }
.ck-option input{ width:18px; height:18px; accent-color:var(--accent); flex:0 0 auto; }
.ck-option-name{ flex:1; font-weight:600; font-size:0.92rem; }
.ck-option-fee{ font-weight:600; font-size:0.88rem; color:var(--muted); }

/* =================================================================
   Order confirmation page
   ================================================================= */
.confirm-wrap{ max-width:420px; margin:30px auto; text-align:center; padding:0 16px 40px; }
.confirm-icon{ font-size:3.2rem; color:#2f9e44; margin-bottom:10px; }
.confirm-title{ font-weight:700; font-size:1.4rem; }
.confirm-code{ background:#fff; border:1.5px dashed var(--accent); border-radius:14px; padding:14px; margin:20px 0; font-weight:600; }
.confirm-code span{ display:block; font-size:1.3rem; color:var(--accent-dark); letter-spacing:1px; margin-top:4px; }
.confirm-summary{ background:#fff; border-radius:14px; padding:16px; text-align:left; margin-top:10px; }
.confirm-summary .row-line{ margin-top:0; padding:6px 0; }
.confirm-summary .row-line + .row-line{ border-top:1px solid #f1e6d8; }
.confirm-home-btn{ display:flex; margin-top:22px; text-decoration:none; justify-content:center; }
.confirm-call-btn{
  display:flex; align-items:center; justify-content:center; gap:10px;
  background:#fff; border:1.5px solid var(--accent); color:var(--accent-dark);
  border-radius:12px; padding:12px 16px; margin-top:16px; font-size:0.9rem; font-weight:500;
}
.confirm-call-btn i{ font-size:1.15rem; }

.ck-totals .ck-grand{ border-top:1px solid #f1e6d8; margin-top:6px; padding-top:8px; }

/* Extra bottom padding on pages whose sticky-foot shows an action bar
   stacked above the bottom nav (mobile: both; desktop: action bar only). */
.page-with-fixed-bar{ padding-bottom:170px; }
@media(min-width:992px){ .page-with-fixed-bar{ padding-bottom:90px; } }

/* =================================================================
   Order history (customer-facing)
   ================================================================= */
.order-card{
  display:block; background:#fff; border:1px solid #f1e6d8; border-radius:14px;
  padding:14px 16px; margin-bottom:12px; color:inherit;
}
.order-card-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:8px; }
.order-card-bottom{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:8px; border-top:1px solid #f4ece1; }
.order-item-row{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid #f1e6d8; }
.order-item-row:last-child{ border-bottom:none; }
.order-item-row.is-addon{ opacity:0.75; }

/* =================================================================
   Static content pages (About / Contact / Terms / Privacy)
   ================================================================= */
.static-page{ max-width:720px; margin:0 auto; padding:16px 4px 40px; }
.static-page h1{ font-weight:700; font-size:1.5rem; margin-bottom:6px; }
.static-page .muted-text{ margin-bottom:20px; }
.static-page h2{ font-weight:700; font-size:1.05rem; margin:22px 0 8px; color:var(--brown); }
.static-page p{ color:var(--muted); font-size:0.92rem; line-height:1.7; margin-bottom:12px; }
.static-page ul{ color:var(--muted); font-size:0.92rem; line-height:1.7; padding-left:20px; }
.contact-card{ background:#fff; border:1px solid #f1e6d8; border-radius:14px; padding:16px; margin-top:16px; }
.contact-card .row-line{ align-items:flex-start; }
.contact-card i{ color:var(--accent-dark); margin-right:8px; }

/* =================================================================
   Desktop site footer + mobile "More" sheet
   ================================================================= */
.site-footer{ display:none; }
@media(min-width:992px){
  .site-footer{
    display:block; background:var(--brown); color:#fff; margin-top:40px; padding:36px 0 18px;
  }
  .site-footer .brand{ color:#fff; }
  .site-footer-cols{ display:flex; gap:60px; padding-bottom:24px; border-bottom:1px solid rgba(255,255,255,0.12); }
  .sf-col{ min-width:160px; }
  .sf-tagline{ color:rgba(255,255,255,0.65); font-size:0.85rem; margin:10px 0 14px; max-width:260px; }
  .sf-heading{ font-weight:700; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.5px; color:rgba(255,255,255,0.55); margin-bottom:12px; }
  .sf-col a{ display:block; color:rgba(255,255,255,0.8); font-size:0.9rem; margin-bottom:10px; }
  .sf-col a:hover{ color:#fff; }
  .sf-social{ display:flex; gap:12px; }
  .sf-social a{
    width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.1);
    display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.05rem;
  }
  .sf-social a:hover{ background:var(--accent); }
  .sf-bottom{ padding-top:16px; text-align:center; color:rgba(255,255,255,0.5); font-size:0.8rem; }
}

.more-menu-dialog{
  position:fixed; bottom:0; left:0; right:0; margin:0; max-width:none;
}
.more-menu-dialog .modal-content{ border-radius:18px 18px 0 0; border:none; }
@media(min-width:576px){
  .more-menu-dialog{ position:static; max-width:400px; margin:1.75rem auto; }
  .more-menu-dialog .modal-content{ border-radius:16px; }
}
.more-link{
  display:flex; align-items:center; gap:12px; padding:13px 4px; color:var(--brown);
  font-weight:600; font-size:0.94rem; border-bottom:1px solid #f1e6d8;
}
.more-link:last-of-type{ border-bottom:none; }
.more-link i{ color:var(--accent-dark); font-size:1.1rem; width:22px; text-align:center; }
.more-social{ display:flex; gap:12px; margin:16px 0 10px; }
.more-social a{
  width:38px; height:38px; border-radius:50%; background:var(--cream);
  display:flex; align-items:center; justify-content:center; color:var(--accent-dark); font-size:1.1rem;
}
.more-copyright{ text-align:center; color:var(--muted); font-size:0.78rem; padding-top:6px; border-top:1px solid #f1e6d8; }

/* ── POULTRY variable-weight notice ──────────────────────── */
.poultry-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: #fff8e1;
  border: 1.5px solid #ffe082;
  border-radius: 10px;
  padding: 11px 13px;
  margin: 10px 0 4px;
  font-size: 0.85rem;
  color: #5d4037;
  line-height: 1.5;
}
.poultry-notice .bi {
  font-size: 1rem;
  color: #e8a020;
  flex-shrink: 0;
  margin-top: 2px;
}

/* ── POULTRY estimated price range block ─────────────────── */
.poultry-price-range {
  background: var(--cream);
  border: 1.5px solid var(--line, #f1e6d8);
  border-radius: 12px;
  padding: 14px 16px;
}
.poultry-range-price {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--brown);
  line-height: 1.2;
  margin-bottom: 4px;
}
.poultry-range-meta {
  font-size: 0.82rem;
  color: var(--muted);
  margin-bottom: 3px;
}
.poultry-range-note {
  font-size: 0.78rem;
  color: #c0a080;
  font-style: italic;
}
