.ofg-territory-map{width:100%;max-width:100%;font-family:inherit}.ofg-map-stage{position:relative;width:100%}.ofg-map-stage svg{display:block;width:100%;height:auto;overflow:visible}.ofg-map-stage .ofg-state{cursor:pointer;transition:filter .15s ease;outline:none}.ofg-map-stage .ofg-state:hover,.ofg-map-stage .ofg-state:focus-visible{filter:brightness(.88);stroke:#222;stroke-width:1.4}.ofg-map-stage #labels,.ofg-map-stage #labels_outside,.ofg-map-stage #lines{pointer-events:none}.ofg-map-tooltip{position:absolute;bottom:1%;left:50%;transform:translateX(-50%);background:#171717;color:#fff;padding:8px 13px;font-size:14px;line-height:1.4;text-align:center;max-width:96%;z-index:2;box-shadow:0 2px 9px #0002}.ofg-map-tooltip[hidden]{display:none}.ofg-map-legend{display:flex;justify-content:center;align-items:center;gap:12px 24px;flex-wrap:wrap;margin-top:16px;font-size:14px}.ofg-legend-item{display:inline-flex;align-items:center;gap:8px}.ofg-legend-swatch{display:inline-block;width:17px;height:17px;border:1px solid #0002;flex:none}@media(max-width:600px){.ofg-map-tooltip{font-size:12px}.ofg-map-legend{justify-content:flex-start}}

.ofg-map-stage svg{max-width:100%;height:auto!important;overflow:hidden!important}.ofg-map-stage .ofg-state{fill-opacity:1!important}.ofg-map-stage #labels,.ofg-map-stage #labels_outside{pointer-events:none!important}

.ofg-territory-map .ofg-live-labels{font-family:inherit}.ofg-territory-map.ofg-font-heading .ofg-live-labels{font-family:var(--bs-heading-font-family,var(--wp--preset--font-family--heading,inherit))}

/* The live SVG labels receive the site's computed font family from map.js.
   A theme's heading font often has no --bs-heading-font-family variable. */
.ofg-territory-map .ofg-live-labels text{font-family:inherit}

.ofg-territory-map.ofg-legend-left,.ofg-territory-map.ofg-legend-right{display:flex;align-items:center}
.ofg-territory-map.ofg-legend-left .ofg-map-stage,.ofg-territory-map.ofg-legend-right .ofg-map-stage{flex:1;min-width:0}
.ofg-map-legend{box-sizing:border-box;padding:var(--ofg-legend-padding,16px);gap:12px var(--ofg-legend-gap,24px);margin:0;min-width:0}
.ofg-map-legend[data-align="left"]{justify-content:flex-start}
.ofg-map-legend[data-align="center"]{justify-content:center}
.ofg-map-legend[data-align="right"]{justify-content:flex-end}
.ofg-legend-left .ofg-map-legend,.ofg-legend-right .ofg-map-legend{flex:0 0 auto;max-width:35%;flex-direction:column;align-items:flex-start}
@media(max-width:600px){.ofg-territory-map.ofg-legend-left,.ofg-territory-map.ofg-legend-right{flex-direction:column}.ofg-legend-left .ofg-map-legend,.ofg-legend-right .ofg-map-legend{max-width:100%;width:100%;flex-direction:row}}

.ofg-territory-map .ofg-live-labels text{paint-order:normal;stroke:none;pointer-events:none}

.ofg-map-legend[data-bold="1"] .ofg-legend-item{font-weight:700}

/* Regional views maintain a stable landscape footprint, even for distant states. */
.ofg-map-stage svg{aspect-ratio:959 / 593;width:100%;height:auto!important;max-width:100%;overflow:hidden!important}

/* Optional size cap: width computed from both user limits, while SVG remains responsive. */
.ofg-territory-map .ofg-map-stage{max-width:100%;box-sizing:border-box}
.ofg-territory-map:not(.ofg-legend-left):not(.ofg-legend-right) .ofg-map-stage{margin-inline:auto}
