/* Texto y líneas sobre papel malva: acabados de una invitación impresa. */
.section:not(.hero) { padding:clamp(4rem,8vw,5.7rem) 32px; }
.section:not(.hero)::after { content:""; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:90px; height:1px; background:var(--gold); opacity:.35; }
main .section:not(.hero) .section__inner { transform:none; transition:none; will-change:auto; background:transparent; border:0; padding:0; }
.section__inner { width:min(100%,29rem); }
.section__inner>.eyebrow { color:var(--gold); font:500 .6rem var(--condensed); letter-spacing:.22em; margin-bottom:1rem; }
.section__inner>.display { max-width:18ch; color:var(--paper); font:400 clamp(2.2rem,7.5vw,3.3rem)/1.15 var(--serif); letter-spacing:-.03em; }
.section__copy,.section__inner>.message__copy,.section__inner>.dress__note,.section__inner>.prize__copy,.section__inner>.rsvp__note { color:var(--paper); font:500 1.15rem/1.75 var(--sans); }
.section__status { color:var(--muted); font:500 1rem/1.6 var(--sans); }
.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:#efe0e815; border-color:var(--line); border-radius:2px; box-shadow:none; backdrop-filter:none; }
.celebration-card h3,.gifts__panel h3,.lodging__card h3 { color:var(--paper); font-family:var(--serif); }
.celebration-card p,.gifts__panel p,.lodging__address,.lodging__note { color:var(--muted); }
.message__copy { line-height:1.85; }
.message__signature { color:var(--gold); font:500 italic 1.6rem var(--sans); letter-spacing:0; }
.section__inner .button { border-radius:2px; font-size:.65rem; }
.section__inner .button--outline { background:transparent; border-color:var(--gold); color:var(--paper); }
.section__inner .button--solid { background:var(--gold); border-color:var(--gold); color:#fbf3f8; }
.section__inner .button:hover { background:#452739; color:#fbf3f8; }
.section__inner .text-link { color:var(--gold); }
:is(.section,.gallery-dialog) :is(button,a,input):focus-visible { outline-color:var(--gold); }
.music__song,.month .month__heading { color:var(--paper); }
.music__song { font:500 1.7rem var(--serif); }
.music__artist,.music__times { color:var(--muted); font-family:var(--condensed); }
.music__play { background:var(--gold); border-color:var(--gold); color:#fbf3f8; }
.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(--gold); color:#fbf3f8; }
.month .month__caption { border-color:var(--line); color:var(--muted); }
.section__inner .details__time,.countdown b { color:var(--paper); }
.countdown span { color:var(--muted); }
.countdown b { font-family:var(--serif); font-weight:400; }
.venue__card .venue__name { color:var(--paper); font-family:var(--serif); font-weight:400; }
.venue__card .venue__address,.venue__time { color:var(--muted); }
.venue__type { font:500 .7rem var(--condensed); letter-spacing:.16em; text-transform:uppercase; color:var(--gold)!important; }
.venue__map iframe { filter:grayscale(.7); }
.weather__temperature { color:var(--paper); font-family:var(--serif); }
.weather__day { flex:0 0 100%; }
.weather__day time,.weather__condition,.weather__rain { color:var(--muted); }
.weather__day.is-event { border-color:var(--gold); }
.weather__event-label,.weather__year { color:var(--gold); font-size:.75rem; }
.weather__outlook .weather__copy { color:var(--muted); font-size:1rem; }
.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(--gold); font:500 .7rem var(--condensed); }
.itinerary__list h3 { color:var(--paper); font:500 1.5rem var(--sans); }
.itinerary__list p { color:var(--muted); font:500 1rem/1.6 var(--sans); }
.gallery__item,.gallery__placeholder { background:#c3a5b826; border-color:var(--line); border-radius:120px 120px 2px 2px; aspect-ratio:3/4; }
.gallery__item:hover { border-color:var(--gold); }
.gallery__placeholder,.video-section__empty { color:var(--gold); }
.gallery__placeholder-mark { font-family:var(--serif); font-weight:400; }
.gallery__controls button { color:var(--gold); border-color:var(--gold); }
.gallery-dialog { background:#dbc4d2; color:var(--paper); border-color:var(--gold); }
.gallery-dialog::backdrop { background:#150c18e8; }
.gallery-dialog>button { background:#6b425e; color:#fbf3f8; border-color:var(--gold); }
.dress__figures { color:var(--gold); }
.dress__figures svg { width:56px; height:56px; }
.dress__type { color:var(--paper); font:500 1.5rem var(--serif); }
.dress__palette span { border-color:var(--line); }
.lodging__list { scrollbar-color:var(--gold) transparent; }
.lodging__stars { color:var(--gold); }
.lodging__distance { color:var(--muted); }
.carousel__dots button { border-color:var(--gold); }
.carousel__dots .is-active { background:var(--gold); }
.gifts__tab { background:transparent; color:var(--paper); border-color:var(--line); border-radius:2px; }
.gifts__tab[aria-selected=true] { background:var(--gold); border-color:var(--gold); color:#fbf3f8; }
.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:transparent; color:var(--gold); border-color:var(--line); font-family:var(--sans); font-size:1rem; }
.rsvp__form>label,.rsvp__choices legend { color:var(--paper); font-family:var(--sans); font-size:1.1rem; }
.rsvp__form input,.rsvp__form select,.rsvp__form #guestName { background:#dfc7d665; color:var(--paper); border-color:var(--line); border-radius:2px; font:500 1rem var(--sans); }
.rsvp__form #guestName::placeholder { color:var(--muted); }
.rsvp__choices label { background:transparent; border-color:var(--line); color:var(--paper); border-radius:2px; }
.rsvp__choices label:has(input:checked) { background:#dfc7d655; border-color:var(--gold); }
.rsvp__choices input { accent-color:var(--gold); }
.rsvp__error { color:#5d1838; }
.section__inner .rsvp__deadline { color:var(--muted); font-family:var(--sans); font-size:1rem; }
.family-group { padding:1.4rem 0; border-bottom:1px solid var(--line); }
.family-group:last-child { border-bottom:0; }
.familygroup__title { margin:0 0 .6rem; color:var(--gold); font:500 .7rem var(--condensed); letter-spacing:.13em; text-transform:uppercase; }
.familygroup__names { margin:0; color:var(--paper); font:500 1.8rem/1.4 var(--sans); white-space:pre-line; }
.familygroup__empty { margin:0; color:var(--muted); font:500 italic 1.1rem/1.6 var(--sans); }
@media(max-width:360px) { .section:not(.hero) { padding-inline:30px; } .celebration-card { padding:1rem; } .countdown { gap:.35rem!important; } .countdown b { font-size:1.8rem; } .month { padding:.7rem; } .month__grid>span { min-height:28px; font-size:.72rem; } .month__grid>.is-event { width:28px; } .itinerary__list li { grid-template-columns:4.2rem minmax(0,1fr); gap:1.1rem; } .itinerary__list li::before { left:4.6rem; } .itinerary__list li::after { left:4.4rem; } }
