/* Flow and photographic composition for versions 2–6. Version 1 has no rules here.
   No itinerary selectors: its original DOM, CSS and animation remain in place. */
html[data-mc-version]:not([data-mc-version="1"]) #final-website {
    overflow: clip;
}
html[data-mc-version]:not([data-mc-version="1"]) #final-website > section,
html[data-mc-version]:not([data-mc-version="1"]) #final-website > .invitacion-grid {
    position: relative;
}
html[data-mc-version]:not([data-mc-version="1"]) #final-website > .invitacion-grid {
    display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr) minmax(0,.7fr);
    align-items: center; gap: clamp(18px,3vw,55px);
    width: 100%; max-width: none; padding: clamp(75px,8vw,145px) max(5vw,22px);
    background: #f8f1e8; color: #800020;
}
html[data-mc-version]:not([data-mc-version="1"]) #final-website > .invitacion-grid .foto-novios {
    min-height: clamp(320px,43vw,640px); background-size: cover;
}
html[data-mc-version]:not([data-mc-version="1"]) #final-website > .invitacion-grid .col-info {
    min-width: 0; text-align: center;
}
html[data-mc-version]:not([data-mc-version="1"]) #final-website > .invitacion-grid .col-info h2 {
    color: #800020; font-size: clamp(2.5rem,5vw,5.4rem);
}
html[data-mc-version]:not([data-mc-version="1"]) .mc-version-scene {
    position: relative; min-height: clamp(490px,72vh,820px);
    display: grid; align-items: end; isolation: isolate; overflow: hidden;
    background: #271b20;
}
html[data-mc-version]:not([data-mc-version="1"]) .mc-version-scene img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    transition: transform 1.1s ease, opacity .7s ease;
}
html[data-mc-version]:not([data-mc-version="1"]) .mc-version-scene p {
    position: relative; z-index: 1; margin: 0; padding: 12vh 8vw 8vh;
    color: #fff8ed; background: linear-gradient(transparent,rgba(25,12,20,.62));
    font: italic clamp(2rem,5vw,5.5rem)/1.1 Georgia,serif;
}
html[data-mc-version]:not([data-mc-version="1"]) .mc-version-scene:hover img { transform: scale(1.025); }

/* Emerald: successive, narrow mobile chapters and a magazine gallery. */
html[data-mc-version="2"] #final-website { background: #fbf7ef; }
html[data-mc-version="2"] .mc-version-welcome {
    display: grid; place-content: center; min-height: 320px; padding: 82px 24px;
    background: #fffaf4; text-align: center;
}
html[data-mc-version="2"] .mc-version-welcome span {
    color: #af8b56; font: 600 11px Georgia,serif; letter-spacing: .25em; text-transform: uppercase;
}
html[data-mc-version="2"] .mc-version-welcome p {
    max-width: 630px; margin: 25px auto 0; color: #800020;
    font: italic clamp(1.65rem,4vw,3.3rem)/1.25 Georgia,serif;
}
html[data-mc-version="2"] #intro.intro-section .intro-image {
    height: 100svh !important; min-height: 620px !important; background: #451524 !important;
}
html[data-mc-version="2"] #intro .intro-image img.mc-editor-photo-hero {
    object-fit: cover !important; object-position: 50% 28% !important;
    filter: saturate(.75) brightness(.67) !important;
}
html[data-mc-version="2"] #intro .intro-image .mc-editorial-card {
    top: auto !important; bottom: 9vh !important; left: 50% !important;
    transform: translateX(-50%) !important; width: min(88%,540px) !important;
    padding: 20px !important; background: none !important; border: 0 !important;
    box-shadow: none !important; backdrop-filter: none !important;
}
html[data-mc-version="2"] #final-website > .countdown-wrapper {
    width: min(100%,720px); margin: 0 auto; padding: 70px 20px;
    background: #fbf7ef;
}
html[data-mc-version="2"] #mc-photo-story {
    background: #f7efe5 !important; padding-block: 95px !important;
}
html[data-mc-version="2"] #mc-photo-story .mc-gallery-track {
    display: flex; gap: 15px; align-items: center;
}
html[data-mc-version="2"] #mc-photo-story .mc-gallery-item {
    flex: 0 0 min(72vw,360px); transform: none;
}
html[data-mc-version="2"] #mc-photo-story .mc-gallery-item:nth-child(even) { margin-top: 72px; }
html[data-mc-version="2"] #mc-photo-story .mc-gallery-item img {
    aspect-ratio: 3/4; object-fit: cover; border-radius: 2px !important;
}
html[data-mc-version="2"] #mc-parents { background: #800020 !important; }
html[data-mc-version="2"] #mc-parents * { color: #fff8ee !important; }
html[data-mc-version="2"] #mc-personal-welcome { background: #fffaf4 !important; }
html[data-mc-version="2"] #mc-rsvp-personalized { background: #f6eae6 !important; }
html[data-mc-version="2"] .mc-version-scene { min-height: 72svh; }

