:root{--ink:#10162f;--muted:#687086;--green:#007b53;--green2:#00a66c;--mint:#5cf0c3;--purple:#4b00c8;--line:#e3e8ed;--soft:#f6f8f8;--shadow:0 10px 30px #0d453516}*{box-sizing:border-box}body{margin:0;font:15px/1.45 Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fbfcfc}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.header{height:76px;padding:0 max(5vw,28px);display:flex;align-items:center;gap:70px;color:white;background:linear-gradient(110deg,#003c2d 10%,#005b55 48%,#2600b8 100%);position:relative;z-index:10}.logo{font-size:29px;font-weight:800;white-space:nowrap}.logo span{color:#34d397}.header nav{display:flex;gap:42px;margin:auto}.header nav a{padding:27px 0 22px;border-bottom:3px solid transparent}.header nav a:hover,.header nav .active{border-color:#36e5b5}.head-actions{display:flex;gap:18px;align-items:center}.btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:7px;padding:13px 22px;font-weight:700;cursor:pointer}.mint{color:#073d35;background:var(--mint)}.primary{color:white;background:linear-gradient(110deg,#00865b,#006c48)}.outline{color:var(--green);border:1px solid var(--green);background:white}.user{background:#ffffff17;padding:12px 18px;border-radius:7px}.menu{display:none;background:none;border:0;color:#fff;font-size:24px}.hero{height:465px;background:radial-gradient(circle at 55% 30%,#dff9ec 0 18%,transparent 42%),linear-gradient(130deg,#f2efe7,#c7f3ec 55%,#aadffc);position:relative;padding:36px 4.5%}.hero:after,.mapbox:after{content:"";position:absolute;inset:90px 20% 20px 0;opacity:.4;background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 65px,#fff 67px 69px,transparent 71px 110px)}.searchbar{height:82px;display:grid;grid-template-columns:1.2fr 34px 1.2fr .85fr .9fr auto;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:12px;box-shadow:var(--shadow);position:relative;z-index:3;margin-right:24%}.searchbar label{display:grid;grid-template-columns:25px 1fr}.searchbar label i{grid-row:1/3;color:var(--green);font-size:20px}.searchbar small{color:var(--muted)}.searchbar input{min-width:0;border:0;outline:0;font-weight:600}.map-route{position:absolute;left:12%;top:45%;width:42%;height:150px}.route-line{position:absolute;width:100%;height:90px;border-bottom:3px dashed #7898a8;border-radius:50%;transform:rotate(8deg)}.pin{position:absolute;background:#1ddd9b;color:#064d3e;border-radius:50%;padding:12px;box-shadow:0 5px 10px #00835e50;z-index:2}.pin.one{left:8%;top:45%}.pin.two{right:5%;bottom:0;background:white}.current{position:absolute;right:3.2%;top:36px;width:23%;z-index:4;padding:22px}.card{background:white;border:1px solid #e6eaed;border-radius:10px;box-shadow:var(--shadow)}.spread,.row{display:flex;align-items:center;justify-content:space-between;gap:16px}.card em,em{font-style:normal;color:var(--green);background:#e7f8f0;padding:6px 10px;border-radius:15px;font-size:12px}.current p,.muted{color:var(--muted)}.current hr{border:0;border-top:1px solid var(--line)}.driver{display:flex;align-items:center;gap:10px;margin-top:18px}.driver a{margin-left:auto;background:#f1f3f5;padding:8px;border-radius:6px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#dbe9e5;color:#075941;font-weight:bold}.section{padding:28px 4.5%}.split{display:grid;grid-template-columns:2fr 1fr;gap:36px}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title a{color:#505a71}.trip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.trip-card{padding:18px;min-height:158px;display:block}.trip-card h3{font-size:15px}.trip-card small{display:block;color:var(--muted);margin:10px 0}.trip-card strong{font-size:20px;color:var(--green)}.recent{display:grid;gap:14px}.recent .row{padding:20px}.row small{display:block;color:var(--muted);margin-top:10px}footer{min-height:170px;padding:28px 5%;color:#fff;background:linear-gradient(110deg,#004431,#006248);display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:30px}footer b{font-size:22px}footer a,footer small{display:block;color:#d3e2dc;margin:7px 0}.page{padding:34px 5%;min-height:620px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.filters-layout{display:grid;grid-template-columns:230px 1fr 37%;gap:18px}.panel{padding:20px}.panel h3{margin-top:0}.filter label{display:block;font-weight:600;margin:22px 0 8px}.filter input,.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:11px;background:#fff}.check{display:block;margin:9px 0}.results{display:grid;gap:12px}.result{padding:18px;display:grid;grid-template-columns:1fr auto 1fr auto;gap:16px;align-items:center}.result strong{font-size:22px}.result small{display:block;color:var(--muted)}.mapbox{position:relative;overflow:hidden;min-height:540px;background:linear-gradient(140deg,#def7e5,#c9eef2)}.mapbox .route-line{top:35%;left:12%;width:70%;transform:rotate(70deg)}.detail-layout{display:grid;grid-template-columns:1fr 310px;gap:22px}.detail-main{display:grid;gap:16px}.route-card{padding:22px;display:grid;grid-template-columns:1.4fr 1fr;gap:25px}.timeline{border-left:3px solid #14a470;margin-left:8px;padding-left:24px}.timeline div{margin:0 0 36px}.booking-box{padding:22px;height:max-content;position:sticky;top:16px}.booking-box .price{font-size:28px;color:var(--green)}.booking-box .btn{width:100%;margin-top:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stats .card{padding:18px}.steps{display:flex;justify-content:space-around;padding:18px;margin-bottom:18px}.steps span{color:var(--muted)}.steps .done,.steps .active{color:var(--green);font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field label{display:block;margin-bottom:6px;color:#586075;font-size:13px}.checkout{display:grid;grid-template-columns:1.2fr 1fr .85fr;gap:16px}.seat-grid{display:grid;grid-template-columns:repeat(4,42px);gap:10px;justify-content:center}.seat{padding:10px;border:1px solid var(--line);border-radius:5px;text-align:center}.seat.selected{color:#fff;background:var(--green)}.success{text-align:center;padding:55px;background:linear-gradient(135deg,#f4fff9,#e7faed)}.success .tick{width:72px;height:72px;border-radius:50%;margin:auto;background:#16b978;color:#fff;display:grid;place-items:center;font-size:42px}.list{display:grid;gap:14px}.list .card{padding:20px}.faq-grid{display:grid;grid-template-columns:1.4fr 1fr .75fr;gap:18px}.accordion button{width:100%;padding:17px;text-align:left;border:0;border-bottom:1px solid var(--line);background:white;font-weight:700}.accordion p{padding:0 17px 15px;color:var(--muted)}.auth{max-width:1050px;margin:35px auto;display:grid;grid-template-columns:1fr 1.1fr;min-height:500px}.auth-art{padding:55px 40px;background:linear-gradient(145deg,#effdf6,#dff6e9);border-radius:12px 0 0 12px}.auth-form{padding:42px;background:#fff;border-radius:0 12px 12px 0}.auth-form .field{margin:18px 0}.auth-form .btn{width:100%}.profile-grid{display:grid;grid-template-columns:220px 1fr;gap:18px}.profile-side{padding:24px;text-align:center}.profile-content{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.profile-content .card{padding:20px}
@media(max-width:900px){.header{gap:16px}.header nav,.head-actions .user{display:none}.head-actions{margin-left:auto}.menu{display:block}.hero{height:auto;padding-bottom:35px}.searchbar{margin:0;grid-template-columns:1fr 1fr;height:auto}.searchbar b{display:none}.current{position:relative;top:auto;right:auto;width:auto;margin-top:210px}.split,.filters-layout,.detail-layout,.checkout,.faq-grid{grid-template-columns:1fr}.trip-grid{grid-template-columns:1fr}.mapbox{min-height:300px}.booking-box{position:static}.profile-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}.result{grid-template-columns:1fr 1fr}}@media(max-width:560px){.header{height:64px;padding:0 18px}.logo{font-size:23px}.head-actions .btn{display:none}.searchbar,.form-grid,.route-card,.profile-content{grid-template-columns:1fr}.searchbar label{padding:6px}.current{margin-top:150px}.page{padding:22px 15px}.stats{grid-template-columns:1fr}footer{grid-template-columns:1fr}.checkout{display:block}.checkout>*{margin-bottom:14px}}

[hidden]{display:none!important}

/* Page shell: keeps the footer at the viewport bottom on short pages. */
html,body{min-height:100%}
body{min-height:100vh;display:flex;flex-direction:column}
body>main{width:100%;flex:1 0 auto}
body>footer{flex:0 0 auto}

