@import"https://fonts.googleapis.com/css2?family=Great+Vibes&family=Playfair+Display:wght@500&family=Roboto:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap";@import"https://fonts.googleapis.com/css2?family=Dancing+Script&display=swap";@import"https://fonts.googleapis.com/css2?family=Allura&display=swap";@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500&display=swap";body,html{margin:0;padding:0;font-family:Great Vibes,cursive;background:#fff;overscroll-behavior-y:none;height:100%;overflow-x:hidden}.invitacion-principal{overflow-x:hidden}body,html,.invitacion-principal{touch-action:manipulation}.seccion-video{position:relative;width:100vw;height:calc((var(--vh, 1vh) * 100) + 1px);margin:0;overflow:hidden;background:#fff}@supports (height: 100svh){.seccion-video{height:100svh}}.video-fondo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;-o-object-fit:contain;object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;transform:translateZ(0);backface-visibility:hidden}.seccion-contador,.seccion-carrusel{margin:0}.seccion-video a{display:block;width:100%;height:100%;margin:0;padding:0;border:none;text-decoration:none}.fade-in{animation:fadeIn 2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.boton-final{position:absolute;bottom:60px;width:100%;display:flex;justify-content:center}.boton-final button{background-color:#2e5339;color:#fff;font-size:18px;padding:14px 28px;border:none;border-radius:30px;font-family:Great Vibes,cursive;cursor:pointer;box-shadow:0 4px 10px #0003}.boton-final button:hover{background-color:#22402e}.contador-boda{position:absolute;bottom:80px;width:100%;text-align:center;color:#8d4f50;font-family:Great Vibes,cursive;text-shadow:1px 1px 4px rgba(0,0,0,0)}.contador-boda h2{font-size:32px;margin-bottom:20px}.contador-numeros{display:flex;justify-content:center;gap:20px}.contador-numeros div{background:#fff0;border-radius:12px;padding:12px 18px;font-size:36px;font-family:Great Vibes}.contador-numeros span{font-size:42px;font-weight:700;display:block}.video-link-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.seccion-contador{height:30vh;width:100vw;background:url(/fondo-papel.png) no-repeat center top;display:flex;align-items:center;justify-content:center;position:relative}.seccion-carrusel{width:100vw;background-color:#f5f5f5;padding:40px 0;overflow:hidden}.carrusel-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.carrusel{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;padding:10px 60px;scroll-snap-type:x mandatory;scrollbar-width:none}.carrusel::-webkit-scrollbar{display:none}.foto{flex:0 0 auto;width:300px;height:400px;border-radius:12px;overflow:hidden;scroll-snap-align:center;box-shadow:0 4px 10px #0003}.flecha{position:absolute;top:50%;transform:translateY(-50%);background:#0006;color:#fff;border:none;font-size:28px;padding:10px 14px;border-radius:50%;cursor:pointer;z-index:10;transition:background .3s}.flecha:hover{background:#0009}.flecha-izquierda{left:0}.flecha-derecha{right:0}.overlay-confirm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;pointer-events:none}.overlay-confirm .invitado-card{pointer-events:auto}.overlay-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000}.boton-musica{position:fixed;top:20px;right:20px;z-index:999;background:#ffc8dc77;color:#5a2a3a;border:none;border-radius:999px;padding:10px 16px;font-size:14px;font-family:Playfair Display,serif;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:transform .1s ease,background .2s ease,box-shadow .2s ease}.boton-musica:hover{background:#f6adcad2}.boton-musica:active{transform:scale(.98)}.carrusel{scroll-snap-type:x mandatory}.foto{scroll-snap-align:start}@media (max-width: 480px){.boton-musica{font-size:13px;padding:10px 14px}}.foto img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:auto;cursor:zoom-in}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#000000eb;display:flex;align-items:center;justify-content:center}.lightbox-inner{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:0}.lightbox-img{width:auto;height:auto;max-width:min(92vw,1600px);max-height:92dvh;-o-object-fit:contain;object-fit:contain;border-radius:12px;box-shadow:0 10px 30px #0006;pointer-events:auto}.lb-btn{position:absolute;background:#ffffff24;color:#fff;border:none;width:48px;height:48px;border-radius:999px;font-size:28px;display:grid;place-items:center;cursor:pointer;transition:background .2s ease,transform .1s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2;pointer-events:auto}.lb-btn:hover{background:#ffffff38}.lb-btn:active{transform:scale(.96)}.lb-close{top:16px;right:16px}.lb-prev{left:18px;top:50%;transform:translateY(-50%)}.lb-next{right:18px;top:50%;transform:translateY(-50%)}@media (max-width: 1024px){.lightbox-img{max-width:94vw;max-height:94dvh}}@media (max-width: 640px){.lb-btn{width:44px;height:44px;font-size:24px}.lb-prev{left:10px}.lb-next{right:10px}}.link-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0000008c;display:grid;place-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.link-card{position:relative;width:min(92vw,420px);background:#fff;border-radius:16px;box-shadow:0 10px 30px #00000040;padding:20px 18px 18px;text-align:center}.link-title{margin:0 0 14px;font-size:18px;font-weight:600;color:#333}.link-actions{display:grid;gap:10px}.link-btn{display:inline-block;padding:12px 16px;border-radius:12px;text-decoration:none;font-weight:600;border:1px solid #e7e7e7;background:#f7f7f7;color:#333;transition:transform .06s ease,background .15s ease}.link-btn:hover{background:#efefef}.link-btn:active{transform:scale(.98)}.link-btn.alt{background:#0d6efd;color:#fff;border-color:#0d6efd}.link-btn.alt:hover{background:#0b5ed7}.link-close{position:absolute;top:8px;right:8px;width:36px;height:36px;border-radius:999px;border:none;background:#0000000f;cursor:pointer;font-size:18px}.video-link-overlay-btn{background:transparent;border:none;width:100%;height:100%;cursor:pointer}.overlay-sobre{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;animation:fadeIn 1.5s ease forwards}.sobre-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;max-width:100vw;max-height:100vh;transition:transform .6s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.overlay-sobre:hover .sobre-img{transform:scale(1.02)}.fade-out{animation:fadeOut .8s ease forwards}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}.invitado-card{background:#fff0;border-radius:16px;border:1px solid #e3d6c300;padding:40px 32px;max-width:520px;width:92vw;text-align:center;box-shadow:0 6px 24px #0000001f;position:relative}.invitado-card:before{content:"";background:url(/flores-arriba.png) no-repeat center top;background-size:contain;position:absolute;top:-40px;left:0;right:0;height:120px;pointer-events:none}.titulo-invitado{font-family:Great Vibes,cursive;font-size:32px;color:#8d4f50;margin-top:10px;margin-bottom:0}.subtitulo{font-size:clamp(32px,6vw,72px);line-height:1.1;font-weight:600;letter-spacing:.2px;color:#8d4f50;margin:4px 0 10px}.subtitulo--xl{font-size:clamp(36px,6.5vw,80px);line-height:1.06;font-weight:600;letter-spacing:.3px}.lista-personas{list-style:none;padding-left:0;margin-bottom:24px}.lista-personas li{font-family:Cormorant Garamond,serif;font-size:22px;padding:6px 0;color:#444}.boton-confirmar{background-color:#b86262;color:#fff;border:none;padding:12px 28px;border-radius:30px;font-size:15px;font-family:Playfair Display,serif;cursor:pointer;transition:background-color .3s ease;box-shadow:0 3px 8px #0000001a}.boton-confirmar:hover{background-color:#22402e}.boton-volver{margin-top:16px;background-color:transparent;color:#8d4f50;border:2px solid #8d4f50;padding:10px 24px;border-radius:30px;font-size:14px;font-family:Playfair Display,serif;cursor:pointer;transition:all .3s ease}.boton-volver:hover{background-color:#2e5339;color:#fff}.invitado-card--skeleton,.invitado-card--error{background:#fff0;border-radius:16px;border:1px solid #e3d6c300;padding:24px;max-width:520px;width:92vw;text-align:center}.close-x{position:absolute;top:10px;right:12px;border:none;background:transparent;font-size:20px;cursor:pointer;color:#8d4f50;opacity:.9}.aviso-cierre{margin-bottom:12px;padding:10px 14px;border-radius:10px;border:1px solid #e4cccc;background:#fff3f3;color:#8d4f50;font-family:Playfair Display,serif;font-size:14px}.resumen-confirmacion{display:flex;align-items:center;justify-content:center;text-align:center;margin:8px 0 14px;font-family:Cormorant Garamond,serif;font-size:clamp(14px,3.2vw,24px);font-weight:600;color:#8d4f50}.resumen-confirmacion .num,.gracias-total .num{display:inline-block;font-size:1.15em;font-weight:700;padding:2px 10px;border-radius:999px;border:1px solid #e4cccc;background:#fff;line-height:1.2}.resumen-actions{display:flex;gap:10px;align-items:center;justify-content:center}.chip-link{background:transparent;border:1px dashed #8d4f50;color:#8d4f50;padding:4px 10px;border-radius:999px;font-size:12px;cursor:pointer}.chip-link:hover{background:#eaf2eb}.lista-personas--con-botones{display:flex;flex-direction:column;gap:8px}.persona-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff0;border:1px solid #e3d6c3;border-radius:12px;padding:8px 12px}.persona-item.activo{border-color:#e4cccc;background:#f7fbf8}.persona-nombre{font-family:Cormorant Garamond,serif;font-size:20px;color:#444;cursor:pointer}.btn-toggle{border:2px solid #8d4f50;background:transparent;color:#8d4f50;padding:6px 10px;border-radius:999px;font-size:12px;font-family:Playfair Display,serif;cursor:pointer;transition:all .2s ease}.btn-toggle:hover{background:#f2eaea}.btn-toggle.on{background:#8d4f50;color:#fff;border-color:#8d4f50}.btn-toggle.on:hover{filter:brightness(.95)}.gracias-box{text-align:center}.gracias-texto{font-family:Cormorant Garamond,serif;font-size:18px;color:#8d4f50;margin:8px 0 6px}.lista-personas-confirmadas{list-style:none;padding-left:0;margin:6px 0 14px}.lista-personas-confirmadas li{font-family:Cormorant Garamond,serif;font-size:20px;color:#444;padding:4px 0}.gracias-sub{font-family:Playfair Display,serif;color:#8d4f50;background:#eaf2eb;border:1px solid #ffcfd0;border-radius:12px;padding:12px 16px;margin:8px 0 16px}body{margin:0;font-family:Roboto,sans-serif;background-image:url(/fondo.png);background-repeat:no-repeat;background-size:cover;background-position:center center;background-attachment:fixed;background-color:#fefdfb;color:#333}.invitado-container{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:40px 20px;background:transparent}.invitado-card{background:#fff0;border-radius:16px;border:1px solid #e3d6c300;padding:50px 40px;max-width:520px;width:90%;text-align:center;box-shadow:0 6px 24px #ad929200;position:relative}.invitado-card:before{content:"";background:url(/flores-arriba.png) no-repeat center top;background-size:contain;position:absolute;top:-20px;left:0;right:0;height:120px;pointer-events:none}.titulo{font-family:Great Vibes,cursive;font-size:28px;color:#8d4f50;margin-top:5px;margin-bottom:0}.subtitulo{font-family:Cormorant Garamond,serif;font-size:24px;color:#444}.lista-personas{list-style:none;padding-left:0;margin-bottom:30px}.lista-personas li{font-family:Cormorant Garamond,serif;font-size:24px;padding:6px 0;color:#444}.boton-confirmar{background-color:#8d4f50;color:#fff;border:none;padding:12px 30px;border-radius:30px;font-size:16px;font-family:Playfair Display,serif;cursor:pointer;transition:background-color .3s ease;box-shadow:0 3px 8px #0000001a}.boton-confirmar:hover{background-color:#8d4f50}.confirmado{color:#8d4f50;font-weight:500;font-family:Cormorant Garamond,serif;background-color:#eaf2eb;padding:14px 20px;border-radius:12px;border:1px solid #c2dbc5;text-align:center}.loading,.error{text-align:center;margin-top:40px;font-size:16px}.boton-volver{margin-top:20px;background-color:transparent;color:#8d4f50;border:2px solid #8d4f50;padding:10px 24px;border-radius:30px;font-size:15px;font-family:Playfair Display,serif;cursor:pointer;transition:all .3s ease}.boton-volver:hover{background-color:#8d4f50;color:#fff}