/* Garden: photographic hero, asymmetric arches and soft editorial layers. */
html[data-mc-version="3"] #final-website { background: #f5ede4; }
html[data-mc-version="3"] #intro .intro-image img.mc-editor-photo-hero {
    filter: saturate(.93) brightness(.76) !important; object-position: center 35% !important;
}
html[data-mc-version="3"] #intro .intro-image::after {
    background: linear-gradient(0deg,rgba(48,20,28,.54),transparent 65%) !important;
}
html[data-mc-version="3"] #final-website > .invitacion-grid {
    background: #f8f1e8; grid-template-columns: 1.1fr .85fr .7fr;
}
html[data-mc-version="3"] #final-website > .invitacion-grid .foto-novios,
html[data-mc-version="3"] .mc-version-scene img {
    border-radius: 46% 46% 4px 4px !important;
}
html[data-mc-version="3"] #final-website > .invitacion-grid .foto-novios:last-child { transform: translateY(65px); }
html[data-mc-version="3"] .mc-version-scene {
    min-height: 690px; padding: 65px 12vw; background: #eee3d8;
}
html[data-mc-version="3"] .mc-version-scene img {
    inset: 45px auto 45px 14%; width: 72%; height: calc(100% - 90px);
}
html[data-mc-version="3"] .mc-version-scene p {
    max-width: 470px; margin-left: auto; padding: 28px;
    color: #800020; background: rgba(255,250,242,.91);
}
html[data-mc-version="3"] #mc-photo-story .mc-gallery-item:nth-child(odd) { margin-top: 65px; }

/* Letter: quiet cover, intimate photo and overlapping postcards. */
html[data-mc-version="4"] #intro.intro-section .intro-image { background: #faf6f0 !important; }
html[data-mc-version="4"] #intro .intro-image img.mc-editor-photo-hero {
    width: 31% !important; height: 53% !important; inset: 24% 8% auto auto !important;
    object-fit: cover !important; box-shadow: 22px 25px 0 #eee3d6;
}
html[data-mc-version="4"] #intro .intro-image .mc-editorial-card { width: 44% !important; }
html[data-mc-version="4"] #mc-personal-welcome { padding-block: clamp(90px,13vw,185px) !important; }
html[data-mc-version="4"] #mc-personal-welcome .mc-personal-letter { max-width: 760px; }
html[data-mc-version="4"] .mc-version-scene {
    min-height: 75vh; margin: 5vw auto; width: min(86%,1000px); background: #fffdfa;
    padding: 25px; box-shadow: 0 25px 60px rgba(64,39,36,.12);
}
html[data-mc-version="4"] .mc-version-scene img {
    inset: 24px; width: calc(100% - 48px); height: calc(100% - 82px); filter: sepia(.1);
}
html[data-mc-version="4"] .mc-version-scene p {
    align-self: end; padding: 10px 0 0; color: #800020; background: none;
    font: italic 1.4rem Georgia,serif; text-align: center;
}
html[data-mc-version="4"] #final-website > .invitacion-grid { background: #faf6f0; }
html[data-mc-version="4"] #mc-photo-story .mc-gallery-item:nth-child(odd) { transform: rotate(-2deg); }
html[data-mc-version="4"] #mc-photo-story .mc-gallery-item:nth-child(even) { transform: rotate(2deg) translateY(26px); }

