/* Airport transfer only. The quote stays in step 2 until the customer chooses it. */
#main-card .transfer-offer-footer{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:12px 0 5px}
#main-card .transfer-offer-footer .transfer-offer-price{margin:0;width:100%}
#main-card .transfer-price-card,#main-card #work-transfer-price{display:block;box-sizing:border-box;padding:18px 20px;border:1px solid #e2e5e3;border-radius:20px;background:linear-gradient(155deg,#fff 0%,#f7f8f7 100%);color:#141915;box-shadow:0 5px 0 #e3e7e4,0 12px 25px #1c221d12}
#main-card .transfer-price-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 10px;margin-bottom:7px}
#main-card .transfer-price-label{color:#3e4c40;font-size:13px;font-weight:700;letter-spacing:.2px}
#main-card .transfer-price-badge{background:#fff2bc;color:#5d4700;border:1px solid #f1dc89;padding:5px 9px;border-radius:20px;font-size:11px;font-weight:700}
#main-card .transfer-price-card .work-price,#main-card #work-transfer-price .work-price{display:block;margin:0;font-size:clamp(32px,8vw,44px);font-weight:850;line-height:1.16;letter-spacing:-1.3px;color:#121612;white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums;text-shadow:0 2px 0 #fff}
#main-card .transfer-price-tax{display:block;margin-top:4px;color:#4d5e50;font-size:12px;font-weight:600}
#main-card .transfer-price-card p,#main-card #work-transfer-price p{margin:7px 0 0;color:#526555;font-size:12px;line-height:1.4}
#main-card .flow-footer .transfer-book-now{width:100%;min-height:56px!important;flex:none;border:1px solid #dab600!important;border-radius:16px!important;background:linear-gradient(180deg,#ffe465,#ffcc17)!important;color:#171600!important;box-shadow:0 5px 0 #bd9600,0 9px 18px #97750024!important;font-size:18px!important;font-weight:800;letter-spacing:.1px;cursor:pointer;touch-action:manipulation;transition:transform .12s,box-shadow .12s}
#main-card .flow-footer .transfer-book-now:active{transform:translateY(3px);box-shadow:0 2px 0 #bd9600!important}
#main-card .flow-footer .transfer-book-now:focus-visible{outline:3px solid #667c69;outline-offset:4px}
#main-card .flow-footer .transfer-book-now:disabled{opacity:.6;cursor:wait}
#main-card #work-transfer-price{padding:12px 16px;margin-bottom:12px}
#main-card #work-transfer-price .work-price{font-size:30px}
@media(max-height:680px){#main-card .transfer-offer-price{padding:10px 14px}#main-card .transfer-offer-price .work-price{font-size:30px}#main-card .transfer-offer-footer{gap:9px;padding-top:8px}#main-card .transfer-offer-price p{margin-top:4px}}
@media(prefers-reduced-motion:reduce){#main-card .transfer-book-now{transition:none}}

/* Paired transfer options remain side by side, including on narrow phones. */
#main-card .transfer-switch-pair{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;box-sizing:border-box;margin:10px 0 14px}
#main-card .transfer-switch-pair>.transfer-option-card,#main-card .transfer-switch-pair>#return-trip-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(36px,auto) 44px;align-items:center;align-content:start;gap:4px!important;min-width:0;min-height:104px;box-sizing:border-box;width:100%;margin:0!important;padding:10px 12px!important;border:1px solid #e0e3e0!important;border-radius:14px!important;background:#f8f9f8!important;box-shadow:0 2px 5px #21292206!important}
#main-card .transfer-switch-pair>.transfer-option-card:has(input:checked){background:#eef8f1!important;border-color:#9ccaae!important}
#main-card .transfer-option-card .switch-text,#main-card .transfer-option-card .return-trip-title,#main-card .transfer-option-card .transfer-extras-copy strong{display:block;min-width:0;margin:0!important;font-size:13px!important;line-height:1.35!important;font-weight:700!important;color:#2f3a31!important;white-space:normal;text-transform:none!important;overflow-wrap:anywhere}
#main-card .transfer-option-card .return-trip-icon,#main-card .transfer-option-card .return-trip-hint,#main-card .transfer-option-card .return-trip-state{display:none!important}
#main-card .transfer-option-card .return-trip-copy{display:block}
#main-card .transfer-option-card .return-trip-control{display:flex!important;flex-direction:row!important;justify-content:flex-end;gap:0!important;width:100%}
#main-card .transfer-option-card>.switch{justify-self:end}
#main-card .transfer-option-card .switch,#main-card .transfer-option-card#return-trip-card .switch{width:48px!important;min-width:48px!important;height:44px!important;margin:0!important;transform:none!important;position:relative}
#main-card .transfer-option-card .switch input{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-height:44px!important;margin:0!important;opacity:0;z-index:2;cursor:pointer;touch-action:manipulation}
#main-card .transfer-option-card .slider,#main-card .transfer-option-card#return-trip-card .slider{inset:9px 0!important;background:#869c8a!important;pointer-events:none}
#main-card .transfer-option-card .slider:before,#main-card .transfer-option-card#return-trip-card .slider:before{width:20px!important;height:20px!important;left:3px!important;bottom:3px!important;box-shadow:0 1px 3px #0002}
#main-card .transfer-option-card input:checked+.slider{background:#15803d!important}
#main-card .transfer-option-card input:checked+.slider:before,#main-card .transfer-option-card#return-trip-card input:checked+.slider:before{transform:translateX(22px)!important}
#main-card .transfer-option-card input:focus-visible+.slider,#main-card .transfer-option-card .transfer-extras-edit:focus-visible{outline:3px solid #5e7261;outline-offset:3px}
#main-card .transfer-option-card .transfer-extras-edit{display:block;min-width:0;min-height:44px;width:100%;padding:0;border:0;background:transparent;text-align:left;font:inherit;cursor:pointer;touch-action:manipulation}
#main-card .transfer-option-card .transfer-extras-copy{display:block;min-width:0}
#main-card .transfer-option-card .transfer-extras-summary{display:block;font-size:11px;line-height:1.35;color:#566959;margin-top:3px;white-space:normal;overflow-wrap:anywhere}
#main-card .transfer-extras-panel:not([hidden]){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;box-sizing:border-box;padding:14px!important;margin:0 0 14px!important;border:1px solid #d5e3db!important;border-radius:14px!important;background:#f5faf7!important;box-shadow:0 3px 10px #173d2410}
#main-card .transfer-extras-panel[hidden]{display:none!important}
#main-card .transfer-extras-panel>.input-group{min-width:0;margin:0!important}
#main-card .transfer-extras-panel>.input-group>label{display:block;font-size:12px!important;line-height:1.4;min-height:34px;white-space:normal;text-transform:none!important;overflow-wrap:anywhere}
#main-card .transfer-extras-panel select{display:block;width:100%!important;min-width:0;min-height:48px!important;font-size:16px!important;background:#fff!important;padding:10px!important;touch-action:manipulation}
#main-card .transfer-extras-done{grid-column:1/-1;min-height:44px;border:1px solid #a4c8b1;border-radius:10px;background:#fff;color:#185c32;font:inherit;font-size:14px;font-weight:700;cursor:pointer;touch-action:manipulation}
@media(max-width:360px){#main-card .transfer-switch-pair{gap:8px}#main-card .transfer-switch-pair>.transfer-option-card,#main-card .transfer-switch-pair>#return-trip-card{padding:9px!important}#main-card .transfer-extras-panel:not([hidden]){padding:10px!important;gap:10px}}

/* A route stays short regardless of how many optional stops are selected. */
#main-card #step-1 .flow-heading{display:none}
#main-card #step-1 .flow-body{display:flex;flex-direction:column;gap:8px;padding-bottom:2px}
#main-card #step-1 .flow-body>.flow-unit{flex:none}
#main-card #step-1 .transfer-mode-row{margin:0!important}
#main-card #step-1 #location-area{gap:5px!important}
#main-card #step-1 .input-group{margin-bottom:0!important}
#main-card #step-1 .input-group>label{font-size:12px!important;margin-bottom:4px!important}
#main-card #step-1 #lbl-air{min-height:32px}
#main-card #step-1 .type-toggle-3d{font-size:12px!important;min-height:32px;display:inline-flex;align-items:center;padding:5px 10px}
#main-card #step-1 #air-selector{min-height:48px;padding:11px 13px;font-size:15px}
#main-card #transfer-route-switches{margin:0!important;gap:8px;align-items:stretch}
#main-card #transfer-route-switches>#return-trip-card,#main-card #transfer-route-switches>.transfer-route-chip{display:flex!important;flex-direction:row;justify-content:space-between;align-items:center;gap:5px!important;min-height:48px;grid-template-rows:none;padding:2px 10px!important;border-radius:12px!important;background:#f4f5f4!important;cursor:pointer}
#main-card #transfer-route-switches .return-trip-title{font-size:13px!important;white-space:nowrap}
#main-card #transfer-route-switches .return-trip-control{width:auto;flex:none}
#main-card #transfer-route-switches .switch{width:34px!important;min-width:34px!important}
#main-card #transfer-route-switches #return-trip-card .switch{width:34px!important;min-width:34px!important}
#main-card #transfer-route-switches #return-trip-card .slider{inset:12px 0!important}
#main-card #transfer-route-switches #return-trip-card .slider:before{width:14px!important;height:14px!important;bottom:3px!important;left:3px!important}
#main-card #transfer-route-switches #return-trip-card input:checked+.slider:before{transform:translateX(14px)!important}
#main-card #transfer-route-switches .slider{inset:12px 0!important}
#main-card #transfer-route-switches .slider:before{width:14px!important;height:14px!important;bottom:3px!important;left:3px!important}
#main-card #transfer-route-switches input:checked+.slider:before{transform:translateX(14px)!important}
#main-card #transfer-route-switches>.transfer-route-chip{display:block!important;color:#2f3a31;font-family:inherit;font-weight:650;font-size:13px;line-height:1.25;text-align:center;white-space:nowrap;touch-action:manipulation}
#main-card #transfer-route-switches>.transfer-route-chip.is-selected{background:#eef8f1!important;border-color:#9ccaae!important}
#main-card .transfer-summary-button{display:flex;align-items:center;justify-content:space-between;gap:10px;box-sizing:border-box;width:100%;min-height:60px;padding:10px 12px;border:1px solid #e0e3e0;border-radius:12px;background:#fff;text-align:left;font:inherit;color:#212822;cursor:pointer;touch-action:manipulation}
#main-card .transfer-summary-copy{display:block;min-width:0}
#main-card .transfer-summary-copy strong{display:block;font-size:13px;line-height:1.35}
#main-card .transfer-summary-copy>span{display:block;margin-top:3px;font-size:12px;line-height:1.4;color:#566959}
#main-card .transfer-summary-button>span:last-child{font-size:24px;flex:none;color:#5f6b77}
#main-card .transfer-address-row{display:grid!important;grid-template-columns:minmax(0,1fr) 48px;gap:6px;min-width:0;width:100%}
#main-card .transfer-address-row #v-adr{box-sizing:border-box;width:100%!important;min-width:0;padding:12px!important;height:48px!important;min-height:48px}
#main-card .transfer-address-row .transfer-locate{position:static!important;inset:auto!important;box-sizing:border-box;display:flex;justify-content:center;align-items:center;width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important;border:1px solid #e0e3e0;border-radius:12px!important;background:#f2f3f2!important;color:#333e34;cursor:pointer;touch-action:manipulation}
#main-card #v-main-locate-icon{display:block;width:22px;height:22px}
#main-card #v-main-locate-icon:before{display:none}
#main-card #v-main-locate-icon svg{display:block;width:100%;height:100%}
#main-card .transfer-editor{position:fixed;inset:auto 0 0;transform:none;box-sizing:border-box;width:min(100%,560px);max-width:100%;height:auto;max-height:calc(var(--app-height) - 12px);margin:0 auto;padding:0;border:0;border-radius:22px 22px 0 0;background:#fff;color:#1d241e;box-shadow:0 -8px 40px #0002;overflow:hidden}
#main-card .transfer-editor[open]{display:flex;flex-direction:column}
#main-card .transfer-editor::backdrop{background:#171c1866}
#main-card .transfer-editor>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid #e8eae8;flex:none}
#main-card .transfer-editor h2{font-size:18px;line-height:1.35;letter-spacing:-.2px;margin:0;outline:0}
#main-card .transfer-editor-close{min-width:44px;min-height:44px;border:0;border-radius:50%;background:#f3f4f3;color:#2f3930;font-size:26px;cursor:pointer}
#main-card .transfer-editor-body{overflow:auto;overscroll-behavior:contain;padding:16px 18px 8px;min-height:0}
#main-card .transfer-editor>footer{flex:none;padding:10px 18px calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e8eae8}
#main-card .transfer-editor-done{width:100%;min-height:48px;padding:12px;border:0;border-radius:12px;background:#1e251f;color:white;font:inherit;font-weight:700;cursor:pointer;touch-action:manipulation}
#main-card .transfer-editor-error{font-size:13px;line-height:1.4;color:#ae231e;margin:0 0 10px}
#main-card .transfer-editor [hidden]{display:none!important}
#main-card .transfer-editor-tabs{display:flex;gap:5px;padding:3px;background:#f2f3f2;border-radius:11px;margin-bottom:14px}
#main-card .transfer-editor-tabs>button{flex:1;min-width:0;min-height:44px;padding:6px 4px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:12px;color:#4d5e50;cursor:pointer}
#main-card .transfer-editor-tabs>button[aria-pressed=true]{background:#fff;color:#222a23;box-shadow:0 1px 5px #21282216;font-weight:750}
#main-card .transfer-editor .transfer-time-title{font-size:14px;font-weight:650;margin:0 0 14px;line-height:1.4;color:#4b5b4e}
#main-card .transfer-editor .transfer-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#main-card .transfer-editor .transfer-date{grid-column:1/-1!important}
#main-card .transfer-editor .input-group{margin-bottom:0!important}
#main-card .transfer-editor .input-group>label,#main-card .transfer-editor label{font-size:12px!important;color:#4b5b4e;line-height:1.4;margin-bottom:5px;display:block;font-weight:600}
#main-card .transfer-editor .input-field-3d,#main-card .transfer-editor select{box-sizing:border-box;font-family:inherit;width:100%!important;min-width:0;min-height:48px;height:48px!important;font-size:16px!important;border:1px solid #dbdfdc;border-radius:10px;padding:10px 12px!important;background:#f6f7f6;color:#1f2520}
#main-card .transfer-editor .transfer-stop-panel .input-group>div:has(>input){display:grid!important;grid-template-columns:minmax(0,1fr);gap:8px!important}
#main-card .transfer-editor .transfer-stop-panel .input-group>div:has(>input)>label{margin:6px 0 -3px}
#main-card .transfer-editor .transfer-stop-allocation p{margin:0 0 14px;font-size:15px;line-height:1.5}
#main-card .transfer-editor-button,#main-card .transfer-editor-remove{min-height:44px;padding:10px 12px;margin:10px 5px 0 0;border:1px solid #dce0dd;border-radius:10px;background:#fff;font:inherit;font-size:13px;color:#333e34;cursor:pointer;touch-action:manipulation}
#main-card .transfer-editor-remove{color:#92392f}
#main-card .transfer-editor .work-suggestions{position:relative;max-height:30dvh;margin-top:7px}
#main-card .transfer-editor button:focus-visible,#main-card .transfer-summary-button:focus-visible,#main-card .transfer-route-chip:focus-visible,#main-card .transfer-locate:focus-visible{outline:3px solid #5e7261;outline-offset:2px}
#main-card:not(.flow-map-view):has(#step-1.active) #airport-hero-map{display:block!important;flex:1 0 84px!important;min-height:84px!important;height:auto!important;max-height:none!important}
#main-card:has(#step-1.active) .journey-air-map-header{display:none}
@media(max-height:630px){#main-card #step-1 .flow-body{gap:6px}#main-card:has(#step-1.active) .journey-air-header{margin-bottom:6px}#main-card #step-1 .transfer-summary-button{min-height:54px;padding:7px 10px}#main-card #step-1 .mode-btn{min-height:40px;height:40px!important;padding:8px!important}}
@media(max-width:360px){#main-card:has(#step-1.active) .journey-header{gap:8px}#main-card:has(#step-1.active) .journey-header h2{font-size:17px!important;letter-spacing:-.35px;white-space:nowrap}#main-card:has(#step-1.active) .flow-map-open{padding:8px;min-height:44px}}
@media(max-height:630px){#main-card #step-1 .flow-body{gap:2px}#main-card #step-1 .transfer-summary-button{min-height:52px;padding:6px 10px}#main-card #step-1 .mode-btn{box-sizing:border-box!important;min-height:40px!important}#main-card #step-1 #lbl-air{min-height:28px}#main-card #step-1 .type-toggle-3d{min-height:28px;padding:3px 10px}}
#main-card #step-1 .flow-body:has(#v-adr-suggestions:not([hidden])) #field-air{display:none!important}
.flow-keyboard #main-card:not(.flow-map-view) #airport-hero-map{display:none!important}
@media(min-width:600px){#main-card .transfer-editor{inset:0;margin:auto;max-height:min(700px,calc(var(--app-height) - 32px));border-radius:22px}}

/* Route overview: give spare height to the map, not an empty form body.
   The form can still scroll with large text, open lists or a short viewport. */
#main-card:not(.flow-map-view):has(#step-1.active) .panel-left{flex:0 1 auto!important;max-height:calc(100% - 84px);margin:0!important;padding:10px 16px 10px!important;border-radius:20px 20px 0 0;box-sizing:border-box}
#main-card:has(#step-1.active) .panel-left::before{flex:none;height:4px;margin:0 auto 6px}
#main-card:has(#step-1.active) .journey-air-header{margin-bottom:10px}
#main-card:has(#step-1.active) .journey-air-header .journey-header{gap:10px;margin-bottom:8px}
#main-card:has(#step-1.active) .journey-header>div{flex:1;min-width:0}
#main-card:has(#step-1.active) .journey-header h2{font-size:clamp(17px,5vw,21px)!important;line-height:1.2}
#main-card:has(#step-1.active) .journey-back,#main-card:has(#step-1.active) .flow-map-open{box-sizing:border-box;min-height:44px;height:44px}
#main-card #step-1.flow-stage.active{flex:0 1 auto;padding-bottom:0}
#main-card #step-1 .flow-body{flex:0 1 auto;padding:0;gap:8px}
#main-card #step-1 .flow-footer{margin:8px 0 0;padding:8px 0 0}
#main-card #step-1 .transfer-mode-row{border-radius:12px!important;box-sizing:border-box;gap:4px!important}
#main-card #step-1 .mode-btn{box-sizing:border-box!important;height:44px!important;min-height:44px!important}
#main-card #step-1 #air-selector{box-sizing:border-box;min-height:48px;padding:12px;font-size:16px}
#main-card #step-1 #location-area{gap:8px!important}
#main-card #step-1 .transfer-summary-button{min-height:54px;padding:7px 12px}
#main-card #step-1 #transfer-route-switches>#return-trip-card,#main-card #step-1 #transfer-route-switches>.transfer-route-chip{min-height:48px;height:48px;padding:1px 12px!important}
#main-card:not(.flow-map-view):has(#step-1.active) #airport-hero-map .work-google-map{bottom:0!important;height:100%!important}
/* Keep typing and landscape usable; the full map button stays available. */
.flow-typing #main-card:not(.flow-map-view):has(#step-1.active) #airport-hero-map,.flow-keyboard #main-card:not(.flow-map-view):has(#step-1.active) #airport-hero-map{display:none!important}
.flow-typing #main-card:not(.flow-map-view):has(#step-1.active) .panel-left,.flow-keyboard #main-card:not(.flow-map-view):has(#step-1.active) .panel-left{flex:1!important;max-height:100%;border-radius:0}
@media(max-height:560px){#main-card:not(.flow-map-view):has(#step-1.active) #airport-hero-map{display:none!important}#main-card:not(.flow-map-view):has(#step-1.active) .panel-left{flex:1!important;max-height:100%;border-radius:0}}

@media(min-height:561px) and (max-height:700px){#main-card:not(.flow-map-view):has(#step-1.active) .panel-left{padding:8px 14px!important}#main-card #step-1 .flow-body{gap:6px}#main-card:has(#step-1.active) .journey-air-header{margin-bottom:8px}#main-card #step-1 #location-area{gap:6px!important}}

/* The additional trip must have an unambiguous on/off state. */
#main-card #transfer-route-switches #return-trip-card input:checked+.slider{background:#15803d!important}
#main-card #transfer-route-switches #return-trip-card .return-trip-state{display:block!important;min-width:20px;font-size:11px}
#main-card #transfer-route-switches #return-trip-card .return-trip-control{gap:5px!important}
#main-card #transfer-route-switches #return-trip-card:has(input:checked){background:#eef8f1!important}
#main-card #transfer-route-switches #return-trip-card input:focus-visible+.slider{outline:3px solid #5e7261;outline-offset:3px}

/* Compact transfer screens, with comfortably tappable 44px controls. */
#main-card .panel-left{padding:10px 14px 8px!important}
#main-card .journey-air-header{margin-bottom:8px}
#main-card .journey-header h2{font-size:19px!important;line-height:1.2}
#main-card .journey-header{gap:8px}
#main-card .journey-back,#main-card .flow-map-open{height:44px;min-height:44px;border-radius:10px;padding:8px}
#main-card #airport-back:before{content:'‹';font:32px/1 Arial,sans-serif}
#main-card #airport-back>i{display:none}
#main-card .flow-heading{margin:0 0 10px}
#main-card .flow-heading h3{font-size:17px!important;letter-spacing:-.2px}
#main-card #step-3>.flow-heading,#main-card #step-4>.flow-heading{display:flex!important}
#main-card .flow-body .input-group{margin-bottom:8px!important}
#main-card .flow-body .elegant-container{gap:8px;margin-bottom:0!important}
#main-card .flow-body .input-field-3d,#main-card .flow-body #payment-selector{box-sizing:border-box;height:44px!important;min-height:44px!important;padding:9px 10px!important;border-radius:10px;font-size:16px!important}
#main-card .flow-footer{gap:8px;padding-top:8px}
#main-card .flow-footer .btn-3d,#main-card .flow-footer .flow-previous,#main-card .flow-footer .transfer-book-now{height:44px!important;min-height:44px!important;padding:10px 12px!important;border-radius:10px!important;font-size:15px!important;line-height:1.2!important;box-shadow:none!important}
#main-card .transfer-book-now{background:#ffd52b!important;border:0!important;color:#111!important}
#main-card .transfer-switch-pair{gap:8px;margin:6px 0 10px}
#main-card .transfer-switch-pair>.transfer-option-card{display:flex!important;align-items:center;justify-content:space-between;gap:6px!important;min-height:64px;grid-template-rows:none;padding:8px 10px!important;border-radius:12px!important;box-shadow:none!important}
#main-card .transfer-option-card .switch{width:38px!important;min-width:38px!important;flex:none}
#main-card .transfer-option-card .switch input{min-height:44px!important}
#main-card .transfer-option-card .slider:before{width:18px!important;height:18px!important}
#main-card .transfer-option-card input:checked+.slider:before{transform:translateX(14px)!important}
#main-card .transfer-extras-edit{flex:1;min-height:44px!important}
#main-card .transfer-option-card .transfer-extras-copy strong{font-size:12px!important}
#main-card .transfer-extras-summary{font-size:11px!important;line-height:1.25!important}
#main-card #transfer-contact-switches>.transfer-option-card{min-height:68px;flex-direction:column;align-items:flex-start}
#main-card #transfer-contact-switches .switch{align-self:flex-end;height:32px!important}
#main-card #transfer-contact-switches .switch input{min-height:32px!important}
#main-card #step-3 .flow-body .flow-contact-fields:has(#b-anrede),#main-card #pax-fields{grid-template-columns:90px minmax(0,1fr)!important}
#main-card #b-name,#main-card #b-pax-name{width:100%}
#main-card .flow-contact-fields .input-group:has(#b-name),#main-card #pax-fields .input-group:has(#b-pax-name){grid-column:2!important}
#main-card .flow-body .flow-contact-fields:has(#b-tel){grid-template-columns:minmax(0,1fr)!important}
#main-card .flow-contact-fields .input-group:has(#b-tel),#main-card .flow-contact-fields .input-group:has(#b-email){grid-column:1!important}
#main-card .transfer-editor{max-height:calc(var(--app-height) - 20px);border-radius:18px}
#main-card .transfer-editor>header{padding:12px 14px 8px}
#main-card .transfer-editor>header h2{font-size:19px}
#main-card .transfer-editor-body{padding:8px 14px}
#main-card .transfer-editor>footer{padding:8px 14px max(10px,env(safe-area-inset-bottom))}
#main-card .transfer-editor-done{min-height:44px;padding:10px;border-radius:10px;font-size:15px}
#main-card .transfer-editor .input-field-3d,#main-card .transfer-editor select{height:44px!important;min-height:44px!important;padding:8px 10px!important}
#main-card .transfer-editor .transfer-extras-panel{gap:10px!important;padding:0!important;margin:0!important;border:0!important;background:#fff!important;box-shadow:none!important}
#main-card .transfer-editor .transfer-extras-panel>.input-group>label{min-height:20px;font-size:12px!important}
#main-card .transfer-editor-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:12px;color:#566959}
#main-card .transfer-editor-pager .transfer-editor-button{margin:0;min-width:90px}
#main-card #transfer-target-editor #air-list{position:static;max-height:none;overflow:visible;border:0;box-shadow:none;margin:8px 0 0}
#main-card #transfer-target-editor #air-list .work-target{display:block;width:100%;min-height:44px;padding:10px 8px;border:0;border-bottom:1px solid #e8eae8;background:white;text-align:left;font:inherit;font-size:14px;line-height:1.3;white-space:normal}
#main-card #transfer-target-editor #air-list .work-target[hidden]{display:none!important}
#main-card .transfer-price-card,#main-card #work-transfer-price{padding:10px 12px!important;margin-bottom:8px!important;border-radius:12px!important;box-shadow:none!important}
#main-card .transfer-price-card .work-price,#main-card #work-transfer-price .work-price{font-size:28px!important;line-height:1.1}
#main-card .transfer-price-top{margin-bottom:4px;gap:4px}
#main-card .transfer-price-badge{padding:3px 7px}
#main-card .transfer-price-card p{font-size:11px!important;line-height:1.3!important;margin-top:4px!important}
#main-card #step-3 #work-transfer-price{display:none!important}
#main-card #step-4 .flow-review-row{padding:8px 0;margin:0;display:block;border-bottom:1px solid #eef0ef}
#main-card #step-4 .flow-review-row dt{font-size:11px;line-height:1.3;margin:0 0 3px;color:#627866}
#main-card #step-4 .flow-review-row dd{font-size:14px;line-height:1.35;margin:0;color:#1e251f;overflow-wrap:anywhere}
#main-card #step-4 #booking-summary-content{padding:0!important;border:0!important;margin:0!important}
#main-card #step-4 .flow-body{padding:0 2px 6px}
#main-card #step-3 .flow-body .switch-box-3d:has(#c-same-pax){font-size:13px}
#main-card #step-3 .flow-body label:has(>#c-agb),#main-card #step-3 .flow-body label:has(>#c-data){min-height:44px;align-items:flex-start;font-size:13px!important;line-height:1.45;padding:8px 0;margin:0!important}
#main-card #step-3 .flow-body #c-agb,#main-card #step-3 .flow-body #c-data{flex:none;min-width:20px;min-height:20px;margin-top:0}
@media(max-height:700px){#main-card:not(.flow-map-view):has(.flow-stage.active) .panel-left{padding:8px 12px!important}#main-card .journey-air-header{margin-bottom:6px}#main-card .transfer-price-card{padding:8px 10px!important}}
@media(max-height:700px){#main-card:not(.flow-map-view):has(#step-1.active) .panel-left{flex:1!important;max-height:100%!important}}
@media(max-height:700px){#main-card:not(.flow-map-view):has(#step-1.active) #airport-hero-map{display:none!important}}
#main-card .step-section.flow-stage{box-sizing:border-box;padding-bottom:0}
#main-card .step-section.flow-stage>.flow-footer{position:static;bottom:auto;margin:0!important;padding:8px 0 0!important;background:#fff}
#main-card #step-4.flow-stage{overflow:hidden}
#main-card #transfer-payment-editor #payment-list{position:static;display:block;max-height:none;overflow:visible;border:0;box-shadow:none;margin:0}
#main-card #transfer-payment-editor .custom-payment-option{min-height:44px;padding:12px 10px;border-bottom:1px solid #e8eae8;font-size:14px;box-sizing:border-box}

/* Three substantive booking steps. Content determines the sheet height. */
body:has(#main-card[style*="display: flex"]) #bottom-nav-wrapper{display:none!important}
#main-card{height:var(--app-height)!important;min-height:0!important;background:#eef0ee!important}
#main-card:not(.flow-map-view) #airport-hero-map{display:block!important;flex:1 1 0!important;height:auto!important;min-height:0!important;max-height:none!important}
#main-card:not(.flow-map-view):has(.flow-stage.active) .panel-left{flex:0 1 auto!important;max-height:100%!important;width:100%;margin:0!important;padding:12px 16px!important;border-radius:20px 20px 0 0!important;background:#fff!important}
#main-card .panel-left::before{display:none!important}
#main-card .journey-air-map-header{display:none!important}
#main-card .journey-air-header{margin-bottom:10px!important}
#main-card .journey-header{margin:0 0 8px!important;gap:10px}
#main-card .journey-header h2{font-size:20px!important;line-height:1.2}
#main-card .journey-eyebrow{font-size:11px!important;line-height:1.2}
#main-card .journey-progress{gap:5px;margin:0!important}
#main-card .journey-progress span{height:3px}
#main-card .step-section.flow-stage.active{flex:0 1 auto!important}
#main-card .flow-stage>.flow-heading{display:none!important}
#main-card .flow-body{flex:0 1 auto!important;padding:0!important}
#main-card .step-section.flow-stage>.flow-footer{margin-top:8px!important;padding-top:8px!important}
#main-card #step-1 .flow-body{gap:7px!important}
#main-card #step-1 #location-area{gap:7px!important}
#main-card .flow-body .input-group,#main-card #step-1 .input-group{margin:0!important;min-width:0}
#main-card .flow-body .input-group>label{font-size:11px!important;line-height:1.3!important;min-height:0!important;margin:0 0 3px!important;text-transform:none!important}
#main-card .flow-body .input-field-3d,#main-card .flow-body #air-selector,#main-card .flow-body #payment-selector,#main-card .transfer-address-row #v-adr{height:44px!important;min-height:44px!important;padding:9px 10px!important;border-radius:10px;font-size:15px!important;line-height:1.3}
#main-card .transfer-address-row{grid-template-columns:minmax(0,1fr) 44px}
#main-card .transfer-address-row .transfer-locate{height:44px!important;min-height:44px!important;width:44px!important;min-width:44px!important}
#main-card #step-1 #lbl-air{min-height:24px;margin-bottom:3px!important}
#main-card #step-1 .type-toggle-3d{min-height:24px!important;padding:3px 9px!important;font-size:11px!important}
#main-card #step-1 .mode-btn{height:40px!important;min-height:40px!important;padding:8px!important;font-size:13px!important}
#main-card #step-1 .transfer-mode-row{padding:3px!important}
#main-card .transfer-inline-time .transfer-time-card{padding:0!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important}
#main-card .transfer-inline-time .transfer-time-title{display:none!important}
#main-card .transfer-inline-time .transfer-time-grid{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr)!important;gap:6px!important;margin:0!important}
#main-card .transfer-inline-time .transfer-date{grid-column:auto!important}
#main-card .transfer-inline-time input[type=date]{font-size:13px!important;padding:8px 4px!important}
#main-card .transfer-inline-time .transfer-time-grid label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#main-card .transfer-inline-time #v-flight-nr{font-size:13px!important;padding:8px 5px!important}
#main-card #transfer-route-switches>#return-trip-card,#main-card #transfer-route-switches>.transfer-route-chip{height:44px!important;min-height:44px!important;padding:0 10px!important}
#main-card #transfer-route-switches{gap:7px!important}
#main-card #transfer-time-trigger{min-height:44px!important;padding:5px 10px!important}
#main-card #transfer-time-trigger[hidden]{display:none!important}
#main-card #transfer-time-trigger .transfer-summary-copy{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#main-card #transfer-time-trigger .transfer-summary-copy strong{font-size:11px}
#main-card #transfer-time-trigger .transfer-summary-copy>span{font-size:11px;margin:0}
#main-card .flow-counts{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin:0!important}
#main-card #transfer-extra-switches{gap:7px!important;margin:0!important}
#main-card #transfer-extra-switches>.transfer-option-card{min-height:44px!important;height:44px!important;padding:0 8px!important}
#main-card #transfer-extra-switches .switch{display:none!important}
#main-card #transfer-extra-switches .transfer-extras-edit{min-height:42px!important}
#main-card #transfer-extra-switches .transfer-extras-copy strong{font-size:12px!important}
#main-card #transfer-extra-switches .transfer-extras-summary{font-size:10px!important;margin:0!important}
#main-card .transfer-contact-options{display:flex;gap:7px;margin:0}
#main-card .transfer-option-link{flex:1;min-width:0;min-height:36px;padding:7px 8px;border:1px solid #e0e3e0;border-radius:9px;background:#f7f8f7;color:#2f3930;font:inherit;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;cursor:pointer}
#main-card #step-3 .flow-body{display:flex;flex-direction:column;gap:8px}
#main-card #step-3 .flow-contact-fields{margin:0!important;gap:7px!important}
#main-card #step-3 .flow-contact-fields:has(#b-tel){display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
#main-card .transfer-billing-fields{display:flex;flex-direction:column;gap:3px}
#main-card #step-3 .transfer-billing-switch{display:flex!important;align-items:center;justify-content:space-between;padding:0!important;margin:0!important;min-height:32px!important;box-shadow:none;border:0;background:none}
#main-card #step-3 .transfer-billing-switch .switch-text{font-size:12px!important}
#main-card #step-3 .transfer-billing-switch .switch{height:32px;width:38px;transform:none}
#main-card #step-3 .transfer-billing-switch .slider{top:5px;bottom:5px}
#main-card #step-3 .transfer-billing-switch .slider:before{height:16px;width:16px;bottom:3px;left:3px}
#main-card #step-3 .transfer-billing-switch input:checked+.slider:before{transform:translateX(16px)}
#main-card .transfer-billing-fields.same-address .input-group{display:none}
#main-card .transfer-consents{padding:0!important;margin:0!important;border:0!important;background:none!important;display:grid;gap:3px}
#main-card #step-3 .flow-body label:has(>#c-agb),#main-card #step-3 .flow-body label:has(>#c-data){display:flex!important;align-items:center;gap:8px;min-height:36px!important;padding:3px 0!important;margin:0!important;font-size:11px!important;line-height:1.3!important}
#main-card .transfer-price-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:9px 11px!important;align-items:center}
#main-card .transfer-price-card .transfer-price-top{display:contents}
#main-card .transfer-price-card .transfer-price-label{grid-column:1;font-size:12px}
#main-card .transfer-price-card .transfer-price-badge{grid-column:1;grid-row:2;justify-self:start;font-size:10px;padding:2px 6px}
#main-card .transfer-price-card .work-price{grid-column:2;grid-row:1/3;font-size:26px!important}
#main-card .transfer-price-card .transfer-price-tax{grid-column:2;grid-row:3;margin:0;font-size:10px}
#main-card .transfer-price-card p{grid-column:1;grid-row:3;margin:0!important;font-size:10px!important}
#main-card .transfer-price-card .transfer-payment-note{grid-column:1/-1;grid-row:auto}
#main-card #step-4 .flow-body{display:flex;flex-direction:column}
#main-card #step-4 .flow-review-row{display:grid;grid-template-columns:85px minmax(0,1fr);gap:8px;padding:5px 0}
#main-card #step-4 .flow-review-row dt{font-size:10px;line-height:1.35;margin:0}
#main-card #step-4 .flow-review-row dd{font-size:12px;line-height:1.35;margin:0}
#main-card #step-4 .journey-review-list{margin:0!important}
#main-card #step-4 .flow-body label:has(#c-verify){order:3;min-height:40px;font-size:12px!important;line-height:1.3!important;padding:6px 8px!important;margin:6px 0 0!important}
#main-card #step-4 .journey-review-total{margin:8px 0 0!important}
#main-card #step-4>.flow-footer .btn-reset-left{display:none!important}
.flow-typing #main-card:not(.flow-map-view) #airport-hero-map{display:none!important}
@media(max-height:650px){#main-card:not(.flow-map-view):has(.flow-stage.active) .panel-left{padding:8px 12px!important;border-radius:0!important}#main-card .journey-air-header{margin-bottom:7px!important}#main-card #step-1 .flow-body{gap:5px!important}#main-card .journey-header{margin-bottom:5px!important}#main-card #step-3 .flow-body{gap:6px}#main-card .step-section.flow-stage>.flow-footer{margin-top:5px!important;padding-top:6px!important}}
#main-card #step-3>.flow-heading,#main-card #step-4>.flow-heading{display:none!important}
#main-card .journey-header h2{white-space:nowrap;font-size:19px!important}
#main-card #return-trip-card .return-trip-state{display:none!important}
#main-card #return-trip-card:has(input:checked) #return-trip-title{display:none!important}
#main-card #return-trip-card #transfer-time-trigger{display:flex;min-height:40px!important;width:auto;padding:2px 0!important;border:0;background:transparent}
#main-card #return-trip-card #transfer-time-trigger[hidden]{display:none!important}
#main-card #return-trip-card .transfer-summary-copy{display:block!important}
#main-card #return-trip-card .transfer-summary-copy strong{font-size:11px!important;white-space:nowrap}
#main-card #return-trip-card .transfer-summary-copy>span{font-size:10px!important;white-space:nowrap}
#main-card #return-trip-card #transfer-time-trigger>span:last-child{display:none}
#main-card #step-3 .flow-body{gap:6px!important}
#main-card #step-3 .flow-body .input-group{position:relative}
#main-card #step-3 .flow-body .input-group>label{position:absolute;top:5px;left:10px;z-index:1;font-size:10px!important;pointer-events:none;margin:0!important}
#main-card #step-3 .flow-body .input-field-3d,#main-card #step-3 .flow-body #payment-selector{height:48px!important;min-height:48px!important;padding:20px 10px 5px!important;font-size:14px!important}
#main-card #step-3 .flow-body .flow-contact-fields:has(#b-tel){gap:6px!important}
#main-card #step-3 .transfer-billing-switch .switch-text{text-transform:none!important;font-size:11px!important;line-height:1.2!important}
#main-card #step-3 .flow-body .transfer-billing-switch{border:0!important;min-height:32px!important;margin:0!important;padding:0!important}
#main-card #step-3 .transfer-billing-switch .switch{min-width:38px!important;width:38px!important}
#main-card #step-3 .flow-body .transfer-billing-switch .switch input{margin:0!important}
#main-card #step-3 .transfer-consents label{font-weight:500!important}
#main-card #step-4 .flow-review-row{grid-template-columns:92px minmax(0,1fr)}
@media(max-width:350px){#main-card .journey-header h2{font-size:17px!important;letter-spacing:-.5px}}
#main-card #step-3 .flow-body .transfer-billing-switch label.switch{display:block!important;flex:none;margin:0!important}
#main-card #step-3 .flow-body .input-group:has(#b-tel)>label{left:108px}
#main-card #step-3 .flow-body #b-tel-country{padding:9px 8px!important;font-size:13px!important}
#main-card .transfer-contact-options button{font-size:12px}
#main-card .flow-footer.transfer-offer-footer{flex-direction:row;gap:10px;align-items:center}
#main-card .flow-footer .transfer-offer-price{display:flex!important;flex:1;flex-direction:column;align-items:flex-start;width:auto!important;margin:0!important;border:0;background:transparent;padding:0!important;gap:2px}
#main-card .flow-footer .transfer-offer-price .transfer-price-top,#main-card .flow-footer .transfer-offer-price p{display:none!important}
#main-card .flow-footer .transfer-offer-price .work-price{font-size:25px!important}
#main-card .flow-footer .transfer-offer-price .transfer-price-tax{font-size:10px}
#main-card .flow-footer.transfer-offer-footer .transfer-book-now{flex:1;width:auto;min-width:0}
#main-card #step-4>.flow-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
#main-card #step-4>.flow-footer .journey-review-total{margin:0!important}
#main-card #step-4>.flow-footer label:has(#c-verify){display:flex!important;align-items:center;gap:8px;margin:0!important;padding:7px 8px!important;min-height:40px;box-sizing:border-box;font-size:12px!important;line-height:1.3}
#main-card #step-4>.flow-footer #c-verify{flex:none;width:20px;height:20px}
#main-card #step-4>.flow-footer #btn-book-final{width:100%;box-sizing:border-box}
#main-card #transfer-route-switches #return-trip-card .return-trip-state{display:none!important}
#main-card #step-4 .flow-review-row{padding:3px 0}
#main-card #step-4 .transfer-price-card{position:static!important}

#main-card .transfer-inline-time .input-field-3d:is(select){font-size:13px!important;padding:8px 4px!important}

/* Native mobile date controls must shrink with their grid column. */
#main-card .transfer-time-grid,#main-card .transfer-time-grid>.input-group{min-width:0;max-width:100%}
#main-card #v-date,#main-card #v-land-date{display:block;box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important;min-inline-size:0!important;inline-size:100%!important;max-inline-size:100%!important;height:44px!important;min-height:44px!important;margin:0;appearance:none;-webkit-appearance:none;font-size:14px!important;line-height:1.3;padding:8px 6px!important;font-variant-numeric:tabular-nums;text-align:left}
#main-card #v-date::-webkit-date-and-time-value,#main-card #v-land-date::-webkit-date-and-time-value{min-width:0;text-align:left;margin:0}
#main-card #v-date::-webkit-datetime-edit,#main-card #v-land-date::-webkit-datetime-edit{min-width:0;padding:0}
#main-card #v-date:focus,#main-card #v-land-date:focus{outline:2px solid #b59b12!important;outline-offset:-2px!important;box-shadow:none!important}
/* A named back action is visible on every transfer screen and editor. */
#main-card #airport-back{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:0 0 auto;width:auto;min-width:78px;padding:8px!important;font:inherit;font-size:13px;font-weight:600;white-space:nowrap}
#main-card #airport-back:before{font-size:24px;line-height:1}
#main-card .journey-header>div{flex:1;min-width:0}
#main-card .journey-header h2{font-size:clamp(16px,4.3vw,19px)!important;white-space:normal;overflow-wrap:normal}
#main-card .flow-map-open{flex:none}
#main-card .transfer-editor>header{justify-content:flex-start;gap:10px}
#main-card .transfer-editor>header h2{min-width:0;flex:1;font-size:17px}
#main-card .transfer-editor-close{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:none;min-width:78px;min-height:44px;padding:8px;border-radius:10px;font:inherit;font-size:13px;font-weight:600;white-space:nowrap}
#main-card .transfer-editor-close:before{content:'‹';font:24px/1 Arial,sans-serif}

@media(max-width:350px){#main-card .journey-header{gap:6px}#main-card .journey-header h2{font-size:15px!important;white-space:nowrap}#main-card #airport-back{min-width:74px;padding:7px!important}#main-card .flow-map-open{padding:7px;min-width:44px}}

/* Scroll destinations inside the picker; keep search and actions in view. */
#main-card #transfer-target-editor{height:min(620px,calc(var(--app-height,100dvh) - 20px));max-height:calc(var(--app-height,100dvh) - 20px)}
#main-card #transfer-target-editor .transfer-editor-body{display:grid;grid-template-rows:auto minmax(0,1fr) auto;flex:1 1 auto;min-height:0;overflow:hidden}
#main-card #transfer-target-editor #air-list{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;margin:8px 0 0}
#main-card #transfer-target-editor .transfer-target-empty{grid-row:3;margin:12px 0;font-size:14px;color:#566959}

/* Keep complete time fields and their focus ring inside the mobile form. */
#main-card .transfer-time-grid .input-field-3d {
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
#main-card .transfer-time-grid .input-field-3d:focus {
  outline: 2px solid #b59b12 !important;
  outline-offset: -2px !important;
  box-shadow: none !important;
}

/* Inline customer type: anchored choices, immediate selection. */
#main-card .transfer-company-select{position:relative;flex:1 1 0;min-width:0}
#main-card .transfer-contact-options>.transfer-option-link{flex:1 1 0}
#main-card #transfer-company-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:100%;min-height:36px;overflow:visible}
#main-card .transfer-select-chevron{flex:none;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-right:3px}
#main-card #transfer-company-trigger[aria-expanded=true]{border-color:#7d9481;background:#fff}
#main-card #transfer-company-trigger[aria-expanded=true] .transfer-select-chevron{transform:translateY(2px) rotate(225deg)}
#main-card #transfer-company-options{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;display:grid;padding:4px;background:#fff;border:1px solid #e0e3e0;border-radius:10px;box-shadow:0 8px 22px #21292326}
#main-card #transfer-company-options[hidden]{display:none!important}
#main-card .transfer-company-option{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;border:0;border-radius:6px;padding:9px 10px;background:#fff;color:#2f3930;text-align:left;font:inherit;font-size:13px;cursor:pointer}
#main-card .transfer-company-option.is-active,#main-card .transfer-company-option:hover{background:#f2f4f2}
#main-card .transfer-company-option[aria-selected=true]{font-weight:600}
#main-card .transfer-company-option[aria-selected=true]:after{content:'✓';color:#2f3930}
#main-card #transfer-company-trigger:focus-visible{outline:2px solid #2f3930;outline-offset:-2px}
#main-card #step-3 #company-name-field{margin:0!important;flex-shrink:0}

/* Transfer fields: keep the complete focus ring inside clipped form rows. */
#main-card .input-field-3d:focus,
#main-card .transfer-address-row #v-adr:focus {
  outline: 2px solid #b59b12 !important;
  outline-offset: -2px !important;
  box-shadow: none !important;
}

/* Apply the passenger choice in the contact field without an extra dialog. */
#main-card .transfer-contact-options>.transfer-company-select{flex:0.85 1 0}
#main-card .transfer-contact-options>.transfer-passenger-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:7px;flex:1.15 1 0;box-sizing:border-box;min-height:44px;margin:0;white-space:normal;overflow:visible;line-height:1.2}
#main-card #step-3 #transfer-passenger-toggle{height:44px;padding:5px 8px!important;margin:0!important;align-items:center!important;line-height:1.2!important}
#main-card .transfer-passenger-label{min-width:0;max-width:105px;font-size:12px;font-weight:500;text-transform:none}
#main-card #transfer-passenger-toggle #c-same-pax{position:absolute;inset:0;z-index:1;width:100%;height:100%;min-height:44px;margin:0;opacity:0;cursor:pointer}
#main-card .transfer-passenger-track{position:relative;display:block;flex:none;width:34px;height:20px;border-radius:20px;background:#98ab9c;transition:background .15s ease}
#main-card .transfer-passenger-track:before{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:white;box-shadow:0 1px 2px #0002;transition:transform .15s ease}
#main-card #c-same-pax:checked+.transfer-passenger-track{background:#23bf64}
#main-card #c-same-pax:checked+.transfer-passenger-track:before{transform:translateX(14px)}
#main-card #transfer-passenger-toggle:has(input:focus-visible){outline:2px solid #2f3930;outline-offset:-2px}
#main-card #pax-fields[hidden]{display:none!important}
#main-card #pax-fields{padding:8px 0 0;border-top:1px solid #e9ebe9;gap:7px!important;margin:0!important}
#main-card #pax-fields .transfer-passenger-heading{grid-column:1/-1;font-size:12px;font-weight:600;color:#2f3930;margin:0 0 1px}
#main-card #step-3 .flow-body #pax-fields .input-group:has(#b-pax-tel)>label{left:108px}
#main-card #pax-fields>.input-group:has(#b-pax-tel),#main-card #pax-fields>.work-phone-row{grid-column:1/-1!important}
@media(prefers-reduced-motion:reduce){#main-card .transfer-passenger-track,#main-card .transfer-passenger-track:before{transition:none}}

/* Anrede: an attached field list replaces the Android modal select. */
#main-card .transfer-salutation-field>select[hidden]{display:none!important}
#main-card #step-3 .transfer-salutation-trigger{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;box-sizing:border-box;text-align:left;cursor:pointer;font-family:inherit;font-weight:400;line-height:20px}
#main-card .transfer-salutation-trigger>span:first-child{min-width:0;white-space:nowrap}
#main-card .transfer-salutation-trigger .transfer-select-chevron{flex:none;width:6px;height:6px;margin-right:2px}
#main-card .transfer-salutation-field.is-open{z-index:25}
#main-card .transfer-salutation-trigger[aria-expanded=true]{border-radius:10px 10px 0 0;border-color:#7d9481}
#main-card .transfer-salutation-trigger[aria-expanded=true] .transfer-select-chevron{transform:translateY(2px) rotate(225deg)}
#main-card .transfer-salutation-options{position:absolute;top:calc(100% - 1px);left:0;right:0;z-index:25;display:grid;box-sizing:border-box;padding:3px;background:#fff;border:1px solid #7d9481;border-top:0;border-radius:0 0 10px 10px;box-shadow:0 8px 16px #2129231f}
#main-card .transfer-salutation-options[hidden]{display:none!important}
#main-card .transfer-salutation-option{display:flex;align-items:center;justify-content:space-between;gap:2px;box-sizing:border-box;width:100%;min-height:40px;padding:8px 6px;border:0;border-radius:6px;background:#fff;color:#2f3930;text-align:left;font-family:inherit;font-size:13px;font-weight:400;cursor:pointer}
#main-card .transfer-salutation-option.is-active,#main-card .transfer-salutation-option:hover{background:#f0f2f0}
#main-card .transfer-salutation-option[aria-selected=true]{font-weight:600}
#main-card .transfer-salutation-option[aria-selected=true]:after{content:'✓';font-size:12px}
#main-card .transfer-salutation-trigger:focus-visible{outline:2px solid #2f3930;outline-offset:-2px}

/* Stop predictions stay next to the address and inside the keyboard-free area. */
#main-card #transfer-stop-editor .work-suggestions{margin:0;min-width:0;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
#main-card #transfer-stop-editor .work-suggestions button{min-height:48px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
#main-card #transfer-stop-editor .work-suggestions button strong,#main-card #transfer-stop-editor .work-suggestions button small{display:block}
#main-card #transfer-stop-editor .work-suggestions button small{margin-top:3px;font-size:12px;color:#566959}
@media(max-width:599px),(max-height:500px){
 #main-card #transfer-stop-editor.transfer-stop-searching{inset:var(--stop-view-top,8px) 0 auto;transform:none;margin:0 auto;height:var(--stop-view-height,calc(100dvh - 16px));max-height:var(--stop-view-height,calc(100dvh - 16px));border-radius:16px}
 #main-card #transfer-stop-editor.transfer-stop-searching>header{padding:6px 14px}
 #main-card #transfer-stop-editor.transfer-stop-searching .transfer-editor-body{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:8px 14px;overflow:hidden}
 #main-card #transfer-stop-editor.transfer-stop-searching .transfer-editor-tabs,
 #main-card #transfer-stop-editor.transfer-stop-searching .transfer-stop-allocation,
 #main-card #transfer-stop-editor.transfer-stop-searching .transfer-editor-body>.transfer-editor-button,
 #main-card #transfer-stop-editor.transfer-stop-searching .transfer-editor-body>.transfer-editor-remove,
 #main-card #transfer-stop-editor.transfer-stop-searching>footer,
 #main-card #transfer-stop-editor.transfer-stop-searching .transfer-stop-panel select,
 #main-card #transfer-stop-editor.transfer-stop-searching .transfer-stop-panel label[for$="-pax"]{display:none!important}
 #main-card #transfer-stop-editor.transfer-stop-searching .transfer-stop-panel:not([hidden]),
 #main-card #transfer-stop-editor.transfer-stop-searching .transfer-stop-panel>.input-group,
 #main-card #transfer-stop-editor.transfer-stop-searching .transfer-stop-panel .input-group>div:has(>input){display:flex!important;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;overflow:hidden}
 #main-card #transfer-stop-editor.transfer-stop-searching .transfer-stop-panel .input-group>div:has(>input){gap:6px!important}
 #main-card #transfer-stop-editor.transfer-stop-searching .transfer-stop-panel input{flex:none}
 #main-card #transfer-stop-editor.transfer-stop-searching .work-suggestions{flex:1 1 auto;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;border:1px solid #e1e4e2;box-shadow:none}
 #main-card #transfer-stop-editor.transfer-stop-searching .address-selection-status{flex:none;margin:0;font-size:13px;line-height:1.4}
}

/* Compact country picker anchored to the existing phone field. */
#main-card .transfer-phone>select[hidden]{display:none!important}
#main-card #step-3 .transfer-phone>.transfer-phone-trigger{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:9px 8px!important;font-family:inherit;font-size:13px!important;font-weight:500;line-height:1.2;white-space:nowrap;cursor:pointer}
#main-card .transfer-phone-trigger .transfer-select-chevron{flex:none;width:6px;height:6px;margin-right:2px}
#main-card .transfer-phone-trigger[aria-expanded=true]{border-color:#7d9481}
#main-card .transfer-phone-trigger:focus-visible{outline:2px solid #2f3930;outline-offset:-2px}
.transfer-phone-menu{position:fixed;inset:auto;z-index:2147483000;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:5px;border:1px solid #a9b8ab;border-radius:10px;background:#fff;color:#2f3930;box-shadow:0 7px 20px #21292326;font-family:Arial,sans-serif;overflow:hidden;isolation:isolate}
.transfer-phone-menu[hidden]{display:none!important}
.transfer-phone-menu::backdrop{background:transparent;pointer-events:none}
.transfer-phone-menu .transfer-phone-search{flex:none;box-sizing:border-box;width:100%;height:38px;min-height:38px;margin:0 0 4px;padding:7px 9px;border:1px solid #e0e3e0;border-radius:7px;background:#f7f8f7;color:#2f3930;font:400 16px/1.3 Arial,sans-serif;outline-offset:-2px}
.transfer-phone-options{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.transfer-phone-menu .transfer-phone-option{display:flex;align-items:center;justify-content:space-between;gap:10px;box-sizing:border-box;width:100%;min-height:40px;margin:0;padding:9px 8px;border:0;border-radius:6px;background:#fff;color:#2f3930;font:400 13px/1.35 Arial,sans-serif;text-align:left;cursor:pointer;touch-action:pan-y}
.transfer-phone-menu .transfer-phone-option[hidden],.transfer-phone-menu [hidden]{display:none!important}
.transfer-phone-option>span:first-child{min-width:0;overflow-wrap:anywhere}
.transfer-phone-option>span:last-child{flex:none;color:#536656;font-variant-numeric:tabular-nums}
.transfer-phone-menu .transfer-phone-option.is-active{background:#f0f2f0}
.transfer-phone-menu .transfer-phone-option[aria-selected=true]{font-weight:700;background:#eaf1ed}
.transfer-phone-empty{margin:8px;font-size:13px;line-height:1.4}
@media(hover:hover){.transfer-phone-menu .transfer-phone-option:hover{background:#f0f2f0}}

/* Explicit address choice, compact and usable with touch or keyboard. */
#main-card #step-3 .flow-body .transfer-billing-switch{gap:10px;min-height:44px!important}
#main-card #step-3 .transfer-billing-switch .switch-text{flex:1;min-width:0;font-size:12px!important;font-weight:500;line-height:1.3!important;color:#38453a}
#main-card #c-same-adr[hidden]{display:none!important}
#main-card .transfer-billing-choices{display:flex;flex:none;align-items:center;gap:2px;padding:3px;background:#eff1f0;border:1px solid #dee1de;border-radius:10px;box-sizing:border-box}
#main-card #step-3 .transfer-billing-choice{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:44px;min-height:36px;margin:0;padding:5px 8px;border:0;border-radius:7px;background:transparent;color:#566959;font-weight:500;line-height:1.2;font-family:inherit;font-size:12px;cursor:pointer;touch-action:manipulation}
#main-card #step-3 .transfer-billing-choice[aria-pressed=true]{background:#fff;color:#1e251f;font-weight:650;box-shadow:0 1px 4px #1e251f24}
#main-card #step-3 .transfer-billing-choice:focus-visible{outline:2px solid #2f3930;outline-offset:-2px}

/* Time choices open at their field, without a native full-screen selector. */
#main-card .transfer-time-field{position:relative;min-width:0}
#main-card .transfer-time-field .transfer-time-source{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%);padding:0!important;border:0!important}
#main-card #step-1 .transfer-time-trigger{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;min-width:0;text-align:left;font-family:inherit;font-weight:400;cursor:pointer;font-variant-numeric:tabular-nums}
#main-card .transfer-time-trigger>span:first-child{min-width:0;white-space:nowrap}
#main-card .transfer-time-trigger .transfer-select-chevron{width:6px;height:6px;margin-right:1px}
#main-card .transfer-time-trigger[aria-expanded=true]{background:#fff!important;border-color:#7d9481!important}
#main-card .transfer-time-trigger[aria-expanded=true] .transfer-select-chevron{transform:translateY(2px) rotate(225deg)}
#main-card .transfer-time-trigger[aria-invalid=true]{border-color:#b91c1c!important}
#main-card .transfer-time-picker{position:fixed;inset:auto;z-index:1000;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;box-sizing:border-box;margin:0;padding:5px;background:#fff;color:#2b352d;border:1px solid #9aad9d;border-radius:10px;box-shadow:0 8px 20px #21292324;overflow:hidden;font-family:inherit}
#main-card .transfer-time-picker[hidden]{display:none!important}
#main-card .transfer-time-picker::backdrop{background:transparent;pointer-events:none}
#main-card .transfer-time-column{min-width:0;text-align:center}
#main-card .transfer-time-caption{display:block;height:20px;font-size:11px;line-height:20px;color:#65727d;font-weight:500}
#main-card .transfer-time-wheel{position:relative;box-sizing:border-box;height:108px;padding:36px 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:linear-gradient(to bottom,#fff 0 36px,#f1f3f2 36px 72px,#fff 72px);border-radius:7px;outline:none}
#main-card .transfer-time-wheel::-webkit-scrollbar{display:none}
#main-card .transfer-time-option{display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:36px;min-height:36px;padding:0;scroll-snap-align:center;scroll-snap-stop:normal;cursor:pointer;color:#71808b;font-size:16px;line-height:36px;font-weight:400;font-variant-numeric:tabular-nums;user-select:none;-webkit-user-select:none}
#main-card .transfer-time-option[aria-selected=true]{font-weight:650;color:#141915}
#main-card .transfer-time-wheel:focus-visible{outline:2px solid #b59b12;outline-offset:-2px}
#main-card .transfer-time-hint{grid-column:1/-1;font-size:10px;line-height:16px;text-align:center;color:#68747e;white-space:nowrap}

/* Bestelleradresse: same green/grey control as the passenger choice. */
#main-card #step-3 .transfer-billing-toggle{position:relative;display:flex!important;align-items:center;justify-content:center;flex:none;width:44px;min-height:44px;margin:0!important;padding:0!important;cursor:pointer}
#main-card #step-3 #c-same-adr{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;min-height:44px;margin:0;opacity:0;cursor:pointer}
#main-card #c-same-adr:checked+.transfer-passenger-track{background:#23bf64}
#main-card #c-same-adr:checked+.transfer-passenger-track:before{transform:translateX(14px)}
#main-card .transfer-billing-toggle:has(input:focus-visible){outline:2px solid #2f3930;outline-offset:-2px;border-radius:10px}
#main-card .transfer-address-toolbar{display:none}
@media(max-width:599px),(max-height:500px){
 #main-card.billing-address-editing{top:var(--billing-view-top,0px)!important;height:var(--billing-view-height,100dvh)!important;bottom:auto!important;overflow:hidden!important}
 #main-card.billing-address-editing #airport-hero-map,#main-card.billing-address-editing .journey-air-header,#main-card.billing-address-editing .journey-air-map-header{display:none!important}
 #main-card.billing-address-editing .panel-left{flex:1 1 auto!important;height:100%!important;min-height:0!important;max-height:100%!important;padding:8px 14px!important;border-radius:0!important;overflow:hidden!important}
 #main-card.billing-address-editing #step-3{flex:1 1 auto!important;min-height:0;overflow:hidden!important}
 #main-card.billing-address-editing #step-3>.flow-footer,#main-card.billing-address-editing #step-3>.flow-error{display:none!important}
 #main-card.billing-address-editing #step-3 .flow-body{flex:1 1 auto!important;min-height:0;overflow:hidden!important;gap:0!important}
 #main-card.billing-address-editing #step-3 .flow-body>:not(.transfer-billing-fields),#main-card.billing-address-editing #step-3 .flow-body .flow-contact-fields:has(#b-tel){display:none!important}
 #main-card.billing-address-editing .transfer-billing-fields{display:flex!important;flex:1 1 auto;min-height:0;gap:8px;overflow:hidden}
 #main-card.billing-address-editing #step-3 .transfer-billing-switch{display:none!important}
 #main-card.billing-address-editing .transfer-address-toolbar{display:flex;flex:none;align-items:center;gap:12px;min-height:36px;font-size:13px;font-weight:600;color:#38453a}
 #main-card.billing-address-editing .transfer-address-close{flex:none;min-height:36px;padding:6px 10px;border:1px solid #dee1de;border-radius:9px;background:#f6f7f6;color:#2f3930;font:inherit;cursor:pointer}
 #main-card.billing-address-editing #step-3 .transfer-billing-fields>.input-group{display:flex!important;flex-direction:column;flex:1 1 auto;min-height:0;max-height:100%;overflow:hidden;gap:6px}
 #main-card.billing-address-editing #step-3 #b-address{flex:none;font-size:16px!important}
 #main-card.billing-address-editing #b-address-suggestions{position:static!important;flex:1 1 auto!important;min-height:0;max-height:none!important;width:100%!important;margin:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;border:1px solid #dee1de;border-radius:10px;box-shadow:none}
 #main-card.billing-address-editing #b-address-suggestions button{min-height:48px;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
 #main-card.billing-address-editing #b-address-suggestions button strong,#main-card.billing-address-editing #b-address-suggestions button small{display:block}
 #main-card.billing-address-editing #b-address-suggestions button small{margin-top:3px;font-size:12px;color:#566959}
 #main-card.billing-address-editing #b-address-selection-status{flex:none;font-size:12px;margin:0}
}

/* Immediate count selection anchored to each original field. */
#main-card select.transfer-count-source{display:none!important}
#main-card .transfer-count-trigger{display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;box-sizing:border-box;text-align:left;font-family:inherit;font-weight:400;cursor:pointer}
#main-card .transfer-count-trigger .transfer-select-chevron{width:6px;height:6px;margin-right:2px}
#main-card .transfer-count-trigger[aria-expanded=true]{background:#fff!important;border-color:#7d9481!important}
#main-card .transfer-count-trigger[aria-expanded=true] .transfer-select-chevron{transform:translateY(2px) rotate(225deg)}
#main-card .transfer-count-trigger:focus-visible{outline:2px solid #2f3930;outline-offset:-2px}
#main-card .transfer-count-trigger[aria-invalid=true]{border-color:#b91c1c!important}
#main-card .transfer-count-picker{position:fixed;inset:auto;z-index:1000;box-sizing:border-box;margin:0;padding:4px;max-height:184px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;border:1px solid #9aad9d;border-radius:10px;background:#fff;color:#2b352d;box-shadow:0 8px 20px #21292324;scrollbar-width:thin;font-family:inherit}
#main-card .transfer-count-picker[hidden]{display:none!important}
#main-card .transfer-count-picker::backdrop{background:transparent;pointer-events:none}
#main-card .transfer-count-option{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;min-height:44px;padding:8px 10px;border-radius:6px;font-size:15px;cursor:pointer;user-select:none;-webkit-user-select:none}
#main-card .transfer-count-option.is-active,#main-card .transfer-count-option:hover{background:#f0f2f0}
#main-card .transfer-count-option[aria-selected=true]{font-weight:650}
#main-card .transfer-count-option[aria-selected=true]:after{content:'✓';font-size:12px}


/* Visible, accessible transfer phone feedback. */
#main-card #step-3 .transfer-phone-error{display:block;position:static;box-sizing:border-box;margin:5px 2px 2px;padding:0;color:#a32d2d;font-size:13px;line-height:1.35;font-weight:500;text-align:left;white-space:normal;overflow-wrap:anywhere}
#main-card #step-3 .transfer-phone-error[hidden]{display:none!important}
#main-card #step-3 input.transfer-phone-invalid{border:2px solid #b33a3a!important;background:#fff7f7!important;box-shadow:0 0 0 1px #b33a3a22!important}
#main-card #step-3 input.transfer-phone-invalid:focus{outline:2px solid #b33a3a;outline-offset:2px}
