.booking-hero{background:linear-gradient(90deg,#092b54e8,#092b5470),var(--hero) center 65%/cover;padding:70px 0 50px;color:white}.booking-hero h1{font-size:46px;letter-spacing:-2px;line-height:1.25;max-width:1000px}.booking-hero .eyebrow{color:#dce9f3}.booking-hero p{color:#e5edf4;font-size:17px}.home-search-card{background:white;color:var(--navy);padding:25px 28px 30px;border-radius:7px;margin-top:35px;box-shadow:0 12px 35px #0002}.home-search-top{display:flex;justify-content:space-between;border-bottom:1px solid #e2e8ed;padding-bottom:16px;margin-bottom:22px}.home-search-top strong{font-size:17px}.home-search-top span{font-size:12px;color:#788798}.booking-search{display:grid;grid-template-columns:1fr 1.2fr 1fr auto;gap:12px;align-items:end}.booking-search label{font-size:11px;color:#64778a;font-weight:600}.booking-search input{display:block;width:100%;border:1px solid #cbd6e0;background:white;padding:12px;color:var(--navy);font-size:15px;margin-top:7px;border-radius:3px;height:49px;min-width:0}.booking-search .btn{background:#1267b1;color:white;padding:14px 25px;border-radius:3px;min-height:49px}.booking-band{background:#092e56;padding:35px 0;color:white}.booking-band .eyebrow{color:#d7e4ef;margin-bottom:15px}.booking-band h1{font-size:36px;letter-spacing:-1.5px;margin-bottom:28px}.booking-band label{color:#dce8f0}.booking-main{padding-top:32px;padding-bottom:70px;min-height:60vh}.booking-steps{list-style:none;display:flex;justify-content:space-between;gap:15px;padding:0;margin:0 0 35px}.booking-steps li{display:flex;gap:9px;align-items:center;font-size:12px;color:#8493a1;border-bottom:2px solid #d9e0e7;padding-bottom:12px;flex:1}.booking-steps .active{color:#1267b1;border-color:#1267b1;font-weight:700}.booking-layout{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start}.results-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.results-head h2{font-size:25px;letter-spacing:-.6px;margin:0}.results-head span{font-size:10px;color:#798b9c}.empty-state{text-align:center;background:white;border:1px solid #dce4ea;padding:65px 25px;border-radius:6px}.empty-state>span{font-size:35px;color:#1670b8}.empty-state h3{margin:15px 0}.empty-state p{font-size:13px;max-width:430px;margin:0 auto 20px}.booking-summary{background:white;border:1px solid #dce4ea;padding:25px;border-radius:6px;position:sticky;top:20px;font-size:12px}.booking-summary h3{font-size:18px}.booking-summary>p{font-size:16px;color:var(--navy)}.summary-line{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #e3e8eb;padding-top:17px;margin-top:17px}.booking-card{background:white;border:1px solid #dce4ea;padding:30px;border-radius:6px;margin-bottom:25px}.booking-card h2{font-size:25px;letter-spacing:-.7px}.booking-card h3{font-size:18px}.booking-card p{font-size:13px}.booking-card label{display:block;font-size:12px;margin:17px 0}.booking-card input:not([type=checkbox]){width:100%;display:block;border:1px solid #cbd6e0;padding:12px;margin-top:7px;border-radius:3px;min-width:0}.booking-card .checkbox{display:flex;gap:12px;align-items:flex-start}.checkbox a{text-decoration:underline}.booking-card .checkbox input{margin-top:5px;flex-shrink:0}.booking-card .btn.gold{background:#1267b1;color:white;border-radius:3px}.booking-card .btn.outline{border-radius:3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid label:last-child{grid-column:1/-1}.guest-note{background:#edf4f9;padding:15px 20px;font-size:13px;border-radius:4px;margin-bottom:25px}.guest-note p{margin:7px 0 0}.guest-note a{text-decoration:underline}.trip-card{background:white;padding:25px;border:1px solid #d8e1e9;border-radius:5px;margin-bottom:15px;display:grid;grid-template-columns:1fr 1fr auto;gap:25px;align-items:center}.trip-card.selected{border:2px solid #1267b1}.trip-time{font-size:24px;font-weight:600;letter-spacing:-.7px}.trip-sub{display:block;font-size:11px;color:#7a8a99;margin-top:5px}.trip-price{font-size:24px;display:block;text-align:right;margin-bottom:12px}.trip-price small{font-size:11px;font-weight:400;color:#748597}.trip-card .btn{padding:11px 18px;background:#1267b1;color:white;border-radius:3px}.seat-legend{display:flex;justify-content:center;gap:24px;font-size:11px;margin:24px 0}.seat-legend span:nth-child(2){color:#8394a2}.seat-legend span:last-child{color:#1267b1}.bus{border:2px solid #c6d2dd;border-radius:45px 45px 15px 15px;background:#f7f9fb;max-width:340px;padding:25px 30px 30px;margin:20px auto}.bus-front{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #d9e2e9;padding-bottom:20px;margin-bottom:25px;font-size:10px;color:#8493a0;letter-spacing:2px}.wheel{font-size:30px;color:#677f91}.seat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px 8px;min-height:100px}.seat{aspect-ratio:1;border:1.5px solid #718da5;border-bottom-width:5px;background:#fff;color:#294a66;border-radius:7px 7px 4px 4px;font-size:12px;font-weight:700;position:relative;padding:0;min-width:30px}.seat:disabled{background:#e0e5ea;border-color:#c3cdd5;color:#8797a5;cursor:not-allowed;opacity:1}.seat.selected{background:#1267b1;border-color:#075594;color:white}.seat:hover:not(:disabled){outline:2px solid #91b9d6;outline-offset:2px}.seat-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #e0e7ed;padding-top:25px;margin-top:30px}.seat-bottom span{font-size:12px}.account-page{padding-top:55px;padding-bottom:80px;min-height:65vh}.account-page>h1{font-size:52px;letter-spacing:-2px}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.account-grid .booking-card{padding:35px}.account-grid .booking-card .btn{width:100%;margin-top:10px}.forgot{border-top:1px solid #e0e7ed;padding-top:20px;margin-top:25px;font-size:12px}.forgot summary{cursor:pointer}.forgot .textbutton{margin-top:18px;text-decoration:underline}.guest-link{text-align:center;margin-top:15px}.account-welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.account-welcome h2{font-size:27px}.status-message{padding:17px 20px;background:#edf4fa;border:1px solid #b9d1e4;border-radius:4px;font-size:13px;color:#285472;margin-bottom:24px}.status-message.error{background:#fff2e7;color:#81552e;border-color:#e9c9a9}.status-message.success{background:#e8f4ee;color:#296b4b;border-color:#b6d8c7}.booking-money{font-size:33px;color:#102b49;margin:20px 0}.bank-iban{font-family:monospace;font-size:21px;word-break:break-all;background:#edf3f8;padding:15px;border-radius:4px;display:block}.bank-box{border:1px solid #cbdbe6;padding:25px;background:#f8fbfd;border-radius:5px;margin:25px 0}.bank-box h3{font-size:20px}.reference{font:600 21px monospace;color:#175b92}.admin-booking-row{border-bottom:1px solid #dbe3e9;padding:18px 0;display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:12px}.admin-booking-row strong{font-size:14px}.admin-booking-row .btn{padding:9px 13px;font-size:11px}.admin-members-table{overflow:auto;margin-top:20px}.integration-note{font-size:12px;background:#f8efd9;padding:12px 15px;border-radius:4px}#admin-bookings .empty-state{padding:25px}
@media(max-width:1000px){.booking-search{grid-template-columns:1fr 1fr}.booking-layout{grid-template-columns:1fr 260px}.booking-hero h1{font-size:40px}.booking-hero{padding-top:50px}.trip-card{grid-template-columns:1fr 1fr;gap:18px}.trip-card>div:last-child{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.trip-price{margin:0}.booking-card{padding:23px}}
@media(max-width:750px){.booking-hero{padding:38px 0 30px}.booking-hero h1{font-size:32px;letter-spacing:-1.3px}.booking-hero h1 br{display:none}.booking-hero p{font-size:14px}.home-search-card{padding:20px;margin-top:24px}.home-search-top{gap:12px}.home-search-top span{font-size:10px}.booking-search{grid-template-columns:1fr 1fr;gap:13px}.booking-search label:nth-child(2){grid-column:2}.booking-search label:nth-child(3){grid-column:1}.booking-search input{font-size:13px;padding:10px;height:47px}.booking-search .btn{font-size:12px;padding:12px 10px;min-height:47px}.booking-layout{grid-template-columns:1fr}.booking-summary{position:static;order:2}.booking-band h1{font-size:29px}.booking-steps{gap:8px}.booking-steps li{font-size:10px;gap:5px;align-items:flex-start}.booking-steps li span{line-height:1.5}.trip-card{padding:20px;gap:20px}.trip-time{font-size:22px}.trip-price{font-size:22px}.booking-card{padding:22px 18px}.seat-bottom{display:block}.seat-bottom .btn{display:flex;margin-top:18px;width:100%;font-size:12px}.bus{padding:22px;max-width:310px}.seat-grid{gap:9px 7px}.seat{font-size:11px}.seat-legend{gap:17px;font-size:10px}.form-grid{grid-template-columns:1fr;gap:0}.form-grid label:last-child{grid-column:auto}.account-page{padding-top:35px}.account-page>h1{font-size:40px}.account-grid{grid-template-columns:1fr;gap:0}.account-grid .booking-card{padding:25px}.booking-card .checkbox{font-size:11px}.booking-card .btn{font-size:12px}.account-welcome{display:block}.bank-box{padding:20px}.bank-iban{font-size:16px}.admin-booking-row{align-items:flex-start;flex-direction:column;gap:12px}.admin-booking-row .btn{align-self:flex-start}.results-head{align-items:flex-start}.results-head h2{font-size:23px}.results-head span{max-width:150px;text-align:right}}
/* Carrier-style navigation and search-led homepage. */
body{font-family:'DM Sans',Arial,sans-serif;background:#f6f7f8}.topbar{display:none}header{background:#082b5d;color:white}.nav{min-height:73px;gap:25px}.nav nav{font-size:13px;gap:25px}.nav nav a:hover{color:#bfdbef}.nav .brand{font-size:19px}.nav .brand small{font-size:8px;letter-spacing:2.6px}.navphone{font-size:12px}.navphone small{font-size:8px;margin-bottom:4px}.booking-hero{padding:130px 0 0;background-position:center 58%;margin-bottom:58px}.booking-hero h1{font-size:35px;font-weight:700;letter-spacing:-1px;line-height:1.15;margin-bottom:13px;text-shadow:0 2px 10px #0007}.booking-hero h1 br{display:none}.booking-hero>.wrap>.eyebrow{display:none}.booking-hero>.wrap>p{font-size:14px;margin-bottom:15px}.home-search-card{transform:translateY(40px);margin-top:0;border-radius:4px;padding:20px 24px 24px;box-shadow:0 5px 15px #0002}.home-search-top{padding-bottom:15px;margin-bottom:16px;border:0}.home-search-top strong{font-size:16px}.home-search-top strong:before{content:'◉';font-size:22px;margin-right:12px;color:#254a6a}.home-search-top span{font-size:11px}.booking-search{grid-template-columns:1fr 1.1fr 1.1fr .8fr auto;gap:9px}.booking-search input,.booking-search select{height:43px;border:1px solid #9da9b3;border-radius:5px;font-size:14px;padding:9px 12px;background:white;width:100%;display:block;margin-top:5px;color:#25435c}.booking-search .btn{background:#082b5d;border-radius:5px;min-height:43px;padding:11px 24px;font-size:13px}.service-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;text-align:center;padding:35px 0 55px}.service-benefits h3{font-size:15px;letter-spacing:0;margin:13px 0 10px;font-weight:700}.service-benefits p{font-size:12px;line-height:1.8;margin:0;color:#526171}.benefit-icon{display:inline-flex;background:#e7edfb;border-radius:8px;width:42px;height:42px;align-items:center;justify-content:center;font-size:27px;color:#082b5d}.service-benefits+.section{padding-top:35px}.booking-band{background:#082b5d}.navphone a{color:#fff}.menu-toggle{color:white}.booking-card .btn.gold{background:#082b5d}.btn.gold{background:#082b5d;color:white}.closing{background:#e4ecf3}.closing .btn.gold{background:#082b5d}.booking-hero .wrap{width:min(1400px,calc(100% - 44px))}
@media(max-width:1100px){.booking-search{grid-template-columns:1fr 1fr 1fr}.booking-search label:nth-child(4){grid-column:1/2}.booking-search .btn{grid-column:2/4}.service-benefits{gap:20px}.nav nav{gap:17px;font-size:12px}}
@media(max-width:800px){.nav{min-height:70px}.nav nav.open{background:#082b5d}.booking-hero{padding-top:85px;margin-bottom:45px}.booking-hero h1{font-size:29px}.booking-hero .wrap{width:calc(100% - 32px)}.home-search-card{padding:18px;transform:translateY(30px)}.home-search-top span{font-size:9px}.home-search-top strong{font-size:14px}.booking-search{grid-template-columns:1fr 1fr}.booking-search label:nth-child(2){grid-column:auto}.booking-search label:nth-child(3){grid-column:auto}.booking-search label:nth-child(4){grid-column:auto}.booking-search .btn{grid-column:1/-1}.service-benefits{grid-template-columns:1fr 1fr;gap:30px 20px;padding:35px 0}.service-benefits h3{font-size:13px}.service-benefits p{font-size:11px}.booking-band h1{font-size:27px}.booking-band .booking-search .btn{background:#fff;color:#082b5d}.nav .brand{font-size:18px}.nav .brand small{font-size:8px}.closing h2{font-size:34px}}
