/* FBO list, map pins and popups (fbo/js/fbo-pins.js, fbo/AirportFbos.ascx). Only .fbo* rules. ASCII only. */
.fbo { margin: 1em 0; }
.fbo-h { margin: 0 0 .5em; }
.fbo-list { list-style: none; margin: 0; padding: 0; }
.fbo-item { padding: .6em 0; border-top: 1px solid rgba(128, 128, 128, .3); }
.fbo-item:first-child { border-top: 0; }
.fbo-name { margin-right: .4em; }
.fbo-sites { font-size: .9em; opacity: .8; }
.fbo-line { display: block; margin-top: .15em; }
.fbo-src { display: block; margin-top: .15em; font-size: .85em; opacity: .75; }
.fbo-note, .fbo-credit, .fbo-none { font-size: .9em; margin: .6em 0 0; opacity: .85; }
.fbo-map { margin-top: .35em; min-height: 36px; padding: 6px 12px; border: 1px solid #169fe6; border-radius: 4px; background: transparent; color: #1078b3; font: inherit; cursor: pointer; }
.fbo-map:hover, .fbo-map:focus { background: rgba(22, 159, 230, .12); }
@media (max-width: 767px) { .fbo-map { min-height: 44px; } }

/* A brand logo: a small image on a light plate so it reads in both themes; the text name always stays next to it. */
.fbo-plate { display: inline-block; vertical-align: middle; background: #fff; border: 1px solid rgba(0, 0, 0, .12); border-radius: 4px; padding: 3px 6px; margin-right: .5em; line-height: 0; }
.fbo-logo { height: 24px; width: auto; max-width: 120px; vertical-align: middle; }
/* the site's "#wrapper img { height: auto }" (css/site.css) outranks a class: drew the logo at its full 218 x 101 */
#wrapper .fbo-logo { height: 24px; width: auto; max-width: 120px; }
.fbo-pop-logo { margin-bottom: .3em; }
/* Signature's logo is their own white-on-navy lockup (a wide wordmark, 174 x 19): shown unaltered on their header navy (#142542),
   about 120 x 13, filling the plate. The img carries the navy itself so no :has() support is needed. */
.fbo-logo[src*="/signature."], #wrapper .fbo-logo[src*="/signature."] { width: 120px; height: auto; max-width: none; background: #142542; padding: 6px 6px; margin: -3px -6px; box-sizing: content-box; border-radius: 3px; }

/* Map pins: 24 px circle, the site's aviation amber, white ring, white fuel-pump glyph. */
.fbo-pin-wrap { background: transparent; border: 0; }
.fbo-pin { position: relative; display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; box-sizing: border-box; border: 2px solid #fff; border-radius: 50%; background: #b45309; color: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .45); }
.fbo-pin svg { display: block; }
.fbo-pin-n { position: absolute; top: -7px; right: -7px; min-width: 14px; height: 14px; padding: 0 3px; box-sizing: border-box; border-radius: 7px; background: #1a1a1a; color: #fff; font: 700 10px/14px Arial, sans-serif; text-align: center; }
.map-dark .fbo-pin { background: #f5a524; color: #1a1a1a; border-color: #fff; }
.map-dark .fbo-pin-n { background: #fff; color: #1a1a1a; }
/* Dark (owner 2026-11-05: the pins were lost among the airport layer's yellow lines and blue lights): a dark outer ring and
   glow outside the white ring, and on the dark basemap a 28 px pin. Light mode unchanged. */
.map-dark .fbo-pin, body.dark-mode .fbo-pin { box-shadow: 0 0 0 2px #111, 0 0 7px 3px rgba(0, 0, 0, .65); }
.map-dark .fbo-pin { width: 28px; height: 28px; margin: -2px 0 0 -2px; border-width: 2.5px; }
.map-dark .fbo-pin svg { width: 16px; height: 16px; }
.leaflet-marker-icon.fbo-pin-wrap:focus .fbo-pin, .fbo-pin:focus { outline: 2px solid #169fe6; outline-offset: 2px; }

/* Labels only from the label zoom: the layer sets .fbo-labels-on on the map container. */
.leaflet-tooltip.fbo-label { display: none; background: rgba(255, 255, 255, .92); border: 0; border-radius: 3px; box-shadow: 0 1px 2px rgba(0, 0, 0, .3); color: #1a1a1a; font: 600 11px/1.2 'Open Sans', Arial, sans-serif; padding: 2px 5px; white-space: nowrap; }
.fbo-labels-on .leaflet-tooltip.fbo-label { display: block; }
.map-dark .leaflet-tooltip.fbo-label { background: rgba(20, 20, 20, .94); color: #fff; font-size: 12px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .45), 0 1px 3px rgba(0, 0, 0, .6); }
.leaflet-tooltip.fbo-label::before { display: none; }

/* Popups */
.fbo-pop { font: 13px/1.4 'Open Sans', Arial, sans-serif; min-width: 170px; }
.fbo-pop a { word-break: break-word; }
.fbo-pop-note { margin-top: .4em; font-size: 12px; opacity: .8; }
.fbo-pop-sep { margin: .6em 0; border: 0; border-top: 1px solid rgba(128, 128, 128, .4); }

/* Dark mode for the list (the site sets body.dark-mode) */
body.dark-mode .fbo-item { border-top-color: rgba(255, 255, 255, .2); }
body.dark-mode .fbo-map { border-color: #4db8f0; color: #8fd3f7; }
body.dark-mode .fbo-map:hover, body.dark-mode .fbo-map:focus { background: rgba(77, 184, 240, .15); }
body.dark-mode .fbo-plate { background: #fff; border-color: rgba(255, 255, 255, .5); }

/* The tracker flight panel's FBOs section (flights/js/flight-fbos.js): one group per airport. */
.fbo-flight { margin: 0; }
.fbo-group { margin: .6em 0 .9em; }
.fbo-flight .fbo-h { margin: 0 0 .3em; font-size: 14px; }
.fbo-flight .fbo-item { padding: .5em 0; }
.fbo-flight .fbo-map { margin-top: 0; }
