/* Local visual layer. Intentionally contains no selectors for the itinerary. */
#final-website { --mc-paper: #f8f4ee; --mc-cream: #fffcf7; --mc-rose: #8b3046; --mc-brass: #a98757; --mc-text: #49383d; }

/* The portrait owns its own panel, so the names never cross either face. */
#intro.intro-section .intro-image {
    position: relative !important;
    display: block !important;
    height: min(92svh, 860px) !important;
    min-height: 660px !important;
    background: var(--mc-paper) !important;
    overflow: hidden;
}
#intro .intro-image img.mc-editor-photo-hero {
    position: absolute !important;
    top: 0 !important; right: 0 !important; bottom: auto !important; left: auto !important;
    display: block !important;
    width: 57% !important; height: 100% !important;
    max-width: none !important;
    object-fit: cover !important; object-position: 51% 47% !important;
    filter: grayscale(1) contrast(1.025) !important;
}
#intro .intro-image .mc-editorial-card {
    position: absolute !important;
    top: 49% !important; left: clamp(32px, 5.3vw, 96px) !important;
    width: min(35%, 480px) !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    box-shadow: none !important;
    z-index: 2;
}
#intro .intro-image .mc-editorial-card p { color: var(--mc-brass) !important; letter-spacing: .28em !important; }
#intro .intro-image .circulo-nombre { font-size: clamp(4.2rem, 6.3vw, 7.6rem) !important; line-height: .94 !important; }
#intro .intro-image .circulo-fecha { color: var(--mc-rose) !important; max-width: 340px; }
#intro .intro-image .scroll-indicator {
    position: absolute !important; z-index: 2;
    left: clamp(32px, 5.3vw, 96px) !important;
    bottom: 36px !important;
    width: auto !important; color: var(--mc-rose) !important;
    background: transparent !important; box-shadow: none !important;
}

/* Personal details and the real RSVP controls stay visible and easy to use. */
#final-website > #mc-personal-welcome { padding: clamp(72px, 9vw, 128px) 18px !important; }
#mc-personal-welcome .mc-personal-letter {
    max-width: 760px; padding: clamp(52px, 6vw, 78px) clamp(26px, 7vw, 90px);
    background: var(--mc-cream); border-color: rgba(169,135,87,.4);
    box-shadow: 0 22px 65px rgba(75,37,46,.075);
}
#mc-personal-welcome .mc-personal-name { color: var(--mc-rose) !important; }
#mc-personal-welcome .mc-personal-message { max-width: 640px; margin-inline: auto; }
#final-website > #mc-rsvp-personalized { padding: clamp(72px, 9vw, 124px) 18px !important; }
#mc-rsvp-personalized .mc-rsvp-card { max-width: 760px; background: var(--mc-cream); }
#mc-rsvp-personalized .mc-rsvp-name { color: var(--mc-rose) !important; }
#mc-rsvp-personalized .mc-rsvp-button,
#mc-entry-pass .mc-entry-qr-open { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; }
#mc-rsvp-personalized .mc-rsvp-button:active,
#mc-entry-pass .mc-entry-qr-open:active { transform: scale(.985); }
#mc-entry-pass .mc-entry-pass-card { background: var(--mc-cream); }

/* Editorial photo strip: generous type, visible controls, and quiet motion. */
#mc-photo-story { background: #f3eee7; padding-block: clamp(76px, 9vw, 124px); }
#mc-photo-story .mc-gallery-heading { max-width: 1220px; margin-bottom: 36px; }
#mc-photo-story h2 { color: var(--mc-rose); }
#mc-photo-story .mc-gallery-controls button { width: 48px; height: 48px; background: var(--mc-cream); }
#mc-photo-story .mc-gallery-track { gap: 18px; scroll-padding-inline: 24px; }
#mc-photo-story .mc-gallery-item { position: relative; transition: opacity .45s ease, transform .45s ease; }
#mc-photo-story .mc-gallery-item:not(.mc-current-photo) { opacity: .7; transform: scale(.975); }
#mc-photo-story .mc-gallery-item img { border-radius: 2px; box-shadow: 0 14px 40px rgba(53,34,35,.12); }
#mc-photo-story .mc-gallery-status { margin-top: 22px; color: #795b58; font: .73rem 'Cinzel', Georgia, serif; letter-spacing: .16em; text-align: center; }

