/* current.css — Layer styles for the "current" (Sea-Tac noise map) dataset.
   Load via: [jch_qgis folder="current" stylesheet="current"]

   Also contains noise-map-specific UI styles moved from jch-qgis.css:
   .point-label-monitor, .point-label-school, .jch-packages */

/* =================================================================
   NOISE MAP LABEL STYLES (moved from jch-qgis.css)
   ================================================================= */

.point-label-monitor {
    background: rgba(255,255,200,.8) !important;
    color: var(--jch-color-monitor-crimson, #B91C1C) !important;
    border: 1px solid var(--jch-color-monitor-crimson, #B91C1C) !important;
    border-radius: 4px !important;
    padding: 3px 8px !important;
    font-size: 16px !important;
    font-weight: bold !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.5) !important;
}

.point-label-school {
    background: rgba(200,255,255,.5) !important;
    color: var(--jch-color-school-blue, #1E3A8A) !important;
    border: 1px solid var(--jch-color-school-blue, #1E3A8A) !important;
    border-radius: 2px !important;
    padding: 2px 5px !important;
    font-size: 10px !important;
    font-weight: normal !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2) !important;
}

/* Port of Seattle packages popup table */
.jch-packages tr td {
    margin: 0;
    padding: 0;
}

/* =================================================================
   GROUP TITLES — read by JS from .layer-css-group.group-N after DOM insertion
   ================================================================= */

.layer-css-group.group-1 { --group-title: "DNL Noise Contours"; }
.layer-css-group.group-2 { --group-title: "Noise Remedy Properties"; }
.layer-css-group.group-3 { --group-title: "City Boundaries"; }
.layer-css-group.group-4 { --group-title: "Schools"; }
.layer-css-group.group-5 { --group-title: "Noise Monitors"; }
.layer-css-group.group-6 { --group-title: "Port of Seattle"; }
.layer-css-group.group-7 { --group-title: "SIRRPP & Acoustic Testing"; }
.layer-css-group.group-8 { --group-title: "Parks & Local Features"; }

/* =================================================================
   GROUP 1 — DNL NOISE CONTOURS  (group-order: 1)
   ================================================================= */

[class*="1991dnl65boundary"] .layer-color-square,
[class*="1991dnl65contour"] .layer-color-square {
    background-color: rgba(255,55,0,.7) !important;
    --group: "DNL Noise Contours";
    --group-order: 1;
    --tooltip: "1991 DNL 65 dB noise contour";
}

[class*="2018dnl65contour"] .layer-color-square,
[class*="2018dnl65boundary"] .layer-color-square {
    background-color: #00FFAA !important;
    --fill-color: #C60030;
    --fill-opacity: 0.4;
    --stroke-color: #55A;
    --stroke-width: 6;
    --stroke-opacity: 0.9;
    --group: "DNL Noise Contours";
    --group-order: 1;
    --tooltip: "2018 DNL 65 dB noise contour";
}

[class*="2025dnl65nrb"] .layer-color-square {
    background-color: rgba(255,55,0,.7) !important;
    --group: "DNL Noise Contours";
    --group-order: 1;
    --tooltip: "2025 DNL 65 Noise Remedy Boundary (proposed)";
}

[class*="2032dnl70"] .layer-color-square {
    background-color: #C60030 !important;
    --group: "DNL Noise Contours";
    --group-order: 1;
    --tooltip: "2032 DNL 70 dB contour (projected)";
}

.layer-control.layer-2032dnl70contour .layer-color-square {
    background-color: #C60030 !important;
    --fill-color: #C60030;
    --fill-opacity: 0.2;
    --stroke-color: #FF0;
    --stroke-width: 1;
    --stroke-opacity: 0.7;
    --group: "DNL Noise Contours";
    --group-order: 1;
    --tooltip: "2032 DNL 70 dB contour (projected)";
}

[class*="2032dnl65"] .layer-color-square {
    background-color: #F67090 !important;
    --group: "DNL Noise Contours";
    --group-order: 1;
    --tooltip: "2032 DNL 65 dB contour (projected)";
}

/* =================================================================
   GROUP 2 — NOISE REMEDY PROPERTIES  (group-order: 2)
   More-specific selectors here override the wildcard group assignments above
   for layers whose names contain both a year and "properties".
   ================================================================= */

.layer-control.layer-noiseremedypropertiesasof2020wsignedavigationeasement .layer-color-square,
[class*="noiseremedypropertieswithsignedavigationeasement"] .layer-color-square {
    background-color: #000000 !important;
    --group: "Noise Remedy Properties";
    --group-order: 2;
    --tooltip: "Noise remedy properties with signed avigation easement (as of 2020)";
}

[class*="noiseremedypropertiesinside2018"] .layer-color-square {
    background-color: #000 !important;
    --group: "Noise Remedy Properties";
    --group-order: 2;
    --tooltip: "Properties inside 2018 DNL 65 noise remedy boundary";
}

.layer-control.layer-noiseremedypropertiesinside2032dnl65proposed202508 .layer-color-square,
[class*="noiseremedypropertiesinside2032dnl65"] .layer-color-square {
    background-color: #A0AF00 !important;
    --group: "Noise Remedy Properties";
    --group-order: 2;
    --tooltip: "Properties inside proposed 2032 DNL 65 boundary";
}

[class*="noiseremedypropertiesinside2032dnl70"] .layer-color-square {
    background-color: #C60030 !important;
    --group: "Noise Remedy Properties";
    --group-order: 2;
    --tooltip: "Properties inside 2032 DNL 70 boundary";
}

[class*="propertiesinside1991dnl65"] .layer-color-square {
    background-color: #0000FF !important;
    --group: "Noise Remedy Properties";
    --group-order: 2;
    --tooltip: "Properties inside 1991 DNL 65 boundary";
    --rest-endpoint: "/wp-json/jch/v1/port-packages?pin={PIN}";
}

/* =================================================================
   GROUP 3 — CITY BOUNDARIES  (group-order: 3)
   ================================================================= */

.layer-control.layer-auburncityboundary .layer-color-square {
    background-color: #A82 !important;
    --group: "City Boundaries";
    --group-order: 3;
    --tooltip: "City of Auburn boundary";
}

.layer-control.layer-beaconhillneighborhoodseattlecityboundary .layer-color-square {
    background-color: #AAFF3F !important;
    --group: "City Boundaries";
    --group-order: 3;
    --tooltip: "Beacon Hill neighborhood — Seattle city boundary";
}

.layer-control.layer-buriencityboundary .layer-color-square {
    background-color: #A2A !important;
    --group: "City Boundaries";
    --group-order: 3;
    --tooltip: "City of Burien boundary";
}

.layer-control.layer-desmoinescityboundary .layer-color-square {
    background-color: #26F !important;
    --group: "City Boundaries";
    --group-order: 3;
    --tooltip: "City of Des Moines boundary";
}

.layer-control.layer-federalwaycityboundary .layer-color-square {
    background-color: #AA6300 !important;
    --group: "City Boundaries";
    --group-order: 3;
    --tooltip: "City of Federal Way boundary";
}

.layer-control.layer-kentcityboundary .layer-color-square {
    background-color: #FF3320 !important;
    --group: "City Boundaries";
    --group-order: 3;
    --tooltip: "City of Kent boundary";
}

.layer-control.layer-normandyparkcityboundary .layer-color-square {
    background-color: #8263AC !important;
    --group: "City Boundaries";
    --group-order: 3;
    --tooltip: "City of Normandy Park boundary";
}

.layer-control.layer-seataccityboundary .layer-color-square {
    background-color: #0F0 !important;
    --group: "City Boundaries";
    --group-order: 3;
    --tooltip: "City of SeaTac boundary";
}

.layer-control.layer-tukwilacityboundary .layer-color-square {
    background-color: #C60 !important;
    --group: "City Boundaries";
    --group-order: 3;
    --tooltip: "City of Tukwila boundary";
}

.layer-control.layer-vashonislandboundary .layer-color-square {
    background-color: #A5E25F !important;
    --group: "City Boundaries";
    --group-order: 3;
    --tooltip: "Vashon Island boundary";
}

/* =================================================================
   GROUP 4 — SCHOOLS  (group-order: 4)
   ================================================================= */

.layer-control.layer-schoolsinside1991dnl65 .layer-color-square {
    background-color: #600FF0 !important;
    --group: "Schools";
    --group-order: 4;
    --tooltip: "Schools inside 1991 DNL 65 noise contour";
}

.layer-control.layer-schoolsinside2018dnl65 .layer-color-square {
    background-color: #FF00FF !important;
    --group: "Schools";
    --group-order: 4;
    --tooltip: "Schools inside 2018 DNL 65 noise contour";
}

.layer-control.layer-school .layer-color-square {
    background-color: var(--jch-color-school-blue, #1E3A8A) !important;
    --group: "Schools";
    --group-order: 4;
}

/* =================================================================
   GROUP 5 — NOISE MONITORS  (group-order: 5)
   ================================================================= */

.layer-control.layer-permanentnoisemonitors .layer-color-square {
    background-color: #C63200 !important;
    --group: "Noise Monitors";
    --group-order: 5;
    --tooltip: "Permanent noise monitoring stations";
}

.layer-control.layer-portablenoisemonitors20202022 .layer-color-square {
    background-color: #FF7220 !important;
    --stroke-color: #555;
    --stroke-width: 3;
    --stroke-opacity: 0.9;
    --radius: 31;
    --fill-opacity: 0.3;
    --group: "Noise Monitors";
    --group-order: 5;
    --tooltip: "Portable noise monitors deployed 2020–2022";
}

.layer-control.layer-monitor .layer-color-square {
    background-color: var(--jch-color-monitor-crimson, #B91C1C) !important;
    --group: "Noise Monitors";
    --group-order: 5;
}

/* =================================================================
   GROUP 6 — PORT OF SEATTLE  (group-order: 6)
   ================================================================= */

.layer-control.layer-portofseattlepropertiesboundary .layer-color-square,
.layer-control.layer-portofseattleproperties .layer-color-square {
    background-color: #C0C !important;
    --group: "Port of Seattle";
    --group-order: 6;
    --tooltip: "Port of Seattle property boundary";
}

.layer-control.layer-portofseattletrees .layer-color-square {
    background-color: #C50 !important;
    --group: "Port of Seattle";
    --group-order: 6;
    --tooltip: "Port of Seattle tree inventory";
}

.layer-control.layer-portofseattletreesincomplete .layer-color-square {
    background-color: #FF4444 !important;
    --group: "Port of Seattle";
    --group-order: 6;
    --tooltip: "Port of Seattle tree inventory — incomplete parcels";
}

/* Feature-level fill styles (not checkbox controls) */
.layer-portofseattletrees-incomplete { background-color: #FF44CC !important; }
.layer-portofseattletrees-complete   { background-color: #06AA00 !important; }

/* =================================================================
   GROUP 7 — SIRRPP & ACOUSTIC TESTING  (group-order: 7)
   ================================================================= */

.layer-control.layer-sirrpp2024survey .layer-color-square {
    background-color: #0FF !important;
    --group: "SIRRPP & Acoustic Testing";
    --group-order: 7;
    --tooltip: "SIRRPP 2024 homeowner survey";
}

.layer-control.layer-sirrpp30homesacoustictestingaugust2024 .layer-color-square {
    background-color: #F0A !important;
    --group: "SIRRPP & Acoustic Testing";
    --group-order: 7;
    --tooltip: "SIRRPP Phase 30 homes acoustic testing, August 2024";
}

.layer-control.layer-2024survey .layer-color-square {
    background-color: #C06000 !important;
    --group: "SIRRPP & Acoustic Testing";
    --group-order: 7;
    --tooltip: "2024 acoustic survey";
}

.layer-control.layer-30homesacoustictestingugust2024 .layer-color-square {
    background-color: #060A90 !important;
    --group: "SIRRPP & Acoustic Testing";
    --group-order: 7;
    --tooltip: "30 homes acoustic testing, August 2024";
}

.layer-control.layer-dmcbp .layer-color-square {
    background-color: #C66A10 !important;
    --group: "SIRRPP & Acoustic Testing";
    --group-order: 7;
    --tooltip: "Des Moines Creek Business Park survey parcels";
}

/* =================================================================
   GROUP 8 — PARKS & LOCAL FEATURES  (group-order: 8)
   ================================================================= */

.layer-control.layer-mathisonpark .layer-color-square {
    background-color: #AF3 !important;
    --group: "Parks & Local Features";
    --group-order: 8;
    --tooltip: "Mathison Park";
}

.layer-control.layer-desmoinescreektrailcityparcels .layer-color-square {
    background-color: #2F7 !important;
    --group: "Parks & Local Features";
    --group-order: 8;
    --tooltip: "Des Moines Creek Trail city parcels";
}

.layer-control.layer-desmoinescreekbusinessparkwestwalkingpath .layer-color-square,
.layer-control.layer-desmoinescreekwestwalkingpath .layer-color-square {
    background-color: #C4A360 !important;
    --group: "Parks & Local Features";
    --group-order: 8;
    --tooltip: "Des Moines Creek West walking path";
}

.layer-control.layer-desmoinescreekbusinessparkwest .layer-color-square {
    background-color: #C4A3A6 !important;
    --group: "Parks & Local Features";
    --group-order: 8;
    --tooltip: "Des Moines Creek Business Park West";
}

.layer-control.layer-desmoinescitytreecanopy .layer-color-square,
.layer-control.layer-desmoinestreecanopy .layer-color-square {
    background-color: #5ab687 !important;
    border: dashed 1px red;
    --group: "Parks & Local Features";
    --group-order: 8;
    --tooltip: "Des Moines city tree canopy";
}

.layer-control.layer-forterra2017landcover .layer-color-square {
    background-color: #fab687 !important;
    border: dashed 1px blue;
    --group: "Parks & Local Features";
    --group-order: 8;
    --tooltip: "Forterra 2017 regional land cover";
}

.layer-control.layer-desmoinescreekbusinessparkdmcbp .layer-color-square {
    background-color: #0FD !important;
    --group: "Parks & Local Features";
    --group-order: 8;
    --tooltip: "Des Moines Creek Business Park";
}

.layer-control.layer-desmoinescitytractabirdballs .layer-color-square {
    background-color: #7B68EE !important;
    --group: "Parks & Local Features";
    --group-order: 8;
    --tooltip: "Des Moines City Tract A — Birdballs";
}

.layer-control.layer-desmoines1990aerial .layer-color-square,
.layer-control.layer-aerial .layer-color-square {
    background-color: var(--jch-color-aerial-overlay, #0EA5E9) !important;
    border: 2px solid var(--jch-color-text-primary, #333);
    --group: "Parks & Local Features";
    --group-order: 8;
    --tooltip: "Des Moines 1990 aerial overlay";
}

/* =================================================================
   FILTER LAYERS — virtual layers joined from CSV against a source layer at runtime.
   --source-layer: display name of the base GeoJSON layer to filter against
   --filter-src:   path to CSV relative to the map folder (e.g. filters/sirrpp30.csv)
   --filter-key:   field name used for matching in both the GeoJSON and the CSV
   ================================================================= */

.layer-control.layer-sirrpp30 .layer-color-square {
    background-color: #F0A !important;
    --source-layer:   "NoiseRemedyPropertiesInside1991DNL65WParcelID";
    --filter-src:     "filters/sirrpp30.csv";
    --filter-key:     "Address";
    --rest-endpoint:  "/wp-json/jch/v1/port-packages?pin={PIN}";
    --group:          "SIRRPP & Acoustic Testing";
    --group-order:    7;
    --tooltip:        "SIRRPP Phase 30 inspected homes";
}

.layer-control.layer-sirrpp2024survey .layer-color-square {
    background-color: #0FF !important;
    --source-layer:   "NoiseRemedyPropertiesInside1991DNL65WParcelID";
    --filter-src:     "filters/sirrpp2024survey.csv";
    --filter-key:     "Address";
    --rest-endpoint:  "/wp-json/jch/v1/port-packages?pin={PIN}";
    --group:          "SIRRPP & Acoustic Testing";
    --group-order:    7;
    --tooltip:        "SIRRPP 2024 homeowner survey";
}

/* =================================================================
   GENERIC SEMANTIC FALLBACK (ungrouped)
   ================================================================= */

.layer-control.layer-boundary .layer-color-square {
    background-color: var(--jch-color-boundary-gray, #808080) !important;
}