/* Cinema: full bleed scenes and a bright invitation card between dark chapters. */
html[data-mc-version="5"] #final-website { background: #1b1219; }
html[data-mc-version="5"] .mc-version-scene { min-height: 92svh; }
html[data-mc-version="5"] .mc-version-scene img { filter: saturate(.55) contrast(1.1) brightness(.67); }
html[data-mc-version="5"] .mc-version-scene p {
    text-align: center; text-transform: uppercase; letter-spacing: .08em;
}
html[data-mc-version="5"] #mc-rsvp-personalized .mc-rsvp-card,
html[data-mc-version="5"] #mc-entry-pass .mc-entry-pass-card {
    background: #f5eee4 !important; color: #351a24 !important;
    box-shadow: 0 0 70px rgba(245,224,188,.18) !important;
}
html[data-mc-version="5"] #mc-rsvp-personalized .mc-rsvp-card *,
html[data-mc-version="5"] #mc-entry-pass .mc-entry-pass-card * { color: #351a24 !important; }
html[data-mc-version="5"] #final-website > .invitacion-grid { background: #241820; }
html[data-mc-version="5"] #final-website > .invitacion-grid * { color: #fff7ee !important; }
html[data-mc-version="5"] #mc-photo-story .mc-gallery-item {
    flex-basis: min(88vw,900px);
}
html[data-mc-version="5"] #mc-photo-story .mc-gallery-item img { aspect-ratio: 16/9; object-fit: cover; }

/* Sierra: wide landscape frames and restrained earth tones. */
html[data-mc-version="6"] #final-website { background: #eee8db; }
html[data-mc-version="6"] #intro .intro-image img.mc-editor-photo-hero {
    object-position: 50% 58% !important;
}
html[data-mc-version="6"] #final-website > .invitacion-grid {
    background: #eee8db; grid-template-columns: 1fr 1fr 1fr;
}
html[data-mc-version="6"] #final-website > .invitacion-grid .foto-novios {
    border-radius: 2px !important; min-height: 370px;
}
html[data-mc-version="6"] .mc-version-scene {
    min-height: 75vh; background: #9c9c84;
}
html[data-mc-version="6"] .mc-version-scene img { object-position: center 60%; }
html[data-mc-version="6"] .mc-version-scene p {
    max-width: 740px; color: #fff9ec; text-shadow: 0 2px 18px #342c26;
}
html[data-mc-version="6"] #mc-photo-story .mc-gallery-item:nth-child(even) { margin-top: 35px; }
html[data-mc-version="6"] #mc-photo-story .mc-gallery-item img {
    aspect-ratio: 4/3; object-fit: cover; border-radius: 2px;
}

