/* US State Heatmap Widget Styles */
.usmh-widget { position: relative; }
.usmh-widget .usmh-map svg { width: 100%; height: auto; display: block; }

/* Layout for top states positions; list should be content-sized (no 50% hog) */
.usmh-layout { display: block; }
.usmh-pos-left .usmh-layout,
.usmh-pos-right .usmh-layout { display: flex; align-items: flex-start; gap: 12px; }
.usmh-pos-left .usmh-topstates,
.usmh-pos-right .usmh-topstates { flex: 0 0 auto; width: auto; max-width: 45%; align-self: flex-start; }
.usmh-pos-left .usmh-map,
.usmh-pos-right .usmh-map { flex: 1 1 auto; }

.usmh-tooltip {
    position: absolute;
    display: none;
    pointer-events: none;
    background: rgba(0,0,0,0.75);
    color: #fff;
    padding: 6px 8px;
    border-radius: 6px;
    font-size: 12px;
    line-height: 1.2;
    z-index: 5;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.usmh-legend { margin-top: 8px; }
.usmh-legend .usmh-gradient { height: 10px; border-radius: 4px; }
.usmh-legend .usmh-legend-labels { display: flex; justify-content: space-between; font-size: 12px; color: #555; }

.usmh-topstates { margin-top: 10px; display: inline-block; }
.usmh-pos-above .usmh-topstates { margin-bottom: 8px; margin-top: 0; }
.usmh-pos-left .usmh-topstates,
.usmh-pos-right .usmh-topstates { margin-top: 0; }
.usmh-topstates-title { font-weight: 600; margin-bottom: 4px; }
.usmh-topstates-list { padding-left: 18px; margin: 0; list-style-position: inside; }
.usmh-state-link { text-decoration: none; }
.usmh-state-link:hover { text-decoration: underline; }

.usmh-total { margin-top: 8px; }
.usmh-total .usmh-total-label { font-weight: 600; }