/* ======================================================================
 *  Geo Labels — shared label / tooltip frame for map overlays
 * ----------------------------------------------------------------------
 *  Single CSS family used by every map page (Working Map, /map-areas,
 *  /area-manager, /map-view) for:
 *    - permanent corner badges anchored to areas / reference features
 *      (.geo-label-badge + modifiers)
 *    - hover tooltips on areas / reference features
 *      (.geo-feature-tooltip)
 *
 *  Color is parameterised via CSS custom properties so the same rule
 *  applies to multiple semantic flavors:
 *    --geo-label-bg / --geo-label-fg / --geo-label-border
 *    --geo-tooltip-accent
 *
 *  Modifier classes:
 *    .geo-label-badge--restriction  red (area-restriction warning)
 *    .geo-label-badge--reference    color set inline per-feature via
 *                                   style="--geo-label-bg: #..."
 *
 *  Replaces the orphan `.ma-airspace-warning-label` rule and the
 *  never-styled `.map-areas-custom-tooltip` references. See plan
 *  `.cursor/plans/harmonize-reference-features_*.plan.md`.
 * ======================================================================
 */

/* ---------------------------------------------------------------- *
 *  Permanent badge (Leaflet permanent tooltip)
 * ---------------------------------------------------------------- */

.geo-label-badge {
    background: var(--geo-label-bg, #6c757d);
    color: var(--geo-label-fg, #fff);
    border: 1px solid var(--geo-label-border, rgba(0, 0, 0, 0.25));
    border-radius: 3px;
    padding: 1px 6px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    white-space: nowrap;
    pointer-events: none;
}

/* Leaflet wraps permanent tooltips in a default tooltip frame with a
   white background and pointer triangle. The wrapper class below is
   applied via the tooltip options so we can neutralise both. */
.geo-label-badge-wrapper.leaflet-tooltip {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    white-space: nowrap;
}

.geo-label-badge-wrapper.leaflet-tooltip:before,
.geo-label-badge-wrapper.leaflet-tooltip-top:before,
.geo-label-badge-wrapper.leaflet-tooltip-bottom:before,
.geo-label-badge-wrapper.leaflet-tooltip-left:before,
.geo-label-badge-wrapper.leaflet-tooltip-right:before {
    display: none !important;
}

.geo-label-badge:before {
    display: none !important;
}

/* Modifier — area-restriction (red) */
.geo-label-badge--restriction {
    --geo-label-bg: #c0392b;
    --geo-label-border: #8e2418;
    --geo-label-fg: #fff;
}

/* Modifier — reference feature: color is set per-feature inline
   (style="--geo-label-bg: #....") in pages/shared/reference-features.js. */
.geo-label-badge--reference {
    --geo-label-fg: #fff;
}

/* ---------------------------------------------------------------- *
 *  Hover tooltip frame
 * ---------------------------------------------------------------- */

.geo-feature-tooltip {
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid var(--geo-tooltip-accent, #6c757d);
    border-left: 4px solid var(--geo-tooltip-accent, #6c757d);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    padding: 8px 10px;
    color: #2c2c2c;
    font-size: 12px;
    line-height: 1.35;
    max-width: 320px;
    white-space: normal;
    border-radius: 3px;
}

.geo-feature-tooltip.leaflet-tooltip-top:before,
.geo-feature-tooltip.leaflet-tooltip-bottom:before,
.geo-feature-tooltip.leaflet-tooltip-left:before,
.geo-feature-tooltip.leaflet-tooltip-right:before {
    border-top-color: var(--geo-tooltip-accent, #6c757d);
    border-bottom-color: var(--geo-tooltip-accent, #6c757d);
    border-left-color: var(--geo-tooltip-accent, #6c757d);
    border-right-color: var(--geo-tooltip-accent, #6c757d);
}

.geo-feature-tooltip .geo-tt-title {
    font-weight: 600;
    color: #2c2c2c;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
}

.geo-feature-tooltip .geo-tt-title i {
    margin-right: 6px;
    color: var(--geo-tooltip-accent, #6c757d);
}

.geo-feature-tooltip .geo-tt-meta {
    color: #666;
    font-size: 11px;
    margin-top: 2px;
}

.geo-feature-tooltip .geo-tt-row + .geo-tt-row {
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px dashed #e0e0e0;
}

/* ---------------------------------------------------------------- *
 *  Legacy aliases — kept so older inline calls keep working while
 *  callers migrate. See [REMOVAL-498] in airspace-popup.css.
 * ---------------------------------------------------------------- */

/* Inherit every rule from .geo-feature-tooltip with the red accent so
   the area-airspace restriction warning continues to render
   identically to its pre-harmonisation appearance. */
.ma-airspace-warning-tooltip {
    --geo-tooltip-accent: #c0392b;
    background: rgba(255, 248, 240, 0.96);
    border: 1px solid var(--geo-tooltip-accent);
    border-left: 4px solid var(--geo-tooltip-accent);
    box-shadow: 0 2px 8px rgba(192, 57, 43, 0.25);
    padding: 8px 10px;
    color: #2c2c2c;
    font-size: 12px;
    line-height: 1.35;
    max-width: 320px;
    white-space: normal;
    border-radius: 3px;
}
