:root,[data-palette=glam],[data-palette=glam-rosaoro]{--primary:#e8a0bf;--primary-rgb:232, 160, 191;--primary-glow:#e8a0bf80;--secondary:#d4a843;--secondary-rgb:212, 168, 67;--accent:#f5d0e0;--bg-dark:#1a0e12;--bg-darker:#0d0709;--bg-light:#fff8fa;--bg-card:#e8a0bf14;--border-color:#e8a0bf33;--border-accent:#d4a84366;--gradient-primary:linear-gradient(135deg, #e8a0bf 0%, #d4a843 100%);--gradient-dark:linear-gradient(135deg, #1a0e12 0%, #2d1820 100%)}[data-palette=glam-diamante]{--primary:#9b59b6;--primary-rgb:155, 89, 182;--primary-glow:#9b59b680;--secondary:silver;--secondary-rgb:192, 192, 192;--accent:#d7bde2;--bg-dark:#120a1a;--bg-darker:#080510;--bg-light:#faf5ff;--bg-card:#9b59b614;--border-color:#9b59b633;--border-accent:#c0c0c066;--gradient-primary:linear-gradient(135deg, #9b59b6 0%, silver 100%);--gradient-dark:linear-gradient(135deg, #120a1a 0%, #1e1030 100%)}[data-palette=glam-clasico]{--primary:#ff69b4;--primary-rgb:255, 105, 180;--primary-glow:#ff69b480;--secondary:gold;--secondary-rgb:255, 215, 0;--accent:pink;--bg-dark:#1a0a14;--bg-darker:#0d050a;--bg-light:#fff5f8;--bg-card:#ff69b414;--border-color:#ff69b433;--border-accent:#ffd70066;--gradient-primary:linear-gradient(135deg, #ff69b4 0%, gold 100%);--gradient-dark:linear-gradient(135deg, #1a0a14 0%, #2d1020 100%)}button.music-control-btn{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%)!important;box-shadow:0 8px 25px var(--primary-glow), inset 0 0 0 4px #ffffff1a, inset 0 0 0 8px #ffffff0d!important}button.music-control-btn:hover{box-shadow:0 12px 35px var(--primary-glow), inset 0 0 0 4px #fff3, inset 0 0 0 8px #ffffff1a!important}button.music-control-btn.playing:after{border-color:rgba(var(--secondary-rgb), .5)!important}.navbar-demo{backdrop-filter:blur(12px);z-index:1000;background:#000c;border-bottom:1px solid #ffffff1a;padding:.8rem 0;transition:transform .3s;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.navbar-demo.visible{transform:translateY(0)}.nav-demo-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.nav-demo-left{align-items:center;gap:1rem;display:flex}.back-link{color:#ffffffb3;border-radius:50px;align-items:center;gap:6px;padding:.5rem 1rem;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.back-link:hover{color:#fff;background:#ffffff1a}.back-link svg{width:18px;height:18px}.demo-badge{background:var(--gradient-primary);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:50px;padding:.3rem .8rem;font-family:Poppins,sans-serif;font-size:.7rem;font-weight:600}.nav-cta-demo{background:var(--gradient-primary);color:#fff;border-radius:50px;align-items:center;gap:8px;padding:.6rem 1.5rem;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.nav-cta-demo:hover{box-shadow:0 8px 20px var(--primary-glow);transform:translateY(-2px)}.nav-cta-demo svg{width:18px;height:18px}@media (width<=600px){.nav-demo-container{padding:0 16px}.back-link span{display:none}.back-link{padding:.5rem}.demo-badge{display:none}.nav-cta-demo{padding:.5rem 1rem;font-size:.85rem}.nav-cta-demo span{display:none}}*{box-sizing:border-box;margin:0;padding:0}html{width:100%;overflow-x:hidden}body{background:var(--bg-darker);width:100%;min-width:100%;max-width:100vw;font-family:Montserrat,sans-serif;position:relative;overflow-x:hidden}.hero{background-image:url(https://res.cloudinary.com/dtqj6adlq/image/upload/w_1920,q_auto,f_auto/v1772466085/boda-1_snb8ph.jpg);background-position:50%;background-size:cover;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(ellipse at center, transparent 0%, rgba(var(--primary-rgb), .4) 50%, #000000bf 100%), linear-gradient(135deg, rgba(var(--primary-rgb), .55) 0%, rgba(var(--secondary-rgb), .45) 50%, rgba(var(--primary-rgb), .55) 100%);z-index:1;animation:8s ease-in-out infinite pulseLight;position:absolute;inset:0}@keyframes pulseLight{0%,to{opacity:1}50%{opacity:.85}}.particles{z-index:2;pointer-events:none;position:absolute;inset:0}.particle{background:rgba(var(--secondary-rgb), .6);width:4px;height:4px;box-shadow:0 0 10px rgba(var(--secondary-rgb), .8);border-radius:50%;animation:15s ease-in-out infinite float-particle;position:absolute}@keyframes float-particle{0%,to{opacity:0;transform:translateY(0)translate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100vh)translate(50px)}}.hero-content{z-index:3;text-align:center;color:#fff;opacity:0;max-width:900px;padding:2rem;animation:1.5s cubic-bezier(.16,1,.3,1) .5s forwards heroEnter;position:relative;transform:translateY(50px)}@keyframes heroEnter{to{opacity:1;transform:translateY(0)}}.rings{filter:drop-shadow(0 0 30px rgba(var(--secondary-rgb), .8));margin-bottom:1.5rem;font-size:4rem;animation:3s ease-in-out infinite ringsShine;display:inline-block}@keyframes ringsShine{0%,to{filter:drop-shadow(0 0 30px rgba(var(--secondary-rgb),.8));transform:scale(1)rotate(-5deg)}50%{filter:drop-shadow(0 0 50px rgba(var(--secondary-rgb),1));transform:scale(1.1)rotate(5deg)}}.hero-names{background:linear-gradient(135deg, var(--secondary) 0%, #fff 30%, var(--secondary) 60%, #fff 100%);-webkit-text-fill-color:transparent;letter-spacing:-2px;background-size:200%;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:clamp(3.5rem,10vw,8rem);font-weight:900;line-height:.95;animation:3s linear infinite shimmer}@keyframes shimmer{to{background-position:200%}}.hero-ampersand{background:linear-gradient(135deg, var(--secondary), #fff);-webkit-text-fill-color:transparent;opacity:.85;-webkit-background-clip:text;background-clip:text;margin:-.3rem 0;font-family:Playfair Display,serif;font-size:clamp(2rem,6vw,5rem);font-style:italic;font-weight:400;display:block}.hero-subtitle{letter-spacing:8px;text-transform:uppercase;opacity:0;margin:1.5rem 0;font-size:clamp(1rem,3vw,1.8rem);font-weight:300;animation:1s 1.2s forwards fadeInUp}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.hero-date{backdrop-filter:blur(20px);border:2px solid rgba(var(--secondary-rgb), .5);box-shadow:0 20px 60px #00000080, inset 0 0 40px rgba(var(--secondary-rgb),.1);opacity:0;background:#ffffff26;border-radius:100px;margin-top:2.5rem;padding:1.2rem 3rem;font-size:clamp(1rem,2.5vw,1.6rem);font-weight:600;animation:1s 1.5s forwards fadeInUp;display:inline-block;position:relative;overflow:hidden}.hero-date:before{content:"";background:linear-gradient(45deg,#0000,#ffffff4d,#0000);width:200%;height:200%;animation:3s infinite shine;position:absolute;top:-50%;left:-50%}@keyframes shine{0%{transform:translate(-100%)translateY(-100%)rotate(45deg)}to{transform:translate(100%)translateY(100%)rotate(45deg)}}.scroll-indicator{z-index:3;color:#fff;cursor:pointer;opacity:0;animation:1s 2s forwards fadeInBounce;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}@keyframes fadeInBounce{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.scroll-indicator svg{width:30px;height:30px;filter:drop-shadow(0 0 10px rgba(var(--secondary-rgb),.8));animation:2s ease-in-out infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}section:not(.hero){padding:100px 20px;position:relative}.container{max-width:1200px;margin:0 auto}.countdown-section{background:linear-gradient(160deg, var(--bg-darker) 0%, var(--bg-dark) 50%, var(--bg-darker) 100%)}.info-section{background:var(--bg-light);position:relative}.info-section:before{content:"";background:radial-gradient(circle, rgba(var(--primary-rgb),.08) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:600px;height:600px;position:absolute;top:-200px;right:-200px}.gallery-section{background:var(--gradient-dark)!important;padding:100px 20px!important}.rsvp-section{background:linear-gradient(160deg, var(--bg-darker) 0%, var(--bg-dark) 50%, var(--bg-darker) 100%)}.section-title{text-align:center;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:900;display:inline-block;position:relative;left:50%;transform:translate(-50%)}.countdown-section .section-title,.gallery-section .section-title,.rsvp-section .section-title{background:linear-gradient(135deg, var(--secondary) 0%, #fff 40%, var(--secondary) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:4s linear infinite shimmerTitle}.info-section .section-title{color:var(--primary)}@keyframes shimmerTitle{to{background-position:200%}}.section-title:after{content:"";background:linear-gradient(90deg, transparent, var(--secondary), transparent);border-radius:2px;width:80px;height:3px;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)}.magic-sparkle{text-align:center;margin:1.5rem 0 2.5rem;font-size:2.5rem;animation:2s ease-in-out infinite sparkle;display:block}@keyframes sparkle{0%,to{opacity:.7;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.3)rotate(180deg)}}.countdown{grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:700px;margin:0 auto;display:grid}.countdown-item{text-align:center;border:1px solid rgba(var(--secondary-rgb),.2);backdrop-filter:blur(10px);opacity:0;background:#ffffff0a;border-radius:24px;padding:2.5rem 1.5rem;animation:.8s forwards slideUpFade;position:relative;overflow:hidden;transform:translateY(30px)}.countdown-item:first-child{animation-delay:.1s}.countdown-item:nth-child(2){animation-delay:.2s}.countdown-item:nth-child(3){animation-delay:.3s}.countdown-item:nth-child(4){animation-delay:.4s}@keyframes slideUpFade{to{opacity:1;transform:translateY(0)}}.countdown-item:before{content:"";background:linear-gradient(135deg, rgba(var(--secondary-rgb),.6), rgba(var(--primary-rgb),.4), rgba(var(--secondary-rgb),.6));z-index:-1;opacity:0;background-size:300% 300%;border-radius:24px;transition:opacity .3s;animation:3s infinite borderGlow;position:absolute;inset:-1px}.countdown-item:hover:before{opacity:1}@keyframes borderGlow{0%,to{background-position:0%}50%{background-position:100%}}.countdown-number{background:linear-gradient(135deg, var(--secondary), #fff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:3.5rem;font-weight:900;line-height:1;display:block}.countdown-label{text-transform:uppercase;letter-spacing:3px;color:#ffffff80;font-size:.75rem;font-weight:600}.info-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:4rem;display:grid}.info-card{text-align:center;box-shadow:0 10px 40px rgba(var(--primary-rgb),.08);border:2px solid rgba(var(--primary-rgb),.08);background:#fff;border-radius:28px;padding:3rem 2.5rem;transition:all .5s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.info-card:after{content:"";background:var(--gradient-primary);border-radius:28px 28px 0 0;height:4px;position:absolute;top:0;left:0;right:0}.info-card:hover{box-shadow:0 25px 70px rgba(var(--primary-rgb),.18);border-color:rgba(var(--primary-rgb),.2);transform:translateY(-12px)}.info-tag-glam{letter-spacing:3px;text-transform:uppercase;color:var(--primary);margin-bottom:.8rem;font-size:.65rem;font-weight:600;display:inline-block}.info-icon{margin-bottom:1rem;font-size:3rem;transition:transform .5s cubic-bezier(.68,-.55,.265,1.55);display:inline-block}.info-card:hover .info-icon{transform:scale(1.15)rotate(8deg)}.info-card h3{color:var(--primary);margin-bottom:1rem;font-family:Playfair Display,serif;font-size:1.7rem;font-weight:700}.info-card p{color:#777;margin-bottom:.4rem;font-size:.95rem;line-height:1.8}.info-card p strong{color:#333}.gallery-grid{columns:3;column-gap:1rem;width:100%;max-width:1100px;margin-top:3rem;margin-left:auto;margin-right:auto}.gallery-item{break-inside:avoid;cursor:pointer;border:1px solid rgba(var(--secondary-rgb),.1);border-radius:16px;margin-bottom:1rem;position:relative;overflow:hidden;box-shadow:0 4px 20px #0006}.gallery-item img{width:100%;height:auto;transition:transform .6s cubic-bezier(.16,1,.3,1);display:block}.gallery-item:before{content:"";background:linear-gradient(135deg, rgba(var(--primary-rgb),0) 0%, rgba(var(--secondary-rgb),0) 100%);z-index:1;transition:background .4s;position:absolute;inset:0}.gallery-item:hover:before{background:linear-gradient(135deg, rgba(var(--primary-rgb),.25) 0%, rgba(var(--secondary-rgb),.15) 100%)}.gallery-item:hover img{transform:scale(1.06)}.gallery-item:hover{box-shadow:0 8px 40px rgba(var(--primary-rgb),.3), 0 0 0 2px rgba(var(--secondary-rgb),.3)}.gallery-item:after{content:"💍";z-index:2;pointer-events:none;font-size:2rem;transition:transform .3s cubic-bezier(.68,-.55,.265,1.55);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.gallery-item:hover:after{transform:translate(-50%,-50%)scale(1)}.placeholder{aspect-ratio:3/4;background:linear-gradient(135deg, rgba(var(--primary-rgb),.2), rgba(var(--secondary-rgb),.2));color:#ffffff80;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.placeholder-icon{opacity:.5;font-size:2rem}.lightbox{z-index:9999;backdrop-filter:blur(10px);background:#000000eb;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.lightbox.active{display:flex}.lightbox-img{object-fit:contain;max-width:90vw;max-height:88vh;box-shadow:0 0 80px var(--primary-glow);border-radius:12px;animation:.3s cubic-bezier(.16,1,.3,1) lightboxIn}@keyframes lightboxIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.lightbox-close{color:#fff;cursor:pointer;backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.4rem;transition:all .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.lightbox-close:hover{background:rgba(var(--primary-rgb),.4);transform:rotate(90deg)}.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.4rem;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:rgba(var(--primary-rgb),.4)}.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}.lightbox-counter{color:#fff;background:#00000080;border-radius:50px;padding:.5rem 1rem;font-size:.9rem;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.rsvp-form{backdrop-filter:blur(20px);border:1px solid rgba(var(--secondary-rgb),.15);background:#ffffff0a;border-radius:32px;max-width:580px;margin:0 auto;padding:3.5rem 3rem;box-shadow:0 30px 80px #0006}.form-group{margin-bottom:1.8rem}.form-group label{color:var(--secondary);letter-spacing:1px;text-transform:uppercase;margin-bottom:.7rem;font-size:.9rem;font-weight:600;display:block}.form-group input,.form-group select{color:#fff;background:#ffffff0f;border:1.5px solid #ffffff1f;border-radius:14px;width:100%;padding:1.1rem 1.4rem;font-family:Montserrat,sans-serif;font-size:1rem;transition:all .3s}.form-group select option{background:var(--bg-dark);color:#fff}.form-group input:focus,.form-group select:focus{border-color:rgba(var(--secondary-rgb),.5);box-shadow:0 0 20px rgba(var(--secondary-rgb),.1);background:#ffffff1a;outline:none}.form-group input::placeholder{color:#ffffff59}.submit-btn{background:var(--gradient-primary);color:#fff;cursor:pointer;letter-spacing:2px;text-transform:uppercase;width:100%;box-shadow:0 15px 50px var(--primary-glow);border:none;border-radius:100px;margin-top:.5rem;padding:1.4rem;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:700;transition:all .3s;position:relative;overflow:hidden}.submit-btn:hover{box-shadow:0 20px 60px var(--primary-glow);transform:translateY(-4px)}.submit-btn span{z-index:1;position:relative}.footer{background:var(--gradient-dark);color:#fff;text-align:center;border-top:1px solid rgba(var(--secondary-rgb),.15);padding:5rem 2rem 3rem;position:relative;overflow:hidden}.footer:before{content:"";background:linear-gradient(90deg, transparent, var(--secondary), var(--primary), var(--secondary), transparent);height:2px;position:absolute;top:0;left:0;right:0}.footer-heart{filter:drop-shadow(0 0 20px rgba(var(--secondary-rgb),.6));margin-bottom:1.5rem;font-size:3rem;animation:1.5s ease-in-out infinite heartbeat;display:inline-block}@keyframes heartbeat{0%,to{transform:scale(1)}25%,75%{transform:scale(1.1)}50%{transform:scale(1.15)}}.footer p{color:#fff9;margin-bottom:.8rem;font-size:1.1rem}.footer-names{background:linear-gradient(135deg, var(--secondary), #fff, var(--secondary));-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;margin-top:1rem;font-family:Playfair Display,serif;font-size:clamp(2rem,6vw,4rem);font-weight:900;animation:3s linear infinite shimmer;display:block}.powered{color:#ffffff4d;border-top:1px solid #ffffff1a;margin-top:3rem;padding-top:2rem;font-size:.85rem}.powered a{color:var(--secondary);font-weight:700;text-decoration:none;transition:all .3s}.powered a:hover{color:#fff;text-shadow:0 0 20px rgba(var(--secondary-rgb),.8)}@media (width<=768px){.hero-content{max-width:100%;padding:1.5rem}.hero-subtitle{letter-spacing:4px}.hero-date{padding:1rem 2rem}.rings{margin-bottom:1rem;font-size:3rem}.countdown{grid-template-columns:repeat(2,1fr);gap:1rem}.countdown-item{padding:1.5rem 1rem}.countdown-number{font-size:2.5rem}.gallery-grid{columns:2}.rsvp-form{padding:2.5rem 1.5rem}}@media (width<=480px){.hero-subtitle{letter-spacing:2px}.hero-date{padding:.9rem 1.5rem}.countdown-number{font-size:2.2rem}.gallery-grid{columns:1;max-width:320px}}.music-modal-overlay{box-sizing:border-box!important;padding:1rem!important}.music-modal{box-sizing:border-box!important;width:100%!important;max-width:calc(100vw - 2rem)!important;margin:0 auto!important}
