/* BALISTORY airport pickup */
.airport-page{background:#f6f8fc;min-height:70vh;padding:38px 18px 80px;color:#071436}
.airport-inner{max-width:1120px;margin:0 auto}
.airport-hero{background:linear-gradient(135deg,#0a2f77,#1e70ff);border-radius:24px;padding:34px 36px;color:#fff;box-shadow:0 20px 45px rgba(16,67,158,.18);position:relative;overflow:hidden}
.airport-hero:after{content:"✈";position:absolute;right:28px;top:8px;font-size:120px;opacity:.08;transform:rotate(-10deg)}
.airport-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;opacity:.8;margin-bottom:8px}
.airport-hero h1{margin:0;font-size:32px;line-height:1.25}
.airport-hero p{margin:10px 0 0;font-size:14px;line-height:1.7;opacity:.9}
.airport-search-card{background:#fff;border-radius:18px;margin-top:-6px;padding:24px;box-shadow:0 14px 34px rgba(7,20,54,.09);position:relative;z-index:2}
.airport-search-grid{display:grid;grid-template-columns:1.1fr 1.1fr .9fr 1.5fr auto;gap:14px;align-items:end}
.airport-field label{display:block;font-size:11px;font-weight:800;color:#5b6780;margin:0 0 8px}
.airport-field input,.airport-field select{width:100%;height:46px;border:1px solid #dce3ef;border-radius:8px;background:#fff;color:#172247;padding:0 12px;font-size:13px;outline:none;transition:.2s}
.airport-field input:focus,.airport-field select:focus{border-color:#1e70ff;box-shadow:0 0 0 3px rgba(30,112,255,.09)}
.airport-field .locked{background:#f5f7fb;color:#5f6b82}
.airport-people{height:46px;border:1px solid #dce3ef;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 12px;cursor:pointer;font-size:13px;color:#172247}
.airport-people b{font-size:12px;color:#1e70ff}
.airport-search-btn{height:46px;border:0;border-radius:8px;background:#1e47c7;color:#fff;font-size:13px;font-weight:800;padding:0 24px;cursor:pointer;box-shadow:0 8px 18px rgba(30,71,199,.2)}
.airport-search-btn:hover{background:#1739aa}
.airport-people-panel{display:none;margin-top:14px;border-top:1px solid #edf1f7;padding-top:16px;grid-template-columns:repeat(4,1fr);gap:12px}
.airport-people-panel.open{display:grid}
.airport-person-item{background:#f8faff;border:1px solid #e8edf6;border-radius:10px;padding:12px}
.airport-person-item .ttl{font-size:12px;font-weight:800;margin-bottom:8px}.airport-person-item small{font-weight:400;color:#8b95a8;margin-left:4px}
.airport-counter{display:grid;grid-template-columns:34px 1fr 34px;gap:8px;align-items:center}
.airport-counter button{height:34px;border:1px solid #dce3ef;background:#fff;border-radius:7px;font-size:18px;cursor:pointer}
.airport-counter strong{text-align:center;font-size:15px}
.airport-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 0}
.airport-guide-item{background:#fff;border:1px solid #e8edf6;border-radius:14px;padding:16px;display:flex;gap:12px;align-items:flex-start}
.airport-guide-item i{width:36px;height:36px;border-radius:10px;background:#edf4ff;color:#1e70ff;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:18px;flex:none}
.airport-guide-item b{display:block;font-size:13px;margin-bottom:4px}.airport-guide-item p{margin:0;color:#7b869b;font-size:12px;line-height:1.5}
.airport-result{margin-top:26px}
.airport-result-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.airport-result-head h2{font-size:21px;margin:0}.airport-result-head p{margin:0;color:#7b869b;font-size:12px}
.airport-result-card{background:#fff;border:1px solid #e4eaf3;border-radius:18px;padding:22px;box-shadow:0 10px 26px rgba(7,20,54,.06);display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.airport-route{font-size:18px;font-weight:900}.airport-route .arrow{color:#1e70ff;margin:0 8px}.airport-result-meta{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.airport-chip{font-size:11px;font-weight:700;background:#f3f6fb;color:#58647b;border-radius:20px;padding:7px 10px}.airport-chip.blue{background:#edf4ff;color:#1e70ff}
.airport-result-note{margin-top:11px;color:#7b869b;font-size:12px;line-height:1.6}
.airport-price{text-align:right}.airport-price small{display:block;color:#8b95a8;font-size:11px;margin-bottom:4px}.airport-price strong{font-size:27px;color:#0b2b63}.airport-price em{font-style:normal;font-size:12px;color:#7b869b;margin-left:3px}
.airport-cart-btn{margin-top:12px;height:42px;border:0;border-radius:8px;background:#ff5a43;color:#fff;font-size:12px;font-weight:900;padding:0 20px;cursor:pointer;min-width:150px}.airport-cart-btn:hover{background:#ec4934}.airport-cart-btn:disabled{opacity:.55;cursor:not-allowed}
.airport-empty{background:#fff;border:1px dashed #cad4e4;border-radius:18px;text-align:center;padding:48px 20px;color:#7b869b}.airport-empty b{display:block;color:#172247;font-size:16px;margin-bottom:7px}
.airport-error{margin-top:18px;background:#fff4f1;border:1px solid #ffd7ce;color:#b6422f;border-radius:10px;padding:12px 14px;font-size:12px}
@media(max-width:900px){.airport-search-grid{grid-template-columns:1fr 1fr}.airport-search-btn{grid-column:1/-1}.airport-people-panel{grid-template-columns:1fr 1fr}.airport-guide{grid-template-columns:1fr}.airport-result-card{grid-template-columns:1fr}.airport-price{text-align:left}.airport-cart-btn{width:100%}}
@media(max-width:580px){.airport-page{padding:20px 12px 60px}.airport-hero{padding:26px 22px;border-radius:18px}.airport-hero h1{font-size:25px}.airport-search-card{padding:16px}.airport-search-grid{grid-template-columns:1fr}.airport-people-panel{grid-template-columns:1fr}.airport-result-meta{gap:6px}}

/* airport search compact person + custom calendar */
.airport-search-grid{grid-template-columns:1.15fr 1.15fr .9fr 150px auto}
.airport-person-field{max-width:150px}
.airport-date-wrap{position:relative;cursor:pointer}
.airport-date-wrap input{padding-right:42px;cursor:pointer;background:#fff}
.airport-calendar-icon{position:absolute;right:12px;top:50%;width:19px;height:19px;transform:translateY(-50%);pointer-events:none;color:#1e70ff}
.airport-calendar-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.flatpickr-calendar{border:0!important;border-radius:16px!important;box-shadow:0 18px 45px rgba(7,20,54,.18)!important;font-family:inherit!important;padding:6px}
.flatpickr-months{padding:5px 2px 4px}
.flatpickr-months .flatpickr-month{height:42px!important}
.flatpickr-current-month{font-size:14px!important;padding-top:7px!important}
.flatpickr-current-month select.flatpickr-monthDropdown-months,.flatpickr-current-month input.cur-year{font-weight:800!important;color:#172247!important}
.flatpickr-prev-month,.flatpickr-next-month{width:38px!important;height:38px!important;top:7px!important;border-radius:10px;display:flex!important;align-items:center;justify-content:center;color:#1e47c7!important;font-size:24px!important}
.flatpickr-prev-month:hover,.flatpickr-next-month:hover{background:#edf4ff!important;color:#1e47c7!important}
.flatpickr-weekdays{margin-top:3px}
span.flatpickr-weekday{font-size:11px!important;color:#7b869b!important;font-weight:800!important}
.flatpickr-day{border-radius:10px!important;font-size:12px!important;color:#293650!important}
.flatpickr-day.today{border-color:#b8cef8!important;color:#1e47c7!important;font-weight:800}
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:#1e47c7!important;border-color:#1e47c7!important;color:#fff!important;font-weight:800}
.flatpickr-day:hover{background:#edf4ff!important;border-color:#edf4ff!important;color:#1e47c7!important}
.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{color:#c8ced9!important;background:transparent!important}

@media(max-width:900px){.airport-search-grid{grid-template-columns:1fr 1fr}.airport-person-field{max-width:none}}
@media(max-width:580px){.airport-search-grid{grid-template-columns:1fr}.airport-person-field{max-width:none}}
