/* JuegoHistoria — hoja de estilos v1 */
:root{
  --azul-marino:#0B3350;
  --crema-arena:#E7D9BC;
  --dorado-laton:#C99A3E;
  --carbon:#1C1C1C;
  --fuente-titulos:"Josefin Sans", "Segoe UI", Arial, sans-serif;
  --fuente-cuerpo:"Lora", Georgia, "Times New Roman", serif;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
[hidden]{display:none!important;}

body{
  background:var(--crema-arena);
  color:var(--carbon);
  font-family:var(--fuente-cuerpo);
  line-height:1.65;
  font-size:1.05rem;
}

h1,h2,h3,h4{
  font-family:var(--fuente-titulos);
  color:var(--azul-marino);
  letter-spacing:0.02em;
  line-height:1.25;
}

a{color:var(--azul-marino);}
a:hover{color:var(--dorado-laton);}

img{max-width:100%;display:block;height:auto;}

.contenedor{
  max-width:1100px;
  margin:0 auto;
  padding:0 1.2rem;
}

/* ---------- Age gate ---------- */
#agegate{
  position:fixed;
  inset:0;
  background:var(--azul-marino);
  color:var(--crema-arena);
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.5rem;
}
.agegate-caja{
  max-width:480px;
  background:var(--carbon);
  border:2px solid var(--dorado-laton);
  border-radius:8px;
  padding:2rem;
  text-align:center;
}
.agegate-caja h2{color:var(--dorado-laton);}
.agegate-caja p{color:var(--crema-arena);}
.agegate-botones{
  margin-top:1.5rem;
  display:flex;
  flex-direction:column;
  gap:0.8rem;
  align-items:center;
}
.boton-primario{
  background:var(--dorado-laton);
  color:var(--carbon);
  border:none;
  font-family:var(--fuente-titulos);
  font-size:1.05rem;
  padding:0.75rem 1.8rem;
  border-radius:4px;
  cursor:pointer;
}
.boton-primario:hover{background:#dbae55;}
.enlace-salir{color:var(--crema-arena);text-decoration:underline;font-size:0.95rem;}

/* ---------- Header / nav ---------- */
.encabezado-sitio{
  background:var(--azul-marino);
  color:var(--crema-arena);
  padding:1rem 0;
  position:sticky;
  top:0;
  z-index:50;
  border-bottom:3px solid var(--dorado-laton);
}
.encabezado-flex{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.marca{
  font-family:var(--fuente-titulos);
  font-size:1.5rem;
  font-weight:600;
  color:var(--crema-arena);
  text-decoration:none;
  letter-spacing:0.03em;
}
.marca:hover{color:var(--dorado-laton);}
nav.nav-principal{
  display:flex;
  flex-wrap:wrap;
  gap:0.9rem;
}
nav.nav-principal a{
  color:var(--crema-arena);
  text-decoration:none;
  font-size:0.92rem;
  font-family:var(--fuente-titulos);
}
nav.nav-principal a:hover,
nav.nav-principal a[aria-current="page"]{
  color:var(--dorado-laton);
  text-decoration:underline;
}
.boton-menu{
  display:none;
  background:none;
  border:1px solid var(--crema-arena);
  color:var(--crema-arena);
  padding:0.4rem 0.7rem;
  border-radius:4px;
  font-family:var(--fuente-titulos);
}

@media (max-width:820px){
  .boton-menu{display:inline-block;}
  nav.nav-principal{
    display:none;
    flex-direction:column;
    width:100%;
    background:var(--azul-marino);
    padding-top:0.6rem;
  }
  nav.nav-principal.abierto{display:flex;}
}

/* ---------- Hero ---------- */
.hero{
  padding:3rem 0 2.5rem;
  text-align:center;
}
.hero h1{font-size:2.1rem;margin-bottom:0.6rem;}
.hero p.epigrafe{
  font-family:var(--fuente-titulos);
  color:var(--dorado-laton);
  text-transform:uppercase;
  font-size:0.85rem;
  letter-spacing:0.12em;
  margin-bottom:1rem;
}
.hero img{border-radius:6px;margin:1.5rem auto;box-shadow:0 8px 24px rgba(11,51,80,0.25);}

.accesos-rapidos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.2rem;
  margin:2rem 0;
}
@media (max-width:700px){.accesos-rapidos{grid-template-columns:1fr;}}
.tarjeta-acceso{
  background:#fff8ea;
  border:1px solid var(--dorado-laton);
  border-radius:8px;
  padding:1.4rem;
  text-align:left;
  text-decoration:none;
  color:var(--carbon);
  display:block;
  transition:transform .15s ease;
}
.tarjeta-acceso:hover{transform:translateY(-3px);}
.tarjeta-acceso h3{margin-top:0;}

/* ---------- Secciones generales ---------- */
main{padding:1.5rem 0 3rem;}
.seccion{margin-bottom:2.4rem;}
.caja-texto{max-width:760px;}
figure{margin:1.5rem 0;}
figcaption{
  font-family:var(--fuente-titulos);
  font-size:0.85rem;
  color:#555;
  margin-top:0.5rem;
}

/* ---------- Galería ---------- */
.grilla-galeria{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:1.3rem;
}
.item-galeria{
  background:#fff8ea;
  border:1px solid #d9c79a;
  border-radius:8px;
  overflow:hidden;
}
.item-galeria img{aspect-ratio:4/3;object-fit:cover;width:100%;}
.item-galeria figcaption{padding:0.7rem 0.9rem 1rem;}

/* ---------- Plano interactivo ---------- */
.plano-envoltorio{
  display:flex;
  flex-wrap:wrap;
  gap:2rem;
  align-items:flex-start;
}
.plano-svg-cont{flex:1 1 420px;min-width:280px;}
.plano-svg-cont svg{width:100%;height:auto;background:#fff8ea;border:1px solid var(--dorado-laton);border-radius:8px;}
.zona-plano{cursor:pointer;}
.zona-plano:hover rect,
.zona-plano:hover polygon,
.zona-plano:focus rect,
.zona-plano:focus polygon{
  fill:var(--dorado-laton);
  opacity:0.85;
}
.zona-plano:focus{outline:3px solid var(--azul-marino);}
.ficha-sala{
  flex:1 1 320px;
  min-width:280px;
  background:#fff8ea;
  border:1px solid var(--dorado-laton);
  border-radius:8px;
  padding:1.3rem;
  min-height:220px;
}
.ficha-sala img{border-radius:6px;margin-bottom:0.8rem;max-width:160px;}
.ficha-sala h3{margin-top:0;}
.ficha-vacia{color:#666;font-style:italic;}

/* ---------- Línea de tiempo ---------- */
.linea-tiempo-scroll{
  display:flex;
  gap:1.4rem;
  overflow-x:auto;
  padding:1rem 0.3rem 1.5rem;
  scroll-snap-type:x proximate;
}
.hito{
  scroll-snap-align:start;
  flex:0 0 240px;
  background:#fff8ea;
  border:1px solid var(--dorado-laton);
  border-radius:8px;
  padding:1.1rem;
}
.hito .anio{
  font-family:var(--fuente-titulos);
  color:var(--dorado-laton);
  font-size:1.3rem;
  font-weight:600;
}
.hito img{width:48px;margin-bottom:0.6rem;}

/* ---------- Barra de juego responsable ---------- */
.barra-responsable{
  background:var(--carbon);
  color:var(--crema-arena);
  text-align:center;
  padding:0.6rem 1rem;
  font-size:0.85rem;
  position:sticky;
  bottom:0;
  z-index:40;
}
.barra-responsable a{color:var(--dorado-laton);}

/* ---------- Footer ---------- */
footer.pie-sitio{
  background:var(--azul-marino);
  color:var(--crema-arena);
  padding:2rem 0 1rem;
  margin-top:2rem;
  font-size:0.9rem;
}
footer.pie-sitio a{color:var(--crema-arena);}
.pie-enlaces{display:flex;gap:1.2rem;flex-wrap:wrap;margin-bottom:1rem;}

/* ---------- Varios ---------- */
.lista-fuentes li{margin-bottom:0.6rem;}
table.tabla-contacto{border-collapse:collapse;}
table.tabla-contacto td{padding:0.4rem 0.8rem;border-bottom:1px solid #d9c79a;}
