/* Generado por bin/descargar_tipografias.py. No editar a mano. */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('/fonts/playfair-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('/fonts/playfair-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('/fonts/karla-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('/fonts/karla-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   Bar Orly · hoja de estilo única.
   Las @font-face van delante, concatenadas por bin/construir.py desde
   estilo/tipografias.css, que genera bin/descargar_tipografias.py.
   ========================================================================== */

:root{
  --negro:#14110E;
  --superficie:#1E1A15;
  --superficie-2:#272119;
  --dorado:#C9B27C;
  --dorado-claro:#DCC9A2;
  --laton:#8C7A4E;
  --azul:#7FA0BE;
  --crema:#F3EDE1;
  --suave:#B9AF9C;
  --borde:rgba(201,178,124,.22);
  --borde-fuerte:rgba(201,178,124,.4);
  --display:'Playfair Display',Georgia,'Times New Roman',serif;
  --texto:'Karla',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --caja:80rem;
  --lado:clamp(1.25rem,4vw,2.5rem);
  --hueco:clamp(3.5rem,7vw,6rem);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--negro);color:var(--crema);
  font:400 clamp(1rem,.97rem + .16vw,1.075rem)/1.65 var(--texto);
  text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
  overflow-x:hidden}
img,svg,picture,video{max-width:100%;display:block}
img{height:auto}
a{color:inherit}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:500;line-height:1.06;
  letter-spacing:-.012em}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
dl,dd{margin:0}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px}

.caja{max-width:var(--caja);margin-inline:auto;padding-inline:var(--lado)}
.salto{position:absolute;left:var(--lado);top:-4rem;z-index:80;background:var(--dorado);
  color:var(--negro);padding:.75rem 1.15rem;font-weight:700;text-decoration:none;
  transition:top .18s ease}
.salto:focus{top:.75rem}
.sitio{font:600 .8125rem/1.35 var(--texto);letter-spacing:.24em;text-transform:uppercase;
  color:var(--dorado);margin:0}
.entradilla{color:var(--suave);font-size:1.0625rem;max-width:44ch}
.enlace{color:var(--dorado);text-decoration:none;border-bottom:1px solid var(--borde-fuerte);
  padding-bottom:.1rem}
/* El relleno vertical de un enlace en línea agranda su zona pulsable hasta los
   24 px que pide la WCAG sin desplazar nada: en flujo inline, el padding
   vertical no cuenta para la altura de la línea. */
.enlace,.legal__texto a,.dato a,.tarjeta-dato__valor a,.ficha a,
.foto figcaption a{padding-block:.4rem}
.enlace:hover{border-bottom-color:var(--dorado)}

/* --- botones ------------------------------------------------------------- */
.acciones{display:flex;gap:.75rem;flex-wrap:wrap}
.bt{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.95rem 1.5rem;font:700 .875rem/1 var(--texto);letter-spacing:.09em;
  text-transform:uppercase;text-decoration:none;border:1px solid transparent;
  transition:background .2s ease,color .2s ease,border-color .2s ease}
.bt--p{background:var(--dorado);color:var(--negro)}
.bt--p:hover{background:var(--crema)}
.bt--s{border-color:var(--borde-fuerte);color:var(--dorado)}
.bt--s:hover{border-color:var(--dorado);background:rgba(201,178,124,.1)}

/* --- estado abierto / cerrado -------------------------------------------- */
.estado{display:inline-flex;align-items:center;gap:.5rem;margin:0;
  font:600 .8125rem/1 var(--texto);letter-spacing:.1em;text-transform:uppercase;
  color:var(--suave)}
.estado__punto{width:.5rem;height:.5rem;border-radius:50%;background:var(--suave);
  box-shadow:0 0 0 4px rgba(185,175,156,.16);flex:none}
