:root{--ink:#1b1b19;--cream:#efebe1;--cream2:#e6e1d5;--mid:#5b5850;--line:#d9d3c5}
*{box-sizing:border-box}[hidden]{display:none!important}
html{background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--cream);font-family:Poppins,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5;opacity:0;transition:opacity .25s}
body.ready{opacity:1}
.wrap{max-width:520px;margin:0 auto;padding:22px 20px 60px}
.back{display:inline-flex;align-items:center;gap:6px;color:var(--cream);text-decoration:none;font-size:13px;opacity:.75}
.back svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.eyebrow{margin:30px 0 8px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;opacity:.6}
h1{margin:0;font-weight:700;font-size:30px;line-height:1.1;letter-spacing:-.02em}
.sub{margin:10px 0 0;font-size:14.5px;opacity:.75}
.qh{margin:34px 0 12px;font-weight:500;font-size:18px;color:rgba(239,235,225,.5)}.qh b{color:var(--cream);font-weight:700}
.opt{display:flex;flex-direction:column;gap:10px}
.ch{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:74px;padding:14px 18px;border-radius:18px;border:1.5px solid rgba(239,235,225,.3);background:transparent;color:var(--cream);text-align:left;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,color .15s}
.ch span{display:flex;flex-direction:column;gap:3px}.ch strong{font-size:15.5px;font-weight:600}.ch small{font-size:12.5px;opacity:.7}.ch i{font-style:normal;font-weight:600;font-size:15.5px;flex:none}
.ch.on{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.box{background:var(--cream);color:var(--ink);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:13px}
.box p.t{margin:0;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mid)}
label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:500;color:var(--mid);min-width:0}
input,textarea{width:100%;min-width:0;height:48px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;font:400 16px Poppins,sans-serif;color:var(--ink);background:#fff;outline:none;-webkit-appearance:none}
textarea{height:auto;min-height:80px;padding:12px 14px;resize:vertical}
input:focus,textarea:focus{border-color:var(--ink)}
.bad{border-color:#b3261e!important;background:#fff6f5!important}
.two{display:grid;grid-template-columns:96px 1fr;gap:10px}
.seg{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:12px;background:var(--cream2)}
.seg button{min-height:40px;border:0;border-radius:9px;background:transparent;color:var(--ink);font:500 14px Poppins,sans-serif;cursor:pointer}
.seg button.on{background:var(--ink);color:var(--cream)}
.note{margin:-3px 0 0;font-size:12.5px;line-height:1.45;color:var(--mid)}
.sum{margin-top:12px;background:var(--cream);color:var(--ink);border-radius:22px;padding:18px 20px}
.row{display:flex;justify-content:space-between;align-items:baseline;font-size:14.5px;padding:4px 0}
.row.t{margin-top:6px;padding-top:12px;border-top:1px solid var(--line);font-size:20px;font-weight:700}
.pay{display:block;width:100%;margin-top:22px;min-height:56px;border:0;border-radius:999px;background:var(--cream);color:var(--ink);font:600 16px Poppins,sans-serif;cursor:pointer;text-align:center;text-decoration:none;line-height:56px;-webkit-tap-highlight-color:transparent}
.pay:disabled{opacity:.55}
.pay.o{background:transparent;color:var(--cream);border:1.5px solid rgba(239,235,225,.4);margin-top:10px}
#msg{margin:12px 0 0;text-align:center;font-size:13px;min-height:18px;color:#f3c9a8}
.fine{margin:8px 0 0;text-align:center;font-size:12px;line-height:1.5;opacity:.6}
.ticket{background:var(--cream);color:var(--ink);border-radius:22px;padding:22px;position:relative;overflow:hidden}
.ticket:before,.ticket:after{content:"";position:absolute;top:96px;width:24px;height:24px;border-radius:50%;background:var(--ink)}
.ticket:before{left:-12px}.ticket:after{right:-12px}
.tk-cap{font-size:9.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mid)}
.tk-title{margin:6px 0 0;font-weight:700;font-size:28px;line-height:1;letter-spacing:-.02em}
.tk-title em{font-weight:300;font-style:italic}
.tk-line{margin:22px 0 14px;border-top:1.5px dashed rgba(27,27,25,.25)}
.tk-row{display:grid;grid-template-columns:40px 1fr;gap:8px;font-size:14px;margin-top:6px}
.tk-row b{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mid);padding-top:4px;font-weight:600}
.tk-row i{font-style:italic;font-weight:300;font-size:16px}
.tk-val{margin-top:16px;display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12.5px;color:var(--mid)}
.tk-val strong{font-size:20px;color:var(--ink)}
.tk-code{margin-top:14px;text-align:center;font-weight:700;letter-spacing:.12em;font-size:18px;background:var(--ink);color:var(--cream);border-radius:999px;padding:9px}
.ph{color:#a9a396}
.prev{margin-top:24px;background:var(--cream);border-radius:26px;padding:26px 20px 18px;text-align:center;color:var(--ink)}
.stage{height:250px;display:flex;align-items:flex-end;justify-content:center}
.fr{position:relative;border-radius:6px;background:#141413;box-shadow:0 18px 36px -16px rgba(0,0,0,.45);transition:width .35s ease,background .25s}
.fr.bianca{background:#fbfaf6;box-shadow:0 18px 36px -16px rgba(0,0,0,.3),inset 0 0 0 1px #ddd7c9}
.fr .pp{position:absolute;inset:5.5%;background:#fff;border-radius:2px;display:flex;align-items:center;justify-content:center}
.fr .ph{display:block;background:#bbb center/cover no-repeat;filter:grayscale(1)}
.fr.classica{width:132px;aspect-ratio:33/43}.fr.classica .ph{width:68%;aspect-ratio:2/3}
.fr.maxi{width:176px;aspect-ratio:44/53}.fr.maxi .ph{width:76%;aspect-ratio:3/4}
.cap{margin:16px 0 0;font-size:13px;color:var(--mid)}
.ch.off{opacity:.35;pointer-events:none}
.hint{margin:10px 2px 0;font-size:12.5px;color:rgba(239,235,225,.55)}
.stp{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:74px;padding:12px 14px 12px 18px;border-radius:18px;border:1.5px solid rgba(239,235,225,.3)}
.stp span{display:flex;flex-direction:column;gap:3px}.stp strong{font-size:15px;font-weight:600}.stp small{font-size:12.5px;opacity:.7}
.ctr{display:flex;align-items:center;gap:10px;flex:none}
.ctr button{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(239,235,225,.4);background:transparent;color:var(--cream);font:500 18px Poppins,sans-serif;line-height:1;cursor:pointer}
.ctr b{min-width:16px;text-align:center;font-size:16px}
.stp.on{border-color:var(--cream)}
.bar{position:fixed;left:0;right:0;bottom:0;background:var(--cream);color:var(--ink);padding:12px 20px calc(12px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;gap:14px;z-index:5;box-shadow:0 -10px 30px rgba(0,0,0,.25)}
.bar small{display:block;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mid)}
.bar strong{font-size:24px;font-weight:700;letter-spacing:-.01em}
.bar a{background:var(--ink);color:var(--cream);text-decoration:none;border-radius:999px;padding:14px 28px;font-weight:600;font-size:15px}
.items{margin-top:22px;background:var(--cream);color:var(--ink);border-radius:22px;padding:6px 20px}
.it{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.it:last-child{border-bottom:0}
.it b{display:block;font-size:14.5px;font-weight:600}.it small{display:block;font-size:12px;color:var(--mid);margin-top:2px}
.it .p{font-weight:600;font-size:14.5px;white-space:nowrap}
.it{justify-content:flex-start}.it .tx{flex:1;min-width:0}
.th{width:54px;height:54px;flex:none;border-radius:14px;background:linear-gradient(#f3f0e8,#e2ddd0);display:flex;align-items:center;justify-content:center}
.tf{position:relative;display:block;background:#141413;border-radius:2px;box-shadow:0 4px 8px -4px rgba(0,0,0,.5)}
.tf.c{width:25px;aspect-ratio:33/43}.tf.m{width:31px;aspect-ratio:44/53}
.tf.w{background:#fbfaf6;box-shadow:0 4px 8px -4px rgba(0,0,0,.35),inset 0 0 0 1px #cfc8b8}
.tf:after{content:"";position:absolute;inset:13%;background:#efebe1 linear-gradient(#a3a199,#5f5d58) center/58% 68% no-repeat}
.tt{display:block;background:linear-gradient(135deg,#9c9a92,#4e4c47);transform:perspective(160px) rotateY(-26deg);box-shadow:3px 1px 0 #2d2c29,0 5px 9px -5px rgba(0,0,0,.5)}
