@import url('https://fonts.googleapis.com/css2?family=Italiana&family=Nunito:wght@300;400;600&family=Parisienne&display=swap');
:root{--rose:#a85f67;--sage:#708a72;--blush:#f7e9e6;--ivory:#fffaf5;--text:#435046}.tpl-floral{margin:0;background:var(--ivory);color:var(--text);font-family:Nunito,sans-serif}.hero{min-height:100vh;background-image:var(--hero);background-position:center;background-size:cover;position:relative;display:grid;place-items:end center}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,45,31,.05),rgba(28,45,31,.74))}.hero-content{position:relative;text-align:center;color:#fff;padding:5rem 1rem}.hero h1{font:400 clamp(4.5rem,14vw,9rem)/.75 Parisienne,cursive;margin:1rem 0}.hero h1 b{display:block;font:400 .48em Italiana,serif;color:#ffe2dd}.eyebrow{text-transform:uppercase;letter-spacing:.32em;font-size:.7rem}.scroll,.button{display:inline-block;border:0;border-radius:999px;padding:.9rem 1.5rem;text-decoration:none;color:#fff;background:var(--rose);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.section{max-width:1050px;margin:auto;padding:5.5rem 1.5rem;text-align:center}.section h2{font:400 clamp(2.4rem,6vw,4.4rem)/1 Italiana,serif;color:#4c6550}.intro{background:radial-gradient(circle at top,#fff 0,#fffaf5 60%)}.intro p{max-width:700px;margin:auto;font-size:1.15rem;line-height:1.9}.ornament{color:var(--rose);font-size:2.3rem}.date-block{background:var(--sage);color:#fff;display:flex;justify-content:center;gap:clamp(1rem,7vw,6rem);padding:2.6rem 1rem}.date-block div{display:grid;text-align:center}.date-block strong{font:400 2.6rem Italiana,serif}.date-block span{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}.details,.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.4rem}.details article,.cards article,.cards blockquote{background:#fff;border-radius:22px;padding:2rem;box-shadow:0 14px 35px rgba(75,96,78,.1);margin:0}.details article span{display:grid;place-items:center;width:50px;height:50px;background:var(--blush);color:var(--rose);border-radius:50%;margin:auto;font-family:Italiana}.details h3,.timeline h3{font:400 1.7rem Italiana}.details .button{grid-column:1/-1;margin:auto}.people,.gallery,.signatures{max-width:none;background:linear-gradient(135deg,#f7e9e6,#eef4eb)}.people>* ,.gallery>* ,.signatures>*{max-width:1050px;margin-left:auto;margin-right:auto}.cards article{display:grid;gap:.5rem}.cards small{text-transform:capitalize;color:var(--rose)}.cards strong{font:400 1.4rem Italiana}.timeline-list{max-width:720px;margin:auto;position:relative}.timeline-list:before{content:'';position:absolute;left:74px;top:0;bottom:0;width:2px;background:#c4d2c3}.timeline article{display:grid;grid-template-columns:90px 1fr;text-align:left;padding:1.5rem 0;position:relative}.timeline time{color:var(--rose);font-weight:600}.timeline article div{background:#fff;border-radius:18px;padding:1rem 1.4rem;box-shadow:0 8px 24px rgba(80,100,80,.08)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.gallery figure{margin:0;transform:rotate(-1deg);background:#fff;padding:.7rem;border-radius:16px;box-shadow:0 12px 28px rgba(80,100,80,.12)}.gallery figure:nth-child(even){transform:rotate(1deg)}.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:11px}.gallery figcaption{padding:.7rem;font-family:Parisienne;font-size:1.4rem}.rsvp form,.signatures form{max-width:620px;margin:2rem auto;display:grid;gap:1rem;text-align:left}.rsvp label{display:grid;gap:.4rem}.rsvp input,.rsvp select,.rsvp textarea,.signatures input,.signatures textarea{padding:1rem;border:1px solid #cfddce;border-radius:14px;background:#fff;font:inherit}.rsvp .button,.signatures .button{justify-self:center}.gifts .cards img{max-width:180px;margin:auto;border-radius:12px}.gifts .cards span{display:block}.cards blockquote cite{display:block;margin-top:1rem;color:var(--rose)}footer{background:#4b6250;color:#fff;padding:4rem 1rem;text-align:center;display:grid;gap:.4rem}footer strong{font:400 2.5rem Parisienne}footer small{opacity:.6}.demo-bar{position:fixed;top:0;z-index:50;width:100%;background:var(--rose);color:#fff;text-align:center;padding:.55rem;font-size:.7rem;letter-spacing:.1em}.extra div{max-width:760px;margin:auto;line-height:1.8}@media(max-width:600px){.date-block{gap:.8rem}.date-block strong{font-size:1.8rem}.timeline-list:before{left:55px}.timeline article{grid-template-columns:65px 1fr}}

.private-guest-banner{position:relative;z-index:30;padding:.8rem 1rem;text-align:center;font-size:.92rem;background:#fff8e8;color:#5b4528;border-bottom:1px solid rgba(143,107,53,.25)}.private-guest-banner strong{font-weight:800}
.reconfirmation-box{margin:0 auto 1.25rem;max-width:680px;padding:1rem 1.15rem;border:1px solid rgba(136,104,118,.28);background:#fff7fa;border-radius:18px;line-height:1.6;text-align:left}.reconfirmation-box strong{color:#8f526d}.reconfirmation-box small{color:#72656b}

/* Opciones múltiples de regalo */
.gifts .gift-card{align-content:start}.gifts .gift-kind{display:inline-flex;justify-self:center;padding:.35rem .7rem;border-radius:999px;background:var(--blush);color:var(--rose);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.gifts .gift-card--billetera_digital .gift-kind{background:#eee8f8;color:#725296}.gifts .gift-card--enlace_externo .gift-kind{background:#e9f4e8;color:#4e7654}.gifts .gift-description{margin:.15rem 0 .35rem;line-height:1.55}.gifts .gift-link{justify-self:center;margin-top:.4rem;color:var(--rose);font-size:.74rem;font-weight:800}.gifts .gift-card b{font-weight:700}

.vip-ceremony-message{max-width:820px;padding:4.2rem 1.5rem 1rem}.vip-ceremony-message .eyebrow{color:var(--rose)}.vip-ceremony-message p{position:relative;max-width:700px;margin:1.2rem auto 0;padding:2rem 2.2rem;border:1px solid rgba(168,95,103,.20);border-radius:24px;background:linear-gradient(135deg,#fff,#fff4f2);box-shadow:0 14px 35px rgba(75,96,78,.10);font:400 1.12rem/1.85 Nunito,sans-serif;color:#4f5f53}.vip-ceremony-message p:before,.vip-ceremony-message p:after{content:'❀';position:absolute;color:rgba(168,95,103,.35)}.vip-ceremony-message p:before{top:.65rem;left:.9rem}.vip-ceremony-message p:after{right:.9rem;bottom:.65rem}@media(max-width:600px){.vip-ceremony-message{padding:3.4rem 1rem .5rem}.vip-ceremony-message p{padding:1.6rem 1.35rem;font-size:1rem}}


/* SISINV 3.0.0: confirmación privada de regalos */
.gift-confirmation{margin-top:1.5rem;padding:1.25rem;border:1px solid rgba(0,0,0,.12);border-radius:18px;background:rgba(255,255,255,.72)}
.gift-confirmation h3{margin:0 0 .5rem}.gift-confirmation form{display:grid;gap:.85rem;margin-top:1rem}.gift-confirmation label{display:grid;gap:.35rem;text-align:left}.gift-confirmation input,.gift-confirmation select,.gift-confirmation textarea{width:100%;padding:.75rem;border:1px solid rgba(0,0,0,.18);border-radius:10px;background:#fff}.gift-confirmation button{justify-self:center}.gift-confirmation .gift-confirmation-submit{justify-self:center}.gift-confirmation-grid{display:grid;grid-template-columns:2fr 1fr;gap:.75rem}.gift-confirmation-history{display:grid;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.gift-confirmation-history div{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem}.gift-confirmation-history em{font-style:normal;font-weight:600}@media(max-width:520px){.gift-confirmation-grid{grid-template-columns:1fr}.gift-confirmation-history div{display:grid;gap:.15rem}}
