/* Realeza — princesa moderna. Sobrescribe el kit (kit/base.css).
   Solo var(--mi-*) / var(--k-*); nunca {{ theme.x }} aquí. */

.r {
  --k-orn-1: var(--k-accent);
  --k-orn-2: var(--k-secondary);
  --k-orn-3: var(--k-primary);
  --r-gold: linear-gradient(135deg, color-mix(in srgb, var(--k-accent) 55%, #ffffff), var(--k-accent) 45%, color-mix(in srgb, var(--k-accent) 70%, #000000));
  background:
    radial-gradient(80% 45% at 50% 0%, color-mix(in srgb, var(--k-secondary) 55%, transparent), transparent 70%),
    var(--k-page-bg);
  background-size: auto, var(--k-page-bg-size);
}
@supports not (color: color-mix(in srgb, red, blue)) { .r { --r-gold: var(--k-accent); } }
h2 { font-weight: 600; letter-spacing: .06em; }

/* Portada: corona, espejo ovalado con volutas, perlas */
.r-hero { display: flex; flex-direction: column; align-items: center; gap: .9rem; padding: clamp(36px, 8vw, 64px) var(--k-gap) clamp(48px, 10vw, 88px); overflow: hidden; text-align: center; }
.r-crown { display: block; width: 92px; color: var(--k-accent); }
.r-crown--small { width: 60px; }
.r-mirror { position: relative; width: min(66vw, 300px); margin: 1.6rem auto .6rem; padding: 9px; border-radius: 50%; background: var(--r-gold); box-shadow: 0 0 0 5px var(--k-bg), 0 0 0 6px var(--k-accent), 0 30px 60px -34px rgba(0, 0, 0, .55); }
.r-photo { overflow: hidden; aspect-ratio: 4 / 5; border-radius: 50%; background: var(--k-soft); }
.r-photo img { width: 100%; height: 100%; object-fit: cover; }
.r-volute { position: absolute; left: 50%; width: 62%; color: var(--k-accent); transform: translateX(-50%); }
.r-volute--top { top: -12%; transform: translateX(-50%) scaleY(-1); }
.r-volute--bottom { bottom: -12%; }
.r:not(.r--orn) .r-volute, .r:not(.r--orn) .r-crown, .r:not(.r--orn) .r-pearls { display: none; }
.r-pearls { width: min(240px, 60vw); height: 12px; background: radial-gradient(circle at 35% 35%, #ffffff 0 18%, color-mix(in srgb, var(--k-secondary) 60%, #ffffff) 40%, var(--k-secondary) 72%, transparent 74%) 0 0 / 16px 12px repeat-x; }
.r-name { margin: .2rem 0 0; font-size: clamp(2.4rem, 11vw, 4.6rem); font-weight: 600; line-height: 1.05; letter-spacing: .08em; text-transform: uppercase; }
.r-date { margin: 0; font-family: var(--k-font-body); font-size: 1.1rem; font-style: italic; }
.r-countdown > div { box-shadow: 0 0 0 1px var(--k-accent); }
.r-countdown strong { color: var(--k-primary); font-family: var(--k-font-body); }
/* Cinzel solo tiene mayúsculas: los textos largos van con la letra de texto. */
.r .k-quote { font-family: var(--k-font-body); font-size: clamp(1.2rem, 4.6vw, 1.45rem); }

/* Bienvenida, tarjetas */
.r-parents { display: grid; gap: .3rem; margin: 1.4rem 0 0; font-weight: 600; font-size: 1.1rem; }
.r-parents .k-eyebrow { margin: 0; }
.r-soft { background: color-mix(in srgb, var(--k-secondary) 28%, transparent); }
.r-card { border-top: 3px solid var(--k-accent); }
.r-card h3 { font-family: var(--k-font-body); font-size: 1.35rem; }
.r-note { color: var(--k-muted); font-style: italic; }
.r-timeline li::before { background: var(--k-accent); }

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

/* Regalos, confirmación, compartir */
.r-sobres { background: var(--k-primary); color: var(--k-on-primary); }
.r-sobres h3 { margin: 0 0 .4rem; font-family: var(--k-font-body); font-size: 1.4rem; }
.r-sobres p { margin: 0; }
.r-rsvp { text-align: left; }
.r-share { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.r-footer { display: flex; flex-direction: column; align-items: center; gap: .5rem; }
.r-hashtag { margin: 0; color: var(--k-primary); font-weight: 700; letter-spacing: .06em; }