.estado[data-abierto="si"]{color:#93CFA2}
.estado[data-abierto="si"] .estado__punto{background:#93CFA2;box-shadow:0 0 0 4px rgba(147,207,162,.18)}
.estado[data-abierto="no"]{color:#D9A296}
.estado[data-abierto="no"] .estado__punto{background:#D9A296;box-shadow:0 0 0 4px rgba(217,162,150,.18)}
.estado--grande{margin-top:1rem;font-size:.875rem}

/* --- cabecera ------------------------------------------------------------ */
.barra{position:sticky;top:0;z-index:50;background:rgba(20,17,14,.94);
  border-bottom:1px solid var(--borde)}
@supports (backdrop-filter:blur(1px)){.barra{backdrop-filter:blur(10px)}}
.barra__caja{max-width:var(--caja);margin-inline:auto;padding:.8rem var(--lado);
  display:flex;align-items:center;gap:1.25rem;justify-content:space-between}
.marca{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex:none}
.marca img{width:24px;height:33px}
.marca b{font:700 1.0625rem/1 var(--texto);letter-spacing:.22em;text-transform:uppercase;
  color:var(--crema)}
.nav ul{display:flex;gap:1.5rem}
.nav a{display:block;padding:.5rem 0;text-decoration:none;color:var(--suave);
  font:600 .8125rem/1 var(--texto);letter-spacing:.1em;text-transform:uppercase;
  border-bottom:2px solid transparent}
.nav a:hover{color:var(--dorado)}
.nav a[aria-current]{color:var(--dorado);border-bottom-color:var(--dorado)}
.menu-boton{display:none;align-items:center;gap:.55rem;background:none;border:0;
  color:var(--crema);font:600 .8125rem/1 var(--texto);letter-spacing:.1em;
  text-transform:uppercase;padding:.7rem .2rem;cursor:pointer}
.menu-boton__barras{position:relative;display:block;width:1.15rem;height:2px;
  background:var(--dorado)}
.menu-boton__barras::before,.menu-boton__barras::after{content:"";position:absolute;
  left:0;width:100%;height:2px;background:var(--dorado);transition:transform .2s ease}
.menu-boton__barras::before{top:-.35rem}
.menu-boton__barras::after{top:.35rem}
.menu-boton[aria-expanded="true"] .menu-boton__barras{background:transparent}
.menu-boton[aria-expanded="true"] .menu-boton__barras::before{transform:translateY(.35rem) rotate(45deg)}
.menu-boton[aria-expanded="true"] .menu-boton__barras::after{transform:translateY(-.35rem) rotate(-45deg)}

/* --- encuadres de foto ---------------------------------------------------
   object-fit:cover recorta por el centro y algunas fotos tienen el motivo a un
   lado. Cada clase ancla la suya. Nunca por atributo style: la CSP lo tira. */
.enc-barra{object-position:26% 50%}
.enc-salon{object-position:34% 50%}
.enc-rotulo{object-position:58% 26%}
.enc-juegos{object-position:52% 62%}
.enc-fondo{object-position:56% 46%}

/* --- portada · la jornada ------------------------------------------------ */
.jornada{border-bottom:1px solid var(--borde)}
.jornada__caja{max-width:var(--caja);margin-inline:auto;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.78fr)}
.jornada__texto{padding:clamp(2.5rem,5vw,4.5rem) var(--lado) clamp(2rem,4vw,3.5rem);
  display:grid;align-content:start;gap:clamp(1.4rem,3vw,2.15rem)}
.jornada h1{font-size:clamp(2.5rem,5.6vw,4.6rem)}
.jornada h1 em{font-style:italic;color:var(--dorado)}
.horas{border-top:1px solid var(--borde)}
.horas li{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:1.1rem;
  align-items:baseline;padding:.9rem 0;border-bottom:1px solid var(--borde);
  position:relative}
.horas time{font:500 1.3125rem/1 var(--display);color:var(--suave);
  font-variant-numeric:tabular-nums}
.horas p{font-size:.9375rem;color:var(--suave)}
.horas li[data-ahora] time{color:var(--dorado)}
.horas li[data-ahora] p{color:var(--crema)}
.horas li[data-ahora]::before{content:"";position:absolute;left:-1.1rem;top:1.35rem;
  width:.4rem;height:.4rem;border-radius:50%;background:var(--dorado)}
.horas__pie{font-size:.8125rem;color:var(--suave)}
.jornada__foto{position:relative;min-height:32rem;background:var(--superficie)}
.jornada__foto picture,.jornada__foto img{position:absolute;inset:0;width:100%;
  height:100%;object-fit:cover}
.jornada__foto::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(20,17,14,.88),rgba(20,17,14,.1) 42%,transparent)}

/* --- banda del año ------------------------------------------------------- */
.anos{background:var(--dorado);color:var(--negro)}
.anos__caja{max-width:var(--caja);margin-inline:auto;
  padding:clamp(1.75rem,3vw,2.5rem) var(--lado);display:flex;
  gap:clamp(1.25rem,4vw,3rem);align-items:baseline;flex-wrap:wrap}
.anos strong{font:600 clamp(2.5rem,5vw,4rem)/1 var(--display);letter-spacing:-.02em}
.anos p{font-size:1.0625rem;max-width:46ch;font-weight:500}

/* --- piezas del local ---------------------------------------------------- */
.oferta{padding-block:var(--hueco)}
.titulo-seccion{display:grid;gap:.7rem;margin-bottom:clamp(1.75rem,4vw,2.75rem)}
.titulo-seccion h2{font-size:clamp(1.85rem,3.6vw,2.9rem)}
.piezas{display:grid;gap:1.25rem;grid-template-columns:repeat(12,minmax(0,1fr))}
.pieza{position:relative;overflow:hidden;background:var(--superficie);
  display:grid;align-content:end;padding:clamp(1.4rem,3vw,2.25rem);min-height:19rem}
.pieza picture,.pieza img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.pieza:hover img{transform:scale(1.035)}
.pieza::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,17,14,.08) 22%,rgba(20,17,14,.72) 62%,rgba(20,17,14,.96))}
.pieza__texto{position:relative;z-index:1;display:grid;gap:.35rem}
.pieza h3{font-size:clamp(1.45rem,2.6vw,2rem)}
.pieza p{color:var(--suave);font-size:.9375rem;max-width:36ch}
.pieza--a{grid-column:span 7;min-height:25rem}
.pieza--b{grid-column:span 5}
.pieza--c{grid-column:span 5}
.pieza--d{grid-column:span 7;min-height:22rem}
.oferta__pie{margin-top:1.75rem}

