:root{--vino:#7e3a44;--rosa:#d89ba6;--champan:#fff2e8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7e9e6;color:var(--vino);font-family:Georgia,'Times New Roman',serif}main{max-width:580px;margin:0 auto;box-shadow:0 0 48px #785d5a3b;background:#f8eeea}.screen{position:relative;line-height:0;overflow:hidden;aspect-ratio:9/16}.screen>img{display:block;width:100%;height:100%;object-fit:fill}
/* Ajuste suave de color para módulos específicos */
#informacion>img{filter:saturate(.84) brightness(1.02) contrast(.96)}
#despedida>img{filter:saturate(.86) brightness(1.015) contrast(.97)}
.screen button,.screen a{cursor:pointer;-webkit-tap-highlight-color:transparent}.cover{min-height:min(100svh,1032px)}.cover-hit{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;z-index:2}.cover-flap{position:absolute;top:0;bottom:0;width:50%;pointer-events:none;opacity:0;background:linear-gradient(100deg,#e9afb5b3,#fff0);z-index:3}.flap-left{left:0;transform-origin:left}.flap-right{right:0;transform-origin:right}.opening .flap-left{animation:openLeft 1.1s ease both}.opening .flap-right{animation:openRight 1.1s ease both}@keyframes openLeft{0%{opacity:0;transform:perspective(650px) rotateY(0)}20%{opacity:.85}100%{opacity:0;transform:perspective(650px) rotateY(-110deg)}}@keyframes openRight{0%{opacity:0;transform:perspective(650px) rotateY(0)}20%{opacity:.8}100%{opacity:0;transform:perspective(650px) rotateY(110deg)}}
.player-hit{position:absolute;left:44%;top:49.5%;width:12%;height:8%;border:0;background:transparent;color:transparent;font-size:0}.waze-hit{position:absolute;left:23%;top:84%;width:55%;height:7%;background:transparent}.count-numbers{position:absolute;left:13%;top:58.5%;width:74%;height:6.4%;display:grid;grid-template-columns:repeat(4,1fr);gap:5%;align-items:center;text-align:center}.count-numbers b{background:#f8d9d8;box-shadow:0 0 5px 5px #f8d9d8;font-size:clamp(18px,5.9vw,34px);font-weight:400;color:#96475d;line-height:1.2}.guest-overlay,.passes-overlay,.message-overlay{position:absolute;border:0;color:#684039;font-family:Georgia,serif;line-height:1.2}.guest-overlay{top:56.1%;left:24%;width:58%;height:3%;display:flex;align-items:center;background:#f8e9e2;font-size:clamp(13px,3.6vw,21px);padding-left:1%}.passes-overlay{top:64.5%;left:45%;width:20%;height:4%;text-align:center;text-align-last:center;font-size:clamp(16px,5vw,29px);background:#f8eee9;appearance:none;border-radius:5px;outline:2px solid #e8c3a5}.message-overlay{top:73%;left:23%;width:64%;height:5.3%;resize:none;font-size:clamp(12px,3vw,18px);background:#faeee9;color:#633e3b;padding:3px;outline:0}.save-hit,.decline-hit{position:absolute;left:16%;width:68%;background:transparent;border:0}.save-hit{top:81%;height:6.3%}.decline-hit{top:88.5%;height:5.1%}#toast{position:fixed;z-index:10;left:50%;bottom:28px;transform:translateX(-50%) translateY(25px);opacity:0;pointer-events:none;max-width:min(88vw,460px);background:#663d43;color:white;border-radius:14px;padding:13px 19px;box-shadow:0 12px 35px #0004;font:15px/1.4 system-ui,sans-serif;transition:.25s}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}footer{text-align:center;padding:28px;background:#f8ede8;color:#956b67;font:12px system-ui;line-height:1.5}footer a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a63254;outline-offset:2px}@media(min-width:580px){.count-numbers b{font-size:32px}.guest-overlay{font-size:20px}.passes-overlay{font-size:26px}.message-overlay{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.opening .cover-flap{animation:none}}

/* Galería real: seis fotos cuadradas, marcos del PDF original y visor accesible */
#gallery-overlay{position:absolute;inset:0;pointer-events:none}
.gallery-tile{position:absolute;pointer-events:auto;background:transparent;border:0;padding:0;border-radius:8px;cursor:zoom-in}
.gallery-tile:focus-visible{outline:3px solid #8a5164;outline-offset:3px}
.tile-1{left:19.6%;top:25.47%;width:28.4%;height:16.72%}
.tile-2{left:52.64%;top:25.47%;width:30.3%;height:16.64%}
.tile-3{left:19.44%;top:44.92%;width:28.5%;height:16.95%}
.tile-4{left:52.77%;top:44.92%;width:30.4%;height:16.95%}
.tile-5{left:19.44%;top:64.69%;width:28.5%;height:17.11%}
.tile-6{left:52.77%;top:64.69%;width:30.55%;height:17.11%}
#gallery-lightbox[hidden]{display:none}
#gallery-lightbox{position:fixed;inset:0;z-index:50;background:rgba(18,12,16,.94);display:flex;align-items:center;justify-content:center;padding:58px 48px 65px;line-height:1}
#gallery-expanded{display:block;object-fit:contain;max-width:min(86vw,860px);max-height:82dvh;aspect-ratio:1/1;border:3px solid #d4b489;border-radius:12px;box-shadow:0 15px 45px #0008}
#gallery-lightbox button{position:absolute;border:none;border-radius:50%;color:#fff;background:#77525caa;cursor:pointer;font:36px/1 sans-serif;display:flex;align-items:center;justify-content:center}
#gallery-close{right:16px;top:16px;width:46px;height:46px}
#gallery-prev,#gallery-next{top:50%;width:40px;height:52px;transform:translateY(-50%)}
#gallery-prev{left:6px}#gallery-next{right:6px}
#gallery-count{position:absolute;bottom:22px;color:#fff0e7;font:15px system-ui,sans-serif}
body.gallery-open{overflow:hidden}

/* Player real: controles montados en las mismas posiciones del arte aprobado. */
#musica .player-hit{left:45.1%;top:57.08%;width:10%;height:6%;z-index:4;border:0;border-radius:50%;background:#a84163;color:white;box-shadow:0 1px 3px #6334;display:flex;align-items:center;justify-content:center}
#musica .player-hit::before{content:'';display:block;margin-left:4%;border-top:clamp(7px,2vw,12px) solid transparent;border-bottom:clamp(7px,2vw,12px) solid transparent;border-left:clamp(11px,3vw,17px) solid #fff5ec}
#musica .player-hit.is-playing::before{margin-left:0;border:none;width:31%;height:39%;background:linear-gradient(90deg,#fff5ec 0 37%,transparent 37% 62%,#fff5ec 62%)}
#musica .player-prev,#musica .player-next{position:absolute;top:56.9%;width:11%;height:6.2%;background:transparent;border:0;z-index:4}
#musica .player-prev{left:30.5%}#musica .player-next{right:29.8%}
#musica .player-progress{position:absolute;left:22.8%;top:54.19%;width:54.7%;height:1%;background:#d3aaaa;border-radius:20px;z-index:3;pointer-events:none}
#musica #player-progress-fill{height:100%;width:0;background:#a83e61;border-radius:inherit}
#musica #player-progress-dot{position:absolute;top:50%;left:0;width:clamp(7px,2.8vw,14px);aspect-ratio:1;border-radius:100%;background:#a83e61;box-shadow:0 1px 3px #7b394a66;transform:translate(-50%,-50%)}
.audio-equalizer{position:absolute;left:37.5%;top:25.5%;width:25%;height:6.6%;display:flex;align-items:center;justify-content:center;gap:1.5%;z-index:2;pointer-events:none}
.audio-equalizer span{display:block;flex:1;height:14%;border-radius:20px;background:linear-gradient(180deg,#cb9e57,#a94c6c);transition:height .08s linear}
#global-mute[hidden]{display:none}
#global-mute{position:fixed;right:max(14px,calc((100vw - 580px)/2 + 12px));bottom:20px;z-index:25;border:1px solid #dec398;box-shadow:0 4px 18px #543b3b55;border-radius:100%;width:48px;height:48px;background:#fff1e8;color:#9e4d66;cursor:pointer;font:25px Georgia,serif}
@media(prefers-reduced-motion:reduce){.audio-equalizer span{transition:none}}
