/* FlydoSol Airpoint Booking Widget — clone UI */
.ap-card{
  --navy:#0b2a4a;
  --chip:#f2f4f8;
  --chip-b:#dfe3e8;
  --mut:#6b7280;
  --line:#e5e7eb;
  --shadow:0 12px 24px rgba(0,0,0,.08);
  width: 420px; max-width: 100%; background:#fff; border-radius:16px; box-shadow:var(--shadow); overflow:hidden;
  border:1px solid var(--line);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.ap-tabs{display:flex; background:#f7f8fa; border-bottom:1px solid var(--line)}
.ap-tab{flex:1; padding:12px 10px; font-weight:700; background:#f7f8fa; border:0; cursor:pointer; color:#444;}
.ap-tab.active{background:#fff; color:var(--navy); box-shadow: inset 0 -3px 0 #0e63bd;}
.ap-tab + .ap-tab{border-left:1px solid var(--line)}

.ap-chips{display:flex; gap:10px; padding:14px; background:#fff}
.ap-chip{padding:8px 14px; border-radius:999px; background:var(--chip); border:1px solid var(--chip-b); font-weight:700; cursor:pointer}
.ap-chip.active{background:#fff; border-color:#cbd5e1; box-shadow: 0 1px 0 rgba(0,0,0,.04)}
.ap-chip.ap-right{margin-left:auto}

.ap-form{display:flex; flex-direction:column; gap:12px; padding:0 14px 16px}
.ap-field label{display:block; font-size:12px; color:var(--mut); font-weight:700; margin-bottom:6px}
.ap-input{display:flex; align-items:center; gap:8px; height:48px; border:1px solid var(--line); border-radius:10px; padding:0 12px; background:#fff}
.ap-input input{border:0; outline:0; width:100%; height:100%; font-weight:600; background:transparent}
.ap-ico{opacity:.7}

.ap-passengers{position:relative}
.ap-select{height:48px; border:1px solid var(--line); border-radius:10px; background:#fff; padding:0 12px; display:flex; align-items:center; justify-content:space-between; font-weight:700; cursor:pointer}
.ap-pop{position:absolute; left:0; top:100%; width:100%; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); padding:12px; z-index:10}
.ap-pop[aria-hidden="true"]{display:none}
.ap-row{display:flex; align-items:center; justify-content:space-between; padding:6px 0}
.ap-counter{display:inline-flex; align-items:center; gap:10px}
.ap-counter button{width:30px; height:30px; border-radius:999px; border:1px solid var(--line); background:#fff; cursor:pointer}
.ap-counter .val{width:18px; text-align:center; font-weight:700}

.ap-cta{height:48px; border:0; border-radius:10px; background:#0e3c84; color:#fff; font-weight:800; cursor:pointer; margin-top:6px}
.ap-cta:hover{filter:brightness(.95)}

@media (max-width:480px){ .ap-card{border-radius:14px} }
