:root{--green:#003529;--deep:#00271e;--gold:#b78947;--cream:#faf7f0;--page:#f4f1e9;--ink:#18232a;--muted:#757874;--line:#e6e0d5;--card:#fffdf9;--radius:14px;--width:610px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 5% 20%,#d1b895 0,transparent 38%),radial-gradient(ellipse at 95% 86%,#a17f58 0,transparent 45%),#ded3c4;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}[hidden]{display:none!important}.icon{flex-shrink:0;vertical-align:middle}
.topbar{height:84px;background:linear-gradient(160deg,#002d24,#003b2d);color:#e7be77;position:sticky;top:0;z-index:25;max-width:var(--width);margin:auto;border-bottom:1px solid rgba(210,161,90,.75)}.topbar-inner{height:100%;display:flex;align-items:center;justify-content:center;padding:7px 17px;position:relative}.brand{text-align:center;font-family:'Montserrat',sans-serif;font-weight:400;font-size:36px;letter-spacing:.17em;line-height:1.04;color:#efd09a;text-indent:.17em;white-space:nowrap}.brand span{display:block;font-size:9px;letter-spacing:.32em;font-weight:700;margin-top:3px}.header-actions{position:absolute;right:13px;display:flex;align-items:center;gap:14px}.lang-toggle{font-size:12px;display:flex;align-items:center;border:1px solid var(--gold);border-radius:30px;padding:7px 10px;gap:8px;color:#f6e3c3}.lang-toggle i{display:block;height:14px;border-left:1px solid var(--gold)}.hamburger,.header-back{border:0;color:#e8c687;background:none;display:grid;place-items:center;padding:5px}.header-back{position:absolute;left:10px}.site-main{max-width:var(--width);margin:0 auto;background:var(--page);min-height:calc(100dvh - 84px);padding-bottom:81px;box-shadow:0 0 60px #3a2c2040;overflow:hidden}.hero{height:158px;background:#093a2b;overflow:hidden}.hero img{height:100%;width:100%;object-fit:cover;object-position:54% 48%}.content-container{padding:16px 17px 24px}.home-shell{background:var(--cream);border-radius:20px 20px 0 0;position:relative;margin-top:-4px;min-height:600px}.search-box{display:flex;align-items:center;gap:11px;background:#f0ece4;border-radius:32px;padding:11px 14px;color:#454a4a;border:1px solid #eeebe4}.search-box input{width:100%;border:0;background:transparent;outline:none;font-size:15px;color:var(--ink)}.search-box input::placeholder{color:#8b8b88}.filter-tabs{display:flex;gap:7px;overflow-x:auto;padding:12px 0 15px;scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.filter-chip{border-radius:11px;background:#f0ece5;display:flex;align-items:center;justify-content:center;gap:5px;flex:1;white-space:nowrap;min-height:47px;padding:0 8px;font-size:12px;font-weight:700;min-width:82px}.filter-chip svg{color:#92551e}.filter-chip.active{background:var(--green);color:#fff5dd}.filter-chip.active svg{color:#e9b96f}.category-list{display:grid;gap:8px}.category-card{background:var(--card);border:1px solid #e7e1d7;border-radius:13px;box-shadow:0 2px 3px rgba(67,47,22,.045);overflow:hidden}.category-heading{min-height:71px;padding:7px 10px;display:flex;align-items:center;gap:11px;cursor:pointer;list-style:none}.category-heading::-webkit-details-marker{display:none}.category-heading>img{height:55px;width:55px;border-radius:10px;object-fit:cover;flex-shrink:0}.category-heading-text{display:flex;align-items:center;gap:9px;flex:1;min-width:0}.category-heading-text svg{color:#9f5b21}.category-heading-text strong{font-size:14px;text-transform:uppercase;letter-spacing:-.1px;white-space:normal}.category-heading-text small{color:#8f8a81;margin-left:auto;font-size:11px;white-space:nowrap}.cat-actions{color:#946222}.expander svg{transition:transform .15s}.category-card[open] .expander svg{transform:rotate(180deg)}.category-body{padding:0 10px 8px}.product-row{display:flex;align-items:center;min-height:70px;gap:10px;padding:7px 0;border-top:1px solid #eee9df}.product-thumb{height:58px;width:66px;border-radius:9px;object-fit:cover;flex-shrink:0;background:#eae4da}.product-copy{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1;align-items:flex-start}.product-copy strong{font-size:14px;font-weight:800;line-height:1.15}.product-copy small{font-size:11.5px;color:#697078;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;line-height:1.4}.allergen-line{display:flex;align-items:center;gap:4px;max-width:100%;flex-wrap:wrap;line-height:1.1}.allergen-line em{font-size:10px;font-style:normal;color:#6f7578;margin-right:2px}.allergen{display:inline-flex;align-items:center;padding:3px 9px;background:#f9e2bd;border-radius:20px;font-size:10px;color:#895417;line-height:1.1}.allergen.ok{background:#d5ebd4;color:#387042}.price{align-self:center;font-size:13px;font-weight:800;white-space:nowrap;margin-left:2px;color:#17232d}.view-all{display:flex;align-items:center;justify-content:center;gap:3px;color:#916020;font-weight:700;border-top:1px solid #eee9df;padding:11px 0 3px;font-size:12px}.allergen-hint{display:flex;align-items:center;justify-content:center;gap:8px;color:#586c62;font-size:11px;padding:13px 0 1px}.demo-note{margin-top:13px;text-align:center;padding:9px 12px;color:#8a7960;border-radius:9px;font-size:11px;background:#eee9dc}.empty-search{padding:35px 0;text-align:center;color:var(--muted)}
.footer-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);max-width:var(--width);width:100%;height:69px;z-index:24;background:linear-gradient(120deg,#002c22,#003527);display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid #b99055;box-shadow:0 -3px 9px #0d24161c;padding-bottom:env(safe-area-inset-bottom)}.footer-nav a{display:flex;align-items:center;justify-content:center;gap:8px;color:#fbf1e0;font-size:12px}.footer-nav a svg{color:#e8bf7c}.footer-nav a+a{position:relative}.footer-nav a+a:before{content:'';height:23px;border-left:1px solid #af894e;position:absolute;left:0}
.drawer-backdrop{position:fixed;inset:0;background:#0008;z-index:39}.drawer{position:fixed;z-index:40;background:#003227;color:#f9f2e5;right:max(calc((100vw - var(--width))/2),0px);top:0;height:100dvh;width:min(355px,87vw);transform:translateX(110%);transition:transform .25s ease;box-shadow:-15px 0 35px #001a11aa;overflow:auto}.drawer.shown{transform:translateX(0)}.drawer-open{overflow:hidden}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:23px 23px 30px;border-bottom:1px solid #e2b36542}.drawer-head button{color:#e6b866;border:0;background:transparent}.drawer-brand{font-family:Montserrat,sans-serif;letter-spacing:.2em;font-size:28px;color:#e8c58e}.drawer-brand small{display:block;text-align:center;font-size:8px;letter-spacing:.4em}.drawer-link{display:flex;align-items:center;gap:17px;padding:17px 21px;border-bottom:1px solid #ffffff17}.drawer-link svg:first-child{color:#dfb67a}.drawer-link span{flex:1}.drawer-link svg:last-child{color:#f6f0ec93}.drawer-foot{text-align:center;padding:38px 8px;font-size:11px;color:#d5bb8d;letter-spacing:.1em}
.inner-page{padding-top:20px}.breadcrumb{display:flex;align-items:center;gap:6px;color:#8b8071;font-size:12px;margin-bottom:17px}.breadcrumb a{color:#7e5528}.section-heading{display:flex;gap:15px;align-items:center;margin:4px 0 20px}.section-heading img{width:83px;height:83px;border-radius:14px;object-fit:cover}.section-heading h1{margin:4px 0 3px;font-size:23px}.section-heading p{color:var(--muted);margin:0}.eyebrow{font-weight:700;color:#a36c34;letter-spacing:.14em;font-size:10px}.inner-search{margin-bottom:14px}.list-panel{border-radius:14px;background:#fffdf9;border:1px solid var(--line);padding:0 12px}.list-panel .product-row:first-child{border-top:0}.list-panel .product-row{min-height:90px}.list-panel .product-thumb{height:68px;width:74px}.list-panel .product-copy small{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.product-hero{height:320px;position:relative;overflow:hidden;background:#eadcca}.product-hero img{height:100%;width:100%;object-fit:cover}.favorite-btn{position:absolute;right:16px;top:16px;border:0;background:#fffefaed;border-radius:50%;height:43px;width:43px;display:grid;place-items:center;color:#82766b}.favorite-btn.saved{color:#b3534b;background:#ffe8e4}.favorite-btn.saved svg{fill:#b3534b}.product-info{position:relative;z-index:1;background:var(--cream);margin-top:-19px;border-radius:21px 21px 0 0;padding-top:24px}.product-detail-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.product-detail-title h1{font-size:25px;margin:0}.product-detail-title span{font-weight:800;white-space:nowrap;font-size:18px}.product-lead{color:#656d6a;line-height:1.65;margin:8px 0 17px}.detail-section{border-top:1px solid var(--line);padding:20px 0}.detail-section h2{font-size:16px;display:flex;align-items:center;gap:8px;margin:0 0 13px}.detail-section h2 svg{color:#a96d27}.detail-section p{line-height:1.8;margin:0;color:#616563}.allergens-large{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.allergens-large .allergen{padding:7px 13px;font-size:12px}.detail-text-link{font-size:12px;font-weight:700;color:#965c25;display:inline-flex;align-items:center;gap:3px}.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.related-card{background:#fff;border:1px solid #eee4d5;border-radius:11px;padding:5px;display:flex;flex-direction:column;gap:4px;min-width:0}.related-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px}.related-card strong{font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.related-card small{font-size:11px;font-weight:700;color:#8e652f}
.static-page{background:var(--cream);min-height:70dvh}.about-cover{width:100%;height:240px;object-fit:cover;border-radius:14px}.page-heading{margin:22px 0}.page-heading h1{font-size:26px;margin:5px 0 7px}.page-heading p{color:#676e69;line-height:1.65}.about-copy{font-size:14px;color:#555e5a;line-height:1.95}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:22px 0}.feature-grid>div{background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;flex-direction:column;gap:9px;padding:20px 5px;text-align:center}.feature-grid svg{color:#9f602a}.feature-grid strong{font-size:11px}.about-secondary{width:100%;height:185px;object-fit:cover;border-radius:13px}.map-card{display:block;border:1px solid #ddd9cb;background:#e7e5dd;border-radius:13px;overflow:hidden;margin-bottom:18px}.map-placeholder{height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#034837;gap:7px;background:repeating-linear-gradient(35deg,#dce5e0 0,#dce5e0 2px,transparent 2px,transparent 58px),repeating-linear-gradient(125deg,#d0d5cb 0,#d0d5cb 3px,transparent 3px,transparent 60px),#edf0e8}.map-placeholder span{font-size:16px;letter-spacing:.25em;font-weight:800}.map-card>strong{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:11px 15px;color:#316450}.contact-list{display:grid;gap:4px}.contact-list>a,.contact-list>div:not(.contact-unset){display:flex;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line)}.contact-list svg{color:#a4662c}.contact-list p{margin:0;display:grid;gap:4px;white-space:pre-line}.contact-list b{font-size:12px}.contact-list p:not(b){font-size:13px}.contact-unset{display:flex;gap:10px;align-items:center;padding:20px;background:#f0e9da;border-radius:12px;color:#786c5c}.contact-actions{display:grid;gap:10px;margin-top:20px}.primary-button,.outline-button{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px;background:var(--green);color:#fff9ec;border-radius:10px;font-weight:800}.outline-button{background:transparent;border:1px solid var(--green);color:var(--green)}.allergen-guide{background:#fffdf9;border:1px solid var(--line);border-radius:13px;overflow:hidden}.allergen-guide-row{display:flex;align-items:center;gap:14px;padding:13px 15px;border-bottom:1px solid var(--line)}.allergen-guide-row:last-child{border:0}.allergen-guide-row>span{height:35px;width:35px;display:grid;place-items:center;border-radius:50%;background:#f6e7d0;font-size:20px}.allergen-guide-row>strong{flex:1}.allergen-guide-row svg{color:#b09874}.disclaimer-alert{display:flex;gap:10px;align-items:flex-start;color:#795b3d;background:#f4e9d8;border-radius:12px;padding:13px;line-height:1.6}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.gallery-item{border:0;border-radius:10px;overflow:hidden;padding:0;background:transparent}.gallery-item img{aspect-ratio:1;width:100%;object-fit:cover}.gallery-instagram{margin:18px 0}.gallery-modal{position:fixed;inset:0;z-index:70;background:#051a16f3;display:flex;align-items:center;justify-content:center;padding:18px}.gallery-modal img{max-height:80vh;max-width:95vw;object-fit:contain;border-radius:10px}.gallery-modal>button{position:absolute;top:30px;right:25px;background:#ffffff22;color:white;border:0;border-radius:50%;height:40px;width:40px}.empty-page{padding:80px 20px;text-align:center}
@media(min-width:720px){.topbar{border-left:1px solid #bf995d66;border-right:1px solid #bf995d66}.site-main{border-left:1px solid #d5c5ae;border-right:1px solid #d5c5ae}.footer-nav{border-radius:0 0 8px 8px}}
@media(max-width:400px){.brand{font-size:29px}.header-actions{gap:5px;right:7px}.lang-toggle{font-size:10px;padding:5px 7px}.category-heading-text{gap:4px}.category-heading-text strong{font-size:12px}.category-heading-text small{font-size:10px}.filter-chip{min-width:74px;padding:0 6px;font-size:11px}.filter-chip svg{width:16px}.product-thumb{width:56px;height:54px}.product-copy strong{font-size:13px}.product-copy small{font-size:10px}.price{font-size:12px}.content-container{padding-left:11px;padding-right:11px}}

.search-results{border-radius:14px;background:#fffdf9;padding:0 11px;border:1px solid var(--line)}.search-results .product-row:first-child{border-top:0}

/* Milano real printed menu: small equal thumbnails, all five tabs visible on mobile */
.filter-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.filter-chip{min-width:0;padding:5px 2px;min-height:51px;display:flex;flex-direction:column;gap:3px;text-align:center;font-size:10px;line-height:1.1}
.filter-chip svg{width:17px;height:17px}
.category-heading{min-height:63px;gap:9px}
.category-heading>img{height:46px;width:46px;object-fit:cover;border-radius:8px}
.category-heading-text{gap:6px}
.category-heading-text strong{font-size:12.5px}
.category-heading-text small{font-size:10px}
.product-row{min-height:65px}
.product-thumb{height:52px;width:52px;border-radius:8px}
.product-copy strong{font-size:13px}
.allergen.unknown{background:#f3ece0;color:#846a44}
@media(max-width:400px){.filter-chip{min-width:0;min-height:49px;font-size:9.5px;padding:5px 0}.filter-chip svg{height:16px;width:16px}.product-thumb{width:48px;height:48px}.category-heading-text strong{font-size:12px}.category-heading>img{height:42px;width:42px}.category-heading-text small{font-size:9px}}

/* MILANO MOBILE HEADER + FULL BANNER FIX 2026-10-26 */
/* The hero art is 1350x400. Its full width, including the right MILANO wordmark,
   must always remain visible on phones; do NOT use object-fit: cover. */
.hero {
  height: auto;
  aspect-ratio: 1350 / 400;
  overflow: hidden;
  background: #07352a;
}
.hero img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1350 / 400;
  object-fit: contain;
  object-position: center;
}
.home-shell { margin-top: 0; }
/* Header logo and language buttons are separate flex items, never overlapping. */
.topbar-inner { display: flex; justify-content: space-between; gap: 10px; padding: 7px 15px; }
.topbar-inner .brand {
  flex: 0 1 auto;
  min-width: 0;
  text-align: left;
  font-size: clamp(22px, 5.8vw, 33px);
  letter-spacing: .105em;
  text-indent: 0;
}
.topbar-inner .brand span { text-align: center; }
.topbar-inner .header-actions { position: static; flex: 0 0 auto; margin-left: auto; gap: 10px; }
.topbar-inner .lang-toggle { padding: 6px 9px; font-size: 11px; white-space: nowrap; }
.topbar-inner:has(.header-back) { padding-left: 49px; }
.topbar-inner:has(.header-back) .brand { font-size: clamp(20px, 4.8vw, 29px); }
@media (max-width: 360px) {
  .topbar-inner { gap: 5px; padding-left: 9px; padding-right: 8px; }
  .topbar-inner .brand { font-size: 21px; letter-spacing: .07em; }
  .topbar-inner .header-actions { gap: 3px; }
  .topbar-inner .lang-toggle { padding: 5px 6px; font-size: 10px; gap: 5px; }
  .topbar-inner:has(.header-back) { padding-left: 38px; }
  .topbar-inner:has(.header-back) .brand { font-size: 19px; }
}

/* Final mobile stability. Keeps the entire MILANO wordmark visible on the hero. */
.hero img{width:100%;height:100%;object-fit:contain;object-position:center center}
@media(max-width:480px){
 .topbar{height:76px}
 .site-main{min-height:calc(100dvh - 76px)}
 .hero{height:auto;aspect-ratio:1350/400}
 .hero img{aspect-ratio:1350/400}
 .category-heading-text{min-width:0}
 .category-heading-text strong{overflow-wrap:anywhere}
}
@media(max-width:360px){.topbar-inner:has(.header-back) .brand{font-size:18px}.hamburger{padding:3px}}
