:root{--color-bg:#ede6da;--color-text:#2b2622;--color-accent:#e8935b;--color-accent-dark:#d97d42;--color-accent-text:#985020;--radius-md:16px;--radius-lg:24px;--shadow-soft:0 4px 16px #2b262214;--font-heading:"Fredoka", sans-serif;--font-body:"Inter", sans-serif}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);margin:0;line-height:1.5}h1,h2,h3{font-family:var(--font-heading);margin:0 0 .5em;font-weight:600}a{color:var(--color-accent-text)}.site-header{justify-content:center;align-items:center;padding:1.75rem 2rem;display:flex;position:relative}.social-icon{width:32px;height:32px;color:var(--color-accent-text);box-shadow:var(--shadow-soft);background:#fff;border-radius:50%;justify-content:center;align-items:center;transition:background-color .15s,transform .15s;display:inline-flex}.social-icon:hover{background:#e8935b26}.social-icon:active{transform:scale(.93)}.social-icon svg{width:18px;height:18px}.header-social-icon{position:absolute;top:50%;right:2rem;transform:translateY(-50%)}.site-header nav{gap:.75rem;display:flex}.site-header nav a{color:var(--color-accent-text);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#fff;padding:.65rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s,transform .15s}.site-header nav a:hover{background:#e8935b26}.site-header nav a:active{transform:scale(.97)}.site-header nav a.active{background:var(--color-accent);color:var(--color-text)}main{max-width:960px;margin:0 auto;padding:0 2rem 3rem}.site-footer{text-align:center;color:#656059;padding:2rem;font-size:.9rem}.site-footer p{margin:.35rem 0}.hero{text-align:center;padding:4rem 0 3rem}.hero h1{font-size:2.75rem}.hero .accent{color:var(--color-accent-text)}.hero .tagline{font-size:1.15rem}.cta{background:var(--color-accent);color:var(--color-text);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);margin-top:1.5rem;padding:.75rem 1.75rem;font-weight:600;text-decoration:none;transition:transform .15s,background-color .15s;display:inline-block}.cta:hover{transform:translateY(-1px)}.cta.secondary{color:var(--color-accent-text);border:2px solid var(--color-accent);box-shadow:none;background:#fff}.cta.secondary:hover{background:#e8935b1f}.cta-group{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.cta-group .cta{margin-top:0}.sketch-divider{width:140px;height:18px;color:var(--color-accent-text);opacity:.55;margin:2.5rem auto;display:block}.statement{text-align:center;max-width:620px;margin:0 auto;padding:0 1rem}.statement a{font-family:var(--font-heading);color:var(--color-text);border-bottom:3px solid var(--color-accent);font-size:1.5rem;font-weight:600;line-height:1.45;text-decoration:none;transition:color .15s,border-color .15s;display:inline-block}.statement a:hover{color:var(--color-accent-text);border-color:var(--color-accent-text)}.delivery{text-align:center;margin:0 0 2.5rem}.reviews-section{text-align:center;margin:2.5rem 0 0}.reviews-section h2{margin-bottom:1rem}.reviews-row{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:1.25rem;display:flex}.reviews-card{border-radius:var(--radius-md);background:#ffffff59;border:1px solid #2b262214;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;width:100%;max-width:320px;margin:0 auto;padding:1.5rem;display:flex}.reviews-card-google{color:var(--color-text);font-weight:600;text-decoration:none;transition:transform .15s}.reviews-card-google:hover{transform:translateY(-2px)}.reviews-card ul{margin:0;padding:0;list-style:none}.reviews-card img{width:160px;height:auto;margin:0 auto;display:block}.delivery h2{margin-bottom:.35rem}.delivery-sub{color:#656059;margin:0 0 1.25rem}.delivery-card{border-radius:var(--radius-md);background:#18b0b6;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;padding:1.5rem 2rem;display:inline-flex}.delivery-logo{border-radius:var(--radius-md);display:block}.store-badges{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.store-badges img{width:auto;height:48px;display:block}.event-line{text-align:center;margin:0 0 2.5rem;font-size:.95rem}.info{text-align:left;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin:1rem 0 2.5rem;display:grid}.info-card{border-top:2px solid var(--color-accent);padding-top:1rem}.info-card h2{font-size:1rem}.info-card p{margin:0;line-height:1.6}.event-note{text-align:center;border-radius:var(--radius-md);background:#e8935b1f;padding:2rem}.menu-filters{-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:.5rem;margin:1.5rem 0 0;padding:.5rem 1.25rem 1rem .25rem;display:flex;overflow-x:auto}.filter-chip{white-space:nowrap;font-family:var(--font-body);color:var(--color-accent-text);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);cursor:pointer;background:#fff;border:none;flex:none;padding:.5rem 1.1rem;font-size:.9rem;font-weight:600;transition:background-color .15s,color .15s,transform .15s}.filter-chip:hover{background:#e8935b26}.filter-chip:active{transform:scale(.97)}.filter-chip.active{background:var(--color-accent);color:var(--color-text)}.menu-category{margin:2rem 0}.menu-category h2{text-transform:capitalize;color:var(--color-accent-text)}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.menu-item-card{border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff;padding:1.25rem}.menu-item-image{aspect-ratio:19/10;border-radius:var(--radius-md) var(--radius-md) 0 0;background:#f2ece2;margin:-1.25rem -1.25rem .75rem;overflow:hidden}.menu-item-image img{object-fit:cover;width:100%;height:100%;display:block}.menu-item-description{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.menu-item-card .price{color:var(--color-accent-text);margin-top:.5rem;font-weight:600;display:block}.allergen-group{border-top:1px solid #ece5d8;flex-wrap:wrap;align-items:center;gap:.3rem;margin:.6rem 0 0;padding-top:.5rem;display:flex}.allergen-label{color:#8a8177;align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;display:flex}.allergen-label:before{content:"";background-color:#8a8177;flex-shrink:0;width:13px;height:13px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0Z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0Z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E") 50%/contain no-repeat}.allergen-chip{color:#6b6053;background:#f4efe6;border:1px solid #e3dac9;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.allergen-chip svg{width:15px;height:15px}.item-detail-trigger{margin-top:.5rem;display:block}.item-detail-modal{text-align:left}.item-detail-image{aspect-ratio:4/3;border-radius:var(--radius-md) var(--radius-md) 0 0;margin:-1.5rem -1.5rem 1rem;overflow:hidden}.item-detail-image img{object-fit:cover;width:100%;height:100%;display:block}.item-detail-description{white-space:pre-line}.item-detail-allergens ul{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.item-detail-allergens li{align-items:center;gap:.6rem;font-size:.9rem;display:flex}.item-detail-allergens svg{color:#8a8177;flex-shrink:0;width:18px;height:18px}.item-detail-modal .price{color:var(--color-accent-text);margin-top:1rem;font-weight:600;display:block}.item-detail-close{margin-top:1rem;display:block}.agora-diagnostic-output{color:#e8e2d6;border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;background:#2b2622;max-height:400px;padding:1rem;font-size:.8rem;overflow:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cart-lines{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.cart-line{border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.95rem;display:flex}.cart-line-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.cart-line-detail{color:#8a8177;font-size:.78rem}.cart-total-line{justify-content:space-between;padding:.5rem 1rem;font-weight:700;display:flex}.hero .hero-art{width:100%;max-width:220px;height:auto;color:var(--color-accent-text);margin:0 auto 1.5rem;display:block}.menu-message{border-radius:var(--radius-md);box-shadow:var(--shadow-soft);text-align:center;background:#fff;margin:2rem 0;padding:1.5rem}.not-found{text-align:center;padding:3rem 0}@media (max-width:600px){main{padding:0 1rem 2rem}.calendar-grid{gap:.25rem}.calendar-day{font-size:.8rem}.calendar-weekday{font-size:.65rem}.backstage-layout{flex-direction:column;gap:1rem}.backstage-sidebar{flex-flow:wrap;width:100%;position:static}.backstage-sidebar a,.backstage-sidebar .link-button{text-align:center;flex:auto}.site-header{text-align:center;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;padding:1rem 3.5rem}.header-social-icon{top:1rem;right:1rem;transform:none}.site-header nav{flex-wrap:wrap;justify-content:center}.hero{padding:2rem 0}.hero h1{font-size:1.9rem}.hero .hero-art{max-width:160px}.site-footer{padding:2rem 1rem}.event-note{padding:1.5rem 1rem}.statement a{font-size:1.2rem}.sketch-divider{width:110px;margin:2rem auto}.delivery-card{gap:1rem;padding:1.25rem}}.login-form,.exception-form{text-align:left;flex-direction:column;gap:1rem;max-width:360px;margin:0 auto;display:flex}.login-form label,.exception-form label,.weekday-toggle{flex-direction:column;gap:.35rem;font-size:.95rem;font-weight:600;display:flex}.login-form input,.exception-form input{font-family:var(--font-body);border:2px solid var(--color-accent);border-radius:var(--radius-md);color:var(--color-text);background:#fff;padding:.6rem .8rem;font-size:1rem}.login-error{border-left:4px solid var(--color-accent-text);border-radius:var(--radius-md);background:#fff;margin:0;padding:.75rem 1rem}.toggle-switch{cursor:pointer;align-items:center;gap:.75rem;margin-bottom:1rem;font-weight:600;display:inline-flex}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:#d8d2c8;border-radius:999px;flex-shrink:0;width:48px;height:26px;transition:background-color .15s;position:relative}.toggle-track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #2b26224d}.toggle-switch input:checked+.toggle-track{background:var(--color-accent)}.toggle-switch input:checked+.toggle-track:after{transform:translate(22px)}.toggle-switch input:focus-visible+.toggle-track{outline:2px solid var(--color-accent-text);outline-offset:2px}.config-tabs{gap:.5rem;margin:0 0 1.5rem;display:flex}.config-tabs a{color:var(--color-accent-text);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#fff;padding:.5rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s}.config-tabs a:hover{background:#e8935b26}.config-tabs a.active{background:var(--color-accent);color:var(--color-text)}.availability-section{text-align:left;max-width:480px;margin:0 auto 2.5rem}.availability-section h2{text-align:center;font-size:1.1rem}.weekday-toggles{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.weekday-toggle{align-items:center;flex-direction:row!important;gap:.5rem!important}.form-subheading{color:#656059;margin:.5rem 0 -.25rem;font-size:.85rem;font-weight:600}.day-modal{border-radius:var(--radius-md);overscroll-behavior:contain;background:var(--color-bg);width:min(90vw,420px);max-height:85vh;color:var(--color-text);border:none;padding:1.5rem;overflow-y:auto;box-shadow:0 12px 36px #2b262240}body.modal-open{overflow:hidden}.day-modal::backdrop{background:#2b262273}.day-modal #modal-date-label{margin-top:0}.day-modal .exception-form{max-width:none;margin:0}.day-modal-actions{align-items:center;gap:1rem;margin-top:.25rem;display:flex}.day-modal-actions .cta.secondary{margin-top:0}.day-modal-remove{border-top:1px solid var(--color-accent);text-align:center;margin-top:1rem;padding-top:1rem}.settings-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.settings-buttons .cta.secondary{margin-top:0}.honeypot-field{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.request-error{border-left:4px solid var(--color-accent-text)}.wide-form{max-width:640px}.wide-form textarea[name=tripadvisor_widget_html]{font-family:Menlo,Consolas,monospace;font-size:.85rem}.exception-form textarea{font-family:var(--font-body);border:2px solid var(--color-accent);border-radius:var(--radius-md);color:var(--color-text);resize:vertical;background:#fff;padding:.6rem .8rem;font-size:1rem}.weekly-hours-form{max-width:560px}.weekly-hours-row{border-bottom:1px solid var(--color-accent);grid-template-columns:5.5rem 1fr 1fr 1fr;align-items:end;gap:.6rem;padding-bottom:.75rem;display:grid}.weekly-hours-row:last-of-type{border-bottom:none}.weekly-hours-day{padding-bottom:.6rem;font-weight:600}.weekly-hours-closed{align-items:center;padding-bottom:.6rem;font-size:.85rem;flex-direction:row!important;gap:.4rem!important}.weekly-hours-row input[type=time]{width:100%}.weekly-hours-row input[type=time]:disabled{opacity:.4}@media (max-width:560px){.weekly-hours-row{grid-template-columns:1fr 1fr;grid-template-areas:"day closed""open close"}.weekly-hours-day{grid-area:day}.weekly-hours-closed{grid-area:closed;justify-content:flex-end}.weekly-hours-row label:nth-of-type(2){grid-area:open}.weekly-hours-row label:nth-of-type(3){grid-area:close}}.request-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.request-card{border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff;padding:1.25rem}.request-card p{margin:0 0 .5rem}.request-date{font-family:var(--font-heading);color:var(--color-accent-text);font-weight:600}.request-message{color:#656059;font-style:italic}.request-card .day-modal-actions{margin-top:.75rem}.exceptions-table{border-collapse:collapse;width:100%;font-size:.9rem}.exceptions-table th,.exceptions-table td{text-align:left;border-bottom:1px solid var(--color-accent);padding:.5rem}.link-button{color:var(--color-accent-text);cursor:pointer;font-family:var(--font-body);background:0 0;border:none;padding:0;font-size:.9rem;text-decoration:underline}.backstage-layout{align-items:flex-start;gap:2rem;display:flex}.backstage-sidebar{flex-direction:column;flex:0 0 180px;gap:.5rem;display:flex;position:sticky;top:1.5rem}.backstage-sidebar a,.backstage-sidebar .link-button{color:var(--color-accent-text);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);text-align:left;background:#fff;padding:.6rem 1rem;font-size:.95rem;font-weight:600;text-decoration:none;display:block}.backstage-sidebar a:hover,.backstage-sidebar .link-button:hover{background:#e8935b26}.backstage-sidebar a.active{background:var(--color-accent);color:var(--color-text)}.backstage-sidebar form{margin-top:.5rem}.backstage-content{flex:auto;min-width:0}.mailersend-status{margin:1.25rem 0 .35rem;font-weight:600}.mailersend-hint{color:#656059;margin:0;font-size:.85rem}.mailersend-hint code{background:#fff;border-radius:4px;padding:.1rem .35rem;font-size:.85em}.calendar-section{max-width:460px}.calendar-nav{justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.calendar-nav .cta.secondary{margin-top:0;padding:.4rem .9rem;line-height:1}.calendar-month-label{font-family:var(--font-heading);text-align:center;min-width:11ch;font-size:1.1rem;font-weight:600}.calendar-legend{color:#656059;flex-wrap:wrap;justify-content:center;gap:.35rem 1rem;margin-bottom:1rem;font-size:.8rem;display:flex}.legend-item{align-items:center;gap:.35rem;display:inline-flex}.legend-swatch{border-radius:50%;flex:none;width:12px;height:12px;display:inline-block}.legend-swatch.available{background:var(--color-accent)}.legend-swatch.unavailable{background:#ded5c4}.legend-swatch.reserved{background:var(--color-accent-text)}.legend-swatch.has-note{box-shadow:0 0 0 2px var(--color-accent-text);background:#fff}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.4rem;display:grid}.calendar-weekday{text-align:center;color:#656059;text-transform:uppercase;letter-spacing:.03em;padding-bottom:.25rem;font-size:.7rem;font-weight:700}.calendar-day{aspect-ratio:1;width:100%;font-family:var(--font-body);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex;position:relative}.calendar-day.is-available{background:var(--color-accent);color:var(--color-text)}.calendar-day.is-unavailable{color:#656059;background:#ded5c4}.calendar-day.is-reserved{background:var(--color-accent-text);color:#fff}.calendar-day:hover{transform:scale(1.12)rotate(-4deg)}.calendar-day-static{cursor:default}.calendar-day-static:hover{transform:none}.calendar-day.is-today{box-shadow:0 0 0 3px var(--color-text)}.calendar-day:disabled{cursor:not-allowed}.calendar-day:disabled:hover{transform:none}.calendar-day.is-selected{box-shadow:0 0 0 3px var(--color-text);transform:scale(1.08)}.calendar-day.is-selected:after{content:"✓";background:var(--color-text);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:.6rem;display:flex;position:absolute;bottom:2px;right:2px}.selected-dates-summary{text-align:center;margin:0 0 .5rem;font-weight:600}.selected-dates-chips{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.date-chip{font-family:var(--font-body);color:var(--color-text);border:2px solid var(--color-accent);border-radius:var(--radius-lg);cursor:pointer;background:#fff;padding:.35rem .8rem;font-size:.85rem;font-weight:600}.date-chip:hover{background:#e8935b26}.calendar-day.out-of-month{opacity:.35}.calendar-day.has-note:after{content:"";width:8px;height:8px;box-shadow:0 0 0 2px var(--color-accent-text);background:#fff;border-radius:50%;position:absolute;top:3px;right:3px}.calendar-hint{text-align:center;color:#656059;margin:1rem 0 0;font-size:.8rem}.cookie-banner{z-index:30;border-top:3px solid var(--color-accent);border-radius:var(--radius-md);text-align:center;background:#fff;flex-direction:column;align-items:center;gap:.6rem;max-width:560px;margin:0 auto;padding:1.5rem;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem;box-shadow:0 12px 32px #2b262240}.cookie-banner-title{font-family:var(--font-heading);color:var(--color-accent-text);margin:0;font-size:1.15rem;font-weight:600}.cookie-banner p:not(.cookie-banner-title){font-family:var(--font-body);color:var(--color-text);margin:0;font-size:.9rem;line-height:1.55}.cookie-banner-actions{align-items:center;gap:1rem;margin-top:.4rem;display:flex}.cookie-banner .cta{white-space:nowrap;flex-shrink:0}.cookie-banner[hidden]{display:none}
