:root{--bg:#f6efe4;--paper:#fffaf2;--ink:#18150f;--muted:#6e665b;--line:#ded1bf;--accent:#2d2418;--soft:#efe2d0;--shadow:0 18px 55px rgba(45,36,24,.09);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 35% 0,#fffdf7 0,#f6efe4 55%,#efe5d7 100%);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}.shell{min-height:100vh;max-width:1500px;margin:auto;display:grid;grid-template-columns:245px minmax(0,1fr) 390px;gap:16px;padding:18px}.tablet-sidebar,.detail-pane,.menu-main{background:rgba(255,250,242,.84);border:1px solid rgba(85,65,43,.14);box-shadow:var(--shadow);backdrop-filter:blur(12px)}.tablet-sidebar{border-radius:28px;padding:24px 16px;position:sticky;top:18px;height:calc(100vh - 36px);display:flex;flex-direction:column}.side-brand{text-align:center;border-bottom:1px solid var(--line);padding-bottom:20px}.side-brand img{width:190px;max-width:100%;display:block;margin:auto}.side-brand small,.mobile-logo small{display:block;margin-top:-5px;font-size:10px;letter-spacing:.22em;font-weight:800}.side-cats{display:flex;flex-direction:column;gap:8px;margin-top:22px}.cat-btn{border:0;background:transparent;text-align:left;padding:14px 15px;border-radius:13px;font-weight:800;font-size:14px;cursor:pointer;color:var(--ink);display:flex;align-items:center;gap:10px}.cat-btn.active{background:linear-gradient(135deg,#392e20,#211a12);color:#fff;box-shadow:0 8px 18px rgba(33,26,18,.18)}.cat-dot{width:9px;height:9px;border-radius:50%;border:2px solid currentColor}.wood-note{margin-top:auto;border-top:1px solid var(--line);padding:20px 8px 5px;display:flex;flex-direction:column;gap:6px;font-size:14px}.wood-note .wood-icon{letter-spacing:-.25em;font-size:24px;color:#47382a;margin-bottom:5px}.wood-note span{color:var(--muted);line-height:1.45}.menu-main{border-radius:28px;overflow:hidden;min-width:0}.mobile-head{display:none}.mobile-tabs{display:none}.category-block{padding:28px}.category-title-row{display:flex;align-items:end;justify-content:space-between;margin-bottom:17px}.section-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:800}.category-title-row h1{font-size:25px;margin:3px 0 0}.item-count{font-size:12px;color:var(--muted);font-weight:700}.cards{display:grid;gap:10px}.product-card{display:grid;grid-template-columns:102px minmax(0,1fr);gap:13px;position:relative;padding:9px;background:rgba(255,255,255,.45);border:1px solid var(--line);border-radius:18px;cursor:pointer;transition:.18s ease;min-height:118px;content-visibility:auto;contain-intrinsic-size:118px}.product-card:hover,.product-card:focus{transform:translateY(-1px);border-color:#bca98e;box-shadow:0 9px 22px rgba(64,47,29,.08);outline:none}.order-no{position:absolute;z-index:2;top:7px;left:7px;background:#241d14;color:#fff;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-weight:900;font-size:12px}.product-photo{border-radius:12px;overflow:hidden;background:#e9dbc5;min-height:98px}.product-photo img{width:100%;height:100%;object-fit:cover;display:block}.product-photo.placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#f3e8d6,#e7d5bd);color:#a08e76}.camera{font-size:27px;opacity:.75}.product-info{min-width:0;padding:3px 5px 2px 0}.product-info h2{font-size:16px;line-height:1.18;margin:0 0 5px}.product-info p{font-size:12.5px;line-height:1.43;color:#3d372f;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mini-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.allergen-mini{display:flex;gap:4px;flex-wrap:wrap}.allergen-mini span{border:1px solid #d6b885;background:#fff8ed;border-radius:999px;min-width:25px;height:25px;padding:0 5px;display:grid;place-items:center;font-size:9px;font-weight:900;color:#765d37}.price-pill{font-size:11px;background:#efe1cb;padding:7px 9px;border-radius:999px;white-space:nowrap}.price-pill.empty{color:#7a6d5e;font-weight:700}.nutrition-mini{border-top:1px dashed #ded2c1;margin-top:7px;padding-top:6px;font-size:10.5px;color:#5e554a;display:flex;gap:6px;align-items:center}.nutrition-mini .estimate{margin-left:auto;color:#9a8e80;font-weight:700}.menu-footer{border-top:1px solid var(--line);padding:18px 28px 80px;color:#6f6558;font-size:11px;display:grid;gap:7px}.price-date{font-size:12px;color:#312b24}.price-date span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#31281d;color:#fff;margin-right:5px}.detail-pane{border-radius:28px;padding:18px;position:sticky;top:18px;height:calc(100vh - 36px);overflow:auto}.detail-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:27px;cursor:pointer;color:#5e554a}.detail-empty{min-height:75vh;display:grid;place-items:center;align-content:center;text-align:center;color:#8b7f70}.detail-empty span{font-size:34px}.detail-empty strong{font-size:19px;color:#41382e;margin:6px}.detail-empty p{font-size:13px}.detail-hero{border-radius:17px;overflow:hidden;background:#eadbc5;aspect-ratio:16/9;margin:43px 0 15px;display:grid;place-items:center;color:#9d8a72}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-card h2{font-size:22px;margin:0 0 7px}.detail-card>p{font-size:13px;line-height:1.55;color:#494139}.detail-price{display:inline-block;font-size:15px;background:#2d2418;color:#fff;border-radius:999px;padding:9px 13px;margin:5px 0 16px;font-weight:800}.detail-section{border-top:1px solid var(--line);padding-top:14px;margin-top:11px}.detail-section h3{font-size:13px;margin:0 0 10px}.allergen-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.allergen-item{text-align:center;font-size:9px;color:#5b5145}.allergen-item b{margin:auto auto 5px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #d9b87e;background:#fff8ec;color:#725a35;font-size:10px}.no-allergen{font-size:12px;color:#6e6559;background:#f3ecdf;border-radius:12px;padding:10px}.nutrition-table{display:grid;border:1px solid #e1d6c7;border-radius:12px;overflow:hidden}.nutrition-row{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;font-size:11px;background:rgba(255,255,255,.4);border-bottom:1px solid #e7ddcf}.nutrition-row:last-child{border:0}.nutrition-row strong{font-weight:850}.estimate-note{font-size:10px;color:#887b6c;margin-top:8px;line-height:1.4}.detail-warning{font-size:10px;color:#817566;line-height:1.45;border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.mobile-bottom,.mobile-sheet,.sheet-backdrop{display:none}
@media(max-width:1180px){.shell{grid-template-columns:210px minmax(0,1fr) 330px;padding:10px;gap:10px}.tablet-sidebar,.detail-pane{top:10px;height:calc(100vh - 20px)}.category-block{padding:20px}.product-card{grid-template-columns:88px minmax(0,1fr)}.product-info h2{font-size:14px}.product-info p{font-size:11.5px}}
@media(max-width:900px){body{background:#f6efe4}.shell{display:block;padding:0;max-width:720px}.tablet-sidebar,.detail-pane{display:none}.menu-main{border:0;border-radius:0;min-height:100vh;background:#fffaf2;box-shadow:none}.mobile-head{display:flex;align-items:center;justify-content:center;padding:calc(14px + env(safe-area-inset-top)) 18px 8px;background:rgba(255,250,242,.96);position:sticky;top:0;z-index:20}.mobile-logo{text-align:center}.mobile-logo img{width:190px;max-height:76px;object-fit:contain;display:block}.mobile-tabs{display:flex;position:sticky;top:98px;z-index:19;overflow-x:auto;scrollbar-width:none;gap:7px;padding:10px 14px 12px;background:rgba(255,250,242,.96);border-bottom:1px solid rgba(115,88,57,.09)}.mobile-tabs::-webkit-scrollbar{display:none}.cat-pill{flex:0 0 auto;border:1px solid #ded0bc;background:#fffaf2;padding:10px 14px;border-radius:999px;font-weight:800;color:#2e281f}.cat-pill.active{background:#2e251a;color:#fff;border-color:#2e251a;box-shadow:0 7px 17px rgba(46,37,26,.18)}.category-block{padding:17px 14px 12px}.category-title-row{margin:3px 2px 13px}.category-title-row h1{font-size:21px}.cards{gap:8px}.product-card{grid-template-columns:105px minmax(0,1fr);min-height:124px;border-radius:16px;padding:8px}.product-photo{min-height:107px}.product-info h2{font-size:15.5px}.product-info p{font-size:12px;-webkit-line-clamp:3}.allergen-mini span{height:23px;min-width:23px}.price-pill{font-size:10.5px;padding:6px 8px}.nutrition-mini{font-size:10px}.menu-footer{padding:17px 16px calc(86px + env(safe-area-inset-bottom));font-size:10.5px}.mobile-bottom{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:30;left:0;right:0;bottom:0;background:rgba(255,250,242,.95);border-top:1px solid #ded1bf;padding:8px 10px calc(7px + env(safe-area-inset-bottom));backdrop-filter:blur(14px)}.mobile-bottom button{border:0;background:transparent;font-size:18px;color:#655b4d;font-weight:800;display:flex;flex-direction:column;align-items:center;gap:2px}.mobile-bottom button.active{color:#fff;background:#2c2419;border-radius:16px;padding:6px 0}.mobile-bottom small{font-size:9px}.sheet-backdrop{position:fixed;inset:0;background:rgba(22,17,11,.35);z-index:39}.sheet-backdrop.open{display:block}.mobile-sheet{display:block;position:fixed;z-index:40;left:0;right:0;bottom:0;max-height:88vh;background:#fffaf2;border-radius:24px 24px 0 0;box-shadow:0 -20px 60px rgba(28,22,15,.25);padding:16px 18px calc(24px + env(safe-area-inset-bottom));transform:translateY(105%);transition:.25s cubic-bezier(.2,.8,.2,1);overflow:auto}.mobile-sheet.open{transform:translateY(0)}.sheet-grab{width:45px;height:4px;background:#d0c2ae;border-radius:9px;margin:0 auto 12px}.sheet-close{position:absolute;top:18px;right:16px;border:0;background:transparent;font-size:28px;color:#40372c}.mobile-sheet .detail-hero{margin-top:18px;aspect-ratio:16/10}.mobile-sheet .detail-card h2{padding-right:32px}.allergen-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:430px){.mobile-logo img{width:165px}.mobile-tabs{top:89px}.cat-pill{font-size:12px;padding:9px 12px}.product-card{grid-template-columns:92px minmax(0,1fr)}.product-info h2{font-size:14.5px}.product-info p{font-size:11.5px}.product-photo{min-height:102px}.nutrition-mini .estimate{display:none}}


/* v1.1.0: functional navigation, contact and feedback */
.side-contact{margin-top:10px;color:var(--ink);font-size:12px;font-weight:850;text-decoration:none}.empty-category{padding:30px 18px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
.mobile-bottom-links a,.mobile-bottom-links button{border:0;background:transparent;text-decoration:none;font-size:18px;color:#655b4d;font-weight:800;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:46px}.mobile-bottom-links b{font-size:18px;line-height:1}.mobile-bottom-links a.active,.mobile-bottom-links button.active{color:#fff;background:#2c2419;border-radius:16px;padding:6px 0}.mobile-bottom-links small{font-size:9px}
.category-backdrop{display:none;position:fixed;inset:0;background:rgba(22,17,11,.35);z-index:41}.category-backdrop.open{display:block}.category-sheet{display:none;position:fixed;z-index:42;left:0;right:0;bottom:0;background:#fffaf2;border-radius:24px 24px 0 0;box-shadow:0 -20px 60px rgba(28,22,15,.25);padding:16px 16px calc(22px + env(safe-area-inset-bottom));transform:translateY(105%);transition:.22s ease}.category-sheet.open{transform:translateY(0)}.category-sheet h2{margin:4px 4px 12px}.category-sheet-list{display:grid;gap:7px}.category-sheet-list button{width:100%;border:1px solid var(--line);background:#fffdf8;border-radius:14px;padding:14px;display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;text-align:left;color:var(--ink)}.category-sheet-list button span{font-weight:850}.category-sheet-list button small{color:var(--muted)}.category-sheet-list button b{font-size:22px}
.contact-shell{min-height:100vh;max-width:1100px;margin:auto;padding:18px 18px 110px}.contact-head{background:rgba(255,250,242,.88);border:1px solid rgba(85,65,43,.14);border-radius:26px;padding:18px;text-align:center;box-shadow:var(--shadow)}.contact-head a{display:inline-block}.contact-head img{width:230px;max-width:75vw;display:block}.contact-head small{display:block;margin-top:-5px;font-size:10px;letter-spacing:.22em;font-weight:800}.contact-main{padding:30px 0}.contact-title{text-align:center;max-width:650px;margin:0 auto 24px}.contact-title h1{font-size:34px;margin:4px 0 8px}.contact-title p{color:var(--muted);line-height:1.55}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px}.contact-info-card,.feedback-form-card{background:rgba(255,250,242,.9);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow)}.contact-line{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;text-decoration:none;color:var(--ink);padding:14px 0;border-bottom:1px solid var(--line)}.contact-line:last-child{border-bottom:0}.contact-line>span{width:42px;height:42px;border-radius:50%;background:#2d2418;color:#fff;display:grid;place-items:center;font-size:19px}.contact-line small{display:block;color:var(--muted);margin-bottom:3px}.contact-line strong{font-size:14px;line-height:1.5}.map-link{display:block;margin-top:7px;color:#765d37;font-size:12px;font-weight:800;text-decoration:none}.feedback-form-card h2{margin:0 0 4px}.feedback-form-card>p{margin:0 0 16px;color:var(--muted);font-size:13px}.feedback-kind{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:14px}.feedback-kind input{position:absolute;opacity:0}.feedback-kind span{display:block;text-align:center;border:1px solid var(--line);border-radius:12px;padding:10px;font-size:12px;font-weight:800;cursor:pointer}.feedback-kind input:checked+span{background:#2d2418;color:#fff;border-color:#2d2418}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-form-grid label{display:grid;gap:6px;font-size:12px;font-weight:800}.contact-form-grid label span small{color:var(--muted);font-weight:500}.contact-form-grid .full{grid-column:1/-1}.contact-form-grid input,.contact-form-grid textarea{border:1px solid #d3c4af;background:#fffdf9;border-radius:12px;padding:12px;font:inherit;color:var(--ink);resize:vertical}.contact-submit{margin-top:12px;width:100%;border:0;background:#2d2418;color:#fff;border-radius:14px;padding:13px;font-weight:850;font-size:14px}.form-success,.form-error,.muted-box{padding:13px;border-radius:13px;margin:12px 0;font-size:13px}.form-success{background:#e8f4ec;color:#215c39}.form-error{background:#fae9e7;color:#8a312a}.muted-box{background:#f2e7d7;color:var(--muted)}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:900px){.category-sheet{display:block}.contact-shell{padding:0 14px 100px}.contact-head{position:sticky;top:0;z-index:10;border-radius:0 0 22px 22px;border-top:0;padding:calc(10px + env(safe-area-inset-top)) 12px 8px}.contact-head img{width:175px}.contact-main{padding:20px 0}.contact-title h1{font-size:27px}.contact-grid{grid-template-columns:1fr}.mobile-bottom-links{display:grid}.contact-info-card,.feedback-form-card{border-radius:19px;padding:16px}.contact-form-grid{grid-template-columns:1fr}.contact-form-grid .full{grid-column:auto}}

/* v1.1.1 - panel-controlled brand logo */
.side-brand img{width:min(var(--logo-tablet,190px),100%);height:auto;background:transparent}
.mobile-logo img{width:min(var(--logo-mobile,190px),calc(100vw - 70px));height:auto;max-height:none;object-fit:contain;background:transparent}
.contact-head img{width:min(var(--logo-mobile,190px),calc(100vw - 70px));height:auto;max-height:none;object-fit:contain;background:transparent}
@media(min-width:901px){.contact-head img{width:min(var(--logo-tablet,190px),320px)}}
@media(max-width:430px){.mobile-logo img{width:min(var(--logo-mobile,190px),calc(100vw - 58px))}}
