.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}}
