:root{--navy:#09284f;--blue:#123a72;--coral:#ee4b50;--yellow:#ffca20;--bg:#f4f7fb;--ink:#172033;--muted:#68768b;--line:#dce4ed;--green:#238266;--white:#fff;--shadow:0 16px 55px #123a721a}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit}.demo-note{background:var(--navy);color:#dbe9f8;place-items:center;height:31px;font-size:.76rem;display:grid}.booking-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:78px;padding:0 max(20px,50vw - 590px);display:flex}.brand{color:var(--blue);align-items:center;gap:11px;text-decoration:none;display:flex}.brand>span{background:var(--blue);width:42px;height:42px;color:var(--yellow);border-radius:14px;place-items:center;font-size:1.35rem;font-weight:950;display:grid;transform:rotate(-4deg)}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:.73rem}.help{color:var(--muted);font-size:.86rem;text-decoration:none}.help strong{color:var(--blue)}.booking-layout{grid-template-columns:1fr 355px;align-items:start;gap:28px;max-width:1180px;margin:auto;padding:28px 20px 70px;display:grid}.back{color:var(--blue);margin-bottom:22px;font-weight:750;text-decoration:none;display:inline-block}.stepper{grid-template-columns:repeat(5,1fr);margin:0 0 34px;display:grid;position:relative}.stepper:before{content:"";background:#d4dde7;height:2px;position:absolute;top:18px;left:8%;right:8%}.stepper>div{color:#8a96a7;justify-items:center;gap:7px;font-size:.72rem;font-weight:750;display:grid;position:relative}.stepper i{color:#758195;border:4px solid var(--bg);background:#e2e8ef;border-radius:50%;place-items:center;width:36px;height:36px;font-style:normal;display:grid}.stepper>div.active i,.stepper>div.done i{background:var(--blue);color:#fff}.stepper>div.done i{background:var(--green)}.stepper>div.active span{color:var(--blue)}#booking-form{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:30px}.booking-step{display:none}.booking-step.active{display:block}.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:var(--coral);margin:0 0 6px;font-size:.72rem;font-weight:900}.booking-step h1{letter-spacing:-.035em;color:var(--navy);margin:.2rem 0;font-size:2rem;line-height:1.1}.lead{color:var(--muted);margin:8px 0 25px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-grid label{color:#526177;gap:6px;font-size:.78rem;font-weight:780;display:grid}.form-grid input,.form-grid select{width:100%;color:var(--ink);background:#fff;border:1px solid #bdc9d7;border-radius:10px;padding:.76rem}.form-grid input:focus,.form-grid select:focus{border-color:var(--blue);outline:3px solid #dcecff}.span-2{grid-column:1/-1}.subsection{border-top:1px solid var(--line);margin:28px 0 20px;padding-top:23px}.subsection h2{margin:0;font-size:1.12rem}.subsection>div:first-child p{color:var(--muted);margin:4px 0 15px;font-size:.84rem}.add-traveler{color:var(--blue);background:#f7faff;border:1px dashed #9db0c5;border-radius:11px;width:100%;margin-top:16px;padding:.75rem 1rem;font-weight:800}.companion{border:1px solid var(--line);background:#f7faff;border-radius:14px;margin-top:14px;padding:17px;position:relative}.companion h3{margin:0 0 12px;font-size:.98rem}.companion .remove{color:var(--coral);background:0 0;border:0;font-weight:800;position:absolute;top:11px;right:13px}.choice-grid,.payment-options{gap:12px;display:grid}.choice,.payment{border:1px solid var(--line);cursor:pointer;border-radius:15px;grid-template-columns:24px 42px 1fr auto;align-items:center;gap:11px;padding:17px;display:grid;position:relative}.choice.selected,.payment.selected{border:2px solid var(--blue);background:#f2f7fd;padding:16px}.choice input,.payment input{accent-color:var(--blue);width:18px;height:18px}.choice-icon{width:40px;height:40px;color:var(--blue);background:#e1ecf8;border-radius:10px;place-items:center;font-size:1.3rem;display:grid}.choice strong,.choice small,.payment strong,.payment small{display:block}.choice small,.payment small{color:var(--muted);font-size:.78rem}.choice em,.payment em{color:var(--blue);font-size:.82rem;font-style:normal;font-weight:800}.info-box{background:#fff8db;border:1px solid #f2dc87;border-radius:14px;margin-top:20px;padding:16px}.info-box p{color:#6d6040;margin:5px 0;font-size:.86rem}.seat-layout{grid-template-columns:1.25fr .75fr;gap:25px;display:grid}.bus-map{background:#f9fbfd;border:2px solid #c5d2df;border-radius:35px 35px 18px 18px;max-width:420px;padding:24px}.bus-front{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:14px;font-size:.72rem;display:flex}.seat-grid{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:18px;display:grid}.seat{height:39px;color:var(--blue);cursor:pointer;background:#fff;border:1px solid #bfcbd8;border-radius:8px;font-weight:850}.seat.aisle{visibility:hidden}.seat.occupied{background:var(--blue);color:#fff;cursor:not-allowed}.seat.chosen{background:var(--coral);border-color:var(--coral);color:#fff;box-shadow:0 0 0 4px #ffe3e4}.seat-help{background:#f5f8fb;border-radius:15px;height:max-content;padding:18px}.seat-help h2{margin:0 0 14px;font-size:1rem}.selected-seat{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:12px;padding:12px;display:flex}.selected-seat>span{background:var(--coral);color:#fff;border-radius:10px;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.selected-seat strong,.selected-seat small{display:block}.selected-seat small{color:var(--muted);font-size:.72rem}.seat-help ul{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:10px 0;padding:10px 0;list-style:none}.seat-help li{align-items:center;gap:8px;padding:5px 0;font-size:.78rem;display:flex}.seat-help li i{border:1px solid #bfcbd8;border-radius:4px;width:15px;height:15px}.seat-help li i.occupied{background:var(--blue)}.seat-help li i.chosen{background:var(--coral)}.seat-help>p{color:var(--muted);font-size:.78rem}.document-list{gap:12px;display:grid}.document-card{border:1px solid var(--line);border-radius:14px;grid-template-columns:42px 1fr auto auto;align-items:center;gap:13px;padding:15px;display:grid}.document-card>span{width:40px;height:40px;color:var(--blue);background:#e6f0fb;border-radius:10px;place-items:center;display:grid}.document-card strong,.document-card small{display:block}.document-card small{color:var(--muted);font-size:.75rem}.document-card input{display:none}.document-card button{color:var(--blue);background:#fff;border:1px solid #b6c4d4;border-radius:9px;padding:.55rem .7rem;font-weight:750}.document-card em{color:#9b6514;background:#fff1cc;border-radius:999px;padding:.3rem .55rem;font-size:.7rem;font-style:normal;font-weight:800}.document-card.uploaded{background:#f2fbf8;border-color:#7dbda9}.document-card.uploaded em{color:#14684d;background:#dff4ec}.privacy{background:#edf6ff;border-radius:14px;gap:12px;margin-top:20px;padding:16px;display:flex}.privacy>span{background:var(--green);color:#fff;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.privacy p{color:#4f6380;margin:0;font-size:.84rem}.payment{grid-template-columns:24px 1fr auto}.payment em{color:#7e5800;background:#fff0c4;border-radius:999px;padding:.3rem .55rem}.terms{background:#f5f7fa;border-radius:12px;align-items:flex-start;gap:10px;margin-top:22px;padding:15px;font-size:.84rem;display:flex}.terms input{width:19px;height:19px;accent-color:var(--blue);flex:0 0 19px}.terms a{color:var(--blue);font-weight:750}.form-actions{border-top:1px solid var(--line);justify-content:space-between;margin-top:28px;padding-top:20px;display:flex}.primary,.secondary{border:0;border-radius:11px;justify-content:center;align-items:center;padding:.8rem 1.2rem;font-weight:850;text-decoration:none;display:inline-flex}.primary{background:var(--coral);color:#fff;box-shadow:0 6px 18px #ee4b5033}.secondary{color:var(--blue);background:#fff;border:1px solid #b9c6d5}button:disabled{opacity:.45;cursor:not-allowed}.booking-summary{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;position:sticky;top:22px;overflow:hidden}.trip-visual{color:#fff;background:linear-gradient(145deg,#3e80bd,#123a72 58%,#e7a838);flex-direction:column;justify-content:space-between;height:155px;padding:18px;display:flex}.trip-visual span{font-size:.74rem;font-weight:850}.trip-visual strong{letter-spacing:-.04em;font-size:2.2rem}.summary-content{padding:21px}.summary-content h2{margin:3px 0 18px;font-size:1.2rem;line-height:1.25}.summary-content ul{margin:0;padding:0;list-style:none}.summary-content li{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding:10px 0;font-size:.78rem;display:flex}.summary-content li span{color:var(--muted)}.summary-content li strong{text-align:right}.total{background:#f0f6fd;border-radius:13px;margin-top:14px;padding:15px}.total span,.total strong,.total small{display:block}.total span,.total small{color:var(--muted);font-size:.76rem}.total strong{color:var(--blue);margin:3px 0;font-size:1.55rem}.secure{color:var(--green);text-align:center;margin-top:15px;font-size:.75rem;font-weight:800}.success{text-align:center}.success-icon{width:70px;height:70px;color:var(--green);background:#def4eb;border-radius:50%;place-items:center;margin:10px auto 18px;font-size:2rem;font-weight:950;display:grid}.success .lead{max-width:550px;margin:8px auto 25px}.receipt{border:1px solid var(--line);text-align:left;background:#fbfcfe;border-radius:16px;max-width:540px;margin:auto;padding:18px}.receipt>div{justify-content:space-between;gap:18px;padding:8px 0;display:flex}.receipt span{color:var(--muted);font-size:.8rem}.receipt strong{text-align:right;font-size:.85rem}.receipt hr{border:0;border-top:1px dashed #b9c5d3}.success-actions{justify-content:center;gap:12px;margin-top:20px;display:flex}.toast{background:var(--navy);color:#fff;opacity:0;pointer-events:none;z-index:30;border-radius:11px;padding:.8rem 1rem;transition:all .2s;position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px)}.toast.show{opacity:1;transform:translate(-50%)}@media (width<=900px){.booking-layout{grid-template-columns:1fr}.booking-summary{grid-row:1;position:static}.trip-visual{height:115px}.summary-content ul{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.seat-layout{grid-template-columns:1fr}.seat-help{max-width:420px}}@media (width<=620px){.demo-note{font-size:.65rem}.booking-header{height:68px;padding:0 14px}.brand small,.help{display:none}.booking-layout{padding:18px 12px 45px}.booking-summary,.stepper span{display:none}.stepper{margin-bottom:18px}#booking-form{padding:20px 16px}.booking-step h1{font-size:1.65rem}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.choice{grid-template-columns:22px 40px 1fr}.choice em{grid-column:3}.seat-layout{display:block}.bus-map{padding:18px 15px}.seat-help{margin-top:16px}.document-card{grid-template-columns:40px 1fr}.document-card button,.document-card em{grid-column:2}.payment{grid-template-columns:22px 1fr}.payment em{grid-column:2;width:max-content}.success-actions{flex-direction:column}.receipt>div{align-items:flex-start}.form-actions button{min-width:112px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.seat.premium:not(.occupied):not(.chosen){color:#725300;background:#fff4c9;border-color:#e6bd38}.premium-zone{color:#725300;text-align:center;background:#fff4c9;border-radius:8px;margin:14px 0 -8px;padding:7px 9px;font-size:.72rem;font-weight:850}.seat-assignments{gap:8px;display:grid}.traveler-seat{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;padding:9px;display:grid}.traveler-seat>span{width:30px;height:30px;color:var(--blue);background:#eaf1f8;border-radius:8px;place-items:center;font-weight:900;display:grid}.traveler-seat strong,.traveler-seat small{display:block}.traveler-seat small{color:var(--muted);font-size:.7rem}.traveler-seat em{color:var(--coral);font-size:.72rem;font-style:normal;font-weight:850}.seat-help li i.premium{background:#fff4c9;border-color:#e6bd38}
