.particles-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.particle{position:absolute;background:gold;border-radius:50%;animation:floatAndSparkle linear infinite;box-shadow:0 0 4px gold,0 0 8px gold,0 0 12px #ffd70080}@keyframes floatAndSparkle{0%{opacity:0;transform:translateY(0) translate(0) scale(.2);box-shadow:0 0 2px gold,0 0 4px gold}5%{opacity:1;transform:translateY(-5vh) translate(1.5px) scale(3);box-shadow:0 0 10px gold,0 0 20px gold,0 0 30px #ffd700e6}10%{opacity:.3;transform:translateY(-10vh) translate(3px) scale(.5);box-shadow:0 0 4px gold,0 0 8px gold}15%{opacity:1;transform:translateY(-15vh) translate(4.5px) scale(2.5);box-shadow:0 0 10px gold,0 0 20px gold,0 0 30px #ffd700e6}20%{opacity:.4;transform:translateY(-20vh) translate(6px) scale(.3)}25%{opacity:1;transform:translateY(-25vh) translate(7.5px) scale(3);box-shadow:0 0 10px gold,0 0 20px gold,0 0 30px #ffd700e6}30%{opacity:.3;transform:translateY(-30vh) translate(9px) scale(.4)}35%{opacity:1;transform:translateY(-35vh) translate(10.5px) scale(2.8);box-shadow:0 0 10px gold,0 0 20px gold,0 0 30px #ffd700e6}40%{opacity:.3;transform:translateY(-40vh) translate(12px) scale(.3)}45%{opacity:1;transform:translateY(-45vh) translate(13.5px) scale(3);box-shadow:0 0 10px gold,0 0 20px gold,0 0 30px #ffd700e6}50%{opacity:.4;transform:translateY(-50vh) translate(15px) scale(.5)}55%{opacity:1;transform:translateY(-55vh) translate(16.5px) scale(2.5);box-shadow:0 0 10px gold,0 0 20px gold,0 0 30px #ffd700e6}60%{opacity:.3;transform:translateY(-60vh) translate(18px) scale(.4)}65%{opacity:1;transform:translateY(-65vh) translate(19.5px) scale(3);box-shadow:0 0 10px gold,0 0 20px gold,0 0 30px #ffd700e6}70%{opacity:.3;transform:translateY(-70vh) translate(21px) scale(.3)}75%{opacity:1;transform:translateY(-75vh) translate(22.5px) scale(2.8);box-shadow:0 0 10px gold,0 0 20px gold,0 0 30px #ffd700e6}80%{opacity:.4;transform:translateY(-80vh) translate(24px) scale(.5)}85%{opacity:1;transform:translateY(-85vh) translate(25.5px) scale(2.5);box-shadow:0 0 10px gold,0 0 20px gold,0 0 30px #ffd700e6}90%{opacity:.3;transform:translateY(-90vh) translate(27px) scale(.4)}95%{opacity:1;transform:translateY(-95vh) translate(28.5px) scale(3);box-shadow:0 0 10px gold,0 0 20px gold,0 0 30px #ffd700e6}to{opacity:0;transform:translateY(-100vh) translate(30px) scale(.2)}}.particle:nth-child(2n){background:khaki;animation-direction:reverse}.particle:nth-child(3n){background:#fafad2}.particle:nth-child(5n){animation-duration:15s}@media(prefers-reduced-motion:reduce){.particle{animation:none;opacity:.3}}@media(max-width:768px){.particle:nth-child(n+26){display:none}}.envelope-wrapper{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#fffdf74d,url(/texturaSobre.jpeg);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .5s ease-out}.envelope-wrapper.hide{animation:fadeOut .8s ease-out forwards}.envelope-container{position:relative;perspective:1000px}.envelope{position:relative;width:400px;height:280px;animation:envelopeFloat 3s ease-in-out infinite;cursor:pointer;transition:transform .3s ease}.envelope:hover{transform:scale(1.02)}.envelope-body{position:absolute;bottom:0;width:100%;height:200px;background:linear-gradient(to bottom,#ffffff4d,#f5f5f54d),url(/texturaSobre.jpeg);background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:0 0 10px 10px;box-shadow:0 20px 60px #0000004d;overflow:hidden;z-index:5}.envelope-body:before{content:"";position:absolute;top:0;left:0;width:0;height:0;border-left:200px solid transparent;border-right:200px solid transparent;border-top:100px solid rgba(212,175,55,.1)}.envelope-flap{position:absolute;top:-35px;left:0;width:0;height:0;border-left:200px solid transparent;border-right:200px solid transparent;border-bottom:120px solid rgba(255,255,255,.5);transform-origin:50% 100%;transform:rotateX(-180deg);transition:transform 1.2s ease-out;filter:drop-shadow(0 10px 30px rgba(0,0,0,.2));z-index:50;background:url(/texturaSobre.jpeg);background-size:cover;background-position:center;background-repeat:no-repeat}.envelope-wrapper.opening .envelope-flap{transform:rotateX(0);border-bottom-color:#f5f5f580}.envelope-letter{position:absolute;top:120px;left:50%;transform:translate(-50%);width:90%;height:250px;background:linear-gradient(#ffffffd9,#ffffffd9),url(/texturaSobre.jpeg);background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:8px;box-shadow:0 10px 40px #00000026;transition:top 1.5s ease-out,opacity 1.5s ease-out;display:flex;align-items:center;justify-content:center;opacity:0;z-index:100;border:2px solid #D4AF37}.envelope-wrapper.opening .envelope-letter{top:-150px;opacity:1}.envelope-seal{position:absolute;top:60%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;z-index:60;opacity:1;transition:opacity .5s ease-out}.envelope-wrapper.opening .envelope-seal{opacity:0}.envelope-seal img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(3px 3px 6px rgba(0,0,0,.4))}.letter-content{text-align:center;padding:2rem;opacity:0;position:relative}.envelope-wrapper.opening .letter-content{animation:letterFadeIn 1s ease-out .8s forwards}.letter-ornament{font-size:2rem;margin-bottom:1rem;color:#d4af37;animation:ornamentGlow 2s ease-in-out infinite;text-shadow:0 0 10px rgba(212,175,55,.5),0 0 20px rgba(212,175,55,.3)}.letter-ornament-bottom{font-size:2rem;margin-top:1rem;color:#d4af37;animation:ornamentGlow 2s ease-in-out infinite;animation-delay:1s;text-shadow:0 0 10px rgba(212,175,55,.5),0 0 20px rgba(212,175,55,.3)}.letter-title{font-family:Playfair Display,serif;font-size:3.5rem;color:#d4af37;margin:0;font-style:italic;font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-shadow:2px 2px 4px rgba(0,0,0,.1),0 0 20px rgba(212,175,55,.2);line-height:1.2}.letter-divider{width:80px;height:2px;background:linear-gradient(to right,transparent,#d4af37 20%,#d4af37 80%,transparent);margin:1rem auto;position:relative}.letter-divider:before{content:"◆";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#d4af37;font-size:.8rem;background:#fff;padding:0 .5rem}.letter-subtitle{font-family:Cormorant Garamond,serif;font-size:2rem;color:#8b7355;margin:0;font-style:italic;font-weight:500;letter-spacing:.15em;text-shadow:1px 1px 2px rgba(0,0,0,.05)}@keyframes ornamentGlow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.letter-names{font-family:Great Vibes,cursive;font-size:2rem;color:#d4af37;margin-bottom:2rem;font-weight:400}.open-button{font-family:Cormorant Garamond,serif;background:linear-gradient(135deg,#d4af37,gold);color:#fff;border:none;padding:1rem 2.5rem;border-radius:50px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 30px #d4af374d;animation:buttonPulse 2s ease-in-out infinite}.open-button:hover{transform:translateY(-3px);box-shadow:0 15px 40px #d4af3766;animation:none}.open-button:active{transform:translateY(-1px)}.floating-hearts{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;overflow:hidden}.heart{position:absolute;bottom:-50px;font-size:1.5rem;color:#d4af3766;animation:floatHeart 5s ease-in infinite;pointer-events:none}.click-instruction{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);font-family:Cormorant Garamond,serif;font-size:1.3rem;color:#d4af37;font-style:italic;animation:pulse 2s ease-in-out infinite;pointer-events:none;transition:opacity .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes envelopeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes letterFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes heartBeat{0%,to{transform:scale(1);filter:drop-shadow(0 0 10px rgba(255,215,0,.5))}25%{transform:scale(1.2);filter:drop-shadow(0 0 20px rgba(255,215,0,.8))}50%{transform:scale(1);filter:drop-shadow(0 0 10px rgba(255,215,0,.5))}}@keyframes buttonPulse{0%,to{box-shadow:0 10px 30px #d4af374d}50%{box-shadow:0 10px 40px #d4af3780}}@keyframes floatHeart{0%{bottom:-50px;opacity:0;transform:translate(0) rotate(0)}10%{opacity:1}90%{opacity:1}to{bottom:100vh;opacity:0;transform:translate(100px) rotate(360deg)}}@media(max-width:640px){.envelope{width:320px;height:224px;transform:scale(.9) translateZ(0)}.envelope-body{height:160px;transform:translateZ(0)}.envelope-body:before{border-left-width:160px;border-right-width:160px;border-top-width:80px}.envelope-flap{border-left-width:160px;border-right-width:160px;border-bottom-width:96px;will-change:transform;transform:rotateX(-180deg) translateZ(0)}.envelope-wrapper.opening .envelope-flap{transform:rotateX(0) translateZ(0)}.envelope-letter{height:220px;will-change:transform,opacity;transform:translate(-50%) translateZ(0)}.envelope-wrapper.opening .envelope-letter{transform:translate(-50%) translateY(-150px) translateZ(0);top:0}.letter-title{font-size:2rem}.letter-subtitle{font-size:1.3rem}.letter-ornament,.letter-ornament-bottom{font-size:1.5rem}.letter-divider{width:60px}.letter-names{font-size:1.2rem}.open-button{padding:.8rem 2rem;font-size:1rem}.floating-hearts{display:none}.envelope{animation:none}.envelope:hover{transform:scale(.9) translateZ(0)}.letter-ornament,.open-button{animation:none}.envelope-flap{transition:transform .6s cubic-bezier(.4,0,.2,1)}.envelope-letter{transition:transform .8s cubic-bezier(.4,0,.2,1),opacity .8s ease-out}.envelope-body{box-shadow:0 10px 30px #0003}.envelope-flap{filter:drop-shadow(0 5px 15px rgba(0,0,0,.15))}.envelope-letter{box-shadow:0 5px 20px #0000001a}.envelope-wrapper{transform:translateZ(0);backface-visibility:hidden}.letter-content{transform:translateZ(0)}}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#ffffffb3;color:#d4af37;text-align:center;position:relative;padding:2rem;border-bottom:3px solid #D4AF37}.hero-content{animation:fadeInUp 1s ease-out}.hero-ornament{font-size:2.5rem;margin:1rem 0;animation:pulse 2s ease-in-out infinite;color:gold;filter:drop-shadow(0 0 10px rgba(212,175,55,.3))}.hero-title{font-family:Great Vibes,cursive;font-size:clamp(3rem,10vw,6rem);font-weight:400;margin:1rem 0;display:flex;flex-direction:column;gap:.5rem;color:#d4af37;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.bride-name,.groom-name{font-style:normal;font-weight:400}.ampersand{font-family:Playfair Display,serif;font-size:.6em;opacity:.9;margin:.5rem 0;color:#c9a961}.hero-date{font-family:Cormorant Garamond,serif;font-size:clamp(1.2rem,4vw,1.8rem);margin:1.5rem 0 .5rem;letter-spacing:3px;text-transform:uppercase;font-weight:400;color:#b8860b}.hero-subtitle{font-family:Playfair Display,serif;font-size:clamp(1.2rem,3vw,1.6rem);font-style:italic;opacity:.95;margin:.5rem 0 1rem;color:#d4af37}.scroll-indicator{position:absolute;bottom:5rem;left:50%;transform:translate(-50%);font-size:2rem;animation:bounce 2s ease-in-out infinite;color:#d4af37}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}.message-section{min-height:100vh;padding:4rem 2rem;background:linear-gradient(#ffffffe6,#ffffffe6),url(/texturaSobre.jpeg);background-size:cover;background-position:center;background-attachment:fixed;display:flex;align-items:center;justify-content:center}.message-container{max-width:1200px;margin:0 auto;width:100%}.message-title{font-family:Playfair Display,serif;font-size:3rem;color:#d4af37;text-align:center;margin-bottom:3rem;font-style:italic}.message-content{display:flex;align-items:center;gap:3rem;background:linear-gradient(#fffffff2,#fffffff2);padding:3rem;border-radius:20px;box-shadow:0 10px 40px #d4af3733;border:2px solid #d4af37}.message-photo{flex-shrink:0}.message-photo-circle{width:250px;height:250px;border-radius:50%;overflow:hidden;border:5px solid #d4af37;box-shadow:0 10px 30px #d4af374d}.message-photo-circle img{width:100%;height:100%;object-fit:cover}.message-text{flex:1}.message-text p{font-family:Cormorant Garamond,serif;font-size:1.3rem;color:#5a5a5a;line-height:1.8;margin-bottom:1.5rem;text-align:justify}.message-signature{font-family:Great Vibes,cursive;font-size:2rem;color:#d4af37;text-align:right;margin-top:2rem}@media(max-width:768px){.message-section{padding:3rem 1.5rem}.message-title{font-size:2.5rem;margin-bottom:2rem}.message-content{flex-direction:column;gap:2rem;padding:1rem;border:none}.message-photo-circle{width:250px;height:250px;border:none}.message-text p{font-size:1.3rem;text-align:left}.message-signature{font-size:1.8rem;text-align:center}}.couple-section{min-height:100vh;padding:4rem 2rem;background:linear-gradient(#ffffffe6,#ffffffe6),url(/texturaSobre.jpeg);background-size:cover;background-position:center;background-attachment:fixed;display:flex;align-items:center;justify-content:center}.couple-container{max-width:1200px;margin:0 auto;width:100%}.couple-title{font-family:Playfair Display,serif;font-size:3rem;color:#d4af37;text-align:center;margin-bottom:3rem;font-style:italic}.couple-cards{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:3rem}.couple-card{background:linear-gradient(135deg,#fff,#fffdf7);border-radius:20px;padding:4rem;box-shadow:0 10px 40px #d4af3733;border:2px solid #d4af37;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.couple-card:hover{transform:translateY(-10px);box-shadow:0 15px 50px #d4af374d}.couple-photo{width:250px;height:250px;border-radius:20px;overflow:hidden;border:5px solid #d4af37;box-shadow:0 10px 30px #d4af374d;margin-bottom:2rem}.couple-photo img{width:100%;height:100%;object-fit:cover}.couple-role{font-family:Playfair Display,serif;font-size:1.7rem;color:#b8860b;font-style:italic;margin-bottom:1rem}.couple-name{font-family:Great Vibes,cursive;font-size:3rem;color:#d4af37;margin-bottom:1.5rem}.couple-description{font-family:Cormorant Garamond,serif;font-size:1.3rem;color:#5a5a5a;line-height:1.8;max-width:450px}.couple-divider{text-align:center;font-size:3rem;color:#d4af37;margin:2rem 0;display:none}@media(max-width:768px){.couple-section{padding:3rem 1.5rem}.couple-title{font-size:2.5rem;margin-bottom:2rem}.couple-cards{grid-template-columns:1fr;gap:2rem}.couple-card{padding:1rem;border:none}.couple-photo{width:220px;height:220px;border:none}.couple-role{font-size:1.5rem}.couple-name{font-size:2.5rem}.couple-description{font-size:1.2rem}.couple-divider{display:block}}.parents{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background:#ffffffbf;border-bottom:2px solid #D4AF37}.parents-content{max-width:800px;width:100%;text-align:center}.parents-blessing{font-family:Playfair Display,serif;font-size:1.8rem;font-style:italic;color:#d4af37;margin-bottom:3rem;line-height:1.6;text-shadow:1px 1px 2px rgba(0,0,0,.05)}.parents-info{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:3rem}.parent-group{padding:2.5rem;background:linear-gradient(135deg,#fff,#fffdf7);border-radius:20px;box-shadow:0 8px 25px #d4af3726;border:2px solid #D4AF37;display:flex;flex-direction:column;align-items:center}.parent-photo-circle{width:100%;max-width:280px;height:280px;border-radius:15px;overflow:hidden;border:4px solid #D4AF37;box-shadow:0 8px 20px #d4af374d;margin-bottom:1.5rem}.parent-photo-circle img{width:100%;height:100%;object-fit:cover;object-position:center center}.parent-photo-circle img.photo-position-bottom{object-position:center 30%}.parent-title{font-family:Playfair Display,serif;font-size:1.3rem;color:#b8860b;margin-bottom:1.5rem;font-weight:600;font-style:italic}.parent-name{font-family:Cormorant Garamond,serif;font-size:1.2rem;color:#8b7355;margin:.5rem 0;line-height:1.6;font-style:italic}.parents-photo{max-width:500px;margin:0 auto;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #d4af374d;border:3px solid #D4AF37}.parents-photo img{width:100%;height:auto;display:block;object-fit:cover}@media(max-width:768px){.parents{padding:3rem 1.5rem}.parents-blessing{font-size:1.5rem;margin-bottom:2rem}.parents-info{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.parent-group{padding:.5rem;border:none}.parent-photo-circle{width:100%;max-width:250px;height:250px;margin-bottom:1rem;border:none}.parent-title{font-size:1.4rem}.parent-name{font-size:1.2rem}}.countdown{min-height:60vh;display:flex;justify-content:center;align-items:center;background:#fffdf7cc;padding:4rem 2rem;border-bottom:2px solid #D4AF37}.countdown-container{text-align:center;max-width:1200px;width:100%}.countdown-title{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3rem);color:#d4af37;margin-bottom:3rem;font-weight:600;font-style:italic}.countdown-timer{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:2rem;max-width:800px;margin:0 auto}.countdown-item{background:linear-gradient(135deg,#fff,#fffcf5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:2rem 1rem;display:flex;flex-direction:column;gap:.5rem;transition:transform .3s ease;border:2px solid #D4AF37;box-shadow:0 5px 20px #d4af3733}.countdown-item:hover{transform:translateY(-5px);box-shadow:0 8px 30px #d4af374d}.countdown-number{font-family:Playfair Display,serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:700;color:#d4af37;line-height:1;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.countdown-label{font-family:Cormorant Garamond,serif;font-size:clamp(.9rem,2vw,1.2rem);color:#b8860b;text-transform:uppercase;letter-spacing:2px;font-weight:400;font-style:italic}@media(max-width:640px){.countdown-timer{grid-template-columns:repeat(2,1fr)}}.event-info{min-height:100vh;display:flex;justify-content:center;align-items:center;background:#ffffffbf;padding:4rem 2rem;border-bottom:2px solid #D4AF37}.event-info-container{max-width:1200px;width:100%}.event-info-title{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3rem);color:#d4af37;text-align:center;margin-bottom:3rem;font-weight:600;font-style:italic}.events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.event-card{background:linear-gradient(135deg,#fff,#fffdf7);border-radius:20px;padding:2.5rem 2rem;text-align:center;box-shadow:0 10px 30px #d4af3733;border:2px solid #D4AF37;transition:transform .3s ease,box-shadow .3s ease}.event-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px #d4af374d}.event-photo{width:100%;height:200px;border-radius:15px;overflow:hidden;margin-bottom:1.5rem;border:3px solid #D4AF37;box-shadow:0 5px 15px #d4af3733}.event-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.event-card:hover .event-photo img{transform:scale(1.1)}.event-photo img.event-photo-bottom{object-position:center 30%}.event-name{font-family:Playfair Display,serif;font-size:1.8rem;color:#d4af37;margin-bottom:1.5rem;font-weight:600;font-style:italic}.event-details{text-align:left}.event-time,.event-location{font-family:Cormorant Garamond,serif;display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem;color:#8b7355;font-size:1.1rem}.detail-icon{font-size:1.2rem;color:#d4af37}.event-address{font-family:Cormorant Garamond,serif;color:#8b7355;font-size:1rem;margin-bottom:1.5rem;line-height:1.5;padding-left:1.7rem;font-style:italic}.event-map-link{display:inline-block;background:linear-gradient(135deg,#d4af37,gold);color:#fff;text-decoration:none;padding:.8rem 1.5rem;border-radius:25px;font-size:.95rem;font-family:Cormorant Garamond,serif;transition:transform .2s ease,box-shadow .2s ease;margin-top:.5rem}.event-map-link:hover{transform:scale(1.05);box-shadow:0 5px 15px #d4af3766}@media(max-width:768px){.events-grid{grid-template-columns:1fr}.event-card{padding:1rem;border:none}.event-photo{height:250px;border:none}}.schedule-section{min-height:100vh;padding:4rem 2rem;background:linear-gradient(#ffffffe6,#ffffffe6),url(/texturaSobre.jpeg);background-size:cover;background-position:center;background-attachment:fixed;display:flex;align-items:center;justify-content:center}.schedule-container{max-width:1200px;margin:0 auto;width:100%}.schedule-title{font-family:Playfair Display,serif;font-size:3rem;color:#d4af37;text-align:center;margin-bottom:3rem;font-style:italic}.schedule-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.itinerary-card{background:linear-gradient(135deg,#fff,#fffdf7);border-radius:20px;padding:3rem;box-shadow:0 10px 40px #d4af3733;border:2px solid #d4af37}.itinerary-header{text-align:center;margin-bottom:2rem}.itinerary-icon{font-size:3rem;margin-bottom:1rem}.itinerary-subtitle{font-family:Playfair Display,serif;font-size:2rem;color:#d4af37;font-style:italic;margin-bottom:.5rem}.itinerary-list{list-style:none;padding:0;margin:0}.itinerary-item{display:flex;align-items:flex-start;gap:1.5rem;padding:1.5rem;margin-bottom:1rem;background:#d4af370d;border-radius:15px;border-left:4px solid #d4af37;transition:transform .3s ease,background .3s ease}.itinerary-item:hover{transform:translate(10px);background:#d4af371a}.itinerary-time{font-family:Playfair Display,serif;font-size:1.3rem;color:#d4af37;font-weight:600;min-width:80px}.itinerary-details{flex:1}.itinerary-event{font-family:Cormorant Garamond,serif;font-size:1.3rem;color:#5a5a5a;font-weight:600;margin-bottom:.3rem}.itinerary-description{font-family:Cormorant Garamond,serif;font-size:1rem;color:#8b7355;font-style:italic}.dresscode-card{background:linear-gradient(135deg,#fff,#fffdf7);border-radius:20px;padding:3rem;box-shadow:0 10px 40px #d4af3733;border:2px solid #d4af37;display:flex;flex-direction:column;align-items:center;text-align:center}.dresscode-icon{font-size:5rem;margin-bottom:1.5rem}.dresscode-subtitle{font-family:Playfair Display,serif;font-size:2rem;color:#d4af37;font-style:italic;margin-bottom:1.5rem}.dresscode-type{font-family:Great Vibes,cursive;font-size:3rem;color:#d4af37;margin-bottom:1.5rem}.dresscode-description{font-family:Cormorant Garamond,serif;font-size:1.2rem;color:#5a5a5a;line-height:1.8;margin-bottom:2rem;max-width:500px}.dresscode-colors{display:flex;gap:1rem;margin-bottom:1.5rem}.color-palette{width:60px;height:60px;border-radius:50%;border:3px solid #d4af37;box-shadow:0 5px 15px #0003}.dresscode-note{font-family:Cormorant Garamond,serif;font-size:1rem;color:#b8860b;font-style:italic;padding:1rem;background:#d4af371a;border-radius:10px;margin-top:1rem}@media(max-width:768px){.schedule-section{padding:3rem 1.5rem}.schedule-title{font-size:2.5rem;margin-bottom:2rem}.schedule-content{grid-template-columns:1fr;gap:2rem}.itinerary-card,.dresscode-card{padding:1rem;border:none}.itinerary-subtitle,.dresscode-subtitle{font-size:1.8rem}.itinerary-item{flex-direction:column;gap:.5rem}.itinerary-time{font-size:1.3rem;min-width:auto}.itinerary-event{font-size:1.3rem}.dresscode-type{font-size:2.5rem}.dresscode-description{font-size:1.2rem}}.gallery{min-height:100vh;display:flex;justify-content:center;align-items:center;background:#fffdf7cc;padding:4rem 2rem;border-bottom:2px solid #D4AF37}.gallery-container{max-width:1200px;width:100%}.gallery-title{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3rem);color:#d4af37;text-align:center;margin-bottom:1rem;font-weight:600;font-style:italic}.gallery-subtitle{font-family:Cormorant Garamond,serif;text-align:center;color:#b8860b;font-size:1.2rem;margin-bottom:3rem;font-style:italic}.carousel-container{position:relative;max-width:800px;margin:2rem auto;padding:0 4rem}.carousel-track{position:relative;width:100%;height:500px;overflow:hidden;border-radius:20px;border:3px solid #D4AF37;box-shadow:0 10px 40px #d4af374d}.carousel-slide{position:absolute;width:100%;height:100%;opacity:0;transition:opacity .5s ease-in-out;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff,#fff8e7)}.carousel-slide.active{opacity:1}.carousel-slide img{width:100%;height:100%;object-fit:cover}.carousel-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:#fff;font-family:Playfair Display,serif;font-size:1.5rem;font-style:italic;padding:2rem;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);background:linear-gradient(135deg,#d4af37,gold);color:#fff;border:none;width:50px;height:50px;border-radius:50%;font-size:2rem;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 15px #d4af374d;z-index:10}.carousel-button:hover{transform:translateY(-50%) scale(1.1);box-shadow:0 8px 20px #d4af3780}.carousel-button.prev{left:0}.carousel-button.next{right:0}.carousel-dots{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.carousel-dot{width:12px;height:12px;border-radius:50%;border:2px solid #D4AF37;background:transparent;cursor:pointer;transition:all .3s ease;padding:0}.carousel-dot:hover{background:#d4af3780;transform:scale(1.2)}.carousel-dot.active{background:linear-gradient(135deg,#d4af37,gold);transform:scale(1.3)}@media(max-width:640px){.carousel-container{padding:0 3rem}.carousel-track{height:400px}.carousel-caption{font-size:1.2rem;padding:1.5rem}.carousel-button{width:40px;height:40px;font-size:1.5rem}}.photo-upload-section{min-height:100vh;padding:4rem 2rem;background:linear-gradient(#ffffffe6,#ffffffe6),url(/texturaSobre.jpeg);background-size:cover;background-position:center;background-attachment:fixed}.photo-upload-container{max-width:1200px;margin:0 auto}.photo-upload-title{font-family:Playfair Display,serif;font-size:3rem;color:#d4af37;text-align:center;margin-bottom:1rem;font-style:italic}.photo-upload-subtitle{font-family:Cormorant Garamond,serif;font-size:1.5rem;color:#b8860b;text-align:center;margin-bottom:2rem;font-style:italic}.gallery-link-container{text-align:center;margin-bottom:3rem}.view-gallery-btn{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:linear-gradient(135deg,#6d4c41,#4e342e);color:beige;border:3px solid #8d6e63;border-radius:4px;font-size:1.1rem;font-weight:700;font-family:Courier New,monospace;text-transform:uppercase;letter-spacing:.1rem;cursor:pointer;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 8px #0000004d,inset 0 1px #ffffff1a}.view-gallery-btn:hover{transform:translateY(-3px);box-shadow:0 8px 15px #0006,inset 0 1px #fff3;background:linear-gradient(135deg,#5d4037,#3e2723)}.view-gallery-btn svg{width:20px;height:20px}.upload-area{background:linear-gradient(#fffffff2,#fffffff2);border:3px dashed #d4af37;border-radius:20px;padding:3rem;text-align:center;cursor:pointer;transition:all .3s ease;margin-bottom:3rem;position:relative;overflow:hidden}.upload-area:hover{border-color:gold;background:linear-gradient(#fff,#fff);transform:translateY(-5px);box-shadow:0 10px 30px #d4af374d}.upload-area.dragover{border-color:gold;background:linear-gradient(#fff7ccf2,#fff7ccf2);transform:scale(1.02)}.upload-icon{font-size:4rem;color:#d4af37;margin-bottom:1rem}.upload-text{font-family:Cormorant Garamond,serif;font-size:1.5rem;color:#d4af37;margin-bottom:.5rem;font-weight:600}.upload-hint{font-family:Cormorant Garamond,serif;font-size:1.1rem;color:#b8860b;font-style:italic}.upload-input{display:none}.upload-status{margin:1rem 0;text-align:center}.status-message{font-family:Cormorant Garamond,serif;font-size:1.1rem;padding:1rem;border-radius:10px;margin:0;animation:slideIn .3s ease-out}.status-info{background:#d4af371a;color:#d4af37;border:1px solid #d4af37}.status-success{background:#4caf501a;color:#4caf50;border:1px solid #4caf50}.status-error{background:#f443361a;color:#f44336;border:1px solid #f44336}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.uploaded-photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.photo-item{position:relative;aspect-ratio:1;border-radius:15px;overflow:hidden;box-shadow:0 5px 20px #00000026;transition:transform .3s ease;background:#f5f5f5}.photo-item:hover{transform:scale(1.05);box-shadow:0 10px 30px #d4af3766}.photo-item img{width:100%;height:100%;object-fit:cover}.photo-delete{position:absolute;top:10px;right:10px;background:#d4af37f2;border:none;border-radius:50%;width:35px;height:35px;color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;opacity:0}.photo-item:hover .photo-delete{opacity:1}.photo-delete:hover{background:#c4941f;transform:scale(1.1)}.no-photos-message{font-family:Cormorant Garamond,serif;font-size:1.3rem;color:#b8860b;text-align:center;padding:3rem;font-style:italic}@media(max-width:640px){.photo-upload-section{padding:3rem 1.5rem}.photo-upload-title{font-size:2rem}.photo-upload-subtitle{font-size:1.2rem}.upload-area{padding:2rem 1rem}.upload-icon{font-size:3rem}.upload-text{font-size:1.2rem}.upload-hint{font-size:.95rem}.uploaded-photos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}}.registry{min-height:100vh;padding:6rem 2rem;background:linear-gradient(#fffdf7f2,#fffdf7f2),url(/texturaSobre.jpeg);background-size:cover;background-position:center;background-attachment:fixed}.registry-container{max-width:1200px;margin:0 auto}.registry-ornament{font-size:4rem;text-align:center;margin-bottom:1rem;filter:grayscale(100%) brightness(1.2);animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.registry-title{font-family:Playfair Display,serif;font-size:clamp(2.5rem,5vw,3.5rem);color:#d4af37;text-align:center;margin-bottom:1rem;font-style:italic;font-weight:600;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.registry-subtitle{font-family:Cormorant Garamond,serif;font-size:clamp(1.1rem,3vw,1.3rem);color:#8b7355;text-align:center;max-width:700px;margin:0 auto 1.5rem;line-height:1.6;font-style:italic}.envelope-box-info{max-width:700px;margin:0 auto 3rem;padding:3rem 2rem;background:linear-gradient(135deg,#fff,#fffef8);border:3px solid #d4af37;border-radius:20px;box-shadow:0 10px 30px #d4af3733;text-align:center}.envelope-icon{font-size:4rem;margin-bottom:1rem;animation:float 3s ease-in-out infinite}.envelope-title{font-family:Playfair Display,serif;font-size:clamp(1.8rem,4vw,2.2rem);color:#d4af37;margin-bottom:1rem;font-weight:600}.envelope-description{font-family:Cormorant Garamond,serif;font-size:clamp(1.1rem,3vw,1.25rem);color:#8b7355;line-height:1.6;font-style:italic}.cash-message{font-family:Cormorant Garamond,serif;font-size:clamp(1.15rem,3vw,1.35rem);color:#d4af37;text-align:center;max-width:600px;margin:0 auto 3rem;font-weight:600;padding:1rem 2rem;background:#d4af371a;border-radius:15px;border:2px dashed #d4af37}.registry-section{margin-bottom:4rem}.section-title{font-family:Playfair Display,serif;font-size:clamp(1.5rem,4vw,2rem);color:#d4af37;text-align:center;margin-bottom:2rem;display:flex;align-items:center;justify-content:center;gap:.75rem;font-weight:600}.section-title svg{color:#b8860b}.bank-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.bank-card{background:linear-gradient(135deg,#fff,#fffef8);border:2px solid #d4af37;border-radius:15px;padding:2rem;box-shadow:0 10px 30px #d4af3733;transition:all .3s ease}.bank-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #d4af374d}.bank-logo{width:60px;height:60px;background:linear-gradient(135deg,#d4af37,gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:0 4px 10px #d4af374d}.bank-logo svg{color:#fff}.bank-name{font-family:Playfair Display,serif;font-size:1.5rem;color:#d4af37;text-align:center;margin-bottom:1.5rem;font-weight:600}.bank-info{background:#f5f5dc4d;border-radius:10px;padding:1rem;margin-bottom:1rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(212,175,55,.2)}.info-row:last-child{border-bottom:none}.info-label{font-family:Cormorant Garamond,serif;font-size:.95rem;color:#8b7355;font-weight:600}.info-value{font-family:Courier New,monospace;font-size:.9rem;color:#5d4037;font-weight:600}.copy-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#d4af37,#b8860b);color:#fff;border:none;border-radius:8px;font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 8px #0003}.copy-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px #d4af3766;background:linear-gradient(135deg,gold,#d4af37)}.copy-btn:active{transform:translateY(0)}.store-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.store-link{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#fff,#fffef8);border:2px solid #d4af37;border-radius:12px;text-decoration:none;color:#5d4037;transition:all .3s ease;box-shadow:0 4px 15px #d4af3726}.store-link:hover{transform:translateY(-3px);box-shadow:0 8px 25px #d4af374d;border-color:gold}.store-icon{font-size:2rem;filter:grayscale(50%)}.store-name{flex:1;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:600;color:#d4af37}.store-link svg{color:#b8860b}.registry-footer{text-align:center;margin-top:4rem;padding-top:2rem;border-top:2px solid rgba(212,175,55,.3)}.footer-message{font-family:Playfair Display,serif;font-size:1.3rem;color:#d4af37;font-style:italic;font-weight:600}@media(max-width:768px){.registry{padding:4rem 1.5rem}.bank-cards,.store-links{grid-template-columns:1fr}.info-row{flex-direction:column;align-items:flex-start;gap:.25rem}.info-value{font-size:.85rem}}.rsvp{min-height:100vh;display:flex;justify-content:center;align-items:center;background:#fffdf7cc;padding:4rem 2rem}.rsvp-container{max-width:600px;width:100%;background:linear-gradient(135deg,#fff,#fffdf7);border-radius:20px;padding:3rem 2.5rem;box-shadow:0 20px 60px #d4af374d;border:3px solid #D4AF37}.rsvp-title{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,2.5rem);color:#d4af37;text-align:center;margin-bottom:.5rem;font-weight:600;font-style:italic}.rsvp-subtitle{font-family:Cormorant Garamond,serif;text-align:center;color:#b8860b;font-size:1.1rem;margin-bottom:2.5rem;font-style:italic}.rsvp-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-family:Cormorant Garamond,serif;font-size:1.05rem;color:#8b7355;font-weight:500}.form-hint{font-family:Cormorant Garamond,serif;font-size:.9rem;color:#b8860b;font-style:italic;margin-top:-.25rem}.form-input,.form-textarea{font-family:Cormorant Garamond,serif;padding:.8rem 1rem;border:2px solid #D4AF37;border-radius:10px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease;background:#fffcf5}.form-input::placeholder,.form-textarea::placeholder{color:#c9a96e;opacity:.7}.form-input:focus,.form-textarea:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #d4af371a}.form-textarea{resize:vertical;min-height:100px}.radio-group{display:flex;flex-direction:column;gap:.8rem}.radio-label{font-family:Cormorant Garamond,serif;display:flex;align-items:center;gap:.6rem;cursor:pointer;padding:.8rem;border:2px solid #D4AF37;border-radius:10px;transition:all .3s ease;background:#fffcf5}.radio-label:hover{background:#fff8e7;border-color:gold}.radio-label input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:#D4AF37}.radio-label input[type=radio]:checked+span{font-weight:600;color:#d4af37}.radio-label:has(input[type=radio]:checked){border-color:gold;background:#d4af371a}.form-submit{font-family:Cormorant Garamond,serif;padding:1rem 2rem;background:linear-gradient(135deg,#d4af37,gold);color:#fff;border:none;border-radius:25px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-top:1rem}.form-submit:hover{transform:translateY(-2px);box-shadow:0 10px 25px #d4af3766}.form-submit:active{transform:translateY(0)}.form-message{text-align:center;padding:1rem;border-radius:10px;margin-top:1rem;font-weight:500;opacity:0;transition:opacity .3s ease}.form-message-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb;opacity:1}.form-message-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;opacity:1}@media(max-width:640px){.rsvp-container{padding:2rem 1.5rem}}
