[hidden]{display:none!important}
/* Patio de las Comedias · hoja de estilos
   Fuente de los tokens: DESIGN.md (libro de marca v1). Esquinas rectas, cal, azul azulejo, tinta azul, terracota solo en filetes. */

@font-face{font-family:"Playfair Display";src:url("../fonts/playfair-display.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("../fonts/playfair-display-italic.woff2") format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/jost.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --azul:#1C71B7; --tinta-azul:#12507F; --cal:#F7F3EC; --papel:#FFFFFF; --tinta:#0E1A24; --suave:#3C4A55;
  --terracota:#C97B4A; --terracota-texto:#9C5329; --azul-claro:#9FD0F5;
  --llaga:var(--cal); --fondo:var(--cal); --texto:var(--tinta); --texto-suave:var(--suave);
  --marca:var(--azul); --marca-hondo:var(--tinta-azul); --sobre-marca:#FFFFFF;
  --filete:rgba(14,26,36,.12);
  --display:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Jost",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --gap:6px; --pad:16px; --max:1440px;
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-in-out:cubic-bezier(.77,0,.175,1); --ease-drawer:cubic-bezier(.32,.72,0,1);
  --barra:64px;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{
    --fondo:#0C1620; --llaga:#0C1620; --papel:#13212C; --texto:#F0EDE6; --texto-suave:#A3B4C0;
    --marca:#2A7BC0; --marca-hondo:#0F3F66; --filete:rgba(247,243,236,.15); --terracota-texto:#E3A47C;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--fondo);color:var(--texto);font:300 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
::selection{background:var(--azul);color:#fff}
:focus-visible{outline:2px solid var(--azul);outline-offset:3px}
.t-azul :focus-visible,.t-hondo :focus-visible,.cabecera--sobre :focus-visible{outline-color:#fff}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0 0 1em;text-wrap:pretty}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:var(--pad);top:-60px;z-index:60;background:var(--azul);color:#fff;padding:12px 16px;font-weight:500}
.saltar:focus{top:8px}
.icono{width:1.25em;height:1.25em;flex:none}
.num{font-feature-settings:"tnum" 1,"lnum" 1}

/* ---------- cabecera ---------- */
.cabecera{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--fondo) 94%,transparent);border-bottom:1px solid var(--filete)}
@supports (backdrop-filter:blur(8px)){.cabecera{backdrop-filter:saturate(140%) blur(10px);background:color-mix(in srgb,var(--fondo) 82%,transparent)}}
.cabecera__in{max-width:var(--max);margin:0 auto;padding:0 var(--pad);height:60px;display:flex;align-items:center;gap:20px}
.logo{display:flex;align-items:center;flex:none;height:100%}
.logo img{height:30px;width:auto}
.logo .logo--oscuro{display:none}
@media (prefers-color-scheme:dark){.logo .logo--claro{display:none}.logo .logo--oscuro{display:block}}
.nav{display:none;margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px}
.nav a{font-size:15px;font-weight:400;text-decoration:none;padding:8px 0;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.nav a:hover::after{transform:scaleX(1)}}
.nav a[aria-current="page"]::after{transform:scaleX(1);background:var(--terracota)}
.idiomas{position:relative;margin-left:auto}
.nav + .idiomas{margin-left:0}
.idiomas summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;letter-spacing:.08em;min-height:44px;padding:0 4px}
.idiomas summary::-webkit-details-marker{display:none}
.idiomas ul{position:absolute;right:0;top:calc(100% + 4px);list-style:none;margin:0;padding:6px 0;background:var(--papel);border:1px solid var(--filete);min-width:150px;box-shadow:0 18px 46px rgba(14,26,36,.14);transform-origin:top right}
.idiomas[open] ul{animation:desplegar 180ms var(--ease-out)}
.idiomas li a{display:block;padding:10px 16px;text-decoration:none;font-size:15px}
.idiomas li a[aria-current="true"]{font-weight:500;color:var(--marca)}
@media (hover:hover){.idiomas li a:hover{background:color-mix(in srgb,var(--azul) 8%,transparent)}}
@keyframes desplegar{from{opacity:0;transform:scale(.97) translateY(-4px)}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;font:500 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-radius:2px;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color 180ms ease,color 180ms ease,transform 140ms var(--ease-out)}
.btn:active{transform:scale(.97)}
.btn--marca{background:var(--azul);color:#fff}
@media (hover:hover){.btn--marca:hover{background:var(--tinta-azul)}}
.btn--claro{background:var(--cal);color:var(--tinta-azul)}
@media (hover:hover){.btn--claro:hover{background:#fff}}
.btn--linea{border-color:currentColor;background:transparent}
@media (hover:hover){.btn--linea:hover{background:color-mix(in srgb,currentColor 10%,transparent)}}
.cabecera .btn{display:none;min-height:42px;padding:0 18px}
@media (min-width:1024px){
  .cabecera__in{height:72px;gap:32px}
  .logo img{height:36px}
  .nav{display:block}
  .cabecera .btn{display:inline-flex}
}

/* ---------- barra de reserva (móvil) ---------- */
.barra{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:1fr auto auto;gap:6px;padding:8px var(--pad) calc(8px + env(safe-area-inset-bottom));background:var(--tinta-azul);box-shadow:0 -10px 30px rgba(8,22,36,.18);transition:transform 260ms var(--ease-drawer)}
.barra .btn{min-height:48px}
.barra .btn--icono{width:52px;padding:0}
.barra.is-oculta{transform:translateY(110%)}
body{padding-bottom:calc(var(--barra) + env(safe-area-inset-bottom))}
@media (min-width:1024px){.barra{display:none}body{padding-bottom:0}}

/* ---------- el muro ---------- */
.muro{--cols:2;container-type:inline-size;max-width:var(--max);margin:0 auto;padding:var(--gap)}
.muro__rejilla{--cell:calc((100cqi - (var(--cols) - 1) * var(--gap)) / var(--cols));display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-auto-rows:minmax(var(--cell),auto);gap:var(--gap);grid-auto-flow:row dense}
@media (min-width:700px){.muro{--cols:4}}
@media (min-width:1180px){.muro{--cols:6;--gap:8px}}
.p{position:relative;overflow:hidden;background:var(--papel);display:flex;flex-direction:column;min-width:0}
.p--2x1{grid-column:span 2}
.p--2x2{grid-column:span 2;grid-row:span 2}
.p--ancha{grid-column:1/-1}
@media (min-width:700px){
  .p--m3x1{grid-column:span 3}.p--m3x2{grid-column:span 3;grid-row:span 2}
  .p--m2x2{grid-column:span 2;grid-row:span 2}.p--m1x1{grid-column:span 1;grid-row:span 1}
  .p--m4x1{grid-column:span 4}.p--m1x2{grid-column:span 1;grid-row:span 2}
}
@media (min-width:1180px){
  .p--d1x1{grid-column:span 1;grid-row:span 1}.p--d2x1{grid-column:span 2;grid-row:span 1}
  .p--d2x2{grid-column:span 2;grid-row:span 2}.p--d3x2{grid-column:span 3;grid-row:span 2}
  .p--d3x1{grid-column:span 3;grid-row:span 1}.p--d4x2{grid-column:span 4;grid-row:span 2}
  .p--d1x2{grid-column:span 1;grid-row:span 2}.p--d4x1{grid-column:span 4;grid-row:span 1}
  .p--d6x1{grid-column:span 6}.p--d2x3{grid-column:span 2;grid-row:span 3}
}

/* foto */
.p--foto{background:var(--tinta-azul)}
.p--foto picture,.p--foto img{position:absolute;inset:0;width:100%;height:100%}
.p--foto img{object-fit:cover;object-position:var(--foco,50% 50%);transition:transform 700ms var(--ease-out)}
.p--foto .pie{position:relative;margin-top:auto;z-index:1;padding:64px 16px 14px;color:#F7F3EC;font-size:14px;line-height:1.35;background:linear-gradient(to top,rgba(8,22,36,.9) 0%,rgba(8,22,36,.6) 55%,rgba(8,22,36,0))}
.p--foto .pie strong,.p--foto .pie .precio{text-shadow:0 1px 12px rgba(8,22,36,.5)}
.p--foto .pie strong{display:block;font:500 clamp(19px,2.2cqi,24px)/1.15 var(--display);margin-bottom:2px}
.p--foto .pie .precio{font:500 15px/1 var(--sans);font-feature-settings:"tnum" 1;letter-spacing:.04em;opacity:.92}
@media (hover:hover) and (pointer:fine){.p--abrible:hover img{transform:scale(1.035)}}
.p--abrible{cursor:zoom-in}
.p--abrible > button.abrir{position:absolute;inset:0;z-index:2;background:none;border:0;cursor:inherit;padding:0}

/* pieza de color */
.t-azul{background:var(--azul);color:#fff}
.t-hondo{background:var(--tinta-azul);color:var(--cal)}
.t-cal{background:var(--papel);color:var(--texto)}
.p--texto{padding:clamp(18px,4cqi,40px);justify-content:flex-start;gap:18px}
.p--texto .acciones{margin-top:auto;padding-top:8px}
.p--texto.p--grande{justify-content:space-between}
.p--texto h2,.p--texto h1{font-size:clamp(26px,5.2cqi,58px);line-height:1.04}
.p--texto.p--grande h1{font-size:clamp(38px,9.4cqi,92px);line-height:1}
.p--texto p{font-size:clamp(16px,1.9cqi,19px);line-height:1.55;max-width:46ch;margin:0}
.t-azul p,.t-hondo p{color:color-mix(in srgb,currentColor 92%,transparent)}
.p--texto .acciones{display:flex;flex-wrap:wrap;gap:8px}
.p--dato{padding:16px;justify-content:flex-end;gap:6px}
.p--dato .cifra{font:500 clamp(36px,8cqi,72px)/.95 var(--display);font-feature-settings:"lnum" 1}
.p--dato .que{font-size:14px;line-height:1.35;font-weight:400}
.p--enlace{text-decoration:none}
.p--enlace .flecha{position:absolute;right:14px;top:14px;width:22px;height:22px;transition:transform 220ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.p--enlace:hover .flecha{transform:translate(3px,-3px)}}
.firma{font-family:var(--display);font-style:italic;font-weight:500}

/* azulejo: patrón propio de la marca (SVG en src/svg/azulejo.svg) */
.p--azulejo{background-color:#E9E4DA;background-image:url("../texturas/azulejo-real.webp");background-size:min(var(--cell, 240px), 300px) auto;background-repeat:repeat;background-position:center;color:var(--azul)}
/* El azulejo es el hidráulico real de la taberna (frontal de la tarjeta de fidelización). En oscuro se apaga un poco. */
@media (prefers-color-scheme:dark){.p--azulejo{box-shadow:inset 0 0 0 100vmax rgba(12,22,32,.28)}.p--azulejo .sello{color:var(--texto)}}
.p--azulejo .sello{margin:auto;background:var(--papel);padding:14px 18px;text-align:center;font:500 14px/1.3 var(--sans);letter-spacing:.06em;color:var(--tinta-azul)}

/* ---------- secciones fuera del muro ---------- */
.franja{max-width:var(--max);margin:0 auto;padding:clamp(48px,7vw,96px) var(--pad)}
.franja--estrecha{max-width:900px}
.franja h2{font-size:clamp(30px,5vw,56px);margin-bottom:.45em}
.entradilla{font-size:clamp(18px,2.2vw,21px);line-height:1.55;color:var(--texto-suave);max-width:58ch}
.filete{width:64px;height:2px;background:var(--terracota);border:0;margin:22px 0 26px}

/* opiniones */
.opiniones{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media (min-width:860px){.opiniones{grid-template-columns:1.25fr 1fr 1fr}}
.opinion{margin:0;background:var(--papel);padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:18px}
.opinion:first-child{background:var(--azul);color:#fff}
.opinion blockquote{margin:0;font:400 clamp(19px,2vw,23px)/1.4 var(--display)}
.opinion:first-child blockquote{font-size:clamp(22px,2.6vw,30px)}
.opinion figcaption{font-size:14px;line-height:1.4;margin-top:auto}
.opinion figcaption span{display:block;opacity:.75}
.estrellas{display:flex;gap:2px;color:var(--terracota)}
.opinion:first-child .estrellas{color:#fff}

/* mapa de cercanía */
.cerca{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media (min-width:900px){.cerca{grid-template-columns:1.1fr 1fr}}
.plano{position:relative;background:var(--papel);aspect-ratio:1/1;overflow:hidden}
.plano svg{width:100%;height:100%}
.lugares{list-style:none;margin:0;padding:0;display:grid;gap:var(--gap);grid-template-columns:1fr 1fr;align-content:start}
.lugares li{background:var(--papel);padding:18px 16px;display:flex;flex-direction:column;gap:4px}
.lugares li:first-child{grid-column:1/-1;background:var(--azul);color:#fff}
.lugares strong{font:500 19px/1.2 var(--display)}
.lugares span{font-size:14px;color:var(--texto-suave)}
.lugares li:first-child span{color:#E7F1FA}

/* ---------- carta ---------- */
.carta-cab{max-width:var(--max);margin:0 auto;padding:clamp(40px,6vw,80px) var(--pad) 8px}
.carta-cab h1{font-size:clamp(40px,7vw,84px)}
.carta-nav{position:sticky;top:60px;z-index:30;background:var(--fondo);border-bottom:1px solid var(--filete)}
@media (min-width:1024px){.carta-nav{top:72px}}
.carta-nav ul{list-style:none;margin:0 auto;max-width:var(--max);padding:0 var(--pad);display:flex;gap:4px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
.carta-nav ul::-webkit-scrollbar{display:none}
.carta-nav a{display:block;white-space:nowrap;padding:14px 12px;font-size:15px;text-decoration:none;scroll-snap-align:start;border-bottom:2px solid transparent}
.carta-nav a.is-activa{border-bottom-color:var(--terracota);font-weight:500}
.carta{max-width:var(--max);margin:0 auto;padding:0 var(--pad) 80px;display:grid;grid-template-columns:minmax(0,1fr);gap:0 64px}
@media (min-width:1024px){.carta{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.grupo{padding-top:44px;break-inside:avoid}
.grupo h2{font-size:clamp(28px,3.6vw,40px);color:var(--marca);margin-bottom:6px}
@media (prefers-color-scheme:dark){.grupo h2{color:var(--texto)}}
.grupo .nota{font-size:15px;color:var(--texto-suave);margin:0 0 10px}
.platos{list-style:none;margin:0;padding:0}
.plato{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:14px 0;border-bottom:1px solid var(--filete);align-items:baseline}
.plato h3{font:500 19px/1.25 var(--display);letter-spacing:0}
.plato .precio{font:500 17px/1.2 var(--sans);font-feature-settings:"tnum" 1,"lnum" 1;white-space:nowrap;text-align:right}
.plato .precio small{display:block;font-size:12px;font-weight:400;color:var(--texto-suave)}
.plato p{grid-column:1/-1;margin:0;font-size:15px;line-height:1.45;color:var(--texto-suave)}
.plato .alergenos{grid-column:1/-1;font-size:12.5px;color:var(--texto-suave);letter-spacing:.02em}
.plato.con-foto{grid-template-columns:72px 1fr auto}
.plato.con-foto img{grid-row:span 2;width:72px;height:72px;object-fit:cover}
.plato.con-foto p,.plato.con-foto .alergenos{grid-column:2/-1}
.aviso{background:var(--papel);border:1px solid var(--filete);padding:18px 20px;font-size:15px;line-height:1.5}

/* ---------- pie ---------- */
.pie-web{background:var(--tinta-azul);color:var(--cal);margin-top:var(--gap)}
.pie-web__in{max-width:var(--max);margin:0 auto;padding:56px var(--pad) 40px;display:grid;gap:36px;grid-template-columns:1fr}
@media (min-width:860px){.pie-web__in{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.pie-web h2{font-size:26px;margin-bottom:12px}
.pie-web h3{font:500 13px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;color:var(--azul-claro)}
.pie-web ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pie-web a{text-decoration:none}
@media (hover:hover){.pie-web a:hover{text-decoration:underline}}
.pie-web .legal{grid-column:1/-1;border-top:1px solid rgba(247,243,236,.18);padding-top:20px;font-size:13.5px;opacity:.8;display:flex;flex-wrap:wrap;gap:8px 24px}
.redes{display:flex;gap:10px}
.redes a{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(247,243,236,.3)}
.horario{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0}
.horario dt{font-weight:400}
.horario dd{margin:0;font-feature-settings:"tnum" 1}

/* ---------- visor (pieza abierta) ---------- */
.visor{border:0;padding:0;margin:0;max-width:none;max-height:none;width:100%;height:100%;background:rgba(8,22,36,.94);color:#F7F3EC}
.visor::backdrop{background:transparent}
.visor[open]{display:block}
.visor figure{margin:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;padding:60px 12px 0}
.visor img{width:100%;height:100%;min-height:0;object-fit:contain}
.visor figcaption{padding:18px var(--pad) calc(20px + env(safe-area-inset-bottom));max-width:760px;margin:0 auto;width:100%}
.visor figcaption strong{display:block;font:500 26px/1.15 var(--display);margin-bottom:4px}
.visor .cerrar{position:absolute;top:10px;right:10px;width:48px;height:48px;display:grid;place-items:center;background:rgba(247,243,236,.12);border:0;color:inherit;cursor:pointer;z-index:1}
.visor[open]{animation:visor-in 260ms var(--ease-out)}
@keyframes visor-in{from{opacity:0}}
::view-transition-group(pieza){animation-duration:360ms;animation-timing-function:var(--ease-drawer)}

/* ---------- asentado de piezas (solo con JS y sin reduced-motion) ---------- */
@media (prefers-reduced-motion:no-preference){
  .muro__rejilla > .p.espera{opacity:0;transform:translateY(8px);transition:opacity 240ms var(--ease-out),transform 240ms var(--ease-out);transition-delay:calc(var(--i,0) * 45ms)}
  .muro__rejilla > .p.espera.is-puesta{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media print{.cabecera,.barra,.pie-web,.carta-nav{display:none}body{padding:0;background:#fff;color:#000}}

/* carta: formatos y «de la casa» */
.plato .precio .fmt{font-weight:400;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--texto-suave);margin-right:2px}
.plato .casa{display:inline-block;vertical-align:middle;margin-left:10px;padding:3px 7px 2px;font:500 10.5px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--terracota-texto);border:1px solid currentColor}

/* agenda y menús de grupo */
.p--agenda ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;font-size:15.5px;line-height:1.45}
.p--agenda h2{font-size:clamp(22px,3.4cqi,30px)}
.ig-rejilla{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.ig-rejilla[hidden]{display:none}
.ig-rejilla a{display:block;aspect-ratio:1;overflow:hidden;background:var(--papel)}
.ig-rejilla img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s}
.ig-rejilla a:hover img{opacity:.85}
.menus-grupo{list-style:none;margin:0;padding:0;display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.menu-grupo{background:var(--papel);padding:22px 22px 18px;display:flex;flex-direction:column;gap:6px}
.mg-cab{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.mg-cab h3{font-size:21px}
.mg-cab .precio{font:500 19px/1 var(--sans);font-feature-settings:"tnum" 1;color:var(--marca)}
.mg-fmt{margin:0;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--terracota-texto)}
.menu-grupo p{margin:0;font-size:15px;line-height:1.5;color:var(--texto-suave)}
.menu-grupo .incluye{margin-top:6px;font-size:14px}

/* menú en móvil: desplegable a todo el ancho bajo la cabecera, sin JavaScript */
.menu-movil{margin-left:auto}
.menu-movil summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 6px;font-size:15px;font-weight:500}
.menu-movil summary::-webkit-details-marker{display:none}
.menu-movil nav{position:absolute;left:0;right:0;top:100%;background:var(--fondo);border-bottom:1px solid var(--filete);box-shadow:0 18px 30px rgba(14,26,36,.12)}
.menu-movil[open] nav{animation:desplegar 200ms var(--ease-out)}
.menu-movil ul{list-style:none;margin:0;padding:8px var(--pad) 16px}
.menu-movil a{display:block;padding:14px 0;font:500 24px/1.2 var(--display);text-decoration:none;border-bottom:1px solid var(--filete)}
.menu-movil a[aria-current="page"]{color:var(--marca)}
.menu-movil + .idiomas{margin-left:4px}
@media (min-width:1024px){.menu-movil{display:none}}

.plato h3,.plato p,.p--texto h1,.p--texto h2,.grupo h2{overflow-wrap:break-word}
.plato p{hyphens:auto}

/* opiniones y Córdoba dentro del muro */
.p--opinion{padding:clamp(20px,3.4cqi,34px);display:flex;flex-direction:column;gap:14px;background:var(--papel)}
.p--opinion.t-azul{background:var(--azul);color:#fff}
.p--opinion blockquote{margin:0;font:400 clamp(17px,2.2cqi,21px)/1.4 var(--display)}
.p--opinion.t-azul blockquote{font-size:clamp(21px,3cqi,30px)}
.p--opinion figcaption{margin-top:auto;font-size:14px;line-height:1.4}
.p--opinion figcaption span{display:block;opacity:.75}
.p--opinion .estrellas{color:var(--terracota)}
.p--opinion.t-azul .estrellas{color:#fff}
.p--plano{background:var(--papel);padding:0}
.p--plano svg{width:100%;height:100%;display:block}
.p--lugar strong{font:500 clamp(17px,2cqi,21px)/1.2 var(--display)}
.p--lugar .que{color:inherit;opacity:.8}
.p--nota{margin:0;padding:16px;font-size:13.5px;line-height:1.45;color:var(--texto-suave);justify-content:flex-end}

/* menú móvil: velo detrás del panel y botón que pasa a «Cerrar» */
.menu-movil .cerrar-menu,.menu-movil[open] .abrir-menu{display:none}
.menu-movil[open] .cerrar-menu,.menu-movil .abrir-menu{display:inline-flex;align-items:center;gap:8px}
.menu-movil[open] nav{box-shadow:0 0 0 100vmax rgba(18,80,127,.4)}
html.menu-abierto{overflow:hidden}

/* piezas de texto altas sin botón: el hueco se llena con banda de azulejo, no con aire */
.p--texto.t-azul:not(:has(.acciones)),.p--texto.t-hondo:not(:has(.acciones)){padding-bottom:0}
.p--texto.t-azul:not(:has(.acciones))::after,.p--texto.t-hondo:not(:has(.acciones))::after{content:"";flex:1 1 0;min-height:0;margin:8px calc(-1 * clamp(18px,4cqi,40px)) 0;background:url("../svg/azulejo-azul.svg") 0 0/80px auto repeat}
.p--texto.t-hondo:not(:has(.acciones))::after{background-image:url("../svg/azulejo-hondo.svg")}
.p--plano{position:relative}
.p--plano figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 14px;font-size:13.5px;line-height:1.4;color:var(--texto-suave);background:color-mix(in srgb,var(--papel) 92%,transparent)}

/* piezas de lugar con foto y crédito de la licencia */
.p--lugar-foto .pie{padding-top:48px}
.p--lugar-foto .pie strong{font-size:clamp(17px,2cqi,21px)}
.p--foto .credito{display:block;margin-top:6px;font-size:10.5px;line-height:1.3;opacity:.78;text-decoration:none;position:relative;z-index:3}
@media (hover:hover){.p--foto .credito:hover{opacity:1;text-decoration:underline}}

/* auditoría del 05/10/2026: venta cruzada con la Casa, aviso de cookies y legales */
.casa-cruzada{border-top:2px solid var(--terracota)}
.pie-web .legal a{color:inherit}
.enlace-boton{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:.18em}
.aviso-cookies{position:fixed;left:16px;right:16px;bottom:84px;z-index:70;max-width:560px;margin-inline:auto;background:var(--papel);color:var(--texto);border:1px solid var(--filete);border-radius:4px;box-shadow:0 18px 46px rgba(14,26,36,.18);padding:20px}
.aviso-cookies a{color:inherit;text-decoration:underline}
.aviso-cookies .btn{color:var(--texto);background:transparent;border-color:currentColor}
.aviso-cookies .btn:not(.btn--linea){background:var(--tinta-azul);border-color:var(--tinta-azul);color:#fff}
.aviso-cookies p{font-size:15px;margin:0 0 14px}
.aviso-cookies div{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
@media (min-width:1021px){.aviso-cookies{bottom:16px}}
.legal h2{font-size:22px;margin-top:28px}

/* auditoría 360 del 06/10/2026: titular que dice qué es, línea de prueba, un día en el Patio, preguntas y carta agrupada */
.p--grande .lema{font:italic 500 clamp(18px,2.6cqi,26px)/1.2 var(--display);margin:0;color:#fff}
.p--texto.p--grande h1{font-size:clamp(34px,7cqi,72px);line-height:1.02}
.prueba{display:flex;flex-wrap:wrap;gap:6px 14px;margin:14px 0 0!important;font-size:14.5px!important;font-weight:400;max-width:none!important}
.prueba span{display:inline-flex;align-items:center;gap:6px}
.prueba{gap:4px 18px}
.prueba .icono{width:1em;height:1em;color:#F7F3EC}
.prueba a{color:inherit}
.p--dia{gap:12px}
.p--dia h2{font-size:clamp(22px,3.4cqi,30px)}
.p--dia ol{list-style:none;margin:0;padding:0;display:grid;gap:var(--gap);grid-template-columns:1fr}
@media (min-width:700px){.p--dia ol{grid-template-columns:repeat(4,minmax(0,1fr))}}
.p--dia li{position:relative;border-top:2px solid var(--filete);padding-top:10px}
.p--dia li a{display:flex;flex-direction:column;gap:4px;text-decoration:none}
.p--dia li strong{font:500 19px/1.2 var(--display)}
.p--dia li span{font-size:15px;line-height:1.45;color:var(--texto-suave)}
.p--dia li.is-ahora{border-top-color:var(--terracota)}
.p--dia .ahora{position:absolute;right:0;top:10px;font:500 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:#fff;background:var(--terracota-texto);padding:4px 7px}
.p--dia .dia-cerrado{font-size:15px;color:var(--texto-suave)}
.faq details{border-bottom:1px solid var(--filete);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;padding:14px 32px 14px 0;font:500 clamp(19px,2.2vw,22px)/1.3 var(--display);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font:400 24px/1 var(--sans);color:var(--terracota-texto)}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 16px;color:var(--texto-suave);max-width:62ch}
.carta-nav li.carta-nav__grupo a{font-weight:500;color:var(--marca);text-transform:uppercase;letter-spacing:.1em;font-size:13px;padding-top:15px}
.carta-nav li.carta-nav__grupo:not(:first-child){margin-left:14px;border-left:1px solid var(--filete);padding-left:10px}
.carta-bloque{grid-column:1/-1;margin:56px 0 0;padding-bottom:10px;border-bottom:2px solid var(--terracota);font:500 13px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--terracota-texto)}
.carta-bloque:first-child{margin-top:28px}
.muro__titulo{font-size:clamp(24px,3.2vw,34px);padding:8px calc(var(--pad) - var(--gap)) 14px}
.acciones-franja{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.cabecera .btn--wa{color:var(--marca)}
@media (prefers-color-scheme:dark){.cabecera .btn--wa{color:var(--texto)}}
.barra{grid-template-columns:1.25fr 1fr 1fr}
.barra .btn{padding:0 8px;gap:6px;font-size:12px;letter-spacing:.08em;min-width:0}
.barra .btn--linea{color:#F7F3EC}
.mg-cab .precio{color:var(--tinta-azul)}
@media (prefers-color-scheme:dark){.mg-cab .precio{color:var(--azul-claro)}}

/* Árabe (de derecha a izquierda): tipografía del sistema, sin versalitas ni interletraje (rompen las uniones) y posiciones espejadas */
html[lang="ar"]{--display:"Geeza Pro","Noto Naskh Arabic","Segoe UI",Tahoma,serif;--sans:"Geeza Pro","Noto Sans Arabic","Segoe UI",Tahoma,sans-serif}
html[lang="ar"] *{letter-spacing:0!important;text-transform:none!important;font-style:normal!important}
html[lang="ar"] em,html[lang="ar"] i,html[lang="ar"] .firma{font-style:normal}
[dir="rtl"] .saltar{left:auto;right:var(--pad)}
[dir="rtl"] .nav{margin-left:0;margin-right:auto}
[dir="rtl"] .nav a::after{transform-origin:right}
[dir="rtl"] .idiomas{margin-left:0;margin-right:auto}
[dir="rtl"] .nav + .idiomas{margin-right:0}
[dir="rtl"] .idiomas ul{right:auto;left:0}
[dir="rtl"] .p--enlace .flecha{right:auto;left:14px;scale:-1 1}
[dir="rtl"] .plato .precio{text-align:left}
[dir="rtl"] .visor .cerrar{right:auto;left:10px}
[dir="rtl"] .plato .precio .fmt{margin-right:0;margin-left:2px}
[dir="rtl"] .plato .casa{margin-left:0;margin-right:10px}
[dir="rtl"] .menu-movil{margin-left:0;margin-right:auto}
[dir="rtl"] .menu-movil + .idiomas{margin-left:0;margin-right:4px}
[dir="rtl"] .p--dia .ahora{right:auto;left:0}
[dir="rtl"] .faq summary::after{right:auto;left:4px}
[dir="rtl"] .carta-nav li.carta-nav__grupo:not(:first-child){margin-left:0;margin-right:14px;border-left:0;border-right:1px solid var(--filete);padding-left:0;padding-right:10px}

/* Mini formulario de /reservar/: escribe el mensaje de WhatsApp (22/10/2026) */
.reserva-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 6px}
.reserva-form label{display:flex;flex-direction:column;gap:6px;font:500 12px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.reserva-form input,.reserva-form select{min-height:48px;padding:0 12px;font:400 17px/1.2 var(--sans);color:var(--tinta);background:var(--cal);border:1px solid transparent;border-radius:2px;width:100%}
.reserva-form .btn{grid-column:1/-1}
.reserva-form__nota{grid-column:1/-1;margin:0;font-size:14px}
.reserva-form__o{margin:14px 0 4px;font-size:15px}
.reserva-form [aria-invalid=true]{border-color:#fff;outline:2px solid #fff}
.reserva-form .campo-ancho{grid-column:1/-1}
@media (min-width:700px){.reserva-form{grid-template-columns:repeat(3,minmax(0,1fr))}.reserva-form .campo-ancho{grid-column:auto}}

/* Bloques dentro de «Grupos y celebraciones» (22/10/2026) */
.menus-sub{margin:36px 0 10px;font-size:clamp(22px,3.2vw,28px)}
.menus-sub + .entradilla{margin-top:0}
.mg-det{margin:0 0 8px;font-size:15px;line-height:1.45;color:var(--texto-suave)}
/* «Lo que más se pide» por bloque de la carta (02/11/2026): misma selección que la carta impresa */
.carta > .muro--top{grid-column:1/-1;width:100%;padding:18px 0 6px}
.carta > .muro--top .muro__titulo{display:flex;align-items:center;gap:8px;padding:0 0 12px;font-size:clamp(20px,2.4vw,26px)}
.muro--top .estrella,.plato .estrella{color:var(--terracota)}
.plato .estrella{font-size:.8em;vertical-align:.08em}
@media (min-width:1180px){.muro--top-4{--cols:4}}
/* Rankings de barra (vinos por copa y tapas), en texto como en la carta impresa (02/11/2026) */
.carta > .ranking{grid-column:1/-1;padding:6px 0 10px}
.ranking .muro__titulo{display:flex;align-items:center;gap:8px;padding:0 0 4px;font-size:clamp(20px,2.4vw,26px)}
.ranking .estrella{color:var(--terracota)}
.ranking ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);column-gap:64px}
@media (min-width:1024px){.ranking ol{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(3,auto);grid-auto-flow:column}}
.ranking li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 14px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--filete)}
.ranking__n{font:500 22px/1 var(--display);color:var(--terracota-texto);min-width:1.1em}
.ranking__q strong{display:block;font:500 19px/1.25 var(--display)}
.ranking__q span{display:block;font-size:14.5px;line-height:1.4;color:var(--texto-suave)}
.ranking .precio{font:500 17px/1.2 var(--sans);font-feature-settings:"tnum" 1,"lnum" 1;white-space:nowrap;text-align:right}
.ranking .precio small{display:block;font-size:12px;font-weight:400;color:var(--texto-suave)}
