/* Airfield planning section - reuses the site's existing brand palette
   (navy #0b3d63, status-badge conventions from the admin tools) rather
   than introducing a new one. */

.airfields-intro { max-width: 760px; margin: 0 auto 20px; padding: 0 16px; text-align: center; }
.airfields-intro h1 { font-size: 1.8rem; margin-bottom: 8px; }
.airfields-intro .sub { color: #5c6b7a; line-height: 1.5; }
.airfields-intro .sub a { color: #0b3d63; font-weight: 600; }

.airfield-map-container { max-width: 1100px; margin: 0 auto 40px; padding: 0 16px; }
.airfield-map-wrap { position: relative; background: #a9d2e6; border-radius: 16px; overflow: hidden; }
.airfield-map-canvas { height: 560px; width: 100%; }
.airfield-map-canvas, .airfield-map-canvas * { box-sizing: border-box; }

.airfield-map-controls { position: absolute; top: 14px; left: 14px; right: 14px; z-index: 1000; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; color: #fff; font-size: 0.85rem; pointer-events: none; }
.airfield-map-controls > * { pointer-events: auto; }
.airfield-map-controls label { background: rgba(10,30,45,0.72); padding: 8px 14px; border-radius: 999px; display: flex; align-items: center; gap: 8px; backdrop-filter: blur(2px); }
.airfield-map-basemap { display: flex; background: rgba(10,30,45,0.72); border-radius: 999px; overflow: hidden; }
.airfield-map-basemap button { background: transparent; border: none; color: #fff; padding: 8px 16px; font-size: 0.85rem; font-weight: 700; cursor: pointer; }
.airfield-map-basemap button.active { background: #f5a623; color: #182634; }

.airfield-map-search { position: relative; background: rgba(10,30,45,0.72); border-radius: 999px; padding: 8px 16px; min-width: 240px; backdrop-filter: blur(2px); }
.airfield-map-search input[type="text"] { background: transparent; border: none; color: #fff; font-size: 0.85rem; outline: none; width: 100%; }
.airfield-map-search input[type="text"]::placeholder { color: rgba(255,255,255,0.6); }
.airfield-map-search-results { position: absolute; top: calc(100% + 8px); left: 0; min-width: 280px; max-width: 360px; max-height: 320px; overflow-y: auto; background: #182634; border-radius: 10px; box-shadow: 0 10px 28px rgba(0,0,0,0.4); }
.airfield-map-search-result { display: block; width: 100%; text-align: left; background: transparent; border: none; border-bottom: 1px solid rgba(255,255,255,0.08); color: #fff; padding: 10px 14px; cursor: pointer; font-size: 0.85rem; }
.airfield-map-search-result:last-child { border-bottom: none; }
.airfield-map-search-result:hover, .airfield-map-search-result.active { background: rgba(245,166,35,0.18); }
.airfield-map-search-result b { color: #f5a623; }
.afm-sr-sub { display: block; color: rgba(255,255,255,0.6); font-size: 0.78rem; margin-top: 2px; }
.airfield-map-search-empty { padding: 12px 14px; color: rgba(255,255,255,0.6); font-size: 0.82rem; }

/* Red push-pin markers (see js/airfield-map.js pinIcon()) - fixed screen
   size per airfield type, same convention as any standard map, so they
   stay a constant, legible size as you zoom in rather than growing. */
.airfield-pin { background: none; border: none; }
.airfield-pin svg { display: block; filter: drop-shadow(0 2px 3px rgba(0,0,0,0.4)); }

.airfield-map-popup .amp-name { font-weight: 700; font-size: 0.92rem; color: #182634; margin-bottom: 2px; }
.airfield-map-popup .amp-ident { color: #0b3d63; font-weight: 600; font-size: 0.8rem; }
.airfield-map-popup .amp-loc { color: #5c6b7a; font-size: 0.8rem; margin: 2px 0 8px; }
.airfield-map-popup .amp-link { color: #0b3d63; font-weight: 700; font-size: 0.82rem; text-decoration: none; }
.airfield-map-popup .amp-link:hover { text-decoration: underline; }
.leaflet-popup-content-wrapper { border-radius: 10px; }

/* Cluster bubbles in the site's brand colors instead of markercluster's
   default green/yellow/orange. */
.marker-cluster-small { background-color: rgba(11,61,99,0.5); }
.marker-cluster-small div { background-color: rgba(11,61,99,0.88); color: #fff; }
.marker-cluster-medium { background-color: rgba(245,166,35,0.45); }
.marker-cluster-medium div { background-color: rgba(245,166,35,0.9); color: #182634; }
.marker-cluster-large { background-color: rgba(214,40,31,0.4); }
.marker-cluster-large div { background-color: rgba(214,40,31,0.88); color: #fff; }
.marker-cluster { border-radius: 50%; }
.marker-cluster div { border-radius: 50%; font-weight: 700; }

.airfield-detail-page { max-width: 820px; margin: 0 auto; padding: 24px 16px 60px; }
.back-link a { color: #0b3d63; font-weight: 600; text-decoration: none; }
.af-header { margin-bottom: 28px; }
.af-header h1 { font-size: 1.6rem; margin-bottom: 2px; }
.af-sub { color: #5c6b7a; margin: 0 0 10px; }
.af-badges { margin-bottom: 10px; }
.af-meta { color: #5c6b7a; font-size: 0.9rem; margin: 2px 0; }

.af-section { background: #fff; border: 1px solid #e3e8ee; border-radius: 12px; padding: 20px 24px; margin-bottom: 20px; }
.af-section h2 { font-size: 1.1rem; margin: 0 0 14px; }
.af-section table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.af-section th, .af-section td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #eef2f7; }
.af-section th { color: #5c6b7a; font-weight: 700; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.02em; }

.runway-diagram { width: 100%; max-width: 380px; display: block; margin: 16px auto 4px; background: #f6f8fb; border-radius: 12px; }
.diagram-caption { color: #5c6b7a; font-size: 0.78rem; text-align: center; margin: 0 0 4px; }
.diagram-empty { color: #5c6b7a; font-size: 0.85rem; }

.status-badge { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.02em; }
.status-active { background: #eaf7f1; color: #14603f; }
.status-disabled { background: #fbeceb; color: #8f2f28; }
.badge-plain { background: #eef2f7; color: #364656; }

.fbo-card { border: 1px solid #eef2f7; border-radius: 10px; padding: 12px 16px; margin-bottom: 10px; }
.fbo-name { font-weight: 700; margin: 0 0 4px; }
.fbo-meta { color: #5c6b7a; font-size: 0.85rem; margin: 2px 0; }

.wx-metar, .wx-taf { margin-bottom: 14px; }
.wx-metar code, .wx-taf code { display: block; background: #f6f8fb; padding: 10px 14px; border-radius: 8px; font-size: 0.85rem; margin-top: 6px; white-space: pre-wrap; word-break: break-word; }
.wx-badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 0.75rem; font-weight: 700; margin-right: 8px; }
.wx-vfr { background: #eaf7f1; color: #14603f; }
.wx-mvfr { background: #e7f0fb; color: #1a4b8f; }
.wx-ifr { background: #fbeceb; color: #8f2f28; }
.wx-lifr { background: #f3e7fb; color: #5a1a8f; }
.wx-unknown { background: #eef2f7; color: #364656; }
.wx-links { color: #5c6b7a; font-size: 0.85rem; }
.wx-links a { color: #0b3d63; font-weight: 600; }

.empty { color: #5c6b7a; padding: 10px 0; }