/* --- dónde --------------------------------------------------------------- */
.donde{border-top:1px solid var(--borde);background:var(--superficie)}
.donde__caja{max-width:var(--caja);margin-inline:auto;padding:var(--hueco) var(--lado);
  display:grid;gap:clamp(2rem,5vw,4rem);
  grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr))}
.donde h2{font-size:clamp(1.8rem,3.2vw,2.6rem);margin-bottom:1rem}
.donde__extra{color:var(--suave);margin-top:.9rem;font-size:.9375rem;max-width:42ch}
.dato{display:grid;gap:.25rem;padding:1rem 0;border-top:1px solid var(--borde)}
.datos .dato:last-child{border-bottom:1px solid var(--borde)}
.dato dt{font:600 .75rem/1 var(--texto);letter-spacing:.18em;text-transform:uppercase;
  color:var(--suave)}
.dato dd{font-size:1.0625rem}
.dato a{color:var(--dorado);text-decoration:none;display:inline-block;padding:.35rem 0}
.dato a:hover{text-decoration:underline}

/* --- portadillas de página interior -------------------------------------- */
.portadilla{border-bottom:1px solid var(--borde);background:var(--superficie)}
.portadilla__caja{padding-block:clamp(3rem,7vw,5.5rem);display:grid;gap:1rem}
.portadilla h1{font-size:clamp(2.3rem,5vw,4rem)}
.portadilla--legal .portadilla__caja{padding-block:clamp(2.5rem,5vw,4rem)}

