/* =======================================================
   Reset general
======================================================= */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* =======================================================
   Splash screen (solo index)
======================================================= */
#splash {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: white;
  display: flex; align-items: center; justify-content: center;
  z-index: 9999;
  transition: opacity 1s ease;
}
#splash img { width: 40vw; max-width: 200px; }

/* =======================================================
   Navegación / layout general (index)
======================================================= */
header {
  background-color: #B29600; /* dorado */
  color: white;
  padding: 20px;
  text-align: center;
}
nav {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
}
nav a { color: white; text-decoration: none; font-weight: bold; }

/* Secciones index */
section {
  padding: 40px 20px;
  max-width: 900px;
  margin: auto;
  text-align: center;
}
section h2 { margin-bottom: 20px; }

/* Lista simple de habitaciones (index) */
ul { list-style: none; padding: 0; }
ul li {
  background-color: #f4f4f4;
  margin: 10px auto;
  padding: 15px;
  border-radius: 5px;
  max-width: 400px;
}

/* Formulario (index) */
form {
  display: flex; flex-direction: column; gap: 15px;
  max-width: 400px; margin: auto;
}
form input, form button {
  padding: 12px; font-size: 16px;
  border: 1px solid #ccc; border-radius: 4px;
}
form button { background-color: #003366; color: white; cursor: pointer; }

/* Footer (global) */
footer {
  background: #003366; color: white;
  text-align: center; padding: 20px; font-size: 14px;
}
/* Enlace del footer con buen contraste */
footer a {
  color: #FFD34E; font-weight: 700; text-decoration: underline;
}
footer a:hover, footer a:focus-visible {
  text-decoration: none; filter: brightness(1.15);
}
a:focus-visible { outline: 2px dashed #FFD34E; outline-offset: 2px; }

/* =======================================================
   Responsive (index)
======================================================= */
@media (max-width: 600px) {
  nav { flex-direction: column; align-items: center; }
  #splash img { width: 60vw; }
  section { padding: 30px 10px; }
  form { width: 100%; padding: 0 10px; }
}

/* =======================================================
   Variables y utilidades comunes
======================================================= */
:root{
  --brand-dark: #003366;   /* azul del footer */
  --brand-gold: #B29600;   /* dorado del header */
  --ink: #111827;
  --muted: #6B7280;
  --bg-soft: #F7F8FA;
  --card: #FFFFFF;
  --ring: #E5E7EB;
}

/* Contenedor genérico */
.container{ max-width: 980px; margin: 0 auto; padding: 0 20px; }

/* =======================================================
   PÁGINA LEGAL: Aviso de Privacidad
   (aplica solo cuando el <body> tenga class="page-privacy")
======================================================= */
body.page-privacy{ background: #fff; color: var(--ink); }

/* Header compacto */
.header-compact{
  background: var(--brand-gold); color: #fff;
  text-align: center; padding: 18px 12px;
}
.header-compact h1{ font-size: 28px; }
.header-compact nav{
  margin-top: 6px; display:flex; gap:16px; justify-content:center; flex-wrap:wrap;
}
.header-compact nav a{ color:#fff; text-decoration: none; font-weight: 600; }
.header-compact nav a:hover{ text-decoration: underline; }

/* Hero (título y subtítulo) */
.hero-privacy{ background: var(--bg-soft); border-bottom: 1px solid var(--ring); }
.hero-title{
  font-size: 36px;
  margin: 22px 0 4px;
  text-align: center;      /* << centrado como pediste */
}
.hero-sub{
  color: var(--muted);
  margin-bottom: 18px;
  font-size: 15px;
  text-align: center;
}

/* Área legal */
.legal{
  line-height: 1.75; text-align: left;
  margin-top: 20px; margin-bottom: 40px;
}

/* Tabla de contenidos (TOC) */
.toc{
  background: #fff; border: 1px solid var(--ring);
  border-radius: 10px; padding: 14px 16px; margin-bottom: 18px;
}
.toc strong{ display:block; margin-bottom:8px; }
.toc ol{ margin: 0; padding-left: 18px; }
.toc li{ margin: 6px 0; }
.toc a{ color: var(--brand-dark); font-weight: 600; text-decoration: none; }
.toc a:hover{ text-decoration: underline; }

/* Tarjetas/secciones */
.card{
  background: var(--card); border: 1px solid var(--ring);
  border-radius: 12px; padding: 18px 18px 14px; margin: 16px 0;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
}
.card h3{ margin: 0 0 10px; font-size: 20px; text-align: center; }

/* --- IMPORTANTE ---
   Rectángulos para TODOS los ítems de “Datos Personales Recabados”
   (lista con class="bulleted" en la sección 2)
------------------------------------------------------- */
.page-privacy .legal .bulleted{
  list-style: none;      /* quitamos viñetas para usar tarjetas */
  padding-left: 0; margin: 10px 0 0;
}
.page-privacy .legal .bulleted li{
  background: #F3F4F6; border: 1px solid #E5E7EB;
  border-radius: 10px; padding: 14px 16px; margin: 10px 0;
  line-height: 1.6;
}
.page-privacy .legal .bulleted li > strong{
  display: inline-block; font-weight: 700;
}

/* Listas ordenadas dentro del texto legal */
.page-privacy .legal .numbered{ padding-left: 1.25rem; }
.page-privacy .legal .numbered li{ margin: 6px 0; }

/* Fecha de actualización y botón de regreso */
.update-date{ margin-top: 8px; font-style: italic; color: var(--muted); }
.btn-link{
  display: inline-block; margin-top: 6px; padding: 10px 14px;
  border-radius: 8px; background: var(--brand-dark); color: #fff;
  text-decoration: none; font-weight: 600;
}
.btn-link:hover{ filter: brightness(1.1); }

/* Responsive para la página legal */
@media (max-width: 600px){
  .hero-title{ font-size: 28px; }
  .header-compact h1{ font-size: 24px; }
}
