.p-picker-dialog{width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border:1px solid #d8c9ae;border-radius:14px;background:#fffdf8;color:#102e48;box-shadow:0 20px 80px #08263e40;font:14px/1.5 Arial,sans-serif}
.p-picker-dialog::backdrop{background:#08263e75;backdrop-filter:blur(3px)}
.p-picker-head,.p-picker-month{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.p-picker-dialog button{font:inherit;cursor:pointer;border:1px solid #e3ddd0;background:#f5f1e9;color:#102e48;border-radius:7px;min-height:42px;min-width:38px}
.p-picker-dialog button:disabled{opacity:.3;cursor:default}.p-picker-dialog button:focus-visible,.p-picker-dialog select:focus-visible{outline:3px solid #b58436;outline-offset:2px}
.p-picker-head>button{font-size:24px}.p-picker-month>strong{text-align:center}
.p-picker-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.p-picker-calendar>span{font-size:10px;text-align:center;padding:6px 0;overflow:hidden}
.p-picker-calendar>button{min-width:0}.p-picker-calendar>button:hover,.p-picker-calendar>button[aria-current]{background:#fac56e;border-color:#d7a14b}
.p-picker-time{display:flex;align-items:center;justify-content:center;gap:14px;margin:28px 0;direction:ltr}.p-picker-time select{font:24px Arial,sans-serif;padding:12px;border:1px solid #c8bca5;border-radius:8px;background:white;color:#102e48;min-width:95px}
.p-picker-dialog>.p-button{width:100%;background:#fac56e;font-weight:bold;min-height:46px}
.p-passenger-field{display:flex;flex-direction:column;gap:6px;min-width:0}.p-passenger-field>span{font-size:11px;font-weight:600;line-height:1.4}
.p-passengers{position:relative;color:#102e48;min-width:0}.p-passengers>summary{min-height:46px;padding:12px 10px;border:1px solid #e6e5e1;border-radius:6px;background:#fff;cursor:pointer;font-size:12px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-passengers>summary::-webkit-details-marker{display:none}.p-passengers>summary::after{content:'⌄';margin-inline-start:6px}.p-passengers>summary:focus-visible{outline:3px solid #b58436;outline-offset:2px}
.p-passenger-panel{position:absolute;z-index:40;inset-block-end:calc(100% + 8px);inset-inline-end:0;width:min(300px,calc(100vw - 40px));padding:18px;border:1px solid #d8c9ae;border-radius:10px;background:#fffdf8;color:#102e48;box-shadow:0 12px 36px #08263e30}
.p-search:has(.p-passengers[open]){z-index:50}
.protso-home .p-passenger-panel>label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.protso-home .p-passenger-panel>label>span{font-size:14px}.protso-home .p-passenger-panel input{width:80px;min-width:80px;font-size:16px}.protso-home .p-passenger-panel>.p-button{width:100%;min-height:44px}
.protso-home .p-transfer-fields>.p-passenger-field{grid-column:span 1}.flow-main .p-passenger-field>span{font-size:14px;font-weight:normal}.flow-main .p-passengers>summary{min-height:48px;font-size:14px;border-color:#c8c5bd}
.protso-home .p-service-line{background:linear-gradient(105deg,#102e48 38%,#87652c 46%,#f5dba0 50%,#87652c 54%,#102e48 62%);background-size:300% 100%;background-position:100% 0;color:transparent;background-clip:text;-webkit-background-clip:text;animation:protso-metal 5s ease-in-out infinite}
@keyframes protso-metal{0%,40%{background-position:100% 0}88%,100%{background-position:0 0}}
@media(max-width:1100px){.protso-home .p-transfer-fields>.p-passenger-field{grid-column:span 2}.p-passenger-panel{inset-inline-start:0;inset-inline-end:auto}}
@media(max-width:500px){.p-passenger-field>span{font-size:12px}.p-passengers>summary{min-height:48px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.protso-home .p-service-line{animation:none;background:none;color:#102e48}}
@media(forced-colors:active){.protso-home .p-service-line{animation:none;background:none;color:CanvasText}}

/* Searchable curated airport/city shortcuts; arbitrary addresses remain valid. */
.p-location-field{position:relative;width:100%;min-width:0}.p-location-list{position:absolute;inset-inline:0;top:calc(100% + 6px);z-index:60;max-height:310px;overflow:auto;overscroll-behavior:contain;background:#fff;color:#102e48;border:1px solid #ccd6df;border-radius:8px;box-shadow:0 10px 30px #08263e30;min-width:100%;text-align:start}.p-location-list[hidden]{display:none}.p-location-option{display:flex;align-items:center;gap:10px;padding:11px 12px;cursor:pointer;line-height:1.4;border-bottom:1px solid #edf0f3}.p-location-option:last-child{border:0}.p-location-option>span:first-child{color:#806025;font-size:20px;flex:none}.p-location-option>span:last-child{min-width:0}.p-location-option strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.p-location-option small{display:block;font-size:11px;color:#536979;margin-top:2px;overflow-wrap:anywhere}.p-location-option:hover,.p-location-option[aria-selected=true]{background:#fff0d7}.p-location-manual{background:#f5f8fa}.p-search:has(.p-location-list:not([hidden])){z-index:55}.flow-main label:has(.p-location-list:not([hidden])){position:relative;z-index:65}
@media(max-width:500px){.p-location-list{max-height:270px}.p-location-option{min-height:52px}}

.p-location-status{padding:12px;font-size:12px;line-height:1.5;color:#536979}.p-location-status:empty{display:none}.p-location-credit{padding:10px 12px 6px;text-align:end;font:400 12px/1.4 Arial,sans-serif;color:#5e5e5e;letter-spacing:normal;white-space:nowrap;border-top:1px solid #edf0f3}.p-location-credit[hidden]{display:none}

.p-location-list{max-height:none;overflow:visible}.p-location-list>[role=listbox]{max-height:260px;overflow:auto;overscroll-behavior:contain}@media(max-width:500px){.p-location-list>[role=listbox]{max-height:230px}}

.p-location-loading{position:absolute;inset-inline-end:12px;top:50%;width:15px;height:15px;margin-top:-7.5px;border:2px solid #dbe3e9;border-top-color:#94702f;border-radius:50%;animation:p-location-spin .7s linear infinite;pointer-events:none}.p-location-loading[hidden]{display:none}.p-location-field:has(.p-location-loading:not([hidden]))>input{padding-inline-end:36px}@keyframes p-location-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.p-location-loading{animation:none;border-style:dotted}}

.p-picker-dialog.p-picker-anchored{position:fixed;inset:auto;margin:0;z-index:1000;width:min(340px,calc(100vw - 16px));max-height:calc(100dvh - 16px);padding:16px;box-shadow:0 12px 36px #08263e30}
.p-picker-anchored .p-picker-head,.p-picker-anchored .p-picker-month{margin-bottom:10px}.p-picker-anchored .p-picker-time{margin:16px 0}
.protso-home .p-home-return-toggle{display:flex;flex-direction:row;align-items:center;gap:9px;width:fit-content;margin:0 0 16px;cursor:pointer;color:#fff}
.protso-home .p-home-return-toggle input{width:19px;height:19px;accent-color:#fac56e;cursor:pointer;margin:0}.protso-home .p-home-return-toggle>span{font-size:13px}
.protso-home .p-home-return-fields{grid-column:1/7;display:grid;grid-template-columns:1fr 1fr;gap:8px}.protso-home .p-home-return-fields[hidden]{display:none}
.protso-home .p-transfer:has([data-home-return]:checked) .p-transfer-fields>.p-button{grid-column:7/9;grid-row:3}
.protso-home .p-transfer-fields>.p-passenger-field{grid-column:span 2;align-self:end}
.protso-home .p-party-summary{display:flex;align-items:center;justify-content:center;gap:9px;height:46px}.p-party-summary svg{width:20px;height:20px;flex:none}
.protso-home .p-passenger-panel{position:fixed;inset:auto;max-height:min(430px,calc(100dvh - 24px));overflow:auto}
.protso-home .p-passenger-panel hr{border:0;border-top:1px solid #dfd8cb;margin:15px 0}.protso-home .p-passenger-panel>label{grid-column:auto}
.protso-home .p-passenger-field>.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1100px){.protso-home .p-home-return-fields{grid-column:1/-1}.protso-home .p-transfer:has([data-home-return]:checked) .p-transfer-fields>.p-button{grid-column:1/-1;grid-row:auto}.protso-home .p-transfer-fields>.p-passenger-field{grid-column:span 2}}

/* Compact calendar, clock and party controls with explicit clock steppers. */
.p-picker-dialog.p-picker-anchored{width:min(286px,calc(100vw - 16px));padding:12px}
.p-picker-anchored .p-picker-head,.p-picker-anchored .p-picker-month{gap:6px;margin-bottom:8px}
.p-picker-anchored button{min-height:34px;min-width:30px}.p-picker-anchored .p-picker-calendar>button{min-width:0}
.p-picker-anchored .p-picker-calendar{gap:3px}.p-picker-anchored .p-picker-calendar>span{padding:3px 0;font-size:9px}
.p-picker-dialog.p-clock-picker{width:min(250px,calc(100vw - 16px))}
.p-clock-picker .p-picker-time{margin:12px 0;gap:8px}.p-clock-picker .p-picker-time>span{font-size:25px;font-weight:600}
.p-clock-part{display:grid;grid-template-columns:58px 28px;grid-template-rows:28px 28px;border:1px solid #d8c9ae;border-radius:7px;overflow:hidden;background:white}
.p-clock-part input{grid-row:1/3;width:58px;min-width:0;padding:5px;border:0;border-radius:0;text-align:center;font:600 24px/1.2 Arial,sans-serif;color:#102e48;background:white;appearance:textfield;-moz-appearance:textfield}
.p-clock-part input::-webkit-inner-spin-button,.p-clock-part input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.p-clock-part button{min-width:0;min-height:0;border:0;border-inline-start:1px solid #e4dccd;border-radius:0;font-size:18px;line-height:1;padding:0}.p-clock-part button+button{border-top:1px solid #e4dccd}
.protso-home .p-passenger-panel{width:min(260px,calc(100vw - 16px));padding:12px}
.protso-home .p-passenger-panel>label{margin-bottom:8px;gap:12px}.protso-home .p-passenger-panel>label>span{font-size:13px}
.protso-home .p-passenger-panel input{width:64px;min-width:64px;height:38px;min-height:38px;font-size:15px;padding:6px 8px}
.protso-home .p-passenger-panel hr{margin:11px 0}.protso-home .p-passenger-panel>.p-button{min-height:38px;padding:7px 10px}
.protso-home .p-party-summary{height:42px;min-height:42px;padding:8px;gap:7px}.p-party-summary svg{width:18px;height:18px}
.protso-home .p-transfer-fields input[type=date],.protso-home .p-transfer-fields input[name=time],.protso-home .p-home-return-fields input{height:42px;min-height:42px;padding:7px 8px}
.p-picker-dialog.p-picker-anchored:not(.p-clock-picker){width:min(224px,calc(100vw - 16px));padding:8px}
.p-picker-anchored:not(.p-clock-picker) .p-picker-calendar{gap:2px}
.p-picker-anchored:not(.p-clock-picker) .p-picker-calendar>button{min-height:26px;padding:2px;font-size:11px}
.p-picker-anchored:not(.p-clock-picker) .p-picker-head,.p-picker-anchored:not(.p-clock-picker) .p-picker-month{margin-bottom:5px;font-size:12px}
.p-picker-anchored:not(.p-clock-picker) .p-picker-head>button,.p-picker-anchored:not(.p-clock-picker) .p-picker-month>button{min-height:28px;min-width:28px}
.p-picker-anchored:not(.p-clock-picker) .p-picker-calendar>span{padding:2px 0;font-size:9px}

/* Visible confirmation for a verified autocomplete selection. */
.p-location-selected{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);color:#26714b;font-size:19px;font-weight:700;pointer-events:none}.p-location-selected[hidden]{display:none}.p-location-field:has(.p-location-selected:not([hidden]))>input{padding-inline-end:36px;border-color:#64917a}.p-location-option{touch-action:pan-y;-webkit-tap-highlight-color:transparent}

/* Mobile pickers use touch targets instead of the compact desktop controls. */
@media(max-width:600px){
 .p-picker-dialog.p-picker-anchored.p-mobile-picker{box-sizing:border-box;position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:88dvh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;border:0;box-shadow:0 -8px 40px #08263e35;overflow-y:auto}
 .p-mobile-picker::backdrop{background:#08263e70;backdrop-filter:blur(2px)}
 .p-mobile-picker .p-picker-head{margin:0 0 12px;min-height:44px;font-size:17px}
 .p-mobile-picker .p-picker-head>button,.p-mobile-picker .p-picker-month>button{min-width:44px;min-height:44px;font-size:26px}
 .p-mobile-picker:not(.p-clock-picker) .p-picker-head,.p-mobile-picker:not(.p-clock-picker) .p-picker-month{margin-bottom:10px;font-size:16px}
 .p-mobile-picker:not(.p-clock-picker) .p-picker-head>button,.p-mobile-picker:not(.p-clock-picker) .p-picker-month>button{min-width:44px;min-height:44px}
 .p-mobile-picker:not(.p-clock-picker) .p-picker-calendar{gap:3px}
 .p-mobile-picker:not(.p-clock-picker) .p-picker-calendar>button{min-height:44px;padding:4px;font-size:16px;touch-action:manipulation}
 .p-mobile-picker:not(.p-clock-picker) .p-picker-calendar>span{font-size:11px;padding:6px 0}
 .p-clock-preview{display:block;text-align:center;direction:ltr;font:600 32px/1.2 Arial,sans-serif;letter-spacing:2px;color:#102e48;margin:0 0 14px}
 .p-clock-section-label{font:600 13px/1.2 Arial,sans-serif;color:#607588;margin:12px 0 8px;text-align:start}
 .p-clock-hours{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;direction:ltr}
 .p-clock-hours>button,.p-clock-minutes>button{min-height:44px;font-size:17px;background:#f1f5f8;border-color:#dce5eb;touch-action:manipulation}
 .p-clock-hours>button[aria-pressed=true],.p-clock-minutes>button[aria-pressed=true]{background:#102e48;color:#fff;border-color:#102e48}
 .p-clock-minutes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;direction:ltr}
 .p-clock-minutes>input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:5px;text-align:center;font:600 18px/1.2 Arial,sans-serif;border:1px solid #9aabba;border-radius:7px;background:#fff;color:#102e48;appearance:textfield}
 .p-clock-minutes>input::-webkit-inner-spin-button,.p-clock-minutes>input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
 .p-mobile-picker.p-clock-picker>.p-button{margin-top:18px;min-height:48px;font-size:16px}
}

.p-picker-error{color:#9e3027;background:#fff0ed;border-radius:8px;padding:10px;font:14px/1.5 Arial,sans-serif;margin:0 0 10px}

/* A single date trigger prevents native/custom picker hand-offs in Safari. */
.p-date-trigger{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;min-height:42px;padding:7px 8px;border:1px solid #c8c5bd;border-radius:6px;background:#fff;color:#102e48;font:16px/1.4 Arial,sans-serif;text-align:start;cursor:pointer}
.p-date-trigger svg{width:18px;height:18px;flex:none}.p-date-trigger:focus-visible{outline:3px solid #b58436;outline-offset:2px}.p-date-trigger:disabled{opacity:.5;cursor:default}
.p-location-option{width:100%;text-align:start;background:#fff;border:0;border-bottom:1px solid #edf0f3;border-radius:0;font-family:inherit;touch-action:manipulation}
.p-location-change{position:absolute;inset-inline-end:3px;top:50%;transform:translateY(-50%);width:40px;height:40px;min-height:0;padding:0;border:0;border-radius:6px;background:transparent;color:#536979;font:24px/1 Arial,sans-serif;cursor:pointer;touch-action:manipulation}
.p-location-change[hidden]{display:none}.p-location-field:has(.p-location-change:not([hidden]))>input{padding-inline-end:70px}.p-location-field:has(.p-location-change:not([hidden])) .p-location-selected,.p-location-field:has(.p-location-change:not([hidden])) .p-location-loading{inset-inline-end:48px}
@media(max-width:600px){
 .p-picker-dialog.p-picker-anchored.p-mobile-picker.p-calendar-picker{inset:auto;margin:0;width:min(344px,calc(100vw - 16px));max-height:calc(100dvh - 16px);padding:12px;border:1px solid #d8c9ae;border-radius:14px}
 .p-mobile-picker.p-calendar-picker::backdrop{background:#08263e25;backdrop-filter:none}
 .p-mobile-picker.p-calendar-picker .p-picker-head{font-size:15px;margin-bottom:8px}
 .p-mobile-picker.p-calendar-picker .p-picker-calendar{gap:2px}
}
