
*{box-sizing:border-box}body.public-body{margin:0;font:16px/1.5 system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}[hidden]{display:none!important}
.premium-menu{--surface:color-mix(in srgb,var(--bg),var(--ink) 5%);--stroke:color-mix(in srgb,var(--ink),transparent 83%);background:var(--bg);color:var(--ink);min-height:100dvh;padding-bottom:130px}
.restaurant-hero{background:linear-gradient(140deg,var(--gradient),color-mix(in srgb,var(--accent),#111 68%));background-size:cover;background-position:center;min-height:300px;display:grid;place-items:center}
.hero-content{text-align:center;color:white;padding:45px 18px;text-shadow:0 2px 12px #000b}.restaurant-logo{width:106px;height:106px;display:block;margin:auto auto 16px;object-fit:contain;filter:drop-shadow(0 7px 12px #0006)}.restaurant-logo.circle{border:4px solid white;background:white;border-radius:50%;padding:3px}.restaurant-logo.square{border-radius:15px;background:white;padding:4px}.emoji-logo{display:grid;place-items:center;border-radius:50%;border:4px solid white;background:var(--accent);font-size:55px}
.hero-content small{font-size:11px;letter-spacing:.18em}.hero-content h1{font-size:clamp(34px,5vw,55px);letter-spacing:-.055em;margin:10px 0}.hero-content p{margin:0;font-size:15px}
.menu-content{width:min(1090px,calc(100% - 32px));margin:auto}.welcome{text-align:center;padding:28px 0 24px}.welcome h2{font-size:clamp(27px,4vw,38px);line-height:1.2;margin:0 0 9px;letter-spacing:-.035em}.welcome h2 em{color:var(--accent);font-style:normal}.welcome p{margin:0;opacity:.7;font-size:14px}
.search{position:relative;margin-bottom:21px}.search input{width:100%;border:1px solid var(--stroke);border-radius:17px;background:var(--surface);color:var(--ink);height:60px;padding:0 65px 0 20px;outline-color:var(--accent)}.search>span{display:grid;place-items:center;position:absolute;right:9px;top:9px;width:42px;height:42px;border-radius:11px;background:var(--accent);color:var(--bg);font-size:29px}
.categories{display:flex;overflow:auto;gap:12px;padding:0 0 20px;scrollbar-width:thin}.categories button{min-width:105px;max-width:150px;flex-shrink:0;background:var(--surface);color:var(--ink);border:1px solid var(--stroke);border-radius:18px;min-height:105px;padding:13px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center}.categories button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent),var(--bg) 85%)}.categories button span{font-size:26px;width:47px;height:47px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--accent),var(--bg) 70%)}.categories button.active span{background:var(--accent);color:var(--bg)}.categories button small{font-size:12px;font-weight:750}
.products-section{padding-top:15px}.product-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.product-heading h2{font-size:22px;margin:0}.product-heading span{font-size:12px;opacity:.68}
.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dish{display:flex;gap:16px;align-items:stretch;border:1px solid var(--stroke);background:var(--surface);padding:14px;border-radius:18px;min-width:0;min-height:149px}.food-art{width:126px;flex:0 0 126px;border-radius:14px;background:linear-gradient(135deg,var(--gradient),color-mix(in srgb,var(--accent),var(--bg) 60%));display:grid;place-items:center;font-size:60px}.dish-info{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.dish-info small{opacity:.65;font-size:11px}.dish-info h3{font-size:17px;line-height:1.2;margin:5px 0 8px}.dish-info strong{font-size:17px;color:var(--accent)}.quantity{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:7px}.quantity button{width:37px;height:37px;border-radius:11px;border:1px solid var(--stroke);background:var(--surface);color:var(--ink);font-size:23px}.quantity button.plus{background:var(--accent);color:var(--bg);border-color:var(--accent)}.quantity b{font-size:14px}.no-products{padding:25px;text-align:center}
.cartbar{position:fixed;left:50%;transform:translateX(-50%);bottom:15px;z-index:20;width:min(730px,calc(100% - 26px));background:#121a1d;color:#fff;border:1px solid var(--accent);border-radius:19px;box-shadow:0 15px 40px #0005;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.cartbar>div{display:flex;flex-direction:column}.cartbar small{font-size:12px}.cartbar b{font-size:19px}.cartbar button{background:var(--accent);color:var(--bg);border:0;border-radius:12px;padding:13px 17px;font-weight:800}
.sheet-open{overflow:hidden}.cart-sheet{position:fixed;inset:0;z-index:50}.backdrop{position:absolute;inset:0;background:#000b}.cart-dialog{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(650px,100%);max-height:90dvh;overflow-y:auto;background:var(--bg);color:var(--ink);border-radius:25px 25px 0 0;padding:22px 20px max(20px,env(safe-area-inset-bottom))}.cart-head{display:flex;align-items:center;justify-content:space-between}.cart-head h2{margin:0 0 15px}.cart-head button,.cart-line button{background:var(--surface);color:var(--ink);border:1px solid var(--stroke);border-radius:10px;padding:6px 12px}.cart-line{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--stroke);padding:12px 0;font-size:13px}.cart-line span{flex:1}.cart-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.cart-fields label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}.cart-fields input,.cart-fields select{width:100%;min-width:0;border:1px solid var(--stroke);background:var(--surface);color:var(--ink);border-radius:9px;padding:11px}.cart-fields #address-field,.cart-fields #shipping-note{grid-column:1/-1}.cart-fields #shipping-note{margin:0;font-size:12px}.totals{display:flex;justify-content:space-between;gap:12px;padding:12px 0}.totals b{color:var(--accent)}#order{width:100%;background:#11c86c;color:#06341f;border:0;border-radius:12px;padding:16px;font-weight:850}#error{color:#cf3d40;font-size:13px;margin:7px 0}.error-menu{text-align:center;padding:70px 20px}
.theme-elegante h1,.theme-cafe h1,.theme-parrilla h1{font-family:Georgia,serif}.theme-urbano h1{text-transform:uppercase}.theme-criollo .dish,.theme-pizza .dish{border-left:4px solid var(--accent)}
@media(max-width:720px){.products{grid-template-columns:1fr}.dish{min-height:132px}.food-art{width:115px;flex-basis:115px}.restaurant-hero{min-height:285px}.product-heading h2{font-size:19px}.categories button{min-width:96px;min-height:97px}.cartbar{bottom:max(12px,env(safe-area-inset-bottom))}}
@media(max-width:390px){.food-art{width:90px;flex-basis:90px;font-size:43px}.dish-info h3{font-size:15px}.cart-fields{grid-template-columns:1fr}}

.bg-style-gradient{background:linear-gradient(150deg,var(--bg),color-mix(in srgb,var(--gradient),var(--bg) 75%)) fixed}
.bg-style-pattern{background-color:var(--bg);background-image:radial-gradient(color-mix(in srgb,var(--accent),transparent 85%) 1px,transparent 1px);background-size:22px 22px}
.hero-size-compact .restaurant-hero{min-height:210px}.hero-size-large .restaurant-hero{min-height:425px}
.hero-style-gradient .restaurant-hero{background:linear-gradient(135deg,var(--gradient),var(--accent))!important}
.header-align-left .hero-content{text-align:left}.header-align-left .restaurant-logo{margin-left:0}
.category-style-chips .categories button{min-height:58px;min-width:auto;flex-direction:row;border-radius:30px}.category-style-chips .categories span{height:auto;width:auto}
.category-style-minimal .categories button{min-height:45px;min-width:auto}.category-style-minimal .categories span{display:none}
.product-style-vertical .products{grid-template-columns:repeat(3,minmax(0,1fr))}.product-style-vertical .dish{flex-direction:column}.product-style-vertical .food-art{width:100%;min-height:145px;flex-basis:145px}
.product-style-compact .products{grid-template-columns:1fr}.product-style-compact .dish{min-height:75px}.product-style-compact .food-art{width:65px;flex-basis:65px;font-size:30px}
.menu-style-compact .welcome{padding:13px 0}.menu-style-editorial .hero-content h1,.menu-style-editorial .welcome h2{font-family:Georgia,serif;font-weight:500}
.cart-style-full .cartbar{bottom:0;width:100%;max-width:none;border-radius:18px 18px 0 0}.artwork-none .food-art{display:none}
@media(max-width:720px){.product-style-vertical .products{grid-template-columns:repeat(2,minmax(0,1fr))}}

.open-inline-cart{background:var(--accent);color:var(--bg);border:0;border-radius:9px;padding:10px 12px;font-weight:750;font-size:12px}

.categories .custom-category-icon{display:block;width:35px;height:35px;object-fit:contain;border-radius:7px}
.category-style-chips .custom-category-icon{width:21px;height:21px}

.dish-photo{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}

/* Portadas responsivas de borde a borde: misma imagen, sin deformación */
.restaurant-hero{
 width:100%;max-width:none;min-width:0;
 min-height:clamp(280px,29vw,470px);
 background-size:cover;background-position:center center;background-repeat:no-repeat;
}
.restaurant-hero .hero-content{width:min(100%,1100px);margin-inline:auto}
.hero-size-large .restaurant-hero{min-height:clamp(375px,39vw,600px)}
.hero-size-compact .restaurant-hero{min-height:clamp(220px,21vw,330px)}
@media(max-width:720px){
 .restaurant-hero{min-height:clamp(270px,75vw,410px);background-position:center center}
 .hero-size-large .restaurant-hero{min-height:clamp(330px,95vw,500px)}
 .hero-size-compact .restaurant-hero{min-height:clamp(220px,60vw,310px)}
 .hero-content{padding:32px 20px}
 .restaurant-logo{width:clamp(72px,22vw,104px);height:clamp(72px,22vw,104px)}
}

/* Slideshow de portada: 100% ancho, tactil y transiciones optimizadas */
.slideshow-hero{position:relative;overflow:hidden;isolation:isolate}
.slide-track{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.slide-frame{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity .75s ease,transform .95s ease;will-change:opacity,transform}
.slide-frame.is-active{opacity:1}
.slide-animation-zoom .slide-frame{transform:scale(1.11)}.slide-animation-zoom .slide-frame.is-active{transform:scale(1)}
.slide-animation-slide .slide-frame{transform:translateX(100%)}.slide-animation-slide .slide-frame.is-before{transform:translateX(-100%)}.slide-animation-slide .slide-frame.is-active{transform:translateX(0)}
.slideshow-hero .hero-content{position:relative;z-index:1;pointer-events:none}.slideshow-hero .hero-content>*{pointer-events:auto}
.slide-controls{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 14px;pointer-events:none;z-index:2}
.slide-controls:empty{display:none}
.slide-controls button{pointer-events:auto;width:39px;height:39px;border-radius:50%;border:1px solid #ffffff75;background:#10161a72;color:white;font-size:30px;line-height:1}
.slide-dots{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:2}
.slide-dots button{width:8px;height:8px;border-radius:10px;padding:0;border:0;background:#fff8}.slide-dots button.active{width:23px;background:white}
.slide-height-compact.restaurant-hero{min-height:clamp(230px,23vw,360px)}
.slide-height-large.restaurant-hero{min-height:clamp(380px,40vw,620px)}
@media(max-width:720px){.slide-height-compact.restaurant-hero{min-height:clamp(225px,60vw,320px)}.slide-height-large.restaurant-hero{min-height:clamp(350px,100vw,540px)}.slide-controls{padding:0 7px}.slide-controls button{width:32px;height:32px;font-size:24px}}
@media(prefers-reduced-motion:reduce){.slide-frame{transition:none!important}}

/* Identidad adaptable y configurable: logo */
.premium-menu .restaurant-logo{width:var(--logo-desktop,106px);height:var(--logo-desktop,106px);max-width:100%;margin-bottom:var(--logo-spacing,16px);transform:translateY(var(--logo-offset,0px));border:var(--logo-border,4px) solid var(--logo-border-color,#fff);background:var(--logo-bg,#fff);padding:var(--logo-padding,4px);box-sizing:border-box;filter:drop-shadow(0 6px 14px #0005)}
.premium-menu .restaurant-logo.circle{border-radius:50%}
.premium-menu .restaurant-logo.square{border-radius:var(--logo-radius,20px)}
.premium-menu .restaurant-logo.transparent{border-radius:0;background:transparent;border:0;padding:0}
.premium-menu.logo-position-left .restaurant-logo{margin-left:0;margin-right:auto}
.premium-menu.logo-position-right .restaurant-logo{margin-left:auto;margin-right:0}
.premium-menu.logo-position-center .restaurant-logo{margin-left:auto;margin-right:auto}
.premium-menu.logo-shadow-none .restaurant-logo{filter:none}
.premium-menu.logo-shadow-strong .restaurant-logo{filter:drop-shadow(0 10px 22px #000a)}
@media(max-width:720px){.premium-menu .restaurant-logo{width:var(--logo-mobile,96px);height:var(--logo-mobile,96px)}}

/* Diseño etapa 1: colores independientes, aplicados por restaurante */
.premium-menu .dish-info strong,.premium-menu .dish-price{color:var(--price-color,var(--accent))}
.premium-menu .dish,.premium-menu .media-tile{background:var(--card-bg,var(--surface))}
.premium-menu .categories button:not(.active){background:var(--category-bg,var(--surface))}
.premium-menu .quantity .plus,.premium-menu .search>span,.premium-menu .cartbar button{background:var(--button-color,var(--accent));color:var(--button-text-color,var(--bg))}
.premium-menu .welcome h2,.premium-menu .products-section h2{color:var(--heading-color,var(--ink))}
.premium-menu .cartbar,.premium-menu .preview-cart{background:var(--cart-bg,#121a1d);color:var(--cart-text,#fff)}

/* Barra compacta: colores heredados de la paleta/botones del restaurante */
.premium-menu .quickbar{
 --quickbar-accent:var(--button-color,var(--accent));
 position:relative;z-index:5;
 display:flex;justify-content:center;align-items:center;
 width:max-content;max-width:calc(100% - 20px);min-height:38px;
 margin:14px auto 0;padding:3px 6px;gap:3px;
 color:var(--ink);
 background:color-mix(in srgb,var(--quickbar-accent) 15%,var(--bg) 85%);
 border:1px solid color-mix(in srgb,var(--quickbar-accent) 35%,var(--bg) 65%);
 border-radius:999px;
 box-shadow:0 6px 18px color-mix(in srgb,var(--ink) 13%,transparent);
}
.premium-menu .quickbar button,.premium-menu .quickbar-preview .quickbar-item{
 display:flex;align-items:center;justify-content:center;gap:5px;
 flex:0 0 auto;min-height:30px;padding:6px 10px;
 background:transparent;border:0;border-radius:999px;
 color:inherit;font:700 12px/1.2 var(--font-body,system-ui,sans-serif);
 white-space:nowrap;
}
.premium-menu .quickbar button>span,.premium-menu .quickbar-preview .quickbar-item>span{
 font-size:15px;line-height:1;color:color-mix(in srgb,var(--quickbar-accent) 66%,var(--ink) 34%);
}
.premium-menu .quickbar button:hover,.premium-menu .quickbar button:focus-visible{
 background:color-mix(in srgb,var(--quickbar-accent) 24%,var(--bg) 76%);
}
.premium-menu .quickbar button:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.premium-menu .quickbar + .menu-content{padding-top:26px}
.premium-menu .quickbar + .menu-content>.welcome{padding-top:0}
.quick-overlay{position:fixed;inset:0;z-index:150}.quick-backdrop{position:absolute;inset:0;background:#000a}
.quick-sheet{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--bg);color:var(--ink);width:min(560px,calc(100% - 26px));max-height:90dvh;overflow:auto;padding:24px;border-radius:20px;box-shadow:0 20px 70px #0008}
.quick-sheet #quick-close{float:right;border-radius:10px;background:var(--surface);color:var(--ink);border:1px solid var(--stroke);padding:8px 12px}.quick-sheet h2{font-size:24px}.quick-sheet a{color:var(--accent)}.quick-open{overflow:hidden}
.contact-number{font-size:25px;font-weight:800}
.reserve-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.reserve-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700}.reserve-form input,.reserve-form textarea{width:100%;min-width:0;padding:11px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface);color:var(--ink)}.reserve-form label:has(textarea),.reserve-form button,.reserve-form #reserve-result{grid-column:1/-1}.reserve-form button{padding:14px;background:var(--accent);color:var(--bg);border:0;border-radius:11px;font-weight:800}.honeypot{position:absolute;left:-9999px;opacity:0}
.info-bio{text-align:center;display:grid;gap:12px}.info-avatar{width:85px;height:85px;object-fit:contain;margin:auto}.info-bio a{border:1px solid var(--stroke);padding:14px;border-radius:12px;background:var(--surface);font-weight:700;text-decoration:none}
.map-box{background:var(--surface);min-height:240px;border-radius:15px;overflow:hidden;display:grid;place-items:center}.map-box iframe{border:0;width:100%;height:300px}.open-google-maps{display:block;text-align:center;font-weight:800;padding:15px}
@media(max-width:600px){.reserve-form{grid-template-columns:1fr}.quick-sheet{padding:18px}}

/* Barra de accesos responsiva, compacta y con zona táctil cómoda */
@media(max-width:600px){
 .premium-menu .quickbar{margin:12px auto 0;max-width:calc(100% - 18px);padding:3px 4px;gap:2px;min-height:38px}
 .premium-menu .quickbar button,.premium-menu .quickbar-preview .quickbar-item{flex-direction:row;min-height:30px;padding:6px 6px;gap:4px;font-size:10px}
 .premium-menu .quickbar button>span,.premium-menu .quickbar-preview .quickbar-item>span{font-size:13px}
 .premium-menu .quickbar + .menu-content{padding-top:22px}
 .premium-menu .slide-dots{bottom:14px}
}
@media(max-width:360px){
 .premium-menu .quickbar button,.premium-menu .quickbar-preview .quickbar-item{font-size:9px;padding:6px 4px;gap:3px}
 .premium-menu .quickbar button>span,.premium-menu .quickbar-preview .quickbar-item>span{font-size:12px}
}

.location-hero{position:relative;border-radius:17px;overflow:hidden;margin:12px 0 5px;height:180px;background:var(--surface)}.location-hero img{height:100%;width:100%;object-fit:cover}
.location-floating-pin{position:absolute;right:18px;bottom:18px;font-size:31px;filter:drop-shadow(0 4px 4px #0007);animation:location-bob 2.4s ease-in-out infinite}
@keyframes location-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.location-reference{font-size:13px;font-weight:650}.location-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.location-actions a,.location-actions button{border:1px solid var(--stroke);border-radius:10px;padding:10px 12px;background:var(--surface);color:var(--ink);font-weight:700;text-decoration:none;font-size:12px}
@media(max-width:600px){.location-hero{height:145px}}
@media(prefers-reduced-motion:reduce){.location-floating-pin{animation:none}}

/* Mantener los indicadores dentro de la portada y la barra fuera de ella */
.premium-menu .restaurant-hero{position:relative}
.premium-menu .slide-dots{bottom:18px;z-index:4}
@media(max-width:600px){.premium-menu .slide-dots{bottom:17px}}

/* Modal INFO: escaparate digital premium, móvil de pantalla completa */
.quick-info-open .quick-sheet{width:min(820px,calc(100vw - 42px));padding:0;overflow:auto;border-radius:24px;max-height:92dvh;background:#12191d;border:1px solid #ffffff26}
.quick-info-open #quick-close{position:sticky;top:13px;float:right;margin-right:14px;z-index:11;background:#161b20d9;color:#fff;border:1px solid #ffffff69;backdrop-filter:blur(10px)}
.quick-info-open #quick-content{margin-top:-43px}
.info-premium{background:var(--info-bg);color:#fff;padding:0 28px 26px;min-height:100%;--link-radius:15px}
.info-premium.info-shape-pill{--link-radius:45px}
.info-premium.info-shape-square{--link-radius:5px}
.info-cover{height:215px;position:relative;margin:0 -28px;background:radial-gradient(circle at 40% 10%,var(--info-accent),#111c21);overflow:hidden}
.info-cover img{width:100%;height:100%;object-fit:cover}.info-cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0003 0%,#11181de0 100%)}
.info-profile{text-align:center;position:relative;margin-top:-60px;display:flex;align-items:center;flex-direction:column;gap:7px;z-index:1}
.info-profile-logo{height:112px;width:112px;object-fit:contain;filter:drop-shadow(0 8px 18px #0009);border-radius:50%;background:#141a1ca3;padding:7px;border:2px solid var(--info-accent)}
.info-initial{display:grid;place-items:center;font-size:48px;font-weight:900}
.info-profile h2{margin:4px 0 0;font-size:clamp(26px,4vw,37px);letter-spacing:-.04em;color:#fff}
.info-tagline{font-size:11px;letter-spacing:.12em;font-weight:850;color:var(--info-accent);margin:0;text-transform:uppercase}
.info-description{color:#d6dcdc;font-size:14px;line-height:1.6;max-width:510px;margin:7px auto}
.info-location{font-size:12px;color:#bfc9c9}
.info-social-icons{display:flex;justify-content:center;gap:12px;margin:20px 0}
.info-social-icons a{height:43px;width:43px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff54;background:#ffffff15;text-decoration:none;font-size:19px;color:var(--info-accent)}
.info-primary{width:100%;border:0;border-radius:14px;background:var(--info-accent);color:#141718;padding:16px 20px;font-weight:900;display:flex;justify-content:space-between}
.info-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0 24px}
.info-shortcuts button{background:#ffffff0c;border:1px solid #ffffff22;color:white;padding:12px 6px;border-radius:13px;display:flex;flex-direction:column;align-items:center;gap:4px}
.info-shortcuts button span{font-size:21px;color:var(--info-accent)}.info-shortcuts button small{font-size:11px;font-weight:750}
.info-links-heading{font-size:13px;font-weight:850;letter-spacing:.05em;color:var(--info-accent);margin:20px 0 11px}
.info-link-list{display:grid;gap:11px}
.info-link-card{border:1px solid #ffffff2d;background:#ffffff0d;border-radius:var(--link-radius);padding:14px;display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff!important;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.info-link-card:hover{transform:translateY(-3px);border-color:var(--info-accent);background:#ffffff19}
.info-link-icon{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:13px;background:#ffffff13;color:var(--info-accent);font-size:23px;font-weight:900}
.info-link-copy{flex:1;display:grid;gap:3px;min-width:0}.info-link-copy b{color:#fff;font-size:14px}.info-link-copy small{color:#b9c4c4;font-size:12px}
.info-link-arrow{color:var(--info-accent);font-size:20px}
.info-footer-menu{margin:24px auto 0;display:block;background:transparent;color:var(--info-accent);border:0;font-weight:750;padding:8px}
.info-empty{color:#b9c4c4;text-align:center;padding:18px}
.theme-info-minimal{--info-bg:#f6f6f2!important;color:#1a262a}.theme-info-minimal .info-profile h2,.theme-info-minimal .info-link-copy b{color:#1c262b}.theme-info-minimal .info-description,.theme-info-minimal .info-location,.theme-info-minimal .info-link-copy small{color:#53656a}.theme-info-minimal .info-link-card{background:#fff;border-color:#d6dddc}.theme-info-minimal .info-shortcuts button{color:#1a262a;border-color:#d6dddc}
.theme-info-tropical{background:linear-gradient(160deg,#133e38,var(--info-bg))}
.theme-info-neon .info-link-card{box-shadow:0 0 15px color-mix(in srgb,var(--info-accent),transparent 86%)}
.theme-info-coffee{background:linear-gradient(160deg,#31231a,var(--info-bg))}
.theme-info-modern{background:linear-gradient(165deg,#23313a,var(--info-bg))}
.info-static .info-link-card{transition:none}
@media(max-width:600px){
 .quick-info-open .quick-sheet{inset:0;transform:none;width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0}
 .quick-info-open #quick-close{top:12px;margin-right:14px}
 .info-premium{padding:0 17px 25px}
 .info-cover{margin:0 -17px;height:205px}
 .info-profile{margin-top:-55px}
 .info-profile-logo{width:98px;height:98px}
 .info-shortcuts{gap:6px}
 .info-shortcuts button{padding:10px 3px}
}
@media(prefers-reduced-motion:reduce){.info-link-card{transition:none!important}}

/* Una sola cabecera visible: el título está integrado en el perfil INFO */
.quick-info-open #quick-content>h2{display:none}
.quick-info-open .quick-sheet{overscroll-behavior:contain}
.quick-info-open .info-link-card:focus-visible,.quick-info-open button:focus-visible{outline:2px solid var(--info-accent);outline-offset:3px}
@media(max-width:600px){.quick-info-open .quick-sheet{padding-bottom:env(safe-area-inset-bottom)}}

/* INFO adopta automáticamente la apariencia actual del restaurante */
.quick-info-open .quick-sheet{background:var(--bg);color:var(--ink)}
.info-premium.theme-info-inherited{background:var(--info-bg);color:var(--info-ink)}
.info-premium.theme-info-inherited .info-profile h2,.info-premium.theme-info-inherited .info-link-copy b{color:var(--info-heading)}
.info-premium.theme-info-inherited .info-description,.info-premium.theme-info-inherited .info-location,.info-premium.theme-info-inherited .info-link-copy small,.info-premium.theme-info-inherited .info-empty{color:var(--info-ink);opacity:.82}
.info-premium.theme-info-inherited .info-link-card{background:var(--info-card);border:1px solid color-mix(in srgb,var(--info-ink),transparent 80%)}
.info-premium.theme-info-inherited .info-shortcuts button,.info-premium.theme-info-inherited .info-social-icons a{background:var(--info-card);border-color:color-mix(in srgb,var(--info-ink),transparent 80%);color:var(--info-ink)}
.info-premium.theme-info-inherited .info-link-icon{background:color-mix(in srgb,var(--info-accent),transparent 85%)}
.info-premium.theme-info-inherited .info-cover{background:linear-gradient(135deg,var(--gradient),var(--accent))}
.info-premium.theme-info-inherited .info-cover-shade{background:linear-gradient(180deg,#0001 0%,color-mix(in srgb,var(--info-bg),transparent 20%) 100%)}
.info-premium.theme-info-inherited .info-primary{background:var(--button-color,var(--accent));color:var(--button-text-color,var(--bg))}
.info-premium.theme-info-inherited .info-profile-logo{border-color:var(--info-accent)}

/* INFO: ventana sin franjas laterales, scrollbar visible ni cabecera desplazada */
.quick-info-open .quick-sheet{
 overflow-x:hidden;
 overflow-y:auto;
 scrollbar-width:none;
 -ms-overflow-style:none;
 box-sizing:border-box;
 isolation:isolate;
}
.quick-info-open .quick-sheet::-webkit-scrollbar{display:none;width:0;height:0}
.quick-info-open #quick-content{margin-top:0;width:100%;min-width:0}
.quick-info-open #quick-close{
 position:sticky;
 top:14px;
 float:right;
 margin:14px 14px -58px 0;
 width:42px;
 height:42px;
 display:grid;
 place-items:center;
 box-sizing:border-box;
 padding:0;
 border-radius:13px;
 z-index:20;
 background:rgba(12,17,20,.82);
 color:#fff;
 border:1px solid rgba(255,255,255,.65);
}
.quick-info-open .info-premium{box-sizing:border-box;width:100%;overflow:hidden}
.quick-info-open .info-cover{width:calc(100% + 56px);box-sizing:border-box}
.quick-info-open .info-cover img{display:block}
@media(max-width:600px){
 .quick-info-open .quick-sheet{width:100%;height:100dvh;max-height:100dvh;border-radius:0}
 .quick-info-open #quick-close{top:12px;margin:12px 12px -54px 0}
 .quick-info-open .info-cover{width:calc(100% + 34px)}
}

/* Etapa 2: tipografía y escala visual responsiva */
.premium-menu{font-family:var(--font-body,system-ui,sans-serif);font-size:var(--text-body-desktop,15px)}
.premium-menu .restaurant-hero h1,.premium-menu .welcome h2,.premium-menu .products-section h2,.premium-menu .info-profile h2{font-family:var(--font-heading,inherit);font-weight:var(--font-heading-weight,800)}
.premium-menu .welcome h2,.premium-menu .products-section h2{font-size:var(--text-heading-desktop,32px)}
.premium-menu .dish h3,.premium-menu .dish-info h3,.premium-menu .dish-info strong{font-family:var(--font-body,inherit);font-size:var(--text-product-desktop,17px)}
.premium-menu .dish-price,.premium-menu .dish .price,.premium-menu .dish-info .price{font-family:var(--font-price,inherit);font-size:var(--text-price-desktop,17px)}
@media(max-width:720px){
 .premium-menu{font-size:var(--text-body-mobile,14px)}
 .premium-menu .welcome h2,.premium-menu .products-section h2{font-size:var(--text-heading-mobile,27px)}
 .premium-menu .dish h3,.premium-menu .dish-info h3,.premium-menu .dish-info strong{font-size:var(--text-product-mobile,15px)}
 .premium-menu .dish-price,.premium-menu .dish .price,.premium-menu .dish-info .price{font-size:var(--text-price-mobile,16px)}
}

/* Etapa 3: diseños visuales de tarjetas y columnas */
.premium-menu .products{grid-template-columns:repeat(var(--card-cols,2),minmax(0,1fr))}
.premium-menu.card-shape-rounded .dish{border-radius:20px}
.premium-menu.card-shape-soft .dish{border-radius:10px}
.premium-menu.card-shape-square .dish{border-radius:3px}
.premium-menu.card-shape-pill .dish{border-radius:30px}
.premium-menu.card-shadow-none .dish{box-shadow:none}
.premium-menu.card-shadow-soft .dish{box-shadow:0 5px 17px rgba(0,0,0,.10)}
.premium-menu.card-shadow-strong .dish{box-shadow:0 12px 28px rgba(0,0,0,.21)}
.premium-menu.card-fit-contain .dish-photo{object-fit:contain}
.premium-menu.card-fit-cover .dish-photo{object-fit:cover}
.premium-menu.card-pad-compact .dish{padding:9px;gap:9px}
.premium-menu.card-pad-normal .dish{padding:14px;gap:14px}
.premium-menu.card-pad-spacious .dish{padding:21px;gap:20px}
@media(max-width:760px){.premium-menu .products{grid-template-columns:1fr}}

/* Etapa 4: controles de diseño seguros, por restaurante */
.premium-menu.button-shape-square button:not(.slide-arrow){border-radius:3px}
.premium-menu.button-shape-rounded button:not(.slide-arrow){border-radius:13px}
.premium-menu.button-shape-pill button:not(.slide-arrow){border-radius:999px}
.premium-menu.button-size-compact button:not(.slide-arrow){padding-block:6px}
.premium-menu.button-size-large button:not(.slide-arrow){padding-block:14px}
.premium-menu.button-weight-600 button{font-weight:600}
.premium-menu.button-weight-700 button{font-weight:700}
.premium-menu.button-weight-800 button{font-weight:800}
.premium-menu.button-outline-outlined .plus,.premium-menu.button-outline-outlined .quantity button,.premium-menu.button-outline-outlined .categories button{background:transparent;color:var(--accent);border:2px solid var(--accent)}
.premium-menu.adv-bg-gradient{background-image:linear-gradient(135deg,var(--bg),color-mix(in srgb,var(--gradient),var(--bg) 55%))}
.premium-menu.adv-bg-dots{background-image:radial-gradient(color-mix(in srgb,var(--ink),transparent 85%) 1px,transparent 1px);background-size:23px 23px}
.premium-menu.adv-bg-stripes{background-image:repeating-linear-gradient(130deg,transparent 0 22px,color-mix(in srgb,var(--ink),transparent 94%) 22px 24px)}
.premium-menu.adv-bg-glow{background-image:radial-gradient(ellipse at 20% 15%,color-mix(in srgb,var(--gradient),transparent 35%),transparent 60%)}
.premium-menu.bg-strength-soft{background-blend-mode:soft-light}
.premium-menu.bg-strength-strong{background-blend-mode:normal}
.premium-menu.bg-strength-medium{background-blend-mode:overlay}
.premium-menu.border-weight-none .dish,.premium-menu.border-weight-none .categories button{border-width:0}
.premium-menu.border-weight-thin .dish,.premium-menu.border-weight-thin .categories button{border-width:1px}
.premium-menu.border-weight-medium .dish,.premium-menu.border-weight-medium .categories button{border-width:2px}
.premium-menu.border-weight-bold .dish,.premium-menu.border-weight-bold .categories button{border-width:3px}
.premium-menu.border-kind-dashed .dish,.premium-menu.border-kind-dashed .categories button{border-style:dashed}
.premium-menu.border-kind-dotted .dish,.premium-menu.border-kind-dotted .categories button{border-style:dotted}
.premium-menu.surface-shadow-none .categories button{box-shadow:none}
.premium-menu.surface-shadow-soft .categories button{box-shadow:0 4px 12px #00000014}
.premium-menu.surface-shadow-medium .categories button{box-shadow:0 8px 22px #00000026}
.premium-menu.surface-shadow-strong .categories button{box-shadow:0 12px 32px #00000038}
.premium-menu.section-spacing-compact .welcome,.premium-menu.section-spacing-compact .categories{margin-block:8px}
.premium-menu.section-spacing-wide .welcome,.premium-menu.section-spacing-wide .categories{margin-block:32px}
.premium-menu.item-spacing-compact .products{gap:8px}
.premium-menu.item-spacing-wide .products{gap:26px}
.premium-menu.content-width-narrow .menu-content{max-width:920px;margin-inline:auto}
.premium-menu.content-width-wide .menu-content{max-width:1500px;margin-inline:auto}
@media(max-width:760px){.premium-menu.item-spacing-wide .products{gap:18px}.premium-menu.section-spacing-wide .categories{margin-block:20px}}

/* Etapa 5: efectos optativos, sin afectar interacciones */
.premium-menu.motion-speed-slow{--motion-duration:650ms}
.premium-menu.motion-speed-normal{--motion-duration:420ms}
.premium-menu.motion-speed-fast{--motion-duration:220ms}
@keyframes miMenuFade{from{opacity:0}to{opacity:1}}
@keyframes miMenuRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes miMenuScale{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.premium-menu.motion-in-fade .dish{animation:miMenuFade var(--motion-duration) ease both}
.premium-menu.motion-in-rise .dish{animation:miMenuRise var(--motion-duration) ease both}
.premium-menu.motion-in-scale .dish{animation:miMenuScale var(--motion-duration) ease both}
@media(hover:hover){
 .premium-menu.motion-hover-lift .dish{transition:transform var(--motion-duration,420ms) ease}
 .premium-menu.motion-hover-lift .dish:hover{transform:translateY(-5px)}
 .premium-menu.motion-hover-zoom .dish{transition:transform var(--motion-duration,420ms) ease}
 .premium-menu.motion-hover-zoom .dish:hover{transform:scale(1.015)}
 .premium-menu.motion-btn-pulse button:hover{filter:brightness(1.09)}
 .premium-menu.motion-btn-lift button:hover{transform:translateY(-2px)}
}
@media(prefers-reduced-motion:reduce){
 .premium-menu.motion-in-fade .dish,.premium-menu.motion-in-rise .dish,.premium-menu.motion-in-scale .dish{animation:none!important}
 .premium-menu.motion-hover-lift .dish,.premium-menu.motion-hover-zoom .dish{transition:none!important}
 .premium-menu.motion-hover-lift .dish:hover,.premium-menu.motion-hover-zoom .dish:hover,.premium-menu.motion-btn-lift button:hover{transform:none!important}
}


.premium-menu .dish-info .dish-description{font-size:clamp(12px,.87em,13px);line-height:1.35;margin:0 0 3px;white-space:pre-line;overflow-wrap:anywhere;opacity:.85}

/* La proporción de la foto depende solo de la forma elegida, nunca de los ingredientes. */
.premium-menu .dish .food-art{
 --dish-image-ratio:1 / 1;
 position:relative;
 width:126px;
 height:auto;
 min-width:0;
 min-height:0;
 flex:0 0 126px;
 align-self:flex-start;
 aspect-ratio:var(--dish-image-ratio);
 overflow:hidden;
 border-radius:14px;
}
.premium-menu .dish .food-art .dish-photo{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;object-position:center;border-radius:inherit}
.premium-menu.image-shape-square .dish .food-art{border-radius:0}
.premium-menu.image-shape-circle .dish .food-art{--dish-image-ratio:1 / 1;border-radius:50%}
.premium-menu.image-shape-landscape .dish .food-art{--dish-image-ratio:4 / 3}
.premium-menu.image-shape-portrait .dish .food-art{--dish-image-ratio:3 / 4}
.premium-menu.image-shape-wide .dish .food-art{--dish-image-ratio:16 / 9}
.premium-menu.product-style-vertical .dish .food-art{width:100%;min-height:0;flex:0 0 auto}
.premium-menu.product-style-compact .dish .food-art{width:65px;flex:0 0 65px}
@media(max-width:720px){
 .premium-menu:not(.product-style-vertical):not(.product-style-compact) .dish .food-art{width:115px;flex-basis:115px}
}
@media(max-width:390px){
 .premium-menu:not(.product-style-vertical):not(.product-style-compact) .dish .food-art{width:90px;flex-basis:90px}
}
.premium-menu.artwork-none .dish .food-art:has(.dish-photo){display:grid}

/* Tarjetas compactas: texto, precio y controles juntos sin vacíos entre filas. */
.premium-menu .products{align-items:start}
.premium-menu .dish{min-height:0;align-items:flex-start}
.premium-menu .dish-info{justify-content:flex-start;align-self:flex-start}
.premium-menu .dish-info h3{margin:3px 0 4px}
.premium-menu .dish-purchase{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 8px;margin-top:6px;min-width:0}
.premium-menu .dish-purchase strong{min-width:0;overflow-wrap:anywhere}
.premium-menu .dish-purchase .quantity{margin-top:0}
.premium-menu .quantity-preview .plus{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;border:1px solid var(--button-color,var(--accent));background:var(--button-color,var(--accent));color:var(--button-text-color,var(--bg));font-size:23px;font-weight:700;line-height:1}

.premium-menu .restaurant-pages{display:flex;justify-content:flex-end;padding-top:12px}.premium-menu .restaurant-pages a{color:var(--accent);font-weight:750;font-size:13px}

/* Etapa 1 · estado de atención */
.operation-banner{margin:0;padding:10px 18px;text-align:center;font-size:14px;font-weight:750;background:#ecfdf3;color:#166534}.operation-banner.is-closed{background:#fff2e5;color:#92360b}.quantity button:disabled{cursor:not-allowed;opacity:.56}

/* Etapa 2 · selección de platos y totales */
.edit-options-button{font-size:12px;border:1px solid currentColor;border-radius:9px;padding:6px 8px}.menu-options-fields{padding:14px 20px;display:grid;gap:14px;max-height:60vh;overflow:auto}.menu-options-fields fieldset{border:1px solid #9ca3af55;border-radius:12px;padding:12px}.menu-options-fields label{display:block}.menu-options-fields .option-choice{padding:5px 0}.menu-options-fields select{width:100%;padding:11px;margin-top:5px;border-radius:9px}.checkout-summary{padding:10px 0}.checkout-summary p{display:flex;justify-content:space-between;gap:8px;margin:5px 0}.cart-options-note{display:block;font-size:12px;opacity:.8;line-height:1.35;margin-top:3px}.checkout-summary .totals{border-top:1px solid #9ca3af55;padding-top:10px;margin-top:10px}

/* Etapa 2 · explicación accesible antes de enviar el pedido */
.checkout-warning{margin:8px 0 12px;padding:10px 12px;border-radius:10px;border:1px solid #df9d5c;background:#fff4e8;color:#82400b;font-size:13px;font-weight:650;line-height:1.45}

/* Explicit catalogue columns override inherited responsive layouts only when selected. */
.premium-menu[data-catalog-columns] .products{grid-template-columns:repeat(var(--catalog-cols),minmax(0,1fr))!important}
#preview .premium-menu[data-catalog-columns] .products{grid-template-columns:repeat(var(--catalog-cols),minmax(0,1fr))!important}
.premium-menu[data-catalog-device="mobile"][data-catalog-columns="2"] .dish{min-width:0}
.premium-menu[data-catalog-device="mobile"][data-catalog-columns="2"] .dish-info{padding:10px;min-width:0}
.premium-menu[data-catalog-device="mobile"][data-catalog-columns="2"] .dish-purchase{flex-wrap:wrap;gap:6px}
.premium-menu[data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish .food-art{width:48px;flex-basis:48px}
.premium-menu[data-catalog-device="mobile"][data-catalog-columns="2"] .dish h3{overflow-wrap:anywhere}

/* Catálogo · etapa 2. These rules affect only the chosen catalogue, never services or checkout. */
.catalog-layout,.catalog-layout .products-section{min-width:0}
.catalog-category-select{display:none}
.premium-menu[data-catalog-style]:not([data-catalog-style="current"]) .dish h3{overflow-wrap:anywhere}
.premium-menu[data-catalog-style]:not([data-catalog-style="current"]) .quantity button,
.premium-menu[data-catalog-style]:not([data-catalog-style="current"]) .quantity-preview .plus{min-width:44px;min-height:44px;width:auto;padding:0 10px}
.premium-menu[data-catalog-style="actual-mejorado"] .dish{border-radius:22px;box-shadow:0 5px 18px color-mix(in srgb,var(--ink),transparent 94%)}
.premium-menu[data-catalog-style="actual-mejorado"].category-style-tiles .categories button{border-radius:16px}
.premium-menu[data-catalog-style="actual-mejorado"][data-catalog-device="mobile"].category-style-tiles .categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;overflow:visible}
.premium-menu[data-catalog-style="actual-mejorado"][data-catalog-device="mobile"].category-style-tiles .categories button{min-width:0;min-height:76px;padding:8px 4px}
.premium-menu[data-catalog-style="carta-elegante"].category-style-minimal .categories{gap:0;border-bottom:1px solid var(--stroke)}
.premium-menu[data-catalog-style="carta-elegante"].category-style-minimal .categories button{border:0;border-radius:0;background:transparent;box-shadow:none;min-height:44px;padding:12px 18px}
.premium-menu[data-catalog-style="carta-elegante"].category-style-minimal .categories button.active{color:var(--accent);border-bottom:2px solid var(--accent)}
.premium-menu[data-catalog-style="carta-elegante"] .products{gap:0}
.premium-menu[data-catalog-style="carta-elegante"] .dish{border:0;border-bottom:1px solid var(--stroke);border-radius:0;box-shadow:none;background:transparent;padding:20px 0}
.premium-menu[data-catalog-style="carta-elegante"]:not([data-catalog-product-override]):not(.product-style-vertical) .dish{flex-direction:row-reverse}
.premium-menu[data-catalog-style="carta-elegante"].product-style-horizontal .dish .food-art{width:80px;flex-basis:80px}
.premium-menu[data-catalog-style="carta-elegante"] .dish h3{font-weight:500;letter-spacing:.015em}
.premium-menu[data-catalog-style="carta-elegante"] .dish-info>small{display:none}
.premium-menu[data-catalog-style="carta-elegante"] .dish-purchase{justify-content:flex-start;gap:16px}
.premium-menu[data-catalog-style="carta-elegante"][data-catalog-device="mobile"].product-style-horizontal .dish .food-art{width:64px;flex-basis:64px}
.premium-menu[data-catalog-style="galeria-gourmet"] .dish{border-radius:5px;padding:0;gap:0;overflow:hidden;box-shadow:none}
.premium-menu[data-catalog-style="galeria-gourmet"] .dish-info{padding:16px;width:100%;align-self:stretch}
.premium-menu[data-catalog-style="galeria-gourmet"] .dish h3{font-weight:500}
.premium-menu[data-catalog-style="galeria-gourmet"].category-style-minimal .categories button{border-radius:24px;min-height:44px;padding:10px 18px}
.premium-menu[data-catalog-style="galeria-gourmet"].category-style-minimal .categories button.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.premium-menu[data-catalog-style="comida-rapida"] .dish{border-radius:22px;box-shadow:0 6px 20px color-mix(in srgb,var(--accent),transparent 90%)}
.premium-menu[data-catalog-style="comida-rapida"] .dish h3{font-weight:800}
.premium-menu[data-catalog-style="comida-rapida"] .dish-info>small{display:none}
.premium-menu[data-catalog-style="comida-rapida"] .dish-purchase strong{font-size:1.2em;font-weight:850}
.premium-menu[data-catalog-style="comida-rapida"] .quantity .plus,.premium-menu[data-catalog-style="comida-rapida"] .quantity-preview .plus{border-radius:50%}
.premium-menu[data-catalog-style="comida-rapida"].category-style-tiles .categories button{background:transparent;border:0;box-shadow:none;min-width:90px}
.premium-menu[data-catalog-style="comida-rapida"].category-style-tiles .categories button span{border-radius:50%;background:var(--category-bg);width:52px;height:52px;display:grid;place-items:center;border:2px solid transparent}
.premium-menu[data-catalog-style="comida-rapida"].category-style-tiles .categories button.active{color:var(--accent)}
.premium-menu[data-catalog-style="comida-rapida"].category-style-tiles .categories button.active span{border-color:var(--accent)}
.premium-menu[data-catalog-style="comida-rapida"][data-catalog-device="mobile"].category-style-tiles .categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
.premium-menu[data-catalog-style="comida-rapida"][data-catalog-device="mobile"].category-style-tiles .categories button{min-width:0;padding:8px 3px}
.premium-menu[data-catalog-style="lista-compacta"] .dish{border-radius:12px;padding:10px;gap:12px;box-shadow:none}
.premium-menu[data-catalog-style="lista-compacta"] .dish-info>small{display:none}
.premium-menu[data-catalog-style="lista-compacta"].category-style-chips .categories button{min-height:44px;padding:8px 14px}
.premium-menu[data-catalog-style="lista-compacta"].category-style-chips .categories button span{display:none}
.premium-menu[data-catalog-sidebar="true"][data-catalog-device="desktop"] .catalog-layout{display:grid;grid-template-columns:minmax(150px,200px) minmax(0,1fr);gap:24px;align-items:start}
.premium-menu[data-catalog-sidebar="true"][data-catalog-device="desktop"] .categories{display:flex;flex-direction:column;overflow:visible;margin:0;padding-right:16px;border-right:1px solid var(--stroke)}
.premium-menu[data-catalog-sidebar="true"][data-catalog-device="desktop"] .categories button{width:100%;min-width:0;min-height:48px;justify-content:flex-start;border-radius:10px;text-align:left;white-space:normal}
.premium-menu[data-catalog-sidebar="true"][data-catalog-device="desktop"] .categories button small{overflow-wrap:anywhere}
.premium-menu[data-catalog-sidebar="true"][data-catalog-device="desktop"] .products-section{padding-top:0}
.premium-menu[data-catalog-sidebar="true"][data-catalog-device="mobile"] .categories{display:none}
.premium-menu[data-catalog-sidebar="true"][data-catalog-device="mobile"] .catalog-category-select{display:grid;gap:6px;font-size:14px;margin-bottom:16px;color:var(--ink)}
.catalog-category-select select{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--stroke);border-radius:10px;background:var(--category-bg,var(--bg));color:var(--ink);font:inherit}
.premium-menu[data-catalog-style="categorias-laterales"] .dish{border-radius:14px;box-shadow:none}
.premium-menu[data-catalog-style]:not([data-catalog-style="current"])[data-catalog-device="mobile"] .product-heading{flex-wrap:wrap}
.premium-menu[data-catalog-style]:not([data-catalog-style="current"])[data-catalog-device="mobile"] .dish-purchase{gap:6px;flex-wrap:wrap}
.premium-menu[data-catalog-style]:not([data-catalog-style="current"]) .dish[hidden]{display:none}
.premium-menu[data-catalog-style] .categories button:focus-visible,.catalog-category-select select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* Catálogo · etapa 3: seis composiciones italianas. */
.premium-menu[data-catalog-group="fine"] .dish{box-shadow:none}
.premium-menu[data-catalog-group="fine"] .dish h3{font-weight:500;letter-spacing:.012em;line-height:1.3}
.premium-menu[data-catalog-group="fine"] .dish-info>small{letter-spacing:.08em;text-transform:uppercase;font-size:10px}
.premium-menu[data-catalog-group="fine"] .dish-purchase{margin-top:12px}
.premium-menu[data-catalog-group="fine"].category-style-minimal .categories button{min-height:48px;background:transparent;border:0;box-shadow:none;padding:12px 16px;border-radius:0}
.premium-menu[data-catalog-group="fine"].category-style-minimal .categories button.active{color:var(--accent);border-bottom:2px solid var(--accent)}
.premium-menu[data-catalog-style="firenze"].category-style-minimal .categories{justify-content:center;border-block:1px solid var(--stroke);gap:6px;padding:8px 0}
.premium-menu[data-catalog-style="firenze"] .products{gap:18px}
.premium-menu[data-catalog-style="firenze"] .dish{border-radius:2px;padding:0;gap:0;border:1px solid var(--stroke)}
.premium-menu[data-catalog-style="firenze"] .dish-info{padding:18px;align-self:stretch}
.premium-menu[data-catalog-style="firenze"].product-style-horizontal .dish .food-art{width:112px;flex-basis:112px}
.premium-menu[data-catalog-style="firenze"][data-catalog-device="mobile"].product-style-horizontal .dish .food-art{width:88px;flex-basis:88px}
.premium-menu[data-catalog-style="milano"] .products{gap:26px 18px}
.premium-menu[data-catalog-style="milano"] .dish{border:0;border-radius:0;background:transparent;padding:0;gap:14px}
.premium-menu[data-catalog-style="milano"] .dish-info{width:100%;padding:0;align-self:stretch}
.premium-menu[data-catalog-style="milano"].category-style-chips .categories button{min-height:48px;padding:10px 18px;border-radius:30px}
.premium-menu[data-catalog-style="milano"].category-style-chips .categories button span{display:none}
.premium-menu[data-catalog-style="milano"] .quantity .plus,.premium-menu[data-catalog-style="milano"] .quantity-preview .plus{border-radius:50%}
.premium-menu[data-catalog-style="venezia"] .dish{padding:0;gap:0;border-radius:8px;overflow:hidden;background:#191f1b;border:1px solid #595e4b;color:#f3ecd9}
.premium-menu[data-catalog-style="venezia"] .dish-info{width:100%;align-self:stretch;padding:18px;background:#191f1b;color:#f3ecd9}
.premium-menu[data-catalog-style="venezia"] .dish-info h3,.premium-menu[data-catalog-style="venezia"] .dish-info>small,.premium-menu[data-catalog-style="venezia"] .dish-description{color:#f3ecd9}
.premium-menu[data-catalog-style="venezia"] .dish-purchase strong{color:#dec58a}
.premium-menu[data-catalog-style="venezia"] .quantity button:not(.plus){background:#232925;color:#f3ecd9;border-color:#727663}
.premium-menu[data-catalog-style="venezia"] .quantity b{color:#f3ecd9}
.premium-menu[data-catalog-style="venezia"] .edit-options-button{background:#232925;color:#f3ecd9;border-color:#727663}
.premium-menu[data-catalog-style="venezia"].product-style-vertical.image-shape-landscape:not([data-catalog-product-override]) .dish{display:grid;grid-template-columns:minmax(0,1fr)}
.premium-menu[data-catalog-style="venezia"].product-style-vertical.image-shape-landscape:not([data-catalog-product-override]) .dish .food-art{grid-area:1/1;align-self:start;border-radius:0}
.premium-menu[data-catalog-style="venezia"].product-style-vertical.image-shape-landscape:not([data-catalog-product-override]) .dish-info{grid-area:1/1;align-self:end;background:linear-gradient(transparent,#191f1bf2 36%);padding-top:44px;position:relative}
.premium-menu[data-catalog-style="venezia"].category-style-minimal .categories button small{text-transform:uppercase;letter-spacing:.08em}
.premium-menu[data-catalog-style="toscana"] .products{gap:20px}
.premium-menu[data-catalog-style="toscana"] .dish{border-radius:90px 90px 14px 14px;padding:18px;border:1px solid var(--stroke)}
.premium-menu[data-catalog-style="toscana"].product-style-vertical .dish{align-items:center;text-align:center}
.premium-menu[data-catalog-style="toscana"].product-style-vertical.image-shape-circle .dish .food-art{width:min(100%,156px);align-self:center}
.premium-menu[data-catalog-style="toscana"].product-style-vertical .dish-info{width:100%;align-self:stretch}
.premium-menu[data-catalog-style="toscana"].category-style-tiles .categories button{border:0;background:transparent;box-shadow:none;min-width:92px;border-radius:0}
.premium-menu[data-catalog-style="toscana"].category-style-tiles .categories button span{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--category-bg);border:1px solid var(--stroke)}
.premium-menu[data-catalog-style="toscana"].category-style-tiles .categories button.active{color:var(--accent);border-bottom:2px solid var(--accent)}
.premium-menu[data-catalog-style="toscana"][data-catalog-device="mobile"] .dish{padding:12px;border-radius:65px 65px 12px 12px}
.premium-menu[data-catalog-style="toscana"][data-catalog-device="mobile"] .products{gap:12px}
.premium-menu[data-catalog-style="toscana"][data-catalog-device="mobile"].product-style-vertical.image-shape-circle .dish .food-art{width:min(100%,120px)}
.premium-menu[data-catalog-style="roma"] .dish{border:0;border-bottom:1px solid var(--stroke);border-radius:0;padding:14px 0;background:transparent;gap:18px}
.premium-menu[data-catalog-style="roma"].product-style-horizontal .dish .food-art{width:84px;flex-basis:84px}
.premium-menu[data-catalog-style="roma"][data-catalog-columns="1"]:not([data-catalog-product-override]) .dish.catalog-featured{display:grid;grid-template-columns:minmax(0,45%) minmax(0,1fr);padding-bottom:24px}
.premium-menu[data-catalog-style="roma"][data-catalog-columns="1"]:not([data-catalog-product-override]) .dish.catalog-featured .food-art{width:100%;flex-basis:auto}
.premium-menu[data-catalog-style="roma"] .catalog-featured h3{font-size:1.4em}
.premium-menu[data-catalog-style="roma"][data-catalog-device="mobile"][data-catalog-columns="1"]:not([data-catalog-product-override]) .dish.catalog-featured{grid-template-columns:minmax(0,1fr);gap:14px}
.premium-menu[data-catalog-style="roma"][data-catalog-sidebar="true"][data-catalog-device="desktop"] .catalog-layout{grid-template-columns:minmax(130px,170px) minmax(0,1fr)}
.premium-menu[data-catalog-style="roma"][data-catalog-sidebar="true"][data-catalog-device="desktop"] .categories button.active{font-style:italic;background:transparent}
.premium-menu[data-catalog-style="degustacion"] .dish{border:0;border-bottom:1px solid var(--stroke);border-radius:0;padding:16px 0;gap:24px;background:transparent}
.premium-menu[data-catalog-style="degustacion"].product-style-horizontal:not([data-catalog-product-override]) .dish{display:grid;grid-template-columns:minmax(0,32%) minmax(0,1fr)}
.premium-menu[data-catalog-style="degustacion"].product-style-horizontal:not([data-catalog-product-override]) .dish .food-art{width:100%;flex-basis:auto}
.premium-menu[data-catalog-style="degustacion"][data-catalog-device="desktop"].product-style-horizontal:not([data-catalog-product-override]) .dish.catalog-alternate{grid-template-columns:minmax(0,1fr) minmax(0,32%)}
.premium-menu[data-catalog-style="degustacion"][data-catalog-device="desktop"].product-style-horizontal:not([data-catalog-product-override]) .catalog-alternate .food-art{grid-column:2;grid-row:1}
.premium-menu[data-catalog-style="degustacion"][data-catalog-device="desktop"].product-style-horizontal:not([data-catalog-product-override]) .catalog-alternate .dish-info{grid-column:1;grid-row:1}
.premium-menu[data-catalog-style="degustacion"][data-catalog-device="mobile"].product-style-horizontal:not([data-catalog-product-override]) .dish{grid-template-columns:minmax(0,28%) minmax(0,1fr);gap:12px}
.premium-menu[data-catalog-style="degustacion"].category-style-minimal .categories{counter-reset:catalog-course;gap:0;border-block:1px solid var(--stroke)}
.premium-menu[data-catalog-style="degustacion"].category-style-minimal .categories button{flex:1;min-width:100px;border-right:1px solid var(--stroke);display:flex;flex-direction:column;gap:6px;white-space:normal}
.premium-menu[data-catalog-style="degustacion"].category-style-minimal .categories button:not(:first-child){counter-increment:catalog-course}
.premium-menu[data-catalog-style="degustacion"].category-style-minimal .categories button:not(:first-child)::before{content:counter(catalog-course,decimal-leading-zero);font-size:11px;opacity:.7;letter-spacing:.15em}
.premium-menu[data-catalog-style="degustacion"].category-style-minimal .categories button small{overflow-wrap:anywhere}
.premium-menu[data-catalog-group="fine"][data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish{display:flex;flex-wrap:wrap;gap:8px;padding:10px}
.premium-menu[data-catalog-group="fine"][data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish .food-art{width:48px;flex-basis:48px}
.premium-menu .dish[hidden]{display:none!important}
.premium-menu[data-catalog-group="fine"][data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish-info{flex:1 1 90px;padding:0}

/* Catálogo · etapa 4: foodtrucks. Solo categorías y tarjetas. */
.premium-menu[data-catalog-group="truck"] .dish h3{font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.premium-menu[data-catalog-group="truck"] .dish-info>small{text-transform:uppercase;letter-spacing:.06em;font-size:10px}
.premium-menu[data-catalog-group="truck"] .dish-purchase{margin-top:12px;gap:8px}
.premium-menu[data-catalog-group="truck"] .categories button{min-height:48px}
.premium-menu[data-catalog-style="ruta-urbana"] .dish{border-radius:10px;padding:0;gap:0;overflow:hidden;border:2px solid var(--stroke);box-shadow:0 6px 0 color-mix(in srgb,var(--accent),transparent 80%)}
.premium-menu[data-catalog-style="ruta-urbana"] .dish-info{padding:16px;width:100%;align-self:stretch}
.premium-menu[data-catalog-style="ruta-urbana"] .dish-purchase strong{padding:7px 10px;border-radius:5px;background:color-mix(in srgb,var(--accent),var(--card-bg) 82%);border:1px solid color-mix(in srgb,var(--accent),transparent 50%)}
.premium-menu[data-catalog-style="ruta-urbana"].category-style-chips .categories button{border:2px solid var(--accent);border-radius:7px;padding:10px 16px;box-shadow:none}
.premium-menu[data-catalog-style="ruta-urbana"].category-style-chips .categories button span{display:none}
.premium-menu[data-catalog-style="ruta-urbana"].category-style-chips .categories button.active{background:var(--accent);color:var(--bg)}
.premium-menu[data-catalog-style="ruta-urbana"] .quantity .plus,.premium-menu[data-catalog-style="ruta-urbana"] .quantity-preview .plus{border-radius:6px}
.premium-menu[data-catalog-style="taqueria-tropical"] .products{gap:18px}
.premium-menu[data-catalog-style="taqueria-tropical"] .dish{border-radius:20px;padding:0;gap:0;overflow:hidden;box-shadow:none}
.premium-menu[data-catalog-style="taqueria-tropical"] .dish-info{padding:16px;width:100%;align-self:stretch}
.premium-menu[data-catalog-style="taqueria-tropical"] .dish h3{font-weight:650}
.premium-menu[data-catalog-style="taqueria-tropical"]:not([data-catalog-product-override]) .dish.catalog-featured{grid-column:1/-1}
.premium-menu[data-catalog-style="taqueria-tropical"][data-catalog-device="desktop"]:not([data-catalog-product-override]) .dish.catalog-featured{display:grid;grid-template-columns:minmax(0,55%) minmax(0,1fr)}
.premium-menu[data-catalog-style="taqueria-tropical"]:not([data-catalog-product-override]) .dish.catalog-featured .dish-info{padding:22px;align-self:center}
.premium-menu[data-catalog-style="taqueria-tropical"]:not([data-catalog-product-override]) .dish.catalog-featured h3{font-size:1.4em}
.premium-menu[data-catalog-style="taqueria-tropical"].category-style-tiles .categories{justify-content:space-around;border-block:1px solid var(--stroke);padding-block:10px}
.premium-menu[data-catalog-style="taqueria-tropical"].category-style-tiles .categories button{background:transparent;border:0;box-shadow:none;border-radius:0;min-width:82px;padding:8px 6px}
.premium-menu[data-catalog-style="taqueria-tropical"].category-style-tiles .categories button span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--category-bg);border:1px solid var(--stroke)}
.premium-menu[data-catalog-style="taqueria-tropical"].category-style-tiles .categories button.active{color:var(--accent);border-bottom:2px solid var(--accent)}
.premium-menu[data-catalog-style="taqueria-tropical"] .quantity .plus,.premium-menu[data-catalog-style="taqueria-tropical"] .quantity-preview .plus{border-radius:50%}
.premium-menu[data-catalog-style="parrilla-rodante"] .dish{border-radius:5px;padding:0;gap:0;overflow:hidden;box-shadow:none;background:#293029;color:#f3ead8;border:1px solid #535d4d}
.premium-menu[data-catalog-style="parrilla-rodante"] .dish-info{padding:16px;align-self:stretch;min-width:0}
.premium-menu[data-catalog-style="parrilla-rodante"] .dish-info h3,.premium-menu[data-catalog-style="parrilla-rodante"] .dish-info>small,.premium-menu[data-catalog-style="parrilla-rodante"] .dish-description{color:#f3ead8}
.premium-menu[data-catalog-style="parrilla-rodante"] .dish-purchase strong{color:#edaf6a}
.premium-menu[data-catalog-style="parrilla-rodante"] .quantity button:not(.plus),.premium-menu[data-catalog-style="parrilla-rodante"] .edit-options-button{color:#f3ead8;background:#293029;border-color:#89927d}
.premium-menu[data-catalog-style="parrilla-rodante"] .quantity b{color:#f3ead8}
.premium-menu[data-catalog-style="parrilla-rodante"].product-style-horizontal .dish .food-art{width:110px;flex-basis:110px}
.premium-menu[data-catalog-style="parrilla-rodante"][data-catalog-device="mobile"].product-style-horizontal .dish .food-art{width:88px;flex-basis:88px}
.premium-menu[data-catalog-style="parrilla-rodante"][data-catalog-columns="1"]:not([data-catalog-product-override]) .dish.catalog-featured{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,45%)}
.premium-menu[data-catalog-style="parrilla-rodante"][data-catalog-columns="1"]:not([data-catalog-product-override]) .dish.catalog-featured .food-art{width:100%;flex-basis:auto;grid-column:2;grid-row:1}
.premium-menu[data-catalog-style="parrilla-rodante"][data-catalog-columns="1"]:not([data-catalog-product-override]) .dish.catalog-featured .dish-info{grid-column:1;grid-row:1;align-self:center}
.premium-menu[data-catalog-style="parrilla-rodante"]:not([data-catalog-product-override]) .dish.catalog-featured h3{font-size:1.35em}
.premium-menu[data-catalog-style="parrilla-rodante"][data-catalog-device="mobile"][data-catalog-columns="1"]:not([data-catalog-product-override]) .dish.catalog-featured{grid-template-columns:minmax(0,1fr)}
.premium-menu[data-catalog-style="parrilla-rodante"][data-catalog-device="mobile"][data-catalog-columns="1"]:not([data-catalog-product-override]) .dish.catalog-featured .food-art{grid-column:1;grid-row:1}
.premium-menu[data-catalog-style="parrilla-rodante"][data-catalog-device="mobile"][data-catalog-columns="1"]:not([data-catalog-product-override]) .dish.catalog-featured .dish-info{grid-column:1;grid-row:2}
.premium-menu[data-catalog-style="parrilla-rodante"].category-style-chips .categories button{border-radius:5px;border-style:dashed;padding:12px}
.premium-menu[data-catalog-style="parrilla-rodante"].category-style-chips .categories button span{display:none}
.premium-menu[data-catalog-style="parrilla-rodante"][data-catalog-sidebar="true"][data-catalog-device="desktop"] .catalog-layout{grid-template-columns:minmax(130px,170px) minmax(0,1fr)}
.premium-menu[data-catalog-group="truck"][data-catalog-device="mobile"] .product-heading{flex-wrap:wrap}
.premium-menu[data-catalog-group="truck"][data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish{display:flex;flex-wrap:wrap;padding:10px;gap:8px}
.premium-menu[data-catalog-group="truck"][data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish .food-art{width:48px;flex-basis:48px}
.premium-menu[data-catalog-group="truck"][data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish-info{flex:1 1 90px;padding:0}

/* Catálogo · etapa 5: pizzerías. Efectos limitados a categorías y platos del estilo seleccionado. */
.premium-menu[data-catalog-group="pizza"] .dish h3{line-height:1.3;overflow-wrap:anywhere}
.premium-menu[data-catalog-group="pizza"] .dish-description{white-space:pre-line}
.premium-menu[data-catalog-group="pizza"] .categories button{min-height:44px}
.premium-menu[data-catalog-style="forno"] .products{gap:18px}
.premium-menu[data-catalog-style="forno"] .dish{background:transparent;border:1px solid var(--stroke);border-radius:3px;padding:12px;gap:12px;box-shadow:none}
.premium-menu[data-catalog-style="forno"] .dish-info{min-width:0;flex:1}
.premium-menu[data-catalog-style="forno"] .dish h3{font-weight:700}
.premium-menu[data-catalog-style="forno"].category-style-minimal .categories{border-block:1px solid var(--stroke);padding:7px 0;gap:4px;justify-content:center}
.premium-menu[data-catalog-style="forno"].category-style-minimal .categories button{background:transparent;border:0;border-radius:0;padding:11px 15px;box-shadow:none}
.premium-menu[data-catalog-style="forno"].category-style-minimal .categories button.active{color:var(--accent);border-bottom:2px solid var(--accent)}
.premium-menu[data-catalog-style="forno"].product-style-horizontal .dish .food-art{width:105px;flex-basis:105px}
.premium-menu[data-catalog-style="forno"][data-catalog-device="mobile"].product-style-horizontal .dish .food-art{width:82px;flex-basis:82px}
.premium-menu[data-catalog-style="forno"][data-catalog-device="mobile"] .dish{padding:10px;gap:10px}
.premium-menu[data-catalog-style="pizza-studio"] .products{gap:22px 16px}
.premium-menu[data-catalog-style="pizza-studio"] .dish{border:1px solid var(--stroke);border-radius:14px;padding:0;gap:0;overflow:hidden;box-shadow:none}
.premium-menu[data-catalog-style="pizza-studio"] .dish-info{min-width:0;flex:1;align-self:stretch;padding:15px}
.premium-menu[data-catalog-style="pizza-studio"].product-style-vertical .dish-info{width:100%}
.premium-menu[data-catalog-style="pizza-studio"] .dish h3{font-weight:800}
.premium-menu[data-catalog-style="pizza-studio"].category-style-chips .categories button{border-radius:999px;padding:10px 17px}
.premium-menu[data-catalog-style="pizza-studio"].category-style-chips .categories button span{display:none}
.premium-menu[data-catalog-style="pizza-studio"].category-style-chips .categories button.active{border-color:var(--accent);color:var(--accent)}
.premium-menu[data-catalog-style="pizza-studio"] .dish-purchase strong{font-weight:800;color:var(--price-color,var(--accent))}
.premium-menu[data-catalog-style="pizza-studio"][data-catalog-device="mobile"] .products{gap:10px}
.premium-menu[data-catalog-style="pizza-studio"][data-catalog-device="mobile"] .dish-info{padding:10px;min-width:0}
.premium-menu[data-catalog-style="slice-club"] .products{gap:16px}
.premium-menu[data-catalog-style="slice-club"] .dish{border:2px solid var(--stroke);border-radius:16px;padding:0;gap:0;overflow:hidden;box-shadow:0 5px 0 color-mix(in srgb,var(--accent),transparent 84%)}
.premium-menu[data-catalog-style="slice-club"] .dish-info{padding:15px;flex:1;min-width:0;align-self:stretch}
.premium-menu[data-catalog-style="slice-club"].product-style-vertical .dish-info{width:100%}
.premium-menu[data-catalog-style="slice-club"] .dish h3{font-weight:850}
.premium-menu[data-catalog-style="slice-club"] .dish-purchase strong{font-weight:850;color:var(--price-color,var(--accent))}
.premium-menu[data-catalog-style="slice-club"].category-style-tiles .categories{gap:9px}
.premium-menu[data-catalog-style="slice-club"].category-style-tiles .categories button{border:2px solid var(--stroke);border-radius:12px;padding:9px}
.premium-menu[data-catalog-style="slice-club"].category-style-tiles .categories button.active{border-color:var(--accent);color:var(--accent)}
.premium-menu[data-catalog-style="slice-club"]:not([data-catalog-product-override]) .dish.catalog-featured{grid-column:1/-1}
.premium-menu[data-catalog-style="slice-club"][data-catalog-device="desktop"]:not([data-catalog-product-override]) .dish.catalog-featured{display:grid;grid-template-columns:minmax(0,55%) minmax(0,1fr)}
.premium-menu[data-catalog-style="slice-club"][data-catalog-device="desktop"]:not([data-catalog-product-override]) .dish.catalog-featured .dish-info{align-self:center;padding:22px}
.premium-menu[data-catalog-style="slice-club"]:not([data-catalog-product-override]) .dish.catalog-featured h3{font-size:1.35em}
.premium-menu[data-catalog-style="slice-club"][data-catalog-device="mobile"] .dish-info{padding:10px}
.premium-menu[data-catalog-style="slice-club"][data-catalog-device="mobile"] .products{gap:11px}
.premium-menu[data-catalog-group="pizza"][data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish{display:flex;flex-wrap:wrap;padding:9px;gap:8px}
.premium-menu[data-catalog-group="pizza"][data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish .food-art{width:48px;flex-basis:48px}
.premium-menu[data-catalog-group="pizza"][data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish-info{flex:1 1 90px;padding:0}

/* Catálogo · Etapa 6: comida criolla y pica pollo.
   Solo cambia las tarjetas/categorías del estilo activo; pedidos y servicios permanecen intactos. */
.premium-menu[data-catalog-group="criollo"] .dish h3{line-height:1.3;overflow-wrap:anywhere}
.premium-menu[data-catalog-group="chicken"] .dish h3{line-height:1.25;overflow-wrap:anywhere}
.premium-menu[data-catalog-group="criollo"] .categories button,.premium-menu[data-catalog-group="chicken"] .categories button{min-height:44px}
.premium-menu[data-catalog-style="casa-criolla"] .products{gap:16px}
.premium-menu[data-catalog-style="casa-criolla"] .dish{border-radius:20px;padding:14px;gap:13px;border:1px solid color-mix(in srgb,var(--accent),var(--stroke) 75%);box-shadow:0 5px 16px color-mix(in srgb,var(--ink),transparent 94%)}
.premium-menu[data-catalog-style="casa-criolla"] .dish-info{min-width:0;flex:1}
.premium-menu[data-catalog-style="casa-criolla"] .dish h3{font-weight:750}
.premium-menu[data-catalog-style="casa-criolla"].category-style-tiles .categories button{border-radius:17px;border:1px solid var(--stroke);box-shadow:none}
.premium-menu[data-catalog-style="casa-criolla"].category-style-tiles .categories button.active{border-color:var(--accent);color:var(--accent)}
.premium-menu[data-catalog-style="casa-criolla"] .dish-purchase strong{font-weight:800;color:var(--price-color,var(--accent))}
.premium-menu[data-catalog-style="casa-criolla"][data-catalog-device="mobile"] .dish{padding:10px;gap:9px}

.premium-menu[data-catalog-style="almuerzo-express"] .products{gap:8px}
.premium-menu[data-catalog-style="almuerzo-express"] .dish{padding:9px 12px;border-radius:9px;border:1px solid var(--stroke);box-shadow:none;gap:12px;align-items:center}
.premium-menu[data-catalog-style="almuerzo-express"] .dish-info{min-width:0;flex:1}
.premium-menu[data-catalog-style="almuerzo-express"] .dish h3{font-weight:800}
.premium-menu[data-catalog-style="almuerzo-express"] .dish-purchase{margin-top:5px}
.premium-menu[data-catalog-style="almuerzo-express"] .dish-purchase strong{font-weight:850;color:var(--price-color,var(--accent))}
.premium-menu[data-catalog-style="almuerzo-express"].category-style-chips .categories{gap:8px}
.premium-menu[data-catalog-style="almuerzo-express"].category-style-chips .categories button{padding:8px 15px;border-radius:999px}
.premium-menu[data-catalog-style="almuerzo-express"].category-style-chips .categories button span{display:none}
.premium-menu[data-catalog-style="almuerzo-express"][data-catalog-device="mobile"] .dish{padding:9px;gap:9px}

.premium-menu[data-catalog-style="patio-tropical"] .products{gap:21px}
.premium-menu[data-catalog-style="patio-tropical"] .dish{border-radius:90px 90px 18px 18px;border:1px solid var(--stroke);padding:16px;box-shadow:0 7px 18px color-mix(in srgb,var(--accent),transparent 93%)}
.premium-menu[data-catalog-style="patio-tropical"].product-style-vertical .dish{align-items:center;text-align:center}
.premium-menu[data-catalog-style="patio-tropical"].product-style-vertical .dish-info{width:100%;min-width:0;align-self:stretch}
.premium-menu[data-catalog-style="patio-tropical"].product-style-vertical.image-shape-circle .dish .food-art{width:min(100%,164px);align-self:center}
.premium-menu[data-catalog-style="patio-tropical"] .dish h3{font-weight:750}
.premium-menu[data-catalog-style="patio-tropical"].category-style-tiles .categories button{background:transparent;border:0;box-shadow:none;min-width:85px}
.premium-menu[data-catalog-style="patio-tropical"].category-style-tiles .categories button span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--category-bg);border:1px solid var(--stroke)}
.premium-menu[data-catalog-style="patio-tropical"].category-style-tiles .categories button.active{color:var(--accent);border-bottom:2px solid var(--accent)}
.premium-menu[data-catalog-style="patio-tropical"][data-catalog-device="mobile"] .products{gap:10px}
.premium-menu[data-catalog-style="patio-tropical"][data-catalog-device="mobile"] .dish{border-radius:70px 70px 12px 12px;padding:10px}
.premium-menu[data-catalog-style="patio-tropical"][data-catalog-device="mobile"].product-style-vertical.image-shape-circle .dish .food-art{width:min(100%,124px)}

.premium-menu[data-catalog-style="mesa-dominicana"] .products{gap:0}
.premium-menu[data-catalog-style="mesa-dominicana"] .dish{border:0;border-bottom:1px solid var(--stroke);border-radius:0;background:transparent;padding:16px 0;gap:18px;box-shadow:none}
.premium-menu[data-catalog-style="mesa-dominicana"] .dish-info{min-width:0;flex:1}
.premium-menu[data-catalog-style="mesa-dominicana"] .dish h3{font-weight:650;letter-spacing:.01em}
.premium-menu[data-catalog-style="mesa-dominicana"].product-style-horizontal .dish .food-art{width:92px;flex-basis:92px}
.premium-menu[data-catalog-style="mesa-dominicana"][data-catalog-sidebar="true"][data-catalog-device="desktop"] .catalog-layout{grid-template-columns:minmax(140px,190px) minmax(0,1fr)}
.premium-menu[data-catalog-style="mesa-dominicana"].category-style-minimal .categories button{border-radius:0;background:transparent;box-shadow:none}
.premium-menu[data-catalog-style="mesa-dominicana"].category-style-minimal .categories button.active{color:var(--accent);border-bottom:2px solid var(--accent)}
.premium-menu[data-catalog-style="mesa-dominicana"][data-catalog-columns="1"]:not([data-catalog-product-override]) .dish.catalog-featured{display:grid;grid-template-columns:minmax(0,43%) minmax(0,1fr);padding-bottom:22px}
.premium-menu[data-catalog-style="mesa-dominicana"][data-catalog-columns="1"]:not([data-catalog-product-override]) .dish.catalog-featured .food-art{width:100%;flex-basis:auto}
.premium-menu[data-catalog-style="mesa-dominicana"]:not([data-catalog-product-override]) .dish.catalog-featured h3{font-size:1.35em}
.premium-menu[data-catalog-style="mesa-dominicana"][data-catalog-device="mobile"][data-catalog-columns="1"]:not([data-catalog-product-override]) .dish.catalog-featured{grid-template-columns:minmax(0,1fr);gap:12px}
.premium-menu[data-catalog-style="mesa-dominicana"][data-catalog-device="mobile"].product-style-horizontal .dish .food-art{width:85px;flex-basis:85px}
.premium-menu[data-catalog-style="mesa-dominicana"][data-catalog-device="mobile"] .dish{gap:12px}

.premium-menu[data-catalog-style="pica-popular"] .products{gap:16px}
.premium-menu[data-catalog-style="pica-popular"] .dish{border:2px solid var(--stroke);border-radius:18px;padding:0;gap:0;overflow:hidden;box-shadow:0 6px 0 color-mix(in srgb,var(--accent),transparent 85%)}
.premium-menu[data-catalog-style="pica-popular"] .dish-info{padding:15px;min-width:0;flex:1;align-self:stretch}
.premium-menu[data-catalog-style="pica-popular"].product-style-vertical .dish-info{width:100%}
.premium-menu[data-catalog-style="pica-popular"] .dish h3{font-weight:850}
.premium-menu[data-catalog-style="pica-popular"] .dish-purchase strong{font-weight:850;color:var(--price-color,var(--accent))}
.premium-menu[data-catalog-style="pica-popular"].category-style-tiles .categories{gap:8px}
.premium-menu[data-catalog-style="pica-popular"].category-style-tiles .categories button{border:2px solid var(--stroke);border-radius:12px;padding:8px;box-shadow:none}
.premium-menu[data-catalog-style="pica-popular"].category-style-tiles .categories button.active{border-color:var(--accent);color:var(--accent)}
.premium-menu[data-catalog-style="pica-popular"]:not([data-catalog-product-override]) .dish.catalog-featured{grid-column:1/-1}
.premium-menu[data-catalog-style="pica-popular"][data-catalog-device="desktop"]:not([data-catalog-product-override]) .dish.catalog-featured{display:grid;grid-template-columns:minmax(0,54%) minmax(0,1fr)}
.premium-menu[data-catalog-style="pica-popular"][data-catalog-device="desktop"]:not([data-catalog-product-override]) .dish.catalog-featured .dish-info{align-self:center;padding:23px}
.premium-menu[data-catalog-style="pica-popular"]:not([data-catalog-product-override]) .dish.catalog-featured h3{font-size:1.35em}
.premium-menu[data-catalog-style="pica-popular"][data-catalog-device="mobile"] .products{gap:11px}
.premium-menu[data-catalog-style="pica-popular"][data-catalog-device="mobile"] .dish-info{padding:10px}

.premium-menu[data-catalog-style="pollo-express"] .products{gap:11px}
.premium-menu[data-catalog-style="pollo-express"] .dish{border:1px solid var(--stroke);border-left:4px solid var(--accent);border-radius:9px;padding:10px;gap:10px;box-shadow:none}
.premium-menu[data-catalog-style="pollo-express"] .dish-info{min-width:0;flex:1}
.premium-menu[data-catalog-style="pollo-express"] .dish h3{font-weight:850}
.premium-menu[data-catalog-style="pollo-express"] .dish-purchase strong{font-weight:850;color:var(--price-color,var(--accent))}
.premium-menu[data-catalog-style="pollo-express"].category-style-chips .categories button{border-radius:8px;padding:10px 15px}
.premium-menu[data-catalog-style="pollo-express"].category-style-chips .categories button span{display:none}
.premium-menu[data-catalog-style="pollo-express"].category-style-chips .categories button.active{background:var(--accent);color:var(--bg)}
.premium-menu[data-catalog-style="pollo-express"].product-style-horizontal .dish .food-art{width:90px;flex-basis:90px}
.premium-menu[data-catalog-style="pollo-express"][data-catalog-device="mobile"] .dish{padding:9px;gap:9px}
.premium-menu[data-catalog-style="pollo-express"][data-catalog-device="mobile"].product-style-compact .dish .food-art{width:60px;flex-basis:60px}

/* Las preferencias del restaurante para tarjeta horizontal/compacta se respetan también en móvil. */
.premium-menu:is([data-catalog-group="criollo"],[data-catalog-group="chicken"])[data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish{display:flex;flex-wrap:wrap;gap:8px;padding:9px;border-radius:11px}
.premium-menu:is([data-catalog-group="criollo"],[data-catalog-group="chicken"])[data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish .food-art{width:48px;flex-basis:48px}
.premium-menu:is([data-catalog-group="criollo"],[data-catalog-group="chicken"])[data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish-info{flex:1 1 90px;padding:0}

/* Catálogo · Etapa 7: cafeterías y restaurantes de playa.
   Todas las reglas son locales al diseño, no cambian pedidos ni otros restaurantes. */
.premium-menu[data-catalog-group="cafe"] .dish h3,
.premium-menu[data-catalog-group="sea"] .dish h3{line-height:1.3;overflow-wrap:anywhere}
.premium-menu[data-catalog-group="cafe"] .categories button,
.premium-menu[data-catalog-group="sea"] .categories button{min-height:44px}
.premium-menu[data-catalog-group="cafe"] .dish-info,
.premium-menu[data-catalog-group="sea"] .dish-info{min-width:0}
.premium-menu[data-catalog-style="cafe-calido"] .products{gap:16px}
.premium-menu[data-catalog-style="cafe-calido"] .dish{border:1px solid var(--stroke);border-radius:20px;padding:13px;gap:12px;box-shadow:0 5px 15px color-mix(in srgb,var(--ink),transparent 95%)}
.premium-menu[data-catalog-style="cafe-calido"] .dish h3{font-weight:750}
.premium-menu[data-catalog-style="cafe-calido"] .dish-info{flex:1}
.premium-menu[data-catalog-style="cafe-calido"].category-style-chips .categories button{border-radius:999px;padding:10px 17px;box-shadow:none}
.premium-menu[data-catalog-style="cafe-calido"].category-style-chips .categories button span{display:none}
.premium-menu[data-catalog-style="cafe-calido"].category-style-chips .categories button.active{border-color:var(--accent);color:var(--accent)}
.premium-menu[data-catalog-style="cafe-calido"] .dish-purchase strong{color:var(--price-color,var(--accent));font-weight:800}
.premium-menu[data-catalog-style="cafe-calido"].product-style-horizontal .dish .food-art{width:105px;flex-basis:105px}
.premium-menu[data-catalog-style="cafe-calido"][data-catalog-device="mobile"] .dish{padding:10px;gap:9px}
.premium-menu[data-catalog-style="cafe-calido"][data-catalog-device="mobile"] .products{gap:10px}

.premium-menu[data-catalog-style="brunch-editorial"] .products{gap:24px 17px}
.premium-menu[data-catalog-style="brunch-editorial"] .dish{background:transparent;border:0;border-bottom:1px solid var(--stroke);border-radius:0;box-shadow:none;padding:0 0 18px;gap:12px}
.premium-menu[data-catalog-style="brunch-editorial"] .dish-info{flex:1;align-self:stretch;padding:0}
.premium-menu[data-catalog-style="brunch-editorial"].product-style-vertical .dish-info{width:100%}
.premium-menu[data-catalog-style="brunch-editorial"] .dish h3{font-weight:600;letter-spacing:.01em}
.premium-menu[data-catalog-style="brunch-editorial"] .dish-info>small{font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.premium-menu[data-catalog-style="brunch-editorial"].category-style-minimal .categories{justify-content:center;gap:0;border-bottom:1px solid var(--stroke)}
.premium-menu[data-catalog-style="brunch-editorial"].category-style-minimal .categories button{background:transparent;border:0;border-radius:0;padding:12px 17px;box-shadow:none}
.premium-menu[data-catalog-style="brunch-editorial"].category-style-minimal .categories button.active{color:var(--accent);border-bottom:2px solid var(--accent)}
.premium-menu[data-catalog-style="brunch-editorial"] .dish-purchase strong{font-weight:750}
.premium-menu[data-catalog-style="brunch-editorial"][data-catalog-device="mobile"] .products{gap:13px}
.premium-menu[data-catalog-style="brunch-editorial"][data-catalog-device="mobile"] .dish{padding-bottom:12px}
.premium-menu[data-catalog-style="brunch-editorial"][data-catalog-device="mobile"] .dish-info{padding:0}

.premium-menu[data-catalog-style="brisa-marina"] .products{gap:19px}
.premium-menu[data-catalog-style="brisa-marina"] .dish{border:1px solid var(--stroke);border-radius:17px;padding:0;gap:0;overflow:hidden;box-shadow:0 5px 17px color-mix(in srgb,var(--accent),transparent 94%)}
.premium-menu[data-catalog-style="brisa-marina"] .dish-info{flex:1;padding:15px;align-self:stretch}
.premium-menu[data-catalog-style="brisa-marina"].product-style-vertical .dish-info{width:100%}
.premium-menu[data-catalog-style="brisa-marina"] .dish h3{font-weight:750}
.premium-menu[data-catalog-style="brisa-marina"].category-style-tiles .categories{gap:10px}
.premium-menu[data-catalog-style="brisa-marina"].category-style-tiles .categories button{border:1px solid var(--stroke);border-radius:14px;box-shadow:none}
.premium-menu[data-catalog-style="brisa-marina"].category-style-tiles .categories button.active{border-color:var(--accent);color:var(--accent)}
.premium-menu[data-catalog-style="brisa-marina"] .dish-purchase strong{color:var(--price-color,var(--accent));font-weight:800}
.premium-menu[data-catalog-style="brisa-marina"][data-catalog-device="mobile"] .dish-info{padding:10px}
.premium-menu[data-catalog-style="brisa-marina"][data-catalog-device="mobile"] .products{gap:10px}

.premium-menu[data-catalog-style="costa-gourmet"] .products{gap:18px}
.premium-menu[data-catalog-style="costa-gourmet"] .dish{background:transparent;border:1px solid var(--stroke);border-radius:4px;padding:0;gap:0;overflow:hidden;box-shadow:none}
.premium-menu[data-catalog-style="costa-gourmet"] .dish-info{flex:1;padding:16px;align-self:stretch}
.premium-menu[data-catalog-style="costa-gourmet"].product-style-vertical .dish-info{width:100%}
.premium-menu[data-catalog-style="costa-gourmet"] .dish h3{font-weight:600;letter-spacing:.015em}
.premium-menu[data-catalog-style="costa-gourmet"] .dish-info>small{font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.premium-menu[data-catalog-style="costa-gourmet"].category-style-minimal .categories{border-block:1px solid var(--stroke);justify-content:center;gap:0;padding:6px 0}
.premium-menu[data-catalog-style="costa-gourmet"].category-style-minimal .categories button{background:transparent;border:0;border-radius:0;box-shadow:none;padding:11px 17px}
.premium-menu[data-catalog-style="costa-gourmet"].category-style-minimal .categories button.active{color:var(--accent);border-bottom:2px solid var(--accent)}
.premium-menu[data-catalog-style="costa-gourmet"] .dish-purchase strong{color:var(--price-color,var(--accent));font-weight:750}
.premium-menu[data-catalog-style="costa-gourmet"]:not([data-catalog-product-override]) .dish.catalog-featured{grid-column:1/-1}
.premium-menu[data-catalog-style="costa-gourmet"][data-catalog-device="desktop"]:not([data-catalog-product-override]) .dish.catalog-featured{display:grid;grid-template-columns:minmax(0,57%) minmax(0,1fr)}
.premium-menu[data-catalog-style="costa-gourmet"][data-catalog-device="desktop"]:not([data-catalog-product-override]) .dish.catalog-featured .dish-info{align-self:center;padding:24px}
.premium-menu[data-catalog-style="costa-gourmet"]:not([data-catalog-product-override]) .dish.catalog-featured h3{font-size:1.4em}
.premium-menu[data-catalog-style="costa-gourmet"][data-catalog-device="mobile"] .dish-info{padding:12px}
.premium-menu[data-catalog-style="costa-gourmet"][data-catalog-device="mobile"] .products{gap:12px}

/* An explicit horizontal/compact choice remains readable in two-column mobile layouts. */
.premium-menu:is([data-catalog-group="cafe"],[data-catalog-group="sea"])[data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish{display:flex;flex-wrap:wrap;gap:8px;padding:9px;border-radius:11px}
.premium-menu:is([data-catalog-group="cafe"],[data-catalog-group="sea"])[data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish .food-art{width:48px;flex-basis:48px}
.premium-menu:is([data-catalog-group="cafe"],[data-catalog-group="sea"])[data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish-info{flex:1 1 90px;width:auto;padding:0}

/* Catálogo · Etapa 8: sushi, heladería y repostería.
   Reglas exclusivamente del estilo seleccionado: no afectan otros restaurantes. */
.premium-menu:is([data-catalog-group="sushi"],[data-catalog-group="sweet"]) .dish h3{line-height:1.3;overflow-wrap:anywhere}
.premium-menu:is([data-catalog-group="sushi"],[data-catalog-group="sweet"]) .dish-description{white-space:pre-line;overflow-wrap:anywhere}
.premium-menu:is([data-catalog-group="sushi"],[data-catalog-group="sweet"]) .categories button{min-height:44px}
.premium-menu:is([data-catalog-group="sushi"],[data-catalog-group="sweet"]) .dish-info{min-width:0}

/* Kuro: tarjetas alargadas de inspiración japonesa, sin sustituir contenido de las piezas. */
.premium-menu[data-catalog-style="kuro"] .products{gap:15px}
.premium-menu[data-catalog-style="kuro"] .dish{background:#1b1b20;color:#f8f3ed;border:1px solid #4b343b;border-left:3px solid #bc4352;border-radius:3px;padding:13px;gap:13px;box-shadow:none}
.premium-menu[data-catalog-style="kuro"] .dish-info{flex:1;align-self:center}
.premium-menu[data-catalog-style="kuro"] .dish h3{font-weight:750;color:#fff8f2}
.premium-menu[data-catalog-style="kuro"] .dish-description,.premium-menu[data-catalog-style="kuro"] .dish-info>small{color:#e6d9d6;opacity:1}
.premium-menu[data-catalog-style="kuro"] .dish-purchase strong{color:#ffd6d0;font-weight:800}
.premium-menu[data-catalog-style="kuro"] .quantity b{color:#f8f3ed}
.premium-menu[data-catalog-style="kuro"].product-style-horizontal .dish .food-art{width:112px;flex-basis:112px;border-radius:3px}
.premium-menu[data-catalog-style="kuro"].category-style-minimal .categories{border-block:1px solid var(--stroke);justify-content:center;gap:3px;padding:5px 0}
.premium-menu[data-catalog-style="kuro"].category-style-minimal .categories button{background:transparent;border:0;border-radius:0;box-shadow:none;padding:10px 17px}
.premium-menu[data-catalog-style="kuro"].category-style-minimal .categories button.active{border-bottom:2px solid #bc4352;color:var(--ink)}
.premium-menu[data-catalog-style="kuro"][data-catalog-device="mobile"] .dish{padding:10px;gap:10px}
.premium-menu[data-catalog-style="kuro"][data-catalog-device="mobile"].product-style-horizontal .dish .food-art{width:90px;flex-basis:90px}

/* Sushi Urbano: galería fotográfica y primer roll visible destacado. */
.premium-menu[data-catalog-style="sushi-urbano"] .products{gap:17px}
.premium-menu[data-catalog-style="sushi-urbano"] .dish{border:2px solid var(--stroke);border-radius:13px;padding:0;gap:0;overflow:hidden;box-shadow:0 4px 0 color-mix(in srgb,var(--accent),transparent 86%)}
.premium-menu[data-catalog-style="sushi-urbano"] .dish-info{flex:1;align-self:stretch;padding:14px}
.premium-menu[data-catalog-style="sushi-urbano"].product-style-vertical .dish-info{width:100%}
.premium-menu[data-catalog-style="sushi-urbano"] .dish h3{font-weight:850}
.premium-menu[data-catalog-style="sushi-urbano"] .dish-purchase strong{font-weight:850;color:var(--price-color,var(--accent))}
.premium-menu[data-catalog-style="sushi-urbano"].category-style-chips .categories button{border-radius:5px;padding:10px 15px}
.premium-menu[data-catalog-style="sushi-urbano"].category-style-chips .categories button span{display:none}
.premium-menu[data-catalog-style="sushi-urbano"].category-style-chips .categories button.active{border-color:var(--accent);color:var(--accent)}
.premium-menu[data-catalog-style="sushi-urbano"]:not([data-catalog-product-override]) .dish.catalog-featured{grid-column:1/-1}
.premium-menu[data-catalog-style="sushi-urbano"][data-catalog-device="desktop"]:not([data-catalog-product-override]) .dish.catalog-featured{display:grid;grid-template-columns:minmax(0,57%) minmax(0,1fr)}
.premium-menu[data-catalog-style="sushi-urbano"][data-catalog-device="desktop"]:not([data-catalog-product-override]) .dish.catalog-featured .dish-info{align-self:center;padding:24px}
.premium-menu[data-catalog-style="sushi-urbano"]:not([data-catalog-product-override]) .dish.catalog-featured h3{font-size:1.35em}
.premium-menu[data-catalog-style="sushi-urbano"][data-catalog-device="mobile"] .products{gap:11px}
.premium-menu[data-catalog-style="sushi-urbano"][data-catalog-device="mobile"] .dish-info{padding:10px}

/* Dulce Nube: tarjetas y fotografías circulares de helados, toppings y postres. */
.premium-menu[data-catalog-style="dulce-nube"] .products{gap:18px}
.premium-menu[data-catalog-style="dulce-nube"] .dish{border:1px solid var(--stroke);border-radius:75px 75px 17px 17px;padding:16px;box-shadow:0 7px 16px color-mix(in srgb,var(--accent),transparent 93%)}
.premium-menu[data-catalog-style="dulce-nube"].product-style-vertical .dish{align-items:center;text-align:center}
.premium-menu[data-catalog-style="dulce-nube"] .dish-info{flex:1;align-self:stretch}
.premium-menu[data-catalog-style="dulce-nube"].product-style-vertical .dish-info{width:100%}
.premium-menu[data-catalog-style="dulce-nube"] .dish h3{font-weight:800}
.premium-menu[data-catalog-style="dulce-nube"] .dish-purchase strong{color:var(--price-color,var(--accent));font-weight:800}
.premium-menu[data-catalog-style="dulce-nube"].product-style-vertical.image-shape-circle .dish .food-art{width:min(100%,160px);align-self:center}
.premium-menu[data-catalog-style="dulce-nube"].category-style-tiles .categories{gap:8px}
.premium-menu[data-catalog-style="dulce-nube"].category-style-tiles .categories button{border:1px solid var(--stroke);border-radius:19px;box-shadow:none}
.premium-menu[data-catalog-style="dulce-nube"].category-style-tiles .categories button.active{border-color:var(--accent);color:var(--accent)}
.premium-menu[data-catalog-style="dulce-nube"][data-catalog-device="mobile"] .products{gap:10px}
.premium-menu[data-catalog-style="dulce-nube"][data-catalog-device="mobile"] .dish{border-radius:65px 65px 13px 13px;padding:10px}
.premium-menu[data-catalog-style="dulce-nube"][data-catalog-device="mobile"].product-style-vertical.image-shape-circle .dish .food-art{width:min(100%,125px)}

/* Pastelería Boutique: portada editorial del primer postre y galería vertical. */
.premium-menu[data-catalog-style="pasteleria-boutique"] .products{gap:17px}
.premium-menu[data-catalog-style="pasteleria-boutique"] .dish{border:1px solid var(--stroke);border-radius:4px;padding:0;gap:0;overflow:hidden;box-shadow:none}
.premium-menu[data-catalog-style="pasteleria-boutique"] .dish-info{flex:1;align-self:stretch;padding:17px}
.premium-menu[data-catalog-style="pasteleria-boutique"].product-style-vertical .dish-info{width:100%}
.premium-menu[data-catalog-style="pasteleria-boutique"] .dish h3{font-weight:650;letter-spacing:.01em}
.premium-menu[data-catalog-style="pasteleria-boutique"] .dish-info>small{font-size:10px;letter-spacing:.07em;text-transform:uppercase}
.premium-menu[data-catalog-style="pasteleria-boutique"] .dish-purchase strong{font-weight:750;color:var(--price-color,var(--accent))}
.premium-menu[data-catalog-style="pasteleria-boutique"].category-style-minimal .categories{gap:0;justify-content:center;border-bottom:1px solid var(--stroke)}
.premium-menu[data-catalog-style="pasteleria-boutique"].category-style-minimal .categories button{background:transparent;border:0;border-radius:0;box-shadow:none;padding:11px 17px}
.premium-menu[data-catalog-style="pasteleria-boutique"].category-style-minimal .categories button.active{border-bottom:2px solid var(--accent);color:var(--accent)}
.premium-menu[data-catalog-style="pasteleria-boutique"]:not([data-catalog-product-override]) .dish.catalog-featured{grid-column:1/-1}
.premium-menu[data-catalog-style="pasteleria-boutique"][data-catalog-device="desktop"]:not([data-catalog-product-override]) .dish.catalog-featured{display:grid;grid-template-columns:minmax(0,48%) minmax(0,1fr)}
.premium-menu[data-catalog-style="pasteleria-boutique"][data-catalog-device="desktop"]:not([data-catalog-product-override]) .dish.catalog-featured .dish-info{align-self:center;padding:26px}
.premium-menu[data-catalog-style="pasteleria-boutique"]:not([data-catalog-product-override]) .dish.catalog-featured h3{font-size:1.4em}
.premium-menu[data-catalog-style="pasteleria-boutique"][data-catalog-device="mobile"] .dish-info{padding:12px}
.premium-menu[data-catalog-style="pasteleria-boutique"][data-catalog-device="mobile"] .products{gap:13px}

/* Tarjetas horizontales/compactas de dos columnas elegidas manualmente en móvil. */
.premium-menu:is([data-catalog-group="sushi"],[data-catalog-group="sweet"])[data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish{display:flex;flex-wrap:wrap;gap:8px;padding:9px;border-radius:11px}
.premium-menu:is([data-catalog-group="sushi"],[data-catalog-group="sweet"])[data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish .food-art{width:48px;flex-basis:48px}
.premium-menu:is([data-catalog-group="sushi"],[data-catalog-group="sweet"])[data-catalog-device="mobile"][data-catalog-columns="2"]:not(.product-style-vertical) .dish-info{flex:1 1 90px;width:auto;padding:0}

/* Núcleo de búsqueda híbrido — barra, Spotlight y pantalla táctil. */
.premium-menu .search.search-modern{display:flex;align-items:center;gap:0;max-width:100%}
.premium-menu .search.search-modern input{flex:1;min-width:0;padding-inline:18px 8px;border-radius:17px 0 0 17px}
.premium-menu .search.search-modern #search-launch{height:60px;min-width:60px;padding:0 15px;border:1px solid var(--stroke);border-left:0;border-radius:0 17px 17px 0;background:var(--button-color,var(--accent));color:var(--button-text-color,var(--bg));cursor:pointer;font-size:27px}
.premium-menu .search.search-modern #search-launch:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.premium-menu .search.search-icon-only{justify-content:flex-end}
.premium-menu .search.search-icon-only input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.premium-menu .search.search-icon-only #search-launch{border:1px solid var(--stroke);border-radius:50%;width:56px;height:56px}
.premium-menu .search.search-disabled{display:none}
body.smart-search-open{overflow:hidden}
.smart-search-overlay[hidden]{display:none!important}
.smart-search-overlay{position:fixed;inset:0;z-index:220;display:grid;place-items:start center;padding:12vh 16px 16px;box-sizing:border-box}
.smart-search-overlay .smart-search-dim{position:absolute;inset:0;background:#0a101abf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.smart-search-dialog{position:relative;z-index:1;width:min(690px,100%);max-height:min(78vh,780px);overflow:hidden;display:flex;flex-direction:column;border-radius:24px;border:1px solid var(--stroke);background:var(--surface,var(--bg));color:var(--ink);box-shadow:0 30px 100px #0007}
.smart-search-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--stroke)}
.smart-search-header>span{font-size:29px;color:var(--accent)}
.smart-search-header input{flex:1;min-width:0;width:100%;height:46px;border:0;outline:0;background:transparent;color:inherit;font-size:17px}
.smart-search-header button{border:1px solid var(--stroke);background:var(--surface,var(--bg));color:var(--ink);border-radius:10px;width:42px;height:42px;cursor:pointer}
.smart-search-tip{padding:10px 20px;color:var(--ink);opacity:.68;font-size:12px}
.smart-search-suggestions{display:flex;gap:7px;flex-wrap:wrap;padding:0 20px 9px}
.smart-search-suggestions:empty{display:none}
.smart-search-suggestions button{border:1px solid var(--stroke);background:var(--surface,var(--bg));color:var(--ink);padding:9px 13px;border-radius:999px;cursor:pointer;min-height:42px}
.smart-search-results{min-height:80px;overflow:auto;overscroll-behavior:contain;padding:0 12px 12px}
.smart-search-result{display:flex;gap:12px;align-items:center;padding:13px 8px;border-bottom:1px solid var(--stroke);min-width:0}
.smart-search-result:hover,.smart-search-result:focus-within{background:color-mix(in srgb,var(--accent),transparent 94%);border-radius:12px}
.smart-search-art{width:70px;height:70px;flex:0 0 70px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent),var(--bg) 85%);border-radius:13px;font-size:32px;overflow:hidden}
.smart-search-art img{width:100%;height:100%;display:block;object-fit:cover}
.smart-search-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px;overflow-wrap:anywhere}
.smart-search-copy small{opacity:.6;font-size:11px}
.smart-search-copy b{font-size:15px}
.smart-search-copy>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;opacity:.78;line-height:1.35}
.smart-search-result>strong{font-size:14px;color:var(--price-color,var(--accent));white-space:nowrap}
.smart-search-actions{display:flex;gap:6px}
.smart-search-actions button{border:1px solid var(--stroke);border-radius:11px;padding:10px 11px;min-height:42px;background:var(--button-color,var(--accent));color:var(--button-text-color,var(--bg));font-weight:700;cursor:pointer}
.smart-search-actions button:focus-visible,.smart-search-suggestions button:focus-visible{outline:3px solid var(--accent);outline-offset:1px}
.smart-search-actions button:disabled{opacity:.5;cursor:not-allowed}
.smart-search-actions .smart-search-plus{min-width:42px;font-size:22px}
.smart-search-empty{margin:0;padding:30px 18px;text-align:center;color:var(--ink);opacity:.72}
.smart-search-footer{padding:10px 20px;border-top:1px solid var(--stroke);font-size:11px;opacity:.68}
.smart-search-overlay[data-mode="fullscreen"]{padding:0}
.smart-search-overlay[data-mode="fullscreen"] .smart-search-dialog{width:100vw;height:100dvh;max-height:none;max-width:none;border-radius:0;border:none}
@media(max-width:720px){
 .smart-search-overlay:not([data-mode="spotlight"]){padding:0}
 .smart-search-overlay:not([data-mode="spotlight"]) .smart-search-dialog{width:100vw;max-height:100dvh;height:100dvh;border:0;border-radius:0}
 .smart-search-header{padding:14px 12px}
 .smart-search-header input{font-size:16px}
 .smart-search-art{width:54px;height:54px;flex-basis:54px;font-size:26px}
 .smart-search-result{flex-wrap:wrap;gap:8px;padding:12px 5px}
 .smart-search-copy{flex:1 1 140px}
 .smart-search-actions{margin-left:auto}
 .smart-search-result>strong{order:2}
 .smart-search-actions{order:3}
 .smart-search-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.smart-search-overlay .smart-search-dim{backdrop-filter:none;-webkit-backdrop-filter:none}}