/* Temporary map surfaces. Replace these placeholders when a map provider is connected. */
.hero,.mapbox{overflow:hidden}
.hero:before,.mapbox:before{content:"DEV · ЗДЕСЬ БУДЕТ ИНТЕРАКТИВНАЯ КАРТА";position:absolute;left:50%;top:57%;transform:translate(-50%,-50%);z-index:2;padding:11px 18px;border:1px dashed rgba(0,136,95,.55);border-radius:8px;background:rgba(239,255,247,.9);box-shadow:0 5px 20px rgba(7,91,71,.13);color:#006c4c;font-size:13px;font-weight:800;letter-spacing:.08em;white-space:nowrap;pointer-events:none}
.mapbox:before{top:50%}
@media(max-width:560px){.hero:before,.mapbox:before{max-width:calc(100% - 30px);font-size:10px;letter-spacing:.04em;white-space:normal;text-align:center}}

/* Search controls and the inline SVG icon system. */
.icon{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.icon-sm{width:18px;height:18px}
.searchbar>label:not(:first-child){border-left:1px solid var(--line);padding-left:20px}
.searchbar label i{font-style:normal;align-self:center}
.searchbar label{column-gap:9px}

/* Decorative navigation underline: two strokes with a centered diamond. */
.header nav a{position:relative;border-bottom-color:transparent!important}
.header nav a:after{content:"";position:absolute;left:50%;bottom:7px;width:88px;height:3px;transform:translateX(-50%) scaleX(0);transform-origin:center;border-radius:4px;background:linear-gradient(90deg,#45ecc0 0 45%,transparent 45% 55%,#45ecc0 55% 100%);box-shadow:0 1px 5px rgba(69,236,192,.35);opacity:0;transition:transform .22s ease,opacity .22s ease}
.header nav a:before{content:"";position:absolute;left:50%;bottom:5px;width:7px;height:7px;background:#45ecc0;border:1px solid rgba(255,255,255,.45);transform:translateX(-50%) rotate(45deg) scale(0);box-shadow:0 0 7px rgba(69,236,192,.65);opacity:0;transition:transform .22s ease,opacity .22s ease}
.header nav a.active:after{transform:translateX(-50%) scaleX(1);opacity:1}
.header nav a.active:before{transform:translateX(-50%) rotate(45deg) scale(1);opacity:1}
.header nav a:hover{color:#dffff6;text-shadow:0 0 8px rgba(95,245,204,.35)}
.header .head-actions .mint{gap:9px;background:#079b73!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.12)!important;opacity:1!important;font-weight:800;box-shadow:0 5px 14px rgba(0,91,67,.24)}
.header .head-actions .mint:hover{background:#078662!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.header .head-actions .mint .icon{width:19px;height:19px;color:#fff!important;stroke:#fff!important;opacity:1!important}
.current-trip-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px -22px -22px;padding:17px 22px;border-top:1px solid var(--line);color:var(--muted);font-weight:600}
.contact-driver{display:inline-flex;align-items:center;gap:8px;color:var(--muted);transition:color .18s ease}
.contact-driver:hover{color:var(--green)}
.contact-driver .icon{width:21px;height:21px}
.time-icon{display:inline-block!important;width:19px!important;height:19px!important;margin-right:5px;vertical-align:-4px;stroke-width:1.8}
.recent .row em{transform:translateY(-8px)}
.section-title h2{display:flex;align-items:center;gap:10px}
.popular-flame{width:27px;height:27px;flex:0 0 27px;fill:#079b73;filter:drop-shadow(0 2px 3px rgba(0,123,83,.18))}
.popular-flame .flame-cut{fill:#bff4df}
.hero{height:550px}
@media(max-width:1200px){.current-trip-footer{align-items:flex-start;flex-direction:column}.contact-driver{width:100%;justify-content:space-between}}
@media(max-width:900px){.hero{height:auto}.current-trip-footer{align-items:center;flex-direction:row}.contact-driver{width:auto;justify-content:flex-start}}
@media(max-width:480px){.current-trip-footer{align-items:flex-start;flex-direction:column}.contact-driver{width:100%;justify-content:space-between}}

/* Account settings page. */
.settings-page{display:grid;grid-template-columns:245px minmax(0,1fr);gap:28px;align-items:start;padding:32px 5%;background:#f7f9fa}
.settings-nav{position:sticky;top:24px;min-height:620px;padding:12px;display:flex;flex-direction:column;box-shadow:0 8px 28px rgba(21,48,41,.07)}
.settings-nav a{display:flex;align-items:center;gap:13px;padding:15px 16px;border-radius:7px;color:#697187;font-weight:600;transition:.18s ease}
.settings-nav a span{width:22px;text-align:center;font-size:19px}
.settings-nav a:hover{color:var(--green);background:#f0faf6}
.settings-nav a.active{color:var(--green);background:#fff;box-shadow:0 6px 18px rgba(18,61,49,.09)}
.settings-nav .logout{margin-top:auto}
.settings-divider{height:1px;margin:12px 10px;background:var(--line)}
.settings-content{min-width:0}.settings-content>h1{margin:0 0 20px}
.profile-summary{display:grid;grid-template-columns:1fr 1.35fr;overflow:hidden}
.profile-person{padding:25px;display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:center;border-right:1px solid var(--line)}
.profile-person h2{margin:0 0 10px}.profile-person p{margin:6px 0;color:var(--muted)}
.profile-photo{width:104px;height:104px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#d9e6e2,#a9c9bf);color:#075b43;font-size:30px;font-weight:800;box-shadow:inset 0 0 0 5px #fff,0 3px 10px #123d3022}
.photo-button{grid-column:1/-1;background:#fff;border:1px solid var(--line);color:var(--muted)}
.personal-data{padding:25px}.card-heading{display:flex;align-items:center;justify-content:space-between}.card-heading h3{margin:0}.edit-button{border:0;border-radius:18px;padding:8px 14px;background:#e8f8f1;color:var(--green);font-weight:700;cursor:pointer}
.personal-data dl{display:grid;grid-template-columns:150px 1fr;gap:19px;margin:30px 0 0}.personal-data dt{color:var(--muted)}.personal-data dd{margin:0;font-weight:600}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.settings-card{min-height:210px;padding:24px}.settings-card h2{margin:0 0 20px;font-size:19px}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:43px;color:#515a70;cursor:pointer}.setting-row input{position:absolute;opacity:0}.setting-row i{position:relative;width:45px;height:24px;flex:0 0 45px;border-radius:15px;background:#d9dee4;transition:.2s}.setting-row i:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0002;transition:.2s}.setting-row input:checked+i{background:#12a879}.setting-row input:checked+i:after{transform:translateX(21px)}
.setting-link{min-height:51px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #edf0f2;color:#515a70}.setting-link b{font-size:26px}.setting-link em{color:#788096;background:#f2f4f6}
.bank-card{display:flex;align-items:center;gap:18px;padding:14px;border:1px solid var(--line);border-radius:8px}.bank-card span{font-weight:700}.bank-card em{margin-left:auto}.add-setting{margin-top:18px;border:0;background:none;color:var(--green);font-weight:700;cursor:pointer}
.select-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:13px 0;color:#596176}.select-row select{min-width:180px;padding:9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)}
@media(max-width:900px){.settings-page{grid-template-columns:1fr}.settings-nav{position:static;min-height:0;display:grid;grid-template-columns:repeat(2,1fr)}.settings-nav .logout{margin:0}.settings-divider{display:none}.profile-summary{grid-template-columns:1fr}.profile-person{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:650px){.settings-page{padding:20px 14px}.settings-grid{grid-template-columns:1fr}.settings-nav{display:flex;overflow-x:auto;flex-direction:row}.settings-nav a{white-space:nowrap}.profile-person{grid-template-columns:78px 1fr;padding:20px}.profile-photo{width:72px;height:72px}.personal-data{padding:20px}.personal-data dl{grid-template-columns:100px 1fr}.select-row{align-items:flex-start;flex-direction:column}.select-row select{width:100%}}

/* Search results page. */
.search-page{padding:28px 3%;background:radial-gradient(circle at 25% 12%,#e7faf0,transparent 34%),#f7faf9}
.search-page-form{width:100%;margin:0;height:88px;grid-template-columns:1.2fr 34px 1.2fr .9fr .9fr auto}
.search-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0}.sort-pills{display:flex;gap:14px;flex-wrap:wrap}.sort-pills button,.map-switch button{padding:11px 17px;border:1px solid #dce2e5;border-radius:6px;background:#fff;color:#555e73;font-weight:600;cursor:pointer}.sort-pills button.active,.map-switch button.active{border-color:var(--green);background:var(--green);color:#fff}.places-only{display:flex;align-items:center;gap:10px;white-space:nowrap}.places-only input{display:none}.places-only span{width:18px;height:18px;border-radius:4px;background:var(--green);position:relative}.places-only span:after{content:"✓";position:absolute;left:3px;top:-2px;color:#fff;font-weight:bold}
.search-layout{display:grid;grid-template-columns:255px minmax(500px,1.25fr) minmax(380px,1fr);gap:18px;align-items:start}.search-filters{padding:20px}.filter-title{display:flex;align-items:center;justify-content:space-between}.filter-title h2{font-size:19px;margin:0}.filter-title button{border:0;background:none;color:#8a92a4}.filter-block{padding:20px 0;border-bottom:1px solid #edf0f1}.filter-block:last-child{border:0}.filter-block h3{font-size:14px;margin:0 0 14px}.filter-values{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filter-values.single{grid-template-columns:1fr}.filter-values span{padding:11px;border:1px solid var(--line);border-radius:6px;color:#60687a}.range-line{height:4px;margin:20px 5px 3px;background:var(--green);position:relative}.range-line:before,.range-line:after{content:"";position:absolute;top:50%;width:15px;height:15px;border:2px solid var(--green);border-radius:50%;background:#fff;transform:translateY(-50%)}.range-line:before{left:-3px}.range-line:after{right:-3px}.range-line.one:before{display:none}.filter-check{display:flex;align-items:center;gap:9px;margin:10px 0;color:#596176}.filter-check input{display:none}.filter-check i{width:17px;height:17px;border:2px solid #aeb6c1;border-radius:3px}.filter-check input:checked+i{border-color:var(--green);background:var(--green);position:relative}.filter-check input:checked+i:after{content:"✓";position:absolute;left:2px;top:-4px;color:#fff;font-size:13px}.more-filter{border:0;background:none;padding:5px 0;color:var(--green);font-weight:700}
.search-results{min-width:0}.results-head{height:72px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;border-radius:10px 10px 0 0}.results-head h2{font-size:18px}.results-head span{color:#8a92a4;font-size:13px}.results-head b{color:var(--green)}#search-results-list{display:grid;gap:14px}.search-trip{min-height:170px;padding:22px;display:grid;grid-template-columns:1.05fr .75fr 1.15fr 1.25fr .8fr;gap:15px;align-items:center;border-radius:0 0 10px 10px}.search-trip+.search-trip{border-radius:10px}.trip-time,.trip-company,.trip-action{display:flex;flex-direction:column;gap:5px}.trip-time strong{font-size:26px}.trip-time small,.trip-company small,.trip-company span{color:var(--muted)}.trip-duration{text-align:center;color:var(--muted)}.trip-duration>*{display:block}.trip-duration span{font-size:22px}.trip-action{align-items:flex-end}.trip-action strong{font-size:21px;color:var(--green)}.trip-action .btn{padding:10px 15px}.show-more{width:100%;margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--green);font-weight:700}
.search-map{position:sticky;top:18px;height:790px;min-height:790px}.search-map:before{top:18%;font-size:10px}.search-map:after{inset:100px 0 0;opacity:.3}.map-switch{position:absolute;right:18px;top:18px;z-index:4;padding:5px;background:#fff;border-radius:8px;box-shadow:var(--shadow)}.map-switch button{border:0}.fake-map-route{position:absolute;left:48%;top:17%;width:4px;height:65%;z-index:3;background:var(--green);transform:rotate(-12deg);border-radius:5px}.map-city{position:absolute;z-index:4;font-size:17px}.map-city:first-letter{color:var(--green)}.map-city.north{left:36%;top:14%}.map-city.south{left:51%;bottom:9%}.map-price{position:absolute;z-index:4;padding:7px 10px;border-radius:7px;background:#fff;box-shadow:var(--shadow);font-weight:700}.p1{left:43%;top:29%}.p2{left:56%;top:40%}.p3{left:48%;top:57%}.p4{left:62%;top:68%}.map-controls{position:absolute;right:17px;bottom:18px;z-index:4;display:grid;gap:5px}.map-controls button{width:38px;height:38px;border:0;border-radius:7px;background:#fff;box-shadow:var(--shadow);font-size:20px}
@media(max-width:1250px){.search-layout{grid-template-columns:230px 1fr}.search-map{grid-column:1/-1;position:relative;height:420px;min-height:420px}.search-trip{grid-template-columns:1fr .7fr 1fr 1fr}.trip-action{grid-column:4}.trip-company{display:none}}
@media(max-width:800px){.search-page{padding:18px 14px}.search-page-form{height:auto}.search-toolbar{align-items:flex-start;flex-direction:column}.search-layout{grid-template-columns:1fr}.search-filters{display:none}.search-trip{grid-template-columns:1fr .6fr 1fr}.trip-action{grid-column:1/-1;align-items:stretch;flex-direction:row;justify-content:space-between}.results-head span{display:none}}
@media(max-width:500px){.search-trip{grid-template-columns:1fr 1fr}.trip-duration{display:none}.trip-action{grid-column:1/-1}.sort-pills{display:grid;grid-template-columns:1fr 1fr}.sort-pills button{font-size:12px;padding:9px}.search-map{height:340px;min-height:340px}}

/* Trip details page. */
.trip-page{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start;padding:28px 5%;background:#f8fafb}.trip-content{min-width:0}.back-link{display:inline-block;margin-bottom:16px;color:#687086}.trip-heading{display:flex;align-items:center;gap:18px}.trip-heading h1{margin:0;font-size:32px}.trip-heading em,.trip-meta em{color:var(--green);background:#e6f7ef}.trip-meta{margin:12px 0 25px;color:#697187}.trip-overview{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.75fr);gap:16px}.route-details,.vehicle-card,.driver-card,.amenities-card,.gallery-card,.reviews-card{padding:22px}.route-details h2,.vehicle-card h2,.trip-feature-grid h2,.reviews-card h2{margin:0 0 22px;font-size:18px}.route-detail-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}.route-schedule{position:relative}.route-stop{display:grid;grid-template-columns:78px 18px 1fr;gap:12px;position:relative}.route-stop:first-child{margin-bottom:70px}.route-stop:first-child:after{content:"";position:absolute;left:87px;top:18px;height:142px;border-left:2px solid #17a876}.route-stop i{width:12px;height:12px;margin-top:7px;border:3px solid var(--green);border-radius:50%;background:#fff;z-index:2}.route-stop h3{margin:0 0 7px}.route-stop p{margin:5px 0;color:var(--muted)}.route-stop a{color:var(--green);font-weight:600}.stop-time b{display:block;font-size:17px}.stop-time small{color:var(--muted)}.route-travel{position:absolute;margin:-48px 0 0 12px;color:var(--muted);font-size:12px}.route-facts{display:grid;grid-template-columns:1fr auto;gap:18px;margin:0;padding-left:24px;border-left:1px solid var(--line)}.route-facts dt{color:#677086}.route-facts dd{margin:0;font-weight:600;text-align:right}.vehicle-card p{color:var(--muted)}.vehicle-card ul{list-style:none;padding:0;margin:15px 0 0}.vehicle-card li{margin:9px 0;color:#5b6478}.photo-placeholder{display:grid;place-items:center;min-height:105px;border:1px dashed #76ad9b;border-radius:7px;background:linear-gradient(145deg,#dcebe5,#afc9bf);color:#226b56;font-size:11px;font-weight:800;letter-spacing:.05em}.vehicle-photo{min-height:155px}.trip-feature-grid{display:grid;grid-template-columns:.85fr .9fr 1.25fr;gap:16px;margin-top:16px}.driver-profile{display:flex;gap:16px}.profile-photo.small{width:64px;height:64px;flex:0 0 64px;font-size:18px}.driver-profile h3{margin:4px 0}.driver-profile p{color:var(--muted)}.verified{display:block;margin-top:10px;color:#18ae73}.amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:center;color:var(--green);font-size:24px}.amenities small{display:block;margin-top:6px;color:#424b60;font-size:10px}.trip-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.gallery-card a{display:inline-block;margin-top:14px;color:var(--green);font-weight:600}.photo-placeholder.more{position:relative}.photo-placeholder.more b{position:absolute;font-size:22px;color:#fff}.reviews-card{margin-top:16px}.reviews-layout{display:grid;grid-template-columns:120px 120px 1fr;gap:18px}.rating-summary strong{display:block;font-size:28px}.rating-summary span{color:var(--muted)}.rating-bars span{display:flex;align-items:center;gap:6px;font-size:11px}.rating-bars i{width:50px;height:5px;background:linear-gradient(90deg,var(--green) var(--w),#e7ecea var(--w));border-radius:5px}.review-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.review-list>div{padding:14px;border:1px solid var(--line);border-radius:7px}.review-list small{float:right;color:var(--muted)}.review-list p{min-height:45px;color:#5e6679;font-size:12px}.all-reviews{display:block;margin-top:15px;text-align:center;color:var(--green);font-weight:700}
.trip-booking{position:sticky;top:18px;padding:24px}.trip-booking>h2{margin-top:0}.trip-booking>em{display:table}.booking-price{display:block;margin-top:18px;font-size:34px}.trip-booking>p{color:var(--muted)}.booking-route{padding:20px 0;border-bottom:1px solid var(--line)}.booking-route div{position:relative;margin:0 0 24px;padding-left:20px}.booking-route div:before{content:"";position:absolute;left:0;top:5px;width:8px;height:8px;border:2px solid #77819a;border-radius:50%}.booking-route div:first-child:after{content:"";position:absolute;left:5px;top:16px;height:38px;border-left:1px dashed #77819a}.booking-route small{display:block;color:var(--muted);margin-top:5px}.booking-route span{color:var(--muted)}.booking-line{display:flex;justify-content:space-between;padding:14px 0}.booking-total{display:grid;grid-template-columns:1fr auto;padding:18px 0;border-top:1px solid var(--line)}.booking-total strong{font-size:25px}.booking-total small{grid-column:1/-1;color:var(--muted)}.trip-booking>.btn{width:100%;font-size:17px}.hold-note{text-align:center;font-size:12px}.payment-logos{margin-top:55px;padding-top:20px;border-top:1px solid var(--line)}.payment-logos small{display:block;color:var(--muted)}.payment-logos div{display:flex;justify-content:space-between;margin-top:18px;color:#075e48}
@media(max-width:1150px){.trip-page{grid-template-columns:1fr}.trip-booking{position:static}.trip-overview{grid-template-columns:1fr}.trip-feature-grid{grid-template-columns:1fr 1fr}.gallery-card{grid-column:1/-1}}
@media(max-width:750px){.trip-page{padding:20px 14px}.trip-heading{align-items:flex-start;flex-direction:column}.trip-heading h1{font-size:25px}.route-detail-grid{grid-template-columns:1fr}.route-facts{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.trip-feature-grid{grid-template-columns:1fr}.gallery-card{grid-column:auto}.reviews-layout{grid-template-columns:1fr}.review-list{grid-template-columns:1fr}.amenities{grid-template-columns:repeat(3,1fr)}}

/* Booking flow page. */
.booking-page{padding:24px 3% 0;background:#f8fafb}.booking-steps{min-height:88px;padding:18px 28px;display:flex;align-items:center;justify-content:space-between}.booking-steps>div{display:flex;align-items:center;gap:12px;color:#6b7387;font-weight:700;white-space:nowrap}.booking-steps b{width:34px;height:34px;display:grid;place-items:center;border:2px solid #d9dee5;border-radius:50%}.booking-steps .done b,.booking-steps .active b{border-color:#18b87b;background:#18b87b;color:#fff}.booking-steps .done span,.booking-steps .active span{color:#2a334a}.booking-steps>i{height:1px;flex:1;max-width:55px;margin:0 14px;background:#dfe4e8;position:relative}.booking-steps>i:after{content:"›";position:absolute;right:-3px;top:-10px;color:#cbd1d7}
.booking-columns{display:grid;grid-template-columns:1.15fr 1fr .82fr 1.05fr;gap:16px;margin-top:20px}.booking-panel{min-height:565px;padding:25px}.booking-panel h2{margin:0 0 25px;font-size:19px}.booking-panel h3{font-size:16px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.booking-fields label{display:block}.booking-fields label.wide{grid-column:1/-1}.booking-fields span{display:block;margin-bottom:7px;color:#687086;font-size:12px}.booking-fields input,.booking-fields select{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.add-passenger{width:100%;margin-top:28px;padding:18px 4px;text-align:left;border:0;border-top:1px solid var(--line);background:none;color:var(--green);font-weight:700}.seat-heading{display:flex;justify-content:space-between;color:#616a7d}.seat-heading span{color:#7b8394}.seat-labels{display:grid;grid-template-columns:repeat(4,52px);gap:15px;justify-content:center;margin:28px 0 8px;text-align:center;color:#9aa1af;font-size:11px}.booking-seats{display:grid;grid-template-columns:repeat(4,52px);gap:15px;justify-content:center}.booking-seats button{height:47px;border:1px solid #dce2e5;border-radius:7px;background:#fff;color:var(--ink);font-weight:700;box-shadow:0 2px 6px #17392f0b;cursor:pointer}.booking-seats button.selected{border-color:#0baa72;background:#0baa72;color:#fff;box-shadow:0 5px 13px #0baa7244}.seat-legend{display:flex;justify-content:center;gap:16px;margin:32px 0;color:#747d90;font-size:12px}.seat-legend span{display:flex;align-items:center;gap:6px}.seat-legend i{width:19px;height:19px;border:1px solid #cbd2d9;border-radius:4px;background:#fff}.seat-legend i.selected{border-color:#0baa72;background:#0baa72}.seat-legend i.busy{background:#dfe3e7}.seat-selected{display:flex;align-items:center;justify-content:space-between;padding-top:18px;border-top:1px solid var(--line)}.seat-selected b{display:block;margin-bottom:9px}.seat-selected em{display:inline-block;color:#079b73;background:#e7f8f0}.seat-selected button{padding:11px;border:1px solid var(--line);border-radius:6px;background:#fff}.extras-panel{display:flex;flex-direction:column}.extra-row{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:start;margin:0 0 27px;cursor:pointer}.extra-row input{display:none}.extra-row>i{width:18px;height:18px;border:2px solid #b6bdc7;border-radius:4px}.extra-row input:checked+i{border-color:#0baa72;background:#0baa72;position:relative}.extra-row input:checked+i:after{content:"✓";position:absolute;left:2px;top:-4px;color:#fff}.extra-row span>*{display:block}.extra-row small{margin-top:4px;color:#81899a}.upsell-note{display:flex;align-items:center;gap:14px;margin-top:auto;padding:19px;border:1px solid #e2e7e9;border-radius:8px;background:#f8fbfa;color:#6b7385}.upsell-note>b{font-size:26px;color:#0baa72}.order-title{display:flex;justify-content:space-between}.order-title em{align-self:start}.order-panel>h3{margin-top:0}.order-panel>p,.order-meta{color:#687086}.order-meta{padding:18px 0;border-bottom:1px solid var(--line)}.order-cost{padding:13px 0;border-bottom:1px solid var(--line)}.order-cost div{display:flex;justify-content:space-between;margin:13px 0}.discount{color:#0baa72}.order-total{display:flex;justify-content:space-between;align-items:center;padding:18px 0}.order-total strong{font-size:23px;color:var(--green)}.order-panel>.btn{width:100%;font-size:16px}.booking-trust{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:22px -3.2% 0;padding:24px 5%;border-top:1px solid var(--line);background:#fff;color:#687086}.booking-trust>div{display:flex;align-items:center;gap:12px}.booking-trust span{display:block}.booking-trust b{color:#253047}
@media(max-width:1300px){.booking-columns{grid-template-columns:1fr 1fr}.booking-panel{min-height:auto}.order-panel{grid-column:2}.extras-panel{grid-row:2}.booking-steps>i{margin:0 5px}}
@media(max-width:800px){.booking-steps{overflow-x:auto;justify-content:flex-start;gap:12px}.booking-steps>i{min-width:35px}.booking-columns{grid-template-columns:1fr}.order-panel{grid-column:auto}.extras-panel{grid-row:auto}.booking-trust{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.booking-page{padding:15px 12px 0}.booking-panel{padding:19px}.booking-fields{grid-template-columns:1fr}.booking-fields label.wide{grid-column:auto}.booking-seats,.seat-labels{grid-template-columns:repeat(4,45px);gap:10px}.seat-selected{align-items:flex-start;flex-direction:column;gap:12px}}

/* Booking payment continuation. */
.payment-booking-grid{display:grid;grid-template-columns:.9fr 1.15fr 1fr;gap:16px;margin-top:20px}.payment-methods,.payment-card-form,.promo-card,.secure-payment,.payment-order{padding:24px}.payment-methods h2,.payment-card-form h2{margin:0 0 26px;font-size:19px}.payment-method{min-height:92px;display:grid;grid-template-columns:20px 1fr auto;gap:14px;align-items:center;margin-bottom:15px;padding:17px;border:1px solid var(--line);border-radius:7px;cursor:pointer}.payment-method.active{border-color:#25c18b;background:#f0fcf7}.payment-method input{display:none}.payment-method>i{width:19px;height:19px;border:2px solid #cbd2d8;border-radius:50%}.payment-method.active>i{border:6px solid #16b77b}.payment-method span b,.payment-method span small{display:block}.payment-method span small{margin-top:5px;color:#757e91}.payment-method strong{color:#176c9a;white-space:nowrap}.wallet-logo{font-size:24px!important;color:#792be7!important}.payment-center{display:grid;gap:12px}.payment-card-form label{display:block;margin:0 0 18px}.payment-card-form label>span{display:block;margin-bottom:7px;color:#687086;font-size:12px}.payment-card-form input,.promo-card input{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.payment-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.payment-card-form .save-card{display:flex;align-items:center;gap:9px;color:#5f687b}.save-card input{display:none}.save-card i{width:18px;height:18px;border:2px solid #aeb6c1;border-radius:4px}.save-card input:checked+i{background:var(--green)}.promo-card h3{margin:0 0 12px}.promo-card>div{display:grid;grid-template-columns:1fr auto;gap:10px}.promo-card button{padding:0 20px;border:1px solid var(--line);border-radius:6px;background:#fff;font-weight:600}.secure-payment{display:flex;align-items:center;gap:16px}.secure-payment>b{font-size:30px;color:#12ad75}.secure-payment h3,.secure-payment p{margin:4px 0}.secure-payment p{color:#687086;font-size:12px}.payment-order{min-height:580px}.payment-order>p{color:#687086;font-size:12px;line-height:1.7}.payment-order-lines{padding:12px 0;border-bottom:1px solid var(--line)}.payment-order-lines>div{display:flex;justify-content:space-between;gap:20px;margin:16px 0}.payment-order-lines span{color:#596276}.pay-button{width:100%;font-size:17px}
@media(max-width:1100px){.payment-booking-grid{grid-template-columns:1fr 1.2fr}.payment-order{grid-column:1/-1;min-height:auto}}
@media(max-width:720px){.payment-booking-grid{grid-template-columns:1fr}.payment-order{grid-column:auto}.payment-form-row{grid-template-columns:1fr}.payment-method{grid-template-columns:20px 1fr}.payment-method>strong{grid-column:2}}

/* My trips page. */
.my-trips-page{padding:34px 5% 50px;background:#f8fafb}.my-trips-heading h1{margin:0 0 6px}.my-trips-heading p{margin:0;color:var(--muted)}.trip-tabs{width:min(650px,100%);display:grid;grid-template-columns:repeat(3,1fr);margin:28px 0 30px;padding:0 18px;box-shadow:0 6px 20px rgba(20,65,51,.07)}.trip-tabs button{position:relative;padding:18px 10px;border:0;background:none;color:#7a8294;font-weight:700;cursor:pointer}.trip-tabs button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--green);transform:scaleX(0);transition:.2s}.trip-tabs button.active{color:var(--green)}.trip-tabs button.active:after{transform:scaleX(1)}.trip-tabs b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:7px;border-radius:50%;background:#edf1f2;color:#747d8d}.trip-tabs .active b{background:#dff5eb;color:var(--green)}.upcoming-trips{display:grid;gap:16px}.my-trip-card{min-height:150px;padding:18px;display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:28px;align-items:center}.trip-cover{height:115px;display:grid;place-items:end center;padding:8px;border-radius:8px;background-size:cover;color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em;text-shadow:0 1px 3px #000}.trip-cover.moscow{background:linear-gradient(160deg,#bfe4f3 0 45%,#b89c78 46% 68%,#425b50 69%)}.trip-cover.kazan{background:linear-gradient(160deg,#a4d6f4 0 48%,#51a4b1 49% 62%,#f0e0b8 63%)}.trip-cover.novgorod{background:linear-gradient(160deg,#aad9f4 0 48%,#88b75f 49% 64%,#986b43 65%)}.my-trip-info{min-width:0}.trip-route-line{display:flex;align-items:center;gap:25px}.trip-route-line h2{margin:0;font-size:17px}.trip-route-line em{white-space:nowrap}.my-trip-info p{margin:13px 0 0;color:#687086}.my-trip-info p>span{display:inline-block;width:28px;font-size:18px}.my-trip-actions{display:flex;gap:10px}.my-trip-actions a,.my-trip-actions button{padding:13px 18px;border:1px solid #77c8ab;border-radius:6px;background:#fff;color:var(--green);font-weight:700}.my-trip-actions button{padding:13px;border-color:var(--line);color:#626b7f;cursor:pointer}.recent-trips-section{margin-top:42px}.recent-heading{display:flex;justify-content:space-between;align-items:center}.recent-heading a{color:#687086}.recent-trip-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.recent-trip-card{padding:20px;display:flex;align-items:center;justify-content:space-between}.recent-trip-card p{color:#687086}.recent-trip-card>div:last-child{display:grid;justify-items:end;gap:18px}.recent-trip-card strong{font-size:19px;color:var(--green)}.empty-trip-panel{padding:60px;text-align:center;border:1px dashed #bdc7c4;border-radius:10px;background:#fff;color:#687086}
@media(max-width:800px){.my-trip-card{grid-template-columns:105px 1fr}.trip-cover{height:95px}.my-trip-actions{grid-column:1/-1;justify-content:flex-end}.trip-route-line{align-items:flex-start;flex-direction:column;gap:8px}.recent-trip-grid{grid-template-columns:1fr}}
@media(max-width:520px){.my-trips-page{padding:24px 14px}.trip-tabs{padding:0}.trip-tabs button{font-size:11px}.trip-tabs b{display:none}.my-trip-card{grid-template-columns:1fr;gap:15px}.trip-cover{height:120px}.my-trip-actions{grid-column:auto;justify-content:stretch}.my-trip-actions a{flex:1;text-align:center}.recent-trip-card{align-items:flex-start;flex-direction:column}.recent-trip-card>div:last-child{width:100%;grid-template-columns:1fr 1fr;align-items:center;justify-items:start}.recent-trip-card>div:last-child strong{justify-self:end}}

/* Concrete trip / ticket page. */
.ticket-page{max-width:1220px;width:100%;margin:0 auto;padding:28px 4%;background:#f8fafb}.ticket-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;color:#687086}.ticket-toolbar div{display:flex;gap:12px}.ticket-toolbar button{border:0;background:none;color:#687086;cursor:pointer}.ticket-shell{padding:26px}.ticket-summary{display:grid;grid-template-columns:1fr 240px;gap:30px}.ticket-number{display:flex;align-items:center;gap:20px}.ticket-number h1{margin:0}.ticket-cities{display:flex;align-items:center;gap:55px;margin:42px 0}.ticket-cities h2{margin:0 0 4px;font-size:19px}.ticket-cities span,.ticket-meta{color:#687086}.ticket-cities>b{font-size:28px;color:#687086}.ticket-meta{display:flex;gap:42px;font-weight:600}.ticket-qr{padding:18px;display:flex;align-items:center;flex-direction:column;border:1px solid var(--line);border-radius:8px}.ticket-qr>span{margin-top:10px;color:#687086;font-size:12px}.fake-qr{width:145px;height:145px;position:relative;border:9px solid #fff;background:repeating-conic-gradient(#101010 0 25%,#fff 0 50%) 0/12px 12px;box-shadow:0 0 0 1px #cfd5d9}.fake-qr i{position:absolute;width:39px;height:39px;border:8px solid #101010;background:#fff;box-shadow:inset 0 0 0 5px #fff}.fake-qr i:nth-child(1){left:3px;top:3px}.fake-qr i:nth-child(2){right:3px;top:3px}.fake-qr i:nth-child(3){left:3px;bottom:3px}.ticket-timeline{display:grid;grid-template-columns:1fr 180px 1fr;gap:25px;margin:25px 0;padding:25px;border:1px solid var(--line);border-radius:8px}.timeline-side{display:grid;grid-template-columns:65px 1fr;gap:7px 18px}.timeline-side>b{grid-row:1/4;font-size:16px}.timeline-side span{color:#687086}.timeline-side small{color:#687086}.timeline-middle{display:flex;align-items:center;justify-content:center;flex-direction:column;color:#687086;text-align:center}.timeline-middle i{width:100%;height:1px;background:#cdd4d8}.timeline-middle b{margin-top:8px}.timeline-middle span{margin-bottom:8px}.timeline-side.arrival{text-align:left}.ticket-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ticket-info-card{min-height:270px;padding:20px;border:1px solid var(--line);border-radius:8px}.ticket-info-card h3{margin-top:0}.ticket-person{display:flex;align-items:center;gap:12px}.ticket-info-card>small{display:block;margin:5px 0 20px 50px;color:#687086}.ticket-info-card dl{margin-top:20px}.ticket-info-card dt{margin-top:14px;color:#687086}.ticket-info-card dd{margin:3px 0 0}.contact-ticket-driver{display:block;margin-top:25px;padding:12px;border:1px solid #75caae;border-radius:6px;color:var(--green);text-align:center;font-weight:700}.ticket-support{display:grid;grid-template-columns:1fr 1.1fr 1.1fr;gap:20px;align-items:center;margin-top:20px;padding:17px}.ticket-support div span{display:block;margin-left:25px;color:#687086}.ticket-support>a{padding:13px;border:1px solid #77c7aa;border-radius:6px;text-align:center;color:var(--green);font-weight:700}.ticket-support>a.emergency{border-color:#f3a9ad;color:#ec565d}
@media(max-width:800px){.ticket-summary{grid-template-columns:1fr}.ticket-qr{width:220px}.ticket-cities{gap:25px}.ticket-details-grid{grid-template-columns:1fr}.ticket-info-card{min-height:auto}.ticket-support{grid-template-columns:1fr}.ticket-timeline{grid-template-columns:1fr}.timeline-middle{min-height:75px}.timeline-middle i{transform:rotate(90deg);width:55px}}
@media(max-width:520px){.ticket-page{padding:20px 13px}.ticket-toolbar{align-items:flex-start;flex-direction:column;gap:15px}.ticket-toolbar div{width:100%;justify-content:space-between}.ticket-shell{padding:18px}.ticket-cities{align-items:flex-start;flex-direction:column;gap:8px;margin:28px 0}.ticket-cities>b{transform:rotate(90deg)}.ticket-meta{align-items:flex-start;flex-direction:column;gap:10px}.ticket-qr{width:100%}}

/* Active trip tracking page. */
.tracking-page{padding:25px 3%;background:#f8fafb}.tracking-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;color:#687086}.tracking-toolbar>div{display:flex;gap:24px}.tracking-toolbar span{color:#17a974}.tracking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.tracking-main{min-width:0}.tracking-map{height:510px;min-height:510px;position:relative;background:linear-gradient(150deg,#e0f8e9,#d5f0e7 50%,#cbe9e8)}.tracking-map:before{top:15%}.tracking-map:after{inset:40px;opacity:.38}.tracking-route-line{position:absolute;left:13%;right:13%;top:53%;height:5px;z-index:4;border-radius:10px;background:#10ad70;transform:rotate(5deg);box-shadow:0 0 0 3px #fff}.tracking-route-line:before,.tracking-route-line:after{content:"";position:absolute;width:26%;height:55px;border-top:5px solid #10ad70;border-radius:50%}.tracking-route-line:before{left:18%;top:-25px;transform:rotate(-13deg)}.tracking-route-line:after{right:17%;top:-32px;transform:rotate(15deg)}.tracking-route-line i{position:absolute;top:50%;z-index:3;transform:translate(-50%,-50%)}.tracking-route-line .start,.tracking-route-line .finish{width:22px;height:22px;border:6px solid #07885d;border-radius:50%;background:#fff}.tracking-route-line .start{left:0}.tracking-route-line .finish{left:100%}.tracking-route-line .vehicle{left:48%;width:58px;height:58px;display:grid;place-items:center;border:6px solid #c6f2de;border-radius:50%;background:#0b875f;color:#fff;font-style:normal;font-size:22px}.track-city{position:absolute;z-index:3;color:#566477;font-size:12px}.city-a{left:16%;top:40%}.city-b{left:38%;top:37%}.city-c{left:61%;top:67%}.city-d{right:13%;top:47%}.tracking-bottom-grid{display:grid;grid-template-columns:1.25fr .9fr .7fr;gap:16px;margin-top:16px}.stops-card,.current-data,.baggage-card{padding:20px}.stops-card h2,.current-data h2,.baggage-card h2{margin:0 0 20px;font-size:17px}.stop-list>div{display:grid;grid-template-columns:55px 18px 1fr auto;gap:9px;align-items:start;min-height:46px;position:relative}.stop-list i{width:12px;height:12px;border:2px solid #b5bdc9;border-radius:50%;background:#fff;z-index:2}.stop-list>div:not(:last-child) i:after{content:"";position:absolute;left:69px;top:12px;height:38px;border-left:2px solid #b8d9cd}.stop-list .passed i,.stop-list .current i{border-color:#11a76e}.stop-list .passed i{background:#11a76e}.stop-list .current i{border-width:4px}.stop-list time{color:#5f687b}.stop-list em{padding:0;background:none;color:#18a973}.stop-list span{color:#687086;font-size:12px}.current-data>div{min-height:58px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f2;color:#687086}.current-data>div:last-child{border:0}.current-data b{color:#4d566b}.tracking-side-notes{display:grid;gap:16px}.baggage-card>div{display:flex;justify-content:space-between}.baggage-card p{color:#687086}.driver-note{padding:20px;border:1px solid #dbf1e7;border-radius:9px;background:#eefbf5}.driver-note h3{margin-top:0}.driver-note p{color:#687086}.driver-note a{display:inline-block;padding:10px;border:1px solid #7bc9ae;border-radius:6px;color:var(--green);font-weight:700}.tracking-status{position:sticky;top:18px;padding:22px}.tracking-status-title{display:flex;align-items:center;justify-content:space-between}.tracking-status-title h1{font-size:22px}.tracking-status>p{padding-bottom:18px;border-bottom:1px solid var(--line);color:#687086}.travel-status,.remaining,.tracking-driver{padding:5px 0 20px;border-bottom:1px solid var(--line)}.status-label{display:flex;gap:14px;color:#687086}.status-label>b{font-size:25px}.status-label small{display:block}.progress-track{height:5px;margin-top:14px;background:#e2e6e8}.progress-track i{display:block;width:66%;height:100%;background:var(--green)}.travel-status>small{color:#687086}.remaining>div{display:grid;grid-template-columns:1fr 1fr;gap:16px}.remaining span{display:grid;grid-template-columns:35px 1fr}.remaining span>b{grid-row:1/3;font-size:25px;color:#7a8398}.remaining small{color:#687086}.tracking-driver>div{display:flex;align-items:center;gap:10px}.driver-contact-actions{display:flex;gap:8px;margin-left:auto}.driver-contact-actions a{width:39px;height:39px;display:grid;place-items:center;border:1px solid #7bc9ae;border-radius:6px;color:var(--green)}.driver-contact-actions a:last-child{background:var(--green);color:#fff}.trip-details-button{display:block;margin-top:20px;padding:13px;border:1px solid #75c8ab;border-radius:6px;color:var(--green);text-align:center;font-weight:700}
@media(max-width:1100px){.tracking-layout{grid-template-columns:1fr}.tracking-status{position:static}.tracking-bottom-grid{grid-template-columns:1fr 1fr}.tracking-side-notes{grid-column:1/-1;grid-template-columns:1fr 1fr}}
@media(max-width:700px){.tracking-page{padding:20px 14px}.tracking-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.tracking-toolbar>div{flex-direction:column;gap:4px}.tracking-map{height:360px;min-height:360px}.tracking-bottom-grid{grid-template-columns:1fr}.tracking-side-notes{grid-column:auto;grid-template-columns:1fr}.stop-list>div{grid-template-columns:50px 16px 1fr}.stop-list>div>*:last-child{grid-column:3}.stop-list>div:not(:last-child) i:after{left:64px}.track-city{display:none}}

/* Parcel transfers page. */
.transfers-page{background:#f8faf9}.transfer-hero{min-height:440px;padding:55px 6%;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:radial-gradient(circle at 75% 40%,#c9f5e3,transparent 30%),linear-gradient(120deg,#fff,#effbf6 60%,#ddf3ed)}.transfer-hero h1{margin:0;font-size:42px;line-height:1.15}.transfer-hero p{margin:25px 0;color:#687086;font-size:18px}.transfer-hero ul{list-style:none;padding:0}.transfer-hero li{margin:20px 0;color:#596276}.transfer-hero li:first-letter{color:var(--green)}.parcel-visual{height:300px;position:relative}.parcel-visual>i{position:absolute;left:20%;top:28%;width:45%;height:40%;border:3px dashed #4bd6a6;border-radius:50%;transform:rotate(-15deg)}.parcel-pin{position:absolute;z-index:2;width:48px;height:58px;display:grid;place-items:center;background:#0bad76;color:#fff;clip-path:polygon(50% 0,95% 25%,87% 67%,50% 100%,13% 67%,5% 25%)}.parcel-pin.one{left:18%;top:50%}.parcel-pin.two{right:27%;top:6%}.parcel-box{position:absolute;right:8%;bottom:5%;width:210px;height:165px;display:grid;place-items:center;background:linear-gradient(135deg,#13b981,#038b61);color:#fff;transform:skewY(5deg);box-shadow:0 25px 35px #087a5940}.parcel-box:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:#ffffff24}.parcel-box b{font-size:46px}.parcel-visual small{position:absolute;right:10%;bottom:-14px;color:#3c8f74}.transfer-form{width:92%;margin:-10px auto 0;padding:30px;position:relative;z-index:3}.transfer-form h2{margin:0 0 28px}.transfer-form fieldset{min-width:0;padding:0;border:0}.transfer-form legend{margin-bottom:20px;font-size:17px;font-weight:700}.transfer-people{display:grid;grid-template-columns:1fr 1fr;gap:55px}.transfer-form label>span{display:block;margin-bottom:7px;color:#687086;font-size:12px}.transfer-form label{display:block;margin-bottom:17px}.transfer-form input,.transfer-form select,.transfer-form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.input-icon{display:grid;grid-template-columns:1fr 48px}.input-icon input{border-radius:6px 0 0 6px}.input-icon b{display:grid;place-items:center;border:1px solid var(--line);border-left:0;border-radius:0 6px 6px 0;color:#667086}.transfer-route-fields,.parcel-fields{margin-top:20px}.transfer-route-fields>div{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:35px}.parcel-fields-row{display:grid;grid-template-columns:1fr 1.1fr .42fr;gap:35px}.dimensions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.parcel-description{display:grid;grid-template-columns:1fr 220px;gap:20px}.parcel-description textarea{min-height:105px;resize:vertical}.declared-value{display:grid;grid-template-columns:1fr auto;padding:18px;border:1px solid var(--line);border-radius:6px}.declared-value span{grid-column:1/-1;color:#687086}.declared-value strong{font-size:21px;color:var(--green)}.transfer-price{display:grid;grid-template-columns:220px 1fr auto;gap:30px;align-items:center;margin:10px -30px -30px;padding:25px 30px;border-top:1px solid var(--line)}.transfer-price span{display:block;color:#687086}.transfer-price strong{font-size:27px;color:var(--green)}.transfer-price p{color:#858d9d}.transfer-benefits{padding:48px 5%}.transfer-benefits>h2{text-align:center}.transfer-benefits>div{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}.transfer-benefits article{padding:20px}.transfer-benefits article>b{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e3f8ef;color:var(--green);font-size:23px}.transfer-benefits h3{margin-bottom:5px}.transfer-benefits p{margin:0;color:#687086}
@media(max-width:900px){.transfer-hero{grid-template-columns:1fr}.parcel-visual{height:260px}.transfer-people{gap:25px}.transfer-route-fields>div,.parcel-fields-row{grid-template-columns:1fr 1fr}.transfer-benefits>div{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.transfer-hero{padding:38px 18px}.transfer-hero h1{font-size:32px}.parcel-visual{display:none}.transfer-form{width:calc(100% - 28px);padding:20px}.transfer-people,.transfer-route-fields>div,.parcel-fields-row,.parcel-description{grid-template-columns:1fr}.transfer-price{grid-template-columns:1fr;margin:10px -20px -20px;padding:20px}.transfer-price .btn{width:100%}.transfer-benefits>div{grid-template-columns:1fr}}

/* My parcel transfers page. */
.my-transfers-page{padding:42px 4% 60px;background:#f8fafb}.my-transfers-heading{display:flex;align-items:flex-end;justify-content:space-between}.my-transfers-heading h1{margin:0 0 8px}.my-transfers-heading p{margin:0;color:var(--muted)}.parcel-tabs{display:flex;gap:45px;margin-top:38px;border-bottom:1px solid var(--line)}.parcel-tabs button{position:relative;padding:15px 0;border:0;background:none;color:#778093;font-weight:700;cursor:pointer}.parcel-tabs button.active{color:#273047}.parcel-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#26bc88}.parcel-filters{display:flex;gap:14px;margin:22px 0}.parcel-filters select,.parcel-filters button{min-width:190px;padding:13px 18px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#596176;font-weight:600}.parcel-list{display:grid;gap:17px}.parcel-list-card{min-height:205px;padding:25px;display:grid;grid-template-columns:125px minmax(360px,1.25fr) minmax(230px,.75fr) 220px 180px;gap:20px;align-items:center}.parcel-list-card>em{align-self:start;justify-self:start;white-space:nowrap}.parcel-list-card>em.yellow{background:#fff3d8;color:#e59a0b}.parcel-main h2{margin:0 0 28px;font-size:19px}.parcel-main h3{margin:0 0 30px;font-size:17px}.parcel-route-dates{display:grid;grid-template-columns:1fr 35px 1fr;gap:12px;align-items:center}.parcel-route-dates div>*{display:block}.parcel-route-dates span,.parcel-recipient>span{margin-bottom:7px;color:#7b8496}.parcel-route-dates small,.parcel-recipient small,.parcel-item small{margin-top:6px;color:#687086}.parcel-recipient>*{display:block}.parcel-item{display:flex;align-items:center;gap:13px}.parcel-item>div>*{display:block}.parcel-item-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:#eeeae4;color:#776b5e;font-size:21px}.parcel-card-end{height:100%;display:grid;grid-template-rows:auto 1fr auto;justify-items:end}.parcel-card-end small{color:#9aa1af;white-space:nowrap}.parcel-card-end strong{align-self:end;font-size:22px;color:var(--green)}.parcel-card-end button{padding:12px 18px;border:0;border-radius:7px;background:#f3f5f6;color:#555e71;font-weight:700}.parcel-tip{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-top:24px;padding:16px 22px;border:1px solid #cdd8fb;border-radius:7px;background:#f4f6ff;color:#637ed1}.parcel-tip p{margin:0}.parcel-tip button{border:0;background:none;color:#637ed1;font-size:24px}.empty-parcel-panel{padding:60px;text-align:center;border:1px dashed #bdc7c4;border-radius:9px;background:#fff;color:#687086}
@media(max-width:1250px){.parcel-list-card{grid-template-columns:100px 1.2fr .8fr 170px}.parcel-item{grid-column:3}.parcel-card-end{grid-column:4;grid-row:1/3}}
@media(max-width:850px){.my-transfers-heading{align-items:flex-start;flex-direction:column;gap:20px}.parcel-list-card{grid-template-columns:auto 1fr}.parcel-main{grid-column:2}.parcel-recipient,.parcel-item{grid-column:2}.parcel-card-end{grid-column:1/-1;grid-row:auto;height:auto;display:flex;align-items:center;justify-content:space-between}.parcel-card-end strong{align-self:auto}.parcel-card-end small{display:none}}
@media(max-width:550px){.my-transfers-page{padding:28px 14px}.parcel-tabs{gap:22px;overflow-x:auto}.parcel-filters{flex-direction:column}.parcel-filters>*{width:100%}.parcel-list-card{grid-template-columns:1fr;padding:19px}.parcel-list-card>*{grid-column:auto!important}.parcel-route-dates{grid-template-columns:1fr}.parcel-route-dates>strong{transform:rotate(90deg);justify-self:start}.parcel-card-end{flex-wrap:wrap}.parcel-card-end button{width:100%}}

/* Passenger public/dashboard profile. */
.passenger-profile-link{grid-column:1/-1;color:var(--green);text-align:center;font-weight:700}.passenger-profile-page{display:grid;grid-template-columns:270px minmax(0,1fr) 285px;gap:18px;padding:25px 4%;background:#f8fafb}.passenger-sidebar,.passenger-saved{display:grid;align-content:start;gap:18px}.passenger-identity{padding:25px;text-align:center}.passenger-photo{width:112px;height:112px;display:grid;place-items:center;margin:0 auto 15px;border-radius:50%;background:linear-gradient(145deg,#dce9e5,#9fbcaf);box-shadow:inset 0 0 0 5px #fff;color:#075b43;font-size:30px;font-weight:800}.passenger-identity h1{margin:7px 0}.passenger-identity p{margin:5px;color:#687086}.passenger-identity em{display:table;margin:17px auto}.passenger-identity>a{display:block;margin-top:15px;padding:11px;border:1px solid var(--line);border-radius:6px;background:#f6f7f8;color:#50596d;font-weight:700}.passenger-indicators{padding:22px}.passenger-indicators h2{margin-top:0;font-size:18px}.passenger-indicators>div{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid #edf0f2;color:#697187}.passenger-indicators>div:last-child{border:0}.passenger-indicators b{color:#343d51}.passenger-dashboard{min-width:0;display:grid;align-content:start;gap:18px}.passenger-stats{padding:20px}.passenger-stats h2{margin:0 0 18px;font-size:18px}.passenger-stats>div{display:grid;grid-template-columns:repeat(4,1fr)}.passenger-stats span{padding:7px;text-align:center;border-right:1px solid var(--line)}.passenger-stats span:last-child{border:0}.passenger-stats b,.passenger-stats small{display:block}.passenger-stats b{font-size:23px}.passenger-stats small{color:#687086}.passenger-recent{padding:20px}.dashboard-heading{display:flex;justify-content:space-between;align-items:center}.dashboard-heading h2{font-size:18px}.dashboard-heading a{color:var(--green);font-size:12px}.passenger-trip-row{display:grid;grid-template-columns:1.4fr auto 1fr auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #edf0f2}.passenger-trip-row span:first-child>*{display:block}.passenger-trip-row small{margin-top:4px;color:#687086}.passenger-trip-row strong{color:var(--green)}.all-passenger-trips{display:block;margin-top:18px;text-align:right;color:var(--green)}.passenger-access h2{font-size:18px}.passenger-access>div{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.passenger-access a{min-height:90px;padding:14px;display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:center}.passenger-access a>b{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;background:#edf7f3;color:var(--green)}.passenger-access a span>*{display:block}.passenger-access small{margin-top:4px;color:#687086;font-size:10px}.passenger-access i{font-style:normal;font-size:22px}.saved-routes,.saved-passengers{padding:20px}.saved-routes h2,.saved-passengers h2{margin-top:0;font-size:18px}.saved-routes>a{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf0f2;font-size:12px}.saved-routes>a.all-saved,.saved-passengers>a.all-saved{display:block;border:0;color:var(--green);font-weight:700}.saved-passengers>a{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:9px 0}.saved-passengers a span>*{display:block}.saved-passengers small{color:#687086}.saved-passengers i{font-style:normal}
@media(max-width:1150px){.passenger-profile-page{grid-template-columns:230px 1fr}.passenger-saved{grid-column:1/-1;grid-template-columns:1fr 1fr}.passenger-access>div{grid-template-columns:1fr 1fr}}
@media(max-width:750px){.passenger-profile-page{grid-template-columns:1fr;padding:20px 14px}.passenger-saved{grid-column:auto;grid-template-columns:1fr}.passenger-trip-row{grid-template-columns:1fr auto}.passenger-trip-row>span:nth-child(3){display:none}.passenger-access>div{grid-template-columns:1fr}.passenger-stats>div{grid-template-columns:1fr 1fr}.passenger-stats span:nth-child(2){border-right:0}}

/* Help center and FAQ page. */
.faq-page{background:#f8fafb}.faq-hero{height:245px;position:relative;padding:25px 5%;overflow:visible;background:linear-gradient(110deg,#f5fffa,#e3f5f0 48%,#dceef9)}.faq-intro{position:relative;z-index:2}.breadcrumbs{display:flex;gap:13px;color:#697187;font-size:12px}.breadcrumbs b{font-weight:500}.faq-intro h1{margin:16px 0 8px;font-size:32px}.faq-intro p{margin:0;color:#566075}.faq-landscape{position:absolute;inset:0 0 0 48%;overflow:hidden}.faq-hills{position:absolute;right:-5%;bottom:-50px;width:105%;height:180px;border-radius:50% 50% 0 0;background:linear-gradient(160deg,#d5eddf,#afd6bd);transform:rotate(-5deg)}.faq-train{position:absolute;right:10%;bottom:78px;z-index:2;padding:7px 20px;border-bottom:6px solid #90a9ad;color:#e7eff0;word-spacing:7px;transform:rotate(-2deg)}.faq-cloud{position:absolute;width:85px;height:25px;border-radius:30px;background:#ffffffa3}.faq-cloud:before,.faq-cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.faq-cloud:before{width:38px;height:38px;left:14px;bottom:0}.faq-cloud:after{width:50px;height:50px;right:4px;bottom:0}.faq-cloud.c1{right:25%;top:30px}.faq-cloud.c2{right:5%;top:65px;transform:scale(.65)}.faq-landscape small{position:absolute;right:10px;bottom:5px;color:#73a08f}.faq-search{position:absolute;left:25%;right:24%;bottom:-20px;z-index:5;height:62px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;padding:8px 10px 8px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow);color:#697187}.faq-search input{min-width:0;border:0;outline:0}.faq-search button{min-width:150px}.faq-content{padding:55px 5% 28px}.faq-categories{display:grid;grid-template-columns:repeat(5,1fr);gap:17px}.faq-categories>a{min-height:115px;padding:18px;display:grid;grid-template-columns:55px 1fr auto;gap:10px;align-items:start}.faq-categories>a>b{font-size:38px;color:#0da870}.faq-categories span>*{display:block}.faq-categories small{margin-top:6px;color:#667085;font-size:11px}.faq-categories i{align-self:center;font-style:normal;font-size:24px}.faq-main-grid{display:grid;grid-template-columns:1.25fr .95fr .75fr;gap:18px;margin-top:18px}.popular-questions,.useful-articles,.faq-support{padding:20px}.popular-questions h2,.useful-articles h2,.faq-support h2{margin:0 0 14px;font-size:18px}.popular-questions button{display:flex;justify-content:space-between}.popular-questions button.open{border-left:3px solid #16b57a;background:#e7f8f0}.popular-questions p{margin:0;padding:12px 15px;border-bottom:1px solid var(--line)}.popular-questions p a{display:inline-block;margin-top:10px;color:var(--green)}.all-faq{display:inline-block;margin-top:14px;color:var(--green);font-weight:700}.faq-section-heading{display:flex;justify-content:space-between}.faq-section-heading>a{color:var(--green)}.useful-articles>a{display:grid;grid-template-columns:110px 1fr;gap:15px;margin:14px 0}.useful-articles a span>*{display:block}.useful-articles small{margin-top:5px;color:#687086}.useful-articles em{padding:0;margin-top:6px;background:none;color:#687086}.article-image{min-height:72px;display:grid;place-items:center;border-radius:6px;color:#235b4b;font-size:10px;background:linear-gradient(145deg,#cce7da,#91b9a5)}.article-image.payment{background:linear-gradient(145deg,#d8eee4,#b5d0c3)}.article-image.luggage{background:linear-gradient(145deg,#dac9a8,#927355);color:#fff}.support-title{display:flex;gap:13px}.support-title>b{font-size:28px;color:var(--green)}.support-title p{color:#687086;font-size:12px}.faq-support>a{display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:7px}.faq-support>a+a{margin-top:9px}.faq-support>a>b{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e8f8f1;color:var(--green)}.faq-support a span>*{display:block}.faq-support a small{color:#687086}.faq-support a i{font-style:normal;font-size:22px}
@media(max-width:1100px){.faq-categories{grid-template-columns:repeat(3,1fr)}.faq-main-grid{grid-template-columns:1fr 1fr}.faq-support{grid-column:1/-1}.faq-support{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.support-title{grid-column:1/-1}.faq-support>a+a{margin:0}}
@media(max-width:720px){.faq-hero{height:310px;padding:22px 16px}.faq-landscape{inset:105px 0 0 25%;opacity:.65}.faq-search{left:15px;right:15px;bottom:-25px}.faq-content{padding:60px 14px 25px}.faq-categories{grid-template-columns:1fr 1fr}.faq-main-grid{grid-template-columns:1fr}.faq-support{grid-column:auto;display:block}.faq-support>a+a{margin-top:9px}}
@media(max-width:470px){.faq-intro h1{font-size:27px}.faq-intro p{font-size:12px}.faq-search{grid-template-columns:25px 1fr}.faq-search button{grid-column:1/-1;width:100%;min-width:0;margin-top:12px}.faq-search{height:auto}.faq-categories{grid-template-columns:1fr}.useful-articles>a{grid-template-columns:85px 1fr}}
.searchbar .swap-btn{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:7px;background:#f5f7fa;color:#687086;cursor:pointer}
.searchbar .swap-btn .icon{width:18px;height:18px}
.searchbar .passenger-field{position:relative;padding-right:23px}
.searchbar .passenger-field>.icon{position:absolute;right:0;top:50%;transform:translateY(-50%);color:#687086}
.searchbar .btn{gap:9px;white-space:nowrap}
.searchbar .btn .icon{width:20px;height:20px}
@media(max-width:900px){.searchbar>label:not(:first-child){border-left:0;padding-left:0}.searchbar .swap-btn{display:none}}

/* P1 connected states. */
.hero-search-only{height:auto;min-height:210px;display:flex;align-items:center;padding-top:55px;padding-bottom:55px}
.hero-search-only:before,.hero-search-only:after{display:none}
.hero-search-only .searchbar{width:100%;margin:0}
.ui-state{grid-column:1/-1;min-height:120px;padding:35px;display:grid;place-items:center;border:1px dashed #bfc9c6;border-radius:7px;background:#fff;color:var(--muted);text-align:center}
.error-state{color:#a02929;background:#fff7f7;border-color:#e5bcbc}
.form-status{min-height:24px;margin:14px 0;color:var(--muted)}
.auth-form button:disabled,.trip-booking button:disabled,.show-more:disabled,.nav-button:disabled{cursor:wait;opacity:.6}
.search-results-wide{max-width:1120px;margin:28px auto 45px}
.search-results-wide .results-head{border-radius:7px;margin-bottom:14px}
.search-results-wide #search-results-list{gap:14px}
.nav-button{width:100%;display:flex;align-items:center;gap:13px;padding:15px 16px;border:0;border-radius:7px;background:none;color:#697187;font-weight:600;text-align:left;cursor:pointer}
.nav-button:hover{color:var(--green);background:#f0faf6}
.nav-button span{width:22px;text-align:center;font-size:19px}
.profile-error{margin-top:20px;padding:18px;border:1px solid #e5bcbc;border-radius:7px}
.payment-notice{padding:12px;border-left:3px solid var(--green);background:#eefaf5;color:#3c5c52}
.trip-booking .btn[disabled]{background:#8f9895}
.full-route{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.full-route h3{margin:0 0 14px;font-size:17px}.trip-stop-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.trip-stop-list li{position:relative;display:grid;grid-template-columns:70px 1fr;gap:16px;min-height:62px;padding:7px 0 15px 21px}.trip-stop-list li:before{content:"";position:absolute;left:4px;top:12px;width:9px;height:9px;border:2px solid #8a9994;border-radius:50%;background:#fff}.trip-stop-list li:not(:last-child):after{content:"";position:absolute;left:9px;top:25px;bottom:-2px;width:1px;background:#cdd7d4}.trip-stop-list li.selected:before{border-color:var(--green);background:var(--green)}.trip-stop-list time{font-weight:800}.trip-stop-list div{display:grid;gap:3px}.trip-stop-list small{color:var(--muted)}.trip-stop-list .route-stop-empty{display:block;padding-left:0;color:var(--muted)}.trip-stop-list .route-stop-empty:before,.trip-stop-list .route-stop-empty:after{display:none}
footer{grid-template-columns:1.3fr repeat(3,1fr)}
@media(max-width:900px){.hero-search-only{min-height:0;padding:28px 18px}.search-page-form{height:auto;grid-template-columns:1fr 1fr}.search-results-wide{margin-top:20px}.settings-nav .nav-button{width:auto;white-space:nowrap}.search-trip{grid-template-columns:1fr .7fr 1fr 1fr}.trip-action{grid-column:4}}
@media(max-width:800px){.search-trip{grid-template-columns:1fr .6fr 1fr}.trip-action{grid-column:1/-1}}
@media(max-width:560px){.search-page-form{grid-template-columns:1fr}footer{grid-template-columns:1fr}.auth{margin:18px 14px}.auth-art{display:none}.auth-form{border-radius:8px}.profile-person{grid-template-columns:72px 1fr}.personal-data dl{grid-template-columns:1fr}.personal-data dd{margin-bottom:12px}}

/* Connected account workflows. */
.auth-links{display:flex;justify-content:space-between;gap:18px;margin-top:18px}.auth-links a,.text-link,.consent-item a{color:var(--green);font-weight:700}.consent-list{display:grid;gap:10px;margin:20px 0}.consent-item{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;color:#515a70}.consent-item input{margin-top:4px}.recovery-page{min-height:620px;padding:40px 5%;background:#f7f9fa}.recovery-panel{max-width:650px;margin:0 auto;padding:30px}.recovery-panel h1{margin:8px 0 24px}.stack-form{display:grid;gap:12px}.stack-form .field{margin:0}.stack-form .btn{justify-self:start}.recovery-confirm{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.recovery-confirm summary{cursor:pointer;color:var(--green);font-weight:700}.recovery-confirm form{margin-top:18px}.profile-edit{margin-top:20px;padding:25px}.profile-edit .card-heading p{margin:5px 0 18px;color:var(--muted)}.profile-edit .field{max-width:520px}.profile-edit .btn{margin-top:14px}
.profile-security{margin-top:20px;padding:25px}.security-heading p{max-width:620px;margin:5px 0 0;color:var(--muted)}.security-status{padding:6px 9px;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-weight:700}.security-status.enabled{border-color:#a9d7c7;background:#e8f7f1;color:#116047}.security-form{display:grid;gap:12px;max-width:620px;margin-top:20px}.security-form .field{margin:0}.security-form .btn{justify-self:start}.security-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mfa-enrollment{margin-top:20px;padding:18px;border-left:4px solid var(--green);background:#f1f8f5}.mfa-enrollment>p{color:var(--muted)}.mfa-secret{display:block;padding:12px;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line);font-size:15px}.mfa-recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0 0;padding:0;list-style:none}.mfa-recovery-codes li{padding:9px;border:1px solid var(--line);background:#fff;font-family:monospace;text-align:center}
@media(max-width:560px){.auth-links{align-items:flex-start;flex-direction:column}.recovery-page{padding:20px 14px}.recovery-panel{padding:22px}.stack-form .btn{width:100%}.profile-edit,.profile-security{padding:20px}.security-heading{align-items:flex-start;flex-direction:column}.security-fields,.mfa-recovery-codes{grid-template-columns:1fr}.security-form .btn{width:100%}}

/* P3 booking workflow. */
.booking-seats-field{display:grid;gap:7px;margin:18px 0;color:var(--muted);font-weight:600}
.booking-seats-field input{width:100%;padding:11px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
.booking-flow-page,.my-bookings-page,.connected-ticket-page{max-width:1120px;min-height:calc(100vh - 76px);margin:auto;padding:36px 24px 60px}
.booking-flow-page>.back-link,.connected-ticket-page>.back-link{display:inline-block;margin-bottom:22px;color:var(--green);font-weight:700}
.booking-flow-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:22px;align-items:start}
.booking-summary,.booking-confirm-panel,.booking-result,.connected-ticket{padding:26px}
.booking-summary h1,.connected-ticket h1{margin:18px 0 24px;font-size:26px}
.booking-summary dl,.ticket-facts{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);gap:12px 18px;margin:0}
.booking-summary dt,.ticket-facts dt{color:var(--muted)}
.booking-summary dd,.ticket-facts dd{margin:0;font-weight:700}
.booking-status-row{display:flex;justify-content:space-between;gap:12px;align-items:center}
.status-pill{display:inline-flex;width:max-content;padding:6px 10px;border-radius:4px;background:#e8f7f1;color:var(--green);font-size:12px;font-style:normal;font-weight:800}
.hold-countdown{margin-top:20px;padding:13px;border-left:3px solid #e3a11a;background:#fff8e8;color:#765819;font-weight:700}
.booking-confirm-panel h2,.booking-result h2{margin-top:0}
.booking-confirm-panel>p,.booking-result>p{color:var(--muted)}
.booking-confirm-form{display:grid;gap:16px;margin-top:24px}
.booking-confirm-form label{display:grid;gap:7px;color:var(--muted);font-weight:600}
.booking-confirm-form input{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
.form-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#passenger-fields{display:grid;gap:13px;padding-top:7px;border-top:1px solid var(--line)}
#workspace-links{display:grid;gap:4px}
#workspace-links a{padding:13px 16px;border-radius:6px;color:#4d566a;font-weight:700}
#workspace-links a:hover{background:#f0faf6;color:var(--green)}
.my-bookings-page>.section-title{align-items:flex-end}
.my-bookings-page>.section-title h1{margin:0 0 5px}
.my-bookings-page>.section-title p{margin:0;color:var(--muted)}
.booking-tabs{display:flex;gap:30px;margin:30px 0 20px;border-bottom:1px solid var(--line)}
.booking-tabs button{padding:12px 0;border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);font-weight:700;cursor:pointer}
.booking-tabs button.active{border-color:var(--green);color:var(--ink)}
.my-bookings-list{display:grid;gap:14px}
.my-booking-card{display:grid;grid-template-columns:130px minmax(230px,1fr) minmax(200px,.8fr) 130px auto;gap:18px;align-items:center;padding:20px}.my-booking-card>.status-pill{grid-column:1;grid-row:1/3}.my-booking-card>h2{grid-column:2;grid-row:1}.my-booking-card>p:not(.booking-execution-state){grid-column:2;grid-row:2}.my-booking-card>.booking-execution-state{grid-column:3;grid-row:1/3}.my-booking-card>strong{grid-column:4;grid-row:1/3}.my-booking-card>a{grid-column:5;grid-row:1/3}
.my-booking-card h2,.my-booking-card p{margin:0}
.my-booking-card p{color:var(--muted)}
.connected-ticket{max-width:820px;margin:auto}
.ticket-route-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:center;margin:25px 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ticket-route-grid section{display:grid;gap:4px}.ticket-route-grid small{color:var(--muted)}.ticket-route-grid strong{font-size:18px}
.ticket-actions{display:flex;justify-content:flex-end;margin-top:22px}
.ticket-boarding{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.ticket-boarding h2{margin:0 0 12px;font-size:18px}.ticket-boarding>div{display:grid;gap:8px}.ticket-boarding>div>div{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:10px;border:1px solid var(--line)}.ticket-boarding>small{display:block;margin-top:12px;color:var(--muted)}.passenger-status-boarded{background:#dff4eb;color:#086747}.passenger-status-no_show{background:#fbe4e4;color:#962f2f}.booking-execution-state{font-weight:700;color:var(--ink)!important}
.ticket-progress{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.ticket-progress h2{margin:0 0 14px;font-size:18px}.ticket-progress>p{margin:13px 0 0;color:var(--muted);font-size:12px}.ticket-progress>div{display:grid}.ticket-progress>div>div{position:relative;display:grid;grid-template-columns:18px 1fr;gap:12px;min-height:72px}.ticket-progress i{width:10px;height:10px;margin-top:5px;border:2px solid #91a09b;border-radius:50%;background:#fff}.ticket-progress>div>div:not(:last-child):after{content:"";position:absolute;left:4px;top:18px;bottom:0;width:1px;background:#d1dad7}.ticket-progress>div>div.confirmed i{border-color:var(--green);background:var(--green)}.ticket-progress>div>div>div{display:grid;gap:3px;padding-bottom:16px}.ticket-progress span{color:var(--ink);font-weight:700}.ticket-progress small{color:var(--muted)}.ticket-progress .timeline-empty{display:block;min-height:0;padding:10px 0;color:var(--muted)}
@media(max-width:850px){.booking-flow-grid{grid-template-columns:1fr}.my-booking-card{grid-template-columns:110px 1fr auto}.my-booking-card>.status-pill{grid-column:1;grid-row:1/4}.my-booking-card>h2,.my-booking-card>p:not(.booking-execution-state),.my-booking-card>.booking-execution-state{grid-column:2;grid-row:auto}.my-booking-card>strong{grid-column:2;grid-row:auto}.my-booking-card>a{grid-column:3;grid-row:1/4}}
@media(max-width:560px){.booking-flow-page,.my-bookings-page,.connected-ticket-page{padding:24px 14px 45px}.form-grid-two{grid-template-columns:1fr}.booking-summary dl,.ticket-facts{grid-template-columns:1fr}.booking-summary dd,.ticket-facts dd{margin-bottom:8px}.my-bookings-page>.section-title{align-items:stretch}.my-bookings-page>.section-title .btn{margin-top:15px}.booking-tabs{gap:20px;overflow:auto}.my-booking-card{grid-template-columns:1fr}.my-booking-card>*{grid-column:auto!important;grid-row:auto!important}.ticket-route-grid{grid-template-columns:1fr}.ticket-route-grid>span{transform:rotate(90deg);justify-self:start}}
