/* ====== Variables de color ====== */
:root{
  --page-bg: #ffffff;   /* fondo de la página */
  --menu-bg: #5e0774;   /* fondo del menú / barra */
  --link-hover: #e3d000;/* hover */
  --link-active: #9c1c44;/* seleccionado */
  --text-on-menu: #ffffff;
  --text-muted: #e8dff0;
}

.fondo-full{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* ❌ Evita esto en móvil: background-attachment: fixed; */
  background-attachment: scroll; /* valor por defecto */
  width: 100%;
  min-height: 100dvh; /* usa unidades de viewport dinámicas modernas */
}
/* ====== Reset mínimo ====== */
*{ box-sizing: border-box; }
html, body{ height: 100%; }
body{
  margin: 0;
  background: var(--page-bg);
  color: #222;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  overflow-x: hidden;
}

/* ====== Header / Barra de menú ====== */
.site-header{
  background: var(--menu-bg);
  color: var(--text-on-menu);
  position: relative;
  z-index: 20;
}

.nav-wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 .75rem;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: var(--text-on-menu);
  text-decoration: none;
  font-weight: 600;
}
.brand img{ height: 28px; width: auto; display: block; }

/* ====== Botón hamburguesa ====== */
.burger{
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--text-on-menu);
  width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: .0rem;
  cursor: pointer;
  transition: background-color .2s ease;
}
.burger:focus-visible{ outline: 2px solid rgba(255,255,255,.6); outline-offset: 2px; }
.burger:hover{ background: var(--link-hover); }
.burger .bar{
  width: 22px; height: 2px; background: var(--text-on-menu);
  border-radius: 0px; position: relative;
}
.burger .bar::before, .burger .bar::after{
  content: ""; position: absolute; left: 0; width: 22px; height: 2px;
  background: var(--text-on-menu); border-radius: 0px;
}
.burger .bar::before{ top: -7px; }
.burger .bar::after{  top:  7px; }

/* ====== Menú desplegable ====== */
.nav{
  position: absolute;
  left: 0; right: 0; top: 56px;
  background: var(--menu-bg);
  display: none; /* se abre con .open (JS) */
}
.nav.open{ display: block; }

.nav ul{
  list-style: none;
  margin: 0;
  padding: .5rem;
}
.nav li{ margin: 0; }

.nav a{
  display: block;
  padding: .85rem 1rem;
  color: var(--text-on-menu);
  text-decoration: none;
  border-radius: .0rem;
  transition: background-color .2s ease, color .2s ease;
}
.nav a:hover{
  background: var(--link-hover);
  color: #fff;
}
.nav a.active{
  background: var(--link-active);
  color: #fff;
}

/* Subtítulo opcional bajo cada link */
.nav a .sub{
  display: block;
  font-size: .82rem;
  color: var(--text-muted);
  margin-top: .1rem;
}

/* ====== Vista desktop ====== */
@media (min-width: 900px){
  .burger{ display: none; }
  .nav{
    position: static;
    display: block;
    background: transparent; /* el contenedor .site-header ya es morado */
  }
  .nav ul{
    display: flex;
    align-items: center;
    gap: .25rem;
    padding: 0;
  }
  .nav a{ padding: .6rem .8rem; }
  .nav a:hover{ background: var(--link-hover); }
  .nav a.active{ background: var(--link-active); }
}


