
:root{
  --violeta:#432C7A;
  --mostaza:#E0A100;
  --crema:#FFF7E8;
  --texto:#1F2430;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--crema);color:var(--texto)}
body{font-family: Inter, Poppins, Nunito, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; line-height:1.6}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
a{color:var(--violeta);text-decoration:none}
a:hover{text-decoration:underline}
.site-header{background:var(--violeta);color:white;position:sticky;top:0;z-index:50}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}
.logo{font-weight:700;color:white;font-size:1.125rem}
.nav ul{list-style:none;display:flex;gap:14px;margin:0;padding:0;flex-wrap:wrap}
.nav a{color:white;padding:8px 10px;border-radius:8px;display:block}
.nav a:hover{background:rgba(255,255,255,.15)}
main{display:block;padding:28px 0}
h1,h2,h3{color:var(--violeta);margin:0 0 12px}
.card{background:white;border:1px solid #eee;border-radius:16px;padding:18px;box-shadow:0 8px 20px rgba(0,0,0,.04)}
.site-footer{background:#1e1b2e;color:#ddd;padding:24px 0;margin-top:40px}
.site-footer p{margin:0;text-align:center;font-size:.95rem}
img{max-width:100%;height:auto;border-radius:8px}
/* Clases generadas a partir de colores inline */
.bg-d7c8e2{background-color:#d7c8e2;}
.bg-f7deb6{background-color:#f7deb6;}
.bg-f7e8d7{background-color:#f7e8d7;}


/* --- Mejoras de header sticky y navegación --- */
.site-header{
  background: var(--violeta);
  color: white;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.nav a{
  transition: background 0.3s, color 0.3s;
}
.nav a:hover{
  background: var(--mostaza);
  color: #2b2100;
}
.nav a.active{
  background: rgba(0,0,0,0.25);
  border-radius: 8px;
}


/* === Header mejorado (sticky con sombra) === */
.site-header{
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--violeta);
  color: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.site-header .container{
  gap: 16px;
  min-height: 64px;
}
.nav ul{ gap: 18px; }
.nav a{
  padding: 10px 12px;
  border-radius: 10px;
  font-weight: 600;
  letter-spacing: .2px;
  transition: transform .15s ease, background .2s ease;
  outline-offset: 2px;
}
.nav a:hover{
  background: rgba(255,255,255,.18);
  transform: translateY(-1px);
  text-decoration: none;
}
/* Estado activo / página actual */
.nav a.active,
.nav a[aria-current="page"]{
  background: rgba(0,0,0,.28);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}
/* Mejora de foco accesible */
.nav a:focus-visible{
  box-shadow: 0 0 0 3px rgba(224,161,0,.5);
}
