:root{--bg:#09090b;--card:#ffffff;--ink:#0d1226;--ink-soft:#5b6478;--line:#e7e9f0;--brand:#4f46e5;--brand-2:#7c3aed;--accent:#06b6d4;--ok:#16a34a;--radius:20px;--shadow:0 24px 70px rgba(8,12,30,0.28);--maxw:540px}*{box-sizing:border-box}body,html{margin:0;padding:0}body,html{background:var(--bg)}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}.shell,body{min-height:100vh}.shell{max-width:var(--maxw);margin:0 auto;padding:34px 18px 70px;display:flex;flex-direction:column}.topbar{justify-content:space-between;color:#fff;margin-bottom:20px}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;font-weight:800;letter-spacing:-.02em;font-size:20px}.brand .dot{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--brand-2));display:grid;place-items:center;font-size:16px}.topbar .muted{color:#aeb6d6;font-size:13px}.topbar-right{display:flex;align-items:center;gap:12px}.langtoggle{display:inline-flex;border:1px solid rgba(255,255,255,.18);border-radius:999px;overflow:hidden}.langtoggle button{border:none;background:transparent;color:#aeb6d6;font-size:12px;font-weight:700;letter-spacing:.02em;padding:4px 10px;cursor:pointer;transition:all .15s ease}.langtoggle button.on{background:#fff;color:var(--ink)}.summary-head{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px 16px;color:#fff;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.summary-head .rt{display:flex;align-items:center;gap:10px;font-weight:700}.summary-head .rt .pl{opacity:.7}.summary-head .sub{color:#aeb6d6;font-size:12px;margin-top:2px}.summary-head .amt{text-align:right}.summary-head .amt .big{font-size:22px;font-weight:800}.summary-head .amt .lbl{color:#aeb6d6;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.steps{display:flex;gap:7px;margin-bottom:16px}.step{flex:1 1;height:5px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden}.step>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--brand));transition:width .5s cubic-bezier(.4,0,.2,1)}.step.done>i{width:100%}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.fade{animation:fade .4s cubic-bezier(.4,0,.2,1)}@keyframes fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}h1{font-size:24px;margin:0 0 4px}h1,h3{letter-spacing:-.02em}h3{margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--brand);margin-bottom:8px}.muted{color:var(--ink-soft)}.route{display:flex;align-items:center;gap:16px;margin:22px 0 16px}.port{text-align:center}.port .code{font-size:30px;font-weight:800}.port .city{font-size:13px;color:var(--ink-soft)}.path{flex:1 1;position:relative;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px)}.path .plane{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--card);padding:0 6px;font-size:18px}.facts{display:flex;gap:18px;flex-wrap:wrap;color:var(--ink-soft);font-size:13.5px}.facts b{color:var(--ink)}.rowline{display:flex;justify-content:space-between;padding:7px 0;color:var(--ink-soft);font-size:14px}.rowline.total{border-top:1px dashed var(--line);margin-top:8px;padding-top:13px;font-size:20px;font-weight:800;color:var(--ink)}.options{display:grid;grid-gap:11px;gap:11px;margin:18px 0 4px}.opt{display:flex;gap:14px;align-items:center;border:1.5px solid var(--line);border-radius:14px;padding:15px;cursor:pointer;transition:all .18s ease;background:#fff}.opt:hover{border-color:color-mix(in srgb,var(--brand) 28%,#fff);transform:translateY(-1px)}.opt.sel{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,#fff);box-shadow:0 6px 18px color-mix(in srgb,var(--brand) 14%,transparent)}.opt.disabled{opacity:.55;cursor:not-allowed}.opt.disabled:hover{border-color:var(--line);transform:none}.opt .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:22px;color:var(--brand);background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 10%,#fff),color-mix(in srgb,var(--brand) 5%,#fff));flex-shrink:0}.opt .t{font-weight:700}.opt .s{font-size:13px;color:var(--ink-soft)}.opt .price{margin-left:auto;font-weight:800;text-align:right;white-space:nowrap}.seg{display:flex;background:#f1f3f9;border-radius:12px;padding:4px;margin-top:16px;gap:4px}.seg button{flex:1 1;border:none;background:transparent;padding:10px;border-radius:9px;font-weight:700;font-size:14px;color:var(--ink-soft);cursor:pointer;transition:all .15s ease}.seg button.on{background:#fff;color:var(--brand);box-shadow:0 2px 8px rgba(8,12,30,.08)}.stepper{display:inline-flex;align-items:center;gap:14px;border:1.5px solid var(--line);border-radius:12px;padding:6px 8px}.stepper button{width:34px;height:34px;border-radius:9px;border:none;background:color-mix(in srgb,var(--brand) 10%,#fff);font-size:18px;cursor:pointer;color:var(--ink)}.stepper button:hover{background:color-mix(in srgb,var(--brand) 16%,#fff)}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper .n{min-width:28px;text-align:center;font-weight:800;font-size:18px}.stepper.sm{gap:8px;padding:3px 4px;border-radius:10px}.stepper.sm button{width:26px;height:26px;border-radius:7px;font-size:14px}.stepper.sm .n{min-width:20px;font-size:14px}.split{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}.chip{border:1.5px solid var(--line);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700}.chip.you{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,#fff);color:var(--brand)}button.chip{cursor:pointer;background:#fff;font-family:inherit}button.chip.sel{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,#fff);color:var(--brand)}button.chip:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}.prows{margin-top:14px;display:grid;grid-gap:8px;gap:8px}.prow{display:flex;gap:8px;align-items:center}.prow .pname{flex:1 1;padding:11px 12px;border:1.5px solid var(--line);border-radius:11px;font-size:14px;outline:none}.prow .pamt{width:116px;position:relative}.prow .pamt input{width:100%;padding:11px 12px 11px 26px;border:1.5px solid var(--line);border-radius:11px;font-size:14px;font-weight:700;outline:none;text-align:right}.prow .pamt .cur{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--ink-soft);font-weight:700;font-size:13px}.prow .pamt input:focus,.prow .pname:focus{border-color:var(--brand)}.prow .rm{width:34px;height:34px;border:none;border-radius:9px;background:#fbe9e9;color:#b91c1c;cursor:pointer;font-size:16px;flex-shrink:0}.prow .rm:disabled{opacity:.35;cursor:not-allowed}.add-row{margin-top:10px;background:none;border:1.5px dashed var(--line);border-radius:11px;padding:11px;width:100%;color:var(--brand);font-weight:700;cursor:pointer}.add-row:hover{border-color:var(--brand)}.sumbar{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:11px 14px;border-radius:11px;font-weight:700;font-size:14px;background:#f1f3f9}.sumbar.ok{background:#ecfdf3;color:#15803d}.sumbar.bad{background:#fef3f2;color:#b42318}label.field{display:block;margin-top:14px;font-size:13px;font-weight:600;color:var(--ink)}input.txt{width:100%;margin-top:6px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;outline:none}input.txt:focus{border-color:var(--brand)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:20px;padding:15px 18px;border-radius:13px;border:none;font-size:16px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-2));cursor:pointer;transition:all .12s ease;box-shadow:0 12px 26px color-mix(in srgb,var(--brand) 32%,transparent)}.btn:hover{box-shadow:0 14px 32px color-mix(in srgb,var(--brand) 42%,transparent);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn.ghost{background:transparent;color:var(--brand);box-shadow:none;border:1.5px solid var(--line)}.btn.ghost:hover{border-color:var(--brand)}.linkback{background:none;border:none;color:var(--ink-soft);cursor:pointer;font-size:14px;margin-top:14px;padding:0}.linkback:hover{color:var(--ink)}.pay-wrap{margin-top:8px}.pay-amount{display:flex;align-items:baseline;justify-content:space-between;margin:4px 0 18px}.pay-amount .big{font-size:32px;font-weight:800}.cclabel{display:block;font-size:13px;font-weight:600;color:var(--ink);margin:14px 0 6px}.ccfield{border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;background:#fff;transition:border-color .15s}.ccfield.focused{border-color:var(--brand)}.ccfield.invalid{border-color:#e5484d}.ccfield .pname{width:100%;border:none;outline:none;font-size:16px;color:var(--ink);background:transparent}.ccrow{display:flex;gap:10px}.ccrow>div{flex:1 1}.notice{border-radius:12px;padding:12px 14px;font-size:14px;margin-top:14px}.notice.err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.notice.info{color:#1d4ed8}.notice.info,.redsys-info{background:#eff6ff;border:1px solid #bfdbfe}.redsys-info{display:flex;align-items:flex-start;gap:12px;border-radius:12px;padding:16px;margin-top:8px}.redsys-info-icon{flex:0 0 auto;font-size:18px;line-height:1.4;color:#2563eb}.redsys-info h3{margin:0 0 6px;font-size:15px;font-weight:700;color:#1e3a8a}.redsys-info p{margin:0;font-size:14px;line-height:1.5;color:#1d4ed8}.testcard{font-size:12px;color:var(--ink-soft);margin-top:12px;text-align:center}.testcard code{background:#f1f3f9;padding:1px 6px;border-radius:6px}.testcard code.copyable{cursor:pointer;transition:background .15s}.testcard code.copyable:hover{background:color-mix(in srgb,var(--brand) 12%,#fff)}.testcard code.copyable svg{vertical-align:-1px;margin-left:2px;opacity:.65}.success{text-align:center;padding:14px 4px}.checkmark{width:78px;height:78px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(135deg,#16a34a,#22c55e);display:grid;place-items:center;color:#fff;font-size:38px;box-shadow:0 12px 30px rgba(22,163,74,.35);animation:pop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.plane-box{border:1.5px solid var(--line);border-radius:16px;padding:16px;margin-top:14px;background:linear-gradient(180deg,#fafbff,#fff)}.cabin-label{text-align:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;margin-bottom:12px}.seatmap{display:grid;grid-gap:8px;gap:8px;justify-content:center}.seatrow{display:flex;align-items:center;gap:8px}.seatrow .rownum{width:18px;text-align:center}.seat,.seatrow .rownum{font-size:12px;color:var(--ink-soft);font-weight:700}.seat{width:36px;height:36px;border-radius:9px 9px 7px 7px;border:1.5px solid var(--line);background:#fff;cursor:pointer;transition:all .12s ease}.seat:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.seat.sel{background:var(--brand);border-color:var(--brand);color:#fff}.seat:disabled{background:#eef0f6;border-color:#eef0f6;color:#c2c7d6;cursor:not-allowed}.aisle{width:14px}.seat-legend{display:flex;gap:16px;justify-content:center;margin-top:12px;font-size:12px;color:var(--ink-soft)}.seat-legend span{display:inline-flex;align-items:center;gap:6px}.seat-legend i{width:14px;height:14px;border-radius:4px;display:inline-block}.seat-legend i.free{border:1.5px solid var(--line)}.seat-legend i.busy{background:#eef0f6}.seat-legend i.mine{background:var(--brand)}.pickedseat{text-align:center;margin-top:12px;font-weight:700}.paxlist{margin-top:16px;display:grid;grid-gap:8px;gap:8px}.paxrow{display:flex;gap:10px;align-items:center}.seatbadge{width:46px;height:40px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:13px;background:color-mix(in srgb,var(--brand) 9%,#fff);color:var(--brand);flex-shrink:0}.paxrow .pname{flex:1 1;padding:11px 12px;border:1.5px solid var(--line);border-radius:11px;font-size:14px;outline:none}.paxrow .pname:focus{border-color:var(--brand)}.paxhint{font-size:13px;color:var(--ink-soft);margin-top:10px}.remind{border:1.5px solid var(--line);background:#fff;color:var(--brand);border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.remind:hover{border-color:var(--brand)}.remind.sent{border-color:#bbf7d0;background:#ecfdf3;color:#15803d;cursor:default}.countdown{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:11px 14px;font-size:14px;font-weight:700;margin:0 0 16px;background:#f1f3f9;color:var(--ink-soft);border:1px solid var(--line)}.countdown .clock{font-size:15px}.countdown b{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.countdown.urgent{background:#fef3f2;border-color:#fecaca;color:#b42318}.countdown.urgent b{color:#b42318}.countdown.expired{background:#fef3f2;border-color:#fecaca;color:#b42318}.tracker{text-align:left;border:1.5px solid var(--line);border-radius:16px;padding:18px;margin-top:18px}.tracker .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.tracker .head .title{font-weight:800;font-size:15px}.tracker .head .count{font-size:13px;color:var(--ink-soft);font-weight:700}.tracker .collected{font-size:13px;color:var(--ink-soft);margin-bottom:12px}.tracker .collected b{color:var(--ink)}.bar{height:9px;background:#eef0f6;overflow:hidden;margin-bottom:16px}.bar,.bar>i{border-radius:99px}.bar>i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .6s cubic-bezier(.4,0,.2,1)}.plist{display:grid;grid-gap:8px;gap:8px}.pitem{display:flex;align-items:center;gap:12px}.pitem .av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;color:#fff;flex-shrink:0;background:linear-gradient(135deg,#94a3b8,#64748b)}.pitem.paid .av{background:linear-gradient(135deg,#22c55e,#16a34a)}.pitem .amt,.pitem .who{font-weight:700;font-size:14px}.pitem .amt{margin-left:auto;color:var(--ink-soft)}.pill{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:4px 9px;border-radius:99px}.pill.paid{background:#ecfdf3;color:#15803d}.pill.pending{background:#fff7ed;color:#c2410c}.statebanner{border-radius:12px;padding:12px 14px;font-weight:700;font-size:14px;margin-top:16px;text-align:center}.statebanner.done{background:#ecfdf3;color:#15803d}.statebanner.partial{background:#fffbeb;color:#b45309}.share{display:flex;gap:8px;margin-top:14px}.share input{flex:1 1;padding:11px 12px;border:1.5px solid var(--line);border-radius:10px;font-size:13px;color:var(--ink-soft)}.sharebtns{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:14px}.sharebtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 12px;border-radius:11px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.sharebtn:hover{transform:translateY(-1px)}.sharebtn svg{flex-shrink:0}.sharebtn.wa{background:#25d366}.sharebtn.tg,.sharebtn.wa{border-color:transparent;color:#fff}.sharebtn.tg{background:#229ed9}.sharebtn.cp,.sharebtn.em{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 30%,var(--line))}.sharebtn.cp:hover,.sharebtn.em:hover{background:color-mix(in srgb,var(--brand) 6%,#fff)}.spin{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite}@keyframes sp{to{transform:rotate(1turn)}}.poweredby{text-align:center;color:#8b93b5;font-size:12px;margin-top:22px}.brand-chip{width:32px;height:32px;border-radius:9px;background:#fff;display:grid;place-items:center;flex-shrink:0}.brand-chip img{width:22px;height:22px;object-fit:contain}.gate{min-height:100vh;justify-content:center;gap:20px;padding:24px;text-align:center}.gate,.gate-card{display:flex;flex-direction:column;align-items:center}.gate-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:36px 48px;max-width:420px}.gate-head{display:flex;align-items:center;gap:10px}.gate-logo{width:38px;height:38px}.gate-brand{color:#fff;font-size:22px;font-weight:700;letter-spacing:-.02em}.gate-title{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:17px;font-weight:600;letter-spacing:-.01em;margin:22px 0 8px}.gate-title svg{opacity:.9}.gate-msg{color:#8b93b5;font-size:14.5px;line-height:1.6;max-width:320px;margin:0 0 22px}.gate-cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:9px 18px;border-radius:8px;background:#fff;color:#000;font-size:14px;font-weight:500;transition:opacity .15s ease}.gate-cta:hover{opacity:.85}.gate-foot{color:#525a75;font-size:13px}.gate-foot a{color:#8b93b5;text-decoration:none}.gate-foot a:hover{color:#fff}@media (max-width:480px){.shell{padding:16px 12px 50px}.card{padding:20px 16px}h1{font-size:21px}.port .code{font-size:24px}.summary-head{flex-wrap:wrap;gap:6px}.plane-box{padding:12px 8px}.seatmap{gap:6px;overflow-x:auto}.seatrow{gap:6px}.seat{width:32px;height:32px}.aisle{width:10px}.seat-legend{gap:10px;flex-wrap:wrap}.gate-card{padding:32px 22px 30px;max-width:100%}}