/* Airport picker and search controls: independently versioned to avoid stale theme CSS. */
#airport-dialog{font:14px/1.55 Arial,Helvetica,sans-serif;color:#17345c;box-sizing:border-box;width:min(740px,calc(100vw - 32px));max-width:740px;max-height:min(780px,90vh);max-height:min(780px,90dvh);margin:auto;border:1px solid #e3ebf7;border-radius:24px;padding:30px;overflow:hidden;background:#fff;box-shadow:0 28px 90px #10234440}
#airport-dialog[open]{display:flex;flex-direction:column;gap:0}
#airport-dialog *,#airport-dialog *::before,#airport-dialog *::after{box-sizing:border-box}
#airport-dialog::backdrop{background:#0b1b3c80;backdrop-filter:blur(3px)}
#airport-dialog .close{position:absolute;top:16px;right:16px;width:34px;height:34px;display:grid;place-items:center;background:#f0f4fa;border:0;border-radius:50%;padding:0;color:#415677;font:25px/1 Arial;cursor:pointer}
#airport-dialog .picker-eyebrow{margin:2px 40px 0 0;color:#4783c8;font-size:10px;font-weight:700;letter-spacing:1.6px}
#airport-dialog h2{margin:8px 40px 22px 0;font-size:25px;line-height:1.3;color:#17345c;font-weight:700}
#airport-dialog #airport-search{flex-shrink:0;display:block;width:100%;min-height:49px;border:1px solid #d5e1f1;border-radius:12px;padding:12px 16px;background:#f7faff;color:#18365c;font:14px Arial;outline-offset:2px}
#airport-dialog #airport-search:focus{border-color:#3d82eb;outline:3px solid #3d82eb24}
#airport-dialog .airport-tabs{display:flex;flex-shrink:0;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0 14px}
#airport-dialog .airport-tabs button{appearance:none;display:inline-flex;justify-content:center;align-items:center;min-height:36px;padding:7px 15px;border:1px solid #dce5f2;border-radius:22px;background:#fff;color:#6a7d97;font:600 12px Arial;cursor:pointer}
#airport-dialog .airport-tabs button.selected{background:#123eaa;border-color:#123eaa;color:#fff;box-shadow:0 4px 10px #123eaa15}
#airport-dialog #airport-count{margin-left:auto;font-size:11px;color:#8293ab;white-space:nowrap}
#airport-dialog #airport-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c8d5e7 transparent;gap:8px;padding:2px 6px 2px 0}
#airport-dialog .airport-option{appearance:none;display:flex;align-items:center;gap:11px;width:100%;min-width:0;min-height:76px;border:1px solid #e9eef6;border-radius:13px;padding:13px 12px;background:#fff;color:#17345c;text-align:left;font:14px Arial;cursor:pointer;transition:background .15s,border-color .15s}
#airport-dialog .airport-option:hover{background:#f1f7ff;border-color:#b7d4fb}
#airport-dialog .airport-option:focus-visible{outline:2px solid #4289ed;outline-offset:-2px;background:#f1f7ff}
#airport-dialog .airport-location{display:grid;place-items:center;flex:0 0 30px;width:30px;height:35px;border-radius:9px;background:#eef5ff;color:#6991c6;font-size:22px}
#airport-dialog .airport-option>span:nth-child(2){flex:1;min-width:0}
#airport-dialog .airport-option strong{display:block;color:#213f66;font-size:14px;line-height:1.4;font-weight:600}
#airport-dialog .airport-option small{display:block;margin-top:5px;color:#8190a7;font-size:11px;line-height:1.45}
#airport-dialog .airport-option b{display:block;flex-shrink:0;margin-left:auto;border-radius:7px;background:#edf3fd;color:#3e71b6;padding:5px 8px;font-size:11px;letter-spacing:.5px}
#flight-form .search-grid{display:grid;grid-template-columns:minmax(0,1.2fr) 36px minmax(0,1.2fr) minmax(0,.95fr) minmax(0,.95fr) 58px;align-items:end;gap:12px}
#flight-form .search-grid .field{display:block;min-width:0;color:#74859d;font-size:12px;line-height:1.4}
#flight-form .search-grid .field input{appearance:none;display:block;width:100%;height:52px;min-width:0;margin-top:8px;border:1px solid #d9e3f1;border-radius:13px;padding:0 14px;background:#fff;color:#18375d;font:14px Arial;box-shadow:none}
#flight-form .search-grid .field input:focus{outline:3px solid #4c91ec22;border-color:#4c91ec}
#flight-form .search-grid .field input[readonly]{cursor:pointer;padding-right:34px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23667f9e' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center}
#flight-form .search-grid .field input:disabled{background:#f5f7fb;color:#a7b3c4;cursor:not-allowed}
#flight-form .search-grid .swap{display:grid;place-items:center;align-self:end;width:36px;height:36px;margin:0 0 8px;padding:0;border:1px solid #dce6f4;border-radius:50%;background:#fff;color:#1e63cd;font-size:20px}
#flight-form .search-submit{display:grid;place-items:center;align-self:end;width:58px;height:58px;margin:0;padding:0;border:0;border-radius:50%;background:#062aa9;color:#fff;box-shadow:0 5px 15px #062aa91a}
#flight-form .search-submit svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
#flight-form .passengers{flex-wrap:wrap;min-width:0;gap:10px}
#flight-form .passengers label{display:flex;align-items:center;gap:8px;min-width:0;color:#75859a;font-size:13px}
#flight-form .passengers select{width:auto;max-width:none;min-height:36px;border:1px solid #e5ebf5;background:#f7f9fd;color:#244567;border-radius:9px;padding:7px 10px;margin:0;font-size:12px}
@media(max-width:1000px){#flight-form .search-grid{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 58px;gap:14px}#flight-form .search-grid .field:nth-of-type(3){grid-column:1/3}#flight-form .search-grid .field:nth-of-type(4){grid-column:3}#flight-form .search-submit{grid-column:4;grid-row:1/3;align-self:center}.trip-options{flex-wrap:wrap}}
@media(max-width:600px){#airport-dialog{width:calc(100vw - 20px);max-height:90vh;max-height:90dvh;padding:24px 16px 16px;border-radius:20px}#airport-dialog h2{font-size:21px;margin-bottom:17px}#airport-dialog #airport-list{grid-template-columns:1fr}#airport-dialog .airport-option{min-height:70px}#airport-dialog .airport-tabs{gap:6px}#airport-dialog .airport-tabs button{padding:7px 12px;font-size:11px}#airport-dialog #airport-count{font-size:10px}#flight-form .search-grid{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:12px}#flight-form .search-grid .swap{display:grid;width:32px;height:32px;margin-bottom:10px}#flight-form .search-grid .field:nth-of-type(3){grid-column:1/3}#flight-form .search-grid .field:nth-of-type(4){grid-column:3}#flight-form .search-submit{grid-column:1/-1;grid-row:auto;width:100%;height:46px;border-radius:12px}#flight-form .search-grid .field input{height:50px;padding-left:10px;font-size:12px}#flight-form .passengers{width:100%;justify-content:flex-start}#flight-form .passengers select{max-width:100%}}
