:root{--ink:#1d2a32;--paper:#f4efe3;--red:#b53c20;--peach:#f3a169;--muted:#68645d;--line:#d8cfc0;--white:#fff9ed}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--peach);outline-offset:4px}button:disabled{opacity:.55;cursor:not-allowed}[hidden]{display:none!important}.skip-link{position:fixed;top:-60px;left:20px;padding:10px;background:var(--paper);z-index:100}.skip-link:focus{top:10px}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,2.5vw,40px);background:var(--ink);color:var(--paper);border-bottom:1px solid #ffffff25;position:sticky;top:0;z-index:20}.brand{display:block;line-height:1.1}.brand strong{display:block;font-size:23px;font-weight:900;letter-spacing:.035em}.brand small{display:block;color:var(--peach);letter-spacing:.13em;font-size:12px;font-weight:700;margin-top:6px}.topbar nav{display:flex;align-items:center;gap:32px}.topbar nav>a{font-size:14px;font-weight:700}.topbar nav>a:hover{color:var(--peach)}.cart-button{background:transparent;border:1px solid #f3a16988;color:var(--paper);padding:11px 16px;font-weight:700;border-radius:3px}.cart-button span{background:var(--peach);color:var(--ink);display:inline-grid;place-items:center;border-radius:50%;min-width:24px;height:24px;margin-left:10px;font-size:14px}.hero{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.15fr 1fr;min-height:560px}.hero-copy{padding:65px 4vw 62px clamp(20px,2.5vw,40px);align-self:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em;color:var(--red);display:block}.hero .eyebrow{color:var(--peach)}h1{font-size:clamp(34px,4.45vw,70px);line-height:1.08;letter-spacing:-.015em;margin:24px 0;font-weight:900}h1 span{display:block;font-size:.85em;color:var(--peach);margin-top:8px}.hero p{font-size:20px;line-height:1.5;color:#e4dbce}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 36px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;border:0;padding:14px 20px;min-height:48px;border-radius:3px;font-weight:700}.primary{background:var(--red);color:var(--white)}.primary:hover{background:#943019}.secondary{border:1px solid #ffffff55;color:var(--white);background:transparent}.hero-address{border-top:1px solid #ffffff30;padding-top:22px;font-weight:700;font-size:16px}.hero-address small{display:block;font-size:14px;color:#bcb8af;font-weight:400;margin-top:4px}.hero-image{position:relative;overflow:hidden;min-height:560px}.hero-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 70%}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1d2a3222,transparent 40%,transparent),linear-gradient(0deg,#0008,transparent 25%)}.image-caption{position:absolute;z-index:1;bottom:24px;left:32px;font-size:12px;font-weight:700;letter-spacing:.14em}.intro-strip{display:flex;justify-content:center;align-items:center;gap:35px;padding:18px 5vw;border-bottom:1px solid var(--line);background:#ebe3d4;color:var(--ink);font-weight:700;font-size:14px}.intro-strip i{height:4px;width:4px;border-radius:50%;background:var(--red)}.section{padding:66px clamp(20px,2.5vw,40px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:26px;border-bottom:3px solid var(--red);margin-bottom:30px}h2{font-size:clamp(28px,3.3vw,46px);line-height:1.12;font-weight:900;letter-spacing:-.025em;margin:12px 0 0}.edition{text-align:right;font-size:12px;color:var(--muted);flex-shrink:0}.menu-layout{display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:start}.filter-row{position:sticky;top:120px;display:flex;flex-direction:column;gap:4px}.filter{padding:12px 15px;min-height:46px;text-align:left;background:transparent;border:0;color:var(--ink);font-size:15px;font-weight:700;border-radius:2px;transition:background .15s}.filter:hover{background:#e9dfcd}.filter.active{background:var(--ink);color:var(--white);box-shadow:inset 3px 0 var(--red)}.category-heading{padding:0 0 24px}.category-heading h3{font-size:27px;text-transform:uppercase;color:var(--red);margin:0 0 8px}.category-heading p{font-size:14px;color:var(--muted);margin:0}.menu-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.menu-card{position:relative;padding:22px 56px 23px 38px;min-width:0;display:flex;flex-direction:column;border-top:1px solid var(--line);min-height:185px}.menu-icon{position:absolute;left:0;top:25px;font-size:12px;font-weight:700;color:var(--red)}.menu-card .meta{display:none}.menu-card h3{font-size:18px;line-height:1.3;margin:0 0 8px;font-weight:800}.menu-card p{font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 8px;flex:1}.allergen{display:block;font-size:12px;color:#74624f;line-height:1.5}.menu-bottom{margin-top:12px}.menu-bottom strong{font-size:16px;color:var(--red);font-weight:800}.add-btn{position:absolute;right:0;top:23px;width:38px;height:38px;border:1px solid var(--line);background:transparent;color:var(--red);font-size:25px;border-radius:50%;line-height:1}.add-btn:hover{background:var(--red);border-color:var(--red);color:var(--white)}.allergen-legend{margin-top:30px;border-top:1px solid var(--line);padding:20px 0;color:var(--muted);font-size:14px}.allergen-legend summary{cursor:pointer;font-weight:700;color:var(--ink)}.allergen-legend p{max-width:760px}.delivery-section{background:var(--ink);color:var(--paper);padding:60px clamp(20px,2.5vw,40px);display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:5px solid var(--red)}.delivery-section .eyebrow{color:var(--peach)}.delivery-section p{font-size:16px;color:#cec8bc;max-width:410px}.phone-link{font-size:28px;font-weight:800;color:var(--peach)}.delivery-zones{align-self:center}.delivery-zones>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #ffffff25;padding:16px 0;font-size:18px}.delivery-zones strong{color:var(--peach);white-space:nowrap}.delivery-zones p{font-size:14px;max-width:none}.contact{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:76px;padding-bottom:76px}.address{font-size:21px;margin:25px 0 16px;font-weight:700}.contact-phone{font-size:30px;font-weight:800;color:var(--red)}.mobile-number{display:block;font-size:14px;margin:4px 0 20px;color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid var(--red);color:var(--red);font-size:14px;font-weight:700;padding-bottom:3px}.hours-card{border-top:3px solid var(--red);padding:25px 0;align-self:center}.hours-card h3{font-size:23px;margin:0 0 20px}.hours-list{margin:0}.hours-list>div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.hours-list dt{font-weight:700}.hours-list dd{margin:0;text-align:right}.hours-card p{font-size:14px;color:var(--muted);margin:20px 0 26px}footer{background:var(--ink);color:var(--paper);padding:30px 5vw;display:flex;align-items:center;justify-content:space-between;gap:30px}footer>span{font-size:12px;color:#bdbbb3}footer .brand strong{font-size:18px}footer .brand small{font-size:12px}.cart-panel{position:fixed;top:0;right:0;width:min(480px,100%);height:100dvh;background:var(--paper);z-index:50;padding:28px;overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform .25s,visibility .25s;box-shadow:-20px 0 60px #0003}.cart-panel.open{transform:translateX(0);visibility:visible}.cart-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--red);padding-bottom:20px}.cart-head small{font-size:14px;color:var(--muted)}.cart-head h2{font-size:30px;margin:2px 0 0}.icon-button{border:1px solid var(--line);background:transparent;border-radius:50%;width:40px;height:40px;font-size:26px;flex-shrink:0}.cart-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.cart-item h4{font-size:16px;margin:0 0 5px}.cart-item small{font-size:14px;color:var(--muted)}.qty{display:flex;align-items:center;gap:10px}.qty button{width:32px;height:32px;border:1px solid var(--line);background:transparent;border-radius:50%}.empty{text-align:center;padding:36px 0;color:var(--muted)}.cart-summary{margin:22px 0;padding:18px;background:#e9e0d0}.cart-summary>div{display:flex;justify-content:space-between;gap:12px;margin:8px 0}.cart-summary .total{border-top:1px solid var(--line);padding-top:14px;font-size:16px}form h3{margin-top:28px}label{display:block;font-size:14px;font-weight:700;margin:14px 0}input,select,textarea{width:100%;margin-top:6px;padding:12px;border:1px solid #bdb3a2;border-radius:3px;background:#fffcf7;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{outline:2px solid var(--red);outline-offset:1px}.full{width:100%;margin-top:8px}.checkout-note{font-size:12px;line-height:1.6;color:var(--muted)}.preview-note{font-size:14px;padding:15px;background:#ede1cb;border-left:3px solid var(--red)}.preview-note a{text-decoration:underline}.overlay{position:fixed;inset:0;background:#08141c99;z-index:40;opacity:0;pointer-events:none;transition:.25s}.overlay.show{opacity:1;pointer-events:auto}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,15px);background:var(--ink);color:var(--paper);padding:14px 22px;border:1px solid #f3a16955;border-radius:3px;opacity:0;z-index:60;pointer-events:none;transition:.2s;font-size:14px;width:max-content;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}.delivery-map{height:210px;margin:14px 0;border:1px solid var(--line)}.delivery-status{font-size:14px;color:var(--red);font-weight:700}.option-dialog{width:min(460px,calc(100vw - 30px));border:0;border-top:4px solid var(--red);border-radius:3px;padding:28px;background:var(--paper);color:var(--ink)}.option-dialog::backdrop{background:#08141cbb}.option-dialog h2{font-size:26px;margin:12px 45px 12px 0}.option-dialog p{font-size:16px;color:var(--muted)}.option-close{float:right}.menu-empty{padding:30px;font-size:16px}
@media(min-width:1700px){.hero-copy{padding-right:70px}.hero{min-height:650px}.hero-image{min-height:650px}}
@media(max-width:1050px){.topbar nav{gap:20px}.hero{grid-template-columns:1.1fr 1fr}.hero-copy{padding-top:45px;padding-bottom:45px}.hero-image{min-height:520px}.menu-layout{grid-template-columns:170px 1fr;gap:26px}.menu-grid{column-gap:20px}.menu-card{padding-left:30px;padding-right:44px}.hours-list>div{display:block}.hours-list dd{text-align:left;margin-top:5px}}
@media(max-width:760px){html{scroll-padding-top:85px}.topbar{height:78px;padding:0 5vw}.brand strong{font-size:19px}.brand small{font-size:12px}.topbar nav>a{display:none}.cart-button{padding:9px 11px;font-size:13px}.cart-button span{margin-left:5px;min-width:21px;height:21px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:38px 6vw}.hero h1{font-size:clamp(34px,8vw,57px)}.hero p{font-size:18px}.hero-actions{margin-bottom:25px;gap:10px}.hero-address{font-size:15px}.hero-image{min-height:310px;height:310px}.hero-image img{object-position:50% 74%}.image-caption{left:6vw;bottom:20px;font-size:12px}.intro-strip{gap:14px;font-size:12px;padding:14px 5vw;flex-wrap:wrap}.intro-strip i{display:none}.section{padding:44px 5vw}.section-heading{align-items:start;margin-bottom:22px;padding-bottom:22px}.section-heading h2{font-size:29px}.section-heading .eyebrow{font-size:12px}.edition{font-size:12px;margin-top:4px;min-width:78px}.menu-layout{display:block}.filter-row{position:static;flex-direction:row;overflow:auto;gap:8px;padding-bottom:12px;margin-bottom:22px}.filter{white-space:nowrap;border:1px solid var(--line);font-size:14px;padding:10px 14px;min-height:44px}.filter.active{box-shadow:none;border-color:var(--ink)}.category-heading h3{font-size:24px}.menu-grid{grid-template-columns:1fr}.menu-card{min-height:156px;padding-right:58px;padding-left:36px}.menu-card h3{font-size:18px}.menu-card p{font-size:15px}.add-btn{width:42px;height:42px}.delivery-section,.contact{grid-template-columns:1fr;gap:35px}.delivery-section{padding:44px 5vw}.delivery-section h2,.contact h2{font-size:35px}.delivery-section p{max-width:none}.delivery-zones>div{font-size:16px}footer{flex-direction:column;align-items:flex-start;gap:20px}.hours-list>div{display:flex}.hours-list dd{margin:0;text-align:right}.cart-panel{padding:22px}.section-heading{gap:10px}}
@media(max-width:360px){.cart-button{font-size:12px}.brand strong{font-size:16px}.brand small{font-size:12px}.section-heading{display:block}.edition{display:block;text-align:left;margin-top:12px}.hours-list>div{display:block}.hours-list dd{text-align:left;margin-top:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Kompakter Seitenrand und einzeiliger Name im Kopf. */
.topbar .header-brand{flex-shrink:0;white-space:nowrap}
.topbar .header-brand strong{font-size:23px;line-height:1.2}
.topbar .header-brand span{color:var(--peach);font-size:inherit;font-weight:inherit;letter-spacing:inherit}
@media(max-width:1050px){.topbar nav{gap:16px}.topbar .header-brand strong{font-size:20px}.menu-layout{gap:20px}}
@media(max-width:760px){.topbar{height:auto;min-height:78px;padding:14px 18px;flex-wrap:wrap;gap:10px}.topbar .header-brand{max-width:100%}.topbar .header-brand strong{font-size:clamp(13px,3.7vw,19px);letter-spacing:0}.topbar nav{margin-left:auto}.hero-copy{padding-left:20px;padding-right:20px}.section,.delivery-section{padding-left:20px;padding-right:20px}}

/* Breite Gerichtsansicht: höchstens drei Spalten. */
.pizzeria-logo{display:block;width:210px;height:auto;margin-bottom:22px}
.hero{grid-template-columns:1fr 1.1fr}
.hero-image{min-height:560px}
.hero-image img{object-position:50% 73%}
.review-dialog{width:min(560px,calc(100vw - 30px))}
#reviewContent{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}
#reviewContent p{font-size:14px;margin:10px 0}
.edit-order{color:var(--ink);border-color:var(--line)}
@media(min-width:1450px){.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{grid-template-columns:minmax(540px,.85fr) minmax(0,1.15fr);min-height:650px}.hero-image{min-height:650px}.hero-copy{padding-top:45px;padding-bottom:45px}}
@media(min-width:1900px){.hero{grid-template-columns:minmax(620px,.75fr) minmax(0,1.25fr)}.hero-image img{object-position:50% 76%}}
@media(max-width:760px){.hero{grid-template-columns:1fr}.hero-image{min-height:310px}.pizzeria-logo{width:170px;margin-bottom:22px}}

.pizzeria-logo{width:min(390px,100%);height:auto;margin-bottom:20px}.footer-logo{display:block;width:260px;max-width:100%;height:auto}
@media(max-width:760px){.pizzeria-logo{width:min(300px,100%)}}

.topbar .header-brand,.footer-brand{display:flex;align-items:center;gap:15px}
.brand-icon{display:block;width:64px;height:64px;object-fit:contain;flex-shrink:0}
.footer-brand strong{font-size:18px;white-space:nowrap}.footer-brand span{color:var(--peach)}
@media(max-width:1100px){.topbar nav>a{display:none}}
@media(max-width:760px){.brand-icon{width:46px;height:46px}.topbar .header-brand{gap:9px}.topbar .header-brand strong{font-size:clamp(12px,3.1vw,19px)}.footer-brand{gap:10px}.footer-brand strong{font-size:clamp(12px,3.1vw,18px)}}

/* Gleiche Schriftgröße für alle drei Zeilen des Namens. */
.hero h1 span{font-size:1em;line-height:inherit}
.intro-strip{flex-wrap:wrap;justify-content:space-between;gap:14px 24px;padding-inline:clamp(20px,2.5vw,40px);font-size:16px}
.intro-strip span{white-space:nowrap;display:flex;align-items:center;gap:24px}
.intro-strip span:not(:last-child)::after{content:'·';color:var(--red);font-weight:900}
.location-map{position:relative;height:260px;margin-top:24px;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:var(--paper)}
.location-map iframe{height:100%;width:100%;border:0;pointer-events:none}
.location-map>a{position:absolute;inset:0;display:flex;align-items:flex-end;padding:16px;background:linear-gradient(transparent 50%,#1d2a3266)}
.location-map>a>span{display:block;background:var(--ink);color:var(--white);padding:12px 18px;border-radius:3px;font-weight:700}
.location-map small{display:block;font-size:14px;font-weight:400;color:var(--peach)}
.location-map>a:hover>span{background:var(--red)}
.coupon-box{padding:20px 0;border-top:1px solid var(--line)}
.coupon-box>label{display:block;font-weight:700;margin-bottom:8px}
.coupon-controls{display:flex;gap:8px}.coupon-controls input{min-width:0;flex:1;background:var(--white);border:1px solid var(--line);padding:12px;border-radius:3px;text-transform:uppercase}
.coupon-controls button{padding:12px 16px;background:var(--ink);color:var(--white);border:0;border-radius:3px;font-weight:700}
.coupon-box p{font-size:14px;margin:8px 0 0}.coupon-remove{background:none;border:0;color:var(--red);padding:8px 0;text-decoration:underline;font-size:14px}
.discount-row{color:var(--red)}
@media(max-width:760px){.intro-strip{justify-content:flex-start;gap:10px 16px}.intro-strip span{gap:16px}.location-map{height:230px}.hero h1{font-size:clamp(30px,7.6vw,54px)}}

/* Punkte liegen genau zwischen den Kategorien, mit gleichem Abstand auf beiden Seiten. */
.intro-strip{justify-content:initial;gap:0;flex-wrap:nowrap}
.intro-strip span{display:block;position:relative}
.intro-strip span:not(:last-child)::after{content:none}
.intro-strip i{flex:1;height:20px;min-width:32px;width:auto;border-radius:0;background:transparent;position:relative}
.intro-strip i::after{content:'';position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:var(--red);transform:translate(-50%,-50%)}
@media(max-width:900px){
 .intro-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px;text-align:center}
 .intro-strip i{display:none}
 .intro-strip span:nth-of-type(odd):not(:last-child)::after{content:'';position:absolute;right:0;top:50%;width:5px;height:5px;background:var(--red);border-radius:50%;transform:translate(50%,-50%)}
 .intro-strip span:last-child{grid-column:1/-1}
}

.legal-link{font-size:16px;text-decoration:underline;text-underline-offset:4px}
.legal-link:hover,.legal-content a:not(.primary):hover{color:var(--peach)}
.legal-back{font-size:16px;text-decoration:underline;text-underline-offset:4px}
.legal-content{padding:64px clamp(20px,2.5vw,40px) 80px;max-width:900px;min-height:70vh}
.legal-content h1{font-size:clamp(36px,5vw,60px);margin:16px 0}
.legal-intro{color:var(--muted);margin-bottom:40px}
.legal-content section{padding:24px 0;border-top:1px solid var(--line)}
.legal-content h2{font-size:24px;margin:0 0 16px;letter-spacing:0}
.legal-content p{font-size:16px;line-height:1.7}
.legal-content a:not(.primary){text-decoration:underline;overflow-wrap:anywhere}
.legal-content>.primary{margin-top:24px}
@media(max-width:760px){.legal-page .topbar{height:auto;min-height:78px;flex-wrap:wrap;gap:16px;padding-block:16px}.legal-content{padding-top:40px}}

.option-dialog.with-extras{width:min(640px,calc(100vw - 30px));max-height:85dvh;overflow:auto}
.product-extras{border:0;padding:0;margin:24px 0 0;min-width:0}
.product-extras legend{font-size:20px;font-weight:700;padding:0}
.product-extras .extras-hint{font-size:14px;margin:6px 0 14px}
.extras-group{border-top:1px solid var(--line);padding:12px 0}
.extras-group summary{cursor:pointer;font-weight:700;font-size:16px}
.extras-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding-top:12px}
#optionFields .extra-choice{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;padding:10px 8px;min-height:48px;background:var(--white);border:1px solid var(--line);border-radius:3px;font-size:14px;cursor:pointer}
#optionFields .extra-choice input{width:18px;height:18px;margin:0;accent-color:var(--red)}
.extra-choice strong{font-size:14px;white-space:nowrap}.extra-choice:has(input:checked){border-color:var(--red);background:#f3a16922}
#optionForm #optionPrice{font-weight:700;color:var(--ink);padding-top:16px;border-top:1px solid var(--line)}
.cart-extras{display:block;margin-top:6px;font-size:14px;line-height:1.4;color:var(--muted)}
@media(max-width:560px){.extras-list{grid-template-columns:1fr}.option-dialog.with-extras{padding:20px}}

#optionFields .item-note-label{display:block;margin-top:22px;font-size:16px;font-weight:700}
#productNote{display:block;width:100%;margin-top:8px;padding:12px;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:3px;resize:vertical;font-size:16px;line-height:1.5;font-weight:400}
.cart-item-note{display:block;margin-top:8px;color:var(--ink);font-size:14px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}
.option-dialog{max-height:85dvh;overflow:auto}

.order-outcome{padding:18px;border-radius:8px;background:#f3eee6;border:1px solid #d7c7b6;margin:18px 0}.order-outcome h3{margin:0 0 10px;font-size:1.25rem;line-height:1.35}.order-outcome .preview-note{margin:0;background:transparent;padding:0;color:inherit}.order-outcome[data-tone=success]{background:#e8f3e7;border-color:#7ba379;color:#214b25}.order-outcome[data-tone=error]{background:#fbe7e3;border-color:#c87569;color:#84241d}.order-outcome[data-tone=pending]{background:#fff2d8;border-color:#c9a05a;color:#67440e}

.confirmation-arrived{animation:confirmation-arrival .6s ease-out}@keyframes confirmation-arrival{from{transform:scale(.97);opacity:.5}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.confirmation-arrived{animation:none}}

.review-dialog[data-decision=accepted],.review-dialog[data-decision=rejected]{max-width:640px;text-align:center}.review-dialog[data-decision=accepted]>h2,.review-dialog[data-decision=rejected]>h2,.review-dialog[data-decision=accepted] #reviewContent,.review-dialog[data-decision=rejected] #reviewContent{display:none}.review-dialog[data-decision=accepted] .order-outcome,.review-dialog[data-decision=rejected] .order-outcome{padding:32px 24px;border-width:2px}.review-dialog[data-decision=accepted] .order-outcome h3,.review-dialog[data-decision=rejected] .order-outcome h3{font-size:clamp(2rem,5vw,3rem);font-weight:800}.review-dialog[data-decision=accepted] #orderStatus,.review-dialog[data-decision=rejected] #orderStatus{font-size:1.125rem;line-height:1.7}

.opening-notice{padding:16px 24px;margin:0;background:#fff0ce;color:#673e13;font-weight:700;text-align:center}.opening-notice[data-open=true]{background:#e8efdf;color:#31562d}.schedule-choice{padding:15px;background:#f6efe4;border-radius:8px}.special-hours{margin-top:22px;border-top:1px solid #af9980;padding-top:16px}.special-hours p{line-height:1.6}

/* Keep map consent visible inside the map, above the navigation link. */
.location-map{height:330px}
.location-map iframe{position:absolute;inset:0}
.map-placeholder{position:absolute;inset:0 0 80px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px;text-align:center;background:var(--paper)}
.map-placeholder[hidden]{display:none}
.map-placeholder>strong{font-size:18px}
.map-placeholder>span{font-size:14px}
.map-placeholder p{font-size:12px;line-height:1.4;margin:0;max-width:360px}
.location-map>a{z-index:1;top:auto;min-height:80px}

.schedule-choice .preorder-toggle{display:flex;align-items:center;gap:10px;margin:8px 0;font-weight:600}.schedule-choice .preorder-toggle input{width:20px;height:20px;margin:0;accent-color:var(--red,#8a201b)}

/* Touch layouts: phone and tablet, with the desktop layout retained. */
@media screen and (max-width:1100px){
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;min-width:0;max-width:100%}
 .menu-content,.menu-layout,.hero-copy,.contact>div{min-width:0}
 .menu-layout{display:block}.filter-row{position:static;flex-direction:row;overflow-x:auto;max-width:100%;gap:8px;padding:4px 0 14px;margin-bottom:20px;overscroll-behavior-x:contain}.filter{flex-shrink:0;white-space:nowrap;min-height:48px}
 .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .add-btn,.icon-button{width:46px;height:46px;min-width:46px}.menu-card{padding-right:56px}
 .qty button{width:44px;height:44px;min-width:44px}.qty{gap:8px}
 .cart-panel{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:max(28px,env(safe-area-inset-bottom))}
 .option-dialog,.review-dialog{max-height:calc(100dvh - 32px);overscroll-behavior-y:contain}
 .cart-item h4,.cart-item small,#reviewContent p,.order-status{overflow-wrap:anywhere}
}
@media screen and (min-width:761px) and (max-width:1100px){
 .topbar{height:auto;min-height:88px;gap:16px;flex-wrap:wrap;padding:18px 24px}.topbar .header-brand strong{font-size:clamp(16px,2.15vw,22px)}
 .hero-copy{padding:36px 24px}.hero h1{font-size:clamp(30px,4.2vw,46px)}.hero-image{min-height:440px}
 .section,.delivery-section{padding:48px 24px}.contact,.delivery-section{gap:32px}
}
@media screen and (max-width:760px){
 .menu-grid{grid-template-columns:minmax(0,1fr)}
 .hero-image{min-height:240px;height:clamp(240px,65vw,380px)}
 .topbar{gap:12px;padding:12px 16px}.topbar .header-brand{min-width:0}.topbar nav{max-width:100%}.cart-button{min-height:44px}
 .section-heading{flex-wrap:wrap}.edition{text-align:left}
 .cart-panel{width:100%;padding:20px 16px max(24px,env(safe-area-inset-bottom));height:100dvh}
 .cart-head{position:sticky;top:-20px;background:var(--paper);z-index:2;padding-top:16px;gap:12px}.cart-head h2{font-size:26px}.cart-head small{font-size:12px}
 .cart-summary{padding:14px}.cart-summary strong{white-space:nowrap}.cart-item{grid-template-columns:minmax(0,1fr) auto}
 .option-dialog,.option-dialog.with-extras,.review-dialog{width:calc(100% - 24px);max-width:640px;padding:20px 16px;max-height:calc(100dvh - 24px)}
 .hero-actions>*{flex:1 1 160px}.coupon-controls{flex-wrap:wrap}.coupon-controls input{flex:1 1 160px}.coupon-controls button{min-height:46px}
 .hours-list>div{flex-wrap:wrap;gap:6px 16px}.hours-list dd{text-align:left}
 .review-dialog .actions{flex-wrap:wrap}.review-dialog button{min-height:46px}
 footer{overflow-wrap:anywhere;padding-bottom:max(30px,env(safe-area-inset-bottom))}
}
@media screen and (max-width:380px){
 .cart-item{grid-template-columns:minmax(0,1fr)}.cart-item .qty{justify-content:flex-end}
 #optionFields .extra-choice{grid-template-columns:48px minmax(0,1fr);gap:8px 12px}#optionFields .extra-choice strong{grid-column:2}
}
