/* v0.3 extends the established layout. Venue skins use shared color tokens. */
:root { --venue-bg:#172015; --venue-fg:#f3eee5; --venue-accent:#e3c393; }
.theme-frecuencia,[data-venue="frecuencia"] { --venue-bg:#101410; --venue-fg:#f4f2ea; --venue-accent:#fff; }
.theme-casacasco,[data-venue="casacasco"] { --venue-bg:#e5ddcc; --venue-fg:#29392d; --venue-accent:#405342; }
.theme-zoen,[data-venue="zoen"] { --venue-bg:#14262b; --venue-fg:#f3e6ce; --venue-accent:#d1ac71; }
.theme-kobore,[data-venue="kobore"] { --venue-bg:#ede5cf; --venue-fg:#344533; --venue-accent:#685630; }
.theme-plaza,[data-venue="plaza"] { --venue-bg:#f9f6ec; --venue-fg:#294c57; --venue-accent:#984d31; }
.theme-terraza,[data-venue="terraza"] { --venue-bg:#d5e4e1; --venue-fg:#26454e; --venue-accent:#714b39; }
.theme-faro,[data-venue="faro"] { --venue-bg:#193e4b; --venue-fg:#f2ecdc; --venue-accent:#e2c891; }
.theme-raza,[data-venue="raza"] { --venue-bg:#302c21; --venue-fg:#ede6d3; --venue-accent:#c4b794; }
.theme-amar,[data-venue="amar"] { --venue-bg:#efe0d6; --venue-fg:#673730; --venue-accent:#864d3e; }
.theme-corona,[data-venue="corona"] { --venue-bg:#203d32; --venue-fg:#f2e4c6; --venue-accent:#dfbf7b; }
.carousel-section { background:#e9e3d8; }
.editorial-tabs { display:flex; gap:30px; overflow-x:auto; scrollbar-width:thin; padding:10px 0 22px; margin-bottom:20px; }
.editorial-tabs button { flex:0 0 auto; background:none; color:#67695f; border:0; border-bottom:1px solid transparent; border-radius:0; min-height:44px; padding:9px 0; font-size:14px; }
.editorial-tabs button[aria-pressed="true"] { color:#172015; border-color:#172015; }
.venue-stage { touch-action:pan-y; }
.editorial-slide { display:grid; grid-template-columns:1.2fr 1fr; background:var(--venue-bg); color:var(--venue-fg); min-height:520px; overflow:hidden; border-radius:4px; animation:slide-in 320ms ease both; }
.slide-visual { position:relative; min-height:520px; overflow:hidden; }
.slide-visual>img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; transition:scale 500ms; }
.slide-visual:hover>img { scale:1.025; }
.slide-copy { display:flex; flex-direction:column; justify-content:center; padding:55px 45px; min-width:0; }
.slide-copy h3 { font-size:clamp(42px,4.4vw,66px); overflow-wrap:anywhere; }
.slide-copy p { font-size:16px; max-width:430px; }
.slide-copy .actions { gap:20px; }
.slide-button { background:var(--venue-accent); color:var(--venue-bg); }
.theme-casacasco .slide-button,.theme-kobore .slide-button,.theme-plaza .slide-button,.theme-terraza .slide-button,.theme-amar .slide-button { color:#fff; }
.asset-note { position:absolute; bottom:15px; left:15px; right:15px; max-width:max-content; background:#101510e6; color:#fff; padding:8px 12px; font:11px/1.5 Arial,sans-serif; border:1px solid #ffffff50; }
.carousel-bottom { display:flex; align-items:center; justify-content:space-between; padding-top:18px; }
.carousel-bottom .fine { margin:0; }
.carousel-arrows { display:flex; gap:12px; }
.carousel-arrows button { width:46px; height:46px; background:transparent; border:1px solid #888c7a; border-radius:50%; color:#20301f; transition:background 150ms; }
.carousel-arrows button:hover { background:#d5d1c5; }
@keyframes slide-in { from { opacity:.45; } to {opacity:1;} }
.venue-hero { display:grid; grid-template-columns:1.15fr 1fr; background:var(--venue-bg); color:var(--venue-fg); min-height:600px; }
.venue-hero-photo { position:relative; min-height:540px; }
.venue-hero-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.venue-hero-copy { padding:70px 12%; display:flex; flex-direction:column; justify-content:center; min-width:0; }
.venue-hero-copy h1 { font-size:clamp(50px,5.6vw,80px); overflow-wrap:anywhere; }
.venue-hero-copy .status { white-space:normal; align-self:flex-start; border-color:currentColor; }
.venue-intro>p { max-width:700px; }
body[data-page="venue"],body[data-page="menu"] { background:var(--venue-bg); color:var(--venue-fg); }
body[data-page="venue"] .breadcrumbs,body[data-page="menu"] .breadcrumbs { border-bottom:1px solid #8885; }
body[data-page="venue"] .outline,body[data-page="menu"] .outline { border-color:currentColor; }
body[data-page="venue"] .fine,body[data-page="menu"] .fine,body[data-page="venue"] .agenda p { color:inherit; opacity:.8; }
body[data-page="venue"] .header,body[data-page="menu"] .header { color:#f3eee5; }
body[data-page="venue"] .menu,body[data-page="menu"] .menu { color:#f3eee5; }
.venue-reservation { background:#171d16; color:#f3eee5; }
.casacasco-group { margin-top:50px; }
.casacasco-group>h3 { font-size:30px; padding-bottom:18px; border-bottom:1px solid #909a8755; }
.casacasco-children { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.child-preview { background:var(--venue-bg); color:var(--venue-fg); border:1px solid #909a8755; position:relative; overflow:hidden; }
.child-preview>img { width:100%; height:280px; object-fit:cover; }
.child-preview>div { padding:30px; }
.child-preview h4 { font:40px/1.1 Georgia,serif; margin:0 0 18px; }
.child-preview p { font-size:14px; }
.child-preview .asset-note { position:static; display:block; margin:15px 15px 0; }
.menu-heading { padding:70px 7% 50px; background:var(--venue-bg); color:var(--venue-fg); border-bottom:1px solid #969c8555; }
.menu-heading h1 { font-size:clamp(60px,8vw,105px); }
.menu-disclaimer { max-width:800px; font-size:14px; padding-left:20px; border-left:2px solid var(--venue-accent); }
.menu-disclaimer strong { display:block; margin-bottom:7px; }
.menu-children { padding:25px 7%; gap:30px; flex-wrap:wrap; }
.menu-filters { display:flex; gap:14px; overflow-x:auto; padding-bottom:15px; }
.menu-filters button { flex-shrink:0; border:1px solid #8e967988; border-radius:30px; background:transparent; color:inherit; min-height:44px; padding:10px 20px; font-size:13px; }
.menu-filters button[aria-pressed="true"] { background:var(--venue-fg); color:var(--venue-bg); border-color:var(--venue-fg); }
.menu-items { display:grid; grid-template-columns:1fr 1fr; gap:0 50px; margin-top:28px; }
.menu-item { padding:30px 0; border-top:1px solid #939b8655; }
.menu-item[hidden] { display:none; }
.menu-item h2 { font-size:29px; margin-bottom:14px; }
.menu-item .eyebrow { font-size:10px; opacity:.8; }
.menu-item p { font-size:14px; opacity:.85; max-width:440px; }
.menu-item-title { display:flex; justify-content:space-between; gap:20px; align-items:start; }
.menu-price { font-size:11px; white-space:nowrap; margin-top:8px; }
body[data-page="menu"][data-venue="frecuencia"] .menu-heading h1 { font-family:Impact,'Arial Narrow',sans-serif; text-transform:uppercase; }
body[data-page="menu"][data-venue="kobore"] .menu-heading h1 { font-style:italic; }
body[data-page="menu"][data-venue="zoen"] .menu-heading { border-bottom:5px solid #743235; }
body[data-page="menu"][data-venue="plaza"] .menu-heading { border-bottom:5px solid #ba7149; }
@media(max-width:1000px) { .slide-copy {padding:35px 30px;} .venue-hero-copy{padding:50px 8%;} }
@media(max-width:760px) {
 .editorial-tabs {gap:24px; padding-bottom:15px;} .editorial-tabs button{font-size:13px;}
 .editorial-slide,.venue-hero {grid-template-columns:1fr;}
 .slide-visual{min-height:280px;height:280px;} .slide-copy{padding:32px 25px;min-height:315px;}
 .slide-copy h3{font-size:43px;} .slide-copy p{font-size:14px;} .slide-copy .actions{margin-top:15px;}
 .venue-hero-photo{min-height:320px;} .venue-hero-copy{padding:40px 6%;}
 .venue-hero-copy h1{font-size:52px;}
 .casacasco-children,.menu-items{grid-template-columns:1fr;}
 .child-preview>img{height:260px;}
 .menu-heading{padding:50px 6% 35px;}
 .menu-section{padding-top:30px;}
 .menu-item-title{display:block;} .menu-price{display:block;margin:0 0 15px;}
 .menu-item h2{margin-bottom:8px;}
 .menu-children{padding:20px 6%;gap:20px;}
}
@media(prefers-reduced-motion:reduce) { .editorial-slide{animation:none;} .slide-visual:hover>img{scale:1;} }
.venue-stage img { user-select: none; -webkit-user-drag: none; }
.breadcrumbs { flex-wrap: wrap; }
