@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;1,400&family=Cormorant+Garamond:wght@300;400;500&display=swap";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Playfair Display,Georgia,serif}.album-page{background:var(--beige-claro);min-height:100vh;color:var(--texto-oscuro);font-family:Cormorant Garamond,serif}.album-hero{text-align:center;background:linear-gradient(135deg,#2c1810 0%,#4a3728 100%);padding:3rem 1.5rem 2.5rem;position:relative;overflow:hidden}.album-hero:before{content:"";background:radial-gradient(circle,#c2b28026 0%,#0000 70%);position:absolute;inset:0}.album-hero-content{z-index:1;position:relative}.album-hero-tag{letter-spacing:4px;text-transform:uppercase;color:var(--caqui);margin-bottom:.5rem;font-size:.7rem}.album-hero h1{color:#fff;letter-spacing:2px;margin:0 0 .3rem;font-family:Playfair Display,serif;font-size:clamp(2rem,6vw,3rem);font-weight:400}.album-hero-subtitle{color:#fff9;letter-spacing:2px;font-size:.9rem;font-style:italic}.album-hero-sep{justify-content:center;align-items:center;gap:1rem;margin:1.2rem 0;display:flex}.album-hero-sep span{background:linear-gradient(90deg, transparent, var(--caqui));width:50px;height:1px}.album-hero-sep span:last-child{background:linear-gradient(90deg, var(--caqui), transparent)}.album-hero-sep i{color:var(--caqui);font-size:1rem;font-style:normal}.album-user-bar{color:#ffffffd9;background:#ffffff14;border:1px solid #c2b2804d;border-radius:50px;align-items:center;gap:.8rem;margin-top:1rem;padding:.5rem 1.2rem;font-size:.85rem;display:inline-flex}.album-user-bar button{color:var(--caqui);cursor:pointer;letter-spacing:1px;background:0 0;border:none;padding:0;font-family:inherit;font-size:.8rem;transition:opacity .2s}.album-user-bar button:hover{opacity:.7}.album-user-bar .sep{opacity:.3}.album-toast{z-index:2000;white-space:nowrap;border-radius:50px;padding:.8rem 1.8rem;font-family:Cormorant Garamond,serif;font-size:.9rem;animation:.35s forwards toastIn;position:fixed;top:1.5rem;left:50%;transform:translate(-50%)translateY(-10px);box-shadow:0 8px 30px #00000026}@keyframes toastIn{to{opacity:1;transform:translate(-50%)translateY(0)}}.album-toast.exito{color:#2e5e2e;background:#f0f7f0;border:1px solid #b8d9b8}.album-toast.error{color:#7a2020;background:#fdf0f0;border:1px solid #e8b8b8}.album-toast.info{background:var(--beige-claro);color:var(--texto-oscuro);border:1px solid var(--beige-medio)}.btn-flotante-subir{background:linear-gradient(135deg, var(--caqui) 0%, var(--marron-claro) 100%);color:#fff;cursor:pointer;z-index:1000;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:2rem;transition:all .3s;animation:1s infinite pulse;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 15px #0003}@keyframes pulse{0%{transform:scale(1);box-shadow:0 4px 15px #0003}50%{transform:scale(1.1);box-shadow:0 8px 25px #c2b28099}to{transform:scale(1);box-shadow:0 4px 15px #0003}}.btn-flotante-subir:hover{transform:scale(1.05);box-shadow:0 6px 20px #c2b28080}.modal-subir-overlay{z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1e120ad9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-subir{background:#fff;border-radius:24px;width:90%;max-width:500px;animation:.4s cubic-bezier(.34,1.56,.64,1) modalIn;overflow:hidden;box-shadow:0 30px 80px #0000004d}.modal-subir-header{text-align:center;background:linear-gradient(135deg,#2c1810 0%,#4a3728 100%);padding:1.5rem}.modal-subir-header h3{color:#fff;margin:0;font-family:Playfair Display,serif;font-size:1.3rem}.modal-subir-body{padding:1.5rem}.upload-input{border:1.5px solid var(--beige-medio);width:100%;color:var(--texto-oscuro);background:var(--beige-claro);box-sizing:border-box;border-radius:12px;margin-bottom:1rem;padding:.85rem 1.1rem;font-family:Cormorant Garamond,serif;font-size:1rem}.file-label-modal{border:1.5px dashed var(--beige-medio);cursor:pointer;background:var(--beige-claro);border-radius:12px;align-items:center;gap:.7rem;margin-bottom:1rem;padding:.85rem 1.1rem;display:flex}.file-label-modal:hover{border-color:var(--caqui);background:#fff}.file-label-modal input{display:none}.preview-modal{text-align:center;margin-bottom:1rem}.preview-modal img{border-radius:8px;max-width:100%;max-height:200px}.modal-subir-footer{gap:1rem;padding:0 1.5rem 1.5rem;display:flex}.btn-subir-modal,.btn-cancelar{cursor:pointer;border-radius:12px;flex:1;padding:.8rem;font-family:Playfair Display,serif;font-size:.9rem;transition:all .3s}.btn-subir-modal{background:linear-gradient(135deg, var(--caqui) 0%, var(--marron-claro) 100%);color:#fff;border:none}.btn-cancelar{background:var(--beige-claro);color:var(--texto-oscuro);border:1px solid var(--beige-medio)}.btn-subir-modal:disabled{opacity:.6;cursor:not-allowed}.modal-eliminar-overlay{z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1e120ad9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-eliminar{background:#fff;border-radius:24px;width:90%;max-width:400px;animation:.4s cubic-bezier(.34,1.56,.64,1) modalIn;overflow:hidden}.modal-eliminar-header{text-align:center;background:linear-gradient(135deg,#8b4513 0%,sienna 100%);padding:1.5rem}.modal-eliminar-header h3{color:#fff;margin:0;font-family:Playfair Display,serif}.modal-eliminar-body{text-align:center;padding:1.5rem}.modal-eliminar-body p{color:var(--texto-oscuro);margin:.5rem 0}.modal-eliminar-footer{gap:1rem;padding:0 1.5rem 1.5rem;display:flex}.btn-confirmar,.btn-cancelar-eliminar{cursor:pointer;border-radius:12px;flex:1;padding:.8rem;font-family:Playfair Display,serif;font-size:.9rem}.btn-confirmar{color:#fff;background:#dc3545;border:none}.btn-cancelar-eliminar{background:var(--beige-claro);color:var(--texto-oscuro);border:1px solid var(--beige-medio)}@keyframes modalIn{0%{opacity:0;transform:scale(.85)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.album-body{max-width:1100px;margin:0 auto;padding:2rem 1.2rem 4rem}.gallery-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.gallery-header h2{color:var(--texto-oscuro);white-space:nowrap;font-family:Playfair Display,serif;font-size:1.3rem;font-weight:400}.gallery-header-line{background:var(--beige-medio);flex:1;height:1px}.gallery-count{color:var(--marron-claro);background:var(--beige-medio);white-space:nowrap;border-radius:50px;padding:.2rem .8rem;font-size:.8rem}.galeria{grid-template-columns:repeat(3,1fr);gap:.8rem;display:grid}@media (width<=900px){.galeria{grid-template-columns:repeat(2,1fr);gap:.7rem}}@media (width<=480px){.galeria{grid-template-columns:repeat(2,1fr);gap:.5rem}.album-body{padding:1.2rem .8rem 3rem}.album-hero{padding:2rem 1rem 1.8rem}.album-hero h1{font-size:1.6rem}.btn-flotante-subir{width:50px;height:50px;font-size:1.5rem;bottom:1rem;right:1rem}}.tarjeta-foto{border:1px solid var(--beige-medio);background:#fff;border-radius:12px;flex-direction:column;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 10px #4a37280f}.tarjeta-foto:hover{transform:translateY(-3px);box-shadow:0 10px 25px #4a37281f}.foto-img-wrap{cursor:pointer;aspect-ratio:1;background:var(--beige-claro);position:relative;overflow:hidden}.foto-img-wrap img{object-fit:cover;filter:blur(8px);width:100%;height:100%;transition:transform .5s,filter .4s;display:block;transform:scale(1.05)}.foto-img-wrap img.loaded{filter:blur();transform:scale(1)}.tarjeta-foto:hover .foto-img-wrap img.loaded{transform:scale(1.06)}.foto-overlay{background:#4a372800;justify-content:center;align-items:center;transition:background .3s;display:flex;position:absolute;inset:0}.tarjeta-foto:hover .foto-overlay{background:#4a372840}.foto-overlay-icon{opacity:0;color:#fff;font-size:1.5rem;transition:opacity .3s}.tarjeta-foto:hover .foto-overlay-icon{opacity:1}.info-foto{padding:.6rem .8rem .8rem}.info-foto h3{color:var(--texto-oscuro);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;font-family:Playfair Display,serif;font-size:.85rem;font-weight:400;line-height:1.3;overflow:hidden}.foto-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.2rem;display:flex}.foto-autor{color:var(--caqui-oscuro);font-size:.72rem;font-style:italic}.foto-fecha{color:#b0a090;font-size:.65rem;display:none}@media (width>=600px){.foto-fecha{display:block}}.boton-eliminar{color:#c0705a;cursor:pointer;background:0 0;border:1px solid #e8c0b8;border-radius:6px;width:100%;margin-top:.5rem;padding:.35rem;font-family:Cormorant Garamond,serif;font-size:.75rem;transition:all .2s}.boton-eliminar:hover{background:#fdf0ee;border-color:#c0705a}.empty-state{text-align:center;color:var(--marron-claro);padding:5rem 2rem}.empty-state-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}.empty-state p{font-family:Playfair Display,serif;font-size:1.1rem;font-style:italic}.loading-state{text-align:center;color:var(--marron-claro);padding:5rem;font-style:italic}.loading-dots span{font-size:1.5rem;animation:1.2s infinite blink}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1e120ad9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-bienvenida{background:#fff;border-radius:24px;width:100%;max-width:400px;animation:.4s cubic-bezier(.34,1.56,.64,1) modalIn;overflow:hidden;box-shadow:0 30px 80px #0000004d}.modal-header-boda{text-align:center;background:linear-gradient(135deg,#2c1810 0%,#4a3728 100%);padding:2.5rem 2rem;position:relative}.modal-header-boda:after{content:"";background:radial-gradient(circle,#c2b28026 0%,#0000 70%);position:absolute;inset:0}.modal-header-boda h2{color:#fff;z-index:1;margin-bottom:.3rem;font-family:Playfair Display,serif;font-size:1.6rem;font-weight:400;position:relative}.modal-header-boda p{color:var(--caqui);letter-spacing:1px;z-index:1;font-size:.85rem;font-style:italic;position:relative}.modal-body-boda{padding:2rem}.modal-body-boda label{letter-spacing:2px;text-transform:uppercase;color:var(--marron-claro);margin-bottom:.6rem;font-size:.8rem;display:block}.modal-body-boda input{border:1.5px solid var(--beige-medio);width:100%;color:var(--texto-oscuro);background:var(--beige-claro);box-sizing:border-box;border-radius:12px;padding:.9rem 1.1rem;font-family:Cormorant Garamond,serif;font-size:1.1rem;transition:border-color .2s}.modal-body-boda input:focus{border-color:var(--caqui);background:#fff;outline:none}.modal-hints{background:var(--beige-claro);border-radius:10px;flex-direction:column;gap:.4rem;margin-top:1rem;padding:.8rem 1rem;display:flex}.modal-hints small{color:var(--texto-suave);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.modal-footer-boda{padding:0 2rem 2rem}.btn-comenzar{background:linear-gradient(135deg, var(--caqui) 0%, var(--marron-claro) 100%);color:#fff;letter-spacing:1px;cursor:pointer;border:none;border-radius:12px;width:100%;padding:1rem;font-family:Playfair Display,serif;font-size:1rem;transition:all .3s}.btn-comenzar:hover{transform:translateY(-2px);box-shadow:0 6px 20px #c2b28080}.seleccion-multiple{text-align:center;margin-bottom:1rem}.seleccion-checkbox{cursor:pointer;margin-right:.5rem}.tarjeta-foto.seleccionada{border:3px solid var(--caqui);position:relative}.tarjeta-foto.seleccionada:after{content:"✓";background:var(--caqui);color:#fff;z-index:10;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;font-size:14px;display:flex;position:absolute;top:10px;right:10px}.checkbox-seleccion{z-index:10;cursor:pointer;width:20px;height:20px;position:absolute;top:10px;left:10px}.boton-eliminar-icono{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;z-index:10;opacity:0;background:#0009;border:1px solid #ff6b6b4d;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:1px;font-size:1.2rem;transition:all .3s;display:flex;position:absolute;top:10px;right:10px;transform:translateY(-5px)}.tarjeta-foto:hover .boton-eliminar-icono{opacity:1;transform:translateY(0)}.boton-eliminar-icono:hover{color:#fff;background:#dc3545e6;border-color:#dc3545e6;transform:scale(1.1)}.lightbox-overlay{z-index:3000;background:#000000f2;justify-content:center;align-items:center;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.lightbox-container{flex-direction:column;width:100%;height:100%;display:flex;position:relative}.lightbox-prev,.lightbox-next{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;z-index:3001;background:#0009;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:2.5rem;font-weight:300;line-height:1;transition:all .3s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-prev{left:2rem}.lightbox-next{right:2rem}.lightbox-prev:hover,.lightbox-next:hover{background:#c2b280e6;border-color:#c2b280e6;transform:translateY(-50%)scale(1.1)}.lightbox-close{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;z-index:3002;background:#0009;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;transition:all .2s;display:flex;position:fixed;top:1.5rem;right:1.5rem}.lightbox-close:hover{background:#dc3545e6;transform:rotate(90deg)}.lightbox-contenido{flex:1;justify-content:center;align-items:center;min-height:0;padding:2rem;display:flex;overflow:auto}.lightbox-img-principal{object-fit:contain;border-radius:8px;max-width:85vw;max-height:85vh;animation:.3s zoomIn;box-shadow:0 10px 40px #0000004d}.lightbox-info{text-align:center;color:#fff;z-index:3001;pointer-events:none;background:linear-gradient(#0000,#000000e6);padding:1.5rem;position:fixed;bottom:0;left:0;right:0}.lightbox-info h3{margin:0 0 .5rem;font-family:Playfair Display,serif;font-size:1.2rem;font-weight:400}.lightbox-info p{opacity:.8;margin:0;font-size:.9rem}.lightbox-contador{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;z-index:3002;letter-spacing:1px;white-space:nowrap;text-align:center;box-sizing:border-box;background:#000000b3;border:1px solid #fff3;border-radius:30px;width:auto;max-width:200px;padding:.4rem 1.2rem;font-family:monospace;font-size:.85rem;display:inline-block;position:fixed;top:1.5rem;left:50%;transform:translate(-50%)}@media (width<=768px){.lightbox-prev,.lightbox-next{width:40px;height:40px;font-size:1.8rem}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-close{width:36px;height:36px;font-size:1rem;top:.8rem;right:.8rem}.lightbox-contador{white-space:nowrap;max-width:150px;padding:.3rem .8rem;font-size:.7rem;top:.8rem}.lightbox-info{padding:1rem}.lightbox-info h3{margin-bottom:.3rem;font-size:.9rem}.lightbox-info p{font-size:.7rem}.lightbox-img-principal{max-width:95vw;max-height:80vh}.lightbox-contenido{padding:1rem}}@media (width>=769px) and (width<=1024px){.lightbox-prev,.lightbox-next{width:48px;height:48px;font-size:2rem}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}}.admin-secret-btn{cursor:pointer;opacity:.3;z-index:1000;background:#c2b28080;border:none;border-radius:50%;width:50px;height:50px;font-size:24px;transition:opacity .3s;position:fixed;bottom:20px;right:20px}.admin-secret-btn:hover{opacity:1}.admin-login{z-index:1000;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-login-modal{text-align:center;background:#fff;border-radius:20px;width:90%;max-width:400px;padding:2rem}.admin-login-modal input{border:1px solid #e8dcc8;border-radius:12px;width:100%;margin:1rem 0;padding:.75rem}.admin-login-modal button{color:#fff;cursor:pointer;background:#c2b280;border:none;border-radius:50px;padding:.75rem 1.5rem}.error{color:red;margin-top:1rem}:root{--beige-claro:#f5f0e6;--beige-medio:#e8dcc8;--caqui:#c2b280;--caqui-oscuro:#a8976b;--marron-claro:#8b7355;--texto-oscuro:#4a3728;--texto-suave:#5c4b3a}*{box-sizing:border-box;margin:0;padding:0}.fullscreen-hero{background:linear-gradient(135deg,#2c1810 0%,#4a3728 100%);justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.hero-background{opacity:.4;background-image:url(/images/pareja1.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0}.hero-overlay{background:radial-gradient(circle,#0000004d 0%,#0009 100%);width:100%;height:100%;position:absolute;top:0;left:0}.hero-container{z-index:2;text-align:center;color:#fff;width:90%;max-width:500px;padding:1.5rem;animation:1.2s fadeInScale;position:relative}.name-top,.name-bottom{letter-spacing:clamp(2px,1.5vw,5px);text-shadow:2px 2px 4px #0000004d;margin:.3rem 0;font-family:Playfair Display,serif;font-size:clamp(1.8rem,7vw,3.5rem)}.ampersand-symbol{opacity:.8;margin:.2rem 0;font-family:Playfair Display,serif;font-size:clamp(1.2rem,5vw,2rem);display:inline-block}.hero-subtitle{letter-spacing:4px;color:var(--caqui);margin-bottom:1rem;font-size:1rem}.wedding-date-wrapper{flex-direction:column;align-items:center;gap:1rem;margin-top:2rem;margin-bottom:2rem;display:flex}.wedding-date-wrapper .date-line{background:linear-gradient(90deg,#0000,#fff,#0000);width:60px;height:1px}.wedding-date-wrapper .wedding-date-text{letter-spacing:2px;color:#fff;justify-content:center;align-items:center;gap:8px;font-size:clamp(1rem,4vw,1.2rem);display:flex}.scroll-hint{text-align:center;cursor:pointer;z-index:2;opacity:.7;transition:all .3s;position:absolute;bottom:30px;left:0;right:0}.scroll-hint:hover{opacity:1;transform:translateY(-5px)}.scroll-hint span{color:#fff;letter-spacing:3px;margin-bottom:12px;font-size:.8rem;font-weight:300;display:block}.mouse-icon{border:2px solid #fff;border-radius:20px;width:26px;height:40px;margin:0 auto;transition:border-color .3s;position:relative}.scroll-hint:hover .mouse-icon{border-color:var(--caqui)}.mouse-wheel{background:#fff;border-radius:2px;width:2px;height:8px;animation:1.5s infinite scrollWheel;position:absolute;top:8px;left:50%;transform:translate(-50%)}.scroll-hint:hover .mouse-wheel{background:var(--caqui)}.content-wrapper{z-index:5;opacity:1;background:#fff;min-height:100vh;position:relative;transform:none}.content-container{max-width:1200px;margin:0 auto;padding:2rem 1rem}.countdown-section{text-align:center;background:#fff;border-radius:20px;margin:1rem 0;padding:4rem 2rem}.countdown-section h2{color:var(--texto-oscuro);margin-bottom:2rem;font-size:2rem;font-weight:400}.countdown-timer{flex-wrap:wrap;justify-content:center;gap:clamp(.5rem,3vw,2rem);display:flex}.time-card{background:linear-gradient(135deg, var(--beige-claro) 0%, var(--beige-medio) 100%);text-align:center;border-radius:20px;min-width:clamp(70px,20vw,100px);padding:clamp(.8rem,4vw,1.5rem)}.time-number{color:var(--caqui);font-size:clamp(1.5rem,8vw,3rem);font-weight:700;display:block}.time-label{text-transform:uppercase;color:var(--marron-claro);font-size:clamp(.6rem,3vw,.8rem)}.floral-separator{justify-content:center;align-items:center;gap:1rem;padding:2rem 0;display:flex}.separator-line{background:linear-gradient(90deg, transparent, var(--caqui), transparent);width:60px;height:1px}.events-section{background:var(--beige-claro);border-radius:20px;margin:1rem 0;padding:4rem 2rem}.section-title{text-align:center;color:var(--texto-oscuro);margin-bottom:1rem;font-size:2rem}.section-subtitle{text-align:center;color:var(--marron-claro);margin-bottom:2rem;font-style:italic}.location-info{grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0;display:grid}.location-details{flex-direction:column;gap:1.5rem;display:flex}.location-time{flex-wrap:wrap;gap:1rem;display:flex}.time-badge{background:#fff;border-radius:20px;align-items:center;gap:.5rem;padding:.8rem 1.2rem;display:flex;box-shadow:0 2px 8px #0000000d}.location-address{text-align:center;background:#fff;border-radius:20px;padding:1rem;box-shadow:0 2px 8px #0000000d}.location-map iframe{border-radius:20px;width:100%;height:250px}.transport-info{text-align:center;background:#fff;border-radius:20px;margin-top:2rem;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.transport-info h3{color:var(--caqui);margin-bottom:.5rem;margin-left:8px;display:inline-block}.schedule-section{text-align:center;background:#fff;border-radius:20px;margin:1rem 0;padding:4rem 2rem}.schedule-timeline{max-width:500px;margin:2rem auto}.schedule-item{border-bottom:1px solid var(--beige-medio);align-items:center;gap:1rem;padding:1rem;display:flex}.schedule-time{color:var(--caqui);min-width:80px;font-weight:700}.schedule-dot{background:var(--caqui);border-radius:50%;width:8px;height:8px}.schedule-event{color:var(--texto-oscuro)}.dresscode-section{background:var(--beige-claro);border-radius:20px;margin:1rem 0;padding:4rem 2rem}.dresscode-card{text-align:center;background:#fff;border-radius:20px;max-width:600px;margin:0 auto;padding:2rem;box-shadow:0 2px 8px #0000000d}.dresscode-emoji{margin-bottom:1rem;display:inline-block}.dresscode-note{color:var(--caqui);margin-top:.5rem;font-weight:700}.dresscode-warning{text-align:left;background:#c2a8781a;border-radius:20px;align-items:flex-start;gap:.5rem;margin-top:1rem;padding:1rem;display:flex}.color-swatches{justify-content:center;gap:1rem;margin:1.5rem 0;display:flex}.swatch{border:2px solid #fff;border-radius:50%;width:40px;height:40px;box-shadow:0 2px 5px #0000001a}.gifts-section{text-align:center;background:#fff;border-radius:20px;margin:1rem 0;padding:4rem 2rem}.gifts-message{color:var(--marron-claro);margin:1rem 0;font-style:italic}.gifts-options{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.gift-option{background:linear-gradient(135deg, white 0%, var(--beige-claro) 100%);color:var(--texto-oscuro);border:1px solid var(--caqui);cursor:pointer;border-radius:50px;align-items:center;gap:8px;padding:1rem 2rem;font-family:inherit;transition:all .3s;display:inline-flex}.gift-option:hover{background:linear-gradient(135deg, var(--beige-claro) 0%, var(--beige-medio) 100%);border-color:#0000;transform:scale(1.05);box-shadow:0 4px 12px #c2a87866}.faq-question{cursor:pointer;width:100%;color:var(--texto-oscuro);text-align:left;background:#fff;border:none;justify-content:space-between;align-items:center;padding:1.2rem;font-family:inherit;font-size:1rem;transition:all .3s;display:flex}.faq-icon{font-size:1.2rem;font-weight:700}.footer{background:linear-gradient(135deg, var(--beige-medio) 0%, var(--beige-claro) 100%);color:var(--texto-oscuro);text-align:center;border-radius:20px;margin:1rem 0}.couple-footer{color:var(--caqui);margin:.5rem 0;font-size:1.5rem}.hashtag{color:var(--caqui);padding-bottom:.5rem}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scrollWheel{0%{opacity:1;transform:translate(-50%)translateY(0)}80%{opacity:0;transform:translate(-50%)translateY(15px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (width<=768px){.hero-container{width:95%;padding:1rem}.name-top,.name-bottom{letter-spacing:3px;font-size:2rem}.ampersand-symbol{font-size:1.5rem}.location-info{grid-template-columns:1fr}.schedule-item{flex-wrap:wrap}.schedule-time{min-width:auto}.faq-question{padding:1rem;font-size:.9rem}.time-card{min-width:60px;padding:.8rem}.time-number{font-size:1.5rem}}@media (width<=480px){.name-top,.name-bottom{white-space:normal;font-size:1.5rem}.ampersand-symbol{font-size:1.2rem}.wedding-date-wrapper .date-line{width:40px}.scroll-hint{bottom:15px}.mouse-icon{width:22px;height:35px}.gifts-options{flex-direction:column;align-items:center}.gift-option{width:100%;max-width:280px}}input,select,textarea,button{touch-action:manipulation;font-size:16px}button{touch-action:manipulation;min-height:44px}.animate-on-scroll{opacity:0;transition:all .6s cubic-bezier(.4,0,.2,1);transform:translateY(30px)}.animate-on-scroll.animate-in{opacity:1;transform:translateY(0)}.countdown-section.animate-in{transition-delay:.1s}.events-section.animate-in{transition-delay:.2s}.schedule-section.animate-in{transition-delay:.3s}.dresscode-section.animate-in{transition-delay:.4s}.gifts-section.animate-in{transition-delay:.5s}.faq-section.animate-in{transition-delay:.6s}.time-card,.event-card,.schedule-item,.faq-item,.gift-option{opacity:0;animation:.5s forwards fadeInUp;transform:translateY(20px)}.time-card:first-child{animation-delay:.1s}.time-card:nth-child(2){animation-delay:.2s}.time-card:nth-child(3){animation-delay:.3s}.time-card:nth-child(4){animation-delay:.4s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.content-wrapper{transition:all .8s cubic-bezier(.4,0,.2,1)}.content-wrapper.slide-in{animation:.8s forwards slideUpFade}@keyframes slideUpFade{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.fade-section{opacity:0;transition:all .6s cubic-bezier(.4,0,.2,1);transform:translateY(30px)}.fade-section.visible{opacity:1;transform:translateY(0)}.countdown-section,.events-section,.schedule-section,.dresscode-section,.gifts-section,.faq-section{transition:all .5s}.fade-section:not(.visible){opacity:0;transform:translateY(30px)}.map-button{color:var(--texto-oscuro);border:1.5px solid var(--caqui);cursor:pointer;background:0 0;border-radius:50px;justify-content:center;align-items:center;gap:8px;width:100%;max-width:280px;margin:0 auto;padding:.8rem 1.5rem;font-family:inherit;font-size:.95rem;transition:all .3s;display:flex}.button-arrow{transition:transform .3s;display:inline-block}.map-button:hover{background:var(--caqui);color:#fff;border-color:var(--caqui);transform:translateY(-2px);box-shadow:0 4px 12px #c2a87833}.map-button:hover .button-arrow{transform:translate(5px)}.map-button:active{transform:translateY(0)}.location-address{text-align:center;background:#fff;border-radius:20px;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.address-text p{color:var(--texto-oscuro);margin:0;line-height:1.6}.address-text p:first-child{margin-bottom:.25rem;font-weight:500}.location-map{border-radius:20px;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 4px 15px #0000001a}.location-map iframe{width:100%;height:250px;display:block}.confirmation-section{text-align:center;background:linear-gradient(135deg, var(--beige-claro) 0%, var(--beige-medio) 100%);border-radius:20px;margin-bottom:2rem;padding:2rem}.confirmation-section h2{color:var(--texto-oscuro);margin-bottom:1.5rem}.confirmed-box,.cancelled-box,.pending-box{background:#fff;border-radius:20px;max-width:400px;margin:0 auto;padding:2rem;box-shadow:0 5px 20px #0000000d}.confirmed-box h3{color:#4caf50;margin:1rem 0}.cancelled-box h3{color:#f44336;margin:1rem 0}.pending-box h3{color:var(--caqui);margin:1rem 0}.confirmation-note{color:#999;margin:1rem 0;font-size:.8rem}.confirmation-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.confirm-attendance-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4caf50 0%,#45a049 100%);border:none;border-radius:50px;align-items:center;gap:8px;padding:.8rem 1.5rem;font-size:.9rem;transition:all .3s;display:inline-flex}.confirm-attendance-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.cancel-attendance-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f44336 0%,#d32f2f 100%);border:none;border-radius:50px;align-items:center;gap:8px;padding:.8rem 1.5rem;font-size:.9rem;transition:all .3s;display:inline-flex}.cancel-attendance-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f443364d}.confirm-attendance-btn:disabled,.cancel-attendance-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.welcome-message{background:linear-gradient(135deg, var(--caqui) 0%, var(--marron-claro) 100%);color:#fff;text-align:center;border-radius:50px;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;font-size:1.1rem;display:flex}.rsvp-note{text-align:center;background:var(--beige-claro);border-radius:20px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;padding:2rem;display:flex}@media (width<=480px){.confirmation-buttons{flex-direction:column}.confirm-attendance-btn,.cancel-attendance-btn{justify-content:center;width:100%}.welcome-message{padding:.8rem;font-size:.9rem}}.welcome-card{text-align:center;border:1px solid var(--beige-medio);background:#fff;border-radius:20px;margin-bottom:2rem;padding:2.5rem;box-shadow:0 4px 20px #00000008}.welcome-card h2{color:var(--texto-oscuro);margin:1rem 0;font-size:1.5rem;font-weight:500}.welcome-card p{color:var(--texto-suave);margin:1rem 0;line-height:1.8}.welcome-signature{color:var(--caqui);justify-content:center;align-items:center;gap:.8rem;margin-top:1.5rem;font-style:italic;display:flex}.confirmation-section-end{text-align:center;background:var(--beige-claro);border-radius:20px;margin:2rem 0;padding:2rem}.confirmation-section-end h2{color:var(--texto-oscuro);margin-bottom:.5rem;font-size:1.5rem}.confirmation-section-end>p{color:var(--marron-claro);margin-bottom:1.5rem}.confirmed-box-end,.cancelled-box-end,.pending-box-end{background:#fff;border-radius:20px;max-width:400px;margin:0 auto;padding:1.5rem}.confirmed-box-end h3,.cancelled-box-end h3,.pending-box-end h3{margin:1rem 0 .5rem;font-weight:500}.pending-box-end h3{color:var(--texto-oscuro)}.confirmation-buttons-end{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.confirm-btn-end,.cancel-btn-end{cursor:pointer;border:1px solid;border-radius:50px;align-items:center;gap:8px;padding:.8rem 1.8rem;font-size:.9rem;transition:all .3s;display:inline-flex}.confirm-btn-end{border-color:var(--caqui);color:var(--texto-oscuro);background:0 0}.confirm-btn-end:hover{background:var(--caqui);color:#fff;transform:translateY(-2px)}.cancel-btn-end{color:var(--texto-suave);background:0 0;border-color:#ddd}.cancel-btn-end:hover{border-color:var(--caqui-oscuro);color:var(--texto-oscuro);transform:translateY(-2px)}.cancel-link,.confirm-link{color:var(--caqui);cursor:pointer;opacity:.7;background:0 0;border:none;margin-top:1rem;font-size:.8rem;text-decoration:underline}.cancel-link:hover,.confirm-link:hover{opacity:1}.rsvp-note-end{text-align:center;background:var(--beige-claro);color:var(--marron-claro);border-radius:20px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;padding:2rem;display:flex}.confirm-btn-end:disabled,.cancel-btn-end:disabled{opacity:.5;cursor:not-allowed}.plus-one-notice{text-align:center;border-left:3px solid var(--caqui,#c2a878);background:#c2a8801a;border-radius:20px;justify-content:center;align-items:center;gap:1rem;width:fit-content;max-width:70%;margin:1.5rem auto;padding:1rem 1.5rem;display:flex}.plus-one-text{text-align:center}.plus-one-text strong{color:var(--texto-oscuro,#4a3728);margin-bottom:.3rem;font-size:1rem;font-weight:600;display:block}.plus-one-text small{color:var(--texto-suave,#5c4b3a);font-size:.85rem;display:block}@media (width>=769px){.plus-one-notice{max-width:50%;padding:.8rem 1.5rem}.plus-one-text strong{font-size:.9rem}.plus-one-text small{font-size:.8rem}}@media (width<=768px){.plus-one-notice{flex-direction:column;gap:.5rem;max-width:90%;padding:1rem}.plus-one-text strong{font-size:.9rem}.plus-one-text small{font-size:.75rem}}.faq-section{background:var(--beige-claro);border-radius:20px;margin:1rem 0;padding:4rem 2rem}.faq-section h2{text-align:center;margin-bottom:2rem}.faq-list{max-width:700px;margin:0 auto}.faq-item{background:#fff;border-radius:20px;margin-bottom:1rem;overflow:hidden;box-shadow:0 2px 8px #0000000d}.faq-question{cursor:pointer;width:100%;color:var(--texto-oscuro);text-align:left;background:#fff;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.5rem;font-family:inherit;font-size:1rem;transition:all .3s;display:flex}.faq-question span:first-child{align-items:center;gap:.8rem;display:flex}.faq-question:hover{background:var(--beige-claro)}.faq-question.active{background:var(--caqui);color:#fff}.faq-icon{margin-left:.5rem;font-size:1.2rem;font-weight:700}.faq-answer{max-height:0;padding:0 1.5rem;transition:max-height .3s;overflow:hidden}.faq-answer.show{max-height:300px;padding:1.2rem 1.5rem}.faq-answer p{color:var(--texto-suave);line-height:1.6}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{text-align:center;background:#fff;border-radius:24px;width:90%;max-width:400px;padding:2rem;animation:.3s modalFadeIn;position:relative}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-close{cursor:pointer;color:var(--texto-oscuro);background:0 0;border:none;justify-content:center;align-items:center;padding:5px;transition:transform .2s;display:flex;position:absolute;top:15px;right:15px}.modal-close:hover{transform:scale(1.1)}.modal-content h3{color:var(--texto-oscuro);margin-bottom:1.5rem;font-size:1.3rem}.modal-qr{justify-content:center;margin:1rem 0;display:flex}.modal-qr img{border:1px solid var(--beige-medio);border-radius:16px;width:200px;height:200px}.modal-info{background:var(--beige-claro);text-align:center;border-radius:16px;margin:1rem 0;padding:1rem}.modal-info p{color:var(--texto-oscuro);word-break:break-all;margin:.5rem 0;font-size:.9rem}.modal-copy-btn{background:linear-gradient(135deg, var(--caqui) 0%, var(--marron-claro) 100%);color:#fff;cursor:pointer;border:none;border-radius:50px;width:100%;padding:.8rem 1.5rem;font-size:.9rem;transition:all .3s}.modal-copy-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #c2a87866}.modal-alert{text-align:center;background:#fff;border-radius:24px;width:90%;max-width:350px;padding:2rem;animation:.3s modalFadeIn;position:relative}.modal-alert-icon{margin-bottom:1rem}.modal-alert h3{color:var(--texto-oscuro);margin-bottom:.8rem;font-size:1.3rem}.modal-alert p{color:var(--texto-suave);margin-bottom:1.5rem;line-height:1.5}.modal-alert-btn{background:linear-gradient(135deg, var(--caqui) 0%, var(--marron-claro) 100%);color:#fff;cursor:pointer;border:none;border-radius:50px;width:100%;padding:.8rem 2rem;font-size:.9rem;transition:all .3s}.modal-alert-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #c2a87866}.modal-success .modal-alert-icon{color:#4caf50}.modal-error .modal-alert-icon{color:#f44336}.modal-info .modal-alert-icon{color:var(--caqui)}.calendar-buttons{flex-wrap:wrap;justify-content:center;gap:.8rem;margin:1.5rem 0;display:flex}.calendar-btn{background:linear-gradient(135deg, white 0%, var(--beige-claro) 100%);color:var(--texto-oscuro);border:1px solid var(--caqui);cursor:pointer;border-radius:50px;flex:1;justify-content:center;align-items:center;gap:8px;min-width:120px;padding:.8rem 1.2rem;font-family:inherit;font-size:.85rem;transition:all .3s;display:inline-flex}.calendar-btn:hover{background:linear-gradient(135deg, var(--caqui) 0%, var(--marron-claro) 100%);color:#fff;border-color:#0000;transform:translateY(-2px);box-shadow:0 4px 12px #c2a87866}@media (width<=480px){.calendar-buttons{flex-direction:column}.calendar-btn{width:100%}}.save-calendar-btn{background:linear-gradient(135deg, var(--caqui) 0%, var(--marron-claro) 100%);color:#fff;cursor:pointer;border:none;border-radius:50px;justify-content:center;align-items:center;gap:8px;width:100%;margin:1rem 0;padding:.8rem 1.5rem;font-size:.9rem;transition:all .3s;display:inline-flex}.save-calendar-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #c2a87866}.modal-calendar{text-align:center;background:#fff;border-radius:24px;width:90%;max-width:400px;max-height:80vh;padding:2rem;animation:.3s modalFadeIn;position:relative;overflow-y:auto}.modal-calendar-icon{margin-bottom:1rem}.modal-calendar h3{color:var(--texto-oscuro);margin-bottom:.5rem;font-size:1.3rem}.modal-calendar p{color:var(--texto-suave);margin-bottom:1.5rem;font-size:.9rem}.calendar-options{flex-direction:column;gap:.8rem;display:flex}.calendar-option{background:var(--beige-claro);border:1px solid var(--beige-medio);cursor:pointer;text-align:left;border-radius:16px;align-items:center;gap:1rem;width:100%;padding:1rem;font-family:inherit;transition:all .3s;display:flex}.calendar-option:hover{border-color:var(--caqui);background:#fff;transform:translate(5px)}.calendar-option span{font-size:2rem}.option-text strong{color:var(--texto-oscuro);font-size:.9rem;display:block}.option-text small{color:var(--texto-suave);margin-top:.2rem;font-size:.7rem;display:block}.calendar-option img{flex-shrink:0;transition:transform .3s}.calendar-option:hover img{transform:scale(1.05)}.admin-secret-btn{border:1px solid var(--caqui,#c2b280);cursor:pointer;z-index:1000;opacity:.5;background:#c2b2804d;border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;transition:all .3s;display:flex;position:fixed;bottom:20px;right:20px}.admin-secret-btn:hover{opacity:1;background:var(--caqui,#c2b280);transform:translateY(-2px);box-shadow:0 4px 12px #c2a8784d}.admin-secret-btn:hover svg{color:#fff!important}.admin-login{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-login-modal{text-align:center;background:#fff;border-radius:20px;width:90%;max-width:400px;padding:2rem;animation:.3s modalFadeIn}.admin-login-modal h2{color:var(--texto-oscuro,#4a3728);margin-bottom:1rem}.admin-login-modal input{border:1px solid #e8dcc8;border-radius:12px;width:100%;margin:1rem 0;padding:.75rem;font-family:inherit}.admin-login-modal button{background:linear-gradient(135deg, var(--caqui,#c2b280) 0%, var(--marron-claro,#a0845c) 100%);color:#fff;cursor:pointer;border:none;border-radius:50px;padding:.75rem 1.5rem;font-family:inherit;transition:all .3s}.admin-login-modal button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #c2a87866}.close-btn{margin-top:1rem;background:#999!important}.error{color:red;margin-top:1rem;font-size:.85rem}.footer{background:radial-gradient(circle at 50% 50%, var(--caqui) 0%, var(--beige-claro) 0%, var(--beige-medio) 100%);color:var(--texto-suave);text-align:center;padding:2rem 1rem}.footer svg{opacity:.5;margin:0 auto 1rem;display:block}.footer p{margin:.5rem 0}.couple-footer{color:var(--texto-suave);font-size:1.5rem;margin:.5rem 0!important}.hashtag{opacity:.6;color:var(--beige-claro);margin-top:1rem;font-size:.8rem}
