/* La Cepa Playa — estilos de la web (blanco y arena, con el sol y el mar como acentos). Decisiones de diseño: ../DESIGN.md */

/* ============================== Fuentes (autoalojadas, sin peticiones a Google) ============================== */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600 800;font-display:swap;src:url("assets/fonts/montserrat.woff2") format("woff2")}
@font-face{font-family:"Work Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url("assets/fonts/work-sans.woff2") format("woff2")}
@font-face{font-family:"Yellowtail";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/yellowtail.woff2") format("woff2")}

/* ============================== Tokens ============================== */
:root{
  --mar:#1458A6; --mar-2:#0F4585; --noche:#0B1F52; --cielo:#00A2E0; --cielo-claro:#E5F5FC;
  --sol:#FFC22E; --coral:#F2542D; --coral-tinta:#B23C17; --arena:#F7EFDF; --arena-2:#EFE3C8; --linea-arena:#E3D4B4; --espuma:#fff; --linea:#D6E2EC; --apagado:#4A5878;
  --titulos:"Montserrat","Gotham Rounded","Helvetica Neue",Arial,sans-serif;
  --texto:"Work Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --rotulo:"Yellowtail","Brush Script MT",cursive;
  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--s8:4.5rem;--s9:6.5rem;
  --r-s:0;--r-m:0;--r-l:0;
  --sombra:0 1px 2px rgba(11,31,82,.06),0 14px 34px -14px rgba(11,31,82,.28);
  --ancho:1200px;--lectura:68ch;
  /* gráfica, todo en CSS (sin imágenes): horizonte de mar y garabato */
  --svg-garabato:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='10' viewBox='0 0 56 10'%3E%3Cpath d='M2 5c5-5 9-5 13 0s9 5 13 0 9-5 13 0 9 5 13 0' fill='none' stroke='%23FFC22E' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ============================== Base ============================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--espuma);color:var(--noche);font:400 1.0625rem/1.65 var(--texto);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{display:block;max-width:100%;height:auto}
svg{max-width:100%}
h1,h2,h3,h4{font-family:var(--titulos);font-weight:800;line-height:1.08;color:var(--noche);margin:0 0 var(--s4);text-wrap:balance;letter-spacing:-.015em}
h1{font-size:clamp(2.15rem,1rem + 4.2vw,4.1rem);text-transform:uppercase;line-height:1;letter-spacing:-.02em}
h2{font-size:clamp(1.65rem,1.05rem + 2.2vw,2.75rem)}
h3{font-size:clamp(1.15rem,1rem + .6vw,1.4rem);letter-spacing:-.01em}
h4{font-size:1.05rem}
p{margin:0 0 var(--s4)}
a{color:var(--mar);text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{color:var(--noche)}
:focus-visible{outline:3px solid var(--cielo);outline-offset:3px;border-radius:3px}
ul,ol{padding-left:1.25rem}
hr{border:0;border-top:1px solid var(--linea);margin:var(--s6) 0}
.contenedor{width:min(100% - 2.5rem,var(--ancho));margin-inline:auto}
.hero__grid,.cocina,.datos,.destacados,.frase,.pasado,.reservas__grid,.pie__grid,.faq-bloque,.contacto,.relato,.carta-sec__cab,.articulo__grid{grid-template-columns:minmax(0,1fr)}
.lectura{max-width:var(--lectura)}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0}
.saltar{position:absolute;left:var(--s4);top:-4rem;background:var(--noche);color:#fff;padding:var(--s3) var(--s4);border-radius:var(--r-s);z-index:100;transition:top .15s}
.saltar:focus{top:var(--s3);color:#fff}
.nowrap{white-space:nowrap}
.rotulo{font:400 clamp(1.6rem,1.2rem + 1.6vw,2.4rem)/1 var(--rotulo);color:var(--coral-tinta);display:block;margin:0 0 var(--s2);letter-spacing:.01em}
.rotulo--mar{color:var(--mar)}
.etiqueta{display:inline-block;font:700 .75rem/1.2 var(--titulos);letter-spacing:.16em;text-transform:uppercase;color:var(--mar);margin:0 0 var(--s3)}
.lema{font-size:clamp(1.1rem,1rem + .5vw,1.35rem);color:var(--apagado);max-width:46ch}
.ico{width:1.35em;height:1.35em;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ============================== Botones ============================== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:3rem;padding:.7rem 1.5rem;border-radius:999px;border:2px solid var(--mar);background:var(--mar);color:#fff;font:700 .85rem/1 var(--titulos);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .12s,background .15s,color .15s,border-color .15s}
.btn:hover{background:var(--noche);border-color:var(--noche);color:#fff;transform:translateY(-1px)}
.btn--sol{background:var(--sol);border-color:var(--sol);color:var(--noche)}
.btn--sol:hover{background:#ffd25c;border-color:#ffd25c;color:var(--noche)}
.btn--borde{background:transparent;color:var(--mar)}
.btn--borde:hover{background:var(--mar);border-color:var(--mar);color:#fff}
.btn--blanco{background:#fff;border-color:#fff;color:var(--noche)}
.btn--blanco:hover{background:var(--arena);border-color:var(--arena);color:var(--noche)}
.btn--borde-blanco{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
.btn--borde-blanco:hover{background:#fff;border-color:#fff;color:var(--noche)}
.acciones{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5)}

/* ============================== Cabecera ============================== */
.cab{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--linea)}
.cab__in{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:4.6rem}
.marca{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--noche)}
.marca img{width:auto;height:3.4rem}
.marca__txt{display:flex;flex-direction:column;line-height:1}
.marca__nombre{font:800 1.45rem/1 var(--titulos);letter-spacing:.02em;text-transform:uppercase;color:var(--mar)}
.marca__sub{font:400 1.15rem/1 var(--rotulo);color:var(--noche);margin-top:.2rem}
.nav ul{display:flex;gap:.1rem;list-style:none;margin:0;padding:0;align-items:center}
.nav a{display:block;padding:.6rem .8rem;border-radius:999px;color:var(--noche);text-decoration:none;font:700 .78rem/1.2 var(--titulos);letter-spacing:.09em;text-transform:uppercase}
.nav a:hover{background:var(--arena);color:var(--mar)}
.nav a[aria-current="page"]{color:var(--mar);box-shadow:inset 0 -3px 0 var(--sol);border-radius:0}
.nav .btn{margin-left:.6rem;padding:.6rem 1.1rem;min-height:2.7rem;border-radius:999px;box-shadow:none;color:var(--noche)}
.nav .btn:hover{color:var(--noche);background:#ffd25c}
.menu-btn{display:none;min-width:2.9rem;min-height:2.9rem;border:2px solid var(--mar);background:#fff;border-radius:999px;color:var(--mar);font:700 .78rem var(--titulos);letter-spacing:.09em;text-transform:uppercase;padding:0 1.1rem;cursor:pointer}
@media (min-width:1181px){.nav a{white-space:nowrap}}
@media (min-width:1181px) and (max-width:1320px){.nav a{padding:.6rem .55rem;letter-spacing:.06em}.nav .btn{margin-left:.3rem}}
@media (max-width:1180px){
  .marca__sub{display:none}
  .js .menu-btn{display:inline-flex;align-items:center}
  .js .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--linea);padding:var(--s3) 1.25rem var(--s5);box-shadow:var(--sombra)}
  .js .nav.abierto{display:block}
  .nav ul{flex-direction:column;align-items:stretch;gap:0}
  .nav a{padding:1rem .25rem;border-radius:0;border-bottom:1px solid var(--linea);font-size:.9rem}
  .nav a[aria-current="page"]{box-shadow:none;color:var(--mar)}
  .nav .btn{margin:var(--s4) 0 0;justify-content:center}
  .no-js .nav ul{flex-wrap:wrap}
  .cab__in{flex-wrap:wrap;padding-block:.4rem}
}

/* ============================== Gráfica marinera ============================== */
.garabato::after{content:"";display:block;width:3.5rem;height:.62rem;margin-top:.55rem;background:var(--svg-garabato) no-repeat 0 0/100% 100%}
.garabato--centro::after{margin-inline:auto}
/* sombra con box-shadow y no con filter: en iPhone el filtro se repinta en cada giro del texto y el fondo parpadea */
.sello{position:relative;width:8.4rem;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 12px 22px rgba(11,31,82,.18)}
/* gira el svg entero (todo son círculos concéntricos) como una capa: girar solo el texto por dentro tiembla en iPhone */
.sello svg{display:block;width:100%;height:100%;animation:giro 36s linear infinite;will-change:transform}
.sello text{font:700 9.4px var(--titulos);fill:var(--noche);letter-spacing:.05em}
@keyframes giro{to{transform:rotate(360deg)}}
.sello__centro{position:absolute;inset:0;display:grid;place-items:center;font:800 1.15rem/1 var(--titulos);color:var(--noche);letter-spacing:-.02em}
.hero__foto .sello__centro img,.sello__centro img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:auto;height:40%;aspect-ratio:auto;object-fit:contain;border-radius:0;box-shadow:none;height:44%}
.acento{font:400 1.18em/1 var(--rotulo);color:var(--coral-tinta);letter-spacing:0;text-transform:none;padding:0 .05em}
/* --mar: franja de mar encima del dibujo para que la espuma, al subir, no se corte en el borde del pie */
.horizonte{position:relative;--orilla:clamp(6.5rem,4rem + 8vw,11rem);--mar:2.5rem;height:calc(var(--orilla) * 1.35 + var(--mar));background:linear-gradient(#3A76BE calc(var(--mar) + 8px),transparent 0)}

/* ============================== Portada ============================== */
.hero{position:relative;background:radial-gradient(44rem 30rem at 88% 6%,rgba(255,194,46,.30),transparent 70%),radial-gradient(38rem 26rem at 4% 108%,rgba(0,162,224,.07),transparent 70%),var(--arena);color:var(--noche);padding:4.6rem 0 7rem;overflow:hidden}
.hero h1{color:var(--noche);margin-bottom:var(--s4)}
.hero__grid{display:grid;gap:var(--s6);align-items:center}
@media (min-width:960px){.hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:var(--s8)}}
.hero__marca{margin-bottom:var(--s2)}
.hero .etiqueta{color:var(--mar)}
.hero__lema{font:700 clamp(1.2rem,1rem + .6vw,1.4rem)/1.35 var(--texto);margin:0 0 var(--s4);color:var(--noche)}
.entradilla-sec{padding:calc(var(--s8) + .5rem) 0 0}
.entradilla{font:500 clamp(1.2rem,1rem + 1vw,1.7rem)/1.5 var(--texto);max-width:46ch;margin:0;color:var(--noche)}
.entradilla strong{color:var(--mar);font-weight:700}
.hero__foto{position:relative;margin:0 auto;width:100%;max-width:36rem}
.hero__foto .marco{border-radius:var(--r-l);overflow:hidden;aspect-ratio:5/4;background:var(--arena-2);box-shadow:0 30px 60px -28px rgba(11,31,82,.4)}
.hero__foto img{width:100%;height:100%;object-fit:cover;object-position:100% 45%}
.hero__foto .marco img{transform:scale(1.3);transform-origin:68% 92%}
.hero__foto .sello{position:absolute;right:-1.6rem;bottom:-1.4rem}
@media (max-width:959px){.hero{padding-top:2.2rem}.hero__foto{order:-1}.hero__foto .marco{aspect-ratio:16/10}.hero__foto .sello{left:auto;right:.6rem;bottom:-2.2rem;width:6.8rem}.hero__foto .sello__centro{font-size:.95rem}}

.datos-pos{position:relative;z-index:3;margin-top:-4.2rem}
.datos{display:grid;background:#fff;border-radius:var(--r-m);box-shadow:var(--sombra);border:1px solid var(--linea)}
@media (min-width:760px){.datos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1060px){.datos{grid-template-columns:repeat(4,minmax(0,1fr))}}
.datos__item{display:flex;gap:var(--s3);padding:var(--s5);border-bottom:1px solid var(--linea)}
.datos__item:last-child{border-bottom:0}
@media (min-width:760px){.datos__item:nth-child(odd){border-right:1px solid var(--linea)}.datos__item:nth-last-child(-n+2){border-bottom:0}}
@media (min-width:1060px){.datos__item{border-bottom:0!important;border-right:1px solid var(--linea)}.datos__item:last-child{border-right:0}}
.datos__item .ico{color:var(--mar);width:1.7rem;height:1.7rem;margin-top:.15rem}
.datos__et{display:block;font:700 .7rem/1.2 var(--titulos);letter-spacing:.16em;text-transform:uppercase;color:var(--mar);margin-bottom:.3rem}
.datos__v{font-size:.98rem;line-height:1.45}

.seccion{padding:var(--s8) 0}
.seccion--arena{background:var(--arena)}
.seccion--cielo{background:var(--arena)}
.seccion--arena-2{background:var(--arena-2)}
.seccion--corta{padding:var(--s7) 0}
.encabezado{max-width:46rem;margin-bottom:var(--s6)}

.cocina{display:grid;gap:var(--s6);align-items:center}
@media (min-width:960px){.cocina{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:var(--s8)}}
.cocina__fotos{position:relative;padding-bottom:3rem}
.cocina__fotos .f1{border-radius:var(--r-l);overflow:hidden;width:82%;box-shadow:var(--sombra)}
.cocina__fotos .f2{position:absolute;right:0;bottom:0;width:56%;border-radius:var(--r-l);overflow:hidden;border:6px solid #fff;box-shadow:var(--sombra)}
.cocina__fotos img{width:100%;height:100%;object-fit:cover}
.cocina__fotos .f1 img{aspect-ratio:4/3}.cocina__fotos .f2 img{aspect-ratio:1/1}
.banda{background:var(--arena-2);color:var(--noche);border-block:1px solid var(--linea-arena);overflow:hidden;padding:1.1rem 0}
.banda__pista{display:flex;width:max-content;animation:marquesina 48s linear infinite}
.banda span{display:inline-flex;align-items:center;gap:1.6rem;padding-right:1.6rem;white-space:nowrap;font:800 clamp(1.25rem,1rem + 1.4vw,2.2rem)/1.1 var(--titulos);text-transform:uppercase;letter-spacing:.02em}
.banda span::after{content:"";width:.5em;height:.5em;border-radius:50%;background:var(--sol);box-shadow:0 0 0 .22em rgba(255,194,46,.28)}
@keyframes marquesina{to{transform:translateX(-50%)}}

.panorama{position:relative;background:var(--arena-2)}
.panorama img{width:100%;height:clamp(22rem,52vw,38rem);object-fit:cover;object-position:50% 62%}
.panorama__card{position:relative;z-index:2;background:#fff;color:var(--noche);border-radius:var(--r-m);padding:var(--s6);box-shadow:var(--sombra);margin:-5rem auto 0;width:min(100% - 2.5rem,40rem)}
.panorama{padding-bottom:var(--s6)}
@media (min-width:960px){.panorama__card{margin-top:-7rem;width:min(calc(100% - 2.5rem),74rem);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);column-gap:var(--s7);align-items:center;padding:var(--s7)}.panorama__card>:not(figure){grid-column:1}.panorama__card .panorama__familia{grid-column:2;grid-row:1 / span 3;margin:0}}
.panorama__card h2{margin-bottom:var(--s3)}
.panorama__card p:last-child{margin:0}

.destacados{display:grid;gap:var(--s4);list-style:none;margin:0;padding:0}
@media (min-width:760px){.destacados{grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:auto auto;gap:var(--s5)}.dest--grande{grid-row:span 2}}
.dest{position:relative;background:#fff;border-radius:var(--r-m);overflow:hidden;display:flex;flex-direction:column;min-height:100%}
.dest__img{flex:1;min-height:12rem;display:grid;place-items:center;overflow:hidden;background:var(--arena-2)}
.dest__img img{width:100%;height:100%;object-fit:cover}
.dest__img--recorte{padding:var(--s5)}
.dest__img--recorte img{object-fit:contain;max-height:14rem}
.dest__cuerpo{padding:var(--s4) var(--s5) var(--s5);display:flex;flex-direction:column;gap:.2rem}
.dest__nombre{font:800 1.15rem/1.15 var(--titulos);color:var(--noche)}
.dest--grande .dest__nombre{font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem)}
.dest__nota{font-size:.9rem;color:var(--apagado)}
.etiqueta-precio{position:absolute;top:var(--s4);right:var(--s4);z-index:2;background:var(--sol);color:var(--noche);font:800 1.1rem/1 var(--titulos);padding:.55rem .85rem;border-radius:var(--r-s);transform:rotate(3deg);box-shadow:0 6px 14px -6px rgba(11,31,82,.45)}
.etiqueta-precio::before{content:"";position:absolute;left:.4rem;top:50%;width:.4rem;height:.4rem;margin-top:-.2rem;border-radius:50%;background:var(--noche);opacity:.25}
.etiqueta-precio span{padding-left:.5rem}
@media (min-width:760px){.dest--ancho{grid-column:2 / span 2;flex-direction:row}.dest--ancho .dest__img{flex:1 1 55%;min-height:13rem}.dest--ancho .dest__cuerpo{flex:1 1 45%;justify-content:center;padding:var(--s5)}}

.frase{display:grid;gap:var(--s5);align-items:start}
@media (min-width:960px){.frase{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s8)}}
.frase h2{margin:0}
.frase p{font-size:1.18rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:var(--s5) 0 0;padding:0}
.chips li{background:#fff;border:1.5px solid var(--mar);color:var(--mar);border-radius:999px;padding:.4rem 1rem;font:700 .76rem/1.2 var(--titulos);letter-spacing:.08em;text-transform:uppercase}
.chips--claro{margin-top:var(--s5)}
.chips--claro li{background:#fff}

.resenas{max-width:none}
.resenas__cta{margin-top:var(--s5);display:flex;flex-wrap:wrap;gap:var(--s3)}
.pasado{display:grid;gap:var(--s6);align-items:center}
@media (min-width:960px){.pasado{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--s8)}}

.cierre{position:relative;background:radial-gradient(46rem 26rem at 50% 0%,rgba(255,194,46,.20),transparent 72%),#fff;padding:var(--s8) 0 var(--s6);text-align:center}
.cierre .rotulo{margin-bottom:var(--s3)}
.cierre h2{margin-bottom:var(--s3)}
.cierre .tel{display:inline-block;font:800 clamp(2.4rem,1.4rem + 4vw,4.4rem)/1 var(--titulos);color:var(--mar);text-decoration:none;white-space:nowrap;letter-spacing:-.03em;margin:var(--s2) 0 var(--s4)}
.cierre .tel:hover{color:var(--noche)}
.cierre__nota{color:var(--apagado);max-width:46ch;margin-inline:auto}
.cierre .acciones{justify-content:center}
.cierre__datos{display:grid;gap:var(--s4);margin-top:var(--s7);text-align:left;grid-template-columns:minmax(0,1fr)}
@media (min-width:860px){.cierre__datos{grid-template-columns:1fr 1fr}}
.cierre__datos>div{background:var(--arena);border-radius:var(--r-m);padding:var(--s5) var(--s6)}
.cierre__datos h3{font:700 .78rem/1.2 var(--titulos);letter-spacing:.16em;text-transform:uppercase;color:var(--mar);margin-bottom:var(--s3)}
.cierre__datos address{font-style:normal}

.faq-bloque{display:grid;gap:var(--s6);align-items:start}
@media (min-width:960px){.faq-bloque{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:var(--s8)}.faq-bloque__cab{position:sticky;top:7rem}}
.faq details{border-bottom:1px solid var(--linea)}
.faq details:first-child{border-top:1px solid var(--linea)}
.faq summary{list-style:none;cursor:pointer;padding:var(--s4) 3rem var(--s4) 0;position:relative;font:700 1.08rem/1.35 var(--titulos);color:var(--noche)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;translate:0 -50%;width:2rem;height:2rem;border-radius:50%;background:var(--arena);color:var(--mar);display:grid;place-items:center;font:600 1.4rem/1 var(--texto);transition:rotate .15s,background .15s}
.faq details[open] summary::after{rotate:45deg;background:var(--sol);color:var(--noche)}
.faq__r{padding:0 0 var(--s4);max-width:var(--lectura)}

/* ============================== Cabecera de páginas interiores ============================== */
.pagina-hero{position:relative;background:radial-gradient(44rem 30rem at 88% 6%,rgba(255,194,46,.30),transparent 70%),radial-gradient(38rem 26rem at 4% 108%,rgba(0,162,224,.07),transparent 70%),var(--arena);color:var(--noche);padding:4.6rem 0 4.2rem;overflow:hidden}
.pagina-hero--corta{padding:4rem 0 2.6rem}
.pagina-hero__grid{display:grid;gap:var(--s6);align-items:end;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.pagina-hero__grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}}
.pagina-hero__foto{margin:0;border-radius:var(--r-l);overflow:hidden;box-shadow:0 30px 60px -28px rgba(11,31,82,.4)}
.pagina-hero__foto img{width:100%;aspect-ratio:3/2;object-fit:cover}
.pagina-hero h1{color:var(--noche);margin-bottom:var(--s3)}
.pagina-hero .lema{color:var(--apagado)}
.pagina-hero .etiqueta{color:var(--mar)}
.pagina-hero a:not(.btn){color:var(--mar)}
.pagina-hero__pie{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5)}
.pildora{display:inline-block;font-size:.9rem;border:1px solid var(--linea-arena);border-radius:999px;padding:.35rem .95rem;background:#fff;color:var(--apagado)}

/* ============================== Carta ============================== */
.carta-nav{position:sticky;top:4.6rem;z-index:20;background:#fff;border-bottom:1px solid var(--linea)}
.carta-nav ul{display:flex;gap:.5rem;list-style:none;margin:0;padding:.75rem 0;overflow-x:auto;scrollbar-width:thin}
.carta-nav a{display:block;white-space:nowrap;padding:.5rem 1.05rem;border:1.5px solid var(--linea);border-radius:999px;color:var(--noche);text-decoration:none;font:700 .74rem/1.2 var(--titulos);letter-spacing:.08em;text-transform:uppercase}
.carta-nav a:hover{background:var(--mar);border-color:var(--mar);color:#fff}
.carta-sec{padding:var(--s7) 0 var(--s4);scroll-margin-top:9rem}
.carta-sec__cab{display:grid;gap:var(--s5);margin-bottom:var(--s5)}
@media (min-width:900px){.carta-sec__cab--img{grid-template-columns:minmax(0,1fr) 17rem;align-items:center}}
.carta-sec__cab h2{margin-bottom:var(--s3)}
.carta-sec__cab p{color:var(--apagado);max-width:60ch;margin:0}
.carta-sec__cab figure{margin:0;border-radius:var(--r-m);overflow:hidden}
.carta-sec__cab figure.recorte{background:var(--arena)}
.precio-fijo{display:inline-block;margin-left:.6rem;background:var(--sol);color:var(--noche);font:800 1rem var(--titulos);padding:.3rem .7rem;border-radius:var(--r-s);vertical-align:middle}
.carta-lista{list-style:none;margin:0;padding:0;display:grid;gap:0 var(--s7)}
@media (min-width:900px){.carta-lista{grid-template-columns:1fr 1fr}}
.plato{padding:.85rem 0;border-bottom:1px solid var(--linea);break-inside:avoid}
.plato__fila{display:flex;align-items:baseline;gap:.6rem}
.plato__nombre{font:600 1.02rem/1.35 var(--texto);color:var(--noche);margin:0;letter-spacing:0}
.plato__puntos{flex:1;min-width:1rem;border-bottom:2px dotted #b6c9db;translate:0 -.25em}
.plato__precio{font:800 1rem var(--titulos);color:var(--mar);white-space:nowrap;font-variant-numeric:tabular-nums}
.plato--foto{display:flex;gap:.9rem;align-items:center;padding:.5rem 0}
.plato__txt{flex:1;min-width:0}
.plato__img{flex:none;width:4.5rem;height:4.5rem;object-fit:contain}
.plato__desc{margin:.15rem 0 0;font-size:.925rem;color:var(--apagado);line-height:1.45}
.carta-notas{margin:var(--s4) 0 0;padding:var(--s4) var(--s5);background:var(--arena);border-radius:var(--r-s);color:var(--noche);font-size:.975rem}
.carta-notas p{margin:0}
.carta-pie{margin-top:var(--s7);padding:var(--s6);background:var(--arena);color:var(--noche);border-radius:var(--r-m);display:grid;gap:var(--s2)}
.carta-pie p{margin:0}
.carta-pie a:not(.btn){color:var(--mar)}

/* ============================== Historia ============================== */
.relato{display:grid;gap:var(--s6)}
@media (min-width:960px){.relato{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s8);align-items:start}}
.relato__texto p{font-size:1.125rem}
.relato__figs{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:start}
.fig-bn{margin:0}
.fig-bn img{width:100%;border-radius:var(--r-s);box-shadow:var(--sombra)}
.fig-bn figcaption,.fig figcaption{font-size:.9rem;color:var(--apagado);margin-top:.5rem}
.fig{margin:0}
.fig img{width:100%;border-radius:var(--r-m)}
.cronologia{list-style:none;margin:0;padding:0;display:grid;gap:0;border-left:3px solid var(--linea)}
.cronologia li{position:relative;padding:0 0 var(--s5) var(--s6)}
.cronologia li::before{content:"";position:absolute;left:-.62rem;top:.3rem;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--sol);border:3px solid var(--mar)}
.cronologia b{display:block;font:800 1.5rem/1 var(--titulos);color:var(--mar);margin-bottom:.2rem}
.cronologia span{color:var(--noche)}
.videos{display:grid;gap:var(--s5);grid-template-columns:repeat(auto-fill,minmax(19rem,1fr))}
.video{margin:0}
.video__marco{position:relative;aspect-ratio:16/9;background:var(--noche);border-radius:var(--r-m);overflow:hidden}
.video__marco iframe,.video__btn{position:absolute;inset:0;width:100%;height:100%;border:0}
.video__btn{display:block;padding:0;background:var(--noche);cursor:pointer}
.video__btn img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:opacity .15s,transform .3s}
.video__btn:hover img{opacity:1;transform:scale(1.03)}
.video__play{position:absolute;inset:0;display:grid;place-items:center}
.video__play::before{content:"";width:4.2rem;height:4.2rem;border-radius:50%;background:var(--sol);box-shadow:0 8px 22px rgba(0,0,0,.35)}
.video__play::after{content:"";position:absolute;border-style:solid;border-width:.85rem 0 .85rem 1.4rem;border-color:transparent transparent transparent var(--noche);margin-left:.3rem}
.video figcaption{margin-top:.6rem;font-size:.95rem}
.medios{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}
@media (min-width:72rem){.medios{grid-template-columns:repeat(4,1fr)}}
.medios__nombre{font:800 1.5rem/1.1 var(--titulos);color:var(--noche);letter-spacing:-.01em;text-align:center}
.medios li{background:#fff;border:1px solid var(--linea);border-radius:var(--r-m);padding:var(--s5)}
.medios strong{display:block;font:800 1.05rem/1.2 var(--titulos);color:var(--mar);margin-bottom:.3rem}
.medios p{margin:0 0 .35rem;font-size:.95rem}

/* ============================== Contacto / formularios ============================== */
.contacto{display:grid;gap:var(--s6)}
@media (min-width:900px){.contacto{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--s7);align-items:start}}
.tarjeta{background:var(--arena);border-radius:var(--r-m);padding:var(--s6)}
.tarjeta h2,.tarjeta h3{margin-bottom:var(--s3)}
.tarjeta h3{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mar)}
.tarjeta .tel{font:800 2.1rem/1.1 var(--titulos);color:var(--mar);text-decoration:none;letter-spacing:-.02em}
.formulario{background:#fff;border:1px solid var(--linea);border-radius:var(--r-m);padding:var(--s6);box-shadow:var(--sombra)}
.wpforms-container .wpforms-field-label,.wpforms-container label{font:700 .9rem var(--texto)!important;color:var(--noche)!important}
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container input[type=tel],.wpforms-container input[type=number],.wpforms-container select,.wpforms-container textarea{width:100%!important;max-width:100%!important;border:1.5px solid var(--linea)!important;border-radius:var(--r-s)!important;padding:.7rem .85rem!important;font:400 1rem var(--texto)!important;background:#fff!important;color:var(--noche)!important;min-height:2.9rem}
.wpforms-container input:focus,.wpforms-container textarea:focus,.wpforms-container select:focus{border-color:var(--mar)!important;outline:3px solid rgba(0,162,224,.3)!important}
.wpforms-container .wpforms-submit,.wpforms-container button[type=submit]{background:var(--mar)!important;color:#fff!important;border:2px solid var(--mar)!important;border-radius:999px!important;padding:.85rem 1.9rem!important;font:700 .85rem var(--titulos)!important;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.wpforms-container .wpforms-submit:hover{background:var(--noche)!important;border-color:var(--noche)!important}
.wpforms-container .wpforms-field{padding:.6rem 0!important}
.aviso-form{font-size:.95rem;color:var(--apagado)}
.confirmado{padding:var(--s9) 0;text-align:center}
.confirmado .marca-ok{display:inline-grid;place-items:center;width:4.8rem;height:4.8rem;border-radius:50%;background:var(--sol);color:var(--noche);font:800 2.2rem/1 var(--titulos);margin-bottom:var(--s5)}

/* ============================== Entradas y páginas de WordPress ============================== */
.articulo__cab{padding:var(--s7) 0 var(--s5)}
.articulo__meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;color:var(--apagado);font-size:.925rem;margin-bottom:var(--s4);align-items:center}
.articulo__meta a,.articulo__meta .pastilla{display:inline-block;background:var(--arena);color:var(--mar);font:700 .72rem/1 var(--titulos);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:.4rem .75rem;border-radius:999px}
.articulo__img{margin:0 0 var(--s6);border-radius:var(--r-m);overflow:hidden;box-shadow:var(--sombra)}
.articulo__img img{width:100%;max-height:34rem;object-fit:cover}
.contenido{font-size:1.125rem;line-height:1.75;overflow-wrap:break-word}
.contenido>*{max-width:var(--lectura);margin-inline:auto}
.contenido>.alignwide,.contenido>.alignfull,.contenido>.wp-block-uagb-container,.contenido>figure.wp-block-image{max-width:100%}
.contenido h1,.contenido h2,.contenido h3,.contenido h4{margin-top:var(--s7)}
.contenido h1{margin-top:0}
.contenido img{border-radius:var(--r-s)}
.contenido figure{margin:var(--s5) auto}
.contenido figcaption{font-size:.9rem;color:var(--apagado);margin-top:.4rem}
.contenido blockquote{margin:var(--s5) auto;padding:var(--s4) var(--s5);border-left:5px solid var(--sol);background:var(--arena);border-radius:0 var(--r-s) var(--r-s) 0}
.contenido table{width:100%;border-collapse:collapse}
.contenido th,.contenido td{border:1px solid var(--linea);padding:.5rem .75rem;text-align:left}
.cta-articulo{margin:var(--s8) auto 0;max-width:var(--lectura);background:var(--arena);color:var(--noche);border-radius:var(--r-m);padding:var(--s6)}
.cta-articulo h2,.cta-articulo h3{color:var(--noche);margin-bottom:var(--s3)}
.cta-articulo p{color:var(--noche)}
.cta-articulo a:not(.btn){color:var(--mar)}
.nav-entradas{display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;margin:var(--s7) auto 0;max-width:var(--lectura);padding-top:var(--s5);border-top:1px solid var(--linea)}
.nav-entradas a{text-decoration:none;font-weight:600}
.comentarios{max-width:var(--lectura);margin:var(--s7) auto 0}
.comentarios input[type=text],.comentarios input[type=email],.comentarios input[type=url],.comentarios textarea{width:100%;border:1.5px solid var(--linea);border-radius:var(--r-s);padding:.7rem .85rem;font:inherit;background:#fff}
.comentarios .submit{background:var(--mar);color:#fff;border:0;border-radius:999px;padding:.85rem 1.7rem;font:700 .85rem var(--titulos);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.listado{display:grid;gap:var(--s5);grid-template-columns:repeat(auto-fill,minmax(20rem,1fr))}
.listado article{background:var(--arena);border-radius:var(--r-m);padding:var(--s5)}
.listado h2{font-size:1.4rem}
.listado h2 a{text-decoration:none;color:var(--noche)}
.vacio{padding:var(--s9) 0;text-align:center}

/* ============================== Pie ============================== */
.pie{position:relative;background:linear-gradient(#3A76BE 3.5rem,var(--arena-2) 0);color:var(--noche);padding:0;overflow:hidden;margin-top:-1px}
.pie__in{padding-top:var(--s6)}
.pie a:not(.btn){color:var(--noche)}
.pie a:not(.btn):hover{color:var(--mar)}
.pie__grid{display:grid;gap:var(--s6)}
@media (min-width:900px){.pie__grid{grid-template-columns:1.3fr 1fr 1fr .8fr;gap:var(--s7)}}
.pie h2{font:700 .75rem/1.2 var(--titulos);letter-spacing:.16em;text-transform:uppercase;color:var(--mar);margin:0 0 var(--s4)}
.pie__marca{display:flex;gap:var(--s4);align-items:flex-start}
.pie__marca img{width:3.4rem;height:auto}
.pie__marca p{margin:0 0 .3rem;font-size:.975rem}
.pie__marca .rotulo{font-size:1.6rem;margin:0}
.pie ul{list-style:none;margin:0;padding:0}
.pie li{margin-bottom:.4rem}
.pie address{font-style:normal}
.pie p{font-size:.975rem}
.redes{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--s4)}
.redes a{border:1.5px solid var(--noche);background:#fff;border-radius:999px;padding:.35rem 1rem;text-decoration:none;font:700 .72rem/1.2 var(--titulos);letter-spacing:.08em;text-transform:uppercase}
.pie__base{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--linea-arena);display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);justify-content:space-between;font-size:.9rem;color:var(--apagado)}
.pie__base ul{display:flex;gap:var(--s5)}
.pie__base li{margin:0}
.pie__nombre{font:800 clamp(5rem,21vw,19rem)/.78 var(--titulos);letter-spacing:-.05em;color:var(--linea-arena);text-align:center;white-space:nowrap;margin:var(--s6) 0 0;transform:translateY(14%);user-select:none;pointer-events:none}

/* ============================== Efectos inspirados en 21st.dev ============================== */
/* Blur Fade (Magic UI): solo se aplica a lo que el script oculta al cargar, fuera de pantalla */
.revela{transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1),filter .75s ease}
.revela--oculto{opacity:0;transform:translateY(24px);filter:blur(6px)}

/* Flip Words (Aceternity) */
.hero__flip{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4em;font:700 clamp(1rem,.95rem + .35vw,1.2rem)/1.3 var(--titulos);color:var(--noche);margin:0 0 var(--s4)}
/* sin filter:blur: en Safari (iPhone) recorta la letra mientras dura y se comía el rabito de la «p» */
.flip{display:inline-block;font:400 1.55em/1.5 var(--rotulo);padding:0 .2em .35em 0;margin-bottom:-.35em;color:var(--coral-tinta);transition:opacity .3s,transform .3s}
.flip--sale{opacity:0;transform:translateY(-8px)}
.flip--entra{animation:flipEntra .45s ease both}
@keyframes flipEntra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Entradilla con la foto del espeto (la de la web anterior) */
.entradilla-grid{display:grid;gap:var(--s6);grid-template-columns:minmax(0,1fr);align-items:center}
@media (min-width:960px){.entradilla-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:var(--s8)}}
.entradilla-foto{margin:0;border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sombra);border:6px solid #fff;transform:rotate(1.4deg)}
.entradilla-foto img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* Hover Preview: palabras que enseñan su foto */
.previa{background:linear-gradient(transparent 60%,rgba(255,194,46,.5) 0);border-radius:2px;cursor:default}
a.previa{color:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:var(--coral-tinta);text-decoration-thickness:2px;text-underline-offset:4px}
a.previa:hover{color:var(--mar)}
.previa-flotante{position:fixed;z-index:80;left:0;top:0;width:260px;height:190px;margin:0;border-radius:16px;overflow:hidden;border:4px solid #fff;background:var(--arena);box-shadow:0 26px 50px -18px rgba(11,31,82,.55);opacity:0;transform:translateY(10px) scale(.92) rotate(-3deg);transition:opacity .18s,transform .25s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.previa-flotante--ver{opacity:1;transform:rotate(-2deg)}
.previa-flotante img{width:100%;height:100%;object-fit:cover}

/* Focus Cards (Aceternity): al señalar un plato, los demás se apartan */
@media (hover:hover){
  .destacados .dest{transition:opacity .25s,filter .25s,transform .3s cubic-bezier(.2,.8,.2,1)}
  .destacados:hover .dest:not(:hover){opacity:.55;filter:blur(2px) saturate(.75)}
  .destacados .dest:hover{transform:translateY(-6px)}
}

/* Circular Gallery: fotos sobre un arco */
.galeria{padding:var(--s8) 0 var(--s7);background:#fff;overflow:hidden}
.carrusel__pista{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:var(--s5) calc(50% - 9.5rem) var(--s6);perspective:1100px;scrollbar-width:none;outline-offset:-6px}
.carrusel__pista::-webkit-scrollbar{display:none}
.carrusel__item{position:relative;flex:0 0 19rem;margin:0;scroll-snap-align:center;transform-style:preserve-3d;transition:transform .12s linear;will-change:transform}
.carrusel__item .foto{border-radius:var(--r-l);overflow:hidden;aspect-ratio:3/4;background:#fff;box-shadow:var(--sombra)}
.carrusel__item img{width:100%;height:100%;object-fit:cover}
/* las fotos horizontales van en tarjeta horizontal, con la misma altura que las verticales */
.carrusel__item:has(.foto--h){flex-basis:33.75rem}.carrusel__item .foto--h{aspect-ratio:4/3}
@media (max-width:600px){.carrusel__item:has(.foto--h){flex-basis:min(26.7rem,88vw)}}

.carrusel__item figcaption{font:400 1.5rem/1.1 var(--rotulo);color:var(--noche);text-align:center;margin-top:.8rem}
.carrusel__ctrl{display:flex;justify-content:center;gap:.6rem}
.carrusel__ctrl button{width:3rem;height:3rem;border-radius:50%;border:1.5px solid var(--linea-arena);background:#fff;color:var(--noche);font:700 1.1rem/1 var(--titulos);cursor:pointer;transition:background .15s}
.carrusel__ctrl button:hover{background:var(--arena)}
@media (max-width:600px){.carrusel__item{flex-basis:15rem}.carrusel__pista{padding-inline:calc(50% - 7.5rem)}}

/* Orilla en vista cenital: olas que vienen y van sobre la arena, arriba del cierre */
.cierre{overflow:hidden;background:#3A76BE;color:#fff}
.cierre .rotulo{color:var(--sol)}
.cierre h2,.cierre .tel,.cierre__nota a{color:#fff}
.cierre .tel:hover{color:var(--sol)}
.cierre__nota{color:rgba(255,255,255,.9)}
.barca{position:absolute;width:clamp(1.8rem,1rem + 2vw,3rem);pointer-events:none;filter:drop-shadow(4px 8px 4px rgba(11,31,82,.35));animation:barca 7s ease-in-out infinite}
.barca--1{left:9%;top:28%;--giro:-28deg}
.barca--2{right:11%;top:58%;--giro:62deg;animation-delay:-3s}
@keyframes barca{0%,100%{transform:rotate(var(--giro)) translateY(0)}50%{transform:rotate(calc(var(--giro) + 5deg)) translateY(-6px)}}
@media (max-width:600px){.barca--1{left:4%;top:6%}.barca--2{right:4%;top:auto;bottom:6%}}
.cierre>.contenedor{position:relative;z-index:1}
.orilla{position:absolute;top:0;left:0;width:100%;height:var(--orilla);pointer-events:none;overflow:visible}
.orilla,.sombrilla{margin-top:var(--mar)}
.sombrilla{position:absolute;top:calc(var(--orilla) * .72);width:clamp(3rem,1.6rem + 4vw,5.5rem);pointer-events:none;filter:drop-shadow(7px 10px 5px rgba(11,31,82,.22))}
.sombrilla--1{left:7%;transform:rotate(12deg)}
.sombrilla--2{right:9%;top:calc(var(--orilla) * .95);width:clamp(2.6rem,1.4rem + 3.4vw,4.6rem);transform:rotate(-20deg)}
.sombrilla--3{left:15%;top:calc(var(--orilla) * 1.02);width:clamp(2.4rem,1.2rem + 3vw,4.2rem);transform:rotate(30deg)}
@media (max-width:600px){.sombrilla--2{top:calc(var(--orilla) * .62);right:5%}.sombrilla--3{left:auto;right:22%;top:calc(var(--orilla) * .72)}}
.orilla__ola,.orilla__agua{animation:ola 9s ease-in-out infinite}
.orilla__mojada{opacity:0;animation:mojada 9s ease-in-out infinite}
@keyframes ola{0%{transform:translateY(-34px);opacity:0}8%{opacity:1}45%{transform:translateY(14px);opacity:1}95%,100%{transform:translateY(-34px);opacity:0}}
/* la estela de espuma va detrás de la línea: hacia el mar mientras la ola sube por la arena y hacia la arena mientras se retira */
.orilla__estela{transform:translateY(calc(var(--d) * -1));animation:estela 9s ease-in-out infinite;animation-delay:inherit}
@keyframes estela{0%,36%{transform:translateY(calc(var(--d) * -1))}56%,100%{transform:translateY(var(--d))}}
.orilla__cuerpo{opacity:.85;animation:cuerpo 9s ease-in-out infinite;animation-delay:inherit}
@keyframes cuerpo{0%,45%{opacity:.85}90%,100%{opacity:0}}
@keyframes mojada{0%,40%{opacity:0}48%{opacity:1;transform:translateY(0)}78%{opacity:.75}100%{opacity:0;transform:translateY(-14px)}}
.orilla--quieta *{animation-play-state:paused}

/* Timeline (Aceternity): la línea se llena al bajar */
.linea-tiempo{position:relative;--progreso:0;list-style:none;margin:0;padding:0}
.linea-tiempo::before,.linea-tiempo::after{content:"";position:absolute;left:1.15rem;top:0;width:3px;border-radius:3px}
.linea-tiempo::before{bottom:0;background:var(--linea-arena)}
.linea-tiempo::after{height:calc(var(--progreso) * 100%);background:linear-gradient(var(--sol),var(--coral-tinta))}
.hito{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3) var(--s7);padding:0 0 var(--s8) 3.6rem}
.hito:last-child{padding-bottom:0}
.hito::before{content:"";position:absolute;z-index:1;left:.62rem;top:.5rem;width:1.15rem;height:1.15rem;border-radius:50%;background:#fff;border:3px solid var(--linea-arena);transition:background .3s,border-color .3s}
.hito--activo::before{background:var(--sol);border-color:var(--coral-tinta)}
@media (min-width:900px){.hito{grid-template-columns:15rem minmax(0,1fr)}.hito__cuando{position:sticky;top:8rem;align-self:start}}
.hito__cuando{font:800 clamp(2rem,1.3rem + 2.6vw,3.5rem)/1 var(--titulos);letter-spacing:-.03em;color:#7A8299;transition:color .3s}
.hito--activo .hito__cuando{color:var(--noche)}
.hito__texto{font-size:1.15rem;max-width:46ch;margin:0 0 var(--s4)}
.hito__media{max-width:34rem;margin:0;border-radius:var(--r-m);overflow:hidden;box-shadow:var(--sombra)}
.hito__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hito__media .video{margin:0}
.hito__media .video figcaption{padding:.6rem .9rem;background:#fff;font-size:.9rem}

/* Barra de acción en móvil: llamar, carta y cómo llegar siempre a mano */
.accion-movil{display:none}
@media (max-width:760px){
  body{padding-bottom:4.4rem}
  .accion-movil{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#fff;border-top:1px solid var(--linea);box-shadow:0 -10px 30px -12px rgba(11,31,82,.3)}
  .accion-movil a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.55rem .25rem;min-height:4rem;text-decoration:none;color:var(--noche);font:700 .66rem/1.1 var(--titulos);letter-spacing:.04em;text-transform:uppercase;text-align:center;min-width:0;overflow-wrap:anywhere}
  .accion-movil a:first-child{background:var(--sol)}
  .accion-movil .ico{width:1.4rem;height:1.4rem}
}

/* Cocina: la paella recortada de la web anterior, sin marco */
.cocina__fotos .f2--recorte{border:0;box-shadow:none;background:none;overflow:visible;width:50%;right:-.5rem;bottom:-1rem}
.cocina__fotos .f2--recorte img{aspect-ratio:1/1;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(11,31,82,.28))}

/* «Donde comer...»: la foto de la familia dentro de la tarjeta */
.panorama__familia{margin:var(--s5) 0 0;background:#fff;padding:.5rem .5rem 0;border-radius:8px;box-shadow:var(--sombra);transform:rotate(-1.2deg)}
.panorama__familia img{width:100%;height:auto;aspect-ratio:auto;object-fit:cover;border-radius:4px}
.panorama__familia figcaption{font:400 1.3rem/1.1 var(--rotulo);color:var(--noche);text-align:center;padding:.5rem 0 .6rem}

/* La carta en fotos: los platos recortados pasan despacio (se para al señalar) */
.platos-banda{padding:var(--s7) 0 var(--s6);background:var(--arena)}
.platos-banda .encabezado{margin-bottom:var(--s4)}
.platos-banda__ventana{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.platos-banda__pista{display:flex;gap:1.4rem;width:max-content;list-style:none;margin:0;padding:var(--s3) 0 var(--s4);animation:marquesina 80s linear infinite}
.platos-banda__ventana:hover .platos-banda__pista,.platos-banda__ventana:focus-within .platos-banda__pista{animation-play-state:paused}
.plato-foto{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:11rem;text-decoration:none;color:var(--noche);text-align:center}
.plato-foto__img{display:grid;place-items:center;width:11rem;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 16px 30px -18px rgba(11,31,82,.45);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.plato-foto__img img{width:88%;height:88%;object-fit:contain}
.plato-foto:hover .plato-foto__img,.plato-foto:focus-visible .plato-foto__img{transform:translateY(-6px) rotate(-3deg)}
.plato-foto__nombre{font:700 .95rem/1.2 var(--titulos)}
.plato-foto__precio{font:700 .8rem/1 var(--titulos);background:var(--sol);border-radius:999px;padding:.3rem .6rem}
@media (prefers-reduced-motion:reduce){.platos-banda__ventana{overflow-x:auto}}

/* Pasado inolvidable: las fotos antiguas de la portada, como un álbum */
.album-portada{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);align-items:start}
.album-portada figure,.album-portada__abuelo{margin:0;background:#fff;padding:.4rem .4rem 0;border-radius:6px;box-shadow:var(--sombra)}
.album-portada img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:3px}
.album-portada figcaption,.album-portada__abuelo>span{display:block;font:400 1.1rem/1.1 var(--rotulo);color:var(--noche);padding:.45rem .2rem .55rem;text-align:center}
.album-portada figure:nth-child(odd){transform:rotate(-1.5deg)}
.album-portada figure:nth-child(even){transform:rotate(1.2deg) translateY(.6rem)}
.album-portada__abuelo{text-decoration:none;transform:rotate(-.8deg);outline:3px solid var(--sol);outline-offset:-3px}
.album-portada__abuelo:hover>span{color:var(--mar)}
@media (max-width:520px){.album-portada{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Línea del tiempo: fotos del archivo familiar en cada momento */
.hito__fotos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);max-width:36rem;margin:0 0 var(--s4)}
.hito__fotos figure{margin:0;background:#fff;padding:.45rem .45rem 0;border-radius:6px;box-shadow:var(--sombra)}
.hito__fotos figure:first-child{grid-column:1/-1}
.hito__fotos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:3px}
.hito__fotos figure:first-child img{aspect-ratio:3/2}
.hito__fotos figcaption{font:400 1.05rem/1.15 var(--rotulo);color:var(--noche);padding:.4rem .2rem .5rem;text-align:center}
.hito__fotos figure:nth-child(2n){transform:rotate(1deg)}
.hito__fotos figure:nth-child(2n+3){transform:rotate(-1deg)}
@media (min-width:900px){.hito__fotos--3,.hito__fotos--4{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hito__fotos--2 figure:first-child{grid-column:auto}
.hito__fotos--2 img,.hito__fotos--2 figure:first-child img{aspect-ratio:4/5}

/* Visor: las fotos antiguas se abren en grande al pulsarlas */
.con-visor img{cursor:zoom-in}
.visor{border:0;padding:0;background:transparent;max-width:min(92vw,70rem);max-height:92vh;overflow:visible}
.visor::backdrop{background:rgba(11,31,82,.82);backdrop-filter:blur(3px)}
.visor figure{margin:0;background:#fff;padding:.6rem .6rem 0;border-radius:8px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.visor img{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;margin:0 auto;border-radius:4px}
.visor figcaption{font:400 1.5rem/1.2 var(--rotulo);color:var(--noche);text-align:center;padding:.6rem .4rem .8rem}
.visor__cerrar{position:absolute;top:-1rem;right:-1rem;width:2.8rem;height:2.8rem;border-radius:50%;border:0;background:var(--sol);color:var(--noche);font:800 1.3rem/1 var(--titulos);cursor:pointer;box-shadow:var(--sombra)}

/* Historia: álbum de la familia */
.album{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.album figure{margin:0;background:#fff;padding:.45rem .45rem 0;border-radius:6px;box-shadow:var(--sombra)}
.album img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:3px}
.album figcaption{font:400 1.1rem/1.15 var(--rotulo);color:var(--noche);padding:.45rem .2rem .55rem;text-align:center}
.album__grande{grid-column:1/-1}
@media (min-width:900px){.album{grid-template-columns:repeat(4,minmax(0,1fr))}.album__grande{grid-column:span 2;grid-row:span 2}.album__grande img{aspect-ratio:auto;height:calc(100% - 2.6rem)}}

/* Medios: logo o portada de cada aparición, como en la web anterior */
.medios li{display:flex;flex-direction:column;overflow:hidden}
.medios__img{margin:calc(var(--s5) * -1) calc(var(--s5) * -1) var(--s4);aspect-ratio:16/9;background:var(--arena);overflow:hidden}
.medios__img a{display:block;height:100%}
.medios__img img{width:100%;height:100%;object-fit:cover}
.medios__img--logo{background:#fff;border-bottom:1px solid var(--linea);display:grid;place-items:center;padding:var(--s4) var(--s6)}
.medios__img--logo img{object-fit:contain;max-height:100%}

/* Contacto: dirección y teléfono como en la web anterior */
.contacto__dir{font-style:normal;margin-bottom:var(--s4)}
.contacto__dir h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.8rem);margin-bottom:.3rem}
.contacto__dir span{color:var(--apagado)}
.tarjeta .contacto__tel{margin:.2rem 0 var(--s3)}
.contacto__espeto{float:right;width:8rem;margin:-1rem -1rem var(--s3) var(--s3);transform:rotate(8deg)}
.contacto__espeto img{width:100%;height:auto;filter:drop-shadow(0 12px 16px rgba(11,31,82,.25))}
.contacto__form-titulo{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin-bottom:var(--s2)}


@media print{.cab,.pie,.carta-nav,.acciones,.menu-btn,.accion-movil,.horizonte,.pie__nombre{display:none!important}body{background:#fff;padding:0}a{color:inherit}}

/* ============================== Blog y entradas: el mismo formato para todas ============================== */
.articulo__cab h1 strong{font-weight:inherit}
.articulo__cab h1 a{color:inherit;text-decoration:underline;text-decoration-color:var(--sol);text-decoration-thickness:.08em;text-underline-offset:.12em}
.articulo .contenido{max-width:var(--lectura);margin-inline:auto}
.articulo .contenido>*{max-width:none}
.articulo .contenido .wp-block-uagb-container,.articulo .contenido .uagb-container-inner-blocks-wrap{display:block!important;width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;background:none!important;box-shadow:none!important;border:0!important}
.articulo .contenido p{margin:0 0 1.2em}
.articulo .contenido [class*="-font-size"]{font-size:inherit!important;line-height:inherit}
.articulo .contenido .wp-block-uagb-advanced-heading{margin:var(--s7) 0 var(--s3)!important;padding:0!important;text-align:left!important}
.articulo .contenido h2,.articulo .contenido h3{margin:var(--s7) 0 var(--s3)}
.articulo .contenido .wp-block-uagb-advanced-heading h2,.articulo .contenido .wp-block-uagb-advanced-heading h3{margin:0}
.articulo .contenido h2{font-size:clamp(1.55rem,1.05rem + 1.5vw,2.15rem);color:var(--noche)}
.articulo .contenido h3{font-size:1.2rem;color:var(--mar)}
.articulo .contenido figure.wp-block-image,.articulo .contenido .wp-block-uagb-image{margin:var(--s6) 0!important;width:auto!important;max-width:none!important;text-align:center}
.articulo .contenido figure.wp-block-image img,.articulo .contenido .wp-block-uagb-image img{display:block;width:auto!important;max-width:100%!important;height:auto!important;max-height:42rem;margin-inline:auto;border-radius:var(--r-m);box-shadow:var(--sombra)}
.articulo .contenido .uagb-toc__wrap{display:block!important;width:auto!important;background:var(--arena)!important;border:0!important;border-radius:var(--r-m)!important;padding:var(--s5) var(--s6)!important;margin:var(--s5) 0 var(--s6)}
.articulo .contenido .uagb-toc__title{display:flex!important;gap:.5rem;align-items:center;font:800 .8rem/1.2 var(--titulos)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--mar)!important;margin:0 0 var(--s3)!important}
.articulo .contenido .uagb-toc__title svg{width:1.1rem;height:auto;fill:currentColor}
.articulo .contenido .uagb-toc__list-wrap ul,.articulo .contenido .uagb-toc__list-wrap ol{margin:0;padding-left:1.1rem;list-style:none}
.articulo .contenido .uagb-toc__list-wrap li{margin:.25rem 0;font-size:1rem}
.articulo .contenido .uagb-toc__list-wrap a{color:var(--noche)!important;text-decoration:none}
.articulo .contenido .uagb-toc__list-wrap a:hover{color:var(--mar)!important;text-decoration:underline}
.articulo .contenido .wp-block-footnotes{font-size:.95rem;line-height:1.6;color:var(--apagado);border-top:1px solid var(--linea);padding-top:var(--s5);margin-top:var(--s7)}

.entradas-lista{display:grid;gap:var(--s6);grid-template-columns:minmax(0,1fr)}
@media (min-width:860px){.entradas-lista{grid-template-columns:repeat(2,minmax(0,1fr))}}
.entrada-tarjeta{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linea);border-radius:var(--r-m);overflow:hidden;box-shadow:var(--sombra)}
.entrada-tarjeta__foto{display:block;overflow:hidden;aspect-ratio:4/3;background:var(--arena)}
.entrada-tarjeta__foto img{width:100%;height:100%;object-fit:cover;object-position:center 35%;transition:transform .6s ease}
.entrada-tarjeta:hover .entrada-tarjeta__foto img{transform:scale(1.03)}
.entrada-tarjeta__texto{display:flex;flex-direction:column;flex:1;padding:var(--s5) var(--s6) var(--s6)}
.entrada-tarjeta__texto .articulo__meta{margin-bottom:var(--s3)}
.entrada-tarjeta h2{font-size:clamp(1.45rem,1rem + 1.2vw,1.9rem);margin-bottom:var(--s3)}
.entrada-tarjeta h2 a{color:inherit;text-decoration:none}
.entrada-tarjeta h2 a:hover{color:var(--mar)}
.entrada-tarjeta__texto>p:last-child{margin:auto 0 0;padding-top:var(--s3)}
.entradas-todas{margin-top:var(--s6);text-align:center}
@media (prefers-reduced-motion:reduce){.entrada-tarjeta__foto img{transition:none}}

/* Terraza: mosaico de fotos con las vistas */
.terraza__mosaico{display:grid;gap:var(--s3);grid-template-columns:minmax(0,1fr)}
.terraza__mosaico figure{margin:0;overflow:hidden;box-shadow:var(--sombra)}
.terraza__mosaico img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
@media (min-width:860px){.terraza__mosaico{grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr}.terraza__grande{grid-row:1 / span 2}.terraza__mosaico img{aspect-ratio:auto}.terraza__grande img{min-height:30rem;object-position:50% 90%}}

/* Listas con icono heredadas del artículo (ingredientes): pez pequeño en coral al lado de cada línea */
.articulo .contenido .wp-block-uagb-icon-list-child{display:flex;align-items:center;gap:.6rem;margin:.35rem 0}
.articulo .contenido .uagb-icon-list__source-wrap{display:inline-flex;flex:none}
.articulo .contenido .uagb-icon-list__source-wrap svg{width:1.1rem;height:1.1rem;fill:var(--coral)}

/* Contacto: formulario propio (enviar.php) */
.form-contacto{display:grid;gap:var(--s4);margin-top:var(--s5)}
@media (min-width:640px){.form-contacto{grid-template-columns:1fr 1fr;column-gap:var(--s4)}.form-contacto__ancho{grid-column:1 / -1}}
.form-contacto p{margin:0}
.form-contacto__campo label{display:block;margin-bottom:.35rem;font:700 .9rem var(--texto);color:var(--noche)}
.form-contacto__campo label span{font-weight:400;color:var(--apagado)}
.form-contacto input[type=text],.form-contacto input[type=email],.form-contacto input[type=tel],.form-contacto select,.form-contacto textarea{width:100%;min-height:2.9rem;padding:.7rem .85rem;border:1.5px solid var(--linea);border-radius:var(--r-s);background:#fff;color:var(--noche);font:400 1rem var(--texto)}
.form-contacto textarea{resize:vertical;min-height:9rem}
.form-contacto input:focus,.form-contacto select:focus,.form-contacto textarea:focus{border-color:var(--mar);outline:3px solid rgba(0,162,224,.3);outline-offset:0}
.form-contacto__check{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem}
.form-contacto__check input{flex:none;width:1.2rem;height:1.2rem;margin-top:.15rem;accent-color:var(--mar)}
.form-contacto__rgpd{font-size:.8rem;line-height:1.5;color:var(--apagado)}
.form-contacto a:not(.btn){color:var(--mar)}
.form-contacto__trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-error{display:none;margin:var(--s4) 0 0;padding:var(--s3) var(--s4);border-left:4px solid var(--coral);background:#FDECE7;color:var(--coral-tinta);font-size:.95rem}
.form-error:target{display:block;clear:both}
.form-error a{color:inherit}

/* La gente de La Cepa: mosaico de fotos de grupos */
.gente__mosaico{display:grid;gap:var(--s3);grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:860px){.gente__mosaico{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(9rem,13vw,13.5rem)}.gente__mosaico figure img{height:100%;aspect-ratio:auto}.gente__mosaico{grid-auto-flow:dense}.gente__mosaico figure:first-child{grid-column:span 2;grid-row:span 2}.gente__mosaico .gente--ancha{grid-column:span 2}.gente__mosaico .gente--alta{grid-row:span 2}.gente__mosaico .gente--ancha img,.gente__mosaico .gente--alta img{height:100%;aspect-ratio:auto}.gente__mosaico figure:first-child img{height:100%}}
.gente__mosaico figure{margin:0;overflow:hidden;box-shadow:var(--sombra)}
.gente__mosaico{grid-auto-rows:minmax(0,auto)}.gente__mosaico img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.gente__nota{margin-top:var(--s4);font-size:.9rem;color:var(--apagado)}

/* Medios: fotos de los equipos de televisión grabando en La Cepa */
.camaras{display:grid;gap:var(--s3);grid-template-columns:minmax(0,1fr);margin-bottom:var(--s6)}
@media (min-width:700px){.camaras{grid-template-columns:repeat(3,minmax(0,1fr))}}
.camaras figure{margin:0}
.camaras img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--sombra)}
.camaras figcaption{font:400 1.3rem/1.2 var(--rotulo);color:var(--noche);text-align:center;margin-top:.5rem}

/* Gaviota vista desde arriba que cruza el mar de reservas de vez en cuando */
.gaviota{position:absolute;top:3%;left:0;width:clamp(4rem,2.5rem + 3vw,6rem);z-index:2;pointer-events:none;filter:drop-shadow(10px 22px 3px rgba(11,31,82,.25));opacity:0}
.gaviota__alas{transform-origin:60px 30px;animation:aleteo 3.4s ease-in-out infinite}
/* unos aletazos y luego alas quietas para planear */
@keyframes aleteo{
0%,8%,16%,24%{transform:scaleX(1)}
4%,12%,20%{transform:scaleX(.55)}
24%,100%{transform:scaleX(1)}}

/* Reseñas de Google */
.resenas__total{font:700 1.05rem var(--titulos);color:var(--noche);margin:0 0 var(--s4)}
.resenas__total strong{font-size:1.6rem;color:var(--mar)}
.resenas__lista{display:grid;gap:var(--s4);grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){.resenas__lista{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.resenas__lista{grid-template-columns:repeat(4,minmax(0,1fr))}}
.resena{margin:0;background:#fff;padding:var(--s5);box-shadow:var(--sombra);display:flex;flex-direction:column;gap:var(--s3)}
.resena__estrellas{color:#F4B400;font-size:1.15rem;letter-spacing:.1em}
.resena__estrellas span{color:#D6DCE4}
.resena blockquote{margin:0;flex:1}
.resena blockquote p{margin:0;font-size:.98rem;line-height:1.5;color:var(--noche)}
.resena figcaption{font:700 .85rem var(--titulos);color:var(--noche)}
.resena figcaption span{font-weight:400;color:var(--apagado)}

/* Reseñas largas: se cortan a 7 líneas con «Leer entera» */
.resena blockquote p{display:-webkit-box;-webkit-line-clamp:7;line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.resena--abierta blockquote p{-webkit-line-clamp:unset;line-clamp:unset;display:block}
.resena__mas{align-self:flex-start;background:none;border:0;padding:0;font:700 .85rem var(--titulos);color:var(--mar);text-decoration:underline;cursor:pointer}
.resenas__lista{align-items:start}
