.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.menu-dialog{width:min(1440px,calc(100vw - 48px));max-width:none;max-height:94svh;background:var(--cream)}
.dialog-header{padding:40px 40px 28px;align-items:flex-start}
.dialog-header h2{font-size:clamp(40px,4vw,66px);max-width:850px;line-height:1}
.dialog-header p{font-size:12px;color:#6c6559;margin-top:12px}
.dialog-close{position:sticky;top:0;flex-shrink:0}
.menu-controls{position:sticky;top:0;z-index:6;padding:20px 40px 14px;background:#f0eadef5;backdrop-filter:blur(14px);border-bottom:1px solid #d8d0c2}
.menu-search input{font-size:14px}
.category-list{padding-bottom:4px}
.category-list button{font-size:11px;min-height:36px;white-space:nowrap}
.menu-allergen-notice{margin:24px 40px 18px;padding:16px 20px;border-left:2px solid var(--red);background:#e8e0d2;display:flex;gap:24px;justify-content:space-between;align-items:center;font-size:11px;color:#514a3f}
.menu-allergen-notice p{max-width:760px;line-height:1.7}
.menu-allergen-notice a{white-space:nowrap;text-decoration:underline;text-underline-offset:4px;font-size:11px}
.menu-status{padding:0 40px 16px;font-size:11px}
.menu-results{padding:0 40px 40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}
.menu-item{display:flex;flex-direction:column;gap:0;padding:0;border:1px solid #d8d0c2;border-radius:3px;background:#f8f4ec;overflow:hidden;min-width:0}
.dish-photo{aspect-ratio:4/3;width:100%;overflow:hidden;background:#e8e1d6}
.menu-item .dish-photo img{width:100%;height:100%;aspect-ratio:4/3;object-fit:contain;padding:0;transition:transform .6s var(--ease)}
.menu-item:hover .dish-photo img{transform:scale(1.025)}
.menu-item[data-category="Bevande"] .dish-photo,.menu-item[data-category="Birre"] .dish-photo{background:#fff}
.menu-item[data-category="Bevande"] .dish-photo img,.menu-item[data-category="Birre"] .dish-photo img{padding:20px}
.menu-item .dish-monogram{width:100%;height:100%;font-size:85px;background:#e8e1d6}
.dish-copy{padding:22px;min-width:0}
.dish-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:7px 0 12px}
.menu-item h3{font-size:31px;line-height:1.08;margin:0;overflow-wrap:anywhere}
.menu-item .dish-price{font-size:13px;line-height:1.5;margin:0;white-space:nowrap;flex-shrink:0}
.menu-item .dish-price small{font-size:10px}
.menu-item .dish-category{font-size:8px;letter-spacing:1.6px;color:#8b4a38}
.menu-item .dish-ingredients{font-size:12px;line-height:1.75;color:#60594d;margin:0}
.dish-allergens{border-top:1px solid #d8d0c2;margin-top:18px;padding-top:14px}
.allergen-status{display:block;font:11px/1.5 var(--sans);color:#8b4a38}
.allergen-status.verified{color:#386041}
.allergen-chips{list-style:none;padding:0;margin:9px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.allergen-chips a{display:inline-flex;gap:5px;align-items:center;border:1px solid #cfc4b3;border-radius:20px;padding:5px 10px;font:11px/1.4 var(--sans);color:#534b40;transition:background .2s}
.allergen-chips a:hover{background:#e4dac9}
.allergen-chips b{font-weight:500;color:#8b4a38}
.menu-item .allergen-pending,.allergen-pending{font:11px/1.6 var(--sans);color:#776c5b;margin:8px 0 0}
.allergen-details{font:11px/1.7 var(--sans);margin-top:12px;color:#776c5b}
.allergen-details summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.menu-item .allergen-details p{font-size:11px;line-height:1.7;margin:8px 0 0;color:#776c5b}
.dialog-footer p{font-size:11px;line-height:1.8}
.pizza-carousel{grid-auto-columns:calc((100% - 32px)/2);gap:32px}
.pizza-card .pizza-photo{width:100%;padding:0;aspect-ratio:4/3}
.pizza-card .pizza-photo img{object-fit:contain}
.pizza-card .pizza-name{font-size:38px}
.pizza-card .pizza-desc{max-width:none;font-size:12px}
.pizza-card .dish-allergens{width:100%}
.pizza-card .allergen-status{font-size:10px}
.footer-credits>a{font-size:9px;text-decoration:underline;text-underline-offset:4px}
/* A standalone editorial page for the allergen guide. */
.allergens-header{position:relative;height:130px;border-bottom:1px solid #ffffff14}
.allergens-main{background:var(--cream);color:var(--ink);padding:90px 0 100px}
.allergens-intro .signature{font-size:48px}
.allergens-intro h1{font-size:clamp(64px,7.5vw,116px);line-height:.92;letter-spacing:-3px;margin-top:20px}
.allergens-intro h1 em{font-weight:400;color:#806b51}
.allergens-lead{font-size:16px;line-height:1.8;max-width:620px;margin:28px 0}
.allergens-notice{max-width:920px;padding:25px 30px;border-left:3px solid var(--red);background:#e7dfd1;font-size:13px;line-height:1.85}
.allergens-notice strong{font-weight:600}
.allergens-notice p{margin-top:10px}
.allergen-guide{padding-top:90px}
.allergen-guide-heading{max-width:740px;margin-bottom:35px}
.allergen-guide-heading h2,.allergens-how h2{font-size:clamp(44px,4.4vw,68px)}
.allergen-guide-heading>p{max-width:600px;margin-top:25px;color:#6a6052;font-size:13px}
.allergen-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.allergen-guide-card{position:relative;border:1px solid #d2c7b6;padding:26px;scroll-margin-top:25px;background:#f6f1e8}
.allergen-number{font:44px/1 var(--serif);color:#ad7862;display:block;margin-bottom:30px}
.allergen-guide-card h3{font-size:31px;line-height:1.15;margin-bottom:14px}
.allergen-guide-card p{font-size:12px;line-height:1.8;color:#6c6254}
.allergens-source{font-size:11px;line-height:1.9;max-width:900px;margin-top:28px;color:#6c6254}
.allergens-source a{text-decoration:underline;text-underline-offset:3px}
.allergens-how{padding-top:95px}
.allergens-how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:38px}
.allergens-how-grid h3{font-size:29px;line-height:1.1;margin-bottom:15px}
.allergens-how-grid p{font-size:12px;line-height:1.85;color:#6c6254}
.allergens-actions{display:flex;align-items:center;flex-wrap:wrap;gap:30px;margin-top:35px}
.allergens-page .call-message{color:#6c6254}
.allergens-page .site-footer{padding-bottom:45px}
@media(max-width:1150px){.desktop-nav .allergens-nav{display:none}.menu-results{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-dialog{width:calc(100vw - 32px)}.allergen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
 .menu-dialog{width:100%;height:100svh;max-height:100svh;margin:0}
 .dialog-header{padding:28px 22px 24px;gap:12px}.dialog-header h2{font-size:43px;line-height:.98}.dialog-header p{font-size:11px}
 .menu-controls{padding:15px 22px 12px}.menu-search input{font-size:12px}.category-list button{font-size:10px}
 .menu-allergen-notice{margin:18px 22px;display:block;padding:14px 16px;font-size:11px}.menu-allergen-notice a{display:inline-block;margin-top:8px}
 .menu-status{padding:0 22px 15px}.menu-results{grid-template-columns:minmax(0,1fr);padding:0 22px 25px;gap:24px}
 .dish-copy{padding:20px}.menu-item h3{font-size:33px}.menu-item .dish-price{font-size:13px}.menu-item .dish-ingredients{font-size:12px}
 .pizza-carousel{grid-auto-columns:90%;gap:22px}.pizza-card .pizza-name{font-size:33px}
 .allergens-header{height:108px;gap:16px}.allergens-header .pill{font-size:9px;min-height:40px;padding:10px 15px;gap:12px}
 .allergens-main{padding:55px 0 65px}.allergens-intro .signature{font-size:38px}.allergens-intro h1{font-size:clamp(46px,15.4vw,62px);letter-spacing:-2px}
 .allergens-lead{font-size:14px;margin:23px 0}.allergens-notice{padding:20px;font-size:12px}
 .allergen-guide,.allergens-how{padding-top:60px}.allergen-grid,.allergens-how-grid{grid-template-columns:1fr;gap:16px}.allergen-guide-card{padding:23px}.allergen-number{margin-bottom:20px}
 .allergens-how-grid{gap:30px}.allergens-how-grid h3{font-size:30px}.allergens-actions{gap:22px}
}
@media(prefers-reduced-motion:reduce){.menu-item .dish-photo img{transition:none}.menu-item:hover .dish-photo img{transform:none}}
