.passes{margin:0;padding:0;list-style:none}.passes li{border-bottom:1px solid var(--kta-line);padding:.8rem 0}.passes li:last-child{border-bottom:0}.passes__row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.passes__price{font-family:var(--font-display);white-space:nowrap;font-size:1.3rem;font-weight:700}.passes p{color:var(--kta-ink-soft);margin:.25rem 0 0;font-size:.93rem}.zones-card{grid-template-columns:1.3fr 1fr;align-items:start;gap:2rem;display:grid}@media (width<=800px){.zones-card{grid-template-columns:1fr}}.zones-card ul{padding-left:1.2rem}.zones-card li{margin-bottom:.4rem}.calc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:3rem;display:grid}@media (width<=900px){.calc{grid-template-columns:1fr}}.calc__form form{margin-top:1rem}.field--small{max-width:220px}.calc__actions{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.calc__printer{padding-top:1rem;position:relative}.printer{z-index:2;background:linear-gradient(#2b3b38,#17221f);border-radius:16px 16px 10px 10px;padding:1rem 1.25rem 0;position:relative;box-shadow:0 20px 40px -20px #0b1d1bb3,inset 0 1px #ffffff14}.printer__top{color:#b8dcd7;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.printer__led{background:#3b524d;border-radius:50%;width:10px;height:10px;box-shadow:inset 0 0 0 2px #0000004d}.is-printing .printer__led{background:#ffd479;animation:.35s steps(2,end) infinite led;box-shadow:0 0 8px #ffd479}.is-done .printer__led{background:#5ce0a6;box-shadow:0 0 8px #5ce0a6}@keyframes led{to{opacity:.35}}.printer__slot{background:#050b0a;border-radius:6px 6px 0 0;height:14px;margin:.9rem -.5rem 0;box-shadow:inset 0 3px 6px #000000e6}.receipt-slot{perspective:800px;min-height:40px;margin:0 1.25rem;position:relative}.receipt{--print-ms:2.6s;color:#17221f;font-family:var(--font-mono);clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),96% 100%,92% calc(100% - 8px),88% 100%,84% calc(100% - 8px),80% 100%,76% calc(100% - 8px),72% 100%,68% calc(100% - 8px),64% 100%,60% calc(100% - 8px),56% 100%,52% calc(100% - 8px),48% 100%,44% calc(100% - 8px),40% 100%,36% calc(100% - 8px),32% 100%,28% calc(100% - 8px),24% 100%,20% calc(100% - 8px),16% 100%,12% calc(100% - 8px),8% 100%,4% calc(100% - 8px),0 100%);background:repeating-linear-gradient(#0000 0 26px,#00000005 26px 27px),#fbf8f1;max-width:340px;margin:0 auto;padding:1.1rem 1.2rem 1.4rem;font-size:.82rem;line-height:1.4;position:relative;box-shadow:0 12px 24px -14px #00000080}.is-printing .receipt{animation:feed var(--print-ms) steps(40, end) forwards, jitter .12s steps(2) infinite;mask-image:linear-gradient(180deg, #000 calc(var(--reveal,0%)), transparent calc(var(--reveal,0%)))}@property --reveal{syntax:"<percentage>";inherits:false;initial-value:0%}@keyframes feed{0%{--reveal:0%}to{--reveal:100%}}@keyframes jitter{50%{transform:translateY(.5px)translate(.3px)}}.is-done .receipt{animation:.5s cubic-bezier(.2,.8,.2,1) settle}@keyframes settle{0%{transform:translateY(-6px)rotate(-.4deg)}to{transform:none}}.receipt__head{align-items:center;gap:.7rem;margin-bottom:.8rem;display:flex}.receipt__head strong{letter-spacing:.02em;font-size:.95rem;display:block}.receipt__head span{text-transform:uppercase;letter-spacing:.1em;color:#4a5652;font-size:.72rem;display:block}.receipt__type{text-align:center;text-transform:uppercase;letter-spacing:.14em;border-block:1px dashed #9a9184;max-width:none;margin:0 0 .8rem;padding:.4rem 0;font-weight:700}.receipt__journey{gap:.5rem;margin:0 0 .8rem;display:grid}.receipt__journey div{grid-template-columns:3.2em 1fr;gap:.4rem;display:grid}.receipt__journey dt{text-transform:uppercase;letter-spacing:.1em;color:#4a5652;padding-top:.15rem;font-size:.7rem}.receipt__journey dd{margin:0}.receipt__journey dd strong{font-size:.98rem;display:block}.receipt__journey dd span{color:#4a5652}.receipt__lines{border-top:1px dashed #9a9184;margin-bottom:.7rem}.receipt__lines td{border:0;padding:.25rem 0}.receipt__lines td:last-child{text-align:right}.receipt__total td{border-top:1px solid #17221f;padding-top:.4rem;font-size:1.05rem;font-weight:700}.receipt__meta{color:#4a5652;max-width:none;margin:0 0 .8rem;font-size:.75rem}.receipt__qr{width:132px;margin:0 auto .5rem}.receipt__qr svg{width:100%;height:auto}.receipt__no{text-align:center;letter-spacing:.2em;max-width:none;margin:0 0 .6rem}.receipt__thanks{text-align:center;text-transform:uppercase;letter-spacing:.12em;color:#4a5652;max-width:none;margin:0;font-size:.75rem}.ticket-page{display:none}@media print{body.print-ticket>:not(main),body.print-ticket main>:not(.ticket-page){display:none!important}body.print-ticket .ticket-page{display:block}.ticket-page{color:#000;font-family:var(--font-body)}.tp__head{border-bottom:3pt solid #0f766e;justify-content:space-between;align-items:flex-start;margin-bottom:14pt;padding-bottom:10pt;display:flex}.tp__brand{align-items:center;gap:10pt;font-size:12pt;line-height:1.3;display:flex}.tp__id{text-align:right}.tp__id span{text-transform:uppercase;letter-spacing:.1em;color:#444;font-size:8pt;display:block}.tp__id strong{font-family:var(--font-mono);letter-spacing:.1em;font-size:16pt}.tp__title{margin:0 0 14pt;font-size:26pt}.tp__title span{color:#333;margin-top:4pt;font-size:12pt;font-weight:400;display:block}.tp__journey{border:1px solid #999;border-radius:6pt;grid-template-columns:1fr auto 1fr;align-items:center;gap:14pt;margin-bottom:14pt;padding:12pt 16pt;display:grid}.tp__journey strong{font-size:20pt;display:block}.tp__journey span{color:#333;font-size:10pt;display:block}.tp__arrow{font-size:28pt}.tp__label{text-transform:uppercase;letter-spacing:.1em;color:#444;margin-bottom:2pt;font-size:8pt;display:block}.tp__grid{grid-template-columns:repeat(3,1fr);gap:10pt 16pt;margin-bottom:16pt;display:grid}.tp__grid strong{font-size:12pt}.tp__total{font-size:18pt!important}.tp__qr{grid-template-columns:170pt 1fr;align-items:start;gap:18pt;display:grid}.tp__qr-img svg{width:170pt;height:170pt}.tp__terms h2{margin-bottom:4pt;font-size:11pt}.tp__terms ul{color:#222;margin:0;padding-left:12pt;font-size:9pt}.tp__terms li{margin-bottom:3pt}.tp__foot{color:#444;border-top:1px solid #999;margin-top:18pt;padding-top:6pt;font-size:8pt}.printer,.print-ticket-hide{display:none!important}}
