:root{
 --ivory:#fff9f5;--paper:#fffdf9;--rose:#e8b6c1;--rose-deep:#b87083;
 --blush:#f5d8df;--gold:#d4af57;--gold-soft:#ecd496;--ink:#21191b;
 --charcoal:#141312;--serif:"Cormorant Garamond",serif;--script:"Great Vibes",cursive;
 --sans:"Montserrat",sans-serif;--caps:"Cinzel",serif;--shadow:0 28px 80px rgba(116,66,78,.17)
}

.event-entry-time {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    margin: 0.9rem auto 1rem;
    padding: 0.75rem 1.5rem;
    border-top: 1px solid rgba(212, 175, 87, 0.45);
    border-bottom: 1px solid rgba(212, 175, 87, 0.45);
    text-align: center;
}

.event-entry-time span {
    color: var(--rose-deep);
    font-family: var(--caps);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.event-entry-time strong {
    color: var(--ink);
    font-family: var(--serif);
    font-size: 2rem;
    font-weight: 600;
    line-height: 1;
}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:400 17px/1.72 var(--sans);overflow-x:hidden}
body.is-locked{overflow:hidden}img{display:block;max-width:100%}button,a{font:inherit}.scene{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;background-position:center;background-size:cover}.scene__inner{position:relative;z-index:2;width:min(100% - 32px,1120px);margin:auto;padding:110px 0;text-align:center}.narrow{max-width:760px}.wide{max-width:1120px}
.eyebrow{margin:0 0 18px;color:var(--gold-soft);font:600 .78rem/1.5 var(--caps);letter-spacing:.2em;text-transform:uppercase}.eyebrow--rose{color:var(--rose-deep)}.display-title{margin:0;font:500 clamp(3.4rem,10vw,6.6rem)/.92 var(--serif);text-align:center}.reveal{opacity:0;transform:translateY(36px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.75,.25,1)}.reveal.is-visible{opacity:1;transform:none}
.aura-divider{display:flex;align-items:center;justify-content:center;gap:13px;width:min(330px,75%);margin:24px auto;color:var(--gold)}.aura-divider i{height:1px;flex:1;background:linear-gradient(90deg,transparent,currentColor)}.aura-divider i:last-child{background:linear-gradient(90deg,currentColor,transparent)}.aura-divider b{font-size:.86rem}.aura-divider--rose{color:var(--rose-deep)}.crown{color:var(--gold);font-size:2rem;margin-bottom:24px}
.opening{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;background:#100d0e;transition:opacity .9s,visibility .9s}.opening.is-hidden{opacity:0;visibility:hidden}.opening__image,.hero__image{position:absolute;inset:-4%;background:center 25%/cover no-repeat;animation:cinematicZoom 18s ease-in-out infinite alternate}.opening__overlay,.hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,10,13,.15),rgba(27,14,19,.43) 48%,rgba(10,7,8,.91))}.opening__dust,.gold-dust{position:absolute;inset:0;background-image:radial-gradient(circle,#e4bd62 1px,transparent 1.8px);background-size:41px 41px;opacity:.28;mask-image:linear-gradient(transparent 20%,#000 78%)}.opening__content,.hero__content{position:relative;z-index:2;width:min(92%,720px);padding:38px 18px;text-align:center;color:#fff;text-shadow:0 3px 20px rgba(0,0,0,.55)}.opening__content{border:1px solid rgba(232,201,126,.42);border-radius:34px;background:rgba(20,12,15,.32);backdrop-filter:blur(5px)}.opening__monogram,.hero__monogram{width:74px;margin:0 auto 16px;filter:drop-shadow(0 3px 14px #0008)}.opening h1,.hero h2{margin:0;font:500 clamp(6rem,24vw,11rem)/.67 var(--serif);letter-spacing:-.04em}.opening__surname,.hero__surname{margin:21px 0 0;color:#f0d087;font:500 clamp(2rem,8vw,4rem)/1 var(--serif)}.opening__date,.hero__date{margin:0;font:500 .92rem/1.5 var(--caps);letter-spacing:.11em}.luxury-button{position:relative;margin-top:26px;padding:1rem 2.25rem;border:1px solid #efd99e;border-radius:999px;background:linear-gradient(135deg,#eab5c1,#c98598);color:#28171d;font-weight:600;letter-spacing:.04em;box-shadow:0 18px 50px #0007;overflow:hidden;cursor:pointer}.luxury-button:after{content:"";position:absolute;inset:-100% 55%;transform:rotate(20deg);background:#fff8;animation:shine 3.5s infinite}
@keyframes shine{0%,45%{transform:translateX(-320%) rotate(20deg)}75%,100%{transform:translateX(420%) rotate(20deg)}}@keyframes cinematicZoom{from{transform:scale(1.02)}to{transform:scale(1.10) translateY(-1%)}}
.music-control{position:fixed;z-index:800;right:18px;bottom:18px;width:52px;height:52px;border:1px solid #e6c66d;border-radius:50%;background:#181315dc;color:#efd790;box-shadow:0 12px 35px #0005;cursor:pointer}.music-control.is-playing{animation:pulse 2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 10px rgba(212,175,87,.12),0 12px 35px #0005}}
.hero{color:#fff;background:#100d0e}.hero__content{padding-top:15vh}.hero__city{font:.75rem var(--caps);letter-spacing:.19em;text-transform:uppercase}.scroll-cue{display:inline-flex;flex-direction:column;align-items:center;margin-top:65px;color:#fff;font:500 .7rem var(--caps);letter-spacing:.14em;text-decoration:none;text-transform:uppercase}.scroll-cue span{font-size:1.6rem;animation:bob 1.8s infinite}@keyframes bob{50%{transform:translateY(8px)}}
.quote{background-image:url("../../themes/luxury-rose/backgrounds/quote.webp")}.quote:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,249,247,.30),rgba(255,244,246,.50));z-index:0}.quote blockquote{margin:0;color:#4b3039;font:500 clamp(3.25rem,10vw,6.1rem)/1.05 var(--serif);text-shadow:0 1px 0 rgba(255,255,255,.75),0 7px 24px rgba(112,66,79,.10)}.quote .quote__secondary{max-width:590px;margin:32px auto 0;color:#51383f;font-size:1.12rem;font-weight:500;line-height:1.75;text-shadow:0 1px 0 rgba(255,255,255,.8)}.parents{max-width:620px;margin:45px auto 0;padding:30px 22px;border-top:1px solid rgba(184,112,131,.28);border-bottom:1px solid rgba(184,112,131,.28);background:rgba(255,253,250,.38);backdrop-filter:blur(3px)}.parents__intro{margin:0!important;color:#7b5661!important;font:500 1.25rem/1.4 var(--serif)!important}.parents__names{display:grid;gap:8px;margin-top:17px}.parents__names strong{display:block;color:#3e2930;font:500 clamp(1.65rem,5vw,2.25rem)/1.08 var(--serif)}
.countdown-scene{background-image:url("../../themes/luxury-rose/backgrounds/countdown.webp")}.countdown-frame{position:relative;margin:60px auto 0;padding:34px;width:min(100%,930px);border:1px solid rgba(212,175,87,.8);background:rgba(255,255,255,.52);box-shadow:var(--shadow);backdrop-filter:blur(4px)}.countdown-frame:before{content:"";position:absolute;inset:10px;border:1px solid rgba(212,175,87,.38)}.corner{position:absolute;width:54px;height:54px;border-color:var(--gold);z-index:2}.corner--tl{top:-5px;left:-5px;border-top:2px solid;border-left:2px solid}.corner--tr{top:-5px;right:-5px;border-top:2px solid;border-right:2px solid}.corner--bl{bottom:-5px;left:-5px;border-bottom:2px solid;border-left:2px solid}.corner--br{bottom:-5px;right:-5px;border-bottom:2px solid;border-right:2px solid}.countdown{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr)}.countdown__item{padding:35px 10px;text-align:center}.countdown__item:not(:last-child){border-right:1px solid rgba(212,175,87,.34)}.countdown strong{display:block;color:#ce879a;font:500 clamp(4rem,11vw,7.2rem)/.75 var(--serif)}.countdown span{display:block;margin-top:19px;font:600 .72rem var(--caps);letter-spacing:.12em}
.story{background-image:url("../../themes/luxury-rose/backgrounds/story.webp")}.story-editorial{display:grid;gap:75px;margin-top:70px}.story-page{display:grid;grid-template-columns:1.08fr .92fr;align-items:stretch;min-height:570px;background:rgba(255,253,249,.78);box-shadow:var(--shadow)}.story-page--reverse figure{order:2}.story-page figure{margin:0;overflow:hidden}.story-page img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s}.story-page:hover img{transform:scale(1.035)}.story-page__text{display:flex;flex-direction:column;justify-content:center;padding:58px;text-align:center}.story-page__text>span{color:var(--rose-deep);font:600 .72rem var(--caps);letter-spacing:.16em;text-transform:uppercase}.story-page h3{margin:13px 0 20px;font:500 clamp(2.7rem,6vw,4.5rem)/.95 var(--serif)}.story-page p{margin:0;color:#6e585e}.small-flourish{margin-top:25px;color:var(--gold)}
.itinerary{background-image:url("../../themes/luxury-rose/backgrounds/timeline.webp")}.itinerary-line{position:relative;display:grid;gap:30px;margin:62px auto 0}.itinerary-line:before{content:"";position:absolute;left:50%;top:135px;bottom:135px;width:1px;background:linear-gradient(transparent,var(--gold),transparent)}.itinerary-line article{position:relative;z-index:1;padding:40px 30px;border:1px solid rgba(212,175,87,.25);background:rgba(255,253,249,.72);box-shadow:var(--shadow)}.event-icon{display:grid;width:110px;height:110px;margin:0 auto 18px;place-items:center;border-radius:50%;background:#edc5cf;color:#ad6879}.event-icon svg{width:67px}.itinerary time{color:#ce879a;font:600 2rem var(--serif)}.itinerary h3{margin:5px 0;font:500 2.7rem var(--serif)}.itinerary p{margin:4px 0;font-weight:500}.itinerary small{display:block;color:#6a595d}.itinerary a{display:inline-block;margin-top:16px;color:#755642;font:600 .7rem var(--caps);letter-spacing:.12em;text-underline-offset:5px;text-transform:uppercase}.timeline-jewel{position:relative;z-index:2;color:var(--gold);font-size:1rem}
.dress{background-image:url("../../themes/luxury-rose/backgrounds/dresscode.webp")}.dress-catalog{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;margin-top:60px;padding:50px 28px;border:1px solid rgba(212,175,87,.32);background:rgba(255,255,255,.55);box-shadow:var(--shadow);backdrop-filter:blur(5px)}.dress-catalog article{text-align:center}.fashion-icon{
    display:grid;
    place-items:center;
    width:115px;
    height:115px;
    margin:auto;
    border-radius:50%;
    background:#eec7d0;
    color:#9a5d6c;
    overflow:hidden;
}.fashion-icon--dark{background:#171415;color:#fff}.fashion-icon svg{
    display:block;
    width:67px;
    height:67px;
    max-width:67px;
    max-height:67px;
}.dress-catalog span{display:block;margin-top:18px;color:#c47d90;font:600 .77rem var(--caps);letter-spacing:.13em}.dress-catalog h3{margin:8px 0 0;font:500 2.1rem var(--serif)}.dress-divider{display:flex;flex-direction:column;align-items:center;color:var(--gold)}.dress-divider i{width:1px;height:75px;background:linear-gradient(transparent,var(--gold))}.dress-divider i:last-child{background:linear-gradient(var(--gold),transparent)}.swatches{display:flex;justify-content:center;gap:18px;margin:32px}.swatches i{width:38px;height:38px;border-radius:50%;box-shadow:0 0 0 6px #fff9}.swatch-rose{background:#d99aaa}.swatch-black{background:#171415}.dress-note{font-family:var(--serif);font-size:1.35rem}
.gallery-scene{background-image:url("../../themes/luxury-rose/backgrounds/gallery.webp")}.mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:290px;gap:14px;margin-top:60px}.mosaic__item{padding:0;border:0;overflow:hidden;background:#ddd;box-shadow:var(--shadow);cursor:zoom-in}.mosaic__item:first-child{grid-row:span 2}.mosaic__item:last-child{grid-column:span 2}.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.mosaic__item:hover img{transform:scale(1.04)}.gallery-caption{max-width:600px;margin:38px auto 0;font-family:var(--serif);font-size:1.55rem}
.rsvp{color:#fff;background-image:url("../../themes/luxury-rose/backgrounds/rsvp.webp")}.rsvp .scene__inner{padding-top:140px;padding-bottom:160px}.rsvp .display-title{color:#efd184}.rsvp p{max-width:550px;margin:25px auto}.whatsapp-button{display:flex;align-items:center;justify-content:center;gap:12px;width:min(100%,450px);margin:35px auto 0;padding:19px 22px;border:1px solid #f1d496;background:linear-gradient(135deg,#e7afbd,#c98296);color:#27161c;font-weight:700;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;box-shadow:0 20px 55px #0008}.whatsapp-mark{font-size:1.5rem}.phone{display:block;width:max-content;margin:30px auto 0;padding:10px 22px;border:1px solid rgba(241,212,150,.6);border-radius:999px;background:#fff1;color:#fff;font-weight:600;letter-spacing:.09em;text-decoration:none}.rsvp small{display:block;margin-top:15px;color:#f6e5e9}
.closing{background-image:url("../../themes/luxury-rose/backgrounds/closing.webp")}.closing p{margin:0;font:500 2.5rem var(--serif)}.closing h2{margin:0;color:#6f4d56;font:400 clamp(4.4rem,13vw,8rem)/1 var(--script)}.closing-heart{display:block;margin:18px;color:#d78ba0;font-size:1.6rem}.closing strong{display:block;color:#c49b3d;font:400 clamp(5.2rem,16vw,9rem)/1 var(--script)}.closing__monogram{width:68px;margin:40px auto 0}.petals{position:absolute;inset:0;pointer-events:none}.petals span{position:absolute;top:-10%;width:12px;height:18px;border-radius:70% 30% 70% 30%;background:#dea0b0aa;animation:fall linear infinite}@keyframes fall{to{transform:translate(70px,115vh) rotate(540deg)}}
.viewer{width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(8,7,7,.95);overflow:hidden}.viewer::backdrop{background:#000}.viewer img{width:100%;height:100%;object-fit:contain;transition:opacity .2s,transform .35s}.viewer>button{position:absolute;z-index:2;border:1px solid #ffffff55;background:#111b;color:#fff;cursor:pointer}.viewer #viewerClose{top:max(18px,env(safe-area-inset-top));right:18px;width:50px;height:50px;border-radius:50%;font-size:2rem}.viewer__nav{top:50%;width:52px;height:70px;font-size:2.8rem;transform:translateY(-50%)}.viewer__nav--prev{left:12px}.viewer__nav--next{right:12px}
@media(max-width:760px){
 .quote .scene__inner{padding-top:85px;padding-bottom:85px}
 .quote blockquote{font-size:clamp(3rem,12.8vw,4.6rem);line-height:1.04}
 .quote .quote__secondary{font-size:1.04rem;line-height:1.65;padding:0 8px}
 .parents{margin-top:36px;padding:25px 16px}

 body{font-size:16px}.scene__inner{width:min(100% - 26px,720px);padding:90px 0}.opening__content{width:calc(100% - 28px);padding:28px 13px}.opening h1,.hero h2{font-size:clamp(5.5rem,26vw,8rem)}
 .countdown-frame{padding:22px 16px}.countdown{grid-template-columns:1fr 1fr}.countdown__item:nth-child(2){border-right:0}.countdown__item:nth-child(-n+2){border-bottom:1px solid rgba(212,175,87,.34)}.countdown strong{font-size:4.5rem}
 .story-page,.story-page--reverse{grid-template-columns:1fr}.story-page--reverse figure{order:0}.story-page figure{height:470px}.story-page__text{padding:42px 23px}
 .dress-catalog{grid-template-columns:1fr;padding:35px 18px}.dress-divider{flex-direction:row}.dress-divider i{width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.dress-divider i:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
 .mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:225px}.mosaic__item:first-child{grid-row:span 2}.mosaic__item:last-child{grid-column:span 2}
 .viewer__nav{width:42px;height:60px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.opening__image,.hero__image,.petals span{animation:none}}

/* =========================================================
   AJUSTE V3.2: BORDE DEL DRESS CODE Y CORAZÓN CENTRADO
   ========================================================= */
.dress-catalog {
    border: 1px solid rgba(212, 175, 87, 0.60) !important;
    border-radius: 24px !important;
    overflow: hidden !important;
}

.dress-divider {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.dress-divider b {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    margin: 8px 0 !important;
    padding: 0 !important;
    font-family: Arial, sans-serif !important;
    font-size: 25px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-align: center !important;
    transform: translateY(1px);
}

@media (max-width: 760px) {
    .dress-divider {
        width: 100% !important;
        margin-inline: auto !important;
    }

    .dress-divider i {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
    }
}
