/* =========================================================
   NUEVO REALISMO MÁGICO — hoja de estilo
   Estética: portada oscura mágica (verde profundo + oro)
   ========================================================= */

:root{
  --tinta:        #06110C;
  --verde-900:    #0B1F17;
  --verde-800:    #10301F;
  --verde-700:    #16402B;
  --oro:          #D9A93C;
  --oro-claro:    #F2C75C;
  --oro-luz:      #FFE9A8;
  --crema:        #F3EAD6;
  --texto:        #D8D0BC;
  --texto-suave:  rgba(216,208,188,.68);
  --borde:        rgba(217,169,60,.28);
  --borde-suave:  rgba(217,169,60,.16);
  --sombra:       0 24px 60px rgba(0,0,0,.55);
  --max:          1180px;
  --fuente-tit:   'Cinzel', 'Times New Roman', serif;
  --fuente-cita:  'Cormorant Garamond', Georgia, serif;
  --fuente-txt:   'Jost', 'Segoe UI', system-ui, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  background:
    radial-gradient(1100px 620px at 82% -6%, rgba(217,169,60,.14), transparent 60%),
    radial-gradient(900px 700px at 8% 18%, rgba(20,80,55,.38), transparent 62%),
    linear-gradient(180deg, var(--verde-900) 0%, var(--tinta) 42%, #08150F 100%);
  background-attachment: fixed;
  color:var(--texto);
  font-family:var(--fuente-txt);
  font-weight:300;
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

body::before{ /* grano sutil */
  content:"";
  position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.05;
  background-image:radial-gradient(rgba(255,255,255,.7) .5px, transparent .5px);
  background-size:3px 3px;
}

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

.contenedor{ width:min(100% - 2.5rem, var(--max)); margin-inline:auto; position:relative; z-index:2; }
.centrado{ text-align:center; }
.oculto-movil{ display:none; }

/* ---------- polvo dorado ---------- */
#polvo{ position:fixed; inset:0; pointer-events:none; z-index:1; overflow:hidden; }
#polvo span{
  position:absolute; bottom:-12px; border-radius:50%;
  background:radial-gradient(circle, var(--oro-luz), rgba(217,169,60,0) 70%);
  animation:caer linear infinite; opacity:0;
}
@keyframes caer{
  0%{ transform:translate3d(0,0,0) scale(.6); opacity:0; }
  12%{ opacity:.85; }
  100%{ transform:translate3d(var(--dx,20px),-108vh,0) scale(1.15); opacity:0; }
}

/* ---------- botones ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.85rem 1.7rem; border-radius:2px; text-decoration:none;
  font-family:var(--fuente-txt); font-weight:500; font-size:.92rem;
  letter-spacing:.09em; text-transform:uppercase; cursor:pointer;
  border:1px solid transparent; transition:.35s cubic-bezier(.2,.7,.3,1);
}
.btn-pequeno{ padding:.5rem 1.1rem; font-size:.76rem; }
.btn-grande{ padding:1.05rem 2.4rem; font-size:.98rem; width:100%; }

.btn-oro{
  background:linear-gradient(135deg, var(--oro-claro), var(--oro) 55%, #B9862A);
  color:#1A1206; border-color:rgba(255,233,168,.7);
  box-shadow:0 10px 26px rgba(217,169,60,.28), inset 0 1px 0 rgba(255,255,255,.55);
}
.btn-oro:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(217,169,60,.45), inset 0 1px 0 rgba(255,255,255,.7);
  filter:brightness(1.06);
}
.btn-fantasma{
  color:var(--oro-luz); border-color:var(--borde);
  background:rgba(255,255,255,.02);
}
.btn-fantasma:hover{ background:rgba(217,169,60,.12); border-color:var(--oro); transform:translateY(-3px); }

/* ---------- encabezado ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:linear-gradient(180deg, rgba(6,17,12,.94), rgba(6,17,12,.72));
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--borde-suave);
}
.header-fila{ display:flex; align-items:center; justify-content:space-between; padding:.85rem 0; gap:1rem; }
.marca{ display:flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--crema); }
.marca-ico{ color:var(--oro); font-size:1.05rem; text-shadow:0 0 14px rgba(217,169,60,.8); }
.marca-texto{
  font-family:var(--fuente-tit); font-size:.98rem; letter-spacing:.16em; text-transform:uppercase;
}
.marca-texto em{ font-style:normal; color:var(--oro-claro); }
.nav{ display:flex; align-items:center; gap:1.5rem; }
.nav a{ color:var(--texto-suave); text-decoration:none; font-size:.85rem; letter-spacing:.12em; text-transform:uppercase; transition:.3s; }
.nav a:hover{ color:var(--oro-luz); }

/* ---------- hero ---------- */
.hero{ position:relative; min-height:calc(100vh - 64px); display:flex; align-items:center; overflow:hidden; padding:4.5rem 0 5rem; }
.hero-fondo{
  position:absolute; inset:0;
  background:url('../img/manos-plumas.jpg') center 32%/cover no-repeat;
  filter:saturate(.9); opacity:.42;
}
.hero-velo{
  position:absolute; inset:0;
  background:
    radial-gradient(70% 60% at 74% 46%, rgba(217,169,60,.20), transparent 62%),
    linear-gradient(90deg, rgba(6,17,12,.97) 6%, rgba(6,17,12,.86) 42%, rgba(6,17,12,.45) 78%),
    linear-gradient(180deg, rgba(6,17,12,.9) 0%, transparent 26%, rgba(6,17,12,.95) 100%);
}
.hero-fila{ display:grid; grid-template-columns:1.15fr .85fr; gap:3.5rem; align-items:center; }

.insignia{
  display:inline-block; padding:.42rem 1.1rem; border:1px solid var(--borde);
  border-radius:999px; color:var(--oro-luz); font-size:.74rem; letter-spacing:.24em;
  text-transform:uppercase; background:rgba(217,169,60,.08);
}

.hero-texto h1{
  font-family:var(--fuente-tit); font-weight:700; color:var(--crema);
  font-size:clamp(2.9rem, 7vw, 5.4rem); line-height:1.02; margin:1.4rem 0 .7rem;
  letter-spacing:.01em;
  text-shadow:0 6px 34px rgba(0,0,0,.75);
}
.hero-texto h1 span{
  display:block;
  background:linear-gradient(100deg, var(--oro-luz) 0%, var(--oro) 40%, #C9922F 70%, var(--oro-luz) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 4px 22px rgba(217,169,60,.35));
}
.hero-sub{
  font-family:var(--fuente-cita); font-style:italic; font-size:clamp(1.15rem,2.3vw,1.5rem);
  color:var(--crema); opacity:.9; margin:0 0 1.4rem;
}
.hero-autor{ display:flex; align-items:center; gap:.9rem; color:var(--texto-suave); font-size:.95rem; letter-spacing:.05em; }
.hero-autor strong{ color:var(--oro-luz); font-weight:500; letter-spacing:.06em; }
.linea-dorada{ width:56px; height:1px; background:linear-gradient(90deg, transparent, var(--oro)); }

.hero-acciones{ display:flex; flex-wrap:wrap; gap:.9rem; margin:2.2rem 0 2.4rem; }

.hero-datos{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:1.6rem 2.4rem; }
.hero-datos li{ font-size:.92rem; color:var(--texto); }
.hero-datos li span{
  display:block; font-size:.68rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--oro); opacity:.85; margin-bottom:.15rem;
}

.hero-portada{ position:relative; justify-self:center; }
.hero-portada img{
  width:min(100%, 380px); border-radius:3px;
  border:1px solid rgba(255,233,168,.35);
  box-shadow:0 40px 90px rgba(0,0,0,.75), 0 0 0 8px rgba(255,255,255,.03),
             0 0 70px rgba(217,169,60,.28);
  animation:flotar 7s ease-in-out infinite;
}
.halo{
  position:absolute; inset:-14% -18%;
  background:radial-gradient(closest-side, rgba(242,199,92,.42), rgba(217,169,60,.10) 55%, transparent 72%);
  filter:blur(14px); z-index:-1;
  animation:pulso 5.5s ease-in-out infinite;
}
@keyframes flotar{ 0%,100%{ transform:translateY(0) rotate(-.4deg);} 50%{ transform:translateY(-16px) rotate(.4deg);} }
@keyframes pulso{ 0%,100%{ opacity:.75; transform:scale(.98);} 50%{ opacity:1; transform:scale(1.04);} }

.hero-portada-pie{
  text-align:center; margin-top:1rem; font-size:.7rem; letter-spacing:.3em;
  text-transform:uppercase; color:var(--oro); opacity:.75;
}
.bajar{
  position:absolute; left:50%; bottom:1.4rem; transform:translateX(-50%);
  color:var(--oro); font-size:1.3rem; text-decoration:none; opacity:.75;
  animation:bajar 2.2s ease-in-out infinite;
}
@keyframes bajar{ 0%,100%{ transform:translate(-50%,0); } 50%{ transform:translate(-50%,10px); } }

/* ---------- cuenta regresiva ---------- */
.cuenta-regresiva{
  border-block:1px solid var(--borde-suave);
  background:linear-gradient(180deg, rgba(16,48,31,.65), rgba(6,17,12,.4));
  padding:2.6rem 0; text-align:center;
}
.rotulo{
  font-size:.72rem; letter-spacing:.32em; text-transform:uppercase;
  color:var(--oro); margin:0 0 1.2rem;
}
.reloj{ display:flex; justify-content:center; gap:clamp(.7rem,3vw,2.4rem); flex-wrap:wrap; }
.unidad{ min-width:92px; }
.unidad b{
  display:block; font-family:var(--fuente-tit); font-weight:600;
  font-size:clamp(2rem,5vw,3.2rem); color:var(--oro-luz); line-height:1;
  text-shadow:0 0 26px rgba(242,199,92,.35);
}
.unidad span{ font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; color:var(--texto-suave); }

/* ---------- cita ---------- */
.cita-seccion{ padding:5.5rem 0; }
.cita-caja{ text-align:center; max-width:840px; }
.ornamento{ color:var(--oro); font-size:1.6rem; opacity:.7; display:block; }
.cita-caja blockquote{
  font-family:var(--fuente-cita); font-style:italic; font-weight:400;
  font-size:clamp(1.5rem,3.6vw,2.5rem); line-height:1.45; color:var(--crema);
  margin:1.6rem 0; text-wrap:balance;
}
.cita-caja blockquote em{ color:var(--oro-claro); font-style:italic; }

/* ---------- secciones ---------- */
.seccion{ padding:6rem 0; position:relative; }
.seccion h2{
  font-family:var(--fuente-tit); font-weight:600; color:var(--crema);
  font-size:clamp(1.9rem,4vw,3rem); line-height:1.16; margin:.3rem 0 1.5rem;
}
.seccion h2 span{ color:var(--oro-claro); }
.parrafo{ color:var(--texto); max-width:62ch; }
.parrafo + .parrafo{ margin-top:1.1rem; }

.dos-columnas{ display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }

.rasgos{ list-style:none; display:flex; gap:2.4rem; padding:0; margin:2.2rem 0 0; flex-wrap:wrap; }
.rasgos li{ font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; color:var(--texto-suave); }
.rasgos b{
  display:block; font-family:var(--fuente-tit); font-size:2rem; color:var(--oro-claro);
  letter-spacing:0; line-height:1.1;
}

.col-imagen{ margin:0; position:relative; }
.col-imagen img{
  border:1px solid var(--borde); border-radius:2px;
  box-shadow:var(--sombra); filter:saturate(1.05) contrast(1.02);
}
.col-imagen::after{
  content:""; position:absolute; inset:14px; border:1px solid rgba(217,169,60,.35);
  pointer-events:none;
}
.col-imagen figcaption{
  text-align:center; font-family:var(--fuente-cita); font-style:italic;
  color:var(--oro); font-size:1.05rem; margin-top:1.1rem;
}

/* ---------- evento ---------- */
.seccion-evento{
  background:
    radial-gradient(760px 420px at 50% 0%, rgba(217,169,60,.12), transparent 65%),
    linear-gradient(180deg, rgba(11,31,23,.55), rgba(6,17,12,.85));
  border-block:1px solid var(--borde-suave);
}
.evento-caja{ display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:center; margin-top:2.5rem; }
.evento-boleta{ margin:0; position:relative; }
.evento-boleta img{
  border:1px solid var(--borde); box-shadow:var(--sombra); border-radius:2px;
  transition:.4s;
}
.evento-boleta:hover img{ transform:translateY(-6px); box-shadow:0 34px 70px rgba(0,0,0,.6), 0 0 46px rgba(217,169,60,.22); }
.evento-boleta::after{
  content:""; position:absolute; inset:10px; border:1px solid rgba(255,233,168,.28);
  pointer-events:none;
}

.evento-datos dl{ margin:0 0 1.6rem; }
.evento-datos dl div{
  display:grid; grid-template-columns:118px 1fr; gap:1rem;
  padding:.75rem 0; border-bottom:1px dashed rgba(217,169,60,.22);
}
.evento-datos dt{
  font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--oro);
  padding-top:.28rem;
}
.evento-datos dd{ margin:0; color:var(--crema); font-size:1.02rem; }
.evento-nota{
  font-family:var(--fuente-cita); font-style:italic; font-size:1.1rem;
  color:var(--texto-suave); border-left:2px solid var(--oro); padding-left:1rem; margin:0 0 1.6rem;
}

