:root{--navy:#061d42;--blue:#0759d6;--orange:#f36a16;--line:#dfe6ef;--muted:#66758b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,sans-serif;background:#f5f8fc;color:var(--navy)}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
.site-header{height:118px;background:#fff;border-bottom:1px solid #e4eaf2;position:relative;z-index:50;box-shadow:0 8px 25px rgba(15,38,72,.04)}
.header-inner{width:min(1560px,calc(100% - 112px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}
.site-brand{display:flex;align-items:center;gap:16px}
.site-brand img{width:82px;height:82px;object-fit:contain;display:block}
.brand-copy{display:grid;line-height:1.04}
.brand-copy strong{font-size:25px;letter-spacing:-.04em}
.brand-copy b{font-size:25px;color:var(--orange);margin-top:5px}
.site-nav{display:flex;align-items:center;gap:48px;font-size:16px;font-weight:700}
.site-nav>a{display:flex;align-items:center;gap:12px;transition:.2s}
.site-nav>a:hover{color:var(--blue)}
.site-nav svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.nav-divider{width:1px;height:40px;background:#e2e7ee}
.account-link{padding:14px 0 14px 0;border-radius:13px}
.account-link .chevron{width:18px;margin-left:16px}
.flash{max-width:1180px;margin:18px auto;padding:13px 16px;border-radius:12px}
.flash.success{background:#e8f8ed;color:#157b3a}
main{min-height:calc(100vh - 118px)}
footer{text-align:center;padding:26px;color:#8090a5;font-size:12px}

/* Homepage: one desktop composition, based on the 1680 x 936 reference. */
.customer-home-page{overflow:hidden;background:#f7f9fc}
.customer-home-page footer{display:none}
.customer-home-page main{height:calc(100vh - 118px);min-height:0;overflow:hidden}
.customer-hero{height:100%;overflow:hidden;background:#f7f9fc}
.hero-stage{--hero-left:clamp(64px,6.02vw,101px);--panel-right:clamp(28px,2.5vw,42px);--panel-width:clamp(420px,28.93vw,486px);--content-gap:21px;--left-area:calc(100% - var(--hero-left) - var(--panel-right) - var(--panel-width) - var(--content-gap));width:100%;max-width:1920px;height:100%;min-height:0;margin:auto;position:relative;overflow:hidden;background-color:#f7f9fc;background-image:url('../images/customer/mega-home-background-final.png');background-position:calc(50% - 25px) -12px;background-size:auto calc(100% + 24px);background-repeat:no-repeat}
.hero-stage:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.05),transparent 48%,rgba(247,249,252,.04))}
.hero-bus-art{display:none}
.hero-copy{position:absolute;left:var(--hero-left);top:69px;width:min(690px,var(--left-area));z-index:4}
.booking-pill{display:inline-flex;align-items:center;gap:9px;height:34px;padding:0 15px;border-radius:999px;border:1px solid #b8d2fc;background:#f3f7ff;color:#0759d6;font-size:12px;font-weight:800;letter-spacing:.02em}
.booking-pill i{width:7px;height:7px;border-radius:50%;background:#0c65e8}
.hero-copy h1{max-width:620px;margin:29px 0 0;font-size:clamp(48px,3.46vw,58px);line-height:1.075;letter-spacing:-.052em;font-weight:800}
.hero-copy h1 em{font-style:normal;color:var(--orange)}
.premium-underline{position:relative;width:295px;height:34px;margin:0 0 18px}
.premium-underline:before{content:"";position:absolute;left:2px;top:1px;width:270px;height:13px;border-bottom:3px solid #0d5fd7;border-radius:0 0 54% 48%;transform:rotate(-1deg)}
.hero-copy>p{margin:0;color:#5e6e82;font-size:16px;line-height:1.62}
.hero-search{margin-top:36px;width:min(778px,100%);height:94px;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 18px 38px rgba(25,43,72,.12);display:flex;align-items:center;position:relative;z-index:8}
.search-field{height:66px;display:flex;align-items:center;gap:14px;padding:0 16px;flex:1;border-right:1px solid #e4e8ef}
.search-field:nth-of-type(2){border-right:0}
.search-field>svg{width:25px;height:25px;fill:none;stroke:#0b63df;stroke-width:2.25;flex:0 0 auto}
.search-field span{display:grid;gap:5px}
.search-field small{font-size:11px;color:#34445c;font-weight:700}
.search-field input{border:0;outline:0;background:transparent;color:#475569;font-size:15px;width:150px;padding:0}
.swap-icon{display:grid;place-items:center;width:48px;font-size:22px;color:#0f315e}
.hero-search button{height:66px;border:0;border-radius:12px;background:linear-gradient(135deg,#0d60df,#0749b5);color:#fff;font-size:14px;font-weight:800;padding:0 22px;display:flex;align-items:center;gap:11px;box-shadow:0 10px 24px rgba(7,80,194,.24);cursor:pointer;white-space:nowrap}
.hero-search button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2}
.seat-preview{position:absolute;top:26px;right:var(--panel-right);width:var(--panel-width);height:auto;aspect-ratio:3/4;background:#fff;border-radius:25px;border:3px solid rgba(255,255,255,.94);box-shadow:0 23px 55px rgba(22,49,84,.19);overflow:hidden;z-index:6}
.seat-preview-reference img{display:block;width:100%;height:100%;object-fit:cover}
.seat-preview>header{height:105px;background:linear-gradient(135deg,#061d42,#082c5e);color:#fff;padding:25px 27px 17px;display:flex;justify-content:space-between;gap:16px}
.seat-title{display:flex;gap:14px;align-items:flex-start;white-space:nowrap}
.seat-title svg{width:36px;height:36px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.seat-title span{display:grid}
.seat-title strong{font-size:19px;margin-bottom:7px}
.seat-title small{font-size:13px;font-weight:400;color:#d1d9e6}
.seat-legend{display:grid;grid-template-columns:repeat(2,max-content);gap:12px 15px;font-size:12px}
.seat-legend span{display:flex;align-items:center;gap:7px}
.seat-legend i{width:14px;height:14px;border-radius:3px}
.seat-legend .available{background:#41a63f}.seat-legend .filled{background:#9da4ad}.seat-legend .chosen{background:#2478eb}
.seat-cabin{position:relative;height:calc(100% - 105px);margin:0 18px;background:url('../images/customer/mega-seat-cabin-v2.png') center -2px/min(410px,100%) auto no-repeat;padding:122px 0 14px;overflow:hidden}
.seat-map{display:grid;gap:4px;position:relative;z-index:2;width:160px;margin:0 auto;transform:translateX(2px)}
.seat-row{display:grid;grid-template-columns:29px 29px 32px 29px 29px;gap:3px;align-items:center;justify-content:center}
.seat-row>b{height:22px;border-radius:6px;background:#424b58;color:#fff;display:grid;place-items:center;font-size:9px;box-shadow:inset 0 1px rgba(255,255,255,.2),0 2px 5px rgba(25,38,55,.12)}
.coach-seat{width:29px;height:29px;border:0;background:transparent;padding:0;position:relative;cursor:pointer}
.coach-seat:before{content:"";position:absolute;inset:5px 3px 2px;background:linear-gradient(#6bc55d,#399b36);border:1.5px solid #287c2b;border-radius:7px;box-shadow:inset 0 3px 3px rgba(255,255,255,.25),0 2px 2px rgba(16,68,18,.22)}
.coach-seat:after{content:"";position:absolute;left:5px;right:5px;top:2px;height:9px;border-radius:5px;background:#64bd58;border:1.5px solid #2d842d}
.coach-seat i:before,.coach-seat i:after{content:"";position:absolute;bottom:1px;width:4px;height:15px;border-radius:4px;background:#318b30;border:1px solid #206d25}
.coach-seat i:before{left:0}.coach-seat i:after{right:0}
.coach-seat.is-filled:before{background:linear-gradient(#aeb4ba,#787e85);border-color:#646a70}.coach-seat.is-filled:after{background:#aeb3b8;border-color:#71767c}.coach-seat.is-filled i:before,.coach-seat.is-filled i:after{background:#747a80;border-color:#62676c}
.coach-seat.is-chosen:before{background:linear-gradient(#408bf5,#1263d6);border-color:#0a4fb4}.coach-seat.is-chosen:after{background:#438ef6;border-color:#155cbf}.coach-seat.is-chosen i:before,.coach-seat.is-chosen i:after{background:#1764ce;border-color:#0b4ea8}
.seat-help{height:80px;border-top:1px solid #edf0f4;display:flex;align-items:center;gap:12px;padding:0 26px;color:#314156;font-size:14px;background:#fff;position:absolute;bottom:0;left:0;right:0}.seat-help b{margin-left:auto;font-size:20px}
.feature-row{position:absolute;left:var(--hero-left);top:585px;width:var(--left-area);height:190px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;z-index:5}
.feature-row article{background:#fff;border:1px solid #e3e8ef;border-radius:19px;padding:30px 25px;display:flex;gap:18px;box-shadow:0 15px 30px rgba(28,51,80,.07);overflow:hidden}
.feature-icon{flex:0 0 62px;height:62px;border-radius:12px;display:grid;place-items:center;color:#fff;box-shadow:0 10px 22px rgba(0,0,0,.14)}
.feature-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.feature-icon.blue{background:linear-gradient(135deg,#0757d8,#0342a7)}.feature-icon.orange{background:linear-gradient(135deg,#ff7b1c,#ef4e00)}.feature-icon.green{background:linear-gradient(135deg,#53bd3d,#279c21)}
.feature-row h3{font-size:16px;margin:3px 0 9px}.feature-row p{font-size:12px;line-height:1.8;color:#5d6c80;margin:0}.feature-line{display:block;width:28px;height:2px;margin-top:16px}.blue-line{background:#1665da}.orange-line{background:#f46d15}.green-line{background:#36a633}

/* Existing inner customer pages. */
.page-wrap,.booking-page{max-width:1180px;margin:auto;padding:55px 24px}.page-title h1,.trip-head h1{font-size:46px}.filter-bar{background:#fff;border:1px solid #e1e7ef;border-radius:18px;padding:12px;display:flex;gap:10px;align-items:center;box-shadow:0 18px 45px rgba(25,43,72,.08);margin-bottom:24px}.filter-bar input,.filter-bar select{border:0;background:#f5f7fa;padding:14px;border-radius:11px;outline:none}.filter-bar button,.lookup-card button{border:0;background:#155bd7;color:#fff;padding:14px 18px;border-radius:11px;font-weight:800}.trip-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.trip-card,.seat-panel,.booking-summary,.status-card,.lookup-card{background:#fff;border:1px solid #e2e8f0;border-radius:21px;padding:22px}.route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px}.route>div:last-child{text-align:right}.route small,.trip-bottom small{display:block;color:#8a97a9;font-size:9px;font-weight:800}.route strong{display:block;font-size:20px;margin-top:5px}.trip-meta{display:flex;gap:14px;flex-wrap:wrap;padding:18px 0;margin:18px 0;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4;color:#65758c;font-size:11px}.trip-bottom{display:flex;align-items:center;justify-content:space-between}.trip-bottom a,.primary-action{background:#155bd7;color:#fff;padding:11px 15px;border-radius:11px;font-weight:800;font-size:12px}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px}.booking-summary{position:sticky;top:98px;align-self:start}.legend{display:flex;gap:18px;font-size:11px;margin-bottom:20px}.bus-shell{max-width:600px;margin:auto;border:3px solid #193858;border-radius:45px;padding:72px 28px 35px;position:relative}.driver{position:absolute;top:0;left:0;right:0;height:58px;background:#17385f;color:#fff;border-radius:39px 39px 0 0;display:flex;justify-content:space-around;align-items:center;font-size:10px;font-weight:800}.seat-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(48px,1fr));gap:12px}.seat{min-height:62px;border:2px solid #55ae75;background:#dcf4e5;border-radius:14px}.booking-summary input,.booking-summary textarea,.lookup-card input{width:100%;border:1px solid #dce3ec;border-radius:10px;padding:11px;margin-top:6px}.book-button{width:100%;border:0;background:#155bd7;color:#fff;padding:14px;border-radius:11px;font-weight:800;margin-top:10px}.status-page,.lookup-page{min-height:650px;display:grid;place-items:center;padding:40px 24px}.status-card,.lookup-card{width:min(680px,100%);text-align:center}.empty{grid-column:1/-1;background:#fff;padding:50px;text-align:center;border-radius:18px}

@media (min-width:1681px){.hero-stage{--hero-left:calc((100% - 1680px)/2 + 101px);--panel-right:calc((100% - 1680px)/2 + 42px)}}
@media (min-width:1181px) and (max-height:850px), (min-width:1181px) and (max-width:1450px){.hero-stage{--hero-left:clamp(42px,5.3vw,77px);--panel-right:clamp(18px,2.1vw,30px);--panel-width:clamp(370px,29.7vw,430px);--content-gap:18px;background-position:calc(50% - 18px) -8px;background-size:auto calc(100% + 16px)}.hero-copy{top:26px}.booking-pill{height:29px;font-size:10px}.hero-copy h1{max-width:540px;font-size:clamp(42px,3.55vw,51px);margin-top:14px;line-height:1.02}.premium-underline{height:22px;margin-bottom:9px;transform:scale(.88);transform-origin:left top}.hero-copy>p{font-size:14px;line-height:1.45}.hero-search{margin-top:16px;height:76px;padding:9px;border-radius:17px}.search-field{height:56px;padding:0 11px;gap:9px}.search-field>svg{width:21px;height:21px}.search-field input{font-size:13px;width:112px}.swap-icon{width:38px}.hero-search button{height:56px;padding:0 15px;font-size:12px}.feature-row{top:auto;bottom:14px;height:146px;gap:13px}.feature-row article{padding:20px 16px;gap:13px;border-radius:16px}.feature-icon{flex-basis:52px;height:52px}.feature-icon svg{width:29px;height:29px}.feature-row h3{font-size:14px;margin:2px 0 6px}.feature-row p{font-size:10.5px;line-height:1.55}.feature-line{margin-top:10px}.seat-preview{top:14px;height:calc(100% - 28px);border-radius:21px}.seat-preview>header{height:88px;padding:18px 20px 13px}.seat-title{gap:10px}.seat-title svg{width:31px;height:31px}.seat-title strong{font-size:16px;margin-bottom:4px}.seat-title small{font-size:11px}.seat-legend{gap:8px 10px;font-size:10px}.seat-legend i{width:12px;height:12px}.seat-cabin{height:calc(100% - 150px);margin:0 14px;background-size:min(330px,100%) auto;padding:93px clamp(45px,4.25vw,61px) 3px}.seat-map{gap:0}.seat-row{grid-template-columns:31px 31px 32px 31px 31px;gap:3px}.seat-row>b{height:22px;font-size:8px;border-radius:6px}.coach-seat{width:31px;height:31px}.coach-seat:before{inset:5px 2px 2px;border-radius:6px}.coach-seat:after{left:5px;right:5px;top:2px;height:9px}.coach-seat i:before,.coach-seat i:after{height:17px;width:5px}.seat-help{height:62px;padding:0 20px;font-size:12px}}
@media (max-width:1180px){.customer-home-page{overflow:auto}.customer-home-page main{height:auto;overflow:visible}.site-header{height:92px}.header-inner{width:calc(100% - 34px)}.site-brand img{width:62px;height:62px}.brand-copy strong,.brand-copy b{font-size:20px}.site-nav{gap:25px}.customer-hero{height:auto;overflow:visible}.hero-stage{height:auto;min-height:1130px;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.45)),url('../images/customer/mega-home-background-final.png') center top/cover no-repeat}.hero-copy{left:5%;top:55px}.seat-preview{right:4%;top:395px;height:700px}.feature-row{left:5%;top:auto;bottom:24px;width:88%;height:178px}}
@media (max-width:900px){.site-nav>a span,.nav-divider{display:none}.site-nav{gap:12px}.account-link{padding:10px}.hero-stage{min-height:1430px}.hero-copy{position:relative;left:auto;top:auto;width:auto;padding:50px 24px}.hero-copy h1{font-size:clamp(43px,10vw,61px)}.hero-search{width:100%;height:auto;flex-wrap:wrap}.search-field{flex:1;min-width:220px}.seat-preview{position:relative;right:auto;top:auto;margin:0 auto;width:min(486px,calc(100% - 30px));height:710px}.feature-row{position:relative;left:auto;bottom:auto;width:auto;height:auto;margin:25px 20px;grid-template-columns:1fr}.customer-hero,.hero-stage{min-height:auto}.booking-grid,.trip-cards{grid-template-columns:1fr}.booking-summary{position:static}}
@media (max-width:620px){.site-header{height:78px}.header-inner{width:calc(100% - 24px)}.site-brand{gap:8px}.site-brand img{width:52px;height:52px}.brand-copy strong,.brand-copy b{font-size:15px}.site-nav>a:not(.account-link){display:none}.hero-copy{padding:38px 18px 25px}.hero-copy h1{font-size:40px}.hero-search{padding:10px}.search-field{border:0;width:100%;min-width:100%}.swap-icon{display:none}.hero-search button{width:100%;justify-content:center}.seat-cabin{margin:0 16px;padding-left:50px;padding-right:50px}.seat-row{grid-template-columns:37px 37px 36px 37px 37px;gap:3px}.coach-seat{width:37px;height:37px}.seat-preview>header{padding:22px 18px}.seat-legend{font-size:10px;gap:7px}.feature-row{margin:20px 15px}.page-wrap,.booking-page{padding:35px 16px}.filter-bar{flex-direction:column;align-items:stretch}.seat-grid{gap:7px}.seat{min-height:52px;font-size:10px}}

/* Keep the supplied premium preview in its native 3:4 composition at every breakpoint. */
.seat-preview.seat-preview-reference{height:auto;aspect-ratio:3/4}
.seat-preview.seat-preview-reference img{display:block;width:100%;height:100%;object-fit:cover}
