/* Página de inicio y ajustes generales de la web pública */
body[class*="hero-"] .eyebrow{text-transform:none;letter-spacing:0;font-size:1rem;color:var(--ink);opacity:.7;font-weight:500}
body[class*="hero-"] .site-footer{background:var(--ink)}
body[class*="hero-"] a:focus-visible,body[class*="hero-"] button:focus-visible,body[class*="hero-"] summary:focus-visible,body[class*="hero-"] input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}

/* Portada cartel */
.h-poster{padding:clamp(1.5rem,4vw,3rem) 0 clamp(2.5rem,6vw,5rem);background:var(--background)}
.h-name{font-size:clamp(3.2rem,11.2vw,10.4rem);line-height:.92;letter-spacing:-.035em;color:var(--ink);margin:0;font-weight:700;overflow-wrap:anywhere}
.h-tag{font-size:clamp(1.2rem,2.3vw,1.75rem);font-style:italic;color:var(--ink);margin:.9rem 0 clamp(1.5rem,3vw,2.4rem);max-width:34em;line-height:1.3}
.h-stage{display:grid;grid-template-columns:minmax(0,7fr) minmax(330px,5fr);align-items:stretch}
.h-stage.no-photo{grid-template-columns:minmax(0,1fr)}
.h-photo{margin:0;min-height:clamp(320px,42vw,540px)}
.h-photo img{width:100%;height:100%;object-fit:cover;display:block}
.h-panel{background:var(--ink);color:#fff;padding:clamp(1.5rem,3vw,2.6rem);display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem}
.h-panel h2{color:#fff;font-size:clamp(1.7rem,2.8vw,2.4rem);line-height:1.05;margin:0;font-weight:700}
.h-form legend{font-size:1rem;margin-bottom:.45rem;padding:0}
.h-days{border:0;padding:0;margin:0}
.h-days label{display:inline-block;margin:0 .3rem .3rem 0;cursor:pointer}
.h-days input{position:absolute;opacity:0}
.h-days span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;padding:.5rem .45rem;border:1.5px solid currentColor;border-radius:4px;line-height:1.15}
.h-days small{font-size:.8rem}.h-days b{font-size:1.45rem;font-family:"RHead",serif}
.h-days input:checked+span{background:var(--gold);color:var(--on-gold,#fff);border-color:var(--gold)}
.h-party{display:flex;align-items:center;gap:.7rem;margin:.8rem 0 1rem}
.h-party select{width:5.2rem;padding:.5rem .4rem;border-radius:4px;border:1.5px solid currentColor;background:transparent;color:inherit;font:inherit}
.h-party select option{color:#111}
.h-form .btn{width:100%;border-radius:4px;font-size:1.05rem;padding:.85rem 1rem}
.h-panel-foot{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;align-items:baseline;font-size:1.02rem;border-top:1px solid rgba(255,255,255,.25);padding-top:.9rem}
.h-panel-foot a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.h-status{margin:0;margin-right:auto}.h-status.is-open b{color:var(--gold)}
.h-panel .h-status.is-open b{color:var(--gold)}
@media(max-width:820px){.h-stage{grid-template-columns:minmax(0,1fr)}.h-photo{min-height:0;height:62vw}.h-stage>*{min-width:0}}

/* Reserva bajo otras portadas */
.h-bar{background:var(--ink);color:#fff;padding:1.1rem 0}
.h-bar-in{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem}
.h-form.in-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem}
.in-bar legend{display:none}.in-bar .h-days label{margin-bottom:0}.in-bar .h-party{margin:0}.in-bar.h-form .btn{width:auto}.in-bar .h-days span{padding:.25rem .4rem;min-width:56px}.in-bar .h-days b{font-size:1.1rem}

/* Secciones */
.h-sec{padding:clamp(3.2rem,7vw,6rem) 0}
.h-h2{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1;letter-spacing:-.02em;color:var(--ink);margin:0 0 1.8rem}
.h-link{color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;text-decoration-color:var(--gold);font-weight:700}
.h-center{text-align:center;margin-top:1.4rem}

/* Pizarra del menú del día */
.h-board{background:var(--gold);color:var(--on-gold,#fff)}
.h-board-in{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(2rem,5vw,4.5rem)}
.h-board h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1;margin:0;color:inherit}
.h-board-price{font-family:"RHead",serif;font-size:clamp(3.4rem,7vw,5.6rem);line-height:1.05;margin:.35rem 0 .4rem;font-weight:700}
.h-board .btn{margin-top:1.1rem;background:var(--ink);color:#fff;border-radius:4px}
.h-board-courses{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1.6rem}
.h-board-courses h3{font-size:1.25rem;margin:0 0 .55rem;color:inherit;border-bottom:2px solid currentColor;padding-bottom:.3rem}
.h-board-courses ul{list-style:none;margin:0;padding:0}.h-board-courses li{padding:.28rem 0;font-size:1.12rem;line-height:1.3}
@media(max-width:760px){.h-board-in{grid-template-columns:minmax(0,1fr)}}

/* Historia */
.h-statement{font-family:"RHead",serif;font-size:clamp(2.2rem,5.6vw,4.7rem);line-height:1.04;letter-spacing:-.025em;color:var(--ink);max-width:17em;margin:0 0 clamp(2rem,5vw,3.6rem);font-weight:700}
.h-story-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}
.h-story-grid.no-photo{grid-template-columns:minmax(0,38em)}
.h-story-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.h-story-text{font-size:1.28rem;line-height:1.55;max-width:32em;margin:0 0 1rem}
@media(max-width:760px){.h-story-grid{grid-template-columns:minmax(0,1fr)}}

/* Por qué venir */
.h-why{background:var(--ink);color:#fff}.h-why .h-h2{color:#fff}
.h-why-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(1.6rem,4vw,3.4rem)}
.h-why-list h3{font-size:1.55rem;line-height:1.12;color:var(--gold);margin:0 0 .55rem}
.h-why-list p{font-size:1.15rem;line-height:1.5;margin:0;opacity:.92}

/* La carta */
.h-menu-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem 2rem;margin-bottom:1.4rem}
.h-menu-head .h-h2{margin:0}
.h-tabs{display:flex;flex-wrap:wrap;gap:.2rem .35rem}
.h-tabs button{background:none;border:0;border-bottom:3px solid transparent;font:inherit;font-size:1.15rem;color:var(--ink);padding:.3rem .55rem;cursor:pointer}
.h-tabs button[aria-selected="true"]{border-bottom-color:var(--gold);font-weight:700}
.h-menu-note{font-style:italic;font-size:1.2rem;margin:0 0 1rem;color:var(--ink)}
.h-dishes{list-style:none;margin:0;padding:0;columns:2;column-gap:clamp(2rem,6vw,5rem)}
.h-dishes li{break-inside:avoid;padding:.75rem 0}
.h-line{display:flex;align-items:baseline;gap:.5rem}
.h-dn{font-weight:700;font-size:1.26rem;color:var(--ink);line-height:1.2}
.h-line i{flex:1;border-bottom:2px dotted var(--ink);opacity:.35;transform:translateY(-.25em);min-width:1.5rem}
.h-dp{font-family:"RHead",serif;font-weight:700;font-size:1.12rem;color:var(--ink);white-space:nowrap}
.h-dp small{font-family:"RBody",serif;font-weight:400;font-size:.85rem}
.h-dishes p{margin:.2rem 0 0;font-size:1.08rem;line-height:1.4;max-width:30em}
.h-menu-foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:1.8rem}
.h-menu-foot .btn{border-radius:4px}
@media(max-width:760px){.h-dishes{columns:1}}

/* Platos con foto */
.h-plates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,20vw,270px);gap:.6rem}
.h-plates figure{margin:0;position:relative;overflow:hidden}
.h-plates figure:first-child{grid-column:span 2;grid-row:span 2}
.h-plates img{width:100%;height:100%;object-fit:cover;display:block}
.h-plates figcaption{position:absolute;left:0;bottom:0;background:var(--background);color:var(--ink);padding:.3rem .65rem;display:flex;gap:.6rem;font-size:1.02rem;line-height:1.25;max-width:92%}
.h-plates figcaption span{white-space:nowrap}
@media(max-width:700px){.h-plates{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:42vw}}

/* Galería */
.h-gal-s{padding-top:0}
.h-gal{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(110px,14vw,190px);gap:.5rem}
.h-gal img{width:100%;height:100%;object-fit:cover;display:block;grid-column:span 2}
.h-gal img:nth-child(1){grid-column:span 3;grid-row:span 2}.h-gal img:nth-child(2){grid-column:span 3}
.h-gal img:nth-child(3){grid-column:span 3}
@media(max-width:700px){.h-gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:38vw}.h-gal img,.h-gal img:nth-child(n){grid-column:span 1;grid-row:span 1}.h-gal img:nth-child(1){grid-column:span 2;grid-row:span 2}}