/* ---------- registro ---------- */
.seccion-registro{ padding-bottom:7rem; }
.registro-caja{
  max-width:820px;
  background:linear-gradient(180deg, rgba(16,48,31,.72), rgba(8,20,14,.9));
  border:1px solid var(--borde);
  box-shadow:var(--sombra), inset 0 1px 0 rgba(255,233,168,.12);
  padding:clamp(1.6rem,4vw,3.4rem);
  border-radius:3px;
}
.registro-cabecera{ text-align:center; margin-bottom:2rem; }
.registro-cabecera .parrafo{ margin-inline:auto; }

.formulario{ display:flex; flex-direction:column; gap:1.15rem; }
.fila-2{ display:grid; grid-template-columns:1fr 1fr; gap:1.15rem; }

.campo{ display:flex; flex-direction:column; gap:.42rem; }
.campo label{
  font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--oro);
}
.campo label i, .consentimientos legend i{ color:#E8785A; font-style:normal; }
.campo input{
  background:rgba(4,12,8,.75); border:1px solid rgba(217,169,60,.26);
  color:var(--crema); padding:.85rem 1rem; font-family:var(--fuente-txt);
  font-size:1rem; font-weight:300; border-radius:2px; transition:.3s; width:100%;
}
.campo input::placeholder{ color:rgba(216,208,188,.35); }
.campo input:focus{
  outline:none; border-color:var(--oro);
  box-shadow:0 0 0 3px rgba(217,169,60,.16), 0 0 22px rgba(217,169,60,.14);
  background:rgba(6,18,12,.92);
}
.campo input[aria-invalid="true"]{ border-color:#D9694B; box-shadow:0 0 0 3px rgba(217,105,75,.16); }
.campo .error{ color:#E8917A; font-size:.82rem; letter-spacing:.02em; text-transform:none; }

.consentimientos{
  border:1px solid var(--borde-suave); border-radius:3px;
  padding:1.3rem 1.4rem 1.1rem; margin:.4rem 0 0;
  background:rgba(217,169,60,.05);
}
.consentimientos legend{
  font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--oro);
  padding:0 .5rem;
}
.casilla{ display:flex; gap:.85rem; align-items:flex-start; padding:.55rem 0; cursor:pointer; font-size:.93rem; color:var(--texto); }
.casilla input{
  appearance:none; -webkit-appearance:none; flex:0 0 auto;
  width:20px; height:20px; margin-top:.22rem; border:1px solid rgba(217,169,60,.5);
  background:rgba(4,12,8,.8); border-radius:2px; position:relative; cursor:pointer; transition:.25s;
}
.casilla input:checked{
  background:linear-gradient(135deg, var(--oro-claro), var(--oro));
  border-color:var(--oro-luz); box-shadow:0 0 14px rgba(217,169,60,.5);
}
.casilla input:checked::after{
  content:"✓"; position:absolute; inset:0; display:grid; place-items:center;
  color:#14100A; font-size:.8rem; font-weight:700;
}
.casilla input:focus-visible{ outline:2px solid var(--oro-luz); outline-offset:2px; }
.casilla a{ color:var(--oro-luz); text-decoration:underline; text-underline-offset:3px; }
.casilla a:hover{ color:#fff; }
.casilla-obligatoria{ color:var(--crema); }

.trampa{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.enviar-fila{ display:flex; flex-direction:column; gap:.9rem; margin-top:.6rem; }
.minipie{ font-size:.8rem; color:var(--texto-suave); text-align:center; margin:0; line-height:1.6; }
.minipie a{ color:var(--oro-luz); }

.alerta{
  padding:.95rem 1.2rem; border-radius:2px; margin-bottom:1.4rem;
  font-size:.95rem; border:1px solid transparent;
}
.alerta.exito{
  background:rgba(46,120,74,.22); border-color:rgba(120,220,160,.5); color:#BDF3D3;
}
.alerta.falla{
  background:rgba(160,60,40,.2); border-color:rgba(230,130,100,.5); color:#FFD7CB;
}
.oculto{ display:none; }

.exito-caja{ text-align:center; padding:1rem 0; }
.exito-caja .simbolo{
  font-size:2.6rem; color:var(--oro-claro); display:block; margin-bottom:.6rem;
  animation:aparecer .7s cubic-bezier(.2,.9,.3,1.3);
}
.exito-caja h3{
  font-family:var(--fuente-tit); color:var(--crema); font-size:1.6rem; margin:0 0 .5rem;
}
.exito-caja p{ color:var(--texto-suave); margin:0; }
@keyframes aparecer{ from{ transform:scale(.4); opacity:0; } to{ transform:scale(1); opacity:1; } }

/* ---------- páginas legales ---------- */
.pagina-legal .seccion{ padding-top:4rem; }
.legal-caja{
  max-width:860px; background:rgba(10,26,18,.6); border:1px solid var(--borde-suave);
  padding:clamp(1.6rem,4vw,3.2rem); border-radius:3px; box-shadow:var(--sombra);
}
.legal-caja h1{
  font-family:var(--fuente-tit); color:var(--crema); font-size:clamp(1.7rem,3.6vw,2.6rem);
  line-height:1.2; margin:.4rem 0 .3rem;
}
.legal-caja h2{
  font-family:var(--fuente-tit); color:var(--oro-claro); font-size:1.22rem;
  margin:2.4rem 0 .7rem; letter-spacing:.02em;
}
.legal-caja p, .legal-caja li{ color:var(--texto); font-size:.97rem; }
.legal-caja ul{ padding-left:1.15rem; }
.legal-caja li{ margin-bottom:.5rem; }
.legal-caja a{ color:var(--oro-luz); }
.meta-legal{
  font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--oro);
}
.destacado{
  border-left:2px solid var(--oro); background:rgba(217,169,60,.07);
  padding:1rem 1.2rem; margin:1.4rem 0; font-family:var(--fuente-cita); font-style:italic;
  font-size:1.1rem; color:var(--crema);
}

/* ---------- pie ---------- */
.site-footer{
  border-top:1px solid var(--borde-suave);
  background:linear-gradient(180deg, rgba(6,17,12,.5), rgba(3,9,6,.95));
  padding:3.2rem 0 2.4rem; position:relative; z-index:2;
}
.pie-fila{ display:flex; flex-direction:column; gap:1.3rem; align-items:center; text-align:center; }
.pie-marca{ display:flex; flex-direction:column; gap:.2rem; align-items:center; }
.pie-marca strong{
  font-family:var(--fuente-tit); letter-spacing:.18em; text-transform:uppercase;
  color:var(--crema); font-weight:600;
}
.pie-marca span:last-child{ font-family:var(--fuente-cita); font-style:italic; color:var(--oro); font-size:1rem; }
.pie-nav{ display:flex; flex-wrap:wrap; gap:1.4rem; justify-content:center; }
.pie-nav a{ color:var(--texto-suave); text-decoration:none; font-size:.82rem; letter-spacing:.1em; transition:.3s; }
.pie-nav a:hover{ color:var(--oro-luz); }
.pie-legal{ font-size:.78rem; color:rgba(216,208,188,.45); max-width:70ch; margin:0; line-height:1.7; }

/* ---------- panel admin ---------- */
.admin-fondo{
  min-height:100vh; display:grid; place-items:center; padding:2rem 1rem;
  background:
    radial-gradient(700px 420px at 50% -10%, rgba(217,169,60,.16), transparent 60%),
    linear-gradient(180deg, var(--verde-900), var(--tinta));
}
.tarjeta-login{
  width:min(100%, 420px); background:rgba(10,26,18,.85);
  border:1px solid var(--borde); padding:2.4rem 2.2rem; border-radius:3px;
  box-shadow:var(--sombra);
}
.tarjeta-login h1{
  font-family:var(--fuente-tit); color:var(--crema); font-size:1.5rem; margin:.4rem 0 1.4rem;
  text-align:center; letter-spacing:.06em;
}
.tarjeta-login .marca-login{ text-align:center; color:var(--oro); letter-spacing:.3em;
  font-size:.7rem; text-transform:uppercase; }

.panel-admin{ width:min(100% - 2rem, 1280px); margin:1.6rem auto 4rem; }
.panel-cab{
  display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between;
  margin-bottom:1.4rem;
}
.panel-cab h1{
  font-family:var(--fuente-tit); color:var(--crema); font-size:1.5rem; margin:0;
}
.panel-cab .conteo{ color:var(--oro); font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; }
.panel-acciones{ display:flex; gap:.6rem; flex-wrap:wrap; }
.panel-acciones .btn{ padding:.6rem 1.1rem; font-size:.75rem; }

.barra-busqueda{ display:flex; gap:.6rem; flex-wrap:wrap; margin-bottom:1rem; }
.barra-busqueda input[type="search"]{
  flex:1 1 260px; background:rgba(4,12,8,.8); border:1px solid rgba(217,169,60,.3);
  color:var(--crema); padding:.7rem .95rem; border-radius:2px; font-family:var(--fuente-txt);
}
.barra-busqueda input:focus{ outline:none; border-color:var(--oro); }

.tabla-envoltorio{
  overflow-x:auto; border:1px solid var(--borde-suave); border-radius:3px;
  background:rgba(8,20,14,.7);
}
table.registros{ width:100%; border-collapse:collapse; font-size:.9rem; min-width:940px; }
table.registros th, table.registros td{ padding:.75rem .9rem; text-align:left; border-bottom:1px solid rgba(217,169,60,.14); }
table.registros thead th{
  background:rgba(16,48,31,.85); color:var(--oro-luz); font-size:.68rem;
  letter-spacing:.16em; text-transform:uppercase; font-weight:500; position:sticky; top:0;
}
table.registros tbody tr:hover{ background:rgba(217,169,60,.06); }
table.registros td{ color:var(--texto); }
.si{ color:#7FE0A9; } .no{ color:rgba(216,208,188,.4); }

.pie-panel{ display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:1.1rem; flex-wrap:wrap; }
.paginacion{ display:flex; gap:.4rem; }
.paginacion a, .paginacion span{
  padding:.4rem .75rem; border:1px solid var(--borde-suave); color:var(--texto);
  text-decoration:none; font-size:.82rem; border-radius:2px;
}
.paginacion a:hover{ border-color:var(--oro); color:var(--oro-luz); }
.paginacion .actual{ background:rgba(217,169,60,.18); border-color:var(--oro); color:var(--oro-luz); }

/* ---------- responsive ---------- */
@media (max-width: 940px){
  .hero-fila{ grid-template-columns:1fr; gap:2.6rem; text-align:center; }
  .hero-texto{ order:2; }
  .hero-portada{ order:1; }
  .hero-autor{ justify-content:center; }
  .hero-acciones, .hero-datos{ justify-content:center; }
  .hero-velo{ background:linear-gradient(180deg, rgba(6,17,12,.86) 0%, rgba(6,17,12,.72) 45%, rgba(6,17,12,.96) 100%); }
  .dos-columnas, .evento-caja{ grid-template-columns:1fr; gap:2.4rem; }
  .oculto-movil{ display:none; }
}
@media (max-width: 620px){
  body{ font-size:16px; }
  .fila-2{ grid-template-columns:1fr; }
  .hero{ min-height:auto; padding:3rem 0 4rem; }
  .nav{ gap:.8rem; }
  .marca-texto{ font-size:.78rem; letter-spacing:.1em; }
  .evento-datos dl div{ grid-template-columns:1fr; gap:.15rem; }
  .unidad{ min-width:70px; }
  .seccion{ padding:4rem 0; }
}

@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