/* --- artículo (nosotros) ------------------------------------------------- */
.articulo{padding-block:var(--hueco);display:grid;gap:clamp(2rem,5vw,4rem);
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}
.articulo__texto{display:grid;gap:1.15rem;max-width:66ch}
.articulo__texto h2{font-size:clamp(1.5rem,2.6vw,2.05rem);margin-top:1.25rem}
.articulo__texto p{color:var(--suave)}
.destacado{font-size:clamp(1.15rem,1.9vw,1.3125rem);color:var(--crema)!important;
  line-height:1.5;border-left:2px solid var(--dorado);padding-left:1.15rem}
.articulo__lado{display:grid;gap:1.5rem;position:sticky;top:5.5rem}
.ficha{background:var(--superficie);padding:1.5rem}
.ficha h2{font-size:1.3rem;margin-bottom:.75rem}
.ficha div{display:grid;gap:.15rem;padding:.7rem 0;border-top:1px solid var(--borde)}
.ficha dt{font:600 .75rem/1 var(--texto);letter-spacing:.16em;text-transform:uppercase;
  color:var(--suave)}
.ficha dd{font-size:1rem}
.ficha a{color:var(--dorado);text-decoration:none}

/* --- galería ------------------------------------------------------------- */
.galeria{padding-block:var(--hueco)}
.galeria__rejilla{display:grid;gap:1.25rem;
  grid-template-columns:repeat(auto-fit,minmax(min(19rem,100%),1fr))}
.foto{margin:0;display:grid;gap:.75rem}
.foto img{aspect-ratio:4/3;object-fit:cover;width:100%}
.foto figcaption{font-size:.9375rem;color:var(--suave)}
.galeria__rejilla{align-items:start}
.foto b{color:var(--crema);font-weight:600;display:block;font-size:1rem}

.remate{border-top:1px solid var(--borde);background:var(--superficie)}
.remate__caja{padding-block:var(--hueco);display:grid;gap:1rem;justify-items:start}
.remate h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.remate p{color:var(--suave)}

/* --- contacto ------------------------------------------------------------ */
.contacto{padding-block:var(--hueco)}
.contacto__rejilla{display:grid;gap:1.25rem;
  grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr))}
.tarjeta-dato{background:var(--superficie);padding:clamp(1.4rem,3vw,2rem);
  display:grid;gap:.6rem;align-content:start;border-top:2px solid var(--dorado)}
.tarjeta-dato h2{font-size:1.25rem}
.tarjeta-dato__valor{font-size:1.1875rem;color:var(--crema)}
.tarjeta-dato__valor a{color:var(--dorado);text-decoration:none;
  display:inline-block;padding:.3rem 0}
.tarjeta-dato__valor a:hover{text-decoration:underline}
.tarjeta-dato__nota{font-size:.875rem;color:var(--suave)}
.tarjeta-dato .bt{justify-self:start;margin-top:.4rem}
.tarjeta-dato--ancha{grid-column:1 / -1}
.horario li{display:flex;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;
  padding:.7rem 0;border-bottom:1px solid var(--borde);color:var(--suave)}
.horario time{font:500 1.125rem/1 var(--display);color:var(--dorado);
  font-variant-numeric:tabular-nums}

.mapa{border-top:1px solid var(--borde)}
.mapa__caja{padding-block:var(--hueco);display:grid;gap:clamp(2rem,5vw,3.5rem);
  grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));align-items:center}
.mapa__texto{display:grid;gap:1rem;justify-items:start}
.mapa h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.mapa p{color:var(--suave);max-width:46ch}
.mapa__nota{font-size:.875rem}
.mapa__foto{width:100%;aspect-ratio:16/10;object-fit:cover}

