/* Tarjetas gamer con contraste estable sobre los circuitos. */
.section:not(.hero) { padding: clamp(4.8rem, 8vw, 6.2rem) 1.5rem; }
.section:not(.hero)::after { content: ""; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 44px; height: 1px; background: var(--gold); opacity: .5; }
main .section:not(.hero) .section__inner { transform: none; transition: none; will-change: auto; padding: clamp(1.5rem, 5vw, 2.5rem); border: 1px solid var(--line); border-radius: 24px; background: #081a2df2; }
.section__inner > .eyebrow { color: var(--gold); }
.section__inner > .display { max-width: 18ch; color: var(--paper); font: 700 clamp(1.7rem, 5.4vw, 2.7rem)/1.15 var(--serif); letter-spacing: .015em; }
.section__copy, .section__inner > .message__copy, .section__inner > .dress__note,
.section__inner > .prize__copy, .section__inner > .rsvp__note,
.details__note, .weather__copy, .video-section__copy, .lodging__copy, .gifts__copy,
.venue__address, .empty-note, .gallery__note { color: var(--champagne); }
.section__status { color: var(--muted); }
.section__mark { color: var(--gold); }
.section__icon { stroke: var(--gold); color: var(--gold); }
.celebration-card, .celebration-player, .countdown div, .weather__day,
.lodging__card, .gifts__panel, .video-section__frame, .gallery__placeholder {
  background: #10283e; border-color: var(--line); box-shadow: none; backdrop-filter: none;
}
.celebration-card h3, .gifts__panel h3, .lodging__card h3 { color: var(--paper); }
.celebration-card p, .gifts__panel p, .lodging__address, .lodging__note { color: var(--champagne); }
.message__copy { line-height: 1.95; }
.message__signature { color: var(--gold); font: 600 1rem var(--sans); letter-spacing: 0; }
.section__inner .button--outline { background: #0a2031; border-color: var(--gold); color: var(--paper); }
.section__inner .button--solid { background: var(--accent); border-color: var(--accent); color: #08141f; }
.section__inner .button:hover { background: var(--gold); color: #08141f; }
.section__inner .text-link { color: var(--accent); }
:is(.section, .gallery-dialog) :is(button, a, input):focus-visible { outline-color: var(--accent); }
.music__song, .month .month__heading { color: var(--paper); }
.music__artist, .music__times { color: var(--muted); }
.music__play { background: var(--gold); border-color: var(--accent); color: #08141f; }
.music__track input { accent-color: var(--gold); }
.month__grid > span { color: var(--paper); }
.month__grid > .month__weekday { color: var(--muted); }
.month__grid > .is-event { background: var(--accent); color: #08141f; }
.month .month__caption { border-color: var(--line); color: var(--champagne); }
.section__inner .details__time, .countdown b { color: var(--accent); }
.countdown span { color: var(--muted); }
.venue__card .venue__name { color: var(--paper); }
.venue__card .venue__address, .venue__time { color: var(--champagne); }
.venue__map iframe { filter: grayscale(.5) saturate(.65); }
.weather__temperature { color: var(--accent); }
.weather__day { flex: 0 0 100%; }
.weather__day time, .weather__condition, .weather__rain { color: var(--champagne); }
.weather__day.is-event { border-color: var(--gold); }
.weather__event-label, .weather__year { color: var(--gold); font-size: .66rem; }
.weather__icon { font-size: 1.7rem; }
.itinerary__list li::before { background: var(--line); }
.itinerary__list li::after { background: var(--gold); }
.itinerary__list time { color: var(--accent); }
.itinerary__list h3 { color: var(--paper); }
.itinerary__list p { color: var(--champagne); }
.gallery__item, .gallery__placeholder { background: #10283e; border-color: var(--line); }
.gallery__item:hover { border-color: var(--gold); }
.gallery__placeholder, .video-section__empty { color: var(--gold); }
.gallery-dialog { background: #091b2b; color: var(--paper); border-color: var(--gold); }
.gallery-dialog::backdrop { background: #030f1deb; }
.gallery-dialog > button { background: #193049; color: var(--accent); border-color: var(--gold); }
.dress__figures { color: var(--gold); }
.dress__figures svg { width: 64px; height: 64px; }
.dress__type { color: var(--paper); }
.dress__palette span { border-color: var(--line); }
.lodging__list { scrollbar-color: var(--gold) transparent; }
.lodging__stars { color: var(--gold); }
.lodging__distance { color: var(--champagne); }
.carousel__dots button { border-color: var(--gold); }
.carousel__dots .is-active { background: var(--gold); }
.gifts__tab { background: #10283e; color: var(--champagne); border-color: var(--line); }
.gifts__tab[aria-selected=true] { background: var(--gold); border-color: var(--gold); color: #08141f; }
.gifts__account div { border-color: var(--line); }
.gifts__account dt { color: var(--muted); }
.gifts__account dd, .gifts__event-number { color: var(--paper); }
.prize__criteria span { background: #182e4c; color: var(--champagne); border-color: var(--line); }
.rsvp__form > label, .rsvp__choices legend { color: var(--champagne); }
.rsvp__form input, .rsvp__form select, .rsvp__form #guestName { background: #08141f; color: var(--paper); border-color: var(--line); }
.rsvp__form #guestName::placeholder { color: var(--muted); }
.rsvp__choices label { background: #10283e; border-color: var(--line); color: var(--champagne); }
.rsvp__choices label:has(input:checked) { background: #143848; border-color: var(--gold); }
.rsvp__choices input { accent-color: var(--gold); }
.rsvp__error { color: #ffbeb1; }
.section__inner .rsvp__deadline { color: var(--muted); }
