/* Noche de estrellas — XV moderna y oscura. Sobrescribe el kit (kit/base.css).
   Solo var(--mi-*) / var(--k-*); nunca {{ theme.x }} aquí. */

.n {
  --k-orn-1: var(--k-primary);
  --k-orn-2: var(--k-secondary);
  --k-orn-3: var(--k-accent);
  --n-glow: color-mix(in srgb, var(--k-primary) 55%, transparent);
  /* Campo de estrellas: puntos fijos (sin imágenes) sobre el fondo de noche. */
  background:
    radial-gradient(1.5px 1.5px at 12% 6%, var(--k-accent), transparent 60%),
    radial-gradient(1px 1px at 78% 4%, var(--k-text), transparent 60%),
    radial-gradient(1.5px 1.5px at 90% 18%, var(--k-accent), transparent 60%),
    radial-gradient(1px 1px at 6% 28%, var(--k-text), transparent 60%),
    radial-gradient(1.5px 1.5px at 60% 12%, var(--k-text), transparent 60%),
    radial-gradient(1px 1px at 32% 22%, var(--k-accent), transparent 60%),
    radial-gradient(120% 50% at 50% 0%, var(--k-secondary), transparent 70%),
    var(--k-page-bg);
  background-size: 100% 900px, 100% 900px, 100% 900px, 100% 900px, 100% 900px, 100% 900px, auto, var(--k-page-bg-size);
  background-repeat: repeat-y, repeat-y, repeat-y, repeat-y, repeat-y, repeat-y, no-repeat, no-repeat;
}
@supports not (color: color-mix(in srgb, red, blue)) { .n { --n-glow: var(--k-primary); } }
h2 { font-weight: 400; letter-spacing: .06em; }
.k-eyebrow { color: var(--k-primary); }

/* Portada */
.n-hero { position: relative; display: flex; flex-direction: column; align-items: center; gap: .9rem; padding: clamp(40px, 9vw, 72px) var(--k-gap) clamp(48px, 10vw, 88px); overflow: hidden; text-align: center; }
.n-moon { position: absolute; top: 22px; right: 8%; width: 54px; color: var(--k-accent); }
.n-moon--small { position: static; width: 40px; }
.n-sparkles { position: absolute; top: 34%; left: 4%; width: 90px; }
.n:not(.n--orn) .n-moon, .n:not(.n--orn) .n-sparkles, .n:not(.n--orn) .n-divider { display: none; }
.n-mis { color: var(--k-primary); font: 400 clamp(4.6rem, 26vw, 9rem)/.85 var(--k-font-title); letter-spacing: .04em; text-transform: uppercase; text-shadow: 0 0 22px var(--n-glow), 0 0 4px var(--n-glow); }
.n-photo { width: min(64vw, 280px); aspect-ratio: 1; overflow: hidden; border-radius: 50%; background: var(--k-surface); box-shadow: 0 0 0 3px var(--k-accent), 0 0 0 10px color-mix(in srgb, var(--k-primary) 18%, transparent), 0 0 60px var(--n-glow); }
.n-photo img { width: 100%; height: 100%; object-fit: cover; }
.n-name { margin: .6rem 0 0; font-size: clamp(2.8rem, 14vw, 5.6rem); font-weight: 400; line-height: 1; letter-spacing: .12em; text-transform: uppercase; }
.n-date { margin: 0; color: var(--k-accent); font-size: .85rem; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; }
.n-countdown > div { background: var(--k-surface); box-shadow: 0 0 0 1px color-mix(in srgb, var(--k-primary) 45%, transparent), 0 0 18px -6px var(--n-glow); }
.n-countdown strong { color: var(--k-primary); }

/* Secciones sobre la noche */
.n-divider { width: 90px; }
.n .k-quote { font-family: var(--k-font-body); font-style: normal; font-size: clamp(1.15rem, 4.4vw, 1.4rem); }
.n-parents { display: grid; gap: .3rem; margin: 1.4rem 0 0; font-weight: 600; font-size: 1.1rem; }
.n-parents .k-eyebrow { margin: 0; }
.n-soft { background: color-mix(in srgb, var(--k-secondary) 45%, transparent); }
.n .k-card { background: var(--k-surface); box-shadow: 0 0 0 1px color-mix(in srgb, var(--k-primary) 30%, transparent), 0 24px 50px -36px rgba(0, 0, 0, .8); }
.n-card h3 { font-family: var(--k-font-body); font-size: 1.3rem; font-weight: 600; letter-spacing: 0; }
.n-note { color: var(--k-muted); font-style: italic; }
.n .k-timeline li::before { background: var(--k-primary); box-shadow: 0 0 0 4px var(--k-bg), 0 0 14px var(--n-glow); }
.n .k-btn--ghost { color: var(--k-primary); border-color: var(--k-primary); }

/* Padrinos y chambelanes */
.n-people { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.n-people .k-person { margin: 0; }
.n-people .k-person__name { font-family: var(--k-font-body); font-size: 1.25rem; font-weight: 600; }
.n-chambelanes { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.n-chambelanes li { padding: .55rem 1.2rem; border: 1px solid var(--k-primary); border-radius: 999px; background: var(--k-surface); font-weight: 600; box-shadow: 0 0 14px -6px var(--n-glow); }

/* Regalos, confirmación, compartir */
.n .n-sobres { background: var(--k-primary); color: var(--k-on-primary); }
.n-sobres h3 { margin: 0 0 .4rem; font-family: var(--k-font-body); font-size: 1.35rem; font-weight: 700; letter-spacing: 0; }
.n-sobres p { margin: 0; }
.n-rsvp { text-align: left; }
.n .rsvp-form input[type=text], .n .rsvp-form input[type=number], .n .rsvp-form textarea { background: color-mix(in srgb, var(--k-bg) 60%, var(--k-surface)); }
.n-share { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.n-footer { display: flex; flex-direction: column; align-items: center; gap: .5rem; }
.n-hashtag { margin: 0; color: var(--k-primary); font-weight: 700; letter-spacing: .08em; }
