/* Hero y barra de navegación nuevos, aislados (no tocan el CSS original de la home) */
.nav,.hero{--night:#0A3A4A;--bar:#F6C945;--serif:"Playfair Display",Georgia,serif;--sans:"Plus Jakarta Sans",system-ui,sans-serif;--gut:clamp(16px,4vw,32px);--r:.5rem;font-family:var(--sans);line-height:1.7;text-align:left}
.nav *,.hero *{box-sizing:border-box}
.nav h1,.hero h1{margin:0;font-family:var(--serif);font-weight:700}
.nav p,.hero p{margin:0}
.nav a,.hero a{text-decoration:none}
.nav{position:fixed;inset:0 0 auto;z-index:60;transition:background .35s,box-shadow .35s}
.nav.solid,.nav.always{background:var(--night);box-shadow:0 4px 20px rgba(5,22,30,.35)}
.nav .bar{max-width:1280px;margin:0 auto;padding:0 var(--gut);height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{font-family:var(--serif);font-weight:700;font-size:1.15rem;color:#fff;line-height:1;white-space:nowrap}
.menu{display:flex;align-items:center;gap:clamp(.8rem,2.4vw,1.8rem)}
.menu a{color:#fff;font-weight:600;font-size:.8rem;padding:.4rem 0;border-bottom:2px solid transparent;white-space:nowrap;line-height:1.4}
.menu a:hover,.menu a[aria-current]{border-bottom-color:var(--bar)}
.menu a.cta{background:var(--bar);color:#241a00;padding:.5rem 1rem;border-radius:var(--r);border:0;font-weight:700}
.menu a.cta:hover{background:#fff}

/* botones */
.btn{display:inline-block;font-weight:700;font-size:.85rem;line-height:1.3;padding:.7rem 1.3rem;border-radius:var(--r);border:2px solid var(--bar);color:#fff}
.btn.pri{background:var(--bar);color:#241a00}.btn.pri:hover{background:#fff;border-color:#fff}
.hero .btn.out:hover{background:rgba(255,255,255,.14)}
.btn.dk{background:var(--night);color:#fff;border-color:var(--night)}.btn.dk:hover{background:#0e4d62}
.btns{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
/* encabezado con foto (hero de la home y encabezado de carta/historia) */
.hero{position:relative;height:100svh;min-height:560px;overflow:hidden;background:var(--night);color:#fff}
.hero .hslide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero .hslide{opacity:0;transition:opacity 1.6s ease}.hero .hslide.on{opacity:1}
.hero:before{content:"";position:absolute;inset:0 0 auto;height:120px;z-index:1;pointer-events:none;background:linear-gradient(to bottom,rgba(10,58,74,.5),rgba(10,58,74,0))}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(10,58,74,.72) 0,rgba(10,58,74,0) 45%)}
.hero .hx{position:absolute;left:0;right:0;bottom:0;z-index:2;max-width:1280px;margin:0 auto;padding:0 var(--gut) clamp(1.25rem,4vh,2.5rem)}
.hero .hx-t{max-width:min(100%,800px);text-shadow:0 1px 14px rgba(5,22,30,.55)}
.hero h1{font-size:clamp(2.75rem,6.5vw,6rem);line-height:.95;letter-spacing:-.02em;white-space:nowrap;color:#fff}
.hero h1 i{font-style:normal;color:var(--bar)}
.hero .tag{margin:.35rem 0 0;font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(1.1rem,2vw,1.6rem);line-height:1.2}
.hero .tit{margin:.5rem 0 0;font-family:var(--serif);font-weight:700;font-size:clamp(1.25rem,2.4vw,2rem);line-height:1.15;max-width:52ch}
.hero .desc{display:none;margin:.45rem 0 0;font-size:1rem;line-height:1.45;max-width:60ch;color:#eef5f7}
.hero .lema{margin:.45rem 0 0;font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.15rem;line-height:1.3;color:var(--bar)}
.hero .btns{margin-top:.7rem}.hero .btn{font-size:.82rem;padding:.6rem 1.15rem}
.hero .info{display:none}
@media(min-width:768px){.hero .desc{display:block}.hero .info{display:flex;position:absolute;right:var(--gut);bottom:clamp(1.25rem,4vh,2.5rem);flex-direction:column;gap:.15rem;padding:.7rem 1rem;background:rgba(10,58,74,.62);backdrop-filter:blur(6px);border-radius:var(--r);font-size:.8rem;line-height:1.35;color:#eef5f7;max-width:15rem}.hero .info b{color:var(--bar)}}
@media(max-width:767px){.hero .tit{max-width:24ch}}
@media(min-width:768px){.hero .info{max-width:none;white-space:nowrap}}
.btns{align-items:center}
@media(prefers-reduced-motion:reduce){.hero .hslide{transition:none}.nav{transition:none}}
/* Destacados: 4 columnas desde 1280 px; por debajo, 2x2 para no partir el texto */

/* encabezado de página (carta) */
.page-hero{--night:#0A3A4A;--bar:#F6C945;--serif:"Playfair Display",Georgia,serif;--sans:"Plus Jakarta Sans",system-ui,sans-serif;--gut:clamp(16px,4vw,32px);font-family:var(--sans);line-height:1.7}
.page-hero *{box-sizing:border-box}
.page-hero h1{margin:0;font-family:var(--serif);font-weight:700}.page-hero p{margin:0}
.page-hero .wrap{max-width:1280px;margin:0 auto;padding:0 var(--gut)}
.page-hero{position:relative;min-height:clamp(380px,56svh,560px);display:flex;align-items:flex-end;background:var(--night);color:#fff;overflow:hidden;padding-top:64px}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.page-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(10,58,74,.82) 0,rgba(10,58,74,.35) 38%,rgba(10,58,74,0) 72%)}
.page-hero .in{position:relative;z-index:2;width:100%;padding-top:4rem;padding-bottom:clamp(1.8rem,5vh,3rem);text-shadow:0 1px 14px rgba(5,22,30,.5)}
.page-hero h1{font-size:clamp(2.8rem,7vw,5.5rem);line-height:.98;letter-spacing:-.02em;color:#fff}
.page-hero .it{margin-top:.7rem;font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(1.15rem,2.2vw,1.75rem);line-height:1.25;color:var(--bar);max-width:34ch}
.page-hero .fine{margin-top:.8rem;font-size:.82rem;color:#dbe9ee;max-width:64ch}
.nav.always{background:var(--night);box-shadow:0 4px 20px rgba(5,22,30,.35)}

/* UN solo contenedor y UN solo margen lateral para barra, encabezados, contenido y pie, en las 3 páginas */
.px-margin{padding-left:clamp(16px,4vw,32px)!important;padding-right:clamp(16px,4vw,32px)!important}
.c{max-width:1280px;margin:0 auto;padding-left:clamp(16px,4vw,32px);padding-right:clamp(16px,4vw,32px);box-sizing:border-box}
/* pie compartido (carta e historia), igual al de la home */
.ft{background:#233147;color:#ebf1ff;box-shadow:0 -1px 12px rgba(13,28,49,.06);padding:1rem 0;font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:.75rem;letter-spacing:.05em;line-height:1.5}
.ft .c{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.5rem}
@media(min-width:768px){.ft .c{flex-direction:row}}
.ft .l,.ft .r{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.ft .l{color:#bfc8cc;text-transform:uppercase;letter-spacing:.1em}.ft .r{color:#9fd6ee}
.ft .r b{color:#ffe08c;font-weight:500}.ft a{text-decoration:underline}.ft .o{opacity:.5}

/* barra de desplazamiento igual en todas las páginas (mismo ancho útil) */
html{scrollbar-width:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}
@media(max-width:767px){body>footer.w-full>div,footer.w-full>div{align-items:flex-start!important;text-align:left!important}}

/* tarjetas de 'Nuestra esencia': original v1 */
.lg\:grid-cols-4>div{justify-content:flex-start!important;overflow:hidden}
.lg\:grid-cols-4>div>img{margin:-2.5rem -2.5rem 1.5rem!important;width:calc(100% + 5rem)!important;max-width:none!important;border-radius:0!important;height:12rem!important}
.lg\:grid-cols-4>div>div:last-child{margin-top:auto!important}
.lg\:grid-cols-4>div>div:nth-child(2){flex:1 1 auto;display:flex;flex-direction:column}
.lg\:grid-cols-4>div>div:nth-child(2)>span{display:block;margin:-1.5rem -2.5rem 1.25rem!important;padding:.4rem 2.5rem;background:rgba(0,0,0,.35);line-height:1.25rem}
.lg\:grid-cols-4>div:nth-child(2)>div:nth-child(2)>span{color:#fff!important}
@media(min-width:768px){.lg\:grid-cols-4>div>div:nth-child(2)>h3{min-height:2lh}}
.lg\:grid-cols-4>div>div:last-child{padding-top:1rem!important;min-height:4rem;align-items:center}

/* ===== menú móvil ===== */
.burger{display:none;width:44px;height:44px;margin-right:-10px;padding:0;background:none;border:0;border-radius:.5rem;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .25s,opacity .2s}
.burger:focus-visible,.menu a:focus-visible{outline:3px solid var(--bar);outline-offset:2px}
.nav.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.open .burger span:nth-child(2){opacity:0}
.nav.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:720px){
 .burger{display:flex}
 .nav.open{background:var(--night)}
 .menu{display:none;position:fixed;inset:64px 0 0 0;background:var(--night);flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:.5rem var(--gut) 2rem;overflow-y:auto}
 .nav.open .menu{display:flex}
 .menu a{font-size:1.25rem;font-family:var(--serif);padding:0;min-height:56px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.14)}
 .menu a.opt[aria-current]{color:var(--bar);border-bottom-color:rgba(255,255,255,.14)}
 .menu a.cta{margin-top:1.5rem;justify-content:center;font-family:var(--sans);font-size:1rem;min-height:52px;border:0;border-radius:var(--r)}
}

/* horarios siempre en una línea */
.info span,.ft .r b,footer .text-tertiary-fixed{white-space:nowrap}

/* ===== ajustes móviles (<768px) ===== */
@media(max-width:767px){
 /* objetivos táctiles de 44px */
 .logo{display:inline-flex;align-items:center;min-height:44px}
 .hero .btn,.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem}
 .bt,.tabs a{min-height:44px;display:inline-flex;align-items:center}
 .tabs div{padding-top:.4rem;padding-bottom:.4rem}
 #historia a,#el-lugar a,#como-llegar a,#la-carta a{min-height:44px;display:inline-flex;align-items:center}
 footer a,.ft a{min-height:44px;display:inline-flex;align-items:center}
 /* sello y etiqueta dentro del margen */
 .absolute.-top-6.-right-4{right:.4rem!important}
 .absolute.-bottom-6.-left-4{left:.4rem!important}
 /* banda "El mar está ahí": ítems en columna ordenada */
 .font-label-lg.uppercase.tracking-wider.justify-center{flex-wrap:wrap;gap:.6rem 1.25rem!important}
 .font-label-lg.uppercase.tracking-wider.justify-center>span.opacity-50{display:none}
 /* listas de precios de la home: nombre y precio sin pisarse */
 #la-carta .flex.items-center.justify-between{align-items:baseline;gap:.75rem}
 #la-carta .flex.items-center.justify-between>span:first-child,#la-carta .flex.items-center.justify-between>div{min-width:0;flex:1 1 auto}
 #la-carta .flex.items-center.justify-between>div{flex-wrap:wrap;row-gap:.25rem}
 #la-carta .flex.items-center.justify-between>span:last-child{flex:none;white-space:nowrap}
 /* galería: texto legible sobre foto */
 #el-lugar .absolute.inset-0.bg-gradient-to-t{background:linear-gradient(to top,rgba(0,40,58,.88) 0,rgba(0,40,58,.45) 38%,rgba(0,40,58,0) 62%)!important}
 #el-lugar .group .absolute.bottom-6{left:1.25rem;right:1.25rem}
 /* pie de la home */
 footer.w-full>div>div:first-child{flex-wrap:wrap;justify-content:flex-start;row-gap:0}
 footer.w-full>div>div:last-child{flex-wrap:wrap;justify-content:flex-start}
 footer.w-full span.opacity-50,footer.w-full span.opacity-40,.ft .o{display:none}
 /* letra mínima */
 .font-label-sm,.text-xs,.badge,.ftag,.lh,.pill,.sello,small{font-size:12px}
 .text-\[10px\]{font-size:12px!important}
 .font-body-sm{font-size:14px!important}
}
