/* V14.9 — cinematic memory timeline + smart RSVP */
.memory-timeline{position:relative;overflow:hidden;padding:clamp(72px,10vw,130px) 0;background:radial-gradient(circle at 50% 20%,rgba(212,166,76,.12),transparent 38%),linear-gradient(180deg,#13070a 0%,#1a080c 50%,#0c0507 100%);color:#f9f0df}
.memory-timeline:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.025) 50%,transparent 100%);pointer-events:none}
.timeline-header{position:relative;z-index:2;max-width:760px;margin:0 auto 42px;padding:0 22px;text-align:center}.timeline-header h2{margin:.2em 0 .35em;font-family:'Cinzel',serif;font-size:clamp(2rem,5vw,3.7rem);font-weight:600}.timeline-header p:last-child{margin:18px auto 0;max-width:620px;font-family:'Cormorant Garamond',serif;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.5;opacity:.82}
.timeline-track{position:relative;z-index:2;display:flex;gap:22px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;touch-action:pan-x;cursor:grab;padding:16px max(22px,calc((100vw - 1180px)/2)) 28px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.timeline-track::-webkit-scrollbar{height:6px}.timeline-track::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:99px}.timeline-track::-webkit-scrollbar-thumb{background:rgba(220,182,106,.45);border-radius:99px}.timeline-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.timeline-track:before{content:"";position:absolute;left:0;right:0;top:35px;height:1px;background:linear-gradient(90deg,transparent,rgba(218,178,91,.55),transparent);pointer-events:none}
.timeline-card{position:relative;flex:0 0 clamp(250px,28vw,340px);min-height:330px;padding:42px 26px 24px;border:1px solid rgba(214,174,86,.22);border-radius:4px;background:linear-gradient(160deg,rgba(255,255,255,.065),rgba(255,255,255,.018));box-shadow:0 22px 55px rgba(0,0,0,.28);scroll-snap-align:center;transition:transform .45s ease,border-color .45s ease,background .45s ease}.timeline-card:hover,.timeline-card.is-active{transform:translateY(-7px);border-color:rgba(226,188,100,.7);background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.025))}.timeline-year{position:absolute;top:16px;right:20px;font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.2em;opacity:.5}.timeline-dot{position:absolute;top:27px;left:26px;width:16px;height:16px;border:1px solid #dcb66a;border-radius:50%;background:#18090d;box-shadow:0 0 0 5px rgba(220,182,106,.08),0 0 18px rgba(220,182,106,.22)}.timeline-age{margin:18px 0 8px;color:#dfb866;font-family:'Cinzel',serif;font-size:.76rem;letter-spacing:.18em}.timeline-card h3{margin:0 0 12px;font-family:'Cinzel',serif;font-size:1.25rem}.timeline-card>p:not(.timeline-age){font-family:'Cormorant Garamond',serif;font-size:1.08rem;line-height:1.45;opacity:.8}.timeline-photo{margin-top:18px;border:0;border-bottom:1px solid rgba(220,182,106,.45);padding:5px 0;background:none;color:#f2d28d;font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.1em;cursor:pointer}.timeline-photo span{display:inline-block;margin-left:8px;transition:transform .25s ease}.timeline-photo:hover span{transform:translate(3px,-3px)}
.timeline-progress{position:relative;height:2px;max-width:1080px;margin:5px auto 0;background:rgba(255,255,255,.09)}.timeline-progress span{display:block;width:14%;height:100%;background:linear-gradient(90deg,#a87b32,#f1d38e);box-shadow:0 0 12px rgba(226,188,100,.35);transition:width .25s ease}.timeline-hint{text-align:center;margin:18px 22px 0;font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.12em;opacity:.48}
.smart-rsvp{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0 18px}.rsvp-choice{min-height:118px;padding:16px 12px;border:1px solid rgba(220,182,106,.22);border-radius:8px;background:rgba(255,255,255,.035);color:inherit;cursor:pointer;transition:transform .25s ease,border-color .25s ease,background .25s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.rsvp-choice:hover,.rsvp-choice.selected{transform:translateY(-3px);border-color:rgba(220,182,106,.8);background:rgba(220,182,106,.09)}.rsvp-choice span{font-size:1.35rem;margin-bottom:6px}.rsvp-choice strong{font-family:'Cinzel',serif;font-size:.78rem;letter-spacing:.04em}.rsvp-choice small{margin-top:6px;opacity:.65;font-family:'Cormorant Garamond',serif;font-size:.9rem}.rsvp-status{min-height:1.4em;margin:8px 0 14px;text-align:center;font-family:'Cormorant Garamond',serif;opacity:.8}
@media (max-width:720px){.timeline-header{margin-bottom:25px}.timeline-track{gap:14px;padding-left:18px;padding-right:18px}.timeline-card{flex-basis:min(82vw,310px);min-height:300px}.timeline-track:before{top:35px}.smart-rsvp{grid-template-columns:1fr}.rsvp-choice{min-height:92px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;text-align:left;padding:14px}.rsvp-choice span{grid-row:1/3;grid-column:1;font-size:1.25rem;margin:0;align-self:center}.rsvp-choice strong{grid-column:2}.rsvp-choice small{grid-column:2;margin-top:3px}.timeline-progress{margin-left:18px;margin-right:18px}.timeline-hint{line-height:1.5}}
@media (prefers-reduced-motion:reduce){.timeline-card,.timeline-photo span,.timeline-progress span,.rsvp-choice{transition:none}}

@media (max-width:720px){.timeline-track{cursor:grab}.timeline-track::-webkit-scrollbar{display:none}.timeline-track{scrollbar-width:none}}

/* V14.9.3 — compartir sin ventana externa + modal estable */
.share-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:20px;background:rgba(4,2,3,.82);backdrop-filter:blur(10px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}.share-modal.show{opacity:1;visibility:visible;pointer-events:auto}.share-modal-card{position:relative;width:min(92vw,460px);padding:34px 26px 28px;border:1px solid rgba(220,182,106,.38);border-radius:14px;background:linear-gradient(145deg,#210b10,#100508);box-shadow:0 30px 90px rgba(0,0,0,.55);text-align:center;color:#f9f0df}.share-modal-card h3{margin:.25em 0 .35em;font-family:'Cinzel',serif;font-size:clamp(1.5rem,5vw,2rem)}.share-modal-text{font-family:'Cormorant Garamond',serif;font-size:1.15rem;opacity:.8}.share-modal-close{position:absolute;top:10px;right:12px;width:44px;height:44px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(255,255,255,.05);color:#fff;font-size:1.8rem;cursor:pointer}.share-modal-actions{display:grid;gap:10px;margin-top:22px}.share-modal-actions a,.share-modal-actions button{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px 16px;border-radius:8px;border:1px solid rgba(220,182,106,.35);font-family:'Cinzel',serif;font-size:.76rem;letter-spacing:.05em;text-decoration:none;cursor:pointer}.share-wa{background:#1b5e42;color:#fff}.share-copy{background:rgba(220,182,106,.1);color:#f5d58e}.share-modal-status{min-height:1.4em;margin:14px 0 0;font-family:'Cormorant Garamond',serif;opacity:.85}
@media (max-width:720px){.share-modal-card{padding:32px 20px 24px}.share-modal-actions a,.share-modal-actions button{min-height:54px}}

/* V15 — memory previews inside the cinematic timeline */
.timeline-card{overflow:hidden}
.timeline-memory{position:relative;margin:-18px -8px 18px;height:118px;border:1px solid rgba(220,182,106,.22);border-radius:3px;overflow:hidden;background:#12090c;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.timeline-memory img{display:block;width:100%;height:100%;object-fit:cover;opacity:.72;transition:transform .45s ease,opacity .45s ease}
.timeline-memory::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,4,5,.05),rgba(8,4,5,.65))}
.timeline-memory span{position:absolute;z-index:2;left:14px;bottom:10px;color:#f1d28d;font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.16em}
.timeline-card:hover .timeline-memory img,.timeline-card.is-active .timeline-memory img{transform:scale(1.05);opacity:.9}
.timeline-card.is-dragging,.timeline-card.is-dragging *{cursor:grabbing}
.timeline-track{cursor:grab;scrollbar-width:thin;scrollbar-color:rgba(220,182,106,.6) rgba(255,255,255,.05)}
.timeline-track.is-dragging{cursor:grabbing;scroll-snap-type:none}
.timeline-track::-webkit-scrollbar{height:8px}
.timeline-track::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:99px}
.timeline-track::-webkit-scrollbar-thumb{background:rgba(220,182,106,.6);border-radius:99px}
.timeline-memory:focus-visible,.timeline-photo:focus-visible{outline:2px solid #e8d08a;outline-offset:4px}
@media(max-width:600px){.timeline-memory{height:108px;margin:-12px -4px 16px}.timeline-card{flex-basis:min(82vw,330px)}}
@media(prefers-reduced-motion:reduce){.timeline-memory img{transition:none}}
