#tariff-list-container .city-book-3d{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:10px;padding:10px 20px;border:1px solid #b48a00;border-radius:13px;background:linear-gradient(180deg,#ffe77a 0%,#ffd029 55%,#efbd00 100%);color:#171717;font-family:inherit;font-weight:700;font-size:15px;line-height:1.2;cursor:pointer;box-shadow:0 5px 0 #a87e00,0 8px 13px #0002;transition:transform .12s,box-shadow .12s}#tariff-list-container .city-book-3d:hover{filter:brightness(1.04);transform:translateY(-1px)}#tariff-list-container .city-book-3d:active{transform:translateY(4px);box-shadow:0 1px 0 #a87e00}#tariff-list-container .city-book-3d:focus-visible{outline:3px solid #5d7261;outline-offset:5px}#tariff-list-container .eco-tariff-price{white-space:normal;text-align:right}#city-booking-draft label{display:block;margin:14px 0}#city-booking-draft input{display:block;box-sizing:border-box;width:100%;min-height:44px;padding:10px;border:1px solid #cbd1cc;border-radius:9px}@media(prefers-reduced-motion:reduce){#tariff-list-container .city-book-3d{transition:none}}

/* Compact fare cards; reserve an unbroken line for the full price range. */
#tariff-list-container{display:grid;gap:12px;align-content:start;grid-auto-rows:max-content}
#tariff-list-container .eco-tariff-option{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;align-content:start;grid-auto-rows:max-content;height:auto;min-height:0;box-sizing:border-box;gap:6px 12px;padding:16px!important;margin:0!important;border:1px solid #e1e5e2;border-radius:18px;background:#fff;box-shadow:0 2px 8px #00000005}
#tariff-list-container .eco-tariff-icon{grid-column:1;grid-row:1 / 4;width:40px;height:40px;margin:0;background:#f3f4f5;border-radius:50%;display:flex;align-items:center;justify-content:center}
#tariff-list-container .journey-fare-text{display:contents}
#tariff-list-container .eco-tariff-name{grid-column:2;grid-row:1;font-size:18px!important;line-height:1.3;color:#111;font-weight:750}
#tariff-list-container .eco-tariff-price{grid-column:2;grid-row:2;justify-self:start;white-space:nowrap!important;max-width:none!important;width:auto;min-width:0;text-align:left;font-size:21px!important;line-height:1.3;letter-spacing:-.35px;color:#111;font-weight:750}
#tariff-list-container .eco-tariff-desc{grid-column:2;grid-row:3;font-size:12px!important;line-height:1.5;color:#66707d;max-width:60ch}
#tariff-list-container .city-book-3d{min-height:44px;margin-top:12px;padding:10px 18px;border-radius:12px;font-size:14px;box-shadow:0 3px 0 #a87e00,0 5px 8px #00000012}
@media(min-width:600px){#tariff-list-container .eco-tariff-option{grid-template-columns:40px minmax(0,1fr) max-content;gap:8px 14px}#tariff-list-container .eco-tariff-price{grid-column:3;grid-row:1 / 3;justify-self:end;text-align:right;font-size:22px!important}#tariff-list-container .eco-tariff-desc{grid-row:2}}
@media(max-width:360px){#tariff-list-container .eco-tariff-option{padding:12px!important;gap:6px 8px;grid-template-columns:34px minmax(0,1fr)}#tariff-list-container .eco-tariff-icon{width:34px;height:34px}#tariff-list-container .eco-tariff-name{font-size:16px!important}#tariff-list-container .eco-tariff-price{font-size:18px!important}}

#city-booking-draft input[type=checkbox]{display:inline-block;width:18px;min-height:18px;vertical-align:middle;margin-right:8px}

/* One distinct, generous booking target directly below each fare. */
#tariff-list-container .city-fare-action{grid-column:2;grid-row:3;display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0;margin-top:4px}
#tariff-list-container .city-fare-action .eco-tariff-price{display:block;text-align:left;font-size:20px!important}
#tariff-list-container .city-fare-action .city-book-3d{display:flex;width:100%;box-sizing:border-box;min-height:52px;min-width:160px;margin:0;padding:14px 20px;font-size:16px;touch-action:manipulation}
#tariff-list-container .eco-tariff-desc{grid-column:2;grid-row:2}
@media(min-width:600px){#tariff-list-container .city-fare-action{grid-column:3;grid-row:1 / 3;align-self:start;margin-top:0;min-width:180px}#tariff-list-container .city-fare-action .eco-tariff-price{text-align:right}#tariff-list-container .eco-tariff-desc{grid-row:2}}
@media(max-width:360px){#tariff-list-container .city-fare-action .eco-tariff-price{font-size:18px!important}#tariff-list-container .city-fare-action .city-book-3d{min-width:0}}

#main-bottom-nav.app-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #e9ece9;border-radius:22px 22px 0 0;background:#fffffff5;box-shadow:0 -3px 18px #00000008}
#main-bottom-nav .app-nav-item{min-width:0;min-height:48px;padding:4px 2px;border:0;border-radius:14px;font-size:11px!important;font-weight:600;letter-spacing:0;text-transform:none;color:#66717e;gap:4px;touch-action:manipulation}
#main-bottom-nav .app-nav-item[hidden]{display:none!important}
#main-bottom-nav .app-nav-item i{font-size:19px;width:34px;height:24px;background:transparent;box-shadow:none;transform:none}
#main-bottom-nav .app-nav-item.active{background:#fff4bf;color:#141414;font-weight:750}
#main-bottom-nav .app-nav-item.active i{background:transparent;color:#141414;box-shadow:none;transform:none}
#main-bottom-nav .app-nav-item:focus-visible{outline:3px solid #5e7361;outline-offset:-3px}
@media(max-width:360px){#main-bottom-nav .app-nav-item{font-size:10px!important}#main-bottom-nav.app-bottom-nav{gap:2px;padding-left:5px;padding-right:5px}}

/* Four complete transfer steps, each with one scrolling form and a fixed action. */
#main-card .flow-heading{display:none}
#main-card .flow-body .journey-options{display:block;border:0;margin:10px 0}
#main-card .flow-body .journey-options>summary{pointer-events:none;background:transparent;border:0;padding:0!important;font-weight:700}
#main-card .flow-body .journey-options>summary::after{content:none}
#main-card .flow-body .input-field-3d{font-size:16px!important}
#main-card .flow-footer button{min-height:52px!important;font-size:16px!important;border-radius:14px!important;touch-action:manipulation}
#main-card .flow-body #air-list,#main-card .flow-body #payment-list{max-height:280px}
#main-card #work-transfer-price{padding:12px;border:1px solid #e7eae7;border-radius:14px;background:#f8f9f9;margin-bottom:12px}
#main-card .journey-review-list{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);gap:7px 12px}
#main-card .flow-review-row{display:contents}
#main-card .journey-review-list dd{overflow-wrap:anywhere}
/* City pickup: location action occupies its own column beside the address. */
#economy-card .city-route-origin > div:has(> #v-eco-adr){display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;gap:8px!important;align-items:center!important}
#economy-card #v-eco-adr{width:100%!important;min-width:0!important;box-sizing:border-box!important;padding-right:12px!important}
#economy-card .city-route-origin > div:has(> #v-eco-adr) > button{position:static!important;inset:auto!important;width:44px!important;height:45px!important;min-width:44px!important;margin:0!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;touch-action:manipulation}
#economy-card #v-eco-locate-icon{font-size:17px!important}

/* City addresses remain in their original route rows, also while typing. */
#economy-card #city-route-fields .city-route-row:has(.work-suggestions:not([hidden])){display:block!important;max-height:none!important}
#economy-card #city-route-fields .work-suggestions:not([hidden]){position:static!important;display:block!important;flex:none!important;min-height:0;max-height:var(--city-options-height,220px)!important;overflow-y:auto!important;overscroll-behavior:contain;touch-action:pan-y;margin:7px 0 4px!important;border:1px solid #dde1de;border-radius:10px;background:#fff;box-shadow:0 3px 12px #0000000a}
#economy-card #city-route-fields .work-suggestions button[role=option]{min-height:52px!important;padding:9px 11px!important;white-space:normal;line-height:1.35}
#economy-card #city-route-fields .work-suggestions button[role=option] small{font-size:12px!important;line-height:1.35}
#economy-card#economy-card.city-inline-keyboard:not(.flow-map-view){top:var(--city-visible-top,0px)!important;height:var(--city-visible-height,100dvh)!important;max-height:var(--city-visible-height,100dvh)!important;bottom:auto!important}
#economy-card#economy-card.city-inline-keyboard:not(.flow-map-view) #city-hero-map{display:none!important}
#economy-card#economy-card.city-inline-keyboard .flow-footer{display:none!important}
#economy-card#economy-card.city-inline-keyboard>.panel-left{margin:0!important;border-radius:0!important;padding:10px 14px!important}
#economy-card#economy-card.city-inline-keyboard .flow-body{overflow-y:auto!important}
#economy-card#economy-card.city-inline-keyboard #city-route-fields{padding:8px 10px!important}
#economy-card#economy-card.city-inline-keyboard #city-route-fields .city-route-row{margin-bottom:12px!important}
#economy-card#economy-card.city-inline-keyboard .flow-heading{margin:0 0 8px}
#economy-card#economy-card.city-inline-keyboard .flow-heading h3{font-size:18px}


.city-registration-dialog{width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow-y:auto;box-sizing:border-box}.city-registration-dialog h2{font-size:24px;line-height:1.2}.city-registration-dialog form{display:grid;gap:12px}.city-registration-dialog label{display:grid;gap:5px}.city-registration-dialog input,.city-registration-dialog select{width:100%;box-sizing:border-box;min-height:44px;font-size:16px;padding:10px;border:1px solid #ddd;border-radius:12px}.city-registration-postal{display:grid;grid-template-columns:100px 1fr;gap:10px}.city-registration-dialog .muted{font-size:13px;line-height:1.45}
.city-registration-phone{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px}.city-registration-address .work-suggestions:not([hidden]){position:static!important;display:block!important;max-height:220px!important;overflow:auto!important;margin-top:6px!important}.city-registration-address .work-suggestions button{width:100%;white-space:normal;text-align:left;min-height:48px}.city-registration-dialog input[readonly]{background:#f8f9f8;color:#465649}.city-registration-address{scroll-margin-top:12px}

.city-registration-dialog input[aria-invalid="true"]{border:2px solid #c62828;background:#fff5f5}.city-registration-dialog .city-phone-error{color:#b42318;font-size:12px;line-height:1.35}

/* City fare selection: content sizes the sheet; the map takes unused space. */
#economy-card.city-fares-visible:not(.flow-map-view){top:0!important;box-sizing:border-box!important;height:var(--app-height,100dvh)!important;max-height:var(--app-height,100dvh)!important;min-height:0!important;overflow:hidden!important;display:flex;flex-direction:column}
#economy-card#economy-card.city-fares-visible:not(.flow-map-view) #city-hero-map{display:block!important;flex:1 1 0!important;height:auto!important;min-height:96px!important;max-height:none!important}
#economy-card.city-fares-visible:not(.flow-map-view)>.panel-left{display:flex!important;flex-direction:column;flex:0 1 auto!important;box-sizing:border-box!important;min-height:0;height:auto!important;max-height:none!important;margin:0!important;padding:14px 16px calc(78px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;border-radius:24px 24px 0 0!important}
#economy-card.city-fares-visible{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;color:#17191c}
.city-fares-visible button{font-family:inherit}
.city-fares-visible .journey-header{flex:none;margin:0 0 10px!important;padding:0!important;gap:10px}
.city-fares-visible .journey-header h2{font-size:22px!important;font-weight:650!important;line-height:1.2;letter-spacing:-.55px;margin:0!important}
.city-fares-visible .journey-eyebrow{font-size:11px!important;font-weight:500!important;letter-spacing:.15px;color:#67717b;margin:0 0 3px!important}
.city-fares-visible .journey-back,.city-fares-visible .flow-map-open{height:40px!important;min-height:40px!important;padding:8px!important;font-size:12px!important;font-weight:500}
#economy-card.city-fares-visible #eco-tariff-section{display:flex;flex-direction:column;flex:0 0 auto;min-height:0;gap:0!important;padding:0!important;margin:0!important;overflow:visible!important;justify-content:flex-start!important}
#economy-card.city-fares-visible #eco-route-summary{flex:none!important;font-size:12px!important;font-weight:400!important;line-height:1.45!important;color:#59636e!important;margin:0 0 12px!important;padding:0 0 10px!important}
.city-fares-visible #tariff-list-container{gap:8px;flex:none;overflow:visible!important}
.city-fares-visible #tariff-list-container .eco-tariff-option{grid-template-columns:30px minmax(0,1fr) auto;gap:5px 9px;padding:12px!important;border:1px solid #e0e4e1;border-radius:16px;cursor:pointer;box-shadow:none;text-align:left}
.city-fares-visible #tariff-list-container .eco-tariff-option[aria-pressed=true]{border:1px solid #25282b;background:#fff9e2;box-shadow:inset 0 0 0 1px #25282b}
.city-fares-visible #tariff-list-container .eco-tariff-option:focus-visible{outline:3px solid #5e7361;outline-offset:2px}
.city-fares-visible #tariff-list-container .eco-tariff-icon{width:30px;height:30px;grid-row:1 / 3;align-self:start;font-size:23px}
.city-fares-visible #tariff-list-container .eco-tariff-name{grid-column:2;grid-row:1;font-size:16px!important;font-weight:600!important;line-height:1.3;letter-spacing:-.25px}
.city-fares-visible #tariff-list-container .eco-tariff-desc{grid-column:2 / 4;grid-row:2;font-size:11px!important;font-weight:400!important;line-height:1.45;color:#606a75}
.city-fares-visible #tariff-list-container .city-fare-action{display:contents}
.city-fares-visible #tariff-list-container .eco-tariff-price{grid-column:3;grid-row:1;justify-self:end;align-self:center;text-align:right;font-size:17px!important;font-weight:650!important;line-height:1.3!important;letter-spacing:-.4px;font-variant-numeric:tabular-nums;white-space:nowrap!important}
#economy-card.city-fares-visible #city-choice-checkout{flex:none;margin-top:12px!important;padding:0!important}
.city-fares-visible #city-choice-checkout p{font-size:11px!important;font-weight:400!important;color:#626b75;line-height:1.4;margin:0 0 7px!important}
.city-fares-visible #city-choice-checkout .journey-primary{width:100%;min-height:46px!important;margin:0!important;padding:11px!important;font-size:15px!important;font-weight:600!important;letter-spacing:-.1px;border-radius:13px!important;box-shadow:none}
.city-fares-visible .city-change-route{display:block;margin:3px auto 0;border:0;background:transparent;color:#555e69;min-height:32px;padding:6px 12px;font-size:12px;font-weight:400;text-decoration:underline;text-underline-offset:3px}
@media(max-width:360px){
 #economy-card.city-fares-visible:not(.flow-map-view)>.panel-left{padding-left:12px!important;padding-right:12px!important}
 .city-fares-visible .journey-header h2{font-size:20px!important}
 .city-fares-visible #tariff-list-container .eco-tariff-option{grid-template-columns:26px minmax(0,1fr) auto;gap:4px 7px;padding:10px!important}
 .city-fares-visible #tariff-list-container .eco-tariff-icon{width:26px;height:28px;font-size:21px}
 .city-fares-visible #tariff-list-container .eco-tariff-name{font-size:15px!important}
 .city-fares-visible #tariff-list-container .eco-tariff-price{font-size:16px!important}
}
/* Long regional ranges keep their complete price on a dedicated second line. */
.city-fares-visible #tariff-list-container .eco-tariff-option:has(.eco-tariff-price[data-price-range]) .eco-tariff-price{grid-column:2 / 4;grid-row:2;justify-self:start}
.city-fares-visible #tariff-list-container .eco-tariff-option:has(.eco-tariff-price[data-price-range]) .eco-tariff-desc{grid-row:3}
@media(max-height:600px){#economy-card#economy-card.city-fares-visible:not(.flow-map-view) #city-hero-map{min-height:64px!important}}

@media(max-height:600px){
 #economy-card.city-fares-visible:not(.flow-map-view)>.panel-left{padding-top:10px!important;padding-bottom:calc(70px + env(safe-area-inset-bottom))!important}
 .city-fares-visible .journey-header{margin-bottom:8px!important}
 #economy-card.city-fares-visible #eco-route-summary{margin-bottom:8px!important;padding-bottom:8px!important}
 .city-fares-visible #tariff-list-container .eco-tariff-option{padding-top:8px!important;padding-bottom:8px!important}
 #economy-card.city-fares-visible #city-choice-checkout{margin-top:8px!important}
}

/* Confirmed searching state: never display fictitious drivers or an ETA. */
.city-search-card{border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 8px 28px #0002;margin:12px 0}
.city-search-map{height:clamp(180px,38dvh,420px);width:100%;background:#eef1ed}
.city-search-caption{padding:16px 18px}.city-search-caption p{margin:8px 0 0;font-size:14px;line-height:1.4}
.city-search-pulse{display:inline-block;width:12px;height:12px;border-radius:50%;background:#e8bd25;margin-right:10px;animation:city-search-pulse 1.4s ease-in-out infinite}
@keyframes city-search-pulse{50%{box-shadow:0 0 0 8px #e8bd2530}}
@media(prefers-reduced-motion:reduce){.city-search-pulse{animation:none}}

.city-search-map-wrap{position:relative;overflow:hidden}
.city-search-radar{position:absolute;left:50%;top:50%;width:160px;height:160px;transform:translate(-50%,-50%);pointer-events:none}
.city-search-radar i{position:absolute;inset:0;border:2px solid #d6ab18;border-radius:50%;background:#e8bd2518;animation:city-search-ring 2.7s ease-out infinite}
.city-search-radar i:nth-child(2){animation-delay:-.9s}.city-search-radar i:nth-child(3){animation-delay:-1.8s}
.city-search-radar span{position:absolute;left:74px;top:74px;width:12px;height:12px;border-radius:50%;background:#222;box-shadow:0 0 0 5px #fff}
@keyframes city-search-ring{from{transform:scale(.12);opacity:.9}to{transform:scale(1.8);opacity:0}}
@media(prefers-reduced-motion:reduce){.city-search-radar i{animation:none;opacity:.25}.city-search-radar i:nth-child(2){transform:scale(.65)}.city-search-radar i:nth-child(3){transform:scale(.35)}}
