@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,700;1,400&family=Great+Vibes&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Lato:wght@300;400;700&display=swap";.intro-c4{z-index:9999;background-color:var(--color-earth-brown);cursor:pointer;touch-action:manipulation;justify-content:center;align-items:stretch;transition:transform 1s cubic-bezier(.83,0,.17,1),opacity 1s;display:flex;position:fixed;inset:0;overflow:hidden}.intro-c4.closing{opacity:0;pointer-events:none;transform:translateY(-100%)}.responsive-bg{background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.intro-c4-bg-desktop{display:none}@media (width>=768px){.intro-c4-bg{display:none}.intro-c4-bg-desktop{display:block}}.intro-c4-veil{z-index:2;background:0 0;position:absolute;inset:0}@keyframes introGradientMove{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes introC4ZoomIn{0%{transform:scale(1.07)}to{transform:scale(1)}}.intro-c4-content{z-index:10;justify-content:center;animation:1.2s .3s both introC4Fade;display:flex;position:absolute;bottom:12%;left:0;right:0}@keyframes introC4Fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.intro-c4-btn{border:1px solid var(--accent);color:var(--accent);font-family:var(--font-body);letter-spacing:.35em;text-transform:uppercase;cursor:pointer;background:#fffffff2;padding:1.1rem 2.5rem;font-size:.75rem;font-weight:700;transition:all .4s;box-shadow:0 4px 25px #0000001a}.intro-c4-btn:hover{background:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:0 8px 30px #a64d324d}@media (width<=480px){.intro-c4-btn{letter-spacing:.25em;padding:1rem 1.8rem;font-size:.7rem}}.hero-c4{background-color:var(--bg-page);justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-c4:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(circle,#8e6d451f 0%,#0000 70%);position:absolute;inset:0}.hero-c4-content{text-align:center;z-index:2;width:100%;max-width:720px;padding:2.5rem 1.5rem;position:relative}.hero-c4-label{font-family:var(--font-body);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem;font-size:clamp(.65rem,1.8vw,.8rem);font-weight:700;display:block}.hero-c4-names{margin:0 0 .5rem}.hero-c4-name{font-family:var(--font-cursive);color:var(--text-primary);font-size:clamp(3.5rem,12vw,6rem);font-weight:400;line-height:1.05;display:block}.hero-c4-amp{font-family:var(--font-elegant);color:var(--accent);margin:.15rem 0;font-size:clamp(1.5rem,4vw,2.2rem);font-style:italic;display:block}.hero-c4-date{font-family:var(--font-elegant);color:var(--text-light);letter-spacing:.1em;margin:1.5rem 0 .5rem;font-size:clamp(1rem,2.3vw,1.3rem)}.hero-c4-place{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 2.2rem;font-size:clamp(.75rem,1.8vw,.9rem);font-weight:700}.hero-c4-scroll{z-index:10;justify-content:center;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.hero-c4-arrow{width:44px;height:44px;color:var(--accent);opacity:.8;animation:2s ease-in-out infinite heroC4Bounce}@keyframes heroC4Bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(15px)}60%{transform:translateY(8px)}}.countdown-section{text-align:center}.countdown-grid{justify-content:center;gap:1.5rem;margin-top:2rem;display:flex}.countdown-item{flex-direction:column;align-items:center;min-width:70px;display:flex}.countdown-value{font-family:var(--font-elegant);color:var(--accent);margin-bottom:.5rem;font-size:clamp(2rem,5vw,3.5rem);line-height:1}.countdown-label{letter-spacing:.2em;color:var(--text-light);font-size:.65rem}@media (width<=480px){.countdown-grid{gap:.8rem}.countdown-item{min-width:60px}}.divider-c4{text-align:center;color:var(--accent-gold);letter-spacing:.8em;opacity:.5;-webkit-user-select:none;user-select:none;background:0 0;padding:1rem 0;font-size:.8rem}.mensaje-invitacion{text-align:center;padding:5rem 1.5rem}.mensaje-texto{font-family:var(--font-elegant);color:var(--text-primary);max-width:700px;margin:0 auto 2rem;font-size:clamp(1.2rem,3vw,1.8rem);font-style:italic;line-height:1.6}.mensaje-firma{font-family:var(--font-cursive);color:var(--accent);font-size:2.5rem}.mensaje-decor{opacity:.9;pointer-events:none;width:100px;height:auto;position:absolute;bottom:-20px;left:-20px}.detalles-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;margin-top:3rem;display:grid}.detalle-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;border:1px solid var(--border);background:#ffffffb3;border-radius:20px;flex-direction:column;align-items:center;padding:3rem 2rem;transition:transform .3s;display:flex;box-shadow:0 10px 30px #0000000d}.detalle-card:hover{transform:translateY(-5px)}.detalle-icon,.detalle-custom-icon{color:var(--accent);object-fit:contain;filter:sepia(.6)hue-rotate(-15deg)saturate(.8)brightness(.8);width:60px;height:60px;margin-bottom:1.5rem}.detalle-title{font-family:var(--font-elegant);letter-spacing:.2em;color:var(--text-primary);margin-bottom:1rem;font-size:1.2rem}.detalle-text{margin-bottom:.5rem;font-size:1.1rem}.detalle-subtext{color:var(--text-light);font-size:.9rem}.dress-code-content{text-align:center;flex-direction:column;align-items:center;margin-top:2rem;display:flex}.dress-code-img{object-fit:cover;filter:sepia(.6)hue-rotate(-15deg)saturate(.8)brightness(.8);border:4px solid #fff;border-radius:50%;width:120px;height:120px;margin-bottom:2rem;box-shadow:0 5px 15px #0000001a}.dress-code-label{font-family:var(--font-body);letter-spacing:.3em;color:var(--text-light);margin-bottom:.5rem;font-size:.8rem}.dress-code-text{font-family:var(--font-elegant);color:var(--accent);margin-bottom:1rem;font-size:2.2rem}.dress-code-note{max-width:450px;color:var(--text-primary);font-size:1.05rem;line-height:1.6}.dress-code-restriction{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:1.5rem;padding:1.5rem;position:relative}.dress-code-restriction strong{color:var(--accent)}.regalos-content{text-align:center;flex-direction:column;align-items:center;margin-top:2rem;display:flex}.regalos-icon,.regalos-custom-icon{object-fit:contain;filter:sepia(.6)hue-rotate(-15deg)saturate(.8)brightness(.8);width:80px;height:80px;margin-bottom:1.5rem}.regalos-text{max-width:600px;margin-bottom:3rem;font-size:1.1rem;line-height:1.6}.regalos-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px dashed var(--accent);background:#ffffffb3;border-radius:20px;width:100%;max-width:500px;padding:2.5rem;box-shadow:0 10px 30px #0000000d}.card-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.card-row:last-child{margin-bottom:0}.card-label{color:var(--text-light);font-size:.8rem;font-weight:700}.card-value{color:var(--text-primary);word-break:break-all;font-family:monospace;font-size:1rem}.btn-copy{background:var(--bg-alt);color:var(--accent);cursor:pointer;border:none;border-radius:5px;padding:.4rem .8rem;font-size:.7rem;font-weight:700;transition:all .2s}.btn-copy:hover{background:var(--accent);color:#fff}.photo-collage{text-align:center}.collage-header{flex-direction:column;align-items:center;margin-bottom:2rem;display:flex}.collage-icon{object-fit:contain;width:60px;height:60px;margin-bottom:1rem}.collage-container{border:4px solid #fff;border-radius:20px;width:100%;max-width:800px;margin:0 auto;overflow:hidden;box-shadow:0 15px 40px #8e6d4526}.collage-img{width:100%;height:auto;transition:transform .5s;display:block}.collage-img:hover{transform:scale(1.02)}.confirmacion-content{text-align:center;flex-direction:column;align-items:center;margin-top:2rem;display:flex}.confirmacion-text{max-width:500px;margin-bottom:2.5rem;font-size:1.1rem;line-height:1.6}.rsvp-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);text-align:left;background:#ffffffb3;border-radius:20px;width:100%;max-width:500px;padding:2.5rem;box-shadow:0 10px 30px #0000000d}.form-group{margin-bottom:1.5rem}.form-group label{font-family:var(--font-body);letter-spacing:.1em;color:var(--text-light);text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;font-weight:700;display:block}.form-group input[type=text],.form-group textarea{border:1px solid var(--border);width:100%;font-family:var(--font-body);color:var(--text-primary);background:#fff;border-radius:10px;padding:.8rem 1rem;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);outline:none}.radio-group{flex-direction:column;gap:.8rem;margin-top:.5rem;display:flex}.radio-option{cursor:pointer;align-items:center;gap:.8rem;display:flex}.radio-option input{accent-color:var(--accent);width:18px;height:18px}.radio-option span{color:var(--text-primary);font-size:1rem}.confirmacion-success{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);background:#ffffffb3;border-radius:20px;flex-direction:column;align-items:center;gap:1.5rem;padding:4rem 2rem;display:flex}.hashtag-section{text-align:center;padding:5rem 1.5rem}.hashtag-icon{object-fit:contain;filter:sepia(.6)hue-rotate(-15deg)saturate(.8)brightness(.8);width:70px;height:70px;margin-bottom:1.5rem}.hashtag-label{letter-spacing:.3em;color:var(--text-light);margin-bottom:1rem;font-size:.75rem}.hashtag-title{font-family:var(--font-elegant);color:var(--accent);font-size:2.5rem}.footer{background-color:var(--bg-alt);text-align:center;padding:4rem 1.5rem}.footer-title{font-family:var(--font-cursive);color:var(--accent);margin-bottom:.5rem;font-size:2.5rem}.footer-subtitle{font-family:var(--font-body);letter-spacing:.4em;color:var(--text-light);margin-bottom:2rem;font-size:.7rem}.footer-divider{background-color:var(--border);width:50px;height:1px;margin:0 auto 2rem}.footer-copy{color:var(--text-light);letter-spacing:.1em;font-size:.7rem}:root{--bg-page:#f9f6f2;--bg-alt:#f1ede6;--bg-gradient:radial-gradient(circle at center, #fdfaf7 0%, #f4eee6 100%);--text-primary:#4a3728;--text-light:#7a6a5e;--accent:#8e6d45;--accent-gold:#c5a059;--accent-hover:#725636;--border:#8e6d4526;--font-display:"Playfair Display", serif;--font-cursive:"Great Vibes", cursive;--font-elegant:"Cormorant Garamond", serif;--font-body:"Lato", sans-serif;--music-btn:#8e6d45;--music-btn-hover:#725636;--music-btn-shadow:#8e6d4540}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-gradient);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}#root{width:100%}section{max-width:920px;margin:0 auto;padding:4rem 1.5rem}section:nth-of-type(2n){background-color:#8e6d4508;max-width:100%;padding-left:max(1.5rem,50% - 460px + 1.5rem);padding-right:max(1.5rem,50% - 460px + 1.5rem)}@media (width>=768px){section{padding:6rem 2rem}}.reveal{opacity:0;will-change:transform, opacity;transition:opacity 1s,transform 1.2s cubic-bezier(.2,.8,.2,1);transform:translateY(40px)}.reveal.active{opacity:1;transform:translateY(0)}.section-title-cursive{font-family:var(--font-cursive);color:var(--text-primary);text-align:center;margin:0 0 .4rem;font-size:clamp(2.5rem,6vw,3.8rem)}.section-subtitle{font-family:var(--font-elegant);color:var(--text-light);text-align:center;letter-spacing:.05em;margin:0 0 2rem;font-size:clamp(1rem,2.2vw,1.3rem);font-weight:500}.section-label{font-family:var(--font-body);letter-spacing:.25em;text-transform:uppercase;color:var(--accent);text-align:center;margin:0 0 .8rem;font-size:.75rem;font-weight:700}.ornament-divider{text-align:center;color:var(--accent-gold);letter-spacing:.4em;opacity:.8;margin:.5rem 0 2rem;font-size:1.2rem}.btn-primary{background-color:var(--accent);color:#fff;font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;border:none;border-radius:50px;padding:.9rem 2.2rem;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block;box-shadow:0 4px 15px #8e6d4533}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 25px #8e6d454d}.casamiento-music-btn{z-index:999;background:var(--music-btn);color:#fff;cursor:pointer;width:50px;height:50px;box-shadow:0 4px 18px 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(-3px)}.casamiento-music-icon{justify-content:center;align-items:center;line-height:1;display:flex}.casamiento-music-wave{align-items:flex-end;gap:3px;height:18px;display:flex}.casamiento-bar{background:linear-gradient(#fff,#ffffffa6);border-radius:2px;width:3px;animation:ease-in-out infinite casamiento-bar-dance;display:block}.casamiento-bar-1{height:8px;animation-duration:.8s;animation-delay:0s}.casamiento-bar-2{height:14px;animation-duration:.9s;animation-delay:.15s}.casamiento-bar-3{height:10px;animation-duration:.75s;animation-delay:.3s}.casamiento-bar-4{height:16px;animation-duration:1s;animation-delay:.1s}@keyframes casamiento-bar-dance{0%,to{transform:scaleY(.4)}50%{transform:scaleY(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))}}
