/* Portadas con identidad: cada familia conserva su composición y tipografía. */
html[data-identity-clean] [hidden]{display:none!important}
html[data-identity-clean] :is(#logoOrb,#logoSeal){background:none;border:0;box-shadow:none;transform:none;border-radius:0;width:88px;height:72px;padding:0}
html[data-identity-clean] :is(#logoOrb,#logoSeal) img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
html[data-identity-clean] #logoOrb{margin-bottom:24px}
html[data-identity-clean] #logoSeal{flex:0 0 64px;width:64px;height:64px}
html[data-original-style="artesanal"] .logo-mark:has(#logoSeal img) .hero-city{display:none}
html[data-identity-clean] :is(h1,.client-wordmark){overflow-wrap:anywhere}

/* Nocturno: fotografía a sangre, nombre editorial y menos marcos superpuestos. */
html[data-original-style="nocturno"] .app-shell{max-width:1280px;padding:0 20px}
html[data-original-style="nocturno"] .topbar{position:relative;top:auto;background:transparent;border:0;box-shadow:none;backdrop-filter:none;min-height:60px;justify-content:flex-end}
html[data-original-style="nocturno"] :is(.topbar,.controls){margin-inline:0}
html[data-original-style="nocturno"] .topbar .brand-chip{display:none}
html[data-original-style="nocturno"] .hero{isolation:isolate;border-radius:4px;border:0;min-height:560px;background:#191510;box-shadow:none;overflow:hidden}
html[data-original-style="nocturno"] .hero::before,html[data-original-style="nocturno"] .hero::after{display:none}
html[data-original-style="nocturno"] .hero-media{position:absolute;inset:0;opacity:1;filter:none;transform:none}
html[data-original-style="nocturno"] .hero-media img{width:100%;height:100%;object-fit:cover;opacity:.8;filter:none}
html[data-original-style="nocturno"] .hero-media .placeholder{display:none}
html[data-original-style="nocturno"] .item-media:has(.placeholder){display:none}
html[data-original-style="nocturno"] .item-card:has(.item-media .placeholder){grid-template-columns:1fr}
html[data-original-style="nocturno"] .hero-media{background:radial-gradient(ellipse at 90% 5%,color-mix(in srgb,var(--brand) 27%,transparent),transparent 65%)}
html[data-original-style="nocturno"] .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,12,9,.94),rgba(15,12,9,.3)),linear-gradient(0deg,rgba(15,12,9,.7),transparent 60%)}
html[data-original-style="nocturno"] .hero-inner{position:relative;z-index:1;padding:64px 52px 30px;min-height:560px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:24px}
html[data-original-style="nocturno"] #heroTitle{max-width:11ch;font-size:clamp(58px,7.5vw,104px);line-height:.94;letter-spacing:-.055em;color:#fff8e9;text-shadow:none;margin:0}
html[data-original-style="nocturno"] #heroCopy{max-width:39ch;color:#eee2d1;font-size:17px;line-height:1.6;margin:20px 0 0}
html[data-original-style="nocturno"] .hero-actions{margin:0;gap:10px}
html[data-original-style="nocturno"] .hero-actions :is(a,button){border-radius:4px;padding:14px 20px}
html[data-original-style="nocturno"] .info-row{width:100%;margin-top:18px;padding-top:20px;border-top:1px solid #ffffff30;gap:16px}
html[data-original-style="nocturno"] .info-pill{border:0;background:transparent;box-shadow:none;border-radius:0;padding:0}

/* Artesanal: papel cálido + fotografía recortada, sin placa plástica ni sello ficticio. */
html[data-original-style="artesanal"] .hero{border:0;border-radius:2px;box-shadow:none;background:#f5ecdc;overflow:hidden}
html[data-original-style="artesanal"] .hero::before,html[data-original-style="artesanal"] .hero::after{display:none}
html[data-original-style="artesanal"] .hero-media{position:absolute;inset:0 0 0 49%;background-position:center;background-size:cover;opacity:1;filter:none;transform:none;border-radius:48% 0 0 0}
html[data-original-style="artesanal"] .hero-media::after{display:none}
html[data-original-style="artesanal"] .hero-content{position:relative;min-height:590px;padding:30px 38px;color:#302315;display:flex;flex-direction:column;justify-content:space-between}
html[data-original-style="artesanal"] .hero-content .topbar{align-items:flex-start;gap:16px}
html[data-original-style="artesanal"] .logo-mark{max-width:48%;gap:12px}
html[data-original-style="artesanal"] .hero-city{color:#66503b;opacity:1;max-width:24ch;line-height:1.45;font-size:12px}
html[data-original-style="artesanal"] .hero-copy{width:48%;padding:72px 16px 24px 0}
html[data-original-style="artesanal"] #heroTitle{color:#342314;text-shadow:none;font-size:clamp(52px,6vw,82px);line-height:.98;letter-spacing:-.045em;margin:0}
html[data-original-style="artesanal"] #heroTagline{color:#71583e;font-size:16px;line-height:1.6;margin:22px 0 0;text-shadow:none}
html[data-original-style="artesanal"] .hero-actions{margin-top:26px}
html[data-original-style="artesanal"] .hero .btn-primary{border-radius:4px;background:var(--brand);box-shadow:none}
html[data-original-style="artesanal"] .hero .btn-soft{border-radius:4px;background:#e8ddca;color:#47321c}

/* Dulce e italiana: la marca ocupa el lugar de los reclamos prefabricados. */
html[data-original-style="heladeria"] .hero-main{padding-top:30px;padding-bottom:20px}
html[data-original-style="heladeria"] .client-wordmark{font-size:clamp(46px,8vw,90px);max-width:12ch;line-height:1.02}
html[data-original-style="heladeria"] .hero-feature{display:none}
html[data-original-style="pizzeria"] .hero-copy{max-width:860px}
html[data-original-style="pizzeria"] #restaurantName{max-width:13ch}
@media(max-width:650px){
 html[data-original-style="nocturno"] .app-shell{padding:0 12px}
 html[data-original-style="nocturno"] .hero-inner{padding:120px 25px 26px;min-height:560px;gap:22px}
 html[data-original-style="nocturno"] #heroTitle{font-size:64px}
 html[data-original-style="nocturno"] .hero-media::after{background:linear-gradient(0deg,rgba(15,12,9,.98),rgba(15,12,9,.3))}
 html[data-original-style="nocturno"] .info-row{grid-template-columns:1fr 1fr;gap:18px}
 html[data-original-style="artesanal"] #app .hero{display:flex;flex-direction:column;min-height:0}
 html[data-original-style="artesanal"] #app .hero-content{order:1;padding:24px 24px 30px;min-height:0;justify-content:flex-start}
 html[data-original-style="artesanal"] .hero-media{order:2;position:relative;inset:auto;width:76%;height:290px;margin-left:24%;border-radius:48% 0 0 0;flex:none}
 html[data-original-style="artesanal"] .hero-copy{width:100%;padding:38px 0 0;max-width:100%}
 html[data-original-style="artesanal"] #heroTitle{max-width:10ch;font-size:56px}
 html[data-original-style="artesanal"] #heroTagline{max-width:24ch;font-size:14px;margin-top:14px}
 html[data-original-style="artesanal"] .hero-actions{max-width:210px;margin-top:24px;position:relative;z-index:1}
 html[data-original-style="artesanal"] .hero-city{font-size:11px}
 html[data-long-business-name="true"][data-original-style="artesanal"] #heroTitle,
 html[data-long-business-name="true"][data-original-style="nocturno"] #heroTitle{font-size:40px;line-height:1.04;max-width:100%;letter-spacing:-.035em}
}
@media print{
 html[data-original-style="nocturno"] .hero,html[data-original-style="nocturno"] .hero-inner{min-height:65mm}
 html[data-original-style="nocturno"] .hero-inner{padding:8mm}
 html[data-original-style="artesanal"] .hero-content{min-height:65mm;padding:8mm}
 html[data-original-style="artesanal"] .hero-copy{padding:4mm 0}
 html[data-original-style="artesanal"] .hero-media{inset:0 0 0 52%}
 html[data-original-style="artesanal"] #heroTitle,html[data-original-style="nocturno"] #heroTitle{font-size:34pt}
}

/* Contrato común de lectura para los diseños originales. */
@media screen{
 html[data-identity-clean] :is(.dish-desc,.dish-description,.item-desc){display:block!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;max-height:none!important;overflow:visible!important;text-overflow:clip!important}
}
@media screen and (max-width:760px){
 html,body{max-width:100%;overflow-x:clip}
 html[data-identity-clean] :is(main,.app-shell,.shell,.hero,.hero-inner,.hero-content,.category,.category-section,.category-head,.category-head>div,.section-title-row,.section-head,.items-grid,.dish-grid,.menu-grid){min-width:0;max-width:100%}
 html[data-identity-clean] :is(h1,.client-wordmark,#restaurantName,#heroTitle){max-width:100%!important;overflow-wrap:anywhere;word-break:normal}
 html[data-long-business-name="true"] :is(h1,.client-wordmark,#restaurantName,#heroTitle){font-size:clamp(36px,11vw,52px)!important;line-height:1.02!important;letter-spacing:-.035em!important}
 html[data-identity-clean] :is(.category h2,.category-title h2,.cat-head h2,.section-title-row h2,.section-head h2){min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
 html[data-identity-clean] :is(.category h2,.category-title h2,.cat-head h2,.section-title-row h2,.section-head h2)[data-long-title="true"]{font-size:clamp(28px,8.2vw,38px)!important;line-height:1.04!important;letter-spacing:-.025em!important}
 html[data-identity-clean] .section-title-row{flex-wrap:wrap}
 html[data-identity-clean] :is(.tabs,.category-tabs,.nav-scroller){max-width:100%;overscroll-behavior-x:contain}
 html[data-identity-clean] :is(.tab,.category-tab){min-height:44px;max-width:78vw;white-space:normal;line-height:1.15;overflow-wrap:anywhere}
}
