@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Montserrat:wght@300;400;500;600;700&display=swap";:root{--olive: #6f7d54;--olive-dark: #4f5d37;--olive-soft: #9da582;--cream: #f5f1e8;--warm-white: #fffaf1;--text: #3f3a34;--muted: #81786e;--rose: #d9b7b7;--gold-soft: #c3a86b;--title-font: "Cormorant Garamond", serif;--body-font: "Montserrat", sans-serif;--shadow-soft: 0 28px 80px rgba(63, 58, 52, .16);--shadow-card: 0 16px 40px rgba(63, 58, 52, .12);--shadow-subtle: 0 8px 24px rgba(63, 58, 52, .08)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--body-font);background:linear-gradient(#f5f1e8fa,#f5f1e8fa),url(/assets/design/fondo_web.png);background-attachment:fixed;background-size:cover;color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,a{transition:all .3s ease}.home-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--warm-white) 0%,var(--cream) 100%);padding:2rem 1rem}.home-container{width:100%;max-width:800px;text-align:center}.home-hero{background:linear-gradient(135deg,var(--olive) 0%,var(--olive-dark) 100%);color:#fff;border-radius:28px;padding:4rem 2rem;box-shadow:var(--shadow-soft)}.home-title{font-family:var(--title-font);font-size:clamp(2.6rem,5vw,3.5rem);font-weight:600;margin-bottom:.5rem}.home-subtitle{font-family:var(--title-font);font-size:clamp(2rem,4vw,2.8rem);font-weight:300;margin-bottom:2rem;opacity:.9}.home-description{margin:2rem 0;line-height:1.8;font-size:clamp(.95rem,1.2vw,1.1rem)}.home-description p{margin-bottom:1rem;opacity:.95}.home-links{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.home-button{display:inline-block;padding:1rem 2rem;border-radius:50px;font-weight:600;text-align:center;cursor:pointer;border:none}.home-button-primary{background-color:#fff;color:var(--olive);box-shadow:var(--shadow-subtle)}.home-button-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px #00000026}.home-button-secondary{background-color:#ffffff26;color:#fff;border:2px solid white}.home-button-secondary:hover{background-color:#ffffff40}.home-footer-text{margin-top:2rem;font-size:.9rem;opacity:.7}.loader-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;background-color:var(--cream);gap:1rem}.spinner{border:4px solid var(--cream);border-top-color:var(--olive);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}html,body,#root{width:100%;margin:0;padding:0;overflow-x:hidden}.invitation-page{width:100%;min-height:100vh;margin:0;padding:0;background:var(--warm-white)}.invitation-container{width:100%;max-width:none;margin:0;padding:0;background:#fff;border-radius:0;overflow:hidden;box-shadow:none}.section-inner{width:min(100%,1120px);margin:0 auto;padding-left:clamp(24px,6vw,96px);padding-right:clamp(24px,6vw,96px)}.section-narrow{width:min(100%,760px);margin:0 auto}.invitation-section,.section{width:100%;padding:clamp(64px,8vw,110px) clamp(28px,7vw,96px)}@media (max-width: 768px){.invitation-section,.section{padding:52px 24px}}.floral-divider{width:100%;max-width:100%;height:auto;margin:clamp(2rem,4vw,3.5rem) 0;padding:0;object-fit:contain;opacity:.85;display:block}.floral-divider.small{max-width:clamp(140px,18vw,260px);margin:clamp(1.5rem,3vw,2.5rem) auto}.floral-divider.large{max-width:100%;margin:clamp(2.5rem,5vw,4rem) 0}.design-monogram{width:auto;max-width:clamp(180px,22vw,320px);height:auto;margin:clamp(1.5rem,3vw,2.5rem) auto;padding:0;object-fit:contain;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.05))}.hero-section{width:100%;min-height:100vh;position:relative;display:grid;place-items:center;background-size:cover;background-position:center center;color:#fffaf1;overflow:hidden;margin:0;padding:0}.hero-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(to bottom,#14180f2e,#14180f59 25%,#14180f85 60%,#14180fb8)}.hero-content{position:relative;z-index:3;width:min(100%,1200px);margin:0 auto;text-align:center;color:#fffaf1;padding:clamp(60px,8vw,110px) clamp(24px,7vw,120px) clamp(90px,12vw,150px);transform:translateY(-80px)}.hero-title{margin:0;display:grid;gap:18px;justify-items:center}.hero-kicker{font-family:var(--title-font);font-size:clamp(4rem,7vw,7.4rem);line-height:.95;font-weight:400;color:#fffaf1;letter-spacing:.015em;text-shadow:0 5px 30px rgba(0,0,0,.48);margin:0}.hero-names{font-family:var(--title-font);font-size:clamp(3.4rem,6.2vw,6.5rem);line-height:1;font-weight:500;color:#fffaf1;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;text-shadow:0 5px 34px rgba(0,0,0,.55);margin:0}.name-separator,.hero-amp{display:inline-block;margin:0 .28em;letter-spacing:0}@media (max-width: 720px){.hero-content{transform:translateY(-48px);padding-top:70px}.hero-kicker{font-size:clamp(3rem,13vw,5rem)}.hero-names{white-space:normal;font-size:clamp(2.5rem,11vw,4.3rem);letter-spacing:.1em}}.hero-date-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px);width:min(100%,780px);margin:clamp(32px,4vw,48px) auto 0;position:relative;z-index:3}.hero-date-card{position:relative;min-height:clamp(155px,18vw,230px);border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.78);box-shadow:0 18px 44px #00000047;display:flex;align-items:flex-end;justify-content:center}.hero-date-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero-date-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;z-index:1}.hero-date-card-content,.hero-date-content{position:relative;z-index:2;width:100%;padding:20px 12px 22px;text-align:center;color:#fff}.hero-date-value{font-family:var(--title-font);font-size:clamp(2.5rem,4.3vw,4.6rem);line-height:1;font-weight:500;color:#fff;margin:0}.hero-date-label{margin-top:7px;font-size:.72rem;text-transform:uppercase;letter-spacing:.24em;color:var(--muted)}@media (max-width: 720px){.hero-date-gallery{gap:10px;width:min(100%,94vw);margin-top:28px}.hero-date-card{min-height:clamp(112px,31vw,150px);border-radius:20px}.hero-date-value{font-size:clamp(2rem,8vw,3.2rem)}.hero-date-label{font-size:.58rem;letter-spacing:.16em}}.music-player-section,.music-player{display:none!important;margin:0!important;padding:0!important;height:0!important;min-height:0!important;background:transparent!important}.hero-music{display:none!important;margin:0!important}.music-player-container{display:none!important;margin:0!important;padding:0!important}.music-button{width:64px;height:64px;border-radius:999px;border:1px solid rgba(255,255,255,.78);background:#ffffff24;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fffaf1;box-shadow:0 12px 32px #00000047;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.music-button:hover{background:#ffffff40;transform:translateY(-1px) scale(1.04)}.music-button.active:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:999px;border:1px solid rgba(255,255,255,.3);animation:pulseRing 1.8s ease-out infinite}@keyframes pulseRing{0%{transform:scale(.95);opacity:.8}70%{transform:scale(1.2);opacity:0}to{opacity:0}}.music-equalizer{display:flex;gap:4px;height:14px;align-items:flex-end;opacity:0;transition:opacity .3s ease}.music-equalizer.active{opacity:1}.music-equalizer span{width:3px;border-radius:999px;background:#fffaf1eb;height:5px}.music-equalizer.active span:nth-child(1){animation:eq1 .8s ease-in-out infinite}.music-equalizer.active span:nth-child(2){animation:eq2 .9s ease-in-out infinite}.music-equalizer.active span:nth-child(3){animation:eq3 .7s ease-in-out infinite}@keyframes eq1{0%,to{height:5px}50%{height:14px}}@keyframes eq2{0%,to{height:10px}50%{height:6px}}@keyframes eq3{0%,to{height:6px}50%{height:13px}}.music-text,.music-caption{display:none!important;margin:0!important;padding:0!important;font-size:0!important;height:0!important}.music-error{color:#fffaf1a6;font-size:clamp(.75rem,1vw,.85rem);text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.3);margin-top:clamp(8px,1vw,12px)}.photo-section{width:100%;max-width:none;margin:0;padding:0;overflow:hidden;background:var(--warm-white)}.photo-frame{width:100%;max-width:none;margin:0;padding:0;overflow:hidden;border-radius:0;background:var(--cream);display:block}.photo-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.photo-section-banner .photo-frame,.photo-section-full .photo-frame{height:clamp(560px,62vw,860px)}.photo-section-medium .photo-frame{height:clamp(500px,56vw,760px)}.photo-section-final .photo-frame{height:clamp(540px,60vw,820px)}.photo-section-round{padding:clamp(56px,7vw,90px) 24px;background:#fffc}.photo-section-round .photo-frame{width:min(86vw,620px);aspect-ratio:1 / 1;height:auto;margin:0 auto;border-radius:999px;box-shadow:var(--shadow-soft)}.photo-section-round .photo-frame img{height:100%}.photo-fallback{width:100%;min-height:clamp(320px,42vw,560px);display:grid;place-items:center;background:linear-gradient(#fffaf1d1,#fffaf1d1),url(/assets/design/fondo_web.png);background-size:cover;background-position:center}.photo-fallback-monogram{width:min(70vw,340px);height:auto;mix-blend-mode:multiply;opacity:.82}@media (max-width: 768px){.photo-section-banner .photo-frame,.photo-section-full .photo-frame,.photo-section-medium .photo-frame,.photo-section-final .photo-frame{height:clamp(360px,98vw,620px)}}.section-title{font-family:var(--title-font);font-size:clamp(2.3rem,5vw,4.2rem);text-align:center;color:var(--olive);line-height:1.05;margin-bottom:clamp(1.5rem,2.5vw,2.5rem);margin-top:0;font-weight:400;letter-spacing:.02em;position:relative;padding-bottom:clamp(.8rem,1.5vw,1.5rem)}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:clamp(50px,8vw,100px);height:1px;background:linear-gradient(90deg,transparent 0%,var(--olive) 50%,transparent 100%)}.split-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,80px);align-items:center;max-width:1000px;margin:0 auto}@media (max-width: 768px){.split-section{grid-template-columns:1fr;gap:clamp(24px,4vw,36px)}}.split-text{padding:clamp(0,0,0)}.split-image{padding:clamp(0,0,0);text-align:center}.versicle-section,.verse-section{width:100%;background:var(--warm-white);padding:clamp(90px,10vw,150px) clamp(24px,7vw,120px);text-align:center}.versicle-section .section-narrow,.verse-inner{width:min(100%,1180px);margin:0 auto}.versicle-section:before{content:'"';font-family:var(--title-font);font-size:clamp(4rem,10vw,7rem);color:var(--olive);opacity:.12;position:absolute;top:clamp(-10px,-1vw,0);left:clamp(8px,2vw,30px)}.versicle-text,.verse-text{font-family:var(--title-font);font-size:clamp(2rem,3.1vw,3.8rem);line-height:1.45;font-style:italic;color:var(--olive);font-weight:400;margin:0 auto;max-width:1180px}.versicle-cite,.verse-ref,.verse-citation{margin-top:clamp(34px,4vw,56px);font-family:var(--body-font);font-size:clamp(1rem,1.3vw,1.35rem);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}@media (max-width: 600px){.versicle-section,.verse-section{padding:70px 24px}.versicle-text,.verse-text{font-size:clamp(1.65rem,7vw,2.3rem);line-height:1.5}.versicle-cite,.verse-ref,.verse-citation{font-size:.86rem;letter-spacing:.12em}}.parents-section{padding:clamp(48px,8vw,84px) clamp(28px,7vw,96px);background:#fffc}.parents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,36px);max-width:840px;margin:clamp(24px,3vw,36px) auto 0}@media (max-width: 768px){.parents-grid{grid-template-columns:1fr}}.parent-card{background:#fff;padding:clamp(24px,4vw,42px);border-radius:clamp(20px,3vw,32px);text-align:center;border:1px solid rgba(111,125,84,.08);box-shadow:var(--shadow-subtle)}.parent-card-title{font-size:clamp(.9rem,1.3vw,1rem);color:var(--olive);margin-bottom:clamp(.8rem,1.2vw,1.2rem);font-weight:600;text-transform:uppercase;letter-spacing:1px}.parent-names{font-family:var(--title-font);font-size:clamp(1.1rem,2vw,1.5rem);color:var(--text);line-height:clamp(1.6,1.9vw,1.9);font-weight:400}.date-section{padding:clamp(48px,8vw,84px) clamp(28px,7vw,96px);text-align:center;background:#ffffff80}.date-formal{margin-bottom:clamp(2.5rem,3vw,3.5rem);position:relative;padding:0 clamp(16px,2vw,48px);max-width:600px;margin-left:auto;margin-right:auto}.date-formal:before,.date-formal:after{content:"";position:absolute;top:50%;width:clamp(2rem,3vw,4rem);height:1px;background:var(--olive);opacity:.25}.date-formal:before{left:0}.date-formal:after{right:0}.date-day-of-week{font-family:var(--body-font);font-size:clamp(.8rem,1.3vw,1rem);color:var(--olive);font-weight:600;text-transform:uppercase;letter-spacing:2px;margin-bottom:clamp(.4rem,.8vw,.8rem)}.date-day-month{font-family:var(--title-font);font-size:clamp(3rem,6.5vw,5rem);color:var(--olive);margin:clamp(.4rem,.8vw,.8rem) 0;font-weight:400;line-height:1}.date-year{font-size:clamp(.95rem,1.5vw,1.3rem);color:var(--muted);font-weight:500}.countdown-container{padding:clamp(28px,4vw,42px);background:#fff;border-radius:clamp(18px,3vw,28px);margin-top:clamp(2rem,3vw,3.5rem);border:1px solid rgba(111,125,84,.08);box-shadow:var(--shadow-subtle);max-width:720px;margin-left:auto;margin-right:auto}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2vw,20px)}@media (max-width: 480px){.countdown-grid{grid-template-columns:repeat(2,1fr)}}.countdown-item{text-align:center;background:linear-gradient(135deg,var(--warm-white) 0%,var(--cream) 100%);padding:clamp(14px,2vw,22px);border-radius:clamp(12px,2vw,18px);box-shadow:0 4px 12px #6f7d540f}.countdown-number{display:block;font-family:var(--title-font);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:500;color:var(--olive);line-height:1}.countdown-label{display:block;font-size:clamp(.65rem,1vw,.8rem);color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-top:clamp(4px,.5vw,8px);font-weight:600}.save-the-date-label{font-family:var(--body-font);font-size:clamp(1.25rem,1.82vw,1.63rem);font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--olive);text-align:center;margin:clamp(1.8rem,3vw,3rem) auto clamp(2rem,3vw,3.2rem);padding:0}.countdown-title{font-family:var(--body-font);font-size:clamp(1.25rem,1.82vw,1.63rem);font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--olive);text-align:center;margin:clamp(2.6rem,4vw,4rem) auto clamp(1.4rem,2vw,2rem);padding:0}.date-time{font-size:clamp(.95rem,1.4vw,1.2rem);color:var(--muted);font-weight:500;margin-top:clamp(.8rem,1vw,1.2rem)}@media (max-width: 600px){.save-the-date-label{font-size:1.07rem;letter-spacing:.22em;margin:1.6rem auto 2rem}.countdown-title{font-size:1.07rem;letter-spacing:.22em;margin:2.2rem auto 1.3rem}}.location-section{padding:clamp(48px,8vw,84px) clamp(28px,7vw,96px);background:#fff;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,48px);max-width:1000px;margin:0 auto}@media (max-width: 768px){.location-section{grid-template-columns:1fr;gap:clamp(20px,3vw,28px)}}@media (max-width: 560px){.location-title{font-size:clamp(1.55rem,8vw,2rem)}.location-time{font-size:1.05rem}.location-place{font-size:1.18rem}.location-address,.location-sector{font-size:1rem}}.location-card{background:linear-gradient(135deg,var(--warm-white) 0%,var(--cream) 100%);padding:clamp(34px,4.6vw,52px);border-radius:clamp(20px,3vw,32px);text-align:center;border:1px solid rgba(111,125,84,.08);position:relative;box-shadow:var(--shadow-subtle)}.location-card:before{content:"📍";display:block;font-size:clamp(2rem,3vw,2.8rem);margin-bottom:clamp(.8rem,1.3vw,1.2rem);opacity:.8}.location-title{font-family:var(--title-font);font-size:clamp(1.7rem,3.25vw,2.35rem);color:var(--olive);margin-bottom:clamp(.8rem,1.2vw,1.3rem);font-weight:400;line-height:1.12}.location-time{font-weight:700;color:var(--olive);font-size:clamp(1.15rem,1.56vw,1.32rem);margin-bottom:clamp(.7rem,1.2vw,1rem);line-height:1.35}.location-place{font-family:var(--title-font);font-weight:500;color:var(--text);margin-bottom:clamp(.45rem,.7vw,.65rem);font-size:clamp(1.2rem,1.8vw,1.45rem);line-height:1.35}.location-address,.location-sector{font-size:clamp(1.08rem,1.56vw,1.2rem);color:var(--muted);margin-bottom:clamp(.3rem,.5vw,.5rem);line-height:1.65}.location-button{display:inline-flex;align-items:center;justify-content:center;gap:clamp(.4rem,.7vw,.8rem);background:var(--olive);color:#fff;padding:clamp(.75rem,1vw,1rem) clamp(1.2rem,2vw,1.8rem);border-radius:30px;margin-top:clamp(.8rem,1.3vw,1.2rem);font-weight:600;font-size:clamp(.85rem,1.2vw,1rem);box-shadow:0 8px 20px #6f7d5440;border:none;cursor:pointer}.location-button:hover{transform:translateY(-3px);box-shadow:0 12px 28px #6f7d5459}.timeline-section{padding:clamp(48px,8vw,84px) clamp(28px,7vw,96px);background:#fffc}.timeline{position:relative;padding-left:clamp(2rem,3vw,3.5rem);max-width:720px;margin:clamp(24px,3vw,36px) auto 0}.timeline:before{content:"";position:absolute;left:clamp(.6rem,1vw,1rem);top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--olive) 0%,var(--olive-soft) 100%)}.timeline-item{position:relative;margin-bottom:clamp(1.8rem,2.5vw,2.8rem);padding-bottom:clamp(.6rem,1vw,1rem)}.timeline-item:last-child{margin-bottom:0}.timeline-marker{position:absolute;width:clamp(14px,2vw,18px);height:clamp(14px,2vw,18px);background:#fff;border:3px solid var(--olive);border-radius:50%;left:clamp(-1.8rem,-2.5vw,-2.5rem);top:clamp(-.2rem,-.3vw,0);box-shadow:0 0 0 clamp(3px,.6vw,6px) #6f7d541f}.timeline-content{background:#fff;padding:clamp(16px,2vw,24px);border-radius:clamp(14px,2vw,20px);border-left:3px solid var(--olive);box-shadow:0 8px 20px #6f7d5414}.timeline-time{font-weight:700;color:var(--olive);font-size:clamp(.8rem,1.2vw,.95rem);text-transform:uppercase;letter-spacing:.6px;margin-bottom:clamp(.2rem,.4vw,.3rem)}.timeline-activity{color:var(--text);font-size:clamp(.95rem,1.3vw,1.1rem);font-weight:500}.dress-code-section{padding:clamp(48px,8vw,84px) clamp(28px,7vw,96px);background:#fffc}.dress-code-card{background:#fff;padding:clamp(32px,5vw,54px);border-radius:clamp(20px,3vw,32px);text-align:center;border:1px solid rgba(111,125,84,.08);position:relative;box-shadow:var(--shadow-subtle);max-width:700px;margin:clamp(24px,3vw,36px) auto 0}.dress-code-image{width:auto;max-width:clamp(200px,30vw,360px);height:auto;margin:0 auto clamp(1.2rem,2vw,2rem);object-fit:contain;display:block}.dress-code-type{font-family:var(--title-font);font-size:clamp(2.4rem,5vw,3.5rem);color:var(--olive);margin-bottom:clamp(1rem,1.5vw,1.5rem);font-weight:400}.dress-code-note{font-size:clamp(.95rem,1.3vw,1.1rem);color:var(--text);line-height:clamp(1.7,1.9vw,1.9);background:linear-gradient(135deg,var(--warm-white) 0%,var(--cream) 100%);padding:clamp(1rem,1.5vw,1.5rem);border-radius:clamp(12px,2vw,18px);border-left:4px solid var(--rose)}.gift-section{padding:clamp(48px,8vw,84px) clamp(28px,7vw,96px);background:#fffc}.gift-card{background:#fff;padding:clamp(48px,6vw,60px) clamp(32px,5vw,54px);border-radius:clamp(20px,3vw,32px);border:1px solid rgba(111,125,84,.08);box-shadow:var(--shadow-subtle);max-width:700px;margin:clamp(24px,3vw,36px) auto 0;text-align:center}.gift-image{display:none}.gift-message{color:var(--text);line-height:clamp(1.7,1.9vw,1.9);margin:0 auto clamp(2rem,3vw,2.8rem);text-align:center;font-size:clamp(.95rem,1.3vw,1.1rem);max-width:620px}.gift-button{width:min(100%,560px);margin:0 auto;background:var(--olive);color:#fff;padding:clamp(.9rem,1.2vw,1.15rem);border-radius:999px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:clamp(.6rem,1vw,.8rem);box-shadow:0 12px 28px #6f7d5440;border:none;cursor:pointer;font-size:clamp(.9rem,1.2vw,1rem)}.gift-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px #6f7d5457}.gift-details{width:min(100%,560px);margin:clamp(1.4rem,2vw,2rem) auto 0;background:linear-gradient(135deg,var(--warm-white) 0%,var(--cream) 100%);padding:clamp(1.2rem,2vw,2rem);border-radius:clamp(16px,2vw,22px);animation:slideDown .4s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.gift-detail-row{display:flex;justify-content:space-between;align-items:center;padding:clamp(.6rem,1vw,.8rem) 0;border-bottom:1px solid rgba(111,125,84,.1);font-size:clamp(.9rem,1.2vw,1rem)}.gift-detail-row:last-child{border-bottom:none}.gift-label{font-weight:700;color:var(--olive)}.gift-value{color:var(--text)}.gift-highlight{font-weight:700;background:#fff;padding:clamp(.2rem,.4vw,.4rem) clamp(.4rem,.7vw,.8rem);border-radius:4px;font-family:Courier New,monospace}.rsvp-section{padding:clamp(48px,8vw,84px) clamp(28px,7vw,96px);background:#fffc}.rsvp-subtitle{text-align:center;color:var(--muted);margin-bottom:clamp(1.5rem,2.5vw,2.5rem);font-size:clamp(.95rem,1.3vw,1.15rem);max-width:720px;margin-left:auto;margin-right:auto}.rsvp-form{background:#fff;padding:clamp(32px,5vw,54px);border-radius:clamp(20px,3vw,32px);margin-bottom:clamp(1.5rem,2.5vw,2.5rem);border:1px solid rgba(111,125,84,.08);box-shadow:var(--shadow-subtle);max-width:720px;margin-left:auto;margin-right:auto}.form-group{margin-bottom:clamp(1.2rem,2vw,2rem)}.form-group:last-child{margin-bottom:0}.form-label{display:block;margin-bottom:clamp(.5rem,.8vw,.8rem);font-weight:600;color:var(--text);font-size:clamp(.9rem,1.2vw,1rem)}.form-input,.form-select{width:100%;padding:clamp(.7rem,1vw,1rem);min-height:clamp(40px,5vw,50px);border:1.5px solid rgba(111,125,84,.15);border-radius:clamp(10px,1.5vw,14px);font-family:inherit;font-size:clamp(.95rem,1.2vw,1rem);color:var(--text);background:#fff;transition:all .3s ease}.form-input:focus,.form-select:focus{outline:none;border-color:var(--olive);box-shadow:0 0 0 3px #6f7d541a}.form-textarea{resize:vertical;min-height:120px}.form-button{width:100%;padding:clamp(.9rem,1.3vw,1.2rem);background:var(--olive);color:#fff;border-radius:clamp(12px,2vw,18px);font-weight:600;font-size:clamp(.95rem,1.2vw,1.1rem);margin-top:clamp(1.2rem,2vw,2rem);box-shadow:0 8px 20px #6f7d5440;cursor:pointer;border:none}.form-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px #6f7d5459}.form-button:disabled{opacity:.6;cursor:not-allowed}.form-success{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;padding:clamp(.8rem,1.2vw,1.2rem);border-radius:clamp(10px,1.5vw,14px);margin-top:clamp(1rem,1.5vw,1.5rem);text-align:center;border-left:4px solid #28a745;animation:slideDown .4s ease;font-size:clamp(.9rem,1.2vw,1rem)}.form-error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;padding:clamp(.8rem,1.2vw,1.2rem);border-radius:clamp(10px,1.5vw,14px);margin-top:clamp(1rem,1.5vw,1.5rem);text-align:center;border-left:4px solid #dc3545;animation:slideDown .4s ease;font-size:clamp(.9rem,1.2vw,1rem)}.rsvp-final-message{background:#fff;padding:clamp(1.5rem,2.5vw,2.5rem);border-radius:clamp(18px,3vw,28px);text-align:center;color:var(--text);line-height:clamp(1.7,1.9vw,1.9);border:1px solid rgba(111,125,84,.08);box-shadow:var(--shadow-subtle);max-width:720px;margin:0 auto;font-size:clamp(.95rem,1.3vw,1.1rem)}.contact-section{width:100%;min-height:100svh;background:linear-gradient(135deg,var(--olive) 0%,var(--olive-dark) 100%);color:#fffaf1;padding:clamp(90px,10vw,140px) clamp(24px,6vw,96px);text-align:center;margin:0;display:grid;place-items:center;position:relative;overflow:hidden}.contact-inner{width:min(100%,760px);margin:0 auto;position:relative;z-index:2}.contact-section .section-title,.contact-section h2,.contact-title{color:#fffaf1!important}.contact-section .section-title:after{background:linear-gradient(90deg,transparent 0%,rgba(255,250,241,.6) 50%,transparent 100%)}.contact-subtitle{text-align:center;color:#fffaf1eb;margin-bottom:clamp(2rem,3vw,3rem);font-size:clamp(1rem,1.4vw,1.25rem);max-width:600px;margin-left:auto;margin-right:auto}.contact-buttons,.whatsapp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:min(100%,620px);margin:0 auto}.whatsapp-grid.single{grid-template-columns:1fr}.whatsapp-button,.whatsapp-btn{display:inline-flex;align-items:center;justify-content:center;gap:clamp(.6rem,1vw,.8rem);min-height:54px;background:#fffaf1;color:var(--olive-dark);padding:clamp(.9rem,1.3vw,1.2rem);border-radius:clamp(14px,2vw,20px);font-weight:700;box-shadow:0 12px 28px #0000002e;font-size:clamp(.9rem,1.2vw,1rem);border:none;cursor:pointer;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.whatsapp-button:hover,.whatsapp-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px #00000038}@media (max-width: 560px){.whatsapp-grid{grid-template-columns:1fr}}.final-message-section{width:100%;background:linear-gradient(#fffaf1d1,#fffaf1d1),url(/assets/design/fondo_web.png);background-size:cover;background-position:center;padding:clamp(64px,8vw,110px) clamp(28px,7vw,96px);text-align:center}.final-goodbye{font-family:var(--title-font);font-size:clamp(2.8rem,6vw,4rem);color:var(--olive);margin:0;font-weight:400;letter-spacing:.02em;line-height:1.1}.final-monogram,.invitation-footer{display:none}.invitation-error{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--cream) 0%,var(--warm-white) 100%);padding:2rem 1rem}.error-container{background:#fff;padding:clamp(2rem,4vw,3.5rem);border-radius:clamp(20px,3vw,28px);text-align:center;max-width:500px;box-shadow:var(--shadow-soft)}.error-message{color:var(--text);font-size:clamp(1rem,1.3vw,1.2rem);margin-bottom:clamp(1.5rem,2.5vw,2rem);line-height:1.8}.error-button{display:inline-block;background:var(--olive);color:#fff;padding:clamp(.8rem,1vw,1.1rem) clamp(1.5rem,2.5vw,2rem);border-radius:30px;font-weight:600;border:none;cursor:pointer}.error-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-subtle)}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--olive) 0%,var(--olive-dark) 100%);padding:2rem 1rem}.admin-login-container{width:100%;max-width:450px}.admin-login-card{background:#fff;padding:3rem 2rem;border-radius:24px;box-shadow:var(--shadow-soft)}.admin-login-title{font-family:var(--title-font);font-size:clamp(1.8rem,4vw,2.4rem);text-align:center;color:var(--olive);margin-bottom:.5rem}.admin-login-subtitle{text-align:center;color:var(--muted);margin-bottom:2rem;font-size:.95rem}.admin-login-form{margin-bottom:1.5rem}.admin-login-info{text-align:center;color:var(--muted);font-size:.85rem}.admin-panel-page{min-height:100vh;background:var(--cream);padding:2rem 1rem}.admin-header{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto 2rem;background:#fff;padding:1.5rem;border-radius:16px;box-shadow:var(--shadow-subtle);flex-wrap:wrap;gap:1rem}.admin-title{font-family:var(--title-font);font-size:clamp(1.6rem,3vw,2.2rem);color:var(--olive)}.admin-logout-button{background:var(--olive);color:#fff;padding:.8rem 1.5rem;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;border:none;display:flex;align-items:center;gap:.5rem}.admin-logout-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-subtle)}.admin-main{max-width:1200px;margin:0 auto}.admin-section{background:#fff;padding:2rem;border-radius:16px;margin-bottom:1.5rem;box-shadow:var(--shadow-subtle)}.admin-section-title{font-family:var(--title-font);font-size:clamp(1.3rem,2vw,1.6rem);color:var(--olive);margin-bottom:1.5rem;border-bottom:2px solid var(--cream);padding-bottom:.8rem}.admin-form-group{margin-bottom:1.5rem}.admin-label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text);font-size:.95rem}.admin-input{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:10px;font-family:inherit;font-size:.95rem;min-height:40px}.admin-input:focus{outline:none;border-color:var(--olive);box-shadow:0 0 0 3px #6f7d541a}.admin-button{background:var(--olive);color:#fff;padding:.8rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem}.admin-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-subtle)}.admin-success{background:#d4edda;color:#155724;padding:1rem;border-radius:10px;margin-bottom:1.5rem;border-left:4px solid #28a745}.admin-error{background:#f8d7da;color:#721c24;padding:1rem;border-radius:10px;margin-bottom:1.5rem;border-left:4px solid #dc3545}.uploader-container{border:2px dashed #ddd;border-radius:10px;padding:1.5rem;text-align:center;margin-bottom:1rem}.uploader-button{display:inline-flex;align-items:center;gap:.5rem;background:var(--olive);color:#fff;padding:.8rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;border:none}.uploader-button:hover{opacity:.9}.uploader-hint{font-size:.85rem;color:var(--muted);margin-top:.5rem}.uploader-progress{width:100%;height:4px;background:#e0e0e0;border-radius:4px;margin-top:.5rem;overflow:hidden}.uploader-progress-bar{height:100%;background:var(--olive);border-radius:4px;transition:width .3s ease}.uploader-success{display:flex;align-items:center;gap:.5rem;background:#d4edda;color:#155724;padding:.8rem;border-radius:10px;margin-top:.5rem;font-size:.9rem}.uploader-error{display:flex;align-items:center;gap:.5rem;background:#f8d7da;color:#721c24;padding:.8rem;border-radius:10px;margin-top:.5rem;font-size:.9rem}@media (max-width: 768px){.admin-header{flex-direction:column;text-align:center}.countdown-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.invitation-container{border-radius:0}.hero-date-gallery{margin-top:1.5rem}}.invitation-shell,.public-invitation,.wedding-page,.app,.main-container{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;border-radius:0!important;padding:0!important}.hero-section,.photo-section,.contact-section,.final-message-section{width:100%!important;max-width:100%!important;margin:0!important}.logo-card,.monogram-card,.initials-card,.logo-container{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important}.photo-section-with-music .photo-frame{position:relative}.music-overlay-player{position:absolute;top:clamp(22px,4vw,46px);left:50%;transform:translate(-50%);z-index:5;width:auto;height:auto;display:flex;align-items:center;justify-content:center;pointer-events:none}.music-overlay-audio{display:none!important}.music-overlay-button{width:clamp(62px,7vw,78px);height:clamp(62px,7vw,78px);border-radius:999px;border:1px solid rgba(255,255,255,.72);background:#6f7d548f;color:#fffaf1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 16px 42px #00000047;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;position:relative;margin:0;padding:0;border:none;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.music-overlay-button:hover{transform:scale(1.04);background:#4f5d37b8}.music-overlay-button.active:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:999px;border:1px solid rgba(255,255,255,.38);animation:musicOverlayPulse 1.8s ease-out infinite}@keyframes musicOverlayPulse{0%{transform:scale(.95);opacity:.8}70%{transform:scale(1.22);opacity:0}to{opacity:0}}.music-overlay-eq{position:absolute;bottom:11px;right:12px;display:flex;gap:2px;height:10px;align-items:flex-end;opacity:0;transition:opacity .25s ease}.music-overlay-button.active .music-overlay-eq{opacity:1}.music-overlay-eq i{width:2px;height:4px;border-radius:999px;background:#fffaf1;display:block}.music-overlay-button.active .music-overlay-eq i:nth-child(1){animation:miniEq1 .75s ease-in-out infinite}.music-overlay-button.active .music-overlay-eq i:nth-child(2){animation:miniEq2 .85s ease-in-out infinite}.music-overlay-button.active .music-overlay-eq i:nth-child(3){animation:miniEq3 .7s ease-in-out infinite}@keyframes miniEq1{0%,to{height:3px}50%{height:9px}}@keyframes miniEq2{0%,to{height:7px}50%{height:4px}}@keyframes miniEq3{0%,to{height:4px}50%{height:8px}}@media (max-width: 640px){.music-overlay-player{top:22px}.music-overlay-button{width:58px;height:58px}}.hero-music-caption{display:none!important;margin:0!important;padding:0!important;font-size:0!important;height:0!important}.photo-section-contain{background:linear-gradient(#fffaf1db,#fffaf1db),url(/assets/design/fondo_web.png);background-size:cover;background-position:center;padding:clamp(44px,6vw,90px) clamp(24px,6vw,96px)}.photo-section-contain .photo-frame{width:min(100%,1120px);height:auto;min-height:unset;margin:0 auto;padding:0;display:grid;place-items:center;border-radius:34px;overflow:visible}.photo-section-contain .photo-frame img{width:100%;height:auto;max-height:860px;object-fit:contain;border-radius:34px;box-shadow:var(--shadow-soft)}.invitation-page,.invitation-container{margin-bottom:0!important;padding-bottom:0!important}.contact-section{margin-bottom:0!important}.contact-section+*{display:none!important}.no-kids-section{width:100%;background:linear-gradient(#fffaf1e0,#fffaf1e0),url(/assets/design/fondo_web.png);background-size:cover;background-position:center;padding:clamp(64px,8vw,110px) clamp(24px,6vw,96px);text-align:center}.no-kids-inner{width:min(100%,820px);margin:0 auto}.no-kids-card{width:min(100%,720px);margin:0 auto;padding:clamp(38px,5vw,64px) clamp(28px,5vw,58px);background:#ffffffb8;border:1px solid rgba(111,125,84,.08);border-radius:clamp(22px,3vw,34px);box-shadow:var(--shadow-subtle)}.no-kids-icon-wrap{position:relative;width:74px;height:74px;margin:0 auto clamp(1.4rem,2vw,2rem);border:1.8px solid rgba(111,125,84,.55);border-radius:999px;display:grid;place-items:center;color:var(--olive)}.no-kids-slash{position:absolute;width:92px;height:2px;background:#6f7d54b3;transform:rotate(-42deg);border-radius:999px}.no-kids-title{font-family:var(--body-font);font-size:clamp(1.35rem,2vw,1.85rem);font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--olive);text-align:center;margin:0 auto clamp(1.2rem,2vw,1.8rem)}.no-kids-message{font-size:clamp(1.05rem,1.55vw,1.35rem);line-height:1.75;color:var(--muted);text-align:center;max-width:620px;margin:0 auto}@media (max-width: 600px){.no-kids-section{padding:58px 24px}.no-kids-card{padding:34px 24px}.no-kids-icon-wrap{width:66px;height:66px}.no-kids-slash{width:82px}.no-kids-title{font-size:1.15rem;letter-spacing:.22em}.no-kids-message{font-size:1rem;line-height:1.7}}*,*:before,*:after{box-sizing:border-box}html{width:100%;margin:0;padding:0;overflow:hidden;background:var(--olive-dark)}html:has(body){overflow-y:scroll;overflow-x:hidden}body{width:100%;height:auto;margin:0;padding:0;overflow:visible;overflow-x:hidden;background-color:var(--olive-dark)}#root{width:100%;height:auto;margin:0;padding:0;overflow:visible}.invitation-page,.invitation-container{width:100%;height:auto;max-width:100%;margin:0;padding:0;overflow:visible;overflow-x:clip}
