:root{--primary-default:#2d6a4f;--bg:#fafaf9;--surface:#fff;--text:#1c1917;--text-2:#78716c;--danger:#dc2626;--border:#e7e5e4;--radius:8px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}main{max-width:720px;margin:0 auto;padding:104px 16px 96px}h1,h2,h3{margin:0 0 8px;line-height:1.2}a{color:var(--primary)}button,.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);min-width:44px;min-height:44px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:0 16px;font-size:15px;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary,var(--primary-default));color:#fff;border-color:#0000;font-weight:600}.btn-danger{background:var(--danger);color:#fff;border-color:#0000}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:12px 0;padding:16px}.chip{background:var(--primary,var(--primary-default));color:#fff;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-block}.chip.active{background:var(--primary,var(--primary-default));color:#fff;border-color:#0000}.muted{color:var(--text-2);font-size:14px}input[type=text],input[type=number],input[type=tel],input[type=url],textarea,select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;min-height:44px;color:var(--text);padding:8px 12px;font-family:inherit;font-size:15px}.error-text{color:var(--danger);font-size:14px}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg,#eee 25%,#f5f5f5 50%,#eee 75%) 0 0/200% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.topnav{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:fixed;top:0;left:0;right:0}.topnav .brand{color:var(--text);font-weight:700;text-decoration:none}.topnav .brand-logo{object-fit:contain;border-radius:28%;width:28px;height:28px}.topnav .brand-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:40vw;font-size:16px;font-weight:700;text-decoration:none;overflow:hidden}.topnav .brand-name:hover{color:var(--primary,var(--primary-default))}.topnav .links{gap:8px;display:flex}.topnav .links a{min-height:44px;color:var(--text-2);align-items:center;padding:0 8px;text-decoration:none;display:inline-flex}#nav-toggle{display:none}@media (width<=767px){.topnav .links{display:none}.topnav .links.open{background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;padding:8px 16px;display:flex;position:absolute;top:100%;left:0;right:0}#nav-toggle{display:inline-flex}}html{scroll-behavior:smooth}.cat-chips{background:var(--bg);z-index:5;gap:8px;padding:12px 16px;display:flex;position:fixed;top:68px;left:0;right:0;overflow-x:auto;box-shadow:0 1px 3px #0000000d}@media (width>=768px){.topnav{padding-left:20%}.topnav .brand-logo{width:36px;height:36px}.topnav .brand-name{max-width:34vw;font-size:20px}.topnav .links a{color:var(--text);font-weight:600}.cat-chips{padding-left:20%}}.menu-item{align-items:flex-start;gap:12px;display:flex}.menu-item img{object-fit:cover;border-radius:var(--radius);flex-shrink:0;width:88px;height:88px}.menu-item .info{flex:1}.cart-bar{background:var(--surface);border-top:1px solid var(--border);z-index:20;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:fixed;bottom:0;left:0;right:0}.menu-section .row,[data-item-card] .row{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.menu-section .price,[data-item-card] .price{font-size:16px;font-weight:700}.menu-section section{margin:20px 0}.menu-section h2,section[id^=cat-] h2{color:var(--primary)!important;letter-spacing:.3px!important;border-bottom:none!important;margin-bottom:16px!important;padding-bottom:4px!important;font-size:22px!important;font-weight:800!important}.notice{border-color:#f59e0b}.menu-item{cursor:pointer;transition:box-shadow .15s}.menu-item:hover{box-shadow:0 2px 8px #00000014}.menu-item.in-cart{border-color:var(--primary)}.menu-item .desc.clamped{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.menu-item.expanded .desc{-webkit-line-clamp:unset;display:block}.menu-item .qty-row{align-items:center;gap:8px;margin-top:8px;display:none}.menu-item.expanded .qty-row{display:flex}.menu-item .qty-btn{min-width:36px;min-height:36px;padding:0;font-size:18px;font-weight:700}.menu-item .qty-num{text-align:center;min-width:28px;font-size:16px;font-weight:700}.menu-item .add-btn{min-height:36px;padding:0 14px;font-size:14px}.menu-item .add-btn[hidden]{display:none}.menu-item .dish-photo{cursor:zoom-in}.lightbox-overlay{z-index:100;cursor:zoom-out;opacity:0;background:#000000e6;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:fixed;inset:0}.lightbox-overlay.open{opacity:1}.lightbox-overlay img{object-fit:contain;border-radius:4px;max-width:92vw;max-height:88vh}.lightbox-overlay .lb-close{color:#fff;cursor:pointer;background:0 0;border:none;min-width:44px;min-height:44px;font-size:28px;position:absolute;top:12px;right:16px}.contact-section{background:var(--text);color:var(--bg);border-top:3px solid var(--primary);margin:32px -16px 0;padding:24px 16px}.contact-section h2{color:var(--bg);border-bottom:3px solid var(--primary);letter-spacing:.3px;margin-bottom:16px;padding-bottom:8px;font-size:22px;font-weight:800}.contact-card{background:var(--surface);border-radius:var(--radius);margin-bottom:12px;padding:16px}.contact-section dl{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;display:grid}.contact-section dt{color:#ffffffb3;font-size:14px}.contact-section dd{color:var(--bg);margin:0;font-size:15px}.map-box{margin-top:12px}.map-link{color:var(--primary-default);align-items:center;gap:6px;margin-top:8px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.map-link:hover{text-decoration:underline}.hours-details summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-weight:700;list-style:none;display:inline-flex}.hours-details summary::-webkit-details-marker{display:none}.hours-details[open] .hours-chev{transform:rotate(180deg)}.hours-chev{transition:transform .15s}.hours-open{color:#6ee7a0}.hours-closed{color:#fca5a5}.hours-change{color:var(--bg);font-weight:500}.hours-week{gap:4px;margin-top:10px;display:grid}.hours-row{border-bottom:1px dashed #ffffff1f;justify-content:space-between;gap:12px;padding:2px 0;font-size:14px;display:flex}.hours-row:last-child{border-bottom:none}.hours-day{color:#ffffffb3;flex:0 0 84px}.hours-val{color:var(--bg);text-align:right}.hours-val-closed{color:#fca5a5}
