.airport-hub .airport-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.airport-hub .airport-card{background:#fff;border:2px solid #dce6eb;border-radius:16px;grid-template-rows:auto minmax(64px,auto) minmax(100px,auto) minmax(76px,auto) auto;gap:12px;min-width:0;padding:22px;transition:border-color .15s,box-shadow .15s;display:grid}.airport-hub .airport-card:hover{border-color:#a6becb;box-shadow:0 4px 16px #233d490a}.airport-hub .airport-card.is-selected{background:#fff;border-color:#a5295a;box-shadow:0 0 0 3px #a5295a12}.airport-card-heading{justify-content:space-between;align-items:center;gap:12px;min-height:28px;display:flex}.airport-card-region{color:#526b77;font-size:16px;font-weight:700;line-height:1.5}.airport-card-code{letter-spacing:.06em;color:#9a2253;font-size:18px;font-weight:800;line-height:1.5}.airport-hub .airport-card h3{word-break:keep-all;overflow-wrap:anywhere;align-self:start;margin:0;font-size:22px;line-height:1.45}.airport-hub .airport-card .airport-alias{color:#526b77;word-break:normal;overflow-wrap:anywhere;flex-direction:column;gap:4px;margin:0;font-size:18px;line-height:1.5;display:flex}.airport-card-destinations>span{color:#526b77;margin-bottom:6px;font-size:16px;font-weight:700;line-height:1.5;display:block}.airport-card-destinations p{word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.6}.airport-card-actions{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-self:end;gap:10px;display:grid}.airport-hub .airport-card .airport-detail-link,.airport-hub .airport-card button{box-sizing:border-box;text-align:center;white-space:nowrap;cursor:pointer;border:1px solid #bfd0d9;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:48px;margin:0;padding:10px 8px;font:600 18px/1.4 system-ui,sans-serif;text-decoration:none;display:flex}.airport-hub .airport-card .airport-detail-link{color:#fff;background:#245568;border-color:#245568}.airport-hub .airport-card .airport-detail-link:hover{background:#193f50}.airport-hub .airport-card button{color:#245568;background:#fff}.airport-hub .airport-card button:hover{background:#eef5f8}@supports (grid-template-rows:subgrid){.airport-hub .airport-card{grid-row:span 5;grid-template-rows:subgrid;row-gap:12px}.airport-card-heading{min-height:28px}.airport-hub .airport-card h3{min-height:64px}.airport-hub .airport-card .airport-alias{min-height:100px}.airport-card-destinations{min-height:76px}}@media (width>=521px) and (width<=1100px){.airport-hub .airport-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.airport-hub .airport-cards{grid-template-columns:minmax(0,1fr);gap:16px}.airport-hub .airport-card{grid-row:auto;grid-template-rows:auto;gap:14px;padding:20px}.airport-hub .airport-card h3,.airport-hub .airport-card .airport-alias,.airport-card-destinations{min-height:0}}.airport-hub{color:#233d49;max-width:1240px;margin:auto;padding:26px 20px 60px;font-size:18px;line-height:1.75}.airport-hub h1{font-size:clamp(28px,3.5vw,42px);line-height:1.3}.airport-hub h2{font-size:27px;line-height:1.45}.airport-hub h3{font-size:22px;line-height:1.45}.airport-hub .breadcrumbs{margin-bottom:20px;font-size:15px}.airport-tag{color:#9a2253;font-size:16px;font-weight:800}.airport-explorer{margin:24px 0 40px}.airport-map-tools{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.airport-map{border:1px solid #a5bfcd;border-radius:18px;height:600px;overflow:hidden}.airport-pin{color:#244657;white-space:nowrap;cursor:pointer;background:#fff;border:2px solid #426d83;border-radius:12px;min-width:44px;min-height:48px;padding:8px 12px;font:700 18px system-ui;box-shadow:0 2px 5px #24465733}.airport-pin:hover,.airport-pin:focus-visible{z-index:20!important}.airport-pin-cluster{color:#214e69;background:#e5eff6;border-color:#315d75}.airport-pin.is-selected{color:#fff;background:#a5295a;border-color:#792142}.airport-map-legend{flex-wrap:wrap;gap:14px;font-size:18px;display:flex}.airport-map-legend span:nth-child(2){color:#9a2253;font-weight:700}.airport-map .maplibregl-ctrl-group button,.airport-map .maplibregl-ctrl-attrib-button{width:44px;height:44px}.airport-map-note{font-size:18px}.airport-hub summary{cursor:pointer;font-weight:700}.airport-filters{flex-wrap:wrap;gap:20px;display:flex}.airport-filters label{flex-direction:column;gap:8px;font-weight:700;display:flex}.airport-filters select,.airport-filters input{font:inherit;background:#fff;border:1px solid #90acba;border-radius:10px;max-width:100%;min-height:48px;padding:8px 12px}.airport-map-tools button{font:inherit;color:#21485b;cursor:pointer;background:#e0edf3;border:1px solid #94b4c4;border-radius:10px;min-height:44px;padding:9px 13px}.airport-faq,.airport-sources{margin-top:40px}.airport-faq details{border-bottom:1px solid #bed0da;padding:18px 0}.airport-hub :focus-visible{outline-offset:3px;outline:3px solid #a5295a}@media (width>=801px){.airport-filter-toolbar{background:#f0f5f8;border:1px solid #d7e2e8;border-radius:14px;align-items:flex-end;gap:24px;margin:20px 0 24px;padding:18px 20px;display:flex}.airport-filters{flex:1;grid-template-columns:200px minmax(240px,480px);gap:20px;min-width:0;display:grid}.airport-filters label{color:#526b77;gap:7px;font-size:16px;line-height:1.5}.airport-filters select,.airport-filters input{box-sizing:border-box;color:#233d49;border-color:#b8cbd5;border-radius:8px;width:100%;height:48px;min-height:48px;padding:8px 12px;font-size:18px;font-weight:400}.airport-filters input::placeholder{color:#6b7e89;opacity:1}.airport-result-count{color:#526b77;flex:none;margin:0 0 11px;font-size:16px;font-weight:400;line-height:26px}.airport-filters :focus-visible{outline-offset:2px;outline:2px solid #426d83}}@media (width<=800px){.airport-map{height:480px}}@media (width<=520px){.airport-hub{padding:20px 16px 45px}.airport-filters{grid-template-columns:1fr;display:grid}.airport-filters input,.airport-filters select{box-sizing:border-box;width:100%}.airport-map{height:460px}}
