
:root{
  --tinta:#07050e; --tinta2:#0f0a1c; --carta:#150e28;
  --magenta:#ff2d95; --cian:#22e6ff; --ambar:#ffc23d; --lila:#a86bff;
  --texto:#f4eefc; --tenue:#b8a9d4; --linea:rgba(255,255,255,.10);
  --fuente:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--tinta);color:var(--texto);font-family:var(--fuente);
  line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(700px 420px at 12% -8%, rgba(255,45,149,.20), transparent 65%),
    radial-gradient(620px 400px at 88% 4%, rgba(34,230,255,.14), transparent 65%),
    radial-gradient(900px 600px at 50% 110%, rgba(168,107,255,.16), transparent 70%);
}
a{color:var(--cian);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.env{width:min(1080px,92vw);margin-inline:auto}

/* guirnalda de foquitos */
.foquitos{display:flex;gap:0;height:14px;overflow:hidden;justify-content:center}
.foquitos i{
  width:26px;height:6px;margin-top:4px;border-radius:99px;display:block;flex:0 0 auto;
  animation:parpadeo 2.4s infinite ease-in-out;
}
@keyframes parpadeo{0%,100%{opacity:.35}50%{opacity:1}}
@media (prefers-reduced-motion: reduce){.foquitos i{animation:none;opacity:.8}}

/* barra */
.barra{
  position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);
  background:rgba(7,5,14,.82);border-bottom:1px solid var(--linea);
}
.barra .env{display:flex;align-items:center;gap:18px;padding:12px 0;flex-wrap:wrap}
.marca{font-weight:800;letter-spacing:.4px;color:var(--texto);font-size:15px}
.marca b{color:var(--magenta)}
.barra nav{display:flex;gap:16px;margin-left:auto;flex-wrap:wrap}
.barra nav a{color:var(--tenue);font-size:14px;font-weight:600}
.barra nav a:hover{color:var(--cian);text-decoration:none}

/* miga */
.miga{font-size:13px;color:var(--tenue);padding:18px 0 0}
.miga a{color:var(--tenue)}
.miga span{color:var(--lila)}

/* portada de la noche */
.portada{padding:26px 0 34px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.chip{
  font-size:12px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;
  padding:6px 12px;border-radius:99px;border:1px solid;
}
.chip.f{color:var(--cian);border-color:rgba(34,230,255,.45);background:rgba(34,230,255,.08)}
.chip.g{color:var(--ambar);border-color:rgba(255,194,61,.45);background:rgba(255,194,61,.08)}
.chip.h{color:var(--magenta);border-color:rgba(255,45,149,.45);background:rgba(255,45,149,.08)}
h1{
  font-size:clamp(2.1rem,6.4vw,4.1rem);line-height:1.03;margin:.1em 0 .28em;
  font-weight:900;letter-spacing:-1.4px;
  background:linear-gradient(96deg,#fff 8%,var(--magenta) 52%,var(--cian) 96%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-wrap:balance;
}
.bajada{font-size:clamp(1.02rem,2.1vw,1.22rem);color:#ded3f0;max-width:66ch;margin:0 0 26px}

/* cuenta regresiva */
.reloj{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 26px}
.reloj div{
  min-width:82px;text-align:center;padding:12px 8px;border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border:1px solid var(--linea);
}
.reloj b{display:block;font-size:1.9rem;font-weight:900;line-height:1;color:var(--ambar);
  font-variant-numeric:tabular-nums}
.reloj small{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--tenue)}
.reloj.paso b{color:var(--tenue)}

.botones{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.btn{
  display:inline-block;padding:14px 26px;border-radius:99px;font-weight:800;font-size:15px;
  border:1px solid transparent;transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-2px);text-decoration:none}
.btn.p{background:linear-gradient(96deg,var(--magenta),#ff5ea8);color:#fff;
  box-shadow:0 10px 30px -10px rgba(255,45,149,.75)}
.btn.s{background:transparent;color:var(--cian);border-color:rgba(34,230,255,.45)}
.btn.s:hover{background:rgba(34,230,255,.10)}

/* rejilla de tarjetas */
.rejilla{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));margin:0 0 34px}
.carta{
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  border:1px solid var(--linea);border-radius:18px;padding:22px;
}
.carta h3{margin:0 0 10px;font-size:14px;letter-spacing:1.4px;text-transform:uppercase;color:var(--cian)}
.carta .grande{font-size:2rem;font-weight:900;color:var(--ambar);line-height:1.1;display:block}
.carta p{margin:.35em 0;color:#ded3f0;font-size:15px}
.carta ul{margin:.4em 0 0;padding-left:1.1em;color:#ded3f0;font-size:15px}
.carta li{margin:.4em 0}

section{padding:8px 0 34px}
h2{font-size:clamp(1.35rem,3.4vw,2rem);font-weight:900;letter-spacing:-.6px;margin:0 0 6px}
h2 em{font-style:normal;color:var(--magenta)}
.sub{color:var(--tenue);margin:0 0 20px;font-size:15px}

/* consejos */
.consejos{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.consejos li{
  background:rgba(255,255,255,.04);border-left:3px solid var(--magenta);
  border-radius:0 14px 14px 0;padding:15px 18px;color:#e8dff7;font-size:15px;
}

/* faq */
details{
  background:rgba(255,255,255,.04);border:1px solid var(--linea);border-radius:14px;
  padding:16px 18px;margin-bottom:10px;
}
details[open]{border-color:rgba(255,45,149,.35)}
summary{cursor:pointer;font-weight:800;font-size:16px;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;color:var(--magenta);font-weight:900}
details[open] summary::after{content:"−"}
details p{color:#ded3f0;margin:.7em 0 0;font-size:15px}

/* navegación entre noches */
.saltos{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin:10px 0 40px}
.salto{
  background:rgba(255,255,255,.04);border:1px solid var(--linea);border-radius:16px;
  padding:16px 18px;display:block;color:var(--texto);
}
.salto:hover{border-color:rgba(34,230,255,.4);text-decoration:none}
.salto small{display:block;color:var(--tenue);font-size:12px;letter-spacing:1.2px;text-transform:uppercase}
.salto b{font-size:16px;font-weight:800}
.salto.der{text-align:right}
@media(max-width:640px){.saltos{grid-template-columns:1fr}.salto.der{text-align:left}}

/* índice */
.lista{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.fila{
  display:flex;gap:16px;align-items:center;padding:16px 18px;border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  border:1px solid var(--linea);color:var(--texto);
}
.fila:hover{border-color:rgba(255,45,149,.45);text-decoration:none;transform:translateY(-2px)}
.fila{transition:transform .15s ease,border-color .15s ease}
.fila .dia{
  flex:0 0 58px;text-align:center;border-right:1px solid var(--linea);padding-right:14px;
}
.fila .dia b{display:block;font-size:1.7rem;font-weight:900;color:var(--ambar);line-height:1}
.fila .dia small{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--tenue)}
.fila .qn b{display:block;font-size:16px;font-weight:800;line-height:1.25}
.fila .qn small{color:var(--tenue);font-size:12.5px}

footer{border-top:1px solid var(--linea);margin-top:20px;padding:30px 0 50px;color:var(--tenue);font-size:14px}
footer a{color:var(--tenue)}
footer strong{color:var(--texto)}
.aviso{
  background:rgba(255,194,61,.07);border:1px solid rgba(255,194,61,.3);
  border-radius:14px;padding:14px 18px;color:#f0e3c6;font-size:14px;margin:0 0 28px;
}
