/*
Theme Name: Mar y Monte
Version: 1.0.0
Requires PHP: 8.2
Text Domain: mar-y-monte
*/
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#f5f2e9;color:#263d33;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b5603f;outline-offset:6px}.skip{position:fixed;top:-100px;left:16px;background:white;padding:16px;z-index:10}.skip:focus{top:10px}header{min-height:106px;padding:22px 5%;display:flex;align-items:center;gap:40px;border-bottom:1px solid #d5d8cb;background:#f5f2e9;position:sticky;top:0;z-index:5}.brand{font-family:Georgia,serif;font-size:33px;letter-spacing:-1.5px;white-space:nowrap}.brand i{font-size:24px;font-weight:normal}.brand span{display:block;font:11px Arial;letter-spacing:3.8px;margin-top:6px}nav{display:flex;gap:32px;margin-left:auto;font-size:13px}nav a{padding:15px 0}nav a:hover,.text-link:hover{color:#965133}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;background:#293f33;color:#faf6ea;padding:18px 24px;font-size:13px;min-height:52px;border:1px solid transparent;transition:background .2s}.button:hover{background:#8a472f}.button span{font-size:21px}#menu{display:none}.hero{background:#263e33;color:#f4f0e5;padding:62px 6% 22px;min-height:680px;display:flex;flex-direction:column}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:600;line-height:1.6}.dot{display:inline-block;height:7px;width:7px;background:#bc9571;border-radius:50%;margin-right:10px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(66px,8.7vw,140px);line-height:1.02;letter-spacing:-5px;margin:46px 0 42px}em{font-weight:400;color:#bda786}h1 em{color:#c6b595}.hero-bottom{display:flex;align-items:center;gap:42px;margin-bottom:65px}.hero-bottom p{font-size:14px;line-height:1.8;margin:0;max-width:350px}.cream{background:#eee9dc;color:#263e33}.cream:hover{background:#d9c8af}.discover{margin-left:auto;font-size:11px;letter-spacing:1.4px;display:flex;align-items:center;gap:30px}.discover span{font-size:27px}.hero-foot{border-top:1px solid #5c6a5c;display:flex;justify-content:space-between;padding-top:20px;font-size:11px;letter-spacing:1.9px;margin-top:auto}.section{padding:110px 6%}h2{font-size:clamp(38px,4.5vw,68px);line-height:1.12;letter-spacing:-2px;margin-bottom:32px}h2 em{color:#936043}.story{display:grid;grid-template-columns:1fr 2.3fr;gap:40px}.story-text{display:grid;grid-template-columns:1fr 1fr;gap:36px;max-width:780px}p{font-size:15px;line-height:1.85}.story-text p{color:#566054}.statement{background:#e8e2d3;text-align:center;padding:72px 6%}.statement span{font-size:11px;letter-spacing:2.6px}.statement p{font-family:Georgia,serif;font-size:clamp(38px,5.4vw,78px);line-height:1.15;letter-spacing:-2px;margin:34px 0}.statement em{color:#936043}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading .eyebrow,.visit .eyebrow,.faq .eyebrow{margin-bottom:25px}.section-heading>p{padding-bottom:22px;color:#596456}.dishes{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #b9bdae;margin-top:30px}.dishes article{padding:33px 30px 36px 0}.dishes article+article{border-left:1px solid #c8cabb;padding-left:30px}.number{font-family:Georgia,serif;font-size:18px;color:#936043}h3{font-size:29px;margin:35px 0 20px}.dishes p{min-height:84px;max-width:300px;color:#596456}.tag{font-size:11px;letter-spacing:2px}.wine{padding-top:32px;border-top:1px solid #b9bdae;display:flex;align-items:center;gap:30px}.wine>span{font-size:11px;letter-spacing:1.6px}.wine p{margin:0;font-family:Georgia,serif;font-size:23px}.wine a{font-size:12px;text-decoration:underline;text-underline-offset:5px;margin-left:auto}.pause{padding:80px 6%;background:#a55e40;color:#fff6e9;display:grid;grid-template-columns:1fr 2.3fr;gap:40px}.pause h2{font-size:clamp(54px,7.5vw,106px);margin:0}.pause em{color:#f0d2b7}.pause>p{grid-column:2;margin:0}.visit{display:grid;grid-template-columns:1fr 1fr;gap:70px}.text-link{display:inline-block;border-bottom:1px solid;padding:12px 0}.visit-info article{border-bottom:1px solid #c7cbbd;padding-bottom:24px;margin-bottom:26px}.visit-info h3{font-family:Arial,sans-serif;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;margin:0 0 17px}.visit-info a{display:block;min-height:44px;font-size:20px}.visit-info p{margin-bottom:8px}small{font-size:12px;line-height:1.6;display:block;color:#62695c;max-width:360px}.faq{padding-top:20px;display:grid;grid-template-columns:1fr 1.6fr;gap:70px}details{border-top:1px solid #c7cbbd;padding:0 0 6px}summary{cursor:pointer;padding:22px 0;font-size:16px;line-height:1.5}details p{color:#596456}details a{display:block;padding:8px 0 20px;text-decoration:underline}.closing{background:#263e33;color:#f4f0e5;text-align:center;padding:85px 6%}.closing h2{font-size:clamp(56px,7vw,100px);margin:28px 0 34px}.closing h2 em{color:#c6b595}.closing p{font-size:12px;letter-spacing:2px;margin:24px 0 0}footer{padding:48px 6%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer p{font-size:12px;margin:0}footer>div{display:flex;flex-direction:column;gap:20px;font-size:11px}footer>div span{color:#6b7063}@media(min-width:1600px){body{max-width:1920px;margin:auto}}@media(max-width:1000px){header{gap:20px}nav{gap:18px}.header-cta{padding:14px}.discover{display:none}.story{grid-template-columns:1fr}.hero{min-height:620px}.wine{flex-wrap:wrap}.wine a{margin-left:0}.pause{grid-template-columns:1fr 2fr}.visit,.faq{gap:35px}}@media(max-width:700px){html{scroll-padding-top:90px}header{min-height:85px;padding:18px 6%;flex-wrap:wrap}.brand{font-size:27px}.brand span{font-size:11px;letter-spacing:2.8px}.header-cta{display:none}#menu{display:flex;margin-left:auto;gap:16px;align-items:center;background:transparent;color:#263d33;border:1px solid #b9bdae;padding:12px;min-height:44px;font-size:12px}nav{display:none;flex-direction:column;flex-basis:100%;gap:0}nav.open{display:flex}nav a{padding:16px 0;border-top:1px solid #d5d8cb}.hero{min-height:650px;padding-top:42px}.eyebrow{font-size:11px;letter-spacing:1.7px}h1{font-size:clamp(53px,12.4vw,86px);letter-spacing:-2.5px;margin-top:50px;line-height:1.08}.hero-bottom{display:block;margin-bottom:45px}.hero-bottom p{font-size:14px;margin-bottom:26px}.hero-foot{gap:20px;font-size:11px;line-height:1.7}.hero-foot span:last-child{max-width:100px;text-align:right}.section{padding:65px 6%}.story{gap:30px}.story-text{grid-template-columns:1fr;gap:0}.story-text p{margin-bottom:14px}h2{letter-spacing:-1.3px}.statement{padding:65px 6%}.statement p{letter-spacing:-1px}.section-heading{display:block}.section-heading>p{padding:0}.dishes{grid-template-columns:1fr;margin-top:35px}.dishes article,.dishes article+article{padding:25px 0;border-left:0;border-bottom:1px solid #c8cabb}.dishes h3{margin:18px 0 12px}.dishes p{min-height:auto;max-width:none}.wine{border-top:0;gap:16px;padding-top:28px;display:grid}.wine p{font-size:24px}.pause{display:block;padding:60px 6%}.pause h2{margin:35px 0;font-size:64px;letter-spacing:-2px}.visit,.faq{grid-template-columns:1fr;gap:36px}.visit-info a{font-size:18px}.faq{padding-top:10px}.faq h2{margin-bottom:0}.closing{padding:65px 6%}footer{display:grid;gap:28px}.button{min-width:190px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(max-height:500px) and (orientation:landscape){header{position:relative}.hero{min-height:560px}}