/* --- legales ------------------------------------------------------------- */
.legal{padding-block:var(--hueco)}
.legal__texto{max-width:68ch;display:grid;gap:1.05rem}
.legal__texto h2{font-size:clamp(1.4rem,2.4vw,1.8rem);margin-top:1.5rem}
.legal__texto p,.legal__texto li{color:var(--suave)}
.legal__texto a{color:var(--dorado)}
.legal__texto ol{list-style:decimal;padding-left:1.35rem;display:grid;gap:.85rem}
.lista-datos{display:grid;gap:.5rem;padding-left:1.15rem;list-style:disc}
.lista-datos b{color:var(--crema);font-weight:600}

/* --- 404 ----------------------------------------------------------------- */
.error__caja{padding-block:clamp(4rem,12vw,9rem);display:grid;gap:1.15rem;
  justify-items:start}
.error h1{font-size:clamp(2.5rem,6vw,4.5rem)}

/* --- pie ----------------------------------------------------------------- */
.pie{border-top:1px solid var(--borde);background:var(--superficie);
  padding-top:clamp(2.5rem,5vw,4rem)}
.pie__caja{max-width:var(--caja);margin-inline:auto;padding-inline:var(--lado);
  display:grid;gap:clamp(2rem,4vw,3rem);
  grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr))}
.pie__marca{display:grid;gap:1rem;align-content:start}
.pie__marca img{width:min(12.5rem,70%)}
.pie__marca p{color:var(--suave);font-size:.9375rem}
.pie__col h2{font:600 .75rem/1 var(--texto);letter-spacing:.18em;text-transform:uppercase;
  color:var(--dorado);margin-bottom:.9rem}
.pie__horario li{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:.45rem 0;font-size:.9375rem;color:var(--suave)}
.pie__horario time{color:var(--crema);font-variant-numeric:tabular-nums}
.pie__lista li{padding:.3rem 0}
.pie__lista a{color:var(--suave);text-decoration:none;display:inline-block;padding:.3rem 0}
.pie__lista a:hover{color:var(--dorado)}
.pie__linea{max-width:var(--caja);margin:clamp(2rem,4vw,3rem) auto 0;
  padding:1.25rem var(--lado) 1.5rem;border-top:1px solid var(--borde);
  display:flex;gap:1rem 1.5rem;flex-wrap:wrap;justify-content:space-between;
  font-size:.8125rem;color:var(--suave)}
.pie__linea a{color:var(--suave);text-decoration:none;padding:.3rem 0;display:inline-block}
.pie__linea a:hover{color:var(--dorado);text-decoration:underline}
.pie__legales{display:flex;gap:.5rem;flex-wrap:wrap}

/* --- responsive ---------------------------------------------------------- */
@media (max-width:60rem){
  .jornada__caja{grid-template-columns:1fr}
  .jornada__foto{min-height:19rem;order:-1}
  .jornada__foto::after{background:linear-gradient(180deg,rgba(20,17,14,.15),rgba(20,17,14,.82))}
  .pieza--a,.pieza--b,.pieza--c,.pieza--d{grid-column:1 / -1;min-height:17rem}
  .articulo{grid-template-columns:1fr}
  .articulo__lado{position:static}
}
@media (max-width:52rem){
  .menu-boton{display:inline-flex}
  .barra__caja{flex-wrap:wrap;row-gap:0}
  .nav{flex-basis:100%;display:none}
  .nav[data-abierto]{display:block}
  .nav ul{flex-direction:column;gap:0;padding-bottom:.75rem}
  .nav a{padding:.85rem 0;border-bottom:1px solid var(--borde)}
  .nav a[aria-current]{border-bottom-color:var(--dorado)}
  .estado{order:3}
}
@media (max-width:26rem){
  .horas li{grid-template-columns:4.5rem minmax(0,1fr);gap:.8rem}
  .marca b{letter-spacing:.16em}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important}
}

@media print{
  .barra,.salto,.acciones,.pie__legales{display:none}
  body{background:#fff;color:#000}
  a{color:#000}
}
