.uw-cwbi-explorer-tool {
  --explorer-blue: var(--color-uwga-primary-dark, #21296b);
  --explorer-primary: var(--color-uwga-primary, #0044b5);
  --explorer-pale: var(--color-uwga-primary-light, #a7d2ff);
  --explorer-yellow: var(--color-uwga-secondary, #ffba00);
  --explorer-ink: var(--color-uwga-neutral-dark, #221e1f);
  --explorer-panel: var(--color-uwga-neutral-white, #ffffff);
  --explorer-light: var(--color-uwga-neutral-light, #f2f2f2);
  --explorer-radius: min(var(--border-radius_rounded-corners, 7px), 8px);
  box-sizing: border-box;
  container-type: inline-size;
  width: 100%;
  max-width: 100%;
  margin: 1.5rem auto;
  color: var(--explorer-text, var(--explorer-ink));
  font-family: var(--explorer-font, inherit);
  font-size: var(--explorer-font-size, 15px);
}
.uw-cwbi-explorer-tool *, .uw-cwbi-explorer-tool *::before, .uw-cwbi-explorer-tool *::after { box-sizing: border-box; }

/* Let the tool use the parent site's full content width in constrained layouts. */
.wp-site-blocks main .uw-cwbi-explorer-tool,
.entry-content > .uw-cwbi-explorer-tool,
.wp-block-post-content > .uw-cwbi-explorer-tool {
  width: min(100%, var(--content-width, 1366px));
  max-width: min(var(--content-width, 1366px), calc(100vw - (2 * var(--section-gutter-padding, 2.4rem)))) !important;
  margin-inline: auto;
}

.uw-cwbi-explorer-tool.alignfull {
  width: 100%;
  max-width: none !important;
  margin-inline: 0;
}

.uw-cwbi-explorer-shell { position: relative; min-height: 760px; overflow: hidden; background: #dcecf1; border: 1px solid rgba(23, 50, 77, .18); }
.uw-cwbi-explorer-map { position: absolute; inset: 0; z-index: 1; background: #dcecf1; }
.uw-cwbi-explorer-map .leaflet-container { width: 100%; height: 100%; min-height: 760px; background: #dcecf1; }
.uw-cwbi-explorer-map .leaflet-tile-pane { filter: grayscale(1) saturate(.35) opacity(.7); }
.uw-cwbi-explorer-map .leaflet-interactive:focus { outline: none; }
.uw-cwbi-explorer-map .leaflet-top.leaflet-right { top: .2rem; right: calc(min(330px, 31%) + 1.7rem); }
.uw-cwbi-explorer-map-controls { display: flex; flex-direction: column; }
.uw-cwbi-explorer-map-controls a { display: grid; place-items: center; width: 34px; height: 34px; color: var(--explorer-ink); font: 700 20px/1 sans-serif; text-decoration: none; }
.uw-cwbi-explorer-map-controls .uw-cwbi-explorer-map-home { font-size: 22px; }
.uw-cwbi-explorer-mobile-header, .uw-cwbi-explorer-mobile-score { display: none; }
.uw-cwbi-explorer-data { position: absolute; z-index: 500; top: 1rem; left: 1rem; display: flex; flex-direction: column; width: min(360px, 32%); max-height: calc(100% - 2rem); overflow: hidden; border: 1px solid rgba(23,50,77,.16); border-radius: var(--explorer-radius); background: rgba(255,255,255,.98); box-shadow: 0 3px 10px rgba(23,50,77,.14); }
.uw-cwbi-explorer-data.has-detail { bottom: 1rem; }
.uw-cwbi-explorer-data-header { padding: 1.3rem 1.5rem .9rem; color: var(--explorer-ink); background: transparent; }
.uw-cwbi-explorer-kicker { margin: 0 0 .2rem; font-size: .78em; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.uw-cwbi-explorer-title.brxe-heading { margin: 0; color: var(--explorer-blue); font-family: Antonio, sans-serif; font-size: 1.5em; line-height: 1.08; letter-spacing: 0; text-transform: uppercase; }
.uw-cwbi-explorer-year { display: block; color: var(--explorer-primary); font-size: .58em; }
.uw-cwbi-explorer-data-body { display: flex; flex: 0 1 auto; flex-direction: column; min-height: 0; padding: 0 1.5rem 1rem; overflow: hidden; }
.uw-cwbi-explorer-data.has-detail .uw-cwbi-explorer-data-body { flex: 1; }
.uw-cwbi-explorer-intro { margin: 0 0 .65rem; line-height: 1.25; }
.uw-cwbi-explorer-fieldset { margin: 0 0 1rem; padding: 0; border: 0; }
.uw-cwbi-explorer-fieldset legend, .uw-cwbi-explorer-label { display: block; margin: 0 0 .4rem; font-weight: 700; }
.uw-cwbi-explorer-options { display: flex; flex-wrap: wrap; gap: .45rem 1rem; }
.uw-cwbi-explorer-options label { display: inline-flex; align-items: center; gap: .35rem; white-space: nowrap; }
.uw-cwbi-explorer-options .is-disabled { opacity: .42; }
.uw-cwbi-explorer-select { width: 100%; min-height: 40px; padding: .45rem 2.2rem .45rem .65rem; border: 1px solid #6f7c89; border-radius: 3px; background: #fff; color: #222; font: inherit; }
.uw-cwbi-explorer-hint { margin: .2rem 0 .75rem; font-size: .92em; line-height: 1.25; }
.uw-cwbi-explorer-detail { display: flex; flex: 1; flex-direction: column; min-height: 0; margin: 0 -1.5rem; background: #fff; }
.uw-cwbi-explorer-detail[hidden] { display: none; }
.uw-cwbi-explorer-detail-head { flex: 0 0 auto; padding: 1.2rem 1.5rem 1rem; background: #fff; }
.uw-cwbi-explorer-detail-title { margin: 0; color: var(--explorer-blue); font-family: Antonio, sans-serif; font-size: 1.35em; line-height: 1.15; letter-spacing: 0; text-transform: uppercase; }
.uw-cwbi-explorer-score-row { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .85rem; }
.uw-cwbi-explorer-score-summary { display: grid; gap: .15rem; font-weight: 700; text-transform: uppercase; }
.uw-cwbi-explorer-score-summary > span { font-size: .85em; }
.uw-cwbi-explorer-score { color: var(--explorer-primary); font-family: Antonio, sans-serif; font-size: 1.55em; letter-spacing: 0; }
.uw-cwbi-explorer-pin { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; min-height: 32px; padding: .35rem .65rem; border: 2px solid var(--explorer-blue); border-radius: 3px; background: var(--explorer-panel); color: var(--explorer-blue); font: inherit; font-size: .8em; font-weight: 700; cursor: pointer; }
.uw-cwbi-explorer-pin span { font-size: 1.25em; line-height: 1; }
.uw-cwbi-explorer-pin.is-pinned { background: var(--explorer-primary); color: #fff; }
.uw-cwbi-explorer-pin-notice { position: absolute; z-index: 2; top: calc(100% + .4rem); right: 0; width: min(230px, 100%); margin: 0; padding: .55rem .65rem; border: 1px solid rgba(23,50,77,.25); border-radius: 3px; background: #fff; box-shadow: 0 3px 12px rgba(23,50,77,.2); font-size: .86em; line-height: 1.3; }
.uw-cwbi-explorer-pin-notice[hidden] { display: none; }
.uw-cwbi-explorer-detail-scale { margin-top: .85rem; }
.uw-cwbi-explorer-detail-scale-bar { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); height: 14px; border: 1px solid rgba(23,50,77,.25); }
.uw-cwbi-explorer-detail-scale-bar > span { min-width: 0; }
.uw-cwbi-explorer-detail-marker { position: absolute; top: 50%; width: 4px; height: 24px; background: var(--explorer-ink); transform: translate(-50%, -50%); box-shadow: 0 0 0 1px var(--explorer-panel); }
.uw-cwbi-explorer-detail-scale-labels { display: flex; justify-content: space-between; margin-top: .3rem; font-size: .8em; font-weight: 600; }
.uw-cwbi-explorer-indicators-title { flex: 0 0 auto; margin: 0; padding: .8rem 1.5rem .45rem; border-top: 1px solid #d6dce4; color: var(--explorer-blue); font-family: Antonio, sans-serif; font-size: 1.25em; letter-spacing: 0; text-transform: uppercase; }
.uw-cwbi-explorer-indicators { flex: 1; min-height: 0; overflow: auto; border-top: 1px solid #d6dce4; }
.uw-cwbi-explorer-indicator { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: 100%; gap: .35rem 1rem; padding: .65rem 1.5rem; border: 0; border-bottom: 1px solid #e0e4e9; background: #fff; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.uw-cwbi-explorer-indicator:hover, .uw-cwbi-explorer-indicator:focus-visible, .uw-cwbi-explorer-indicator.is-active { background: #f1f7fb; }
.uw-cwbi-explorer-indicator.is-active { box-shadow: inset 4px 0 var(--explorer-primary); }
.uw-cwbi-explorer-indicator-name { font-weight: 600; }
.uw-cwbi-explorer-indicator-value { font-size: 1.05em; font-weight: 700; }
.uw-cwbi-explorer-indicator-bins { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5, 1fr); gap: 3px; }
.uw-cwbi-explorer-indicator-bins i { height: 8px; background: color-mix(in srgb, var(--indicator-bin) 28%, white); }
.uw-cwbi-explorer-indicator-bins i.is-current { background: var(--indicator-bin); outline: 1px solid rgba(23,50,77,.45); }
.uw-cwbi-explorer-data-footer { flex: 0 0 auto; display: flex; align-items: center; min-height: 62px; padding: .65rem 1.5rem; border-top: 1px solid #d6dce4; background: #fff; }
.uw-cwbi-explorer-logo { display: block; width: min(13rem, 100%); height: auto; }
.uw-cwbi-explorer-controls { position: absolute; z-index: 500; top: 1rem; right: 1rem; display: grid; width: min(330px, 31%); gap: .7rem; }
.uw-cwbi-explorer-accordion { overflow: hidden; border: 1px solid rgba(23,50,77,.16); border-radius: var(--explorer-radius); background: rgba(255,255,255,.97); box-shadow: 0 3px 10px rgba(23,50,77,.13); }
.uw-cwbi-explorer-accordion-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 44px; padding: .65rem .85rem; border: 0; background: #fff; color: var(--explorer-blue); font: inherit; font-weight: 700; cursor: pointer; text-align: left; text-transform: uppercase; }
.uw-cwbi-explorer-accordion-toggle[aria-expanded="true"] { border-bottom: 1px solid #d6dce4; }
.uw-cwbi-explorer-accordion-toggle::after { content: "+"; font-size: 1.35em; line-height: 1; }
.uw-cwbi-explorer-accordion-toggle[aria-expanded="true"]::after { content: "-"; }
.uw-cwbi-explorer-accordion-body { padding: .85rem; }
.uw-cwbi-explorer-accordion-body[hidden] { display: none; }
.uw-cwbi-explorer-accordion-body p { margin: 0 0 .65rem; line-height: 1.2; }
.uw-cwbi-explorer-overlay-heading { display: flex; align-items: center; min-width: 0; gap: .65rem; }
.uw-cwbi-explorer-overlay-heading-key { display: inline-flex; align-items: center; min-width: 0; gap: .35rem; font-size: .72em; font-weight: 500; text-transform: none; }
.uw-cwbi-explorer-overlay-heading-key[hidden] { display: none; }
.uw-cwbi-explorer-overlay-heading-key .uw-cwbi-explorer-hatch { width: 22px; height: 14px; background-color: var(--explorer-panel); }
.uw-cwbi-explorer-overlay-heading-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uw-cwbi-explorer-legend-scale { display: grid; grid-template-columns: repeat(5, 1fr); height: 15px; margin: .4rem 0; border: 1px solid rgba(23,50,77,.2); }
.uw-cwbi-explorer-legend-labels { display: flex; justify-content: space-between; gap: 1rem; font-size: .82em; }
.uw-cwbi-explorer-overlay-key { display: flex; align-items: center; gap: .55rem; margin-top: .75rem; }
.uw-cwbi-explorer-hatch { width: 28px; height: 18px; border: 1px solid #000000; background: repeating-linear-gradient(135deg, transparent 0 5px, rgba(0,0,0,.8) 5px 6px); }
.uw-cwbi-explorer-pins { position: absolute; z-index: 510; right: 1rem; bottom: 1rem; width: min(330px, 31%); border-radius: var(--explorer-radius); background: rgba(255,255,255,.98); box-shadow: 0 3px 10px rgba(23,50,77,.13); }
.uw-cwbi-explorer-download-grid { display: block; }
.uw-cwbi-explorer-download-title { margin: 0 0 .55rem; color: var(--explorer-blue); font-family: Antonio, sans-serif; font-size: 1.12em; letter-spacing: 0; text-transform: uppercase; }
.uw-cwbi-explorer-pins-list { display: grid; max-height: 190px; margin: 0; padding: 0; overflow: auto; list-style: none; }
.uw-cwbi-explorer-pins-empty { margin: 0; color: #536578; }
.uw-cwbi-explorer-pins-help { font-size: .9em; }
.uw-cwbi-explorer-pinned { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .5rem; padding: .55rem 0; border-bottom: 1px solid #e0e4e9; }
.uw-cwbi-explorer-pinned:last-child { border-bottom: 0; }
.uw-cwbi-explorer-pinned-open, .uw-cwbi-explorer-pinned-remove { border: 0; background: transparent; color: var(--explorer-primary); font: inherit; cursor: pointer; }
.uw-cwbi-explorer-pinned-open { padding: .4rem .55rem; border-left: 4px solid transparent; text-align: left; font-weight: 600; }
.uw-cwbi-explorer-pinned-open:focus { border-left-color: var(--explorer-primary); outline: 0; background: #f1f7fb; }
.uw-cwbi-explorer-pinned-remove { width: 30px; height: 30px; font-size: 1.2em; }
.uw-cwbi-explorer-pins-download, .uw-cwbi-explorer-county-download { width: 100%; min-height: 34px; margin-top: .6rem; padding: .4rem .65rem; border: 2px solid var(--explorer-blue); border-radius: 3px; background: var(--explorer-blue); color: #fff; font: inherit; font-size: .82em; font-weight: 700; cursor: pointer; }
.uw-cwbi-explorer-pins-download:disabled, .uw-cwbi-explorer-county-download:disabled { border-color: var(--color-uwga-neutral-med, #c3c3c3); background: var(--explorer-light); color: #536578; cursor: not-allowed; }
.uw-cwbi-explorer-loading, .uw-cwbi-explorer-warning { min-height: 240px; display: grid; place-items: center; padding: 2rem; background: var(--explorer-pale); }
.uw-cwbi-explorer-warning { border: 1px solid var(--color-uwga-action, #fd372c); }
@container (min-width: 851px) {
  .uw-cwbi-explorer-title.brxe-heading { font-size: clamp(1.65em, 3.1cqw, 2.2em); white-space: nowrap; }
}
@container (max-width: 850px) {
  .uw-cwbi-explorer-shell { min-height: 820px; }
  .uw-cwbi-explorer-data { width: 32%; }
  .uw-cwbi-explorer-controls { width: 40%; }
  .uw-cwbi-explorer-pins { width: 40%; }
  .uw-cwbi-explorer-map .leaflet-top.leaflet-right { right: calc(40% + 1.7rem); }
}
@container (max-width: 725px) {
  .uw-cwbi-explorer-tool { margin-inline: 0; }
  .uw-cwbi-explorer-shell { min-height: clamp(650px, 175vw, 760px); background: #fff; }
  .uw-cwbi-explorer-map { bottom: 215px; }
  .uw-cwbi-explorer-map .leaflet-container { min-height: 0; height: 100%; }
  .uw-cwbi-explorer-data, .uw-cwbi-explorer-controls, .uw-cwbi-explorer-pins { display: none; }
  .uw-cwbi-explorer-mobile-header { position: absolute; z-index: 500; top: .7rem; left: .7rem; display: block; width: calc(100% - 1.4rem); padding: .65rem .8rem .55rem; border: 1px solid rgba(23,50,77,.14); border-radius: 5px; background: rgba(255,255,255,.96); box-shadow: 0 2px 8px rgba(23,50,77,.16); }
  .uw-cwbi-explorer-mobile-header h2 { margin: 0; color: var(--explorer-blue); font-family: Antonio, sans-serif; font-size: 1.6em; line-height: 1.05; letter-spacing: 0; text-transform: uppercase; }
  .uw-cwbi-explorer-mobile-header p { margin: .1rem 0 0; color: var(--explorer-ink); font-size: .95em; line-height: 1.1; }
  .uw-cwbi-explorer-mobile-score { position: absolute; z-index: 500; right: 0; bottom: 0; left: 0; display: block; min-height: 215px; padding: .9rem 1.1rem 1rem; border-top: 1px solid rgba(23,50,77,.18); background: #fff; }
  .uw-cwbi-explorer-mobile-score-intro { margin: 0 0 .4rem; font-size: .78em; line-height: 1.25; }
  .uw-cwbi-explorer-mobile-tract { min-height: 1.2em; margin: 0 0 .45rem; overflow: hidden; color: var(--explorer-blue); font-size: .96em; font-weight: 700; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
  .uw-cwbi-explorer-mobile-score-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; margin-bottom: .35rem; }
  .uw-cwbi-explorer-mobile-score-heading h3 { margin: 0; color: var(--explorer-ink); font-family: Antonio, sans-serif; font-size: 1.5em; line-height: 1; letter-spacing: 0; text-transform: uppercase; }
  .uw-cwbi-explorer-mobile-score-value { color: var(--explorer-primary); font-family: Antonio, sans-serif; font-size: 1.15em; letter-spacing: 0; text-align: right; text-transform: uppercase; }
  .uw-cwbi-explorer-mobile-scale { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; height: 13px; }
  .uw-cwbi-explorer-mobile-scale span { position: relative; }
  .uw-cwbi-explorer-mobile-scale span.is-current::after { content: ""; position: absolute; inset: -3px; border: 2px solid var(--explorer-ink); }
  .uw-cwbi-explorer-mobile-scale-labels { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; margin-top: .35rem; font-size: .68em; line-height: 1.05; text-align: center; }
  .uw-cwbi-explorer-mobile-desktop-note { margin-top: .7rem; padding-top: .55rem; border-top: 1px solid rgba(23,50,77,.12); color: rgba(23,50,77,.72); font-size: .72em; line-height: 1.25; }
  .uw-cwbi-explorer-mobile-desktop-note strong, .uw-cwbi-explorer-mobile-desktop-note span { display: block; }
  .uw-cwbi-explorer-mobile-desktop-note strong { margin-bottom: .12rem; color: var(--explorer-ink); font-size: 1.08em; font-weight: 700; }
  .uw-cwbi-explorer-map .leaflet-top.leaflet-right { top: 5.6rem; right: .55rem; }
  .uw-cwbi-explorer-map-controls { margin: 0; }
  .uw-cwbi-explorer-map .leaflet-interactive { cursor: pointer; }
}