/* Grupos */
.h-events{background:var(--gold);color:var(--on-gold,#fff);padding:clamp(2.8rem,6vw,5rem) 0}
.h-events-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2rem clamp(2rem,6vw,5rem);align-items:end}
.h-events h2{font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.02;letter-spacing:-.02em;margin:0;color:inherit}
.h-events p{font-size:1.2rem;line-height:1.45;margin:0 0 1rem}
.h-events .btn{background:var(--ink);color:#fff;border-radius:4px}
@media(max-width:760px){.h-events-in{grid-template-columns:minmax(0,1fr)}}

/* Preguntas */
.h-faq-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:1rem clamp(2rem,5vw,4rem)}
.h-faq details{border-top:1.5px solid var(--ink);padding:.9rem 0}.h-faq details:last-child{border-bottom:1.5px solid var(--ink)}
.h-faq summary{font-weight:700;font-size:1.25rem;cursor:pointer;color:var(--ink);line-height:1.25}
.h-faq p{margin:.5rem 0 .2rem;font-size:1.15rem;line-height:1.5;max-width:36em}
@media(max-width:760px){.h-faq-grid{grid-template-columns:minmax(0,1fr)}}

/* Dónde estamos */
.h-visit{background:#fff}
.h-address{font-size:1.45rem;line-height:1.25;margin:0 0 .4rem;color:var(--ink)}
.h-phone{font-family:"RHead",serif;font-size:1.6rem;margin:.8rem 0 0}.h-phone a{color:var(--ink)}
.h-visit .hours-table li{font-size:1.05rem}
@media(prefers-reduced-motion:no-preference){.h-name{animation:h-in .7s cubic-bezier(.2,.7,.2,1) both}@keyframes h-in{from{opacity:0;transform:translateY(.12em)}to{opacity:1;transform:none}}}
body[class*="hero-"] .site-footer .eyebrow{color:var(--gold);opacity:1}
body[class*="hero-"] .btn-gold,body[class*="hero-"] .float-book{color:var(--on-gold,#fff)}
body[class*="hero-"] .site-nav a.btn-gold,body[class*="hero-"] .mobile-nav a.btn-gold{color:var(--on-gold,#fff)}
body[class*="hero-"] .h-events .btn,body[class*="hero-"] .h-board .btn{background:var(--ink);color:#fff}
.h-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.3rem}
.h-days label{margin:0}.h-days span{min-width:0;height:100%}
.in-bar .h-days{display:flex}.in-bar .h-days span{min-width:56px}
@media(max-width:700px){
.h-days small{font-size:.68rem}
.h-plates{grid-auto-rows:auto}
.h-plates figure img{aspect-ratio:1;height:auto}
.h-plates figure:first-child{grid-row:auto}
.h-plates figure:first-child img{aspect-ratio:4/3}
.h-plates figcaption{position:static;background:none;padding:.35rem 0 .5rem;flex-direction:column;gap:0;max-width:none}
}