/* Ampliación con material de los perfiles oficiales */
.table-scene{margin:0;position:relative;background:#263e33}.table-scene img{display:block;width:100%;height:560px;object-fit:cover}.table-scene figcaption{position:absolute;bottom:24px;left:6%;right:6%;color:white;background:#263e33;padding:16px 22px;width:fit-content;font-family:Georgia,serif;font-size:25px}.dish-photo{display:block;width:100%;height:240px;object-fit:cover;margin-bottom:24px}.dishes article:first-child{grid-row:span 2}.dishes article:not(:first-child){display:flex;flex-direction:column;justify-content:center}.dessert{background:#e8e2d3;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.dessert>img{display:block;width:100%;height:550px;object-fit:cover}.dessert .eyebrow{margin-bottom:28px}.dessert p{max-width:470px}.moments-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.moments-grid figure{margin:0}.moments-grid img{width:100%;height:500px;object-fit:cover;object-position:center 35%;display:block}.moments-grid figcaption{padding:0 5px}.moments-grid h3{margin-top:25px}.reel-cover{display:block;position:relative}.play{position:absolute;bottom:25px;left:25px;right:25px;display:flex;align-items:center;gap:20px;padding:20px;background:#f5f2e9;color:#263e33;font-size:24px}.play span{font-size:13px}.social-strip{border-top:1px solid #b9bdae;margin-top:55px;padding-top:15px;display:flex;align-items:center;gap:35px}.social-strip>div{margin-right:auto}.social-strip h3{margin:20px 0 10px}.social-strip p{margin:0}.gatherings{background:#e8e2d3;text-align:center}.gatherings .eyebrow{margin-bottom:26px}.gatherings p{max-width:590px;margin:0 auto 28px}@media(max-width:1000px){nav{gap:15px}.hero header{gap:15px}}@media(max-width:700px){.table-scene img{height:340px}.table-scene figcaption{font-size:19px;bottom:20px}.dessert{grid-template-columns:1fr;gap:35px}.dessert>img{height:420px}.dish-photo{height:320px}.moments-grid{grid-template-columns:1fr;gap:35px}.moments-grid img{height:440px}.social-strip{flex-wrap:wrap;gap:20px}.social-strip>div{flex-basis:100%}.play{left:16px;right:16px}.dishes article:first-child{grid-row:auto}}

/* Paleta oscura */
:root{color-scheme:dark}
body{background:#252729;color:#f1eee7}
header{background:#252729;border-color:#505450}
.statement,.dessert,.gatherings{background:#303335}
.story-text p,.section-heading>p,.dishes p,details p,small,footer>div span{color:#c7ccc7}
h2 em,.statement em,.number{color:#d8a88b}
nav a:hover,.text-link:hover{color:#edba9d}
.button{border-color:#7f9383}
.cream{background:#34383a;color:#f1eee7;border-color:#89938b}
.cream:hover{background:#454b4d}
.skip,.play{background:#303335;color:#f1eee7}
#menu{color:#f1eee7;border-color:#7f8981}
.dishes,.dishes article+article,.wine,.visit-info article,details,.social-strip,nav a{border-color:#505952}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#edba9d}

/* Vídeo de brasa en portada */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#17251d}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,20,14,.80),rgba(10,20,14,.48));z-index:-1}
.video-toggle{position:absolute;right:6%;top:20px;z-index:1;background:#252729e8;color:#f1eee7;border:1px solid #89938b;padding:12px 16px;min-height:44px;font-size:12px;cursor:pointer}
.video-toggle[hidden]{display:none}
@media(max-width:700px){.hero{padding-top:85px}.video-toggle{top:15px}.hero-video{object-position:55% center}}

/* Primer plano de carne jugosa: original 4K sin ampliación adicional */
.hero-video{inset:0;width:100%;height:100%;object-position:center;filter:none}
.hero::before{background:linear-gradient(90deg,rgba(10,16,12,.58) 0%,rgba(10,16,12,.30) 52%,rgba(10,16,12,.12) 100%)}
.hero h1,.hero .eyebrow,.hero-bottom p,.hero-foot,.hero .discover{text-shadow:0 2px 12px rgba(0,0,0,.8)}
@media(max-width:700px){.hero::before{background:linear-gradient(90deg,rgba(10,16,12,.60),rgba(10,16,12,.25))}}


/* Imagen fija de chuletón con fuego animado en una capa independiente */
.hero-fire{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-fire img,.hero-fire canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-fire canvas{pointer-events:none}

header .brand-logo{display:block;flex:0 0 auto;width:220px;line-height:0}header .brand-logo img{display:block;width:100%;height:auto} @media(max-width:700px){header .brand-logo{width:168px}}

/* Tipografía elegida: Elegante */
body{font-family:"Manrope",Arial,sans-serif}h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif}h1{font-size:clamp(56px,7.5vw,118px);letter-spacing:-.035em;line-height:1.08;font-weight:500}@media(max-width:600px){h1{font-size:54px}}

/* Composición de portada: texto agrupado a la izquierda */
.hero{min-height:680px;padding:66px 6%;justify-content:center;align-items:flex-start}
.hero h1{font-size:clamp(61px,calc(7vw + 1px),107px);line-height:1.04;max-width:680px;margin:28px 0 24px;letter-spacing:-.025em}
.hero-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:24px 30px;max-width:590px;margin:0}
.hero-bottom p{flex:0 0 100%;max-width:390px;margin:0;line-height:1.8}
.hero .discover{margin-left:0;gap:16px;font-size:10px;letter-spacing:1.2px}
.hero-bottom .button{min-width:190px}
@media(max-width:700px){.hero{min-height:620px;padding:48px 6%;justify-content:center}.hero h1{font-size:clamp(49px,calc(10.8vw + 1px),73px);margin:26px 0 22px}.hero-bottom{gap:22px}.hero .discover{flex-basis:100%;margin-top:2px}.hero .eyebrow{font-size:10px;letter-spacing:1.5px}.hero-bottom p{font-size:13px}}

/* Mayor legibilidad de las llamadas a reservar */
header .header-cta,.hero-bottom .button,.closing .button{font-size:18px;font-weight:600}

.hero .discover{font-size:16px;font-weight:600;letter-spacing:.6px;line-height:1.5}

.hero-bottom>.button,.hero-bottom>.discover{position:relative;top:50px}

/* Fotografías de la web original */
.terrace-photo{display:block;grid-column:1 / -1;width:100%;height:auto;max-height:560px;object-fit:cover;margin-bottom:16px}.gatherings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%;align-items:center;text-align:left}.celebration-photo{display:block;width:100%;height:auto;max-width:640px}.gatherings p{margin:0 0 24px}.gatherings h2{font-size:clamp(38px,3.8vw,58px)}.dishes article:first-child{grid-row:auto}.dishes article:not(:first-child){justify-content:flex-start}@media(max-width:700px){.gatherings{grid-template-columns:1fr;gap:35px}.terrace-photo{margin-bottom:35px}.gatherings h2{font-size:42px}}

/* Días y horarios de apertura */
.opening-hours{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;align-items:center;background:#25392f;border-top:1px solid #506054;border-bottom:1px solid #506054}.opening-hours .eyebrow{margin-bottom:24px}.hours-intro>p{max-width:330px;color:#d4d9d1}.hours-panel{padding:38px;border:1px solid #758372;background:#ffffff04}.hours-days>span,.hours-services>div>span{font-size:11px;letter-spacing:2px;color:#d5bd9f}.hours-days h3{margin:16px 0 30px;font-size:38px}.hours-services{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:26px 0;border-top:1px solid #758372;border-bottom:1px solid #758372}.hours-services p{font-size:clamp(21px,2.2vw,32px);white-space:nowrap;margin:12px 0 0}.hours-services p span{color:#adbdad}.hours-closed{font-size:14px;margin:22px 0}.hours-panel small{max-width:none;color:#c7d1c7}.hours-panel small a{text-decoration:underline;text-underline-offset:3px}@media(max-width:1100px){header{gap:20px}nav{gap:16px}.opening-hours{gap:5%}.hours-panel{padding:28px}.hours-services{gap:18px}}@media(max-width:700px){.opening-hours{grid-template-columns:1fr;gap:35px}.hours-panel{padding:26px 22px}.hours-days h3{font-size:34px}.hours-services p{font-size:23px}}@media(max-width:380px){.hours-services{grid-template-columns:1fr}}

/* Ajuste de cabecera: logo y menú más grandes */
header .brand-logo{width:240px}nav{font-size:14px}@media(max-width:700px){header .brand-logo{width:184px}}

/* Texto descriptivo de portada más legible */
.hero-bottom p{font-size:18px}@media(max-width:700px){.hero-bottom p{font-size:17px}}

/* Nuestra esencia: lectura en una sola columna */
.story-text{display:block;max-width:650px}.story-text p{font-size:17px;line-height:1.85;margin:0 0 18px}.story-text p:last-child{margin-bottom:0}

/* Menos espacio al final de Nuestra esencia */
.story.section{padding-bottom:55px}@media(max-width:700px){.story.section{padding-bottom:35px}}

/* Pie de foto sin recuadro */
.table-scene figcaption{background:transparent;color:#fff8ed;padding:0;text-shadow:0 2px 5px #000,0 0 16px rgba(0,0,0,.85)}

/* Bloque de transición algo más compacto */
.statement{padding-top:56px;padding-bottom:56px}@media(max-width:700px){.statement{padding-top:50px;padding-bottom:50px}}

/* Cabecera de cocina: título y descripción apilados */
.kitchen .section-heading{display:block}.kitchen .section-heading h2{max-width:900px;margin-bottom:24px}.kitchen .section-heading>p{max-width:790px;padding-bottom:0;margin-bottom:0;font-size:17px;line-height:1.85}

/* Cocina: espacio superior reducido un 30 por ciento */
.kitchen.section{padding-top:77px}@media(max-width:700px){.kitchen.section{padding-top:45.5px}}

/* Vinos: fotografía pequeña, texto agrupado y acceso a carta */
.wine{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:32px;align-items:center}.wine-photo{display:block;width:180px;height:180px;object-fit:cover}.wine-copy h3{margin:0 0 14px;font-size:34px}.wine-copy p{font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.8;max-width:580px}.wine .button{font-size:15px;text-decoration:none;margin:0;white-space:nowrap}@media(max-width:1000px){.wine{grid-template-columns:150px minmax(0,1fr)}.wine-photo{width:150px;height:150px;grid-row:span 2}.wine .button{justify-self:start}}@media(max-width:700px){.wine{grid-template-columns:110px minmax(0,1fr);gap:20px}.wine-photo{width:110px;height:140px;grid-row:auto}.wine-copy h3{font-size:29px}.wine-copy p{font-size:15px}.wine .button{grid-column:2}}@media(max-width:380px){.wine{grid-template-columns:1fr}.wine .button{grid-column:1}.wine-photo{width:140px;height:140px}}

/* Menos espacio debajo del bloque de vinos */
.kitchen.section{padding-bottom:77px}@media(max-width:700px){.kitchen.section{padding-bottom:45.5px}}

/* Postres: composición más compacta y texto legible */
.dessert.section{padding-top:77px;padding-bottom:77px;grid-template-columns:.9fr 1.1fr;gap:7%}.dessert>img{height:440px}.dessert p{font-size:17px;line-height:1.85;max-width:520px}@media(max-width:700px){.dessert.section{grid-template-columns:1fr;gap:28px;padding-top:45px;padding-bottom:45px}.dessert>img{height:340px}}

/* Terraza: espacios más compactos */
.pause{padding-top:56px;padding-bottom:56px;row-gap:28px}.pause .terrace-photo{margin-bottom:0}@media(max-width:700px){.pause{padding-top:42px;padding-bottom:42px}.pause .terrace-photo{margin-bottom:24px}.pause h2{margin:24px 0}}

/* Momentos: composición compacta y texto más legible */
.moments.section{padding-top:77px;padding-bottom:40px}.moments-grid img{height:400px}.moments .section-heading>p,.moments-grid figcaption p,.moments .social-strip p{font-size:17px}.moments .social-strip{margin-top:38px}.moments-grid h3{margin-top:22px;margin-bottom:16px}@media(max-width:700px){.moments.section{padding-top:45px;padding-bottom:28px}.moments-grid img{height:360px}.moments-grid{gap:28px}}

.moments-video{display:block;width:100%;height:400px;object-fit:contain;background:#171919}@media(max-width:700px){.moments-video{height:360px}}

.moments-video{object-fit:cover;object-position:center center}

/* Celebraciones: menos espacio vertical */
.gatherings.section{padding-top:66px;padding-bottom:66px}
@media(max-width:700px){.gatherings.section{padding-top:40px;padding-bottom:40px}}

.gatherings .celebration-photo{height:440px;object-fit:cover;object-position:center 60%}@media(max-width:700px){.gatherings .celebration-photo{height:380px}}

/* Horarios: espacio vertical compacto */
.opening-hours.section{padding-top:66px;padding-bottom:66px}
@media(max-width:700px){.opening-hours.section{padding-top:40px;padding-bottom:40px}}

.opening-calendar{margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid #506054}.calendar-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.calendar-heading h3{margin:0 auto 0 0;font-size:29px}.calendar-heading label{font-size:12px}.calendar-heading select{max-width:190px;background:#25392f;color:#fff8ed;border:1px solid #8a998d;padding:9px;border-radius:4px;font:inherit;font-size:14px;color-scheme:dark}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}.calendar-week{font-size:12px;margin-bottom:9px;color:#c7ccc7}.calendar-day{padding:0;min-height:36px;border:1px solid transparent;background:transparent;color:#acb8af;font:inherit;font-size:14px;cursor:pointer;border-radius:4px}.calendar-day.open{background:#d7dfc8;color:#203529;font-weight:700}.calendar-day.pending{border:1px dashed #718278}.calendar-day[aria-pressed="true"]{outline:2px solid #e5b990;outline-offset:2px}.calendar-day:focus-visible{outline:2px solid #fff;outline-offset:2px}.calendar-day.today{text-decoration:underline;text-underline-offset:4px}.calendar-legend{display:flex;flex-wrap:wrap;gap:15px;margin-top:14px;font-size:11px;color:#d1d8cf}.calendar-legend i{display:inline-block;width:9px;height:9px;background:#d7dfc8;margin-right:5px}.calendar-detail{font-size:14px!important;line-height:1.6;min-height:45px;margin:16px 0 8px!important}.opening-calendar small{font-size:11px}.hours-panel .hours-days h3{font-size:24px}@media(max-width:400px){.calendar-heading{flex-wrap:wrap}.calendar-heading h3{width:100%}.calendar-heading select{max-width:100%}.calendar-grid{gap:4px}}

.hours-summary{margin-top:28px}.hours-summary .hours-days h3{font-size:25px;margin:8px 0 18px}.hours-summary .hours-services p{font-size:22px}.opening-calendar{margin-bottom:0;padding-bottom:0;border-bottom:0}.opening-hours .hours-panel{padding:26px}.opening-calendar .calendar-detail{min-height:45px}.opening-hours{align-items:center}

/* Encuentranos: espacio vertical compacto */
.visit.section{padding-top:66px;padding-bottom:66px}
@media(max-width:700px){.visit.section{padding-top:40px;padding-bottom:40px}}

/* Ritmo y superficies comunes: revisión global */
:root{--surface-base:#252729;--surface-alt:#303335;--surface-green:#25392f;--surface-terrace:#a55e40;--section-space:60px;--section-compact:40px}
html,body{background-color:var(--surface-base)}
header,footer{background:var(--surface-base)}
.story.section,.kitchen.section,.moments.section,.visit.section,.faq.section{background:var(--surface-base)}
.statement,.dessert.section,.gatherings.section{background:var(--surface-alt)}
.opening-hours.section,.closing{background:var(--surface-green)}
.pause{background:var(--surface-terrace)}
.hours-panel{background:var(--surface-green);box-shadow:none}
.section.story,.section.kitchen,.section.dessert,.section.moments,.section.gatherings,.section.opening-hours,.section.visit{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.section.story{padding-bottom:var(--section-compact)}
.section.moments{padding-bottom:var(--section-compact)}
.section.faq{padding-top:24px;padding-bottom:var(--section-space)}
.statement,.pause,.closing{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.statement{padding-top:48px;padding-bottom:48px}
.statement p{margin-top:24px;margin-bottom:24px}
footer{padding-top:32px;padding-bottom:32px}
.visit-info article:last-child{margin-bottom:0}
.dessert p:last-child,.gatherings p:last-child{margin-bottom:0}
.social-strip{align-items:center}.moments .social-strip{margin-top:32px}
.calendar-heading select{background:var(--surface-green)}
@media(max-width:700px){
 :root{--section-space:40px;--section-compact:28px}
 .section.faq{padding-top:20px}
 .statement{padding-top:40px;padding-bottom:40px}
 footer{padding-top:28px;padding-bottom:28px}
}

footer .brand-logo{display:block;width:240px;max-width:100%;line-height:0;flex:0 0 auto}footer .brand-logo img{display:block;width:100%;height:auto}@media(max-width:700px){footer .brand-logo{width:184px}}

/* Horarios: texto agrupado y reserva destacada */
.hours-intro h2{margin-bottom:20px}
.hours-intro>p{max-width:440px;margin-bottom:24px;font-size:17px}
.hours-reserve{font-size:18px;font-weight:600;min-width:225px}
.hours-summary{margin-top:30px}
.hours-summary .hours-days h3{margin:8px 0 18px}
.hours-summary .hours-services{padding:20px 0;gap:24px}
.hours-summary .hours-closed{margin:18px 0 14px}
.hours-summary small{max-width:470px}
@media(max-width:700px){.hours-reserve{min-width:215px}.hours-summary{margin-top:26px}}

/* Nota de horarios: telefono unido a la frase */
.hours-summary small{max-width:none;text-wrap:pretty}.hours-summary small a{display:inline;white-space:nowrap}

/* Calendario alineado con el final del texto de horarios */
.opening-hours .hours-panel{align-self:end}

.calendar-detail strong{font-weight:800;color:#fff8ed}

/* Detalle de fecha: frase completa destacada */
.calendar-detail{font-size:16px!important;font-weight:700;color:#fff8ed}.calendar-detail strong{font-weight:inherit}

.music-marker{font-size:12px;font-weight:700;color:#203529}

footer .admin-access{font-size:11px;color:#b6beb6;text-decoration:underline;text-underline-offset:3px}

.music-credit{font-size:12px;line-height:1.6}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid #edc49e;outline-offset:4px}.calendar-day{min-height:36px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Language navigation */
header .language-switcher{display:flex;flex-direction:column;flex-basis:auto;gap:2px;margin:0;flex-shrink:0}header .language-switcher a{display:flex;align-items:center;justify-content:center;padding:3px 4px;border:1px solid transparent;border-radius:3px;min-height:28px}header .language-switcher a[aria-current="page"]{border-color:#cfb18b}header .language-switcher svg{display:block;box-shadow:0 1px 3px #0005}.language-name{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:701px){header{gap:20px;padding-left:3%;padding-right:3%}header #nav{gap:16px}header .header-cta{padding:14px;gap:12px;white-space:nowrap}}
@media(max-width:1100px) and (min-width:701px){header{flex-wrap:wrap}header #nav{order:4;width:100%;justify-content:center}header .language-switcher{margin-left:auto}}
@media(max-width:700px){header{gap:10px}header .language-switcher{order:3;margin-left:auto}header #nav{order:4}header .language-switcher a{padding:3px 5px;border-top:1px solid transparent}header .language-switcher a[aria-current="page"]{border-color:#cfb18b}}

/* STI24-style floating language rail, adapted to restaurant colours. */
header .language-switcher{position:fixed;right:12px;top:50%;transform:translateY(-50%);z-index:90;flex-direction:column;gap:4px;padding:5px;background:rgba(38,39,39,.96);border:1px solid #62615c;border-radius:10px;box-shadow:0 5px 20px #0005;margin:0}
header .language-switcher a{flex-direction:column;gap:4px;width:42px;min-width:42px;min-height:52px;padding:4px;border:1px solid transparent;border-radius:5px;line-height:1.1;color:#eee8de;font-size:11px;font-weight:bold}
header .language-switcher a[aria-current="page"]{color:#edc49e;border-color:#edc49e;background:#edc49e14}
header .language-switcher a:hover{background:#41443f;color:#fff}
header .language-switcher svg{width:24px;height:16px;border-radius:2px;box-shadow:0 0 0 1px #ffffff30}
@media(max-width:850px){header .language-switcher{position:static;transform:none;flex-direction:row;padding:0;gap:2px;background:none;border:0;border-radius:0;box-shadow:none;margin-left:auto}header .language-switcher a{width:32px;min-width:32px;min-height:44px;gap:3px;font-size:10px}header .language-switcher svg{width:22px;height:15px}}
