/* DriveReady practice-activity map ("dam") — directory page only.
   Design per the owner's 2026-11-11 "Live across America" reference:
   one white card, centered hero, royal-blue actions, green selection. */
.dam{--dam-navy:#101D3A;--dam-blue:#0754F8;--dam-blue-dark:#0648C8;--dam-green:#159B46;--dam-green-dark:#0B6E35;
	--dam-ink:#24344E;--dam-muted:#5A6B84;--dam-border:#D5DFEC;--dam-pale:#F4F9FF;
	--dam-l1:#DCEBFD;--dam-l2:#B9D4FA;--dam-l3:#8AB4F5;--dam-l4:#5B93F0;--dam-l5:#2E6BE6;
	--dam-zero:#EDF2F8;--dam-nodata:#E2E7EE;
	margin:34px auto 6px;max-width:1240px;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--dam-ink)}
.dam [hidden]{display:none!important}
.dam-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.dam-card{background:#fff;border:1px solid var(--dam-border);border-radius:22px;
	box-shadow:0 10px 30px rgba(16,29,58,.08);padding:30px 30px 24px}

/* Hero */
.dam-hero{text-align:center;margin-bottom:20px}
.dam-hero h2{margin:0 0 8px;font-size:34px;line-height:1.15;color:var(--dam-navy);display:flex;align-items:center;justify-content:center;gap:11px}
.dam-hero__dot{width:15px;height:15px;border-radius:50%;background:#22B573;flex:none}
.dam-hero__sub{margin:0 0 12px;font-size:17px;color:var(--dam-muted)}
.dam-badge{display:inline-flex;align-items:center;padding:5px 13px;border-radius:999px;font-size:12.5px;font-weight:700;line-height:1.35}
.dam-badge--sample{background:#E5F6EB;color:#0B6E35}

/* Search + view toggle */
.dam-searchbar{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:18px}
.dam-combo{position:relative;width:100%;max-width:520px}
.dam-combo__box{display:flex;align-items:center;gap:9px;border:1px solid var(--dam-border);border-radius:12px;
	background:#fff;padding:0 8px 0 14px;min-height:50px}
.dam-combo__box:focus-within{border-color:var(--dam-blue);box-shadow:0 0 0 3px rgba(7,84,248,.18)}
.dam-combo__box>svg{width:20px;height:20px;color:#7A8AA0;flex:none}
.dam-combo__box input{flex:1;min-width:0;border:0;outline:0;font-size:16px;color:var(--dam-navy);background:transparent;min-height:48px}
.dam-combo__clear{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
	border:0;border-radius:50%;background:transparent;color:var(--dam-muted);cursor:pointer}
.dam-combo__clear:hover{background:var(--dam-pale);color:var(--dam-navy)}
.dam-combo__clear svg{width:15px;height:15px}
.dam-combo__list{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;margin:0;padding:6px;list-style:none;
	background:#fff;border:1px solid var(--dam-border);border-radius:14px;box-shadow:0 14px 34px rgba(16,29,58,.16);
	max-height:292px;overflow:auto;text-align:left}
.dam-combo__list li{padding:10px 12px;border-radius:9px;font-size:15px;color:var(--dam-navy);cursor:pointer;display:flex;justify-content:space-between;gap:10px}
.dam-combo__list li .dam-opt__count{color:var(--dam-muted);font-size:13px}
.dam-combo__list li.is-active{background:var(--dam-pale)}
.dam-combo__list li[aria-selected="true"]{background:#E5F6EB}
.dam-combo__empty{margin:8px 2px 0;font-size:14px;color:var(--dam-muted);text-align:center}
.dam-viewtoggle{display:none;background:#EAF1FA;border-radius:12px;padding:4px;gap:4px;width:100%;max-width:420px}
.dam-viewtoggle button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;
	min-height:46px;padding:8px 16px;border-radius:9px;font-size:15.5px;font-weight:600;color:var(--dam-muted);cursor:pointer}
.dam-viewtoggle button svg{width:19px;height:19px}
.dam-viewtoggle button[aria-pressed="true"]{background:#DCE9FD;color:var(--dam-navy)}

/* Map */
.dam-mapwrap{position:relative;max-width:920px;margin:0 auto}
.dam-map{position:relative}
.dam-map__loading{margin:0;padding:60px 0;text-align:center;color:var(--dam-muted);font-size:15px}
.dam-map__svg{width:100%;height:auto;display:block}
.dam-state{stroke:#fff;stroke-width:1;cursor:pointer;transition:fill .18s ease}
.dam-state.dam-l0{fill:var(--dam-zero)} .dam-state.dam-l1{fill:var(--dam-l1)} .dam-state.dam-l2{fill:var(--dam-l2)}
.dam-state.dam-l3{fill:var(--dam-l3)} .dam-state.dam-l4{fill:var(--dam-l4)} .dam-state.dam-l5{fill:var(--dam-l5)}
.dam-state.dam-lnd{fill:var(--dam-nodata)}
.dam-state.is-hover{stroke:var(--dam-navy);stroke-width:1.8}
.dam-state.is-selected{stroke:var(--dam-green-dark);stroke-width:2.4}
.dam-state:focus{outline:none}
.dam-state:focus-visible{stroke:var(--dam-navy);stroke-width:2.6}
.dam-dc-dot{stroke:#fff;stroke-width:1.4;cursor:pointer;transition:fill .18s ease}
.dam-dc-dot.dam-l0{fill:var(--dam-zero)} .dam-dc-dot.dam-l1{fill:var(--dam-l1)} .dam-dc-dot.dam-l2{fill:var(--dam-l2)}
.dam-dc-dot.dam-l3{fill:var(--dam-l3)} .dam-dc-dot.dam-l4{fill:var(--dam-l4)} .dam-dc-dot.dam-l5{fill:var(--dam-l5)}
.dam-dc-dot.dam-lnd{fill:var(--dam-nodata)}
.dam-dc-dot.is-hover{stroke:var(--dam-navy);stroke-width:2}
.dam-dc-dot.is-selected{stroke:var(--dam-green-dark);stroke-width:2.4}
.dam-dc-dot:focus{outline:none}
.dam-dc-dot:focus-visible{stroke:var(--dam-navy);stroke-width:2.6}
.dam-dc-label{font-size:11px;font-weight:700;fill:var(--dam-navy);pointer-events:none}
/* Count pins: the ten most active states + the selected state. */
.dam-pins{display:block}
.dam-pin{cursor:pointer}
.dam-pin path{fill:var(--dam-blue);stroke:#fff;stroke-width:1.2;transition:fill .18s ease}
.dam-pin text{fill:#fff;font-size:11px;font-weight:700;text-anchor:middle;pointer-events:none}
.dam-pin.is-hover path{fill:var(--dam-navy)}
.dam-pin.dam-lnd path{fill:#93A5BC}
.dam-pin.is-selected path{fill:var(--dam-green)}
.dam-tooltip{position:absolute;z-index:20;pointer-events:none;background:var(--dam-navy);color:#fff;
	border-radius:10px;padding:8px 12px;font-size:13.5px;line-height:1.4;box-shadow:0 8px 22px rgba(16,29,58,.28);
	max-width:230px;transition:opacity .15s ease}
.dam-tooltip strong{display:block;font-size:14.5px}
.dam-tooltip span{color:#C9D8F2}
/* Selected-state callout (desktop) */
.dam-callout{position:absolute;z-index:15;width:196px;background:#fff;border:1px solid var(--dam-border);
	border-radius:14px;box-shadow:0 12px 30px rgba(16,29,58,.16);padding:13px 15px;
	left:13%;top:46%;transform:translate(18px,-50%)}
.dam-callout__name{margin:0;font-size:16.5px;font-weight:700;color:var(--dam-navy)}
.dam-callout__count{margin:2px 0 6px;font-size:14px;color:var(--dam-muted)}
.dam-callout__link{font-size:14.5px;font-weight:700;color:var(--dam-green);text-decoration:none}
.dam-callout__link:hover{text-decoration:underline}
.dam-legend{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;margin:16px 0 0;padding:0;list-style:none;
	font-size:13.5px;color:var(--dam-muted)}
.dam-legend li{display:flex;align-items:center;gap:7px}
.dam-swatch{display:inline-block;width:16px;height:16px;border-radius:5px;border:1px solid rgba(16,29,58,.12);flex:none}
.dam-swatch.dam-l1{background:var(--dam-l1)} .dam-swatch.dam-l2{background:var(--dam-l2)}
.dam-swatch.dam-l3{background:var(--dam-l3)} .dam-swatch.dam-l4{background:var(--dam-l4)}
.dam-swatch.dam-l5{background:var(--dam-l5)} .dam-swatch.dam-l0{background:var(--dam-zero)}
.dam-swatch.dam-lnd{background:var(--dam-nodata)}
.dam-swatch.dam-lsel{background:#fff;border:2.5px solid var(--dam-green)}

/* Selected-state bar (mobile) */
.dam-bar{display:none;align-items:center;gap:12px;background:#EAF7EE;border:1px solid #BFE7CC;
	border-radius:14px;padding:12px 14px;margin-top:14px}
.dam-bar__pin{width:22px;height:22px;color:var(--dam-green);flex:none}
.dam-bar__text{display:flex;flex-direction:column;flex:1;min-width:0}
.dam-bar__text strong{font-size:16px;color:var(--dam-navy)}
.dam-bar__text span{font-size:13.5px;color:var(--dam-muted)}
.dam-bar__link{font-size:14.5px;font-weight:700;color:var(--dam-green);text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.dam-bar__link:hover{text-decoration:underline}

/* State list (mobile List view) */
.dam-listpane{display:none;max-width:720px;margin:0 auto}
.dam-list{margin:0;padding:0;list-style:none}
.dam-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;
	background:transparent;border:0;border-bottom:1px solid #E7EDF5;padding:12px 10px;min-height:48px;
	font-size:15.5px;color:var(--dam-navy);cursor:pointer;border-radius:8px}
.dam-row:hover{background:var(--dam-pale)}
.dam-row[aria-current="true"]{background:#E5F6EB}
.dam-row__name{font-weight:600}
.dam-row__meta{display:flex;align-items:center;gap:8px}
.dam-row__count{color:var(--dam-muted);font-size:14px;font-weight:400}
.dam-row__chev{color:#9FB0C6;font-size:20px;line-height:1}

/* Hint, footer, find button */
.dam-hint{display:none;text-align:center;margin:14px 0 0;font-size:14px;color:var(--dam-muted)}
.dam-foot{display:flex;flex-wrap:wrap;gap:6px 9px;align-items:center;justify-content:center;margin-top:18px;
	font-size:14px;color:var(--dam-muted);text-align:center}
.dam-foot__win select{border:0;background:transparent;font:inherit;color:var(--dam-muted);cursor:pointer;padding:6px 2px}
.dam-foot__win select:hover{color:var(--dam-navy)}
.dam-foot__gen{flex-basis:100%;font-size:12.5px;color:#8CA0B8}
.dam-link{border:0;background:none;padding:0;font:inherit;color:var(--dam-blue);font-weight:600;cursor:pointer;text-decoration:underline}
.dam-findrow{text-align:center;margin-top:16px}
.dam-btn{display:inline-flex;align-items:center;gap:9px;min-height:52px;padding:13px 34px;border:0;
	background:var(--dam-blue);color:#fff;border-radius:13px;font-size:16.5px;font-weight:700;cursor:pointer}
.dam-btn:hover{background:var(--dam-blue-dark)}
.dam-btn:focus-visible,.dam-row:focus-visible,.dam-viewtoggle button:focus-visible,
.dam-combo__clear:focus-visible,.dam-link:focus-visible,.dam-dialog__close:focus-visible,
.dam-foot__win select:focus-visible,.dam-callout__link:focus-visible,.dam-bar__link:focus-visible{
	outline:3px solid rgba(7,84,248,.55);outline-offset:2px}

/* Methodology dialog */
.dam-dialog{border:1px solid var(--dam-border);border-radius:18px;padding:24px;max-width:620px;width:calc(100% - 40px);
	color:var(--dam-ink);box-shadow:0 24px 60px rgba(16,29,58,.3)}
.dam-dialog::backdrop{background:rgba(16,29,58,.48)}
.dam-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dam-dialog__head h3{margin:0;font-size:20px;color:var(--dam-navy)}
.dam-dialog__close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;
	border-radius:50%;background:var(--dam-pale);color:var(--dam-navy);cursor:pointer}
.dam-dialog__close svg{width:16px;height:16px}
.dam-dialog p{font-size:15px;line-height:1.6}
.dam-dialog__table{width:100%;border-collapse:collapse;font-size:14px;margin:6px 0 10px}
.dam-dialog__table th,.dam-dialog__table td{border:1px solid var(--dam-border);padding:7px 9px;text-align:left}
.dam-dialog__table th{background:var(--dam-pale);color:var(--dam-navy)}
.dam-dialog__table .dam-swatch{margin-right:7px;vertical-align:-2px}

/* Mobile / tablet */
@media (max-width:1023px){
	.dam-viewtoggle{display:flex}
	.dam-bar{display:flex}
	.dam-hint{display:block}
	.dam-callout{display:none}
	.dam[data-view="list"] .dam-mapwrap{display:none}
	.dam[data-view="list"] .dam-hint{display:none}
	.dam[data-view="map"] .dam-listpane{display:none}
	.dam[data-view="list"] .dam-listpane{display:block}
}
@media (max-width:560px){
	.dam{margin-top:26px}
	.dam-card{padding:24px 16px 18px;border-radius:20px}
	.dam-hero h2{font-size:27px}
	.dam-hero__sub{font-size:15.5px}
	.dam-tooltip{display:none}
	.dam-legend{gap:7px 12px;font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){
	.dam-state,.dam-dc-dot,.dam-pin path,.dam-tooltip{transition:none}
}