@media (max-width: 767px) {
    html[data-mc-version]:not([data-mc-version="1"]) #final-website > .invitacion-grid {
        display: grid; grid-template-columns: 1fr 1fr; gap: 17px;
        padding: 65px 18px;
    }
    html[data-mc-version]:not([data-mc-version="1"]) #final-website > .invitacion-grid .col-info {
        grid-column: 1 / -1; grid-row: 1; padding: 0 0 20px;
    }
    html[data-mc-version]:not([data-mc-version="1"]) #final-website > .invitacion-grid .col-info,
    html[data-mc-version]:not([data-mc-version="1"]) #final-website > .invitacion-grid .col-info * {
        max-width: 100%; white-space: normal !important; overflow-wrap: anywhere;
    }
    html[data-mc-version]:not([data-mc-version="1"]) #final-website > .invitacion-grid .col-info p {
        font-size: 1.05rem !important; line-height: 1.6 !important;
    }
    html[data-mc-version]:not([data-mc-version="1"]) #final-website > .invitacion-grid .foto-novios {
        min-height: 255px; width: 100%; margin: 0; background-position: center;
    }
    html[data-mc-version="3"] #final-website > .invitacion-grid .foto-novios:last-child { transform: translateY(35px); }
    html[data-mc-version="4"] #intro.intro-section .intro-image,
    html[data-mc-version="6"] #intro.intro-section .intro-image {
        display: flex !important; flex-direction: column !important;
        height: auto !important; min-height: 0 !important; padding: 0 !important;
    }
    html[data-mc-version="4"] #intro .intro-image img.mc-editor-photo-hero {
        position: relative !important; inset: auto !important; align-self: center;
        width: 56% !important; height: 29svh !important; margin: 38px auto 16px;
        object-fit: cover !important; box-shadow: 12px 13px 0 #eee3d6;
    }
    html[data-mc-version="4"] #intro .intro-image .mc-editorial-card {
        position: relative !important; inset: auto !important; width: 100% !important;
        transform: none !important; text-align: center !important; padding: 34px 22px !important;
    }
    html[data-mc-version="6"] #intro .intro-image img.mc-editor-photo-hero {
        position: relative !important; inset: auto !important; display: block !important;
        width: 100% !important; height: 53svh !important; object-fit: cover !important;
        object-position: center 54% !important;
    }
    html[data-mc-version="6"] #intro .intro-image .mc-editorial-card {
        position: relative !important; inset: auto !important; width: 100% !important;
        transform: none !important; margin: 0 !important;
    }
    html[data-mc-version="4"] .mc-version-scene {
        min-height: 510px; width: 91%; margin-block: 50px; padding: 16px;
    }
    html[data-mc-version="4"] .mc-version-scene img {
        inset: 16px; width: calc(100% - 32px); height: calc(100% - 73px);
    }
    html[data-mc-version="3"] .mc-version-scene { min-height: 560px; padding: 20px; }
    html[data-mc-version="3"] .mc-version-scene img {
        inset: 35px auto 55px 8%; width: 82%; height: calc(100% - 90px);
    }
    html[data-mc-version="3"] .mc-version-scene p { max-width: 80%; font-size: 1.9rem; }
    html[data-mc-version="2"] #intro .intro-image .mc-editorial-card {
        bottom: 10vh !important; width: 94% !important;
    }
    html[data-mc-version="2"] #mc-photo-story .mc-gallery-item { flex-basis: 77vw; }
    html[data-mc-version="5"] #mc-photo-story .mc-gallery-item { flex-basis: 85vw; }
}
@media (prefers-reduced-motion: reduce) {
    html[data-mc-version]:not([data-mc-version="1"]) .mc-version-scene img { transition: none; }
}

/* One real sponsors section, placed after the parents by the flow orchestrator. */
#mc-sponsors { display: none; }
html[data-mc-version]:not([data-mc-version="1"]) #mc-sponsors {
    display: block;
    padding: clamp(84px, 10vw, 150px) 22px;
    text-align: center;
}
#mc-sponsors .mc-sponsors-inner { max-width: 880px; margin: auto; }
#mc-sponsors h2 {
    margin: 0;
    font: 400 clamp(3.2rem, 6vw, 6rem)/1 var(--fuente-titulos, Georgia, serif);
}
#mc-sponsors .mc-sponsors-names {
    display: flex; flex-direction: column; align-items: center;
    margin: clamp(30px, 4vw, 55px) auto 0;
    font: 400 clamp(2rem, 4vw, 3.6rem)/1.22 Georgia, serif;
}
#mc-sponsors .mc-sponsors-and {
    display: block; margin: 8px 0;
    font: italic clamp(1.8rem, 3vw, 2.8rem)/1 Georgia, serif;
}
#mc-sponsors .mc-sponsors-subtitle {
    margin: 32px 0 0;
    font: 500 .72rem/1.6 'Cinzel', Georgia, serif;
    letter-spacing: .26em; text-transform: uppercase;
}

html[data-mc-version="2"] #mc-sponsors {
    background: #fbf6ed; color: #800020;
}
html[data-mc-version="2"] #mc-sponsors .mc-sponsors-inner {
    max-width: 600px; padding: 0 0 28px;
    border-bottom: 1px solid rgba(172, 136, 81, .45);
}
html[data-mc-version="2"] #mc-sponsors h2 { letter-spacing: -.025em; }
html[data-mc-version="2"] #mc-sponsors .mc-sponsors-and,
html[data-mc-version="2"] #mc-sponsors .mc-sponsors-subtitle { color: #a88755; }

