body.modal-is-open{overflow:hidden}
.lallee-dialog,.reservation-dialog,.dish-dialog{color:#f4f0e8;border:1px solid #d7b99440;background:radial-gradient(ellipse at 20% 0,#8a60432b,transparent 65%),linear-gradient(145deg,#302622,#191615);box-shadow:inset 0 1px #fff2,0 32px 100px #0009;border-radius:22px;max-height:calc(100dvh - 32px);overscroll-behavior:contain;scrollbar-width:none}
.lallee-dialog,.reservation-dialog{width:min(520px,calc(100% - 32px));padding:45px 34px 30px;text-align:center}
.lallee-dialog h2,.reservation-dialog h2{font:400 clamp(32px,5vw,45px)/1.12 var(--display);letter-spacing:-.035em}
.lallee-dialog h2 em{color:#d1b99f}
.lallee-dialog>p:not(.eyebrow){color:#bfb2a5;font-size:14px;line-height:1.8;margin:24px 0}
.dialog-emblem{width:82px;height:82px;margin:0 auto 26px;border:1px solid #d7b99455;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#bf965a16,transparent);color:#e5c18c;font:400 28px var(--display)}
.dialog-emblem svg{width:32px;height:32px}
.dialog-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.dialog-actions .button{flex:1;white-space:nowrap;padding:13px 16px;font-size:12px}
.dialog-number{display:inline-block;color:#e5c18c;font-size:22px;margin-top:8px}
.dialog-signature{display:block;margin-top:24px;color:#c6a78677;font:italic 24px var(--display)}
.lallee-dialog .copy-status{font-size:12px;min-height:20px;margin:15px 0 0}
dialog::backdrop{background:#0b0909aa;backdrop-filter:blur(10px)}
dialog[open]{animation:modal-arrive 240ms cubic-bezier(.22,1,.36,1)}
dialog[open]::backdrop{animation:veil-arrive 240ms ease-out}
dialog.is-closing{animation:modal-leave 160ms ease-out forwards;pointer-events:none}
dialog.is-closing::backdrop{animation:veil-leave 160ms ease-out forwards}
@keyframes modal-arrive{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes modal-leave{to{opacity:0;transform:translateY(6px) scale(.99)}}
@keyframes veil-arrive{from{opacity:0}to{opacity:1}}
@keyframes veil-leave{to{opacity:0}}
.dish-dialog{width:min(980px,calc(100% - 40px));padding:0;overflow:hidden;background:#211b19;border-color:#d7b99448;border-radius:20px;box-shadow:inset 0 1px #fff2,0 38px 120px #050303c7}
.dish-dialog-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,1fr);align-items:stretch;background:#211b19}
.dish-dialog-media{position:relative;isolation:isolate;aspect-ratio:4/3;min-width:0;overflow:hidden;background:#efe6d8}
.dish-dialog-media:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset -1px 0 #d7b99438,inset 0 1px #fff7}
.dish-dialog-image{display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;position:static;background:#efe6d8}
.dish-dialog-image--empty{display:grid;place-items:center;color:#8e7565;font:italic 34px var(--display);background:radial-gradient(circle at 50% 45%,#fff8ee,#d8cbbb)}
.dish-dialog-age{position:absolute;z-index:1;top:20px;left:20px;display:grid;place-items:center;width:52px;height:52px;border:1px solid #9e6c4c85;border-radius:50%;background:#2a211dd9;color:#f0d3aa;backdrop-filter:blur(14px) saturate(115%);box-shadow:inset 0 1px #fff3,0 8px 24px #33201735;font:500 14px/1 var(--sans);letter-spacing:.03em}
.dish-dialog-info{position:relative;isolation:isolate;min-width:0;min-height:0;padding:32px 28px 20px;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 16% 0,#8d60452b,transparent 52%),linear-gradient(145deg,#332a26e8,#1d1918f4 72%);backdrop-filter:blur(24px) saturate(90%);-webkit-backdrop-filter:blur(24px) saturate(90%)}
.dish-dialog-info:before{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(115deg,#fff0 12%,#fff6 31%,#fff0 47%);opacity:.28}
.dish-dialog-category{margin:0 58px 12px 0;color:#ccb9a8;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.dish-dialog-info h2{margin:0;padding-right:40px;font-size:clamp(28px,3vw,38px);line-height:1.12;overflow-wrap:anywhere}
.dish-dialog-desc{min-height:0;max-height:108px;margin:18px 4px 14px 0;padding-right:12px;color:#d0c4b8;font-size:13px;line-height:1.72;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b693785c transparent}
.dish-dialog-desc::-webkit-scrollbar{width:5px}.dish-dialog-desc::-webkit-scrollbar-track{background:transparent}.dish-dialog-desc::-webkit-scrollbar-thumb{border-radius:999px;background:#b693785c}
.dish-dialog-buy{position:static;margin-top:auto;padding:18px 0 0;border-top:1px solid #d7b99428;background:transparent;backdrop-filter:none;flex-shrink:0;z-index:1}
.dish-dialog-buy strong{color:#e5c18c;font-size:26px;line-height:1}
.dish-dialog-buy span{margin-top:7px;color:#bcae9f}
.dish-dialog-buy .card-quantity{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex:1}
.dish-dialog-buy .card-quantity:not(.has-quantity) button{width:min(100%,210px);padding-inline:24px;white-space:nowrap}
.dish-dialog-buy .card-quantity button{min-width:44px;min-height:46px}
.dish-dialog-buy .has-quantity button{padding:8px;width:46px;font-size:22px}
.dish-dialog-buy output{min-width:22px;font-size:16px;text-align:center}
.dish-dialog-close{right:18px;top:18px;width:44px;height:44px;background:linear-gradient(145deg,#3b302cdf,#191615c7);border-color:#d7b99448;box-shadow:inset 0 1px #fff3,0 8px 24px #0004}
.reservation-emblem svg{width:68px;height:58px}
@media(max-width:700px){.lallee-dialog,.reservation-dialog{padding:42px 22px 25px}.dialog-emblem{width:68px;height:68px;margin-bottom:20px}.dialog-actions{flex-direction:column}.dish-dialog{width:min(520px,calc(100% - 24px));overflow:auto}.dish-dialog-grid{display:block}.dish-dialog-media{width:100%;aspect-ratio:4/3}.dish-dialog-image{position:static;width:100%;height:100%;aspect-ratio:auto;max-height:none}.dish-dialog-age{top:14px;left:14px;width:46px;height:46px;font-size:13px}.dish-dialog-info{max-height:none;overflow:visible;padding:25px 20px 20px;background:radial-gradient(circle at 8% 0,#8d60452b,transparent 48%),linear-gradient(145deg,#332a26,#1d1918 72%)}.dish-dialog-info h2{padding-right:22px;font-size:29px}.dish-dialog-desc{max-height:none;overflow:visible;margin:18px 0 20px;padding:0;font-size:13px}.dish-dialog-buy{margin-top:0;padding-top:18px}.dish-dialog-buy .card-quantity:not(.has-quantity) button{width:auto;min-width:158px;padding-inline:18px}.dish-dialog-close{position:sticky;float:right;top:10px;margin:10px 10px -54px 0}.dialog-number{font-size:20px}}
@media(prefers-reduced-transparency:reduce){.dish-dialog-info{background:#28211f;backdrop-filter:none}.dish-dialog-age{background:#2a211d;backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){dialog[open],dialog[open]::backdrop,dialog.is-closing,dialog.is-closing::backdrop{animation:none!important}}