/* Families are a single, calm pause before the event details. */
#mc-parents { padding: clamp(82px, 10vw, 148px) 22px; background: var(--mc-cream); text-align: center; }
#mc-parents .mc-parents-inner { max-width: 960px; margin: auto; }
#mc-parents .mc-parents-kicker { color: var(--mc-brass); font: .72rem 'Cinzel', Georgia, serif; letter-spacing: .3em; text-transform: uppercase; }
#mc-parents h2 { margin: 17px 0 20px; color: var(--mc-rose); font: 400 clamp(3.2rem, 6vw, 5.8rem)/1 var(--fuente-titulos, Georgia, serif); }
#mc-parents .mc-parents-intro { max-width: 500px; margin: 0 auto 54px; color: var(--mc-text); font: 1.15rem/1.7 Georgia, serif; }
#mc-parents .mc-parents-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(22px, 5vw, 76px); }
#mc-parents .mc-parent-pair { position: relative; padding: 36px 22px 40px; border-top: 1px solid rgba(169,135,87,.6); border-bottom: 1px solid rgba(169,135,87,.3); }
#mc-parents h3 { margin: 0 0 24px; color: #93744f; font: .75rem 'Cinzel', Georgia, serif; letter-spacing: .22em; text-transform: uppercase; }
#mc-parents .mc-parent-name { display: block; color: var(--mc-text); font: 400 clamp(1.55rem, 2.5vw, 2.15rem)/1.4 Georgia, serif; }
#mc-parents .mc-parent-name + .mc-parent-name { margin-top: 8px; }

html.mc-strong-motion #mc-parents.mc-strong-reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s ease; }
html.mc-strong-motion #mc-parents.mc-strong-visible { opacity: 1; transform: none; }

@media (max-width: 800px) {
    #intro.intro-section .intro-image { display: flex !important; flex-direction: column; height: auto !important; min-height: 0 !important; padding: 0 !important; }
    #intro .intro-image img.mc-editor-photo-hero {
        position: relative !important; inset: auto !important; width: 100% !important; height: auto !important;
        aspect-ratio: 3 / 2; object-fit: contain !important; object-position: center !important;
    }
    #intro .intro-image .mc-editorial-card {
        position: relative !important; inset: auto !important; width: 100% !important;
        padding: clamp(36px, 7vw, 62px) 22px 10px !important;
        transform: none !important; text-align: center !important;
        background: var(--mc-paper) !important;
    }
    #intro .intro-image .circulo-fecha { margin-inline: auto !important; }
    #intro .intro-image .scroll-indicator { position: relative !important; inset: auto !important; align-self: center; margin: 5px auto 35px !important; }
}
@media (max-width: 600px) {
    #intro .intro-image .circulo-nombre { font-size: clamp(3.8rem, 15vw, 5.3rem) !important; }
    #intro .intro-image .mc-editorial-card p { font-size: .7rem !important; }
    #mc-personal-welcome .mc-personal-letter { padding: 51px 25px; }
    #mc-rsvp-personalized .mc-rsvp-card { padding: 42px 22px; }
    #mc-rsvp-personalized .mc-rsvp-actions { gap: 12px; }
    #mc-rsvp-personalized .mc-rsvp-button { width: 100%; }
    #mc-photo-story .mc-gallery-heading { display: block; padding-inline: 22px; }
    #mc-photo-story .mc-gallery-controls { justify-content: flex-end; margin-top: 20px; }
    #mc-photo-story .mc-gallery-item { flex-basis: min(80vw, 380px); }
    #mc-parents .mc-parents-grid { grid-template-columns: 1fr; gap: 26px; }
    #mc-parents .mc-parents-intro { margin-bottom: 42px; }
}
@media (prefers-reduced-motion: reduce) {
    #mc-photo-story .mc-gallery-item,
    html.mc-strong-motion #mc-parents.mc-strong-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}