html[data-mc-version="3"] #mc-sponsors {
    background: #f3e9df; color: #800020;
}
html[data-mc-version="3"] #mc-sponsors .mc-sponsors-inner {
    position: relative; max-width: 690px;
    padding: clamp(72px, 9vw, 125px) 26px clamp(50px, 6vw, 85px);
    border: 1px solid rgba(128, 0, 32, .24);
    border-radius: 50% 50% 5px 5px / 20% 20% 5px 5px;
    background: #fffaf3;
    box-shadow: 0 22px 55px rgba(88, 48, 42, .075);
}
html[data-mc-version="3"] #mc-sponsors .mc-sponsors-inner::before,
html[data-mc-version="3"] #mc-sponsors .mc-sponsors-inner::after {
    content: ''; position: absolute; width: 56px; height: 82px;
    border-left: 1px solid rgba(104, 119, 80, .32);
    border-radius: 50%; pointer-events: none;
}
html[data-mc-version="3"] #mc-sponsors .mc-sponsors-inner::before {
    left: 7%; bottom: 8%; transform: rotate(-30deg);
}
html[data-mc-version="3"] #mc-sponsors .mc-sponsors-inner::after {
    right: 7%; top: 22%; transform: rotate(150deg);
}
html[data-mc-version="3"] #mc-sponsors .mc-sponsors-and,
html[data-mc-version="3"] #mc-sponsors .mc-sponsors-subtitle { color: #827357; }

html[data-mc-version="4"] #mc-sponsors {
    background: #faf6f0; color: #800020;
    padding-block: clamp(110px, 13vw, 185px);
}
html[data-mc-version="4"] #mc-sponsors .mc-sponsors-inner {
    max-width: 690px; padding: clamp(48px, 7vw, 90px) 20px;
    border-top: 1px solid #c9aa80; border-bottom: 1px solid #c9aa80;
}
html[data-mc-version="4"] #mc-sponsors h2 {
    font-size: clamp(3rem, 5vw, 5.2rem);
}
html[data-mc-version="4"] #mc-sponsors .mc-sponsors-names { font-style: italic; }
html[data-mc-version="4"] #mc-sponsors .mc-sponsors-and,
html[data-mc-version="4"] #mc-sponsors .mc-sponsors-subtitle { color: #ad8a61; }

html[data-mc-version="5"] #mc-sponsors {
    background: #1b1219; color: #f7eee3;
    padding-block: clamp(110px, 12vw, 175px);
}
html[data-mc-version="5"] #mc-sponsors .mc-sponsors-inner {
    max-width: 790px; padding-top: clamp(42px, 6vw, 78px);
    border-top: 1px solid rgba(198, 162, 111, .7);
}
html[data-mc-version="5"] #mc-sponsors h2 { color: #fff9ed; }
html[data-mc-version="5"] #mc-sponsors .mc-sponsors-names {
    letter-spacing: .045em; text-shadow: 0 5px 25px rgba(255, 234, 201, .08);
}
html[data-mc-version="5"] #mc-sponsors .mc-sponsors-and,
html[data-mc-version="5"] #mc-sponsors .mc-sponsors-subtitle { color: #d1ad78; }

html[data-mc-version="6"] #mc-sponsors {
    background: #eee8db; color: #800020;
}
html[data-mc-version="6"] #mc-sponsors .mc-sponsors-inner {
    max-width: 740px;
    padding: clamp(42px, 6vw, 80px) clamp(24px, 6vw, 80px);
    border-left: 1px solid rgba(91, 106, 73, .48);
    border-right: 1px solid rgba(91, 106, 73, .48);
    background: #f8f4e9;
}
html[data-mc-version="6"] #mc-sponsors h2 { color: #800020; }
html[data-mc-version="6"] #mc-sponsors .mc-sponsors-and,
html[data-mc-version="6"] #mc-sponsors .mc-sponsors-subtitle { color: #667451; }

@media (max-width: 767px) {
    html[data-mc-version]:not([data-mc-version="1"]) #mc-sponsors {
        padding: 78px 18px;
    }
    #mc-sponsors .mc-sponsors-names { font-size: clamp(1.85rem, 8vw, 2.5rem); }
    html[data-mc-version="3"] #mc-sponsors .mc-sponsors-inner {
        border-radius: 48% 48% 4px 4px / 12% 12% 4px 4px;
    }
}
