/* Public US minimum wage map (/resources/minimum-wage-map). */

.mw-hero{
    padding:72px 20px 36px;
    background:
        radial-gradient(900px 320px at 12% -10%, rgba(42,120,214,.16), transparent 70%),
        radial-gradient(700px 300px at 95% 0%, rgba(235,104,52,.12), transparent 70%);
    text-align:center;
}
.mw-hero-inner{max-width:780px;margin:0 auto}
.mw-hero h1{margin:14px 0 12px;font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.1;color:var(--ink-strong)}
.mw-hero p{margin:0 auto;max-width:640px;color:var(--muted);font-size:1.05rem;line-height:1.6}
.mw-hero .mw-verified{margin-top:14px;font-size:.9rem;font-weight:700;color:#047857}

.mw-shell{max-width:1180px;margin:0 auto;padding:8px 20px 56px}
.mw-empty{max-width:640px;margin:24px auto;padding:28px;border:1px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted)}
.mw-empty h2{margin:0 0 8px;color:var(--ink-strong)}

/* Highlight tiles */
.mw-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.mw-stat{display:grid;gap:2px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.mw-stat-label{font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.mw-stat strong{font-size:1.75rem;line-height:1.15;color:var(--ink-strong);font-variant-numeric:tabular-nums}
.mw-stat-sub{font-size:.88rem;color:var(--muted)}

/* Search */
.mw-search{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.mw-search label{font-weight:800;color:var(--ink-strong);white-space:nowrap}
.mw-search input{flex:1;max-width:420px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;font:inherit;background:var(--surface)}
.mw-search input:focus{outline:2px solid rgba(42,120,214,.35);border-color:#2a78d6}

/* Map + panel */
.mw-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.mw-map-card{position:relative;margin:0;padding:14px 14px 10px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 18px 40px rgba(4,23,34,.06)}
.mw-map{display:block;width:100%;height:auto}
.mw-state{stroke:#ffffff;stroke-width:.6;cursor:pointer;transition:filter .15s ease}
.mw-state:hover,.mw-state:focus-visible,.mw-state.is-active{filter:brightness(1.12) saturate(1.1);outline:none}
.mw-state.is-active{stroke:#0a2230;stroke-width:1.8}
.mw-state.is-rising{stroke:#eb6834;stroke-width:1.4;stroke-dasharray:4 3}
.mw-state.is-dimmed{opacity:.35}
.mw-borders{fill:none;stroke:#ffffff;stroke-width:.9;stroke-linejoin:round;pointer-events:none}
.mw-labels text{font-size:10.5px;font-weight:800;text-anchor:middle;dominant-baseline:middle;pointer-events:none;letter-spacing:.02em}
.mw-pin{cursor:pointer;outline:none}
.mw-pins-compact{display:none}
.mw-pin-hit{fill:transparent}
.mw-pin-shape{fill:#eb6834;stroke:#ffffff;stroke-width:1.6;transition:transform .15s ease;transform-origin:0 0}
.mw-pin-dot{fill:#ffffff;pointer-events:none}
.mw-pin:hover .mw-pin-shape,.mw-pin:focus-visible .mw-pin-shape,.mw-pin.is-active .mw-pin-shape{transform:scale(1.35);fill:#d95926}
.mw-pin.is-dimmed{opacity:.25}
/* Own ordinance, no machine-readable rate: outlined pin (shape, not just color, differs). */
.mw-pin.is-ordinance .mw-pin-shape{fill:#ffffff;stroke:#eb6834;stroke-width:2.2}
.mw-pin.is-ordinance .mw-pin-dot{fill:#eb6834}
.mw-pin.is-ordinance:hover .mw-pin-shape,.mw-pin.is-ordinance:focus-visible .mw-pin-shape,.mw-pin.is-ordinance.is-active .mw-pin-shape{fill:#fff4ee}
.mw-cluster.is-ordinance .mw-cluster-ring{fill:#ffffff;stroke:#eb6834;stroke-width:2.4}
.mw-cluster.is-ordinance .mw-cluster-count{fill:#c2410c}
.mw-cluster.is-ordinance:hover .mw-cluster-ring,.mw-cluster.is-ordinance:focus-visible .mw-cluster-ring,.mw-cluster.is-ordinance.is-active .mw-cluster-ring{fill:#fff4ee}
.mw-legend-pin.is-ordinance path{fill:#fff;stroke:#eb6834;stroke-width:2}
.mw-panel-link{display:inline-flex;margin:8px 0 4px;padding:9px 14px;border-radius:10px;background:#0a2230;color:#fff;font-weight:700;font-size:.9rem;text-decoration:none}
.mw-panel-link:hover{background:#1c5cab}
.mw-cluster{cursor:pointer;outline:none}
.mw-cluster-ring{fill:#eb6834;stroke:#ffffff;stroke-width:2;transition:transform .15s ease}
.mw-cluster-count{fill:#ffffff;font-size:11px;font-weight:800;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.mw-cluster:hover .mw-cluster-ring,.mw-cluster:focus-visible .mw-cluster-ring,.mw-cluster.is-active .mw-cluster-ring{transform:scale(1.15);fill:#d95926}
.mw-legend-cluster{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#eb6834;color:#fff;font-size:.68rem;font-weight:800;border:1.5px solid #fff;box-shadow:0 0 0 1px #eb6834}

.mw-tooltip{
    position:absolute;z-index:3;min-width:150px;max-width:240px;padding:9px 12px;border-radius:10px;
    background:#0a2230;color:#fff;font-size:.85rem;line-height:1.35;pointer-events:none;
    box-shadow:0 10px 24px rgba(4,23,34,.25);transform:translate(-50%,calc(-100% - 12px));
}
.mw-tooltip strong{display:block;font-size:1.15rem;font-variant-numeric:tabular-nums}
.mw-tooltip span{display:block;color:#cbd5e1}

.mw-legend{display:grid;gap:8px;padding:10px 4px 2px}
.mw-legend-title{font-size:.78rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.mw-legend ul{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none;font-size:.86rem;color:var(--ink)}
.mw-legend li{display:flex;align-items:center;gap:7px}
.mw-swatch{display:inline-block;width:16px;height:12px;border-radius:3px}
.mw-swatch-rising{background:#fff;border:1.5px dashed #eb6834}
.mw-legend-pin{width:12px;height:16px}
.mw-legend-pin path{fill:#eb6834;stroke:#fff;stroke-width:1.5}

.mw-panel{position:sticky;top:90px;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--surface);min-height:280px}
.mw-panel-kicker{font-size:.76rem;font-weight:800;color:#2a78d6;text-transform:uppercase;letter-spacing:.06em}
.mw-panel h2{margin:6px 0 8px;font-size:1.3rem;color:var(--ink-strong)}
.mw-panel h3{margin:18px 0 8px;font-size:.95rem;color:var(--ink-strong)}
.mw-panel p{margin:0 0 10px;color:var(--muted);line-height:1.55;font-size:.93rem}
.mw-panel-rate{font-size:2.6rem;font-weight:800;line-height:1;color:var(--ink-strong);font-variant-numeric:tabular-nums}
.mw-panel-rate small{font-size:1rem;font-weight:700;color:var(--muted)}
.mw-panel-badge{display:inline-flex;align-items:center;gap:6px;margin:10px 0;padding:6px 10px;border-radius:999px;background:rgba(235,104,52,.12);color:#9a3412;font-size:.85rem;font-weight:700}
.mw-panel-premium{display:inline-block;margin:8px 0;padding:5px 10px;border-radius:999px;background:rgba(42,120,214,.1);color:#1c5cab;font-weight:700;font-size:.85rem}
.mw-panel-meta{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:.83rem;color:var(--muted);display:grid;gap:4px}
.mw-panel-meta a{color:var(--brand);font-weight:700}
.mw-panel-back{display:block;margin-bottom:12px;padding:0;border:0;background:none;color:var(--brand);font:inherit;font-weight:700;cursor:pointer}
.mw-city-list,.mw-upcoming{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.mw-city-list{max-height:320px;overflow-y:auto;padding-right:4px}
.mw-city-list button{display:flex;width:100%;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-size:.9rem;cursor:pointer;color:var(--ink)}
.mw-city-list button:hover,.mw-city-list button:focus-visible{border-color:#eb6834;outline:none}
.mw-city-list strong,.mw-upcoming span{font-variant-numeric:tabular-nums}
.mw-upcoming li{display:flex;justify-content:space-between;gap:10px;font-size:.88rem;color:var(--ink)}
.mw-upcoming span{color:var(--muted);white-space:nowrap}

/* List view */
.mw-list-head h2{margin:0 0 6px;color:var(--ink-strong)}
.mw-list-head p{margin:0 0 16px;color:var(--muted)}
.mw-rising{margin:6px 0 0;font-size:.82rem;font-weight:700;color:#9a3412}
.mw-no-results{margin-top:14px;color:var(--muted)}

/* Toolbar: search + Map/Table toggle + Excel download */
.mw-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.mw-toolbar .mw-search{flex:1 1 360px;margin:0}
.mw-view-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.mw-view-toggle{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.mw-view-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:var(--ink);font:inherit;font-weight:700;font-size:.9rem;cursor:pointer}
.mw-view-btn svg{width:16px;height:16px;fill:currentColor}
.mw-view-btn.is-active{background:#0a2230;color:#fff}
.mw-view-btn:focus-visible,.mw-download:focus-visible{outline:2px solid #2a78d6;outline-offset:2px}
.mw-download{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid #1c5cab;border-radius:12px;color:#1c5cab;background:var(--surface);font-weight:700;font-size:.9rem;text-decoration:none;white-space:nowrap}
.mw-download svg{width:16px;height:16px}
.mw-download:hover{background:#1c5cab;color:#fff}
/* Without JS both views show; with JS only the chosen one. */
.mw-js [data-mw-view][hidden]{display:none}

/* Table view */
.mw-table-view .mw-list-head{margin-top:4px}
.mw-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.mw-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:720px}
.mw-table thead th{position:sticky;top:0;background:#0a2230;color:#fff;text-align:left;font-weight:700;padding:10px 12px;white-space:nowrap}
.mw-table th,.mw-table td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:var(--ink)}
.mw-table .is-num{text-align:right;font-variant-numeric:tabular-nums}
.mw-table tbody[hidden]{display:none}
.mw-table tr.is-state th,.mw-table tr.is-state td{background:rgba(42,120,214,.07);font-weight:700;color:var(--ink-strong)}
.mw-table tr.is-local th{padding-left:28px;font-weight:500}
.mw-table td a{color:#1c5cab;font-weight:600;text-decoration:none;white-space:nowrap}
.mw-table td a:hover{text-decoration:underline}
.mw-table .mw-rising{margin:0;display:inline}
.mw-table-note{display:block;font-size:.78rem;font-weight:500;color:var(--muted)}
.mw-table td .mw-table-note{display:inline}
.mw-table-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}

/* "Generated by AppyShift" credit */
.mw-credit{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.78rem;font-weight:600;text-decoration:none}
.mw-credit img{height:16px;width:auto;display:block}
.mw-credit:hover span{color:var(--ink)}
.mw-legend .mw-credit{justify-self:end;margin-top:2px}

.mw-method{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px;padding:26px;border-radius:20px;background:rgba(42,120,214,.05);border:1px solid rgba(42,120,214,.15)}
.mw-method h2{margin:0 0 8px;font-size:1.1rem;color:var(--ink-strong)}
.mw-method p{margin:0;color:var(--muted);line-height:1.6;font-size:.94rem}

@media (max-width:1000px){
    .mw-layout{grid-template-columns:1fr}
    .mw-panel{position:static}
    .mw-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
    /* The map renders at ~1/3 scale on a phone; enlarge markers so they stay tappable (~24px). */
    .mw-marker-body{transform:scale(2.2)}
    .mw-pins-wide{display:none}
    .mw-pins-compact{display:inline}
    .mw-hero{padding-top:48px}
    .mw-search{flex-direction:column;align-items:stretch}
    .mw-toolbar .mw-search{flex-basis:100%}
    .mw-view-actions{width:100%;justify-content:space-between}
    .mw-search input{max-width:none}
    .mw-method{grid-template-columns:1fr;padding:20px}
    .mw-map-card{padding:8px}
    .mw-labels text{font-size:12px}
}
@media (prefers-reduced-motion:reduce){
    .mw-state,.mw-pin-shape{transition:none}
}
@media (forced-colors:active){
    .mw-state{stroke:CanvasText}
    .mw-pin-shape{fill:Highlight}
}
