/* Apariencia de Isabella: fotografía completa, datos debajo y flores detrás. */
#hero-section{height:auto;overflow:hidden}
#hero-section .hero-photograph{background:var(--canvas-rose)}
#hero-section .cover-photo img{object-fit:contain}
#hero-section .hero-details{text-shadow:none}
#hero-section #xv-hero-title,#hero-section #xv-hero-name,#hero-section #xv-hero-date-block{color:var(--color-text);text-shadow:none}
.envelope-personal{left:0;pointer-events:none}
#event-info-section{isolation:isolate;padding-bottom:100px}
#event-info-section .section-content{position:relative;z-index:1;max-width:1050px}
#event-info-section .section-content>.space-y-8>div{isolation:isolate;padding:14px}
#event-info-section .location-card-flower{z-index:0;pointer-events:none;top:-18px;width:clamp(100px,20vw,180px)}
#event-info-section .location-horizontal-ornament{z-index:0;pointer-events:none;bottom:-24px;max-width:700px}
#event-info-section #ceremony-container,#event-info-section #reception-container{position:relative;z-index:1;background:var(--canvas-rose)!important;border:1px solid #c9a95955;border-radius:18px;min-height:240px;overflow:hidden}
#ceremony-container>div,#reception-container>div{position:relative;z-index:1;width:100%;padding:32px 24px}
#event-info-section #ceremony-map-link,#event-info-section #reception-map-link{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:158px;padding:12px 24px;isolation:isolate;background:#a34b5e;color:#fff;box-shadow:0 3px 10px #75394320}
#event-info-section a:focus-visible{outline:3px solid #753943;outline-offset:4px}
#dress-code .section-ornament{z-index:0;pointer-events:none}
#dress-code .section-content{position:relative;z-index:1}
#story-section{height:auto!important;min-height:650px;display:flex;align-items:center;justify-content:center}
#spotify-song{position:relative;z-index:20;width:100%;max-width:600px;margin:40px auto;padding:20px}
#play-pause-btn,#audio-slider,#current-time,#duration-time,#audio-toggle,#story-section>div.relative{display:none!important}
#admin-link svg{width:20px;display:inline-block}
#digital-pass,section{scroll-margin-top:70px}
@media(max-width:600px){
 .timeline-row{grid-template-columns:40px 58px 1fr;gap:8px}
 #event-info-section{padding-top:64px;padding-bottom:80px}
 #event-info-section .section-content>.space-y-8>div{padding:8px}
 #ceremony-container>div,#reception-container>div{padding:30px 18px}
 #event-info-section .location-card-flower{width:110px;top:-12px}
 #event-info-section .location-horizontal-ornament{width:100%;max-width:390px;bottom:-12px}
}
/* Dirección final: marfil, rosa profundo y acentos dorados discretos. */
:root{--canvas-rose:#fbf7f4;--color-primary:#894b59;--color-text:#714652;--color-secondary:#9e824c}
body{background:#fbf7f4;color:#493b3c;padding-bottom:70px}
.premium-nav{position:sticky;top:0;z-index:60;background:#fbf7f4f5;border-bottom:1px solid #a88b5526;display:flex;align-items:center;justify-content:space-between;padding:12px 5%;backdrop-filter:blur(14px);color:#714652}
.premium-nav .nav-signature{font:30px 'Great Vibes',cursive}.nav-signature span{font:11px Montserrat,sans-serif;letter-spacing:2px;margin-left:8px}.premium-nav>div{display:flex;gap:24px;align-items:center;font-size:12px}.nav-confirm{border:1px solid #894b5940;border-radius:30px;padding:9px 20px}
main{padding-top:0!important}.premium-hero{display:grid;grid-template-columns:1fr!important;max-width:1440px;margin:auto;position:relative;background:#fbf7f4}
#hero-section .hero-photograph{aspect-ratio:3/2;width:100%;max-height:690px;background:#eee8e3}
#hero-section .hero-photograph .cover-photo,#hero-section .hero-photograph img{width:100%;height:100%;object-fit:contain;display:block}
#hero-section .hero-details{padding:48px 24px 36px!important;text-align:center;max-width:750px;margin:auto}
.eyebrow{font:10px Montserrat,sans-serif;letter-spacing:2.5px;color:#806d5c;margin-bottom:16px}
.occasion{font:25px 'Cormorant Garamond',serif;color:#714652}
#hero-section #xv-hero-name{font:clamp(70px,8vw,108px) 'Great Vibes',cursive;line-height:1.1;transform:none;margin:8px 0 16px;color:#714652!important}
.gold-rule{width:48px;height:1px;background:#ad915e;margin:20px auto}.hero-date{font:25px 'Cormorant Garamond',serif}.hero-time{font-size:12px;line-height:1.8;margin-top:10px}.hero-invitation{font:20px/1.5 'Cormorant Garamond',serif;margin:22px auto;color:#6d6260}
.primary-action,.pink-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;background:#894b59;color:white;padding:13px 24px;border-radius:28px;font-size:13px;box-shadow:none}
.secondary-action{display:block;width:fit-content;margin:18px auto;color:#714652;font-size:12px;border-bottom:1px solid #b7a187;padding:6px 0;cursor:pointer}
#countdown{display:flex;justify-content:center;gap:20px!important;margin:30px auto 0!important}
#countdown>div{padding:0 14px!important;background:none!important;border:0!important;border-right:1px solid #a88b5533!important;border-radius:0!important;box-shadow:none!important;min-width:0!important}
#countdown>div:last-child{border:0!important}#countdown p{color:#714652!important;text-shadow:none!important}#countdown>div p:first-child{font:30px 'Cormorant Garamond',serif!important}#countdown>div p:last-child{font-size:9px!important;letter-spacing:1px}
main>section:not(#hero-section){padding-top:56px!important;padding-bottom:56px!important}
#personal-welcome{padding-top:24px!important;padding-bottom:24px!important}#personal-welcome h2{font-size:34px}#personal-welcome a{display:none}
#rsvp-section{border-top:1px solid #a88b5526;border-bottom:1px solid #a88b5526;background:#f2e9e5!important}
#rsvp-section>.section-content{max-width:740px}.rsvp-card{border:1px solid #c5aaa14d;background:#fffcfa;border-radius:14px;padding:24px}
#rsvp-section .flex.flex-col.items-center.mt-10{margin-top:24px!important}#rsvp-section .flex.flex-col.items-center.mt-10>p{display:none}#rsvp-section button[onclick="openSaveDateModal()"]{width:auto!important;height:auto!important;border-radius:24px!important;padding:11px 24px;animation:none!important;box-shadow:none!important}#rsvp-section button[onclick="openSaveDateModal()"] span{font:0/1 Montserrat!important}#rsvp-section button[onclick="openSaveDateModal()"] span:after{content:'Agregar a mi calendario';font-size:12px}
#event-info-section .section-content>.space-y-8{display:grid;grid-template-columns:1fr 1fr;gap:24px}#event-info-section .space-y-8>*{margin:0!important}
#event-info-section .location-horizontal-ornament{opacity:.18}#event-info-section .location-card-flower{opacity:.6;width:110px}#event-info-section #ceremony-container,#event-info-section #reception-container{min-height:255px;border-radius:12px;box-shadow:none!important;background:#fffaf7!important}
#parents-section .parents-background{opacity:.23}#parents-section .section-ornament{display:none}#parents-section .my-8{margin-top:18px;margin-bottom:18px}#parents-section h3{font-size:38px}#parents-section p{font-weight:400}#parents-section #parents-description{margin:20px auto 0;max-width:520px}#chambelan-section,#chambelan-divider-bottom{display:none!important}
#itinerary-section .section-ornament,#gift-registry-section .section-ornament,#dress-code .section-ornament,#rsvp-section .section-ornament,#contact-section .section-ornament,#hashtag-section .section-ornament{display:none}
#itinerary-section .timeline{max-width:600px}.timeline-row{padding:18px 0;grid-template-columns:44px 70px 1fr}
#dress-code #dress-men-card,#dress-code #dress-women-card{box-shadow:none;border:1px solid #a88b5526;border-radius:12px;background:transparent!important;padding:24px}#dress-code .w-24{width:52px;height:52px}#dress-code svg{width:52px;height:52px}#dress-code h3{font-size:25px}#dress-code p{font-size:14px}
#gallery-section{max-width:1100px;margin:auto;padding:48px 24px!important}#gallery-section .gallery-floral-frame{display:none}#gallery-section>.section-content{padding:0}#gallery-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;padding:0!important}#gallery-grid>div{grid-column:auto!important;aspect-ratio:2/3;min-height:0!important;border-radius:3px;overflow:hidden}#gallery-grid img{width:100%;height:100%!important;object-fit:cover!important}#gallery-grid:not(.expanded)>div:nth-child(n+4){display:none}
#gallery-section h2{font:48px 'Cormorant Garamond',serif;margin-bottom:24px}
#story-section.music-panel{display:grid!important;grid-template-columns:1fr 1.3fr;gap:30px;align-items:center;min-height:0!important;height:auto!important;clip-path:none!important;max-width:1000px;margin:0 auto;padding:40px 24px!important;border-top:1px solid #a88b5526;border-bottom:1px solid #a88b5526;background:#fbf7f4!important}
.music-heading h2{font:40px 'Cormorant Garamond',serif;margin-bottom:8px}.music-heading>p:last-child{font-size:12px;color:#716563}#spotify-song{padding:0!important;margin:0!important;max-width:none;width:100%;z-index:auto;position:static}#spotify-song iframe{display:block}#spotify-song a{margin-top:12px;font-size:12px;min-height:38px;padding:8px 18px;background:transparent;color:#714652;border:1px solid #b89b9066}
#hashtag-section{padding:32px 20px!important}#hashtag-section h2{font-size:30px}#hashtag-section p{font-size:12px;max-width:500px;line-height:1.8}#hashtag-section i{display:none}
#contact-section{max-width:800px;margin:auto;padding-left:24px;padding-right:24px}#contact-section>.section-content{padding:0}#contact-section h2{font:40px 'Cormorant Garamond',serif}#contact-section p{font-size:14px;line-height:1.8}#contact-section .memory-headline{font:32px 'Cormorant Garamond',serif}.memories-disclosure{margin:32px auto!important;padding:20px!important;border:1px solid #a88b5533!important;background:transparent!important;border-radius:6px!important}.memories-disclosure>summary{display:flex;justify-content:space-between;font-size:15px}.memories-disclosure h3{font-size:30px}#contact-section details{padding:16px 0;background:transparent;border-bottom:1px solid #a88b5526;border-radius:0;font-size:13px}
#admin-link{position:static!important;display:flex!important;justify-content:center;width:fit-content;margin:24px auto!important;padding:8px 14px!important;min-height:0;color:#806d66!important;background:transparent!important;border:0;border-radius:0;box-shadow:none;font-size:10px!important}#admin-link svg{width:14px;height:14px;stroke:currentColor}
.guest-dock{position:fixed;bottom:0;left:0;right:0;z-index:90;display:flex;justify-content:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fbf7f4f5;border-top:1px solid #c3aa9e55;backdrop-filter:blur(12px)}.guest-dock a{font-size:12px;padding:11px 22px;border-radius:24px;border:1px solid #894b5933}.guest-dock a:first-child{background:#894b59;color:white}
#event-shortcuts{display:none!important}.sparkle-container{display:none!important}
@media(max-width:700px){.premium-nav{padding:9px 18px}.premium-nav .nav-signature{font-size:26px}.premium-nav>div{gap:14px;font-size:11px}.nav-confirm{padding:8px 12px}#hero-section .hero-photograph{aspect-ratio:3/2;max-height:none}#hero-section .hero-details{padding:26px 18px 28px!important}#hero-section #xv-hero-name{font-size:72px}.hero-invitation{font-size:18px;margin:16px auto}.hero-date{font-size:22px}.hero-time{font-size:11px}.eyebrow{font-size:9px}.gold-rule{margin:14px auto}#countdown{gap:0!important;margin-top:20px!important}#countdown>div{padding:0 14px!important}main>section:not(#hero-section){padding-top:36px!important;padding-bottom:36px!important}#event-info-section .section-content>.space-y-8{grid-template-columns:1fr;gap:18px}#event-info-section #ceremony-container,#event-info-section #reception-container{min-height:220px}#gallery-grid{gap:8px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}#gallery-grid.expanded{grid-template-columns:repeat(2,minmax(0,1fr))!important}#gallery-section{padding:36px 16px!important}#story-section.music-panel{grid-template-columns:1fr;gap:20px;padding:32px 24px!important}.music-heading h2{font-size:32px}#parents-section{padding:32px 20px!important}#parents-section .section-content{padding:0}#parents-section .my-8{margin:10px 0}#parents-section h3{font-size:32px}#parents-section p{font-size:17px}#dress-code .flex.flex-col.md\:flex-row{flex-direction:row;gap:12px}#dress-code #dress-men-card,#dress-code #dress-women-card{padding:18px 12px}#dress-code h3{font-size:22px}#dress-code p{font-size:12px}#dress-code h2,#event-info-section h2,#rsvp-section h2{font-size:36px}#contact-section .pink-button{font-size:11px}#rsvp-section .guest-greeting{font-size:30px}#guest-meta{font-size:12px}#rsvp-section .rsvp-card{padding:20px}#personal-welcome{display:none!important}}
@media print{.guest-dock,.premium-nav{display:none!important}}
#hero-section .hero-details>.gold-rule{padding:0!important;height:1px!important}
#hero-section .hero-details>#countdown{padding:0!important}
@media(max-width:700px){#hero-section .hero-details{padding-top:22px!important;padding-bottom:24px!important}.hero-invitation{margin:14px 0;font-size:17px}.hero-date{font-size:21px}}
body:has(#main-content[style*="display: none"]) .guest-dock{display:none}

/* Cintilla de referencia y sesión completa siempre visible. */
.premium-nav{background:#b65f74;color:#fffaf5;border-bottom:1px solid #a24f65;box-shadow:none;min-height:58px}
.premium-nav .nav-signature,.premium-nav a{color:#fffaf5}
.premium-nav>div{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:600;letter-spacing:.5px}
.premium-nav>div>a{text-transform:uppercase}.premium-nav .nav-confirm{border-color:#fff6}
.premium-nav a:focus-visible{outline:2px solid #fff;outline-offset:4px}
#gallery-section{max-width:1240px;padding:64px 32px!important}
#gallery-section h2{font-size:52px}
#gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px!important}
#gallery-grid>div,#gallery-grid:not(.expanded)>div:nth-child(n+4){display:block!important;grid-column:auto!important;aspect-ratio:auto!important;background:transparent;overflow:hidden}
#gallery-grid img{height:auto!important;width:100%;object-fit:contain!important;transform:none!important}
#gallery-grid>div:nth-child(6){grid-column:1/-1!important}
@media(max-width:700px){.premium-nav{min-height:54px;padding:10px 16px}.premium-nav>div{gap:12px;font-size:13px}.premium-nav .nav-signature{font-size:25px}.premium-nav .nav-confirm{padding:7px 10px}#gallery-section{padding:40px 18px!important}#gallery-section h2{font-size:40px}#gallery-grid{grid-template-columns:1fr!important;gap:22px!important}#gallery-grid>div{grid-column:auto!important}}
#countdown>div{height:auto!important;width:auto!important;backdrop-filter:none!important}
#countdown span{color:#714652!important;text-shadow:none!important}
#countdown span:first-child{font:30px 'Cormorant Garamond',serif!important;letter-spacing:0}
#countdown span:last-child{font:9px Montserrat,sans-serif!important;letter-spacing:1px;margin-top:5px}
.premium-nav{position:fixed;top:0;left:0;right:0;width:100%;z-index:100}
main{padding-top:58px!important}
@media(max-width:700px){main{padding-top:54px!important}}

.invitation-finale{padding:0;background:#fbf7f4;color:#714652}.final-photograph{margin:0;width:100%}.final-photograph img{display:block;width:100%;height:auto;object-fit:contain}.final-message{position:static;padding:38px 24px 46px;text-align:center}.final-message h2{font:48px 'Great Vibes',cursive}.final-message>p{font:22px/1.5 'Cormorant Garamond',serif;margin-top:12px}.final-message .final-signature{font:40px 'Great Vibes',cursive;margin-top:22px}

.guest-dock #audio-toggle{display:inline-flex!important;position:static;flex:0 0 42px;width:42px;height:42px;min-height:42px;align-self:center;background:#894b59;color:white;border:1px solid #894b5933;border-radius:50%;align-items:center;justify-content:center;box-shadow:none}.guest-dock #audio-toggle svg{width:20px;height:20px}.guest-dock{align-items:center}@media(max-width:450px){.guest-dock{gap:7px;padding-left:10px;padding-right:10px}.guest-dock a{padding:11px 14px;font-size:11px}}

/* Acabado final coherente: títulos editoriales, familia legible, confeti lateral. */
:root{--color-secondary:#8a6b36;--color-text:#633c49}
main h2:not(#xv-hero-name),main h3{font-family:'Cormorant Garamond',serif!important;font-weight:500!important;letter-spacing:0!important;color:#633c49!important}
main h2{font-size:42px!important}main h3{font-size:28px!important}
.family-section{max-width:900px;margin:auto;text-align:center;padding:48px 24px!important;border-top:1px solid #c8b5a344;border-bottom:1px solid #c8b5a344}
.family-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:28px auto}.family-columns h2{font-size:32px!important;margin-bottom:16px}.family-columns p{font:22px/1.8 'Cormorant Garamond',serif;color:#493b3c}.family-note{font:19px/1.5 'Cormorant Garamond',serif;color:#6c595c}
#gift-registry-section{padding-top:32px!important;padding-bottom:32px!important}#gift-registry-section p{font-size:19px!important;margin-top:14px!important}#gift-registry-section i{display:none}
#contact-section>div>h2{margin-bottom:18px}#contact-section .font-great-vibes{font-family:'Cormorant Garamond',serif!important}#hashtag-section h2{font-size:27px!important}
#hero-section .hero-photograph .sparkle-container{display:block!important;position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;opacity:.7}
#hero-section .sparkle{border-radius:1px;animation-name:giselle-confetti;animation-duration:9s;animation-iteration-count:infinite;animation-timing-function:linear;box-shadow:none}
@keyframes giselle-confetti{0%{transform:translateY(-30px) rotate(0deg);opacity:0}12%{opacity:.9}85%{opacity:.7}100%{transform:translateY(700px) rotate(260deg);opacity:0}}
@media(max-width:700px){.family-columns{gap:24px}.family-columns p{font-size:18px}.family-columns h2{font-size:27px!important}main h2{font-size:34px!important}}
@media(prefers-reduced-motion:reduce){#hero-section .hero-photograph .sparkle-container{display:none!important}}

/* Hero de borde a borde, fotografía completa y confeti conservado. */
#hero-section.premium-hero{width:100%;max-width:none;margin-left:0;margin-right:0}
#hero-section .hero-photograph{width:100%;height:auto;max-height:none;aspect-ratio:auto;margin:0}
#hero-section .hero-photograph .cover-photo{display:block;width:100%;height:auto}
#hero-section .hero-photograph .cover-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
#hero-section .hero-photograph .sparkle-container{--confetti-travel:calc(66.7vw + 30px)}
@keyframes giselle-confetti{0%{transform:translateY(-30px) rotate(0deg);opacity:0}12%{opacity:.9}85%{opacity:.7}100%{transform:translateY(var(--confetti-travel,700px)) rotate(260deg);opacity:0}}
