*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:#211a14;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;padding-bottom:84px}.top{position:sticky;top:0;z-index:20;height:72px;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:rgba(255,250,243,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(40,28,16,.08)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.logo{width:44px;height:44px;border-radius:14px;background:var(--dark);color:#e8c77a;display:grid;place-items:center;font:700 25px Georgia}.brand strong{display:block;font-family:Georgia,serif;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand span{display:block;font-size:9px;letter-spacing:.08em;color:#8a725c;text-transform:uppercase;margin-top:2px}.top-actions{display:flex;gap:7px}.top-actions a,.top-actions button{border:0;text-decoration:none;width:40px;height:40px;border-radius:13px;background:#efe4d2;color:#5e4427;display:grid;place-items:center;font-size:18px}.hero-slider{padding:14px 14px 0}.slides{position:relative;min-height:260px}.slide{display:none;min-height:260px;border-radius:24px;padding:28px 24px;overflow:hidden;background:radial-gradient(circle at 85% 15%,rgba(218,169,72,.28),transparent 30%),linear-gradient(135deg,#2c2117,#100c09);background-size:cover;background-position:center;color:white;box-shadow:0 18px 44px rgba(42,29,17,.16)}.slide.active{display:block}.slide .badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(237,204,134,.12);border:1px solid rgba(237,204,134,.26);color:#f3d28c;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.slide h1{font:700 clamp(30px,9vw,45px)/.98 Georgia,serif;max-width:360px;margin:22px 0 12px}.slide p{max-width:340px;color:#eadfce;font-size:14px;line-height:1.5}.slide a{display:inline-flex;gap:12px;align-items:center;margin-top:10px;padding:12px 15px;border-radius:13px;background:var(--brand);color:white;text-decoration:none;font-weight:800;font-size:13px}.dots{display:flex;justify-content:center;gap:5px;padding:10px}.dots button{width:6px;height:6px;border-radius:8px;border:0;padding:0;background:#cbbba7}.dots button.on{width:20px;background:var(--brand)}.stories{display:flex;gap:14px;overflow:auto;padding:8px 16px 16px;scrollbar-width:none}.stories::-webkit-scrollbar{display:none}.stories button{border:0;background:transparent;flex:0 0 62px;color:inherit}.stories span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--brand);box-shadow:inset 0 0 0 4px var(--page);font-size:25px}.stories small{display:block;font-size:10px;margin-top:6px;white-space:nowrap}.campaign{margin:0 14px 16px;padding:14px 15px;border-radius:18px;background:#fff7df;border:1px solid #ebd49c;display:flex;gap:12px}.campaign>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:white;flex:0 0 auto}.campaign strong{font-size:13px}.campaign p{margin:3px 0 0;color:#725f49;font-size:11.5px;line-height:1.45}.menu-head{display:flex;justify-content:space-between;align-items:end;padding:12px 16px 10px}.eyebrow{margin:0 0 3px;color:var(--brand);font-size:9px;font-weight:900;letter-spacing:.15em}.menu-head h2{margin:0;font:700 27px Georgia,serif}.menu-head button{border:0;background:#fff;border-radius:13px;padding:10px 12px;box-shadow:0 4px 14px rgba(40,28,16,.07);font-weight:700}.searchbox{display:none;margin:0 14px 10px;background:#fff;border-radius:15px;padding:6px;box-shadow:0 6px 20px rgba(40,28,16,.07)}.searchbox.open{display:flex}.searchbox input{flex:1;border:0;outline:0;background:transparent;padding:10px;font-size:15px}.searchbox button{border:0;background:#eee4d6;border-radius:10px;width:38px}.categories{position:sticky;top:72px;z-index:18;display:flex;gap:7px;overflow:auto;padding:8px 14px 12px;background:linear-gradient(var(--page) 78%,rgba(247,241,231,0));scrollbar-width:none}.categories::-webkit-scrollbar{display:none}.categories button{border:1px solid rgba(45,31,18,.1);background:#fff;border-radius:999px;padding:9px 13px;white-space:nowrap;color:#63513f;font-weight:700;font-size:11px}.categories button.active{background:var(--dark);color:#fff;border-color:var(--dark)}.categories span{margin-right:5px}.product-grid{display:grid;grid-template-columns:1fr;gap:12px;padding:2px 14px 20px}.product{display:grid;grid-template-columns:132px 1fr;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 25px rgba(55,37,18,.07);border:1px solid rgba(45,31,18,.055)}.photo{position:relative;min-height:150px;background:#f4ecdf;overflow:hidden;display:grid;place-items:center}.photo img{width:100%;height:100%;object-fit:contain;object-position:center;position:absolute;inset:0;padding:5px;background:#f4ecdf}.placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:46px;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.35),transparent 30%)}.product-badge,.sold{position:absolute;left:8px;top:8px;padding:5px 7px;border-radius:999px;background:#fff;color:#6c4a17;font-size:8px;font-weight:900;box-shadow:0 4px 12px rgba(0,0,0,.12)}.sold{top:auto;bottom:8px;background:#2b2119;color:white}.product-body{padding:13px 13px 12px;min-width:0}.title-row{display:flex;justify-content:space-between;gap:8px}.product h3{font:700 17px/1.08 Georgia,serif;margin:0}.price{text-align:right;flex:0 0 auto}.price strong{display:block;color:#9b6d21;font-size:13px}.price del{display:block;color:#a59889;font-size:9px}.product p{font-size:10.5px;line-height:1.45;color:#746656;margin:8px 0}.meta{display:flex;gap:6px;flex-wrap:wrap}.meta span{padding:4px 6px;border-radius:7px;background:#f4eee7;font-size:8.5px}.product details{margin-top:7px;font-size:9px;color:#746656}.product summary{cursor:pointer;color:#7e5c2c;font-weight:800}.product details div{padding-top:4px}.order{display:inline-flex;margin-top:10px;background:#f5ecdc;color:#6c4a17;text-decoration:none;border-radius:9px;padding:8px 9px;font-size:9.5px;font-weight:900}.order.disabled{opacity:.45;pointer-events:none}.empty{display:none;text-align:center;color:#776b5f;padding:30px}.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:0 14px 18px}.quick a{background:#fff;border-radius:16px;padding:14px;text-decoration:none;color:#221a13;border:1px solid rgba(45,31,18,.06)}.quick b,.quick span{display:block}.quick b{font-size:12px}.quick span{font-size:9px;color:#81705f;margin-top:3px}footer{text-align:center;padding:20px 16px 28px;display:grid;gap:5px;color:#756756;font-size:10px}footer strong{font:700 15px Georgia,serif;color:#2b2118}footer a{color:#8a6428;text-decoration:none}footer small{margin-top:7px;color:#a09384}.bottom{position:fixed;z-index:30;bottom:max(10px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 28px);max-width:500px;height:62px;border-radius:19px;background:rgba(23,18,13,.95);backdrop-filter:blur(12px);display:grid;grid-template-columns:repeat(3,1fr);padding:6px;box-shadow:0 12px 40px rgba(0,0,0,.25)}.bottom a{color:#e8dac7;text-decoration:none;display:grid;place-items:center;font-size:9px;font-weight:800}.bottom span{display:block;font-size:18px;line-height:18px;color:#e0b45e}@media(min-width:720px){body{max-width:760px;margin:auto;background:#ece1d0}.top,main,footer{background:var(--page)}main{min-height:70vh}.product-grid{grid-template-columns:1fr 1fr}.product{grid-template-columns:140px 1fr}.bottom{max-width:480px}.hero-slider{padding-top:20px}.slide{min-height:320px;padding:40px}.slides{min-height:320px}}
body.dark{--page:#171410;color:#f1e8dd;background:#0f0d0b}.dark .top{background:rgba(23,20,16,.92);border-color:#2c261f}.dark .brand span,.dark .product p,.dark footer,.dark .quick span{color:#b7aa9c}.dark .top-actions a,.dark .top-actions button,.dark .menu-head button,.dark .categories button,.dark .product,.dark .quick a,.dark .searchbox{background:#211d18;color:#efe6dc;border-color:#302920}.dark .categories button.active{background:var(--brand);border-color:var(--brand)}.dark .campaign{background:#282015;border-color:#5d4822}.dark .campaign p{color:#c9b99e}.dark .meta span,.dark .order{background:#2c261f;color:#ddbd82}.dark footer strong{color:#f1e8dd}


/* ===== v18 FULL RESPONSIVE LAYER ===== */
:root{
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-top: env(safe-area-inset-top, 0px);
}

/* Prevent accidental horizontal overflow */
html,body{max-width:100%;overflow-x:hidden}
*{min-width:0}
img,svg,video,canvas{max-width:100%;height:auto}

/* Main content clears the fixed bottom nav on all phones */
body{
  padding-bottom:calc(92px + var(--safe-bottom));
}
main,.page,.container,.menu-shell{
  width:min(100%,1180px);
  margin-inline:auto;
}

/* Header */
.site-header,.topbar,.header-inner{
  max-width:100%;
}
.header-inner{
  display:flex;
  align-items:center;
  gap:14px;
}
.brand{
  min-width:0;
}
.brand h1,.brand-title{
  overflow-wrap:anywhere;
}
.header-actions{
  flex:0 0 auto;
}

/* Hero: scale instead of using a tall fixed visual */
.hero{
  min-height:clamp(310px,58vw,520px);
  height:auto;
}
.hero-content{
  width:min(100%,760px);
}
.hero h2,.hero-title{
  font-size:clamp(2.35rem,7vw,5rem);
  line-height:.92;
  text-wrap:balance;
}
.hero p,.hero-subtitle{
  font-size:clamp(1rem,2.5vw,1.35rem);
  line-height:1.45;
}

/* Category shortcuts */
.quick-categories,.category-shortcuts,.shortcuts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.quick-categories a,.category-shortcuts a,.shortcut{
  min-width:0;
  text-align:center;
}
.quick-categories .icon,.category-shortcuts .icon,.shortcut-icon{
  font-size:clamp(1.45rem,5vw,2.2rem);
}

/* Notice / promo blocks */
.notice,.fresh-box,.promo-box{
  width:100%;
}

/* Menu heading/search row */
.menu-heading-row,.section-head,.products-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.menu-search,.search-box{
  width:min(100%,320px);
  flex:0 1 320px;
}

/* Product grids/cards */
.products-grid,.product-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.product{
  width:100%;
}
.product .photo{
  min-width:0;
  aspect-ratio:1/1;
  min-height:0;
}
.product .photo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.product-info,.product-body{
  min-width:0;
}
.product h3,.product-title{
  overflow-wrap:anywhere;
}

/* Fixed bottom navigation + safe area */
.bottom-nav,.mobile-bottom-nav{
  left:max(16px,env(safe-area-inset-left,0px));
  right:max(16px,env(safe-area-inset-right,0px));
  bottom:calc(12px + var(--safe-bottom));
  width:auto;
  max-width:720px;
  margin-inline:auto;
  z-index:1000;
}
.bottom-nav a,.mobile-bottom-nav a{
  min-height:58px;
  min-width:0;
}

/* Avoid floating search/buttons colliding with bottom nav */
.floating-search,.floating-action,.fab{
  bottom:calc(94px + var(--safe-bottom));
}

/* Tablet */
@media (max-width:900px){
  .products-grid,.product-grid{
    grid-template-columns:1fr;
  }
  .product{
    grid-template-columns:minmax(112px,34vw) minmax(0,1fr);
  }
  .hero{
    min-height:420px;
  }
}

/* Mobile */
@media (max-width:640px){
  body{
    padding-bottom:calc(106px + var(--safe-bottom));
  }

  .site-header,.header-inner{
    padding-left:14px;
    padding-right:14px;
  }

  .header-inner{
    gap:10px;
  }

  .brand-logo,.logo-mark{
    flex:0 0 auto;
    width:42px;
    height:42px;
  }

  .brand h1,.brand-title{
    font-size:clamp(1.15rem,5.7vw,1.55rem);
    line-height:1.05;
  }

  .brand small,.brand-subtitle{
    font-size:.74rem;
    line-height:1.25;
  }

  .header-actions{
    gap:8px;
  }

  .header-actions a,.header-actions button{
    width:48px;
    height:48px;
    min-width:48px;
  }

  .hero{
    margin:18px 14px 12px;
    min-height:345px;
    border-radius:30px;
  }

  .hero-content{
    padding:26px 22px;
  }

  .hero h2,.hero-title{
    font-size:clamp(2.35rem,12vw,3.55rem);
    line-height:.9;
    max-width:9ch;
  }

  .hero p,.hero-subtitle{
    font-size:1rem;
    max-width:28ch;
  }

  .hero .cta,.hero-cta{
    min-height:48px;
    padding:12px 16px;
  }

  .quick-categories,.category-shortcuts,.shortcuts{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    padding-inline:8px;
  }

  .quick-categories a,.category-shortcuts a,.shortcut{
    padding:8px 2px;
    font-size:.78rem;
  }

  .notice,.fresh-box,.promo-box{
    margin-inline:14px;
    width:auto;
  }

  .menu-heading-row,.section-head,.products-head{
    align-items:stretch;
    gap:10px;
  }

  .menu-search,.search-box{
    flex:1 1 100%;
    width:100%;
  }

  .products-grid,.product-grid{
    gap:12px;
  }

  .product{
    grid-template-columns:112px minmax(0,1fr);
    border-radius:20px;
  }

  .product .photo{
    width:112px;
    aspect-ratio:1/1.08;
  }

  .product-info,.product-body{
    padding:12px 12px 12px 10px;
  }

  .product h3,.product-title{
    font-size:1rem;
    line-height:1.2;
  }

  .product p,.product-description{
    font-size:.84rem;
    line-height:1.35;
  }

  .price,.product-price{
    font-size:1rem;
  }

  .bottom-nav,.mobile-bottom-nav{
    left:14px;
    right:14px;
    bottom:calc(10px + var(--safe-bottom));
    border-radius:24px;
  }

  .bottom-nav a,.mobile-bottom-nav a{
    min-height:64px;
    padding:8px 4px;
    font-size:.78rem;
  }

  .bottom-nav .icon,.mobile-bottom-nav .icon{
    font-size:1.2rem;
  }
}

/* Very small phones */
@media (max-width:380px){
  .site-header,.header-inner{
    padding-left:10px;
    padding-right:10px;
  }

  .brand-logo,.logo-mark{
    width:38px;
    height:38px;
  }

  .brand h1,.brand-title{
    font-size:1.05rem;
  }

  .header-actions a,.header-actions button{
    width:44px;
    height:44px;
    min-width:44px;
  }

  .hero{
    margin-inline:10px;
    min-height:315px;
    border-radius:26px;
  }

  .hero-content{
    padding:22px 18px;
  }

  .hero h2,.hero-title{
    font-size:2.2rem;
  }

  .quick-categories,.category-shortcuts,.shortcuts{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .product{
    grid-template-columns:96px minmax(0,1fr);
  }

  .product .photo{
    width:96px;
  }

  .bottom-nav,.mobile-bottom-nav{
    left:8px;
    right:8px;
  }
}

/* Landscape phones */
@media (max-height:520px) and (orientation:landscape){
  body{
    padding-bottom:78px;
  }
  .hero{
    min-height:260px;
  }
  .hero-content{
    padding-block:18px;
  }
  .bottom-nav,.mobile-bottom-nav{
    bottom:6px;
  }
}

/* Desktop wide screens */
@media (min-width:1200px){
  .products-grid,.product-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .hero{
    min-height:500px;
  }
}


.add-cart{width:100%;border:0;cursor:pointer;font:inherit}.cart-bar{position:fixed;z-index:60;left:50%;bottom:76px;transform:translateX(-50%);width:min(680px,calc(100% - 24px));box-sizing:border-box;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 16px;border-radius:18px;background:#17120d;color:#fff;text-decoration:none;box-shadow:0 16px 45px rgba(0,0,0,.28);border:1px solid rgba(182,132,47,.5)}.cart-bar[hidden]{display:none}.cart-bar span{font-size:13px;color:#e5d5bc}.cart-bar span b{color:#fff}.cart-bar strong{text-align:center;color:#e7b95d}.cart-bar em{font-style:normal;font-weight:900;font-size:13px}@media(min-width:900px){.cart-bar{bottom:24px}}@media(max-width:380px){.cart-bar{grid-template-columns:auto 1fr;padding:12px 14px}.cart-bar em{display:none}}
