@font-face{font-family:'Poppins';font-weight:600;font-display:swap;src:url(fuentes/poppins-600.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-weight:700;font-display:swap;src:url(fuentes/poppins-700.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-weight:500;font-display:swap;src:url(fuentes/montserrat-500.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-weight:600;font-display:swap;src:url(fuentes/montserrat-600.woff2) format('woff2')}
@font-face{font-family:'Bebas Neue';font-weight:400;font-display:swap;src:url(fuentes/bebas-neue-400.woff2) format('woff2')}
:root{--perla:#F6F8FA;--tinta:#1E1C12;--aqua:#5EE4C6;--azul:#2CACE9;--coral:#F0997B;--fondo:#021013}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{min-height:100vh;background:radial-gradient(ellipse 80% 55% at 50% 0%,rgba(94,228,198,.16),rgba(2,16,19,0) 70%),var(--fondo);color:var(--perla);font:500 16px/1.55 'Montserrat',system-ui,sans-serif}
a{color:inherit}
.tope{padding:18px 24px}.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.logo .c{height:34px}.logo .w{height:15px}
.hojap{max-width:620px;margin:0 auto;padding:40px 24px 60px}
h1{font:700 clamp(30px,7vw,44px)/1.1 'Poppins',sans-serif;letter-spacing:-.02em}
h2{font:600 20px/1.3 'Poppins',sans-serif;margin:30px 0 8px}
p{color:rgba(246,248,250,.8)}
.sub{margin-top:12px;font-size:16.5px}
.ok{width:56px;height:56px;border-radius:28px;background:var(--aqua);color:#073b33;font:700 28px/56px 'Poppins',sans-serif;text-align:center;margin-bottom:20px}
.aviso{display:inline-block;margin-bottom:22px;padding:8px 14px;border-radius:14px;background:rgba(240,153,123,.14);color:var(--coral);font-weight:600;font-size:14px}
mark{background:rgba(240,153,123,.18);color:var(--coral);padding:0 4px;border-radius:4px}
.hres{list-style:none;margin-top:22px}
.hres li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid rgba(246,248,250,.12);font-size:15px;color:rgba(246,248,250,.74)}
.hres li b{font-weight:600;color:#fff;text-align:right}
.hres li.tt b{font:400 32px/1 'Bebas Neue',sans-serif}
.hres li.aa,.hres li.aa b{color:var(--aqua);font-weight:600}.hres li.aa b{font:400 32px/1 'Bebas Neue',sans-serif}
.sigue{padding-left:22px;color:rgba(246,248,250,.82)}.sigue li{padding:6px 0}
.acc{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:32px}
.cta{display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 30px;border-radius:27px;background:var(--perla);color:var(--tinta);font-weight:600;text-decoration:none}
.lnk{font-weight:600;text-underline-offset:4px;text-decoration-color:rgba(246,248,250,.45)}
footer{padding:30px 24px 40px;text-align:center;font-size:13px;color:rgba(246,248,250,.5)}
:focus-visible{outline:2px solid var(--aqua);outline-offset:3px;border-radius:6px}
.citaCaja{margin-top:30px;padding:20px 20px 22px;border-radius:22px;background:rgba(94,228,198,.08);box-shadow:inset 0 0 0 1.5px rgba(94,228,198,.45)}
.citaCaja h2{margin-top:0}
.citaCaja .acc{margin-top:16px}
.citaok{font-size:17px;color:#fff;margin-bottom:6px}.citaok b{color:var(--aqua)}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.slots button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;border:0;border-radius:16px;cursor:pointer;background:rgba(246,248,250,.08);box-shadow:inset 0 0 0 1px rgba(246,248,250,.22);color:var(--perla);font:600 15px/1.25 'Montserrat',system-ui,sans-serif}
.slots button b{font-size:12.5px;font-weight:600;color:rgba(246,248,250,.7)}.slots button b::first-letter{text-transform:uppercase}
.slots button:hover,.slots button:focus-visible{background:var(--aqua);color:#073b33}.slots button:hover b,.slots button:focus-visible b{color:#073b33}
.slots button:disabled{opacity:.45;cursor:default}
.nota{margin-top:10px;font-size:14px}
@media (max-width:420px){.slots{grid-template-columns:repeat(2,1fr)}}
/* ── El comprobante sale de una impresora ── */
.impresora{margin:26px auto 0;max-width:400px}
.impr{position:relative;z-index:2;height:74px;border-radius:20px 20px 12px 12px;background:linear-gradient(180deg,#22383b 0%,#0d2124 46%,#061517 100%);box-shadow:inset 0 1px 0 rgba(246,248,250,.28),inset 0 -1px 0 rgba(0,0,0,.6),0 22px 40px -14px rgba(0,0,0,.8);display:flex;align-items:center;gap:10px;padding:0 20px 14px}
.impr span{font:700 12px/1 'Poppins',sans-serif;letter-spacing:3px;color:rgba(246,248,250,.62)}
.impr .led{width:9px;height:9px;border-radius:50%;background:var(--aqua);box-shadow:0 0 12px 2px rgba(94,228,198,.8);animation:led .22s steps(2) 14 .4s}
.impr .boca{position:absolute;left:16px;right:16px;bottom:9px;height:9px;border-radius:5px;background:#010809;box-shadow:inset 0 2px 4px #000,0 1px 0 rgba(246,248,250,.14)}
.salida{position:relative;z-index:1;margin:-13px 20px 0;padding-bottom:26px;overflow:hidden}
.ticket{position:relative;padding:26px 20px 22px;background:#F7F8F4 linear-gradient(rgba(30,28,18,.022) 1px,transparent 1px) 0 0/100% 3px;color:var(--tinta);box-shadow:0 26px 34px -18px rgba(0,0,0,.75);animation:sale 2.7s steps(30,end) .45s both}
.ticket::after{content:'';position:absolute;left:0;right:0;top:100%;height:10px;background:linear-gradient(-135deg,#F7F8F4 7px,transparent 0) 0 0/14px 10px repeat-x,linear-gradient(135deg,#F7F8F4 7px,transparent 0) 0 0/14px 10px repeat-x}
.ticket header{text-align:center;padding-bottom:14px;border-bottom:1.5px dashed rgba(30,28,18,.35)}
.ticket header img{height:40px;display:block;margin:0 auto 6px}
.ticket .marca{font:700 20px/1.1 'Poppins',sans-serif;letter-spacing:5px;color:var(--tinta);padding-left:5px}
.ticket .lema{font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(30,28,18,.6);margin-top:3px}
.ticket .meta{display:flex;justify-content:space-between;gap:10px;margin:12px 0 6px;font-size:11.5px;font-weight:600;color:rgba(30,28,18,.62)}
.ticket ul{list-style:none}
.ticket li{display:flex;align-items:baseline;gap:8px;padding:6px 0;font-size:14.5px;font-weight:500;color:var(--tinta)}
.ticket li i{flex:1;min-width:12px;border-bottom:1.5px dotted rgba(30,28,18,.35);transform:translateY(-3px)}
.ticket li b{font-weight:600;text-align:right}
.ticket .pies{margin-top:8px;padding-top:8px;border-top:1.5px dashed rgba(30,28,18,.35)}
.ticket li.tt b{font:400 30px/1 'Bebas Neue',sans-serif}
.ticket li.gr{font-weight:700}.ticket li.gr b{font:400 38px/1 'Bebas Neue',sans-serif;color:#0b7a64}
.ticket .barras{height:46px;margin:16px 6px 6px;background:repeating-linear-gradient(90deg,#1E1C12 0 2px,transparent 2px 5px,#1E1C12 5px 6px,transparent 6px 9px,#1E1C12 9px 13px,transparent 13px 15px,#1E1C12 15px 16px,transparent 16px 21px)}
.ticket .ref{text-align:center;font-size:11.5px;font-weight:600;letter-spacing:3px;color:rgba(30,28,18,.7)}
.ticket .gracias{text-align:center;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--tinta)}
.ticket .sello{position:absolute;z-index:1;right:12px;top:118px;transform:rotate(-11deg);padding:5px 10px;border:2.5px solid #d9623b;border-radius:7px;font:700 11px/1.25 'Poppins',sans-serif;letter-spacing:1px;text-transform:uppercase;text-align:center;color:#d9623b;background:rgba(247,248,244,.82)}
.despues{animation:aparece .7s 3.2s both}
@keyframes sale{from{transform:translateY(-102%)}to{transform:none}}
@keyframes led{from{opacity:1}to{opacity:.15}}
@keyframes aparece{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ticket,.despues,.impr .led{animation:none}}
.ticket .meta{flex-direction:column;align-items:center;gap:1px;text-align:center}
.ticket .sello{top:30px;right:8px}
.salida::before{content:'';position:absolute;z-index:2;left:0;right:0;top:0;height:26px;background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,0));pointer-events:none}
.ticket .sello{top:10px;right:6px;font-size:10px;padding:4px 8px}
.lista li{align-items:flex-start}.lista li span{color:rgba(246,248,250,.86)}.lista small{font-size:12.5px;color:rgba(246,248,250,.6);font-weight:500}.lista li b small{color:rgba(246,248,250,.6)}
p b{color:#fff}
