.booking-widget{position:relative;z-index:2;margin:0 0 52px;padding:0;border:1px solid #dbe2ee;border-radius:20px;background:#fff;box-shadow:0 15px 45px rgba(7,35,78,.12);overflow:hidden}
.booking-tabs{display:flex;flex-wrap:wrap;gap:2px;background:#eef2f9;border-bottom:1px solid #dce2ec}
.booking-tab{display:flex;align-items:center;gap:8px;padding:14px 18px;border:0;background:transparent;color:#3c4a60;font:inherit;font-weight:700;cursor:pointer}
.booking-tab svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.booking-tab:hover{color:#075fc7}
.booking-tab.is-active{background:#fff;color:#075fc7;box-shadow:inset 0 -3px 0 #075fc7}
.booking-panels{padding:22px}
.booking-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}
.booking-panel[hidden]{display:none}
.booking-field{display:flex;flex-direction:column;gap:6px;font-size:.86rem;font-weight:700;color:#3c4a60}
.booking-field--wide{grid-column:span 2}
.booking-field--airport{grid-column:span 2;position:relative}
.booking-field input,.booking-field select{width:100%;padding:11px 12px;border:1px solid #cfd8e6;border-radius:10px;font:inherit;font-weight:500;color:#172033;background:#fff;min-width:0}
.booking-field input:focus,.booking-field select:focus{outline:2px solid #075fc7;outline-offset:1px}
.airport-status{font-weight:500;color:#5d687a;font-size:.78rem}
.booking-checkbox{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:700;color:#3c4a60;padding-bottom:11px}
.booking-checkbox input{width:18px;height:18px}
.booking-children-ages{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.booking-children-ages[hidden]{display:none}
.booking-panel>button[type=submit]{grid-column:1/-1;justify-self:start;padding:13px 26px;border:0;border-radius:10px;background:#075fc7;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.booking-panel>button[type=submit]:hover{background:#054a9c}
.location-button{align-self:end;padding:11px 16px;border:1px solid #cfd8e6;border-radius:10px;background:#f5f7fb;color:#075fc7;font:inherit;font-weight:700;cursor:pointer}
.location-button:hover{background:#e8eefa}
@media(max-width:900px){.booking-panel,.booking-children-ages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.booking-panel,.booking-children-ages{grid-template-columns:1fr}.booking-field--wide,.booking-field--airport{grid-column:span 1}.booking-tab{padding:12px 14px;font-size:.9rem}}
