/* Escala de apilamiento (6 de octubre de 2026). Antes cada capa llevaba un número suelto y la
   píldora del reproductor (160) acabó por encima del velo del pedido dentro del menú. El orden,
   de abajo arriba, es: lo flotante < el velo < la hoja que cubre.

   El menú a pantalla completa (`--z-menu`) es un contexto aislado (`isolation:isolate`): su velo y
   su hoja —el editor de producto y el pedido desplegado— no pueden salir de él, así que no les
   basta con un número alto. Cuando una de esas hojas se abre, lo flotante baja a
   `--z-flotantes-bajo`, por debajo del propio menú; dentro del menú el orden se repite con
   `--z-velo-menu` < `--z-modal-menu`. Los `<dialog>` que se abren con `showModal()` viven en la
   capa superior del navegador y ya están por encima de todo: `--z-velo`/`--z-modal` son su valor
   declarado, para que la jerarquía se lea en la hoja y la fije `test:css-reproductor`. */
:root{
 --z-flotantes:160;      /* reproductor, timbre de clic y «Pregúntale a DIM» */
 --z-flotantes-bajo:90;  /* los mismos, mientras el menú tiene una hoja abierta */
 --z-menu:95;            /* el menú a pantalla completa */
 --z-velo-menu:6;        /* el velo del pedido, DENTRO del menú */
 --z-modal-menu:7;       /* la hoja del pedido, DENTRO del menú */
 --z-velo:300;           /* el velo de cualquier modal */
 --z-modal:310;          /* el modal en sí */
}
:root{--red:#c7192d;--dark:#211d1b;--cream:#fff5e9;--sand:#f5e8d7;--pink:#f2b4b5;--line:#e1d4c3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--dark);font-family:'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px;z-index:99}.skip:focus{left:0}.announcement{background:#aa1025;color:#fff;text-align:center;padding:9px 16px;font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:700}.announcement span{padding:0 14px}.site-header{position:sticky;top:0;z-index:20;background:var(--red);border-bottom:1px solid #ffffff33}.nav-wrap{max-width:1440px;margin:auto;min-height:82px;padding:0 5.5%;display:flex;align-items:center;gap:40px}.brand img{width:150px;max-height:52px}.nav{display:flex;gap:36px;margin-left:auto}.nav a{color:#fff;font-size:14px;font-weight:700;transition:opacity .2s}.nav a:hover{opacity:.65}.nav-order{background:var(--cream);padding:14px 21px;border-radius:100px;font-weight:800;font-size:13px;white-space:nowrap}.nav-order span{margin-left:15px}.menu-toggle{display:none}.hero{background:var(--red);color:#fff;min-height:690px;display:grid;grid-template-columns:53% 47%;overflow:hidden}.hero-copy{padding:90px 4% 46px max(7%,calc((100vw - 1280px)/2));position:relative;display:flex;flex-direction:column;align-items:flex-start}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:.2em}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow-dot{height:8px;width:8px;border-radius:50%;background:#f8c67a}.hero h1,h2,h3{font-family:Outfit,sans-serif}.hero h1{font-size:clamp(66px,7.3vw,120px);line-height:.91;letter-spacing:-.075em;margin:47px 0 30px;font-weight:900}.hero h1 em,.menu-section h2 em,.experiences h2 em,.visit h2 em,.cta-section em{font-style:normal;color:#f7b4b4}.hero-copy>p{font-size:18px;line-height:1.65;max-width:495px;margin:0 0 38px}.hero-actions{display:flex;align-items:center;gap:30px}.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;border:0;border-radius:100px;padding:17px 24px;font-weight:800;font-size:14px;transition:transform .2s,background .2s}.btn:hover,.nav-order:hover{transform:translateY(-3px)}.btn-cream{background:var(--cream);color:var(--dark)}.btn-red{background:var(--red);color:white}.btn-dark{background:var(--dark);color:#fff}.text-link{font-weight:700;font-size:14px;border-bottom:1px solid #ffffff88;padding:10px 0}.text-link span{margin-left:10px}.hero-foot{display:flex;gap:16px;align-items:center;font-size:10px;letter-spacing:.16em;font-weight:800;margin-top:auto;padding-top:60px}.hero-art{position:relative;background:#e43944;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-art:before{content:'';position:absolute;inset:7%;border-radius:50%;background:#f36c69}.hero-art img{position:relative;width:min(94%,640px);filter:drop-shadow(0 20px 25px #8c102455);transform:rotate(-5deg);z-index:2}.orbit{position:absolute;border:1px solid #ffffff75;border-radius:50%;width:94%;aspect-ratio:1}.orbit-two{width:72%}.hero-stamp{position:absolute;right:6%;top:8%;z-index:3;display:flex;align-items:center;justify-content:center;width:115px;height:115px;text-align:center;font:800 12px/1.2 Outfit;letter-spacing:.05em;color:var(--red);border-radius:50%;background:#ffe8a6;transform:rotate(13deg)}.hero-stamp b{font-size:19px}.scribble{position:absolute;z-index:3;left:5%;bottom:8%;font:800 italic 26px Outfit;transform:rotate(-9deg)}.ticker{background:var(--dark);color:#fff;overflow:hidden;padding:15px 0;font:700 13px Outfit;letter-spacing:.19em;text-align:center;white-space:nowrap}.ticker div{min-width:max-content}.section{padding:100px max(7%,calc((100vw - 1280px)/2))}.section-kicker{color:var(--red)}.section-kicker span{margin-left:8px}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end;margin-top:25px}.intro h2{font-size:clamp(42px,5.1vw,77px);letter-spacing:-.064em;line-height:1.05;margin:0}.intro h2 span{color:var(--red)}.intro p{font-size:18px;line-height:1.75;margin:0 0 22px}.under-link{border:0;border-bottom:1px solid currentColor;background:none;padding:5px 0;font-weight:800}.under-link span{margin-left:20px}.menu-section{background:#f3e8da}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-top h2,.experiences h2,.visit h2{font-size:clamp(48px,5.7vw,82px);letter-spacing:-.065em;line-height:.98;margin:20px 0 0}.menu-section h2 em{color:var(--red)}.section-top>p{max-width:335px;line-height:1.65;margin:0 0 5px;color:#625a54}.filters{display:flex;gap:8px;overflow-x:auto;margin:42px 0 25px}.filter{border:1px solid #c9b9a7;background:transparent;color:var(--dark);-webkit-text-fill-color:var(--dark);padding:11px 20px;border-radius:100px;font-weight:800;font-size:13px;white-space:nowrap}.filter.active{background:var(--dark);color:#fff;-webkit-text-fill-color:#fff;border-color:var(--dark)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product{background:#fff9f2;border-radius:17px;overflow:hidden}.product[hidden]{display:none}.product-image{height:265px;position:relative;overflow:hidden;background:#e9d7bd}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.product:hover img{transform:scale(1.045)}.tag{position:absolute;left:14px;top:14px;background:#fff7e9;color:var(--red);border-radius:100px;padding:7px 11px;font-size:10px;letter-spacing:.08em;font-weight:900}.product-bottom{padding:20px;display:flex;gap:10px;align-items:flex-end;min-height:185px}.product-bottom small{color:var(--red);font-size:10px;font-weight:900;letter-spacing:.12em}.product h3{font-size:24px;letter-spacing:-.04em;margin:7px 0}.product p{font-size:13px;line-height:1.5;color:#625a54;margin:0}.add{flex-shrink:0;background:var(--red);border:0;border-radius:50%;color:#fff;font-size:24px;width:40px;height:40px;line-height:1}.menu-more{display:flex;align-items:center;gap:22px;margin-top:28px}.menu-more>span{font-size:12px;color:#74675d}.experiences{background:var(--dark);color:#fff}.experiences .section-kicker{color:#f4b5ad}.exp-heading{max-width:780px}.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:50px}.exp-card{min-height:455px;border-radius:18px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:#c7192d;overflow:hidden}.exp-room{background:#f5bba7;color:var(--dark)}.exp-date{background:#e85c59}.exp-num{font-size:11px;font-weight:800;letter-spacing:.13em}.exp-icon{font-size:60px}.exp-card h3{font-size:32px;letter-spacing:-.05em;line-height:1.04;margin:12px 0}.exp-card p{line-height:1.5;max-width:300px}.exp-link{border:0;background:none;color:inherit;border-bottom:1px solid currentColor;font-weight:800;padding:8px 0}.visit{display:grid;grid-template-columns:1fr 1fr;gap:7%;background:var(--cream);align-items:center}.visit-photo{position:relative}.visit-photo img{width:100%;height:565px;object-fit:cover;border-radius:18px}.photo-badge{position:absolute;right:-25px;bottom:30px;border-radius:50%;background:var(--red);color:#fff;width:125px;height:125px;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(12deg);font-weight:900;font-size:13px}.visit h2 em{color:var(--red)}.visit-copy>p{max-width:490px;font-size:17px;line-height:1.7;margin:25px 0 30px}.visit-detail{display:flex;gap:20px;border-top:1px solid var(--line);padding:20px 0;line-height:1.5}.visit-detail span{color:var(--red);font-size:25px}.visit-buttons{display:flex;align-items:center;gap:22px;margin:22px 0}.visit-copy small{color:#776b61}.cta-section{text-align:center;background:#edb3ae;padding:90px 20px}.cta-section>span{font-size:40px;color:var(--red)}.cta-section h2{font-size:clamp(48px,6vw,85px);letter-spacing:-.07em;line-height:1.02;margin:15px 0 30px}.cta-section em{color:var(--red)}footer{background:var(--red);color:#fff;padding:55px 7% 25px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;align-items:start;max-width:1280px;margin:auto}.footer-top img{width:175px}.footer-top p{margin:0;line-height:1.6}.footer-top>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-weight:800}.footer-bottom{max-width:1280px;margin:60px auto 0;border-top:1px solid #ffffff55;padding-top:20px;display:flex;justify-content:space-between;font-size:12px}.cart-button{position:fixed;z-index:15;bottom:22px;right:22px;background:var(--dark);color:#fff;border:0;border-radius:100px;padding:16px 22px;box-shadow:0 6px 30px #0004;font-weight:800}.cart-button[hidden]{display:none}.cart-button span{background:var(--red);border-radius:100px;padding:4px 9px;margin:0 7px}dialog{width:min(440px,calc(100% - 28px));border:0;border-radius:22px;padding:30px;box-shadow:0 22px 100px #0007;background:var(--cream)}dialog[open]{z-index:var(--z-modal)}
dialog::backdrop{z-index:var(--z-velo);background:#150c0bbd}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{font-size:30px;margin:0}.dialog-head button{background:none;border:0;font-size:22px}.dialog-head+p{line-height:1.55;color:#61574d}dialog label{display:block;margin:20px 0 7px;font-weight:800;font-size:13px}dialog input,dialog select{width:100%;padding:12px 13px;border:1px solid #cfc0ad;border-radius:9px;background:#fff;font-size:15px}.full{width:100%;margin-top:25px}.cart-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #decbb7;padding:13px 0}.cart-row button{border:0;background:none;text-decoration:underline;color:var(--red);font-size:12px}
@media(max-width:1050px){.nav-wrap{gap:20px}.nav{gap:20px}.hero{min-height:620px}.hero-copy{padding-left:7%}.hero h1{font-size:clamp(60px,7.5vw,90px)}.product-grid{grid-template-columns:repeat(2,1fr)}.product-image{height:320px}.exp-card h3{font-size:26px}}
@media(max-width:760px){.announcement{font-size:9px;letter-spacing:.08em}.announcement span{padding:0 6px}.nav-wrap{min-height:68px;padding:0 5%;gap:12px}.brand img{width:125px}.menu-toggle{display:block;margin-left:auto;border:0;background:none;color:white;font-size:26px}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--red);margin:0;padding:20px 5% 30px;flex-direction:column;box-shadow:0 20px 30px #0002}.nav.open{display:flex}.nav-order{font-size:11px;padding:12px 15px}.nav-order span{display:none}.hero{grid-template-columns:1fr}.hero-copy{min-height:535px;padding:62px 7% 30px}.hero h1{font-size:clamp(60px,15vw,100px);margin:36px 0 23px}.hero-copy>p{font-size:16px}.hero-foot{padding-top:45px}.hero-art{min-height:430px}.hero-art img{width:min(90%,430px)}.hero-stamp{width:90px;height:90px;font-size:10px}.section{padding:70px 6%}.intro-grid,.visit{grid-template-columns:1fr;gap:25px}.intro p{font-size:16px}.section-top{display:block}.section-top>p{margin-top:25px}.exp-grid{grid-template-columns:1fr}.exp-card{min-height:330px}.visit-photo img{height:390px}.photo-badge{right:15px}.visit-copy{padding-top:20px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div{grid-column:1/-1}.footer-bottom{gap:20px}}
@media(max-width:540px){.product-grid{gap:12px}.product-image{height:185px}.product-bottom{padding:13px;min-height:190px}.product h3{font-size:18px}.product p{font-size:11px}.add{width:32px;height:32px;font-size:20px}.tag{font-size:8px}.menu-more{align-items:flex-start;flex-direction:column}.hero-actions{gap:18px}.text-link{font-size:12px}.btn{font-size:12px;padding:15px 18px;gap:15px}.hero-foot{font-size:8px;gap:8px}.section-top h2,.experiences h2,.visit h2{font-size:clamp(44px,11vw,65px)}.footer-bottom{font-size:10px}.visit-buttons{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.menu-tools{display:flex;align-items:center;gap:20px;margin:40px 0 20px}.menu-tools input{background:#fff9f2;border:1px solid #c9b9a7;border-radius:100px;padding:12px 18px;min-width:270px;font-size:15px}.menu-tools .filters{margin:0;flex:1}.item-price{display:block;color:var(--red);font-size:15px;margin-top:12px}.product-bottom{min-height:245px}.product-image img{object-fit:cover}.empty-menu{grid-column:1/-1;padding:35px}.load-note{background:#fff3ca;padding:12px;border-radius:10px}.cart-total{display:flex;justify-content:space-between;padding:15px 0;font-size:18px}.checkout-note{font-size:13px;color:#6b5e54}.option-description{line-height:1.55;color:#625a54}dialog form textarea{display:block;width:100%;border:1px solid #cfc0ad;border-radius:9px;padding:12px;resize:vertical}#product-options select,#product-options input{display:block;width:100%;border:1px solid #cfc0ad;border-radius:9px;padding:12px;background:#fff}.cart-row span{font-size:14px;line-height:1.4}.filters{scrollbar-width:thin}
@media(max-width:760px){.menu-tools{display:block}.menu-tools input{width:100%;min-width:0}.menu-tools .filters{margin:15px 0}.product-bottom{min-height:260px}}
.reservation-page{background:#fff5e9;min-height:100vh}.sub-header{background:#c7192d;display:flex;align-items:center;justify-content:space-between;padding:20px 7%;color:#fff;font-weight:800}.sub-header img{width:150px}.sub-main{max-width:1280px;margin:auto;padding:75px 6%}.sub-intro h1{font:900 clamp(54px,7vw,90px)/.95 Outfit;letter-spacing:-.065em;margin:25px 0}.sub-intro h1 em{font-style:normal;color:#c7192d}.sub-intro p{max-width:650px;line-height:1.6;font-size:18px}.reservation-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;margin-top:55px}.experience-list h2,.reservation-form h2{font:800 31px Outfit;letter-spacing:-.04em;margin:0 0 25px}.experience-list article{padding:25px 0;border-top:1px solid #d9cabb}.experience-list article span{font-size:11px;font-weight:800;letter-spacing:.1em;color:#c7192d}.experience-list h3{font:800 27px Outfit;margin:12px 0}.experience-list p{line-height:1.65}.reservation-form{background:#fff;border-radius:20px;padding:32px;align-self:start;box-shadow:0 12px 40px #3c221012}.reservation-form label{display:block;font-weight:800;font-size:14px;margin:19px 0 7px}.reservation-form input,.reservation-form select,.reservation-form textarea{width:100%;border:1px solid #cfc0ad;border-radius:9px;padding:12px;background:#fff;font:inherit}.reservation-form small{display:block;line-height:1.5;color:#655d55;margin-top:17px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.area-info{padding:13px;background:#fff4e0;border-radius:10px;line-height:1.5;font-size:14px}
@media(max-width:760px){.sub-main{padding:55px 6%}.reservation-layout{grid-template-columns:1fr;gap:30px}.reservation-form{padding:22px}.form-pair{grid-template-columns:1fr 1fr}}
.admin-page{background:#f3e8da;min-height:100vh}.admin-top{background:#c7192d;padding:15px 5%;display:flex;align-items:center;justify-content:space-between;color:white}.admin-top img{width:155px}.admin-top>div{display:flex;gap:20px;font-weight:800}.admin-main{max-width:1250px;padding:55px 5%;margin:auto}.admin-heading h1{font:900 clamp(38px,5vw,65px) Outfit;letter-spacing:-.06em;margin:10px 0}.admin-heading p{font-size:17px}.admin-message{padding:13px 18px;background:#fff5dd;border-radius:10px}.admin-page section{background:#fffaf4;border-radius:20px;padding:26px;margin:30px 0}.admin-page h2{font:800 29px Outfit;letter-spacing:-.04em}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metrics-grid>div{background:#f3e8da;border-radius:13px;padding:18px;display:flex;flex-direction:column;gap:5px}.metrics-grid strong{font:900 31px Outfit;color:#c7192d}.metrics-grid span{font-size:14px}.metric-note{color:#675d53;font-size:13px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-page label{display:block;font-weight:800;font-size:14px;margin:15px 0}.admin-page textarea,.admin-page input:not([type=file]):not([type=checkbox]){display:block;width:100%;border:1px solid #c7b9a9;border-radius:9px;padding:11px;margin-top:6px;font:inherit}.admin-preview{width:100%;max-width:220px;height:135px;object-fit:cover;border-radius:10px;margin:12px 0}.catalog-layout{display:grid;grid-template-columns:340px 1fr;gap:30px}.catalog-list{height:650px;overflow:auto;margin-top:12px;border:1px solid #e5d9cb;border-radius:10px}.catalog-list button{width:100%;border:0;border-bottom:1px solid #e5d9cb;background:#fff;padding:12px;text-align:left;font-weight:700}.catalog-list button.selected{background:#c7192d;color:#fff}.catalog-list span{display:block;font-weight:400;font-size:12px;margin-top:4px}.product-editor{max-width:650px}.editor-top{display:flex;gap:20px;align-items:center}.editor-top img{width:120px;height:120px;object-fit:cover;border-radius:12px}.check{display:flex!important;gap:10px;align-items:center}.variant-row{display:grid;grid-template-columns:1fr 140px 65px;gap:8px;align-items:end;margin:10px 0}.variant-row button,.subtle-button{background:none;border:0;color:#b91a30;text-decoration:underline;font-weight:800}.variant-row input{margin:0!important}.admin-locked{padding:15vh 8%;font-family:Outfit}.admin-locked a{color:#c7192d;text-decoration:underline}
@media(max-width:800px){.catalog-layout{grid-template-columns:1fr}.catalog-list{height:230px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.admin-top>div{gap:10px;font-size:12px}}
.product-bottom p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.product-bottom{min-height:195px}.product-bottom>div{min-width:0}

/* Dim Dom editorial refresh */
:root{--red:#c5162b;--dark:#251917;--cream:#fff7ed;--sand:#f7e9d9;--line:#dcc8b9}
html{scroll-padding-top:88px}body{overflow-x:hidden}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e9a637;outline-offset:3px}
.announcement{background:#8d1020;font-size:12px;letter-spacing:.12em;padding:10px 16px}.site-header{box-shadow:0 6px 18px #5d111918}.nav-wrap{max-width:1520px;min-height:76px}.brand img{width:156px}.nav a{position:relative;padding:8px 0}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:#fff;transition:right .2s}.nav a:hover:after{right:0}.nav-order{transition:transform .2s,background .2s}.nav-order:hover{background:#fff}
.hero{min-height:650px;grid-template-columns:52% 48%;background:var(--red)}.hero-copy{padding-top:80px;padding-bottom:45px;z-index:1}.hero h1{margin-top:40px;max-width:740px;font-size:clamp(64px,7.1vw,112px);line-height:.94}.hero h1 em{color:#ffd9a8}.hero-copy>p{max-width:480px;color:#fff7f3}.hero-art{background:#2d201d;isolation:isolate;min-height:650px}.hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#3b15197a 0%,transparent 35%),linear-gradient(0deg,#2419167e 0%,transparent 40%);border-radius:0;z-index:1;pointer-events:none}.hero-art .hero-food{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;transform:none;filter:none;z-index:0}.hero-character{position:absolute;left:6%;bottom:6%;width:clamp(130px,18vw,235px);aspect-ratio:1;border:5px solid #fff3e2;border-radius:50%;background:#fff4e6;box-shadow:0 14px 35px #24120e65;z-index:2;overflow:hidden;transform:rotate(-9deg)}.hero-art .hero-character img{width:112%;height:112%;max-width:none;object-fit:contain;position:absolute;left:-6%;top:-4%;transform:none;filter:brightness(0) saturate(100%) opacity(.8)}.hero-stamp{top:7%;right:6%;background:#ffdc97;color:#711526;width:124px;height:124px;line-height:1.25;box-shadow:0 12px 30px #1a0e0e40}.scribble{left:auto;right:6%;bottom:9%;text-shadow:0 2px 12px #0009;font-size:clamp(22px,2.3vw,32px)}.hero-foot{opacity:.85}.hero-actions .btn{box-shadow:0 9px 20px #78152555}
.ticker{background:#281a18;padding:18px 0}.section{padding-top:105px;padding-bottom:105px}.section-kicker{font-size:12px}.intro{position:relative}.intro:after{content:"✳";position:absolute;right:4%;top:22%;font:120px Outfit;color:#e9d9ca;z-index:0}.intro-grid{position:relative;z-index:1}.intro h2{max-width:900px}.intro-grid>div{max-width:460px}.menu-section{background:#f7e9db}.section-top>p{font-size:17px}.menu-tools{background:#fffaf4;border-radius:22px;padding:14px 18px;margin:42px 0 24px;box-shadow:0 10px 32px #3e1c1110}.menu-tools input{border-color:#dcc8b9;background:#fff;width:300px}.menu-tools .filters{padding:2px 0}.filter{font-size:14px;padding:11px 18px}.filter:hover:not(.active){background:#f7e4d4}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product{background:#fffdf8;border-radius:22px;box-shadow:0 8px 24px #4423160f;transition:transform .25s,box-shadow .25s}.product:hover{transform:translateY(-4px);box-shadow:0 14px 30px #44231620}.product-image{height:285px;background:#eedbcc}.product-bottom{padding:21px;min-height:195px}.product h3{font-size:25px}.product p{font-size:14px;line-height:1.5}.product-bottom small{font-size:11px}.item-price{font-size:16px}.add{width:44px;height:44px;font-size:28px;transition:transform .2s}.add:hover{transform:scale(1.08)}.menu-more{margin-top:23px}.menu-more>span{font-size:13px}
.experiences{background:#281d1b}.exp-card{border-radius:22px;min-height:410px;padding:28px;position:relative}.exp-card:before{content:"";position:absolute;right:-35px;top:15%;width:160px;height:160px;border:1px solid #ffffff66;border-radius:50%;pointer-events:none}.exp-card:after{content:"";position:absolute;right:25px;top:24%;width:115px;height:115px;border:1px solid #ffffff66;border-radius:50%;pointer-events:none}.exp-card>*{position:relative;z-index:1}.exp-room:before,.exp-room:after{border-color:#211d1b55}.exp-card h3{font-size:clamp(27px,2.6vw,36px);max-width:370px}.exp-card p{font-size:15px}.exp-link{font-size:14px}.visit-photo img{box-shadow:18px 18px 0 #f2dbce}.visit-copy .btn-cream{border:1px solid #cfb5a5}.visit-copy small{display:block;line-height:1.5}.cta-section{background:#f3c1b9}.cta-section .btn{margin-inline:auto}footer{background:#a91126}
dialog{max-height:min(92vh,900px);overflow-y:auto}dialog label{font-size:14px}dialog input,dialog select,dialog textarea{font-size:16px}.sub-header{min-height:76px}.sub-main{padding-top:90px}.sub-intro{padding:10px 0 35px;border-bottom:1px solid var(--line)}.sub-intro h1{font-size:clamp(56px,7.5vw,100px)}.experience-list article{padding:28px 0}.reservation-form{border:1px solid #ead8ca;box-shadow:0 18px 50px #3c221016}.reservation-form input,.reservation-form select,.reservation-form textarea{font-size:16px}
@media(max-width:1050px){.hero{grid-template-columns:51% 49%}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-image{height:320px}.menu-tools{display:block}.menu-tools input{width:100%}.menu-tools .filters{margin-top:13px}}
@media(max-width:760px){html{scroll-padding-top:68px}.nav-wrap{min-height:68px}.brand img{width:128px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{min-height:0;padding:58px 6% 48px}.hero h1{font-size:clamp(62px,14vw,96px);margin:30px 0 20px}.hero-copy>p{max-width:570px;margin-bottom:29px}.hero-foot{margin-top:35px;padding-top:0}.hero-art{min-height:510px}.hero-art .hero-food{object-position:center 46%}.hero-character{width:175px;left:5%;bottom:5%}.scribble{bottom:8%}.hero-stamp{width:105px;height:105px}.section{padding:78px 6%}.intro:after{font-size:75px;top:5%}.intro-grid{gap:25px}.menu-tools{padding:12px;margin:31px 0 20px}.product-image{height:260px}.product-bottom{min-height:205px}.visit-photo img{box-shadow:10px 10px 0 #f2dbce}.sub-intro{padding-bottom:22px}.reservation-layout{margin-top:32px}}
@media(max-width:540px){.announcement{font-size:10px;line-height:1.4}.nav-order{padding:11px 13px}.hero-copy{padding-top:48px}.hero h1{font-size:clamp(58px,15vw,78px)}.hero-actions{flex-wrap:wrap;gap:18px}.hero-foot{flex-wrap:wrap;font-size:10px}.hero-art{min-height:440px}.hero-character{width:135px}.hero-stamp{width:94px;height:94px;font-size:10px}.scribble{font-size:22px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-image{height:185px}.product-bottom{padding:14px;min-height:225px;gap:4px}.product h3{font-size:19px;line-height:1.1}.product p{font-size:13px;line-height:1.4}.product-bottom small{font-size:10px}.item-price{font-size:14px}.add{width:34px;height:34px;font-size:22px}.tag{font-size:10px}.section-top>p{font-size:16px}.exp-card{min-height:325px}.footer-bottom{flex-wrap:wrap}.form-pair{gap:10px}}
@media(max-width:390px){.product-grid{grid-template-columns:1fr}.product-image{height:270px}.product-bottom{min-height:0}.hero-actions .text-link{font-size:14px}.nav-order{font-size:10px}}

/* Interactive ordering */
.menu-search{position:relative;flex:0 0 auto}.menu-search input{padding-right:40px}.menu-search button{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:none;color:#7a6257;font-size:16px}.menu-search button[hidden]{display:none}.menu-results{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;color:#68564d;font-size:14px}.menu-results label{display:flex;align-items:center;gap:9px;white-space:nowrap}.menu-results select{border:1px solid #d7bdad;background:#fffaf4;border-radius:9px;padding:8px 11px;color:var(--dark);font-size:14px}.product-image{display:block;width:100%;border:0;padding:0;text-align:left;cursor:pointer}.product-image:focus-visible{outline-offset:-3px}.product-dialog-image{width:100%;height:205px;object-fit:cover;border-radius:13px;margin-top:18px}.product-dialog-image+.option-description{margin-top:14px}.cart-button{display:flex;align-items:center;gap:5px;max-width:calc(100% - 32px);font-size:14px}.cart-button strong{font-weight:900}.cart-button span{margin:0 5px}.cart-row{display:flex;align-items:center;gap:16px;padding:17px 0}.cart-row-info{display:flex;flex-direction:column;min-width:0;gap:4px;flex:1}.cart-row-info strong{font-size:15px}.cart-row-info small{font-size:13px;color:#6a584e}.cart-row-info span{font-weight:800;color:var(--red);font-size:14px}.cart-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cart-row-actions button:not(.remove-item){border:1px solid #dbc7ba;background:#fff;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:18px;line-height:1;text-decoration:none;color:var(--dark)}.cart-row-actions button:disabled{opacity:.4;cursor:not-allowed}.cart-row-actions>span{min-width:18px;text-align:center;font-weight:800}.cart-row-actions .remove-item{font-size:12px}.cart-total{border-top:2px solid #e6c9b7;margin-top:8px}#site-toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,16px);background:#271d1b;color:white;border-radius:100px;padding:13px 20px;box-shadow:0 12px 40px #0004;z-index:50;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;pointer-events:none;font-size:14px;text-align:center;max-width:calc(100vw - 32px)}#site-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}body:has(.cart-button:not([hidden])) #site-toast{bottom:91px}.experience-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.experience-actions button{border:1px solid #c7192d;color:#b41429;background:#fff8f0;border-radius:100px;padding:10px 14px;font-weight:800;font-size:14px}.experience-actions button:hover{background:#c7192d;color:white}.reservation-form{scroll-margin-top:110px}
@media(max-width:760px){.menu-search{width:100%}.menu-results{align-items:flex-start}.product-dialog-image{height:190px}.cart-button{bottom:14px;right:14px}.cart-row{align-items:flex-start;flex-direction:column}.cart-row-actions{width:100%;justify-content:flex-start}}
@media(max-width:540px){.menu-results{flex-direction:column;gap:9px}.menu-results label{width:100%;justify-content:space-between}.menu-results select{max-width:60%}.menu-tools .menu-search input{width:100%}.product-image{height:185px}}
@media(max-width:390px){.product-image{height:270px}}

/* Visible cart and checkout */
[hidden]{display:none!important}.header-cart{position:relative;flex:none;display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff8c;border-radius:50%;background:#ffffff16;color:#fff;transition:background .2s,transform .2s}.header-cart:hover{background:#ffffff35;transform:translateY(-2px)}.header-cart-count{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;background:#ffe0a4;color:#8d1020;border-radius:100px;font-size:12px;font-weight:900;border:2px solid var(--red)}#cart-dialog{width:min(570px,calc(100% - 28px));padding:0;max-height:min(92vh,900px)}#cart-dialog .dialog-head{position:sticky;top:0;z-index:1;background:#fff7ed;padding:26px 28px 18px;border-bottom:1px solid #e9d9cd}#cart-dialog .dialog-head h2{font-size:34px}#cart-list,#cart-dialog .cart-empty,#cart-dialog .cart-total,#cart-dialog .checkout-note,#cart-dialog #order-form,.cart-suggestions{margin-left:28px;margin-right:28px}#cart-list{max-height:230px;overflow:auto}.cart-row{align-items:center}.cart-row-photo{flex:none;width:66px;height:66px;object-fit:cover;border-radius:12px;background:#f0dccd}.cart-row-actions{gap:5px}.cart-row-actions .remove-item{flex-basis:100%;text-align:right}.cart-empty{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;line-height:1.5;padding:46px 20px;color:#62544d}.cart-empty .btn{width:auto}.cart-suggestions{border-top:1px solid #e5d0c2;padding:19px 0 12px}.cart-suggestions h3{font-size:20px;margin:0 0 12px}.cart-suggestions>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.suggested-product{display:flex;align-items:center;gap:9px;text-align:left;padding:7px;border:1px solid #e6d0c1;border-radius:12px;background:#fffdf9;min-width:0}.suggested-product:hover{border-color:#c7192d}.suggested-product img{width:48px;height:48px;object-fit:cover;border-radius:8px;flex:none}.suggested-product>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:3px}.suggested-product strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggested-product small{font-size:12px;color:#b51b2e}.suggested-product>span:last-child{margin-left:auto;font-weight:900;color:#b51b2e}.cart-total{margin-top:10px}.checkout-heading{font:800 22px Outfit;letter-spacing:-.03em;padding-top:18px;border-top:1px solid #e6d0c1}#cart-dialog #order-form{padding-bottom:28px}#cart-dialog label{font-size:14px}#cart-dialog input,#cart-dialog select,#cart-dialog textarea{width:100%;background:#fff;min-height:46px}#cart-dialog .phone-help{display:block;color:#6e6059;font-size:12px;line-height:1.4;margin-top:7px}#cart-dialog .checkout-note{font-size:13px;line-height:1.5;margin-top:15px;margin-bottom:15px}#delivery-note{margin-top:0!important}#cart-dialog .full{margin-top:24px;font-size:15px}
@media(max-width:760px){.nav-order{display:none}.header-cart{width:43px;height:43px}.nav-wrap{gap:14px}#cart-dialog .dialog-head{padding:22px 20px 15px}#cart-list,#cart-dialog .cart-empty,#cart-dialog .cart-total,#cart-dialog .checkout-note,#cart-dialog #order-form,.cart-suggestions{margin-left:20px;margin-right:20px}.cart-row{display:grid;grid-template-columns:66px minmax(0,1fr);gap:8px 12px}.cart-row-actions{grid-column:2;width:auto}.cart-row-actions .remove-item{flex-basis:auto;margin-left:auto}.cart-suggestions>div{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.suggested-product img{width:38px;height:38px}.suggested-product{gap:5px}.suggested-product strong{max-width:95px}.header-cart-count{font-size:11px}}

/* v11: local time, opening state, music and Google reviews. */
.announcement{padding:10px 5.5%;font-size:12px;letter-spacing:.08em}.announcement-inner{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.announcement span{padding:0}.announcement time{font-size:13px;letter-spacing:.03em;font-variant-numeric:tabular-nums;text-transform:none}.service-status{display:inline-flex;align-items:center;gap:9px;font-size:13px;letter-spacing:.03em}.status-light{width:9px;height:9px;border-radius:50%;background:#b0a6a7;box-shadow:0 0 0 4px #ffffff15}.service-status[data-state=open] .status-light{background:#7ef3a6;box-shadow:0 0 10px #7ef3a65c}.service-status[data-state=break] .status-light{background:#ffce58;box-shadow:0 0 10px #ffce585c}.service-status[data-state=closed] .status-light{background:#ff697b;box-shadow:0 0 10px #ff697b5c}.nav{gap:24px}.social-link{display:inline-flex;align-items:center;gap:9px}.social-icon{width:19px;height:19px;flex-shrink:0}.footer-links{gap:15px;flex-wrap:wrap}.music-section{background:var(--cream);border-bottom:1px solid var(--line)}.music-layout{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:70px}.music-copy h2{font-size:clamp(44px,5vw,70px);letter-spacing:-.065em;line-height:1.05;margin:23px 0}.music-copy>p{max-width:430px;font-size:17px;line-height:1.65}.music-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}.music-caption{font-size:13px!important;color:#715f55;margin-top:18px}.music-art{border:0;background:transparent;padding:0;justify-self:center;width:min(100%,360px);transition:transform .3s}.music-art:hover{transform:rotate(-2deg)}.music-art img{width:100%;height:auto;mix-blend-mode:multiply;border-radius:16px}.music-art.is-playing{animation:music-sway 1.2s ease-in-out}.music-player{margin-top:36px;background:#211d1b;color:var(--cream);padding:20px;border-radius:20px}.music-player-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:16px}.music-player-head button{background:none;border:1px solid #fff5e950;color:inherit;padding:8px 14px;border-radius:99px;font-size:14px}.music-player iframe{display:block;width:100%;aspect-ratio:16/9;min-height:220px;border:0;border-radius:8px;background:#000}.music-player>p{font-size:14px;line-height:1.6;margin-bottom:0}.music-player>p a{text-decoration:underline}.opening-hours{margin-top:32px;border-top:1px solid var(--line);padding-top:24px;scroll-margin-top:110px}.hours-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.hours-heading h3{margin:0;font-size:24px;letter-spacing:-.03em}.hours-heading span{font-size:12px;color:#715f55}.opening-hours>p{font-size:14px;font-weight:600;margin:12px 0}.opening-hours dl{margin:18px 0}.opening-hours dl>div{display:flex;justify-content:space-between;gap:18px;padding:8px 10px;font-size:14px}.opening-hours dl>div.is-today{background:#c7192d0c;border-radius:7px;color:#aa1025;font-weight:700}.opening-hours dd{margin:0;text-align:right}.opening-hours dd small{display:block;font-size:12px;margin-top:5px}.opening-hours>small{display:block;font-size:12px;line-height:1.5;color:#715f55}.review-link{position:relative}.review-link>img{width:90px;height:90px;object-fit:contain;float:right;margin:12px 0 12px 12px;mix-blend-mode:multiply;transition:transform .3s}.review-link:hover>img{transform:rotate(7deg) scale(1.05)}.review-link h3{clear:none}.review-link>p,.review-link>strong{clear:both}.community-link strong.social-link{display:flex}.music-actions .under-link{font-size:14px}.no-mascot-motion .music-art,.no-mascot-motion .review-link>img{animation:none!important;transition:none!important;transform:none!important}@keyframes music-sway{0%,100%{transform:rotate(0)}25%{transform:rotate(-5deg) translateY(-5px)}65%{transform:rotate(5deg) translateY(-5px)}}
@media(max-width:1050px){.nav{gap:16px}.nav-wrap{gap:22px}.music-layout{gap:36px}.music-actions{gap:18px}.nav a{font-size:13px}}
@media(max-width:760px){.announcement{padding:10px 20px}.announcement-inner{gap:9px;justify-content:space-between}.announcement #site-promo{width:100%;font-size:11px;text-align:left}.announcement time,.service-status{font-size:12px}.music-layout{grid-template-columns:1fr;gap:20px}.music-copy h2{margin:18px 0}.music-copy>p{font-size:16px}.music-art{width:230px}.music-player{padding:14px;border-radius:14px}.music-player iframe{min-height:215px}.music-actions{gap:20px}.music-player>p{font-size:13px}.footer-links{gap:15px 20px}.hours-heading{flex-wrap:wrap;gap:6px}.opening-hours dl>div{font-size:13px;padding:9px 4px;gap:10px}.review-link>img{width:95px;height:95px}.nav{gap:0}}
@media(prefers-reduced-motion:reduce){.music-art,.review-link>img{animation:none!important;transition:none!important;transform:none!important}}

/* v12 · Installable web app */
.install-app{margin:24px 0;color:var(--cream);max-width:720px}.install-app summary{display:flex;align-items:center;gap:10px;width:fit-content;min-height:44px;cursor:pointer;font-size:15px;font-weight:600;list-style:none}.install-app summary::-webkit-details-marker{display:none}.install-app summary svg{width:19px;height:19px}.install-app summary:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:4px}.install-guide{display:flex;align-items:flex-start;gap:20px;padding:22px 0 10px}.install-guide>img{border-radius:14px;flex-shrink:0}.install-guide h3{font-size:23px;margin:0 0 8px}.install-guide p,.install-guide li{font-size:15px;line-height:1.65}.install-guide p{margin:0 0 12px}.install-guide ul{padding-left:20px;margin:16px 0}.install-guide li+li{margin-top:12px}.install-guide .btn{margin:4px 0}.install-guide .install-note{font-size:14px;opacity:.85}#install-feedback:empty{display:none}@media(max-width:540px){.install-guide{gap:14px}.install-guide>img{width:48px;height:48px}.install-guide h3{font-size:21px}}
/* v13 · A focused menu and a compact shopping flow */
.language-toggle{background:transparent;border:1px solid #fff6;color:white;font-size:13px;border-radius:99px;padding:8px}.hero-art{overflow:visible}.hero-dessert{position:absolute;width:36%;aspect-ratio:1;object-fit:cover;border-radius:50%;bottom:3%;right:4%;border:7px solid var(--cream);box-shadow:0 12px 28px #5f051844}.hero-character{z-index:2}.menu-focus-bar,.menu-focus-bottom{display:none}.menu-focused{overflow:hidden!important}.menu-focused #menu{position:fixed;inset:0;z-index:var(--z-menu);background:var(--cream);padding:0 max(20px,calc((100vw - 1200px)/2));width:100%;height:100dvh;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;scroll-margin:0}.menu-focused .menu-focus-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid var(--line);flex-shrink:0}.menu-focus-bar strong{font-size:20px}.menu-focus-bar span{font-weight:400;font-size:14px}.menu-focus-bar button{border:1px solid var(--line);border-radius:99px;padding:10px 15px;background:transparent;font-size:14px}.menu-focused #menu .section-top{margin:14px 0 10px;align-items:center}.menu-focused #menu h2{font-size:35px;margin:0}.menu-focused #menu .section-top p{margin:5px 0;font-size:14px}.menu-focused .menu-mascot{width:57px;height:65px}.menu-focused .menu-mascot img{height:100%;object-fit:contain}.menu-focused .menu-tools{margin:0 0 10px;flex-shrink:0}.menu-focused .menu-search input{padding-block:11px}.menu-focused .filters{position:static;flex-shrink:0;padding:0 0 12px;margin:0}.menu-focused .menu-results{margin:0;padding:8px 0 12px;flex-shrink:0;font-size:13px}.menu-focused .menu-products-scroll{overflow:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:0 4px 25px;scrollbar-width:thin}.menu-focused .product-grid{gap:20px}.menu-focused .product-image{height:190px}.menu-focused .product-bottom{padding:17px;min-height:190px}.menu-focused .product p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.menu-focused .menu-focus-bottom{display:flex;align-items:center;justify-content:space-between;padding:12px 0 max(12px,env(safe-area-inset-bottom));background:var(--cream);border-top:1px solid var(--line);flex-shrink:0}.menu-focus-bottom button{border:0;border-radius:99px;background:var(--red);color:white;padding:12px 25px;font-weight:700}.menu-focus-bottom span{font-size:13px}.menu-focused .cart-button{display:none!important}.product-detail-photo{max-height:260px;position:sticky;top:0;overflow:hidden}.product-dialog-image{height:260px!important;max-height:260px;object-fit:contain!important;width:100%;background:var(--sand)}#product-options{align-items:start}.protein-choices{border:0;padding:0;margin:18px 0}.protein-choices legend{font-weight:700;margin-bottom:12px}.protein-choices label{font-size:14px}.pickup-address{background:var(--sand);border-radius:12px;padding:16px;margin:16px 0}.pickup-address p{margin:8px 0}.pickup-address a{color:var(--red);text-decoration:underline}.music-player{max-width:430px;padding:16px}.music-player iframe{min-height:200px;max-height:230px}.music-player>p{font-size:12px}.mascot-bubble{position:fixed;z-index:110;max-width:260px;background:var(--dark);color:var(--cream);padding:15px 20px;border-radius:18px;font-size:15px;line-height:1.5;box-shadow:0 8px 25px #0002;pointer-events:none}.room-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:35px}.room-preview{border:1px solid var(--line);padding:20px;border-radius:18px}.room-preview h3{margin:0 0 12px}.room-images{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory}.room-images img{width:100%;height:250px;object-fit:cover;flex:0 0 100%;border-radius:12px;scroll-snap-align:start}.visit-culture{display:grid;gap:16px;margin:25px 0}.visit-culture article{border-left:3px solid var(--red);padding-left:14px}.visit-culture h3{font-size:18px;margin:0 0 6px}.visit-culture p{font-size:15px;margin:0}.entry-dialog{width:min(440px,calc(100% - 24px));padding:24px!important;border-radius:24px}.entry-dialog .dialog-head{padding:0;border:0}.entry-dialog .dialog-head img{border-radius:12px}.entry-dialog h2{font-size:34px;line-height:1.12;letter-spacing:-.04em;margin:25px 0}.entry-languages{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.entry-languages button{border:1px solid var(--line);background:transparent;padding:8px 15px;border-radius:99px}.entry-languages button[aria-pressed=true]{background:var(--dark);color:white}#entry-options{display:grid;gap:10px}#entry-options a,#entry-options button{display:block;width:100%;padding:17px;border:1px solid var(--line);border-radius:14px;text-align:left;background:white;color:var(--dark);font-weight:700}#entry-options>:first-child{background:var(--red);color:white;border-color:var(--red)}#entry-explore{display:block;margin:20px auto 0;border:0;background:none;text-decoration:underline;font-size:14px}.promo-dialog{width:min(440px,calc(100% - 24px));padding:0!important;border-radius:22px}.promo-dialog>img{width:100%;max-height:260px;object-fit:contain;background:var(--sand)}.promo-copy{padding:22px;display:grid;gap:14px}.promo-copy h2,.promo-copy p{margin:0}.promo-copy strong{font-size:26px}.promo-dialog .dialog-head{padding:12px 18px}.instagram-section{background:#f3e1d7;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.instagram-section h2{font-size:clamp(36px,5vw,60px);line-height:1.08;letter-spacing:-.05em}.instagram-section p{font-size:17px;max-width:430px;line-height:1.6}#instagram-posts{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory}#instagram-posts iframe{flex:0 0 330px;height:470px;border:0;border-radius:16px;background:white;scroll-snap-align:start}.google-reviews{margin-top:30px;border-top:1px solid var(--line);padding-top:25px}.review-cards{display:flex;overflow-x:auto;gap:18px;padding:15px 0;scroll-snap-type:x mandatory}.google-review{flex:0 0 310px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff9f1;scroll-snap-align:start}.google-review p{line-height:1.6;font-size:15px}.google-review .review-author{font-weight:700;text-decoration:underline}.review-score{font-size:24px;font-weight:700}.google-review time{display:block;font-size:12px;margin:10px 0}.assistant-launch{position:fixed;right:20px;bottom:95px;z-index:calc(var(--z-flotantes) - 120);display:flex;gap:9px;align-items:center;padding:9px 15px;border-radius:99px;border:1px solid var(--line);background:var(--cream);color:var(--dark);box-shadow:0 5px 20px #0001;font-size:14px}.assistant-launch img{height:42px;width:30px;object-fit:contain}.menu-focused .assistant-launch{display:none}#assistant-dialog{width:min(480px,calc(100% - 20px));padding:0}#assistant-dialog .dialog-head h2{font-size:24px;margin:0}#assistant-messages{height:320px;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:12px}.assistant-message{padding:14px;background:var(--sand);border-radius:14px;white-space:pre-line;font-size:15px;line-height:1.5}.assistant-message.user{background:var(--red);color:white;align-self:flex-end}.assistant-message button{display:block;width:100%;background:white;border:1px solid var(--line);border-radius:8px;padding:10px;margin-top:9px;text-align:left}.assistant-shortcuts{display:flex;gap:6px;overflow:auto;padding:12px 18px}.assistant-shortcuts button{white-space:nowrap;padding:9px 12px;border-radius:99px;border:1px solid var(--line);background:transparent;font-size:13px}#assistant-form{display:flex;gap:8px;padding:16px;border-top:1px solid var(--line)}#assistant-form input{min-width:0;flex:1}#assistant-form .btn{padding:12px 16px}.entry-dialog::backdrop,.promo-dialog::backdrop{background:#211d1b99;backdrop-filter:blur(5px)}
@media(max-width:650px){.language-toggle{padding:6px;font-size:12px}.nav-wrap{gap:10px}.hero-dessert{width:40%;bottom:0;right:2%;border-width:5px}.menu-focused #menu{padding-inline:15px}.menu-focused #menu .section-top{margin:9px 0}.menu-focused #menu h2{font-size:27px}.menu-focused #menu .section-top p{font-size:13px}.menu-focused .product-image{height:140px}.menu-focused .product-bottom{padding:13px;min-height:180px}.menu-focused .product h3{font-size:18px}.menu-focused .product p{font-size:13px}.menu-focused .product-grid{gap:12px}.menu-focused .menu-tools{gap:8px}.menu-focused .surprise-button{font-size:12px;padding:8px}.menu-focused .menu-results{font-size:12px}.menu-focused .filter{font-size:13px;padding:9px 15px}.menu-focus-bar strong{font-size:17px}.menu-focus-bar button{font-size:13px}.product-detail-photo{position:static;max-height:165px}.product-dialog-image{height:165px!important;max-height:165px}#product-options{display:block}.music-player{max-width:100%}.room-gallery{grid-template-columns:1fr}.room-images img{height:215px}.instagram-section{grid-template-columns:1fr;gap:20px}.assistant-launch{right:12px;bottom:88px;font-size:12px;padding:7px 12px}.assistant-launch img{height:32px}.menu-focus-bottom span{font-size:12px}}
.product-detail-photo{min-height:0!important}.menu-focused .section-top{flex-shrink:0}.menu-focused .menu-controls{flex-shrink:0}.instagram-section:has(#instagram-posts[hidden]){grid-template-columns:1fr}.instagram-section:has(#instagram-posts[hidden])>div:first-child{max-width:650px}
.menu-products-scroll{max-height:680px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:4px}.menu-expand{border:0;border-bottom:1px solid currentColor;background:none;color:var(--red);padding:0 0 3px;margin-top:10px;font-weight:600;font-size:14px}.menu-focused .menu-expand{display:none}.menu-focused .menu-products-scroll{max-height:none}@media(max-width:650px){.menu-products-scroll{max-height:70dvh}.hero-dessert{z-index:3}}
.menu-focused #menu .section-top{display:flex;min-height:0;height:auto;gap:15px}.menu-focused .menu-mascot{min-height:0!important;padding:0!important}.menu-focused .menu-mascot img{max-height:65px}.menu-focused .menu-results{flex-direction:row;align-items:center;gap:8px}.menu-focused .menu-results label{width:auto;font-size:0}.menu-focused .menu-results select{font-size:12px;max-width:none}.menu-focused .filters{scrollbar-width:none}.menu-focused .filters::-webkit-scrollbar{display:none}@media(max-width:650px){.menu-focused #menu .section-top{margin:7px 0}.menu-focused .menu-mascot{height:48px}.menu-focused .menu-mascot img{max-height:48px}.menu-focused .menu-focus-bar{padding:11px 0}.menu-focused .menu-focus-bottom{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.menu-focused .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-focused .product-bottom{min-height:190px;padding:11px}.menu-focused .product-bottom h3{font-size:16px}.menu-focused .product-bottom p{font-size:12px;line-height:1.5}.menu-focused .product-price{font-size:13px}.menu-focused .product-bottom .product-foot{gap:6px;flex-wrap:wrap}.menu-focused .product-image{height:130px}}
@media(max-width:650px){.menu-focused .product-card-foot{gap:6px;flex-wrap:wrap}.menu-focused .item-price{font-size:14px;line-height:1.25}.menu-focused .add{font-size:11px;padding:9px 10px;min-width:0;width:auto;white-space:nowrap}.menu-focused .product-card-foot .item-price{flex:1;min-width:65px}.menu-focused .product-bottom{min-width:0}}

/* Keep the dessert as a secondary image beside the burger. */
.hero-art .hero-dessert{position:absolute;inset:auto 4% 3% auto;width:36%;height:auto;max-width:260px;aspect-ratio:1;object-fit:cover;transform:rotate(7deg);filter:none;z-index:1}
@media(max-width:650px){.hero-art .hero-dessert{width:40%;max-width:170px;right:2%;bottom:0;z-index:3}}
/* v15: keep menu photos visible even inside the focused scrolling grid */
.product-image{flex:0 0 auto;min-height:130px;aspect-ratio:4/3;height:auto!important;overflow:hidden;isolation:isolate}
.product-image img{display:block!important;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;opacity:1!important;visibility:visible!important}
.product{min-width:0}.product-detail-photo{border:0;display:block;width:100%;padding:0;cursor:zoom-in;text-align:initial}.photo-zoom-label{position:absolute;right:16px;bottom:12px;background:#fff9;color:#211d1b;border-radius:99px;padding:8px 13px;font-size:13px;font-weight:700}
#photo-dialog{border:0;background:#201d1b;padding:20px;max-width:min(96vw,1150px);max-height:96dvh;color:white;border-radius:18px}#photo-dialog::backdrop{background:#100d0bd9}#photo-dialog img{display:block;max-width:100%;max-height:82dvh;object-fit:contain;margin:auto}#photo-close{display:block;margin:0 0 12px auto;border:1px solid #fff8;background:none;color:white;border-radius:99px;padding:9px 16px}
.product-quick{display:flex;align-items:center;gap:12px;position:sticky;top:66px;z-index:3;padding:12px;background:var(--cream);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 22px #211d1b18;flex-wrap:wrap}.product-quick .quantity-stepper{margin:0;flex:none}.product-quick .btn{flex:1;min-width:170px;justify-content:center}.product-split-hint{font-size:13px;color:#51453e;line-height:1.5}.marketing-optin{display:flex!important;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45}.marketing-optin input{width:18px;height:18px;flex:none;margin-top:2px}.music-top{color:white;background:#ffffff22;border:1px solid #ffffff66;border-radius:99px;padding:8px 12px;white-space:nowrap;font-size:12px;font-weight:700}.music-top:hover{background:#ffffff33}.crm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:20px}.crm-customer{text-align:left;border:1px solid var(--line);background:var(--cream);border-radius:12px;padding:15px;display:grid;gap:4px}.crm-customer.active{border-color:var(--red)}.crm-customer small,.crm-order small{display:block;opacity:.7}.crm-order{padding:15px 0;border-top:1px solid var(--line)}
@media(max-width:760px){.music-top span{display:none}.music-top{padding:7px 10px}.product-quick{top:55px;gap:7px;padding:10px}.product-quick label{display:none}.product-quick .quantity-stepper{min-width:115px}.product-quick .btn{font-size:13px;min-width:130px;padding:12px}.product-image{min-height:115px}}
@media(min-width:761px){.nav-wrap:has(.music-top:not([hidden])){gap:clamp(12px,2vw,28px)}.nav-wrap:has(.music-top:not([hidden])) .nav{gap:clamp(12px,2vw,28px)}}

.room-photo-pending{min-height:195px;border:1px dashed #d9bba3;border-radius:16px;background:#f8e8d6;display:flex;align-items:center;justify-content:center;gap:16px;padding:18px;color:#694e44;font-size:13px;font-weight:700}.room-photo-pending img{max-width:96px;max-height:145px;object-fit:contain}.experience-list .room-photo-pending{margin:16px 0;max-width:440px}.reservation-form[role=status] .btn{margin:18px 0 12px;display:inline-flex;justify-content:center}.reservation-form[role=status] a:not(.btn){display:block;margin-top:16px;color:#a9192b}.instagram-section iframe{border:0;border-radius:14px;background:#fff;width:100%;height:490px;max-width:360px}

/* A compact invitation keeps the rest of the page navigable until the menu is opened. */
body:not(.menu-focused) #menu{padding:54px max(7%,calc((100vw - 1280px)/2));scroll-margin-top:76px}
body:not(.menu-focused) #menu :is(.menu-focus-bar,.section-top,.menu-tools,.filters,.menu-results,.menu-products-scroll,.menu-focus-bottom,.load-note){display:none!important}
.menu-focused #menu .menu-teaser{display:none!important}
.menu-teaser{min-height:265px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);align-items:center;gap:28px;max-width:1240px;margin:auto;background:#fff8ef;border:1px solid #e8d1bf;border-radius:26px;overflow:hidden;padding:32px 42px;box-shadow:0 16px 35px #62251b10}
.menu-teaser .section-kicker{color:#aa1930}.menu-teaser h2{font:800 clamp(34px,4vw,60px)/1 Outfit,sans-serif;letter-spacing:-.055em;margin:13px 0}.menu-teaser p{font-size:16px;line-height:1.55;margin:0 0 23px;color:#665549}.menu-teaser .btn{gap:28px}.menu-teaser-images{position:relative;height:215px;display:flex;align-items:center;justify-content:center;isolation:isolate}.menu-teaser-images img{width:42%;height:180px;object-fit:cover;border-radius:18px;box-shadow:0 10px 25px #501f1b30;transform:rotate(-7deg)}.menu-teaser-images img:nth-child(2){transform:rotate(9deg);margin-left:-22px}.menu-teaser-images img:nth-child(3){position:absolute;right:-20px;bottom:-35px;height:155px;width:115px;object-fit:contain;transform:rotate(-10deg);box-shadow:none;border-radius:0}
.music-top,.music-float{display:inline-flex;align-items:center;justify-content:center;gap:9px}.music-symbol{font:900 16px/1 Outfit,sans-serif;display:inline-grid;place-items:center;min-width:18px}.music-top .music-label{font-size:13px}.music-float{position:fixed;left:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:var(--z-flotantes);min-height:49px;padding:11px 17px;border:1px solid #fad9cf;border-radius:999px;background:#c7192d;color:white;box-shadow:0 9px 28px #4c111a50;font-weight:800;font-size:13px;white-space:nowrap}.music-float:hover,.music-float:focus-visible{background:#951527}.music-float[aria-pressed=true]{background:#281d1b}.menu-focused .music-float{bottom:max(78px,calc(env(safe-area-inset-bottom) + 70px))}.reservation-music .music-float{z-index:var(--z-flotantes)}
.reservation-music-panel{position:fixed;left:16px;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 62px);z-index:var(--z-flotantes);width:min(340px,calc(100vw - 32px));padding:13px;background:#fffaf5;border:1px solid #e8d1bf;border-radius:17px;box-shadow:0 15px 45px #26181638}.reservation-music-panel>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.reservation-music-panel button{border:0;background:transparent;font-size:25px;line-height:1}.reservation-music-panel iframe{width:100%;height:190px;border:0;border-radius:10px}.reservation-music-panel small{display:block;margin:7px 0 0;color:#6b584e;line-height:1.4}
.instagram-section{display:block}.instagram-section>div:first-child{max-width:700px}.instagram-section #instagram-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;overflow:visible;margin-top:35px}.reel-card{min-width:0;background:#fff9f3;border:1px solid #e5cabb;border-radius:18px;padding:10px;box-shadow:0 10px 28px #3a21121a;display:flex;flex-direction:column}.reel-cover{width:100%;aspect-ratio:9/11;max-height:370px;position:relative;border:0;border-radius:12px;overflow:hidden;padding:0;background:#38211f;color:white}.reel-cover img{width:100%;height:100%;object-fit:cover;filter:brightness(.82)}.reel-cover:hover img{filter:brightness(.7);transform:scale(1.04);transition:.25s}.reel-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:64px;border:1px solid #ffffffb0;border-radius:50%;background:#c7192ddd;color:white;font-size:24px;padding-left:4px;box-shadow:0 10px 30px #27191960}.reel-number{position:absolute;left:15px;top:15px;font:800 12px Outfit,sans-serif;letter-spacing:.1em}.instagram-section .reel-caption{font-size:14px;font-weight:700;line-height:1.45;margin:13px 8px 7px;min-height:40px}.reel-actions{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:5px 8px 7px;color:#6c5147;font-size:12px}.reel-actions a{color:#b7182f;text-decoration:underline;font-weight:800}.instagram-section .reel-card iframe{display:block;width:100%;max-width:none;min-height:405px;height:405px;border:0;border-radius:12px;background:#fff}.reel-card.active{border-color:#b7182f}
@media(max-width:760px){body:not(.menu-focused) #menu{padding:35px 5%}.menu-teaser{min-height:0;grid-template-columns:1fr 125px;gap:8px;padding:24px 20px;border-radius:19px}.menu-teaser h2{font-size:clamp(31px,9vw,43px)}.menu-teaser p{font-size:14px;margin-bottom:18px}.menu-teaser .btn{padding:12px 18px;font-size:14px}.menu-teaser-images{height:175px}.menu-teaser-images img{height:145px;width:80px}.menu-teaser-images img:nth-child(2){height:125px;margin-left:-36px}.menu-teaser-images img:nth-child(3){width:70px;height:96px;right:-10px;bottom:-18px}.music-top .music-symbol{display:inline-grid!important}.music-top .music-label{display:none!important}.music-top{min-width:42px;min-height:42px}.music-float{left:12px;padding:10px 13px;min-height:44px;font-size:12px}.music-float .music-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}.instagram-section #instagram-posts{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px;margin-right:-6vw;scrollbar-width:thin}.reel-card{flex:0 0 min(78vw,300px);scroll-snap-align:center}.reel-cover{aspect-ratio:9/10;max-height:330px}.instagram-section .reel-card iframe{height:400px;min-height:400px}.reservation-music-panel{left:12px}}
@media(max-width:390px){.menu-teaser{grid-template-columns:1fr 100px}.menu-teaser-images img{width:70px}.music-float .music-label{max-width:96px}}

/* v19: calmer menu invitation, editorial reel covers, and music controls that leave navigation in place. */
.nav-wrap{position:relative}
.nav-wrap:has(.music-top:not([hidden])){gap:40px}
.nav-wrap:has(.music-top:not([hidden])) .nav{gap:36px}
.music-top:not([hidden]){position:absolute;left:calc(5.5% + 172px);top:50%;transform:translateY(-50%);z-index:2}
.music-top:focus-visible,.music-float:focus-visible{outline:3px solid #ffe59e;outline-offset:3px}
.music-float{width:52px;height:52px;min-height:52px;padding:0;border-radius:50%;gap:0}
.music-float .music-label{display:none!important}
.music-float .music-symbol{min-width:0;font-size:19px}
.menu-teaser{grid-template-columns:minmax(0,1fr) 250px;padding:36px 6%;min-height:255px;gap:30px;background:#fff9f2;box-shadow:0 12px 28px #62251b0d}
.menu-teaser-seal{width:210px;aspect-ratio:1;border-radius:50%;background:#bb2332;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-self:center;position:relative;transform:rotate(9deg)}
.menu-teaser-seal:before{content:'';position:absolute;inset:13px;border:1px solid #ffffff8a;border-radius:50%}
.seal-rule{width:36px;height:2px;background:#f9ccab}
.seal-plus{font:300 105px/.95 Outfit,sans-serif;margin:-2px 0 3px}
.seal-caption{font-size:10px;font-weight:900;letter-spacing:.16em}
.reel-cover-graphic{background:radial-gradient(circle at 75% 22%,#e87a63 0%,transparent 35%),linear-gradient(150deg,#b32b3a,#69252c 85%)}
.reel-card:nth-child(2) .reel-cover-graphic{background:radial-gradient(circle at 24% 68%,#efb193 0%,transparent 38%),linear-gradient(150deg,#c34e45,#8c2639 80%)}
.reel-card:nth-child(3) .reel-cover-graphic{background:radial-gradient(circle at 80% 78%,#d86f71 0%,transparent 40%),linear-gradient(150deg,#872a33,#3e2928 90%)}
.reel-cover-graphic:after{content:'';position:absolute;inset:25px;border:1px solid #ffffff4a;border-radius:150px 150px 9px 9px;pointer-events:none}
.reel-cover-figure{position:absolute;inset:auto 6% 1% auto;font:900 clamp(105px,16vw,210px)/1 Outfit,sans-serif;letter-spacing:-.12em;color:#ffffff29;pointer-events:none}
.reel-cover img{position:relative;z-index:1}
.reel-cover .reel-number,.reel-cover .reel-play{z-index:2}
@media(max-width:1500px) and (min-width:761px){.music-top:not([hidden]){left:calc(5.5% + 160px);width:42px;height:42px;padding:0}.music-top .music-label{display:none}}
@media(max-width:1240px) and (min-width:761px){.nav-wrap:has(.music-top:not([hidden])){gap:20px}.nav-wrap:has(.music-top:not([hidden])) .nav{gap:20px}}
@media(max-width:760px){.nav-wrap:has(.music-top:not([hidden])){gap:10px}.music-top:not([hidden]){left:calc(5% + 133px);width:42px;height:42px;padding:0}.menu-teaser{grid-template-columns:minmax(0,1fr) 95px;padding:25px 21px;gap:10px}.menu-teaser-seal{width:90px}.menu-teaser-seal:before{inset:7px}.seal-rule{width:18px}.seal-plus{font-size:50px;margin:0}.seal-caption{font-size:6px;letter-spacing:.08em}.music-float{left:12px;width:48px;height:48px;min-height:48px;padding:0}}
@media(max-width:390px){.menu-teaser{grid-template-columns:minmax(0,1fr) 70px}.menu-teaser-seal{width:68px}.seal-plus{font-size:39px}.seal-caption{font-size:5px}.menu-teaser .btn{gap:12px}}

/* v20: red menu panel, authentic Instagram embeds, compact spaces and persistent music. */
.menu-teaser{background:#bc1e32;color:#fff9ef;border-color:#bc1e32;box-shadow:0 14px 30px #74232b23;grid-template-columns:minmax(0,1fr) minmax(185px,260px);padding:39px 6%}
.menu-teaser .section-kicker,.menu-teaser h2,.menu-teaser p{color:#fff9ef}
.menu-teaser p{color:#ffe8df}
.menu-teaser .btn-cream{background:#fff9ef;color:#a9182d;border:0;box-shadow:none;min-width:176px}
.menu-teaser .btn-cream:hover{background:#ffe6ca}
.menu-teaser-seal{display:none}
.menu-teaser-side{border-top:1px solid #fff8;align-self:center;display:grid;gap:0}
.menu-teaser-side span{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #fff8;padding:13px 0;font:700 11px Outfit,sans-serif;letter-spacing:.14em;color:#ffd8d0}
.menu-teaser-side b{font:800 24px Outfit,sans-serif;letter-spacing:-.03em;color:#fffaf1}
.room-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}
.room-preview{background:#fff9f1;border:1px solid #ffffff3d;padding:0;overflow:hidden;border-radius:15px;color:#2b1c1a;min-width:0}
.room-preview summary{cursor:pointer;list-style:none}.room-preview summary::-webkit-details-marker{display:none}
.room-preview-summary{display:flex;align-items:center;gap:10px;padding:11px;min-height:74px}
.room-preview-thumb{width:52px;height:52px;flex:none;object-fit:cover;border-radius:9px}
.room-preview-title{font:800 15px Outfit,sans-serif;min-width:0;line-height:1.15}
.room-preview-chevron{margin-left:auto;color:#b11d30;font-size:24px}
.room-preview[open] .room-preview-chevron{transform:rotate(45deg)}
.room-preview-detail{padding:0 13px 16px;border-top:1px solid #e8ddd1;font-size:13px;line-height:1.5}
.room-preview-detail .room-images{margin-top:12px}.room-preview-detail .room-images img{height:145px}
.room-preview-missing{font-size:13px;color:#7e6256}
.booking-room{border:1px solid #e2d0c0;border-radius:14px;margin:12px 0;overflow:hidden;background:#fffaf3}
.booking-room summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none;padding:10px 12px}.booking-room summary::-webkit-details-marker{display:none}
.booking-room summary img,.booking-room-initial{width:66px;height:59px;flex:none;border-radius:9px;object-fit:cover}
.booking-room-initial{display:grid;place-items:center;background:#f5dfd4;color:#ad1d32;font:800 28px Outfit,sans-serif}
.booking-room summary span:nth-child(2){display:grid;gap:3px;min-width:0}.booking-room summary strong{font:800 17px Outfit,sans-serif}.booking-room summary small{font-size:12px;color:#745e55}.booking-room summary b{margin-left:auto;font-size:25px;color:#b61b30}
.booking-room[open] summary b{transform:rotate(45deg)}.booking-room-body{border-top:1px solid #e2d0c0;padding:12px 15px 17px}.booking-room-body p{font-size:13px;margin:8px 0;line-height:1.5}.booking-room-body .room-images img{height:190px}
.reel-native{position:relative;padding:8px;box-shadow:none;border-color:#e4c6b9;background:#fff}
.instagram-section .reel-native iframe{width:100%;height:495px;min-height:495px;max-width:none;display:block;border:0;border-radius:11px;pointer-events:none}
.instagram-section .reel-native.active iframe{pointer-events:auto}
.reel-native-activate{position:absolute;inset:8px 8px 42px;border:0;border-radius:11px;background:transparent;z-index:2;display:grid;place-items:center}
.reel-native-activate .reel-play{position:static;transform:none;box-shadow:0 10px 25px #0005}
.reel-native-activate:hover .reel-play{background:#a7182b}
.reel-native-link{display:block;margin:7px 5px 2px;color:#a8192d;font-weight:800;font-size:12px;text-decoration:underline}
.mascot-bubble{display:flex;align-items:start;gap:11px;pointer-events:auto;max-width:280px;padding:13px 12px 13px 17px}
.mascot-bubble button{border:0;background:#fff2;color:#fff;border-radius:50%;width:25px;height:25px;flex:none;font-size:21px;line-height:1;cursor:pointer}
.visit-mark{width:70px;height:70px;object-fit:contain;float:right;margin:-8px 0 0 8px}
.hours-mark{width:52px;height:52px;object-fit:contain}
.music-dock-frame{position:fixed;left:-100vw;bottom:0;width:320px;height:176px;border:0;z-index:calc(var(--z-flotantes) - 1);pointer-events:none}
.music-dock:has(.music-dock-panel:not([hidden])) .music-dock-frame{left:16px;bottom:78px;width:min(320px,calc(100vw - 32px));height:181px;border-radius:10px;pointer-events:auto;box-shadow:0 15px 40px #25151b55}
.music-dock-panel{position:fixed;left:16px;bottom:254px;z-index:calc(var(--z-flotantes) - 1);width:min(320px,calc(100vw - 32px));background:#fffaf3;border:1px solid #e4c6b9;border-radius:14px 14px 0 0;padding:12px 16px 10px;box-shadow:0 15px 35px #25151b30;font-size:13px}
.music-dock-panel strong{font:800 17px Outfit,sans-serif}.music-dock-panel>button{float:right;border:0;background:transparent;font-size:23px;line-height:1}
.music-dock-panel p{margin:6px 0;font-size:12px}.music-dock-panel small{color:#735e55}
@media(max-width:900px){.room-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.menu-teaser{grid-template-columns:1fr;min-height:0;padding:27px 23px}.menu-teaser h2{font-size:clamp(34px,10vw,50px)}.menu-teaser-side{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:5px}.menu-teaser-side span{display:block;border-bottom:0;padding:9px 3px 2px;font-size:9px}.menu-teaser-side b{display:block;font-size:13px;letter-spacing:0;margin-top:2px}.room-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.room-preview-summary{min-height:68px;padding:8px;gap:6px}.room-preview-thumb{width:40px;height:44px}.room-preview-title{font-size:13px}.room-preview-chevron{font-size:21px}.reel-card{flex-basis:min(83vw,330px)}.instagram-section .reel-native iframe{height:460px;min-height:460px}.reel-native-activate{bottom:42px}.visit-mark{width:56px;height:56px}.hours-mark{width:44px;height:44px}}
@media(max-width:760px){body:not(.menu-focused):has(.cart-button:not([hidden])) .music-float{bottom:max(94px,calc(env(safe-area-inset-bottom) + 94px))}}

/* v21: breathing room for music, paper-free illustrated marks, an unobtrusive game. */
.music-top:not([hidden]){left:calc(5.5% + 202px)}
.visit-mark,.hours-mark{mix-blend-mode:multiply;background:transparent;animation:mark-float 5s ease-in-out infinite}
.hours-mark{animation-delay:-2.4s}
@keyframes mark-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5px) rotate(4deg)}}
.game-section{padding-block:clamp(32px,5vw,72px);background:#f5e8d7;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.game-shell{max-width:1060px;margin:auto;display:grid;grid-template-columns:1fr 230px;align-items:center;gap:30px}
.game-intro h2{font-size:clamp(30px,4vw,52px);letter-spacing:-.05em;margin:12px 0}.game-intro>p{max-width:500px;line-height:1.6;margin:0 0 18px;font-size:16px}
.game-mascot{width:230px;height:auto;max-height:240px;object-fit:contain;justify-self:center;animation:game-mascot-hop 4.5s ease-in-out infinite;filter:drop-shadow(0 15px 13px #472b251a)}
#game-details{max-width:570px;border:1px solid #e0c8b7;border-radius:16px;background:#fffaf3;overflow:hidden}
#game-details>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:14px 18px;font:800 16px Outfit,sans-serif;color:#ac182a;list-style:none}#game-details>summary::-webkit-details-marker{display:none}#game-details[open]>summary{border-bottom:1px solid #e0c8b7}#game-details[open]>summary span{transform:rotate(45deg)}#game-details>summary span{font-size:23px;transition:transform .2s}
.game-play{padding:18px;display:flex;align-items:center;gap:22px}.game-board{width:190px;flex:none;aspect-ratio:1;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#c7192d;padding:5px;border-radius:13px}.game-board button{border:0;border-radius:5px;background:#fff5e9;color:#c7192d;font:800 32px Outfit,sans-serif;transition:background .2s,transform .2s}.game-board button:hover:not(:disabled){background:#ffe3c7;transform:scale(.95)}.game-board button.is-dim{font-size:25px;color:#2b1c1b}.game-board button:disabled{cursor:default}.game-aside{display:grid;align-content:center;gap:14px}.game-aside p{margin:0;font-size:15px;line-height:1.5;font-weight:700}.game-aside button{background:none;border:1px solid #c7192d;border-radius:99px;color:#aa1025;padding:10px 14px;font-weight:700}
@keyframes game-mascot-hop{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(3deg)}}
@media(max-width:1500px) and (min-width:761px){.music-top:not([hidden]){left:calc(5.5% + 181px)}}
@media(max-width:760px){.music-top:not([hidden]){left:calc(5% + 151px)}.game-shell{grid-template-columns:1fr 75px;gap:6px}.game-mascot{width:90px;align-self:start;margin-top:14px}.game-intro h2{font-size:34px}.game-intro>p{font-size:14px}.game-play{flex-direction:column;align-items:start}.game-board{width:min(225px,100%)}.game-aside{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.game-aside p{font-size:14px}}
@media(max-width:390px){.game-shell{grid-template-columns:1fr 50px}.game-mascot{width:65px}}
@media(prefers-reduced-motion:reduce){.visit-mark,.hours-mark,.game-mascot{animation:none}}

/* v26: the logo and audio control share a real layout cell. */
.nav-wrap,.nav-wrap:has(.music-top:not([hidden])){gap:clamp(12px,1.5vw,24px)}
.brand-cluster{display:flex;align-items:center;gap:26px;flex:none;min-width:0}
.brand-cluster .brand{display:block;flex:none}.brand-cluster .brand img{width:150px}
.brand-cluster .music-top:not([hidden]){position:static;transform:none;margin:0;flex:none;left:auto;top:auto;width:42px;height:42px;padding:0}
.brand-cluster .music-label{display:none}.nav-wrap:has(.music-top:not([hidden])) .nav{gap:clamp(12px,1.5vw,24px)}
@media(min-width:1501px){.brand-cluster .music-top:not([hidden]){width:auto;padding:0 15px;max-width:100%}.brand-cluster .music-label{display:block;max-width:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}}
@media(min-width:761px) and (max-width:1100px){.nav-wrap{padding-inline:4%}.brand-cluster{gap:20px}.brand-cluster .brand img{width:130px}.nav-order{display:none}.nav-wrap:has(.music-top:not([hidden])) .nav{gap:14px}.nav a{font-size:13px}}
@media(max-width:760px){.nav-wrap,.nav-wrap:has(.music-top:not([hidden])){padding-inline:5%;gap:10px}.brand-cluster{gap:20px}.brand-cluster .brand img{width:116px}.brand-cluster .music-top:not([hidden]){width:38px;height:38px}.menu-toggle{padding:4px;line-height:1}.language-toggle{padding:6px}.header-cart{width:40px;height:40px}}
@media(max-width:360px){.nav-wrap,.nav-wrap:has(.music-top:not([hidden])){padding-inline:12px;gap:7px}.brand-cluster{gap:14px}.brand-cluster .brand img{width:98px}.brand-cluster .music-top:not([hidden]){width:36px;height:36px}}
.serving-options{border:0;padding:0;margin:0 0 16px;display:grid;gap:8px}.serving-options legend{font-weight:800;font-size:16px;margin-bottom:12px}
.serving-option{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--cream)}
.serving-option.selected{border-color:var(--red);background:var(--sand)}.serving-option-copy{min-width:0}.serving-option-copy strong{display:block;font-size:16px}.serving-option-copy small{display:block;font-size:14px;margin-top:4px}
.serving-option .quantity-stepper{margin:0;min-width:120px;flex:none;display:flex;align-items:center;gap:0}.serving-option .quantity-stepper button{width:38px;height:40px;border:0;background:transparent;color:var(--red);font-size:23px;padding:0}.serving-option .quantity-stepper button:disabled{opacity:.3}.serving-option .quantity-stepper input{width:44px!important;padding:8px 0!important;margin:0!important;text-align:center;border:0;background:transparent;font-size:17px;font-weight:700;-moz-appearance:textfield}.serving-option input::-webkit-inner-spin-button{appearance:none}
.serving-hint{font-size:14px;line-height:1.5;margin:12px 0 16px;color:inherit;opacity:.75}.serving-units{display:grid;gap:10px}.serving-unit{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--cream)}
.serving-unit summary{position:relative;list-style:none;cursor:pointer;padding:15px 40px 15px 16px}.serving-unit summary::-webkit-details-marker{display:none}.serving-unit summary strong{display:block;font-size:15px}.unit-mix{display:block;font-size:13px;margin-top:5px;line-height:1.4;color:var(--red)}.unit-chevron{position:absolute;right:17px;top:19px;transition:transform .2s}.serving-unit[open] .unit-chevron{transform:rotate(180deg)}
.serving-unit-body{padding:0 16px 16px}.serving-unit-body label{display:block;font-size:14px;font-weight:700;margin:12px 0 7px}.serving-unit-body select,.serving-unit-body textarea{display:block;width:100%;font:inherit;font-size:16px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:inherit;resize:vertical}.serving-unit-body .unit-copy,.serving-unit-body .unit-remove{border:0;background:transparent;color:var(--red);padding:12px 0 0;font-size:13px;text-decoration:underline;margin-right:18px}
.serving-checkout{position:sticky;bottom:-1px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:14px 0 4px;background:var(--cream);border-top:1px solid var(--line)}.serving-total{font-size:15px;font-weight:800}.serving-checkout .btn{font-size:14px;padding:14px 18px;white-space:nowrap}.cart-row-actions button.duplicate-unit:not(.remove-item){width:auto;height:auto;display:inline-block;border-radius:0;white-space:nowrap;min-height:32px;border:0;background:transparent;color:var(--red);padding:0;font-size:13px;text-decoration:underline}
#product-dialog .dialog-head{z-index:6}.serving-checkout .btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:650px){.serving-option{padding:10px 12px;gap:8px}.serving-option-copy strong{font-size:15px}.serving-option .quantity-stepper{min-width:110px}.serving-checkout{padding-bottom:8px;gap:8px}.serving-checkout .btn{padding:13px 12px;font-size:13px}.serving-total{font-size:13px}.serving-unit summary{padding-left:13px}.serving-unit-body{padding-inline:13px}}

/* v30: complete photos, compact cards and a product sheet with persistent actions. */
.menu-focused #menu .section-top{margin:12px 0 10px;align-items:center}
.menu-focused #menu .section-top h2{font-size:clamp(26px,2.6vw,36px);margin:0}
.menu-focused #menu .section-top p{font-size:14px;margin:4px 0 0}
.menu-focused .menu-mascot{height:48px}
.menu-focused .menu-mascot img{max-height:48px}
.menu-focused .menu-focus-bar{padding:12px 0}
.menu-focused .menu-tools{margin:0 0 8px}
.menu-focused .menu-results{margin:8px 0;font-size:14px}
.menu-focused .filters{gap:8px;margin:0;flex-wrap:nowrap;overflow-x:auto}
.menu-focused .filter{padding:10px 16px;font-size:14px;min-height:44px}
.menu-focused .menu-products-scroll{padding-bottom:16px;scroll-padding-block:8px}
.menu-focused .product-grid{align-items:start;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.menu-focused .product{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid var(--line);border-radius:16px}
.menu-focused .product-image{position:relative;flex:none;min-height:0;aspect-ratio:auto;height:clamp(130px,23dvh,205px)!important;background:#f3ede5}
.menu-focused .product-image img{object-fit:contain;object-position:center;width:100%;height:100%;transform:none!important}
.menu-focused .product-bottom{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-height:0;padding:14px}
.menu-focused .product h3{font-size:18px;line-height:1.15;margin:5px 0 7px;overflow-wrap:anywhere}
.menu-focused .product-bottom small{font-size:12px}
.menu-focused .product p{font-size:14px;line-height:1.4;-webkit-line-clamp:2}
.menu-focused .product-card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:0}
.menu-focused .item-price{font-size:16px;line-height:1.2}
.menu-focused .add{min-height:44px;font-size:14px;padding:10px 14px;white-space:normal}
#product-dialog{width:min(960px,calc(100vw - 24px));height:min(800px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:hidden;border-radius:20px}
#product-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
#product-dialog .dialog-head{position:static;min-height:64px;padding:12px 20px;gap:12px;border-bottom:1px solid var(--line);background:var(--cream)}
#product-title{font-size:clamp(20px,2.2vw,28px);line-height:1.15;margin:0;overflow-wrap:anywhere}
#product-dialog .close-dialog{flex:none;width:44px;height:44px;margin:0;padding:8px}
#product-options{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:stretch;gap:20px;padding:20px;min-height:0;overflow:hidden}
#product-dialog .product-detail-photo{position:relative;top:auto;align-self:center;height:100%;max-height:430px;min-height:0;background:var(--sand);border-radius:14px;overflow:hidden}
#product-dialog .product-dialog-image{position:static;display:block;width:100%;height:100%!important;max-height:none;object-fit:contain!important;margin:0;border-radius:0}
#product-dialog .photo-zoom-label{right:8px;bottom:8px;padding:7px 10px;font-size:12px;background:#fffdf2ed}
#product-dialog .product-detail-copy{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:8px;scroll-padding-block:12px}
#product-dialog .product-ingredients{margin:0 0 14px}
#product-dialog .product-ingredients summary{font-size:15px;padding:8px 0;cursor:pointer}
#product-dialog .option-description{font-size:15px;line-height:1.5}
#product-dialog .serving-options{gap:8px;margin-bottom:12px}
#product-dialog .serving-option{padding:10px;gap:8px}
#product-dialog .serving-option-copy strong{font-size:15px}
#product-dialog .serving-hint{font-size:14px;line-height:1.4;margin:8px 0 12px}
#product-dialog>.serving-checkout{position:static;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:0;padding:14px 20px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--cream)}
#product-dialog .serving-total{font-size:16px;line-height:1.4}
#product-dialog .serving-checkout .btn{font-size:15px;min-height:46px;white-space:normal;padding:12px 18px}
@media(max-width:760px){
 .menu-focused .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #product-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:16px}
 #product-dialog .dialog-head{min-height:56px;padding:8px 12px}
 #product-options{grid-template-columns:1fr;grid-template-rows:clamp(90px,20dvh,155px) minmax(0,1fr);padding:10px 12px;gap:12px}
 #product-dialog .product-detail-photo{align-self:stretch;max-height:none;height:100%}
 #product-dialog .product-detail-copy{padding-right:4px}
 #product-dialog>.serving-checkout{padding:10px 12px max(10px,env(safe-area-inset-bottom));gap:8px}
 #product-dialog .serving-checkout .btn{max-width:175px;font-size:14px;padding:10px 12px}
 #product-dialog .serving-total{font-size:14px}
}
@media(max-width:560px){
 .menu-focused #menu{padding-inline:12px}
 .menu-focused #menu .section-top{margin:8px 0}
 .menu-focused #menu .section-top p{display:none}
 .menu-focused .menu-focus-bar{padding:8px 0}
 .menu-focused .menu-focus-bar button{min-height:40px}
 .menu-focused .menu-tools input{min-height:44px;padding:10px 12px;font-size:16px}
 .menu-focused .surprise-button{font-size:13px;min-height:44px;padding:8px}
 .menu-focused .product-grid{grid-template-columns:1fr;gap:12px}
 .menu-focused .product{display:grid;grid-template-columns:110px minmax(0,1fr)}
 .menu-focused .product-image{height:100%!important;min-height:154px}
 .menu-focused .product-bottom{padding:12px;gap:10px}
 .menu-focused .product h3{font-size:17px;margin:3px 0 6px}
 .menu-focused .product p{font-size:14px;-webkit-line-clamp:2}
 .menu-focused .product-bottom small{display:none}
 .menu-focused .product-card-foot{gap:6px}
 .menu-focused .item-price{font-size:15px;flex:1}
 .menu-focused .add{font-size:14px;padding:10px;min-width:66px}
}
@media(max-height:500px) and (min-width:561px){
 #product-options{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);grid-template-rows:minmax(0,1fr);padding:10px 14px}
 #product-dialog .dialog-head{min-height:48px;padding:4px 14px}
 #product-dialog>.serving-checkout{padding:8px 14px}
 .menu-focused #menu .section-top{display:none}
}
.menu-focused .menu-results{padding:2px 0 6px;margin:5px 0}
@media(max-height:700px) and (min-width:561px){
 .menu-focused .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .menu-focused .product{display:grid;grid-template-columns:100px minmax(0,1fr)}
 .menu-focused .product-image{height:100%!important;min-height:155px}
 .menu-focused .product-bottom{padding:10px;gap:8px}
 .menu-focused .product-bottom small{display:none}
 .menu-focused .product h3{font-size:16px}
 .menu-focused .product p{font-size:13px}
 .menu-focused #menu .section-top{margin:6px 0}
 .menu-focused #menu .section-top p{display:none}
}
/* Keep audio controls in the menu footer instead of over product cards. */
body.menu-focused .music-float{left:auto;right:64px;bottom:max(12px,env(safe-area-inset-bottom));width:44px;height:44px;min-height:44px}
body.menu-focused .sound-toggle{left:auto;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:44px;height:44px}
.menu-focused .menu-focus-bottom{padding-right:112px;min-height:66px}
.menu-focused .menu-focus-bottom>span{display:none}
body.menu-focused .sound-toggle{bottom:max(12px,env(safe-area-inset-bottom))!important}

/* v31: enlarge the food within the existing frame, with its own photo behind it. */
.menu-focused .product-image img.product-photo-subject,#product-dialog img.product-photo-subject{position:absolute;left:var(--photo-x);top:var(--photo-y);width:var(--photo-w);height:var(--photo-h)!important;max-width:none;max-height:none;object-fit:fill!important;transform:none!important;z-index:1}
.menu-focused .product-image img.product-photo-backdrop,#product-dialog img.product-photo-backdrop{position:absolute;inset:-12%;width:124%;height:124%!important;max-width:none;max-height:none;object-fit:cover!important;filter:blur(18px);opacity:.35;transform:none!important;pointer-events:none}
.product-photo-focused .tag,.product-photo-focused .photo-zoom-label{z-index:2}

/* v33: visible, native protein choices and an explicit voluntary opt-in. */
.protein-pills{border:0;padding:0;margin:0 0 16px;min-width:0;display:flex;flex-wrap:wrap;gap:8px}.protein-pills legend{font-size:14px;font-weight:700;margin-bottom:8px}.protein-pill{position:relative;display:flex!important;align-items:center;gap:7px;margin:0!important;border:1px solid #d7c5b6;border-radius:12px;padding:10px!important;background:#fff;cursor:pointer;font-size:14px!important;min-height:44px;flex:1 1 115px}.protein-pill input[type=radio]{width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px;accent-color:#bd142c;margin:0}.protein-pill:has(input:checked){border:2px solid #bd142c;padding:9px!important;background:#fff0ea;color:#9d1126}.protein-pill:focus-within{outline:2px solid #bd142c;outline-offset:2px}.protein-pill span{min-width:0;overflow-wrap:anywhere}
#cart-dialog #order-form{min-width:0;max-width:100%;box-sizing:border-box}#cart-dialog .marketing-optin{display:grid!important;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start;padding:16px;margin:18px 0 8px;border:2px solid #d5b9a9;border-radius:14px;background:#fff8ed;cursor:pointer;width:100%;box-sizing:border-box;text-align:left}
#cart-dialog .marketing-optin input[type=checkbox]{appearance:auto;accent-color:#b11126;width:24px!important;height:24px!important;min-height:24px!important;max-width:24px;flex:none;margin:1px 0 0;padding:0}
#cart-dialog .marketing-optin span{min-width:0}#cart-dialog .marketing-optin strong{display:block;font-size:14px;line-height:1.45}#cart-dialog .marketing-optin small{display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#6e584a}#cart-dialog .marketing-optin:has(input:checked){border-color:#b11126;background:#fff0e8}#cart-dialog .marketing-optin:focus-within{outline:2px solid #b11126;outline-offset:3px}.virtual-hours{margin:18px 0;padding:16px;border:1px solid #d7bdad;border-radius:14px;background:#fff8ef}.virtual-hours p{margin:8px 0;font-size:16px}.virtual-hours small{font-size:13px}

/* v34: one set of counters per serving, independent of the number of choices. */
.choice-counts{border:0;padding:0;margin:0 0 14px;min-width:0}.choice-counts legend{font-weight:800;font-size:1rem}.choice-progress{font-size:.875rem;margin:6px 0 10px;color:var(--red,#b51129)}.choice-count-row{display:flex;gap:8px;flex-wrap:wrap}.choice-counter{flex:1 1 80px;min-width:0;border:1px solid #decabb;border-radius:14px;background:#fff;padding:10px 5px}.choice-counter.selected{border:2px solid #b51129;padding:9px 4px;background:#fff1eb}.choice-counter>strong{display:block;text-align:center;font-size:.875rem;overflow-wrap:anywhere;margin-bottom:8px}.choice-stepper{display:flex;align-items:center;justify-content:center;gap:2px}.choice-stepper button{width:32px;min-height:36px;flex:0 0 32px;padding:0;border:1px solid #dfcfc2;border-radius:9px;background:#fff;color:#a51227;font-size:1.125rem;font-weight:800;cursor:pointer}.choice-stepper button:disabled{opacity:.35;cursor:default}.choice-stepper button:focus-visible{outline:3px solid #b51129;outline-offset:2px}.choice-stepper output{min-width:18px;text-align:center;font-weight:800;font-size:1rem}.serving-unit:not([open]) .unit-mix{color:#665446}.serving-unit.needs-choice{border-color:#b51129}.unit-mix{overflow-wrap:anywhere}
@media(max-width:420px){.choice-count-row{gap:5px}.choice-counter{padding:9px 2px}.choice-counter.selected{padding:8px 1px}.choice-stepper{gap:0}.choice-stepper button{width:26px;flex-basis:26px;min-height:36px}.choice-stepper output{min-width:17px}}

.last-order{margin-top:24px;padding:20px;border:1px solid #decabb;border-radius:16px;display:grid;gap:12px;text-align:left}.last-order[hidden]{display:none}.last-order h4,.last-order p{margin:0}.last-order a{color:#a51227;text-decoration:underline;font-weight:700}.last-order small{font-size:.875rem;line-height:1.5}.last-order>button:last-child{background:none;border:0;text-decoration:underline;text-align:left;color:#756153;cursor:pointer}#cart-repeat-status{padding:12px;border:1px solid #decabb;border-radius:12px;font-size:.875rem}

/* v35: one stable row; longer custom lists scroll inside their own area. */
.choice-count-row{flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}.choice-counter{flex:1 0 90px;scroll-snap-align:start}.unit-done{display:block;width:100%;margin:0 0 14px;padding:11px;border:1px solid var(--red);border-radius:10px;background:var(--red);color:white;font:inherit;font-weight:700;cursor:pointer}.unit-chevron{font-size:.8rem;font-weight:700}.serving-unit[open] .unit-chevron{transform:none}.serving-unit[open] .unit-chevron::after{content:" −"}
/* v37 motion and editorial rhythm: product card dimensions remain unchanged. */
:root{--motion-fast:160ms;--motion-soft:280ms;--ease-brand:cubic-bezier(.2,.7,.2,1)}
.universe-intro{display:grid;grid-template-columns:1fr 200px;gap:30px;align-items:center;background:#b11126;color:#fff5e9;border-radius:28px;margin:35px auto;max-width:1160px;padding:48px!important}.universe-intro h2{font-size:clamp(34px,5vw,60px);line-height:1.05;margin:12px 0}.universe-intro p{font-size:18px;line-height:1.5}.universe-intro img{width:100%;height:250px;object-fit:contain}.universe-intro .btn{background:#fff5e9;color:#a81127}.universe-game{display:inline-block;margin:18px;text-decoration:underline}.visit-summary{display:grid;gap:6px;padding:18px;background:#f5e8d7;border-radius:14px;margin:14px 0 22px;border-left:3px solid #b11126}.visit-summary>span{font-size:12px;letter-spacing:.12em}.visit-summary p{margin:0}.visit-summary small{font-size:14px;line-height:1.5}.moment-picker{border:1px solid var(--line);border-radius:12px;margin:8px 0 14px;padding:10px 14px;flex-shrink:0}.moment-picker summary{font-weight:700;cursor:pointer}.moment-picker summary span{font-size:13px;font-weight:400;margin-left:12px}.moment-tabs{display:flex;gap:8px;margin:14px 0}.moment-tabs button{border:1px solid var(--line);border-radius:20px;padding:8px 14px;background:transparent;color:var(--dark);-webkit-text-fill-color:var(--dark)}.moment-tabs button[aria-pressed=true]{background:var(--red);color:white;-webkit-text-fill-color:white;border-color:var(--red)}.moment-note{font-size:14px}.moment-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.moment-products button{display:grid;grid-template-columns:48px 1fr;gap:7px;padding:10px;border:1px solid var(--line);border-radius:10px;background:white;text-align:left;font-size:13px}.moment-products img{height:48px;width:48px;object-fit:cover;grid-row:span 2;border-radius:8px}.moment-products strong{color:var(--red)}.menu-focused .moment-picker[open]{max-height:260px;overflow:auto}.product,.suggested-product{transition:box-shadow var(--motion-soft),border-color var(--motion-fast),transform var(--motion-soft)}.product-image img{transition:transform var(--motion-soft) var(--ease-brand)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.product:hover{transform:translateY(-3px);box-shadow:0 10px 24px #29161312}.suggested-product:hover{transform:translateY(-2px)}.universe-intro>a:hover img{transform:rotate(-3deg);transition:transform var(--motion-soft)}}
@media(prefers-reduced-motion:no-preference){.section-arrived{animation:section-enter 450ms var(--ease-brand) both}.product-grid{animation:section-enter 220ms var(--ease-brand)}dialog[open]{animation:dialog-enter 220ms var(--ease-brand)}.studio-canvas-wrap canvas{animation:dialog-enter 200ms var(--ease-brand)}@keyframes section-enter{from{opacity:.6;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes dialog-enter{from{opacity:.5;translate:0 8px}to{opacity:1;translate:0 0}}}
@media(max-width:760px){.universe-intro{margin:20px 5%;grid-template-columns:1fr 90px;padding:25px!important;gap:12px}.universe-intro img{height:175px}.universe-intro p{font-size:16px}.universe-game{margin:15px 0}.moment-products{grid-template-columns:1fr 1fr}.moment-picker summary span{display:none}.moment-tabs{flex-wrap:wrap}.moment-tabs button{font-size:14px}}
.studio-presets{border:1px solid var(--line,#decdbc);border-radius:16px;padding:16px;margin:20px 0}.studio-presets summary{cursor:pointer;font-weight:700}.studio-presets p{font-size:14px}.studio-presets>div{display:flex;gap:8px;flex-wrap:wrap}.studio-presets button{border:1px solid #dac8b7;background:#fff8ee;color:#30251f;border-radius:999px;padding:10px 16px;font:inherit;cursor:pointer}.studio-presets button:hover{border-color:#b11126;color:#b11126}
/* Chat v38: the viewport sets the frame; only the conversation scrolls. */
body.assistant-open{overflow:hidden}
#assistant-dialog{position:fixed;inset:auto;margin:0;top:12px;left:50%;width:min(480px,calc(100vw - 24px));height:min(680px,calc(100dvh - 24px));max-width:none;max-height:none;padding:0;box-sizing:border-box;border:1px solid var(--line);border-radius:24px;background:var(--cream);box-shadow:0 24px 80px #251b1833;overflow:hidden;transform:none}
#assistant-dialog[open]{display:flex;flex-direction:column;animation:none}
#assistant-dialog::backdrop{background:#211d1b80;backdrop-filter:blur(4px)}
#assistant-dialog .dialog-head{flex:none;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--cream)}
#assistant-dialog .dialog-head>div{min-width:0}
#assistant-dialog .dialog-head h2{font-size:24px;line-height:1.2;overflow-wrap:anywhere}
#assistant-mode{display:block;margin-top:4px;color:#766255;font-size:13px;line-height:1.4}
#assistant-dialog .close-dialog{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:50%;font-size:26px;line-height:1;background:transparent;color:var(--dark)}
#assistant-messages{height:auto;flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:18px;gap:12px;scroll-padding-block:18px}
#assistant-messages .assistant-message{flex:none;align-self:flex-start;max-width:94%;min-width:0;box-sizing:border-box;padding:13px 15px;border-radius:16px 16px 16px 4px;font-size:16px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}
#assistant-messages .assistant-message.user{align-self:flex-end;border-radius:16px 16px 4px 16px}
#assistant-messages .assistant-message button{white-space:normal;overflow-wrap:anywhere;font:inherit;font-size:14px;line-height:1.4;min-height:44px}
#assistant-dialog .assistant-shortcuts{flex:none;gap:8px;padding:8px 16px 12px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
#assistant-dialog .assistant-shortcuts button{min-height:40px;font-size:14px;flex:none}
#assistant-form{flex:none;display:flex;align-items:flex-end;gap:8px;margin:0;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:var(--cream)}
#assistant-form .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#assistant-input{display:block;flex:1;min-width:0;width:0;min-height:48px;max-height:96px;resize:none;overflow-y:auto;box-sizing:border-box;border:1px solid #d8c6b6;border-radius:14px;background:#fffdfa;padding:12px;font:inherit;font-size:16px;line-height:22px;color:var(--dark)}
#assistant-input:focus-visible{outline:2px solid var(--red);outline-offset:1px}
#assistant-form .btn{min-height:48px;flex:none;margin:0;padding:12px 15px;font-size:14px;border-radius:14px}
#assistant-form .btn:disabled{opacity:.55;cursor:wait}
#assistant-dialog.assistant-compact .dialog-head{padding:8px 12px}
#assistant-dialog.assistant-compact .dialog-head h2{font-size:20px}
#assistant-dialog.assistant-compact .assistant-shortcuts,#assistant-dialog.assistant-compact #assistant-mode{display:none}
#assistant-dialog.assistant-compact #assistant-messages{padding:12px}
#assistant-dialog.assistant-compact #assistant-form{padding:8px 12px}
@media(max-width:600px){#assistant-dialog{border-radius:20px}#assistant-dialog .dialog-head{padding:12px 16px}#assistant-messages{padding:14px}#assistant-messages .assistant-message{max-width:96%}}
/* v39: compact contact footer and clear legal navigation */
#entry-welcome{color:inherit;text-decoration:none;cursor:pointer}#entry-welcome:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:3px}
footer{padding-top:32px;padding-bottom:20px}.footer-top{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(230px,1.4fr) minmax(190px,1fr) 95px;gap:24px;align-items:center;padding-bottom:22px}.footer-top>div>img{width:105px}.footer-top>div>p{font-size:16px;margin:10px 0 0}.footer-contact{display:grid;gap:8px;font-style:normal;font-size:14px;line-height:1.5;min-width:0}.footer-contact strong{font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.75}.footer-contact a{color:inherit;text-decoration:none;overflow-wrap:anywhere}.footer-contact a:hover{text-decoration:underline}.footer-links{display:flex;flex-wrap:wrap;gap:12px 18px;align-content:center}.footer-links a{font-size:13px}.footer-mascot{width:95px;height:auto}.footer-mascot img{width:100%;height:auto}.footer-services{gap:12px 22px;padding:14px 0}.footer-services a,.footer-bottom{font-size:12px}.footer-bottom{flex-wrap:wrap;gap:12px 22px;padding-top:16px}.install-app{margin:8px 0}.visit-detail a{overflow-wrap:anywhere;color:inherit}.choice-counter>small{font-size:12px;display:block;color:#7d6558;margin:4px 0}
.legal-page{max-width:920px;margin:auto;padding:20px clamp(18px,5vw,48px) 80px;color:#30231e}.legal-top{position:sticky;top:10px;z-index:10;display:flex;justify-content:space-between;gap:12px;padding:12px;background:#fff8efee;backdrop-filter:blur(12px);border:1px solid #e6d7c8;border-radius:16px}.legal-exit,.legal-close{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}.legal-exit{background:#b01126;color:white}.legal-close{background:#eee1d2;color:#30231e}.legal-page article{padding:40px 4px}.legal-eyebrow{font-size:12px;letter-spacing:.08em;color:#956d54}.legal-page h1{font-size:clamp(32px,6vw,52px);line-height:1.05;letter-spacing:-.03em;margin:15px 0 36px}.legal-page h2{font-size:21px;margin:0 0 12px}.legal-page section{margin:0 0 28px}.legal-page p{font-size:16px;line-height:1.8;white-space:pre-line}.legal-contact{background:#f1e6d8;border-radius:18px;padding:24px}.legal-page nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}.legal-page a:focus-visible{outline:3px solid #da9a2c;outline-offset:4px}
@media(max-width:850px){.footer-top{grid-template-columns:1fr 1.5fr}.footer-links{grid-column:1/-1}.footer-mascot{display:none}.footer-top>div>img{width:90px}}
@media(max-width:480px){.footer-top{grid-template-columns:1fr;gap:20px}.footer-top>div:first-child{display:flex;align-items:center;gap:18px}.footer-top>div>img{width:70px}.footer-links{gap:12px 20px}.footer-bottom>span{flex-basis:100%}.legal-exit,.legal-close{padding:10px;font-size:13px}}
.footer-top>div{grid-column:auto}.footer-top>.footer-links{flex-direction:row;align-items:center;font-weight:600}
@media(max-width:850px){.footer-top>.footer-links{grid-column:1/-1}}
@media(max-width:480px){.footer-top>div:first-child{flex-direction:row}}
/* Edition 44: one creative hub and a compact visit panel. */
.universe-hub{background:#b11126;color:#fff5e9;max-width:1160px;margin:32px auto;border-radius:24px;padding:32px!important}.universe-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.universe-heading h2{font-size:clamp(32px,4.5vw,52px);line-height:1.05;margin:10px 0 16px}.universe-heading p{font-size:18px;margin:0;line-height:1.5}.universe-mascot{border:0;background:none;color:inherit;flex:0 0 145px;padding:0;align-self:center}.universe-mascot img{width:145px;height:165px;object-fit:contain}.universe-mascot span{font-size:14px;display:block;margin-top:6px}.universe-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.universe-card{padding:24px;border-radius:16px;background:#fff5e9;color:#251c1c;display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0}.universe-label{font-size:12px;letter-spacing:.06em;font-weight:700;color:#934839}.universe-card h3{font-size:25px;line-height:1.1;margin:0}.universe-card p{font-size:16px;line-height:1.5;margin:0 0 auto}.universe-card .btn{margin-top:4px;padding:13px 17px;font-size:15px;min-height:48px;white-space:normal}.universe-card .under-link{font-size:14px;line-height:1.5}.universe-mascot.is-playing{animation:music-sway 1s ease-in-out}
#game-dialog{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--line);border-radius:22px;overflow:auto}#game-dialog .dialog-head{padding:18px 20px;position:sticky;top:0;background:var(--cream);z-index:1;gap:12px}#game-dialog h2{font-size:24px;margin:0;line-height:1.2}#game-dialog .close-dialog{width:auto;height:auto;min-height:44px;padding:10px 14px;font-size:15px;white-space:nowrap}#game-dialog .game-play{display:flex;flex-direction:column;align-items:center;padding:22px;gap:18px}#game-dialog .game-board{width:min(300px,100%)}#game-dialog .game-aside{align-items:center;text-align:center;display:flex;flex-direction:column;gap:14px}#game-dialog .game-aside button{min-height:44px}
.visit.visit-compact{display:block;max-width:1240px;margin:auto;padding:48px 5%}.visit-compact>header h2{font-size:clamp(32px,4vw,48px);line-height:1.1;margin:10px 0 24px}.visit-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}.visit-media{position:relative;overflow:hidden;border-radius:18px;background:var(--sand);aspect-ratio:1}.visit-media>img,.visit-media>.visit-map{width:100%;height:100%;min-height:0;object-fit:cover;border:0;border-radius:0;margin:0;display:block}.visit-media>[hidden]{display:none}.visit-map-toggle{position:absolute;z-index:1;left:14px;bottom:14px;background:#fff8ee;color:#271b18;padding:12px 16px;border:1px solid #d8c6b4;border-radius:12px;min-height:46px;font-weight:700;font-size:15px;box-shadow:0 4px 16px #0002}.visit-compact .visit-copy{padding:0;min-width:0}.visit-compact address{display:grid;gap:6px;font-style:normal;font-size:16px;line-height:1.5}.visit-compact address strong{font-size:21px}.visit-compact address a{overflow-wrap:anywhere}.visit-compact .visit-buttons{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:18px 0}.visit-compact .visit-buttons .btn{min-height:46px;font-size:15px;padding:12px 18px}.visit-compact .opening-hours{margin:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fffaf3}.visit-compact .opening-hours h3{font-size:20px;margin:0 0 8px}.visit-compact #today-hours{font-size:17px;font-weight:700;line-height:1.5;margin:0}.visit-compact #service-detail{margin:6px 0 12px;font-size:14px}.week-hours summary,.visit-culture-details>summary{cursor:pointer;font-weight:700;min-height:44px;align-content:center;font-size:15px}.visit-compact .virtual-hours{margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}.visit-compact .virtual-hours p{font-size:15px;margin:6px 0}.visit-compact .virtual-hours small{font-size:13px}.visit-culture-details{border-top:1px solid var(--line);padding-top:8px;margin-top:18px}.visit-culture-details:not([open]) .visit-culture{display:none}.footer-legal{display:flex;gap:20px;flex-wrap:wrap}.footer-legal a{display:flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}.legal-page .legal-tabs{justify-content:flex-start;gap:10px;margin:0 0 24px}.legal-tabs a{min-height:44px;display:flex;align-items:center;padding:10px 16px;border:1px solid #d4bfaf;border-radius:10px}.legal-tabs a[aria-current=page]{background:#b11126;color:#fff}
@media(max-width:760px){.universe-hub{margin:20px 4%;padding:22px!important}.universe-heading{gap:10px}.universe-heading h2{font-size:32px}.universe-heading p{font-size:16px}.universe-mascot{flex-basis:90px}.universe-mascot img{width:90px;height:130px}.universe-cards{grid-template-columns:1fr}.universe-card{gap:10px;padding:20px}.universe-card .btn{width:100%;justify-content:center}.visit-layout{grid-template-columns:1fr;gap:20px}.visit-media{aspect-ratio:16/10}.visit.visit-compact{padding:34px 5%}.visit-compact .visit-copy{display:flex;flex-direction:column}.visit-compact .opening-hours{padding:16px}.legal-top{top:6px;padding:8px;gap:6px}.legal-top a{font-size:14px;padding:10px 12px}.legal-page article{padding-top:22px}.legal-tabs a{font-size:15px}.footer-bottom .footer-legal{gap:10px 20px}}
/* v45: personalize the selected serving in place, with persistent checkout. */
#product-dialog .serving-options[hidden],#product-dialog .serving-unit[hidden],#product-dialog .unit-editor-nav[hidden],#product-dialog .serving-hint[hidden],#product-dialog .product-ingredients[hidden]{display:none!important}
#product-dialog .unit-editor-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px;min-height:44px;font-size:14px}
#product-dialog .unit-editor-back{padding:10px 12px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--dark);font:inherit;font-weight:700;cursor:pointer}
#product-dialog .unit-editor-nav>span{color:#6e5548;white-space:nowrap}
#product-dialog.editing-unit .serving-unit>summary{padding:12px 60px 12px 14px}
#product-dialog .unit-chevron{font-size:13px}
#product-dialog .unit-chevron::after{content:none}
#product-dialog .unit-notes{margin:8px 0}
#product-dialog .unit-notes>summary{padding:10px 0;min-height:44px;font-size:14px;font-weight:600}
#product-dialog .unit-notes label{margin-top:0}
#product-dialog .choice-counter>small{display:block;text-align:center;margin-bottom:6px;font-size:12px}
#product-dialog .choice-stepper button{width:36px;flex-basis:36px;min-height:44px}
#product-dialog .choice-counter{flex-basis:94px}
#product-dialog .choice-progress{margin:4px 0 8px}
#product-dialog .unit-done{min-height:44px;margin-bottom:8px;padding:9px;font-size:14px}
#product-dialog .serving-unit-body .unit-remove,#product-dialog .serving-unit-body .unit-copy{min-height:44px;padding:10px 0}
#product-dialog .product-feedback:empty{display:none}
@media(max-width:650px){#product-dialog.editing-unit #product-options{grid-template-rows:clamp(60px,10dvh,80px) minmax(0,1fr);gap:8px}#product-dialog.editing-unit .unit-editor-nav{margin-bottom:8px}#product-dialog .serving-unit-body{padding-inline:10px;padding-bottom:6px}#product-dialog .choice-count-row{gap:5px}#product-dialog .choice-counter{flex-basis:92px;padding:7px 2px}#product-dialog .choice-counter.selected{padding:6px 1px}#product-dialog .choice-counter>strong{margin-bottom:4px}#product-dialog .serving-unit>summary{padding-block:12px}}

.visit-media>img[src*="local-fachada-v45"]{object-position:50% 42%}
/* Keep legacy experience styles from adding a second scroll area to the sheet. */
#product-dialog[open]{width:min(960px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:min(800px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);overflow:hidden}
#product-dialog[open]>.dialog-head{position:static;padding:12px 20px;gap:12px}
#product-dialog .product-detail-copy{padding:0 4px 0 0}
@media(max-width:650px){#product-dialog[open]{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}#product-dialog[open]>.dialog-head{padding:8px 12px;min-height:56px}#product-dialog[open]>.dialog-head h2{font-size:22px}#product-dialog .product-detail-copy{padding:0 2px 0 0}#product-dialog .choice-counter{flex-basis:calc((100% - 14px)/3)}#product-dialog .choice-stepper button{width:32px;flex-basis:32px}}

#product-dialog.editing-unit .choice-counts{margin-bottom:8px}

/* DIMOPINIONES — discreet home entry, v47 */
.dimop-home-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:22px;color:#fff5e9;font-size:12px;font-weight:700;letter-spacing:.06em;text-decoration:underline;text-underline-offset:5px}.dimop-entry-link{display:inline-flex!important;justify-content:center;align-items:center;gap:10px;min-height:44px;color:#9e1428;font-size:12px;font-weight:800;letter-spacing:.04em}.dimop-home-link:focus-visible,.dimop-entry-link:focus-visible{outline:3px solid currentColor;outline-offset:4px}

.footer-bottom .dimop-footer-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:700;white-space:nowrap}.footer-bottom .dimop-footer-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* v51: one visible schedule for both services, before the location media. */
.visit.visit-compact{width:100%;max-width:1240px;margin-inline:auto;padding-inline:clamp(16px,5vw,64px)}
.visit-compact>header{text-align:center}.visit-compact .unified-hours{width:100%;max-width:980px;margin:0 auto 22px;padding:clamp(16px,3vw,28px);text-align:center;scroll-margin-top:100px;border:1px solid #dac5b3;border-top:4px solid var(--red);border-radius:18px;background:#fffaf3}
.hours-heading h3{font-size:24px!important}.visit-compact #today-hours{font-size:16px;font-weight:500;text-transform:capitalize}.unified-hours #service-detail{margin:12px auto 18px;max-width:680px;font-size:15px;line-height:1.5;color:#57463d;overflow-wrap:anywhere}.unified-hours[data-state=open] #service-detail{color:#28563f}
.today-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-window{min-width:0;border:1px solid #dfcfbf;border-radius:12px;padding:18px 12px;background:#fffdf9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.service-window h4{font-size:16px;line-height:1.4;margin:0;font-weight:700}.service-window-time{font-size:clamp(19px,2.2vw,24px);font-family:Outfit,sans-serif;line-height:1.3;color:#a50f24;overflow-wrap:anywhere}.service-window p,.service-window small{font-size:14px;line-height:1.5;margin:0;color:#685446}.service-window.is-current{border-color:#a50f24;background:#fff0e7;box-shadow:inset 0 0 0 1px #a50f24}
.unified-hours .week-hours{margin-top:14px;text-align:center}.unified-hours .week-hours summary{width:fit-content;max-width:100%;margin-inline:auto;padding:10px 8px;min-height:44px;color:#a50f24;text-decoration:underline;text-underline-offset:4px;list-style-position:inside}.unified-hours .week-hours summary:focus-visible{outline:2px solid #a50f24;outline-offset:3px;border-radius:6px}.unified-hours #hours-list{margin:12px 0;text-align:left}.unified-hours #hours-list>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:14px 8px;border-top:1px solid #e1d4c3}.unified-hours #hours-list dt{font-size:15px;font-weight:700;line-height:1.5}.unified-hours #hours-list dd{margin:0;min-width:0}.week-service{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;font-size:14px;line-height:1.6}.week-service+.week-service{margin-top:6px}.week-service strong{font-weight:600}.week-service small{grid-column:1/-1}.unified-hours #hours-list .is-today{background:#fff0e7;border-radius:8px}.unified-hours #site-hours{display:block;font-size:14px;margin-top:12px;line-height:1.5}
.visit-compact .visit-culture{width:100%;max-width:980px;margin:0 auto 26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;text-align:center}.visit-compact .visit-culture[hidden]{display:none}.visit-compact .visit-culture-card{min-width:0;padding:20px;border:1px solid #decbbb;border-radius:14px;background:#f7eadc}.visit-compact .visit-culture-card[data-culture=pets]{background:#ffeae1;border-color:#dbaa97}.visit-culture-card h3{color:#a50f24;font-size:21px;line-height:1.25;margin:0 0 8px}.visit-culture-card p{font-size:16px;line-height:1.55;max-width:380px;margin-inline:auto}.visit-compact .visit-layout{max-width:980px;margin:auto;align-items:center;gap:24px}.visit-compact .visit-media{aspect-ratio:4/3}.visit-compact .visit-copy{text-align:center}.visit-compact .visit-buttons{justify-content:center}.service-status{max-width:100%;white-space:normal;line-height:1.5}
@media(max-width:600px){.today-services,.visit-compact .visit-culture{grid-template-columns:1fr}.service-window{padding:15px 12px;gap:6px}.visit-compact .visit-culture-card{padding:16px}.unified-hours #hours-list>div{grid-template-columns:1fr;gap:6px;padding:14px 8px}.week-service{grid-template-columns:1fr;gap:0}.visit-compact .visit-layout{grid-template-columns:1fr}.visit-compact .visit-media{aspect-ratio:4/3;max-height:320px}.visit-compact>header h2{margin-bottom:20px}.visit-culture-card h3{font-size:20px}.visit-compact .visit-buttons{gap:16px}}
/* v52: vector playback controls render consistently across mobile systems. */
.music-mark{display:inline-block;vertical-align:middle;flex:none;width:22px;height:22px}.music-mark .pause-bars{display:none}[aria-pressed=true] .music-mark .play-triangle{display:none}[aria-pressed=true] .music-mark .pause-bars{display:inline}#music-play{display:inline-flex;align-items:center;justify-content:center;gap:8px}.entry-community{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.entry-community[hidden]{display:none}.entry-community-link{display:flex;align-items:center;gap:9px;min-height:48px;padding:10px 12px;border:1px solid #ddcfc0;border-radius:11px;background:#fffdf7;color:#32231f;font-size:13px;font-weight:600;text-decoration:none;line-height:1.35}.entry-community-link svg{flex:none}.entry-community-link:hover{border-color:#bd162a}.entry-community-link:focus-visible{outline:3px solid #ae6c2d;outline-offset:3px}@media(max-width:380px){.entry-community{grid-template-columns:1fr}.entry-community-link{padding:10px 12px}}

/* v68: reservas ligeras, cupos por horario y detalles opcionales */
.reservation-kind{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.reservation-kind button{font:inherit;font-weight:700;min-height:48px;padding:10px;border:1px solid currentColor;background:transparent;border-radius:12px;color:inherit}.reservation-kind button[aria-pressed=true]{background:var(--red,#a61c26);color:#fff;border-color:var(--red,#a61c26)}.reservation-intro{margin-top:0}.reservation-fast .availability-box small{display:block;margin:5px 0}.reservation-date-shortcuts{display:flex;gap:12px;margin:6px 0}.reservation-date-shortcuts button{font:inherit;color:inherit;background:none;border:0;text-decoration:underline;min-height:32px}.reservation-extra{margin:16px 0}.reservation-extra summary{cursor:pointer;font-size:.9rem;padding:10px 0}.reservation-fast .form-pair>div{min-width:0}.reservation-fast input,.reservation-fast select{max-width:100%;min-width:0}.reservation-fast .availability-options{flex-wrap:wrap}.reservation-fast .availability-options button{min-height:40px}.reservation-form.reservation-fast{align-self:start}.reservation-fast button:focus-visible,.reservation-fast summary:focus-visible{outline:3px solid currentColor;outline-offset:3px}@media(max-width:760px){.reservation-layout{display:flex;flex-direction:column}.reservation-layout>.reservation-form{order:-1;width:100%;box-sizing:border-box}.reservation-kind button{font-size:.9rem}.reservation-fast .form-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.reservation-fast input{font-size:16px}}@media(max-width:350px){.reservation-fast .form-pair{grid-template-columns:1fr}}

/* v69: visible music action on every public route and viewport. */
body .music-dock .music-float{width:208px;max-width:calc(100vw - 84px);height:auto;min-height:52px;padding:8px 14px;border-radius:28px;gap:10px;justify-content:flex-start;white-space:normal;box-sizing:border-box}
body .music-dock .music-float .music-label{display:flex!important;flex-direction:column;align-items:flex-start;max-width:none;overflow:visible;font-size:14px;line-height:1.25;text-align:left}
body .music-dock .music-float svg{flex:none}body .music-dock .music-float .music-label strong{font-weight:700}body .music-dock .music-float .music-label>span{font-size:13px;font-weight:500}
body .sound-toggle{left:232px;bottom:max(20px,calc(env(safe-area-inset-bottom) + 20px))}
@media(max-width:760px){body .music-dock .music-float{left:12px}body .sound-toggle{left:228px}body:not(.menu-focused):has(.cart-button:not([hidden])) .sound-toggle{bottom:max(96px,calc(env(safe-area-inset-bottom) + 96px))}}
body.menu-focused .music-dock .music-float{left:12px;right:auto;top:auto;bottom:max(88px,calc(env(safe-area-inset-bottom) + 88px))!important}
body.menu-focused .sound-toggle{left:228px;right:auto;top:auto;bottom:max(92px,calc(env(safe-area-inset-bottom) + 92px))!important}
body.menu-focused .music-dock-panel{bottom:326px}body.menu-focused .music-dock:has(.music-dock-panel:not([hidden])) .music-dock-frame{bottom:150px}
body.menu-focused .menu-audio-space{display:none}body.menu-focused #menu .menu-products-scroll{padding-bottom:86px}

.music-dock{--music-bottom:max(16px,env(safe-area-inset-bottom))}
body:not(.menu-focused):has(.cart-button:not([hidden])) .music-dock{--music-bottom:max(94px,calc(env(safe-area-inset-bottom) + 94px))}
body.menu-focused .music-dock{--music-bottom:max(88px,calc(env(safe-area-inset-bottom) + 88px))}
body .music-dock .music-dock-panel{bottom:calc(var(--music-bottom) + 240px)}
body .music-dock:has(.music-dock-panel:not([hidden])) .music-dock-frame{bottom:calc(var(--music-bottom) + 64px)}

/* Prepared assistant answers and six suggested questions. */
#assistant-dialog .assistant-shortcuts{flex-wrap:wrap}
#assistant-messages .assistant-message a{display:inline-flex;align-items:center;min-height:44px;padding:5px 10px;margin:8px 8px 0 0;border:1px solid var(--line);border-radius:12px;font-size:14px;white-space:normal;text-decoration:underline}

#game-dialog .game-modes{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}#game-dialog .game-modes button{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:99px;background:transparent;color:var(--dark);font:inherit;font-size:14px}#game-dialog .game-modes button[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:white}

/* v74: colors belong to marks; placement feedback is brief. */
#game-dialog .game-board button[data-mark="X"]{color:#c7192d}
#game-dialog .game-board button[data-mark="O"]{font-size:32px;color:#f5bc20;-webkit-text-stroke:1px #775000;text-shadow:0 1px 0 #775000}
#game-dialog .game-board button.is-placed{animation:triki-place .42s ease-out both}
@keyframes triki-place{0%,55%{background:#f1a5a9;transform:scale(.96)}30%,100%{background:#fff5e9;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){#game-dialog .game-board button.is-placed{animation:none}}

/* v76: three compact welcome shortcuts, including on phones. */
#entry-dialog .entry-community{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:330px;width:100%}
#entry-dialog .entry-community-link{box-sizing:border-box;min-width:0;min-height:0;aspect-ratio:1;flex-direction:column;justify-content:center;text-align:center;padding:6px;gap:5px;font-size:13px;line-height:1.25;border-radius:12px}
#entry-dialog .entry-community-link svg{width:22px;height:22px;color:#bd162a}
#entry-dialog .entry-community-link span{max-width:100%;overflow-wrap:break-word}

/* La etiqueta crema del Universo se mudó a app/page-motion.css en la v79: la regla es la
   misma y vive ahora en la hoja de movimiento, para que la próxima entrega de ChatGPT siga
   aplicándose limpia sobre ese bloque y no quede duplicada aquí. */

/* Ajuste del 6 de octubre de 2026, corregido a las 00:42 (revisión de Juanchi sobre las capturas
   de la v78).
   1 · En el teléfono la píldora de música SIGUE DICIENDO «Reproducir DIM DOM Music» («Pausar DIM
   DOM Music» cuando suena), pero en una caja más pequeña que la de escritorio para que estorbe
   menos: 148×40 px en vez de 208×52. El ícono va a la izquierda y el texto en dos renglones
   cortos —«Reproducir» arriba, «DIM DOM Music» abajo— a 12 px. El primer intento la dejó como un
   botón redondo sin texto; Juanchi pidió que el texto se vea igual en el celular.
   El objetivo táctil NO baja de 44 px: el `::after` transparente estira la zona sensible 3 px por
   arriba y 3 por abajo (40 + 6 = 46) sin agrandar lo que se pinta. Es parte del mismo botón, así
   que el toque llega igual.
   Los dos renglones son los dos hijos de `.music-label`, que ya es una columna: cada uno lleva
   `white-space:nowrap`, así que NO vuelve el `white-space:normal` que partía «DIM DOM Music» en
   dos pedazos feos, y NO hay ningún `max-width` sobre la etiqueta (la regla que arreglamos en
   `8f36125`). El `overflow:hidden` + `text-overflow:ellipsis` de los renglones es solo el seguro
   de 8f36125: si mañana el texto creciera o se tradujera, se recorta limpio en vez de salirse del
   borde rojo. Hoy no recorta nada y la prueba del navegador lo mide.
   El nombre accesible es el mismo de siempre y vive en el `aria-label` del botón
   (`app/music-dock.tsx`), que no se toca.
   En escritorio (≥641 px) la píldora de la v69 se queda igual: 208×52 con su texto a 14/13 px. */
@media(max-width:640px){
 body .music-dock .music-float{left:12px;width:148px;max-width:176px;height:40px;min-height:40px;padding:0 12px 0 10px;border-radius:999px;gap:7px;justify-content:flex-start;white-space:nowrap;box-shadow:0 5px 16px #4c111a40;font-size:12px}
 body .music-dock .music-float::after{content:'';position:absolute;left:0;right:0;top:-3px;bottom:-3px;border-radius:999px}
 body .music-dock .music-float .music-mark{width:18px;height:18px}
 body .music-dock .music-float .music-label{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;overflow:hidden;font-size:12px;line-height:1.15;text-align:left;white-space:nowrap}
 body .music-dock .music-float .music-label strong{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
 body .music-dock .music-float .music-label>span{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
 body .sound-toggle{left:168px;width:40px;height:40px;min-height:40px;padding:0;bottom:max(16px,env(safe-area-inset-bottom))}
 body .sound-toggle::after{content:'';position:absolute;inset:-3px;border-radius:50%}
 body .sound-toggle svg{width:17px;height:17px}
 body:not(.menu-focused):has(.cart-button:not([hidden])) .sound-toggle{bottom:max(94px,calc(env(safe-area-inset-bottom) + 94px))}
}

/* 2 · DIMOPINIONES en la portada, como píldora legible. Era crema (#fff5e9) sobre el héroe crema
   de `experience.css` y no se veía. Ahora lleva borde y texto en el rojo de la marca sobre un crema
   claro: #c4162c (el valor que gana para `--red`) sobre #fffdf7 da 5,9:1, por encima del 4,5:1 que
   pide WCAG AA; al pasar el puntero se invierte y el par mide lo mismo. La flecha ↗ se retiró del
   marcado en `app/site-body.ts`, solo en este enlace. El de la bienvenida (`.dimop-entry-link`) ya
   se veía en rojo y no se toca. */
.dimop-home-link{gap:0;margin-top:26px;padding:12px 22px;border:2px solid var(--red);border-radius:999px;background:#fffdf7;color:var(--red);font-size:13px;letter-spacing:.08em;text-decoration:none}
.dimop-home-link:hover{background:var(--red);color:#fffdf7}
.dimop-home-link:focus-visible{outline:3px solid var(--red);outline-offset:3px}


/* v93 · La ventana de temporada se acomoda a la imagen (pedido de Juanchi, 8 de octubre de 2026)
   ------------------------------------------------------------------------------------------------
   Antes la ventana medía 440 px de ancho y metía la imagen en una franja de 260 px de alto con
   `object-fit:contain`: el arte no se recortaba, pero una pieza vertical (9:16) quedaba diminuta
   entre dos franjas de fondo. Ahora manda la imagen: `--promo-ratio` es su ancho/alto real —lo
   pone `public/experience-v13.mjs`— y de ahí salen el ancho y el alto de la ventana.

   La ventana son CUATRO filas: imagen, título, descripción y pie (precio y acción). La foto llega
   hasta el borde de arriba —ya no hay franja de cabecera, que es lo que a Juanchi no le gustaba— y
   las esquinas se las come el `overflow:hidden` con el radio de 22 px del cuadro.

   Qué se desplaza y qué no (corrección del 9 de octubre de 2026, lo que vio Ani en las capturas):
   SOLO la descripción. La etiqueta y el TÍTULO viven en `.promo-head`, una fila propia que no se
   desplaza, y el precio y la acción en `.promo-foot`, otra. El cerrar tampoco, porque flota sobre
   la foto. Antes la etiqueta y el título iban dentro de `.promo-copy`, que sí se desplaza: en un
   celular con un arte 9:16 a esa zona le quedaban unos 40 px y el título se iba por debajo del
   borde. Se veían la etiqueta, el precio y el botón, y lo más importante del texto no.

   La etiqueta va con `hidden` cuando la campaña no la trae —lo pone `public/experience-v13.mjs`—,
   así que no deja hueco ni suma el `gap` de la rejilla de la cabecera.

   El alto de la imagen, en una cuenta:
   · `--promo-chrome` es lo que mide hoy todo lo que NO es la imagen —título, descripción y pie—
     con la descripción entera visible.
   · `--promo-chrome-min` es lo mínimo que se le reserva: el título entero, el pie entero y una
     línea de la descripción. Las dos las mide el guion en el navegador.
   · `--promo-img-ideal` es el alto que tendría la imagen si pudiera ocupar todo el ancho.
   La imagen pide `alto-max − chrome` (toda la descripción visible). Si eso la deja demasiado baja
   —y por tanto la ventana demasiado angosta, que es lo que pasa en un celular con una 9:16— se
   queda con `alto-max − chrome-min`: se encoge lo que haga falta, sin recortarse ni deformarse,
   para que el título quepa, y la descripción se desplaza. Nunca pide más de `--promo-img-ideal`,
   porque más alto no la haría más ancha: el ancho ya topa en los 440 px del diseño. El `0px` del
   `max()` es una red: con un título descomunal en una pantalla diminuta la cuenta podría dar
   negativo, y un `max-height` negativo es una declaración inválida que el navegador tira, con lo
   que la imagen se quedaría sin freno.

   El ancho sale de ese alto por la proporción, con tope de 440 px y piso de 210 px para que el
   texto siga legible. Si el piso llega a apretar, el `object-fit:contain` deja franjas de fondo a
   los lados: nunca recorta ni deforma. */
.promo-dialog{
 --promo-ratio:1;
 --promo-chrome:212px;
 --promo-chrome-min:192px;
 --promo-margen:12px;
 --promo-ancho-diseno:440px;
 --promo-ancho-minimo:210px;
 --promo-ancho-libre:calc(100% - var(--promo-margen) * 2);
 --promo-ancho-tope:min(var(--promo-ancho-diseno),var(--promo-ancho-libre));
 --promo-alto-max:min(calc(100dvh - var(--promo-margen) * 2),88dvh);
 --promo-img-ideal:calc(var(--promo-ancho-tope) / var(--promo-ratio));
 --promo-img-alto:max(
  0px,
  calc(var(--promo-alto-max) - var(--promo-chrome)),
  min(calc(var(--promo-alto-max) - var(--promo-chrome-min)),var(--promo-img-ideal))
 );
 box-sizing:border-box;
 width:clamp(
  min(var(--promo-ancho-minimo),var(--promo-ancho-libre)),
  calc(var(--promo-img-alto) * var(--promo-ratio)),
  var(--promo-ancho-tope)
 );
 max-height:var(--promo-alto-max);
 overflow:hidden;
 display:grid;
 grid-template-areas:"imagen" "titulo" "texto" "pie";
 grid-template-columns:minmax(0,1fr);
 grid-template-rows:auto auto minmax(0,1fr) auto;
}
/* Y CERRADA no se ve. Esta línea no es cosmética: es el arreglo del 9 de octubre de 2026, medido en
   producción. El navegador oculta los `<dialog>` cerrados con `dialog:not([open]){display:none}`,
   pero esa regla vive en la hoja del NAVEGADOR y cualquier `display` de una hoja nuestra le gana,
   por poca especificidad que tenga: el origen del autor pesa más que el del navegador. Al pasar la
   ventana a rejilla, el `display:grid` de arriba apagó ese `display:none`, y la ventana cerrada
   —`open=false`, 507 px de alto— se quedaba incrustada al final de la portada dejando un espacio en
   blanco. Por eso el `display` de una ventana se escribe SIEMPRE contra `[open]` o `:not([open])`,
   como ya lo hacen `#product-dialog[open]` y `#assistant-dialog[open]` en esta hoja,
   `#cart-dialog[open]` en `public/experience.css`, `.entry-dialog[open]` en `public/welcome.css` y
   `dialog.dimop-window` en `app/dimopiniones/window.css`. El `!important` es cinturón, y no una
   garantía absoluta: deja esta regla por encima de CUALQUIER `display` normal que le pongan a la
   ventana, por específico que sea y en la hoja que sea, y por encima de un `!important` de menos
   especificidad. Lo único que todavía podría ganarle es un `!important` de igual o más
   especificidad —una media query con `.promo-dialog[algo]{display:…!important}`, por ejemplo—, y
   para eso está la prueba: resuelve la cascada completa y no se fía de esta línea.
   (Los `.adm-modal` y `.adm-confirm` del panel sí fijan `display`
   sin `[open]`, y está bien: son `div` de Radix en un portal, no `<dialog>`, y solo existen en el
   árbol mientras están abiertos.) `self-host/test-ventana-cerrada.mjs` lo vigila, y no solo para
   esta ventana: recorre TODOS los `<dialog>` del sitio y del panel con la misma vara. */
.promo-dialog:not([open]){display:none!important}
.promo-dialog>img{grid-area:imagen;display:block;width:100%;height:auto;aspect-ratio:var(--promo-ratio);max-height:var(--promo-img-alto);object-fit:contain;object-position:center;background:var(--sand)}
/* La ✕ flota sobre la esquina superior derecha de la FOTO, no del cuadro: va en `grid-area:imagen`
   con `place-self:start end`, así que sigue a la imagen tanto apilada como cuando el texto se pasa
   al lado en computador. El círculo visible mide 32 px y el `::after` —invisible— estira el objetivo
   táctil a 44 × 44 px sin agrandar el dibujo, que es lo que pide la WCAG 2.5.5. Es un cuadrado y
   no un círculo a propósito: con un radio del 50 % las cuatro esquinas de ese cuadro dejarían de
   recibir el toque, y los 44 × 44 px enteros tienen que valer.

   El fondo es el oscuro de la marca al 72 %: contra blanco la ✕ blanca da 7,2:1 y contra negro
   18,6:1, así que se lee sobre una foto clara y sobre una oscura. El `margin` de 20 px no es
   estética sola. Medido en Chromium con los tres artes de prueba y las tres pantallas: pegada al
   borde (12 px) la ✕ tapaba entre el 47 % y el 70 % de la marca de esquina del arte —ocho de las
   nueve por encima de la mitad—; con 20 px tapa entre el 15 % y el 48 %, y el máximo es la 9:16 en
   1440 px. El guion `self-host/capturas-imagenes-v93.mjs` lo mide y falla si pasa del 50 %.
   El foco solo se dibuja con teclado (`:focus-visible`), con anillo blanco y halo oscuro por fuera
   para que tampoco dependa del color de la foto.

   Por qué el selector lleva `.promo-dialog` delante y dos `!important`: `public/experience.css`
   —que se carga DESPUÉS de esta hoja— trae una regla genérica
   `.close-dialog{width:40px;height:40px;background:#efe2d5!important;font-size:18px!important}`
   para el cerrar de los otros cuadros. Con la misma especificidad ganaba ella por orden: el
   círculo salía de 40 px y, peor, en crema sobre la foto en vez de oscuro. `.promo-dialog
   .promo-close` gana el tamaño por especificidad, y el fondo y el cuerpo de letra solo se pueden
   recuperar con `!important`, porque así están marcados allí. El `text-decoration:none` y el
   `-webkit-text-fill-color` son por lo mismo: la regla genérica `button` de esta hoja subraya y
   pinta en rojo, y en iOS el relleno del texto gana al `color` (la lección del botón del carrito,
   anotada en `public/menu-compact.css`). */
.promo-dialog .promo-close{grid-area:imagen;place-self:start end;position:relative;z-index:3;margin:20px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:#1b1512b8!important;color:#fff;-webkit-text-fill-color:#fff;font-size:16px!important;line-height:1;text-decoration:none}
.promo-dialog .promo-close::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
.promo-dialog .promo-close:hover{background:#1b1512e6!important}
.promo-dialog .promo-close:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px #1b1512d9}
/* La etiqueta y el título, en su propia fila. La fila es `auto`: toma lo que el título necesite,
   nunca se encoge y no se desplaza, así que los dos se ven siempre y sin desplazar. Lo que cede
   sitio es la imagen, que para eso `--promo-chrome-min` cuenta esta cabecera entera. El `h2` no
   lleva margen propio: el hueco con la etiqueta y con la descripción lo pone la rejilla (antes se
   lo quitaba `.promo-copy h2`, de la línea 68, y aquí ya no está dentro de `.promo-copy`). */
.promo-head{grid-area:titulo;display:grid;gap:12px;align-content:start;padding:22px 22px 0}
.promo-head h2{margin:0}
/* La descripción es lo ÚNICO que se desplaza. Su relleno de arriba hace de hueco con el título, el
   mismo de 12 px que había cuando los tres iban juntos. El de abajo, en cambio, pasó al pie: el
   relleno de un elemento que se desplaza va al FINAL de lo que se desplaza, no al borde que se
   ve, así que cuando la descripción no cabía la línea cortada quedaba pegada al precio. En el pie
   el hueco es siempre el mismo, quepa o no.
   Y cuando no cabe, el final se funde en vez de cortarse en seco, para que se vea que hay más
   abajo. Solo entonces: el `data-promo-texto-largo` lo pone `public/experience-v13.mjs` después de
   medir, porque si no hay nada que desplazar la máscara se comería la última línea. */
.promo-copy{grid-area:texto;padding:12px 22px 0;min-height:0;overflow:auto;overscroll-behavior:contain;align-content:start;gap:12px}
.promo-dialog[data-promo-texto-largo] .promo-copy{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 20px),transparent)}
/* La etiqueta de la campaña, rótulo encima del título. Con `hidden` no pinta ni suma `gap`. */
.promo-badge{justify-self:start;max-width:100%;margin:0;font-size:12px;font-weight:800;letter-spacing:.14em;line-height:1.35;text-transform:uppercase;color:var(--red);overflow-wrap:anywhere}
/* El pie conserva el aspecto que el precio y el botón ya tenían dentro del texto —apilados, con
   el mismo hueco de 14 px y la misma tipografía—; lo único que cambia es que no se desplazan. */
.promo-foot{grid-area:pie;display:grid;gap:14px;padding:14px 22px 22px;background:var(--cream)}
.promo-foot strong{font-size:26px;margin:0}

/* En computador, con una imagen vertical, el texto se pasa AL LADO: así la pieza se lleva todo el
   alto disponible en vez de competir con el texto por él (en 1440 × 900 pasa de 276 a 446 px de
   ancho). En celular no cabe y se queda apilada. */
@media (min-width:900px) and (min-height:640px){
 .promo-dialog[data-promo-forma=vertical]{
  --promo-texto:320px;
  grid-template-areas:"imagen titulo" "imagen texto" "imagen pie";
  grid-template-columns:auto minmax(0,var(--promo-texto));
  grid-template-rows:auto minmax(0,1fr) auto;
  width:min(var(--promo-ancho-libre),calc(var(--promo-alto-max) * var(--promo-ratio) + var(--promo-texto)));
  height:var(--promo-alto-max);
 }
 .promo-dialog[data-promo-forma=vertical]>img{height:100%;width:auto;max-width:calc(var(--promo-alto-max) * var(--promo-ratio));max-height:none}
}
