@import "https://fonts.googleapis.com/css2?family=Rouge+Script&family=Cinzel:wght@400;700&family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Lora:wght@400;600&display=swap";:root{--bg-page:#f2ede1;--text-primary:#1a1c1e;--accent-gold:#b28d42;--iron-gray:#5c5e60;--olive-green:#3e4a32;--countdown-bg:#556b2f;--countdown-box:#2b331fb3;--font-lora:"Lora", serif;--font-cinzel:"Cinzel", serif;--font-cormorant:"Cormorant Garamond", serif;--font-intro-script:"Rouge Script", cursive;--music-btn:#556b2f;--music-btn-hover:#3c4b28;--music-btn-shadow:#556b2f66}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;font-family:var(--font-lora);color:var(--text-primary);background-color:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle,#fff6 0%,#0000 100%),url(https://www.transparenttextures.com/patterns/natural-paper.png);background-attachment:fixed;margin:0}#root{width:100%}section{max-width:900px;margin:0 auto;padding:3rem 1.5rem}@media (width>=768px){section{padding:4rem 2rem}}.section-title-cursive{font-family:var(--font-cinzel);text-transform:uppercase;letter-spacing:.15em;color:var(--text-primary);text-align:center;margin:0 0 .5rem;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700}.section-subtitle{font-family:var(--font-lora);color:var(--text-primary);text-align:center;margin:0 0 2rem;font-size:1.1rem}.casamiento-music-btn{z-index:999;background:var(--music-btn);color:#fff;cursor:pointer;width:48px;height:48px;box-shadow:0 4px 16px var(--music-btn-shadow);border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,background .2s;display:flex;position:fixed;bottom:32px;right:32px}.casamiento-music-btn:hover{background:var(--music-btn-hover);transform:translateY(-2px)}.casamiento-music-icon{font-size:1.25rem;line-height:1}@media (width<=768px){.casamiento-music-btn{width:44px;height:44px;bottom:max(24px, env(safe-area-inset-bottom,24px));right:max(20px, env(safe-area-inset-right,20px));min-width:44px;min-height:44px}.casamiento-music-icon{font-size:1.1rem}}.intro{z-index:9999;touch-action:manipulation;justify-content:center;align-items:center;width:100%;height:100dvh;min-height:-webkit-fill-available;display:flex;position:fixed;inset:0;overflow:hidden}.intro-vg{cursor:pointer;background-color:#f1ebdf}.intro-vg-wrap,.intro-vg-sobre{width:100%;height:100%;position:absolute;inset:0}.intro-vg-img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.intro-throne{z-index:1;pointer-events:none;opacity:.95;width:min(100vw,450px);position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.intro-vg-text{font-family:var(--font-intro-script,"Rouge Script", cursive);color:#7a815f;text-align:center;text-shadow:0 1px 2px #00000014;pointer-events:none;opacity:0;margin:0;padding:0 clamp(12px,4vw,24px);font-size:clamp(1.15rem,5vw,1.75rem);animation:.9s .4s forwards introVgTextIn;position:absolute;bottom:clamp(1.25rem,5vh,2.5rem);left:0;right:0}@keyframes introVgTextIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.intro-vg-light{z-index:10;pointer-events:none;opacity:0;background:radial-gradient(circle,#fffffffa 0%,#ffffffd9 35%,#f8f5f0b3 70%,#0000 100%);animation:.7s forwards introVgIlluminate;position:fixed;inset:0}@keyframes introVgIlluminate{to{opacity:1}}.hero{background-color:#2a3a2e;background-position:50%;background-size:cover;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.hero-overlay{pointer-events:none;z-index:1;background:linear-gradient(#00000026,#0000004d);position:absolute;inset:0}.hero-sigil-stark{opacity:.25;filter:grayscale()invert();pointer-events:none;z-index:0;width:min(80vw,400px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-content{z-index:2;text-align:center;color:#fff;padding:2rem 1.5rem;position:relative}.hero-nos-casamos{font-family:var(--font-cinzel);letter-spacing:.25em;text-transform:uppercase;margin:0 0 .5rem;font-size:clamp(.9rem,2.2vw,1.2rem)}.hero-names{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35em .6em;margin:0 0 .5rem;line-height:1.1;display:flex}.hero-name{font-family:var(--font-cinzel);text-transform:uppercase;color:#fff;text-shadow:2px 2px 4px #0006;font-size:clamp(3rem,10vw,5.5rem);font-weight:700}.hero-amp{font-family:var(--font-cormorant);color:var(--accent-gold);font-size:clamp(1.8rem,5vw,3rem);font-style:italic}.hero-scroll-hint{font-family:var(--font-cormorant);color:var(--accent-gold);letter-spacing:.1em;flex-direction:column;align-items:center;gap:.5rem;margin-top:3rem;font-size:1.15rem;display:flex}.hero-scroll-arrow{font-size:1.5rem;animation:2s infinite hero-bounce}@keyframes hero-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.countdown-section{background:var(--olive-green);color:#fff;box-sizing:border-box;text-align:center;width:100vw;max-width:none;margin-left:-50vw;margin-right:-50vw;padding:4rem 1.5rem;position:relative;left:50%;right:50%}.countdown-sigil{opacity:.8;filter:brightness(0)invert();width:80px;height:auto;margin-bottom:1.5rem}.countdown-title-cursive{font-family:var(--font-cinzel);text-transform:uppercase;letter-spacing:.15em;text-align:center;color:#fff;margin:0 0 .5rem;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700}.countdown-subtitle{font-family:var(--font-lora);text-align:center;color:#fff;margin:0 0 2rem;font-size:1.1rem}.countdown-grid{grid-template-columns:repeat(4,1fr);gap:1rem;max-width:600px;margin:0 auto;display:grid}.countdown-block{text-align:center;background:#fff3;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:90px;padding:1.25rem .5rem;display:flex}.countdown-number{font-family:var(--font-cinzel);color:var(--accent-gold);font-size:clamp(1.75rem,4.5vw,2.5rem);font-weight:700;line-height:1.2;display:block}.countdown-label{font-family:var(--font-cormorant);text-transform:uppercase;letter-spacing:.05em;color:#fff;margin-top:.25rem;font-size:.9rem}@media (width<=480px){.countdown-grid{grid-template-columns:repeat(2,1fr)}}.section-divider{justify-content:center;align-items:center;max-width:900px;margin:0 auto;padding:3rem 1.5rem;display:flex}.divider-content{align-items:center;gap:1.5rem;width:min(100%,600px);display:flex}.divider-line{background:linear-gradient(90deg,#0000,#c5a0594d 20%,#c5a05999 50%,#c5a0594d 80%,#0000);border-radius:2px;flex:1;height:2px}.divider-ornament{filter:drop-shadow(0 0 4px #c5a05966);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.ornament-svg{width:100%;height:100%}.mensaje-section{text-align:center;padding:3rem 2rem;position:relative;overflow:visible}.mensaje-dragon-fly{z-index:10;pointer-events:none;filter:drop-shadow(0 10px 15px #0003);width:min(40vw,220px);animation:8s ease-in-out infinite dragon-drift;position:absolute;top:-80px;right:-20px}@keyframes dragon-drift{0%,to{transform:translate(0)rotate(5deg)}50%{transform:translate(-10px,15px)rotate(-5deg)}}.mensaje-hearts{pointer-events:none;position:absolute;inset:0}.mensaje-heart{opacity:.4;animation:5s ease-in-out infinite mensaje-heart-float;position:absolute}.mensaje-heart svg{width:100%;height:100%;display:block}@keyframes mensaje-heart-float{0%,to{opacity:.4;transform:translateY(0)scale(1)}50%{opacity:.6;transform:translateY(-8px)scale(1.08)}}.mensaje-content{z-index:1;max-width:560px;margin:0 auto;position:relative}.mensaje-text{font-family:var(--font-cormorant);color:var(--text-primary);margin:0 0 1rem;font-size:clamp(1.15rem,2.5vw,1.4rem);line-height:1.7}.mensaje-text-2{font-family:var(--font-great-vibes);margin-bottom:0;font-size:clamp(1.6rem,4vw,2.2rem)}.detalles-section{position:relative}.detalles-throne{filter:drop-shadow(0 0 12px #0006);max-width:250px;height:auto;margin:0 auto 1.5rem;display:block}.detalles-card{text-align:center;background:#fff;border-radius:12px;flex-direction:column;align-items:center;margin-bottom:1.25rem;padding:1.75rem;display:flex;box-shadow:0 2px 12px #3a463414}.detalles-card:last-of-type{margin-bottom:0}.detalles-row{justify-content:center;align-items:center;gap:1rem;width:100%;margin-bottom:1.25rem;display:flex}.detalles-row:first-of-type{flex-direction:column}.detalles-row:first-of-type>div{text-align:center}.detalles-row-fecha{flex-direction:column;margin-bottom:0}.detalles-row-fecha>div{text-align:center}.detalles-row-horario{flex-direction:row;margin-top:.75rem}.detail-icon{width:28px;height:28px;color:var(--text-primary);flex-shrink:0}.detalles-label{font-family:var(--font-cormorant);color:var(--text-primary);letter-spacing:.02em;margin:0 0 .35rem;font-size:1.35rem;font-weight:600}.detalles-value{font-family:var(--font-cormorant);color:var(--text-primary);letter-spacing:.02em;margin:0;font-size:1.5rem;font-weight:600}.detalles-address{font-family:var(--font-lora);color:#3a4634cc;margin:.5rem 0 0;font-size:.95rem}.detalles-time{font-family:var(--font-lora);color:#3a4634b3;margin:0;font-size:.95rem}.detalles-map-wrap,.detalles-buttons{width:100%;max-width:100%}.detalles-map-wrap{background:#f5f5f0;border-radius:8px;align-self:stretch;margin:1.5rem 0;overflow:hidden}.detalles-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.detalles-btn{font-family:var(--font-cormorant);color:var(--text-primary);background:var(--bg-page);cursor:pointer;border:1px solid #3a463433;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:1rem;text-decoration:none;transition:opacity .2s,box-shadow .2s;display:inline-flex}.detalles-btn:hover{opacity:.9;box-shadow:0 2px 8px #3a46341f}.btn-icon{width:18px;height:18px}.btn-icon.detail-icon{width:28px;height:28px}.dresscode-section{padding-bottom:2rem}.dresscode-card{background:#fff;border-radius:12px;max-width:560px;margin:0 auto;padding:1.75rem;box-shadow:0 2px 12px #3a463414}.dresscode-item{margin-bottom:1.5rem}.dresscode-item:last-child{margin-bottom:0}.dresscode-label{font-family:var(--font-cormorant);color:var(--countdown-bg);margin:0 0 .35rem;font-size:1.15rem;font-weight:600}.dresscode-value{font-family:var(--font-lora);color:var(--text-primary);margin:0;font-size:.95rem;line-height:1.5}.programa-section{position:relative}.program-timeline{margin:0;padding:0;list-style:none;position:relative}.program-timeline:before{content:"";background:linear-gradient(to bottom, var(--countdown-bg), #787f5c4d);border-radius:1px;width:2px;position:absolute;top:0;bottom:0;left:19px}.program-item{opacity:.4;padding-bottom:2rem;padding-left:56px;transition:opacity .5s,transform .5s;position:relative;transform:translateY(12px)}.program-item:last-child{padding-bottom:0}.program-item-visible{opacity:1;transform:translateY(0)}.program-item:hover{opacity:1}.program-dot{width:40px;height:40px;color:var(--text-primary);background:#fff;border-radius:50%;justify-content:center;align-items:center;transition:transform .25s,box-shadow .25s;display:flex;position:absolute;top:0;left:0;box-shadow:0 2px 10px #3a46341f}.program-item:hover .program-dot{transform:scale(1.1);box-shadow:0 4px 16px #787f5c59}.program-item:hover .program-title{color:var(--countdown-bg)}.program-icon{width:20px;height:20px}.program-time{font-family:var(--font-lora);color:var(--countdown-bg);margin-bottom:.25rem;font-size:1rem;font-weight:600;display:block}.program-title{font-family:var(--font-cormorant);color:var(--text-primary);margin:0 0 .35rem;font-size:1.25rem;font-weight:600;transition:color .25s}.program-desc{font-family:var(--font-lora);color:var(--text-primary);opacity:.9;margin:0;font-size:.95rem}@media (width>=900px){.program-timeline{flex-flow:row;justify-content:space-between;gap:.5rem;padding:2rem 0;display:flex;overflow-x:auto}.program-timeline:before{background:linear-gradient(to right, var(--countdown-bg), #787f5c4d);width:100%;height:2px;inset:28px 0 auto}.program-item{text-align:center;flex:1;min-width:120px;max-width:160px;padding-top:56px;padding-bottom:0;padding-left:0}.program-item-visible{opacity:1;transform:translateY(0)}.program-dot{top:0;left:50%;transform:translate(-50%)}.program-item:hover .program-dot{transform:translate(-50%)scale(1.1)}.program-content{padding:0 .25rem}.program-time{margin-bottom:.35rem}.program-title{font-size:1.05rem}.program-desc{font-size:.8rem;line-height:1.35}}.momentos-section{text-align:center;padding-bottom:4rem;overflow:hidden}.momentos-theme-tag{font-family:var(--font-cinzel);text-transform:uppercase;color:var(--accent-gold);letter-spacing:.2em;margin-bottom:.15rem;font-size:.9rem;font-weight:700}.momentos-carousel-container{width:100vw;margin-top:1.5rem;margin-left:-50vw;margin-right:-50vw;position:relative;left:50%;right:50%}.momentos-carousel{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;gap:1.25rem;padding:0 1.5rem 1rem;display:flex;overflow-x:auto}.momentos-carousel::-webkit-scrollbar{display:none}.momentos-card{scroll-snap-align:center;aspect-ratio:4/5;background:#fdfaf5;border:1px solid #c5a05933;border-radius:12px;flex:0 0 85vw;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000014}.momentos-img{object-fit:cover;width:100%;height:100%;display:block}.momentos-carousel-hint{font-family:var(--font-lora);color:var(--text-primary);opacity:.7;margin-top:.25rem;font-size:.85rem;font-style:italic}@media (width>=600px){.momentos-card{flex:0 0 350px}}.faq-section{padding-bottom:2rem}.faq-list{flex-direction:column;gap:.75rem;display:flex}.faq-item{cursor:pointer;background:#fff;border-radius:10px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 2px 10px #3a46340f}.faq-item:hover{box-shadow:0 4px 14px #3a46341a}.faq-header{font-family:var(--font-cormorant);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.faq-question{color:var(--text-primary);text-align:left;flex:1;font-size:1.1rem;font-weight:500}.faq-chevron{width:22px;height:22px;color:var(--text-primary);flex-shrink:0;transition:transform .25s}.faq-chevron-open{transform:rotate(180deg)}.faq-answer{border-top:1px solid #3a463414;padding:0 1.25rem 1.1rem}.faq-answer p{font-family:var(--font-lora);color:var(--text-primary);margin:1rem 0 0;font-size:.95rem;line-height:1.6}.regalos-section{text-align:center;padding-bottom:2rem}.regalos-sigil{filter:sepia(.3)contrast(1.1)drop-shadow(0 0 8px #b28d4233);max-width:100px;height:auto;margin:0 auto 1.5rem;display:block}.regalos-icon{max-width:60px;height:auto;margin:0 auto 1rem;display:block}.regalos-intro{font-family:var(--font-lora);text-align:center;max-width:560px;color:var(--text-primary);margin:0 auto 1.5rem;font-size:1rem;line-height:1.6}.regalos-accordion{cursor:pointer;background:#fff;border-radius:10px;max-width:520px;margin:0 auto;transition:box-shadow .2s;overflow:hidden;box-shadow:0 2px 10px #3a46340f}.regalos-accordion:hover{box-shadow:0 4px 14px #3a46341a}.regalos-accordion-header{font-family:var(--font-cormorant);color:var(--text-primary);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;font-size:1.15rem;font-weight:500;display:flex}.regalos-chevron{width:22px;height:22px;color:var(--text-primary);flex-shrink:0;transition:transform .25s}.regalos-chevron-open{transform:rotate(180deg)}.regalos-accordion-body{border-top:1px solid #3a463414;padding:0 1.25rem 1.25rem}.regalos-accordion-body p{font-family:var(--font-lora);color:var(--text-primary);margin:1rem 0 0;font-size:.95rem;line-height:1.6}.regalos-cvu-wrap{margin-top:.75rem}.regalos-cvu-link{font-family:var(--font-cormorant);color:var(--countdown-bg);cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem;text-decoration:underline}.regalos-cvu-link:hover{color:var(--text-primary)}.regalos-cvu-value{font-family:var(--font-lora);color:var(--text-primary);font-weight:600}.hashtag-section{padding-bottom:2rem}.hashtag-card{text-align:center;background:#fff;border-radius:12px;max-width:480px;margin:0 auto;padding:1.5rem;box-shadow:0 2px 12px #3a463414}.hashtag-text{font-family:var(--font-lora);color:var(--text-primary);margin:0;font-size:1rem}.hashtag-tag{font-family:var(--font-cormorant);color:var(--countdown-bg);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-size:1.25rem;font-weight:600;transition:background .2s,color .2s}.hashtag-tag:hover{color:var(--text-primary);background:#787f5c26}.sugerir-section{padding-bottom:2rem}.sugerir-form{background:#fff;border-radius:12px;max-width:400px;margin:0 auto;padding:1.75rem;box-shadow:0 2px 12px #3a463414}.sugerir-form .form-label{font-family:var(--font-cormorant);color:var(--text-primary);margin-bottom:.5rem;font-size:1rem;font-weight:500;display:block}.sugerir-form .form-input{width:100%;font-family:var(--font-lora);color:var(--text-primary);background:#fafaf8;border:1px solid #3a463433;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:1rem}.sugerir-form .form-input:focus{border-color:var(--countdown-bg);outline:none}.sugerir-btn{width:100%;font-family:var(--font-cormorant);color:var(--text-primary);background:var(--bg-page);cursor:pointer;border:1px solid #3a463440;border-radius:10px;margin-top:.25rem;padding:.85rem 1.25rem;font-size:1.05rem;font-weight:500;transition:opacity .2s,box-shadow .2s}.sugerir-btn:hover{opacity:.95;box-shadow:0 2px 10px #3a46341f}.confirmacion-section{padding-bottom:4rem}.confirmacion-rings{max-width:100px;height:auto;margin:0 auto 1rem;display:block}.confirmacion-form{background:#fff;border:1px solid #3a46341a;border-radius:16px;max-width:520px;margin:0 auto;padding:2rem;box-shadow:0 2px 16px #3a463414}.form-label{font-family:var(--font-cormorant);color:var(--text-primary);margin-bottom:.5rem;font-size:1rem;font-weight:500;display:block}.form-label+.form-input,.form-label+.form-textarea{margin-top:.25rem}.form-input,.form-textarea{width:100%;font-family:var(--font-lora);color:var(--text-primary);background:#fafaf8;border:1px solid #3a463433;border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.form-input::placeholder,.form-textarea::placeholder{color:#3a463480}.form-input:focus,.form-textarea:focus{border-color:var(--countdown-bg);outline:none}.form-textarea{resize:vertical;min-height:100px}.form-fieldset{border:none;margin:0 0 1.25rem;padding:0}.form-legend{font-family:var(--font-cormorant);color:var(--text-primary);margin-bottom:.75rem;padding:0;font-size:1rem;font-weight:500}.form-radio{font-family:var(--font-lora);color:var(--text-primary);cursor:pointer;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1rem;display:flex}.form-radio input{width:18px;height:18px;accent-color:var(--countdown-bg)}.form-block{margin-bottom:1.25rem}.form-block-companions .form-hint-block{margin:0 0 1rem;font-size:.95rem;display:block}.form-label-text{font-family:var(--font-cormorant);color:var(--text-primary);margin:0 0 .75rem;font-size:1rem;font-weight:500}.form-hint{opacity:.9;font-size:.95rem;font-weight:400}.form-checkbox-group{flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.form-checkbox{font-family:var(--font-lora);color:var(--text-primary);cursor:pointer;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.form-checkbox input{width:18px;height:18px;accent-color:var(--countdown-bg)}.form-submit{width:100%;font-family:var(--font-cormorant);color:var(--text-primary);background:var(--bg-page);cursor:pointer;border:1px solid #3a463440;border-radius:10px;margin-top:.5rem;padding:1rem 1.5rem;font-size:1.1rem;font-weight:500;transition:opacity .2s,box-shadow .2s}.form-submit:hover{opacity:.95;box-shadow:0 2px 10px #3a46341f}.form-companion-block{border-bottom:1px solid #3a463414;margin-bottom:1.5rem;padding-bottom:1.5rem}.form-companion-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-fieldset-inline .form-legend{margin-bottom:.5rem;font-size:.95rem}.footer{color:#fff;text-align:center;box-sizing:border-box;background:#787f5c;width:100vw;max-width:none;margin-left:-50vw;margin-right:-50vw;padding:2.5rem 1.5rem;position:relative;left:50%;right:50%}.footer-heart{color:#fffffff2;width:28px;height:28px;margin:0 auto .75rem;display:block}.footer-names{font-family:var(--font-great-vibes);color:#fff;margin:0 0 .35rem;font-size:clamp(1.75rem,4vw,2.25rem)}.footer-date{font-family:var(--font-cormorant);color:#fffffff2;margin:0 0 1.25rem;font-size:1.05rem}.footer-credit{font-family:var(--font-lora);color:#ffffffd9;margin:0;font-size:.9rem}
