/* DTDS Personnel Map (POC). Every rule is scoped under .dtds-pmap to stay isolated from the theme and MapSVG. */
.dtds-pmap {
  --dtds-pmap-land: #2c4e3b;
  --dtds-pmap-land-stroke: #ffffff;
  --dtds-pmap-hover: #4f8a68;
  --dtds-pmap-covered: #ebd131; /* DTDS brand gold (child-theme nav hover / Openings CTA) */
  --dtds-pmap-covered-hover: #f3e383; /* 0.1.7: hovered state of the selected office's coverage — tint from Lynn's palette (was #f0bd4f) */
  --dtds-pmap-selected: #f2c14e;
  --dtds-pmap-gold: #ebd131;
  --dtds-pmap-gold-light: #f3e383; /* tint of #EBD131 toward white, from Lynn's tint strip */
  --dtds-pmap-green: #244b37;
  --dtds-pmap-pin-outline: #173f30; /* existing DTDS drill-pin outline */
  --dtds-pmap-ink: #1d2420;
  --dtds-pmap-muted: #5b6660;
  --dtds-pmap-panel: #f4f6f5;
  --dtds-pmap-border: #d4dad7;
  container-type: inline-size;
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0 0 1.5em;
  color: var(--dtds-pmap-ink);
  font-size: 15px;
  line-height: 1.45;
  text-align: left;
}
.dtds-pmap *, .dtds-pmap *::before, .dtds-pmap *::after { box-sizing: border-box; }
.dtds-pmap__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@container (min-width: 900px) {
  /* Office selector narrowed to about 2/3 of its 0.1.4 width (was 1/4 of the row, min 220px); labels may wrap. */
  .dtds-pmap__layout { grid-template-columns: minmax(0, 1fr) clamp(160px, 16.5cqw, 225px); }
}
@container (max-width: 899.98px) {
  .dtds-pmap__side { max-width: 66.667%; }
}

.dtds-pmap__wrap { position: relative; width: 100%; }
.dtds-pmap__map svg { display: block; width: 100%; height: auto; max-width: none; overflow: visible; }

/* Original inline fills are overridden by CSS only; path geometry is never touched. */
.dtds-pmap .dtds-pmap__map path { fill: var(--dtds-pmap-land) !important; stroke: var(--dtds-pmap-land-stroke) !important; stroke-width: .6 !important; vector-effect: non-scaling-stroke; cursor: pointer; transition: fill .12s; }
.dtds-pmap .dtds-pmap__map path.is-superseded { pointer-events: none; }
.dtds-pmap .dtds-pmap__map path.is-covered { fill: var(--dtds-pmap-covered) !important; }
.dtds-pmap .dtds-pmap__map path.is-hover { fill: var(--dtds-pmap-hover) !important; }
.dtds-pmap .dtds-pmap__map path.is-covered.is-hover { fill: var(--dtds-pmap-covered-hover) !important; }
.dtds-pmap .dtds-pmap__map path.is-selected-unit { fill: var(--dtds-pmap-selected) !important; stroke: var(--dtds-pmap-ink) !important; stroke-width: 1.4 !important; }

.dtds-pmap .dtds-pmap__pin { cursor: pointer; outline: none; }
/* Pin rules out-rank the state-path rule above (same element type) and keep a normal, scaling stroke. */
.dtds-pmap .dtds-pmap__map .dtds-pmap__pin path.body { fill: var(--dtds-pmap-gold) !important; stroke: var(--dtds-pmap-pin-outline) !important; stroke-width: 10 !important; vector-effect: none; stroke-linejoin: round; cursor: pointer; transition: fill .35s ease, stroke-width .15s; }
.dtds-pmap .dtds-pmap__pin .auger { pointer-events: none; }
.dtds-pmap .dtds-pmap__map .dtds-pmap__pin:hover path.body, .dtds-pmap .dtds-pmap__map .dtds-pmap__pin.is-active path.body { fill: var(--dtds-pmap-gold-light) !important; }
.dtds-pmap .dtds-pmap__map .dtds-pmap__pin:focus-visible path.body { stroke-width: 22 !important; }
@media (prefers-reduced-motion: reduce) { .dtds-pmap .dtds-pmap__map .dtds-pmap__pin path.body { transition: none; } }

.dtds-pmap__tooltip { position: absolute; z-index: 6; pointer-events: none; background: var(--dtds-pmap-ink); color: #fff; font-size: 13px; padding: 3px 7px; border-radius: 4px; transform: translate(-50%, -130%); white-space: nowrap; }
.dtds-pmap__tooltip[hidden], .dtds-pmap__card[hidden] { display: none !important; }

.dtds-pmap__card { position: absolute; z-index: 5; width: 260px; max-width: calc(100% - 16px); background: #fff; border: 1px solid var(--dtds-pmap-border); border-radius: 8px; box-shadow: 0 6px 20px rgba(0,0,0,.18); padding: 12px 14px; font-size: 14px; outline: none; }
.dtds-pmap__card:focus-visible { outline: 2px solid var(--dtds-pmap-green); outline-offset: 2px; }
.dtds-pmap__card p { margin: 0 0 6px; }
.dtds-pmap .dtds-pmap__cardh { margin: 0 0 6px; padding: 0; font-size: 20px; line-height: 1.3; color: var(--dtds-pmap-ink); text-transform: none; letter-spacing: normal; }
.dtds-pmap .dtds-pmap__card a { color: inherit; text-decoration: underline; }
/* 0.1.6 (approved card screenshot): phone and email links bold dark green, underlined. The fax link (second tel: link) stays as in 0.1.5. */
.dtds-pmap .dtds-pmap__card .dtds-pmap__contact a { color: var(--dtds-pmap-green) !important; font-weight: 700 !important; text-decoration: underline !important; }
.dtds-pmap .dtds-pmap__card .dtds-pmap__contact a[href^="tel:"] ~ a[href^="tel:"] { color: inherit !important; font-weight: inherit !important; }
.dtds-pmap .dtds-pmap__sep { border: 0; border-top: 1px solid var(--dtds-pmap-border); height: 0; margin: 8px 0; background: none; }
.dtds-pmap .dtds-pmap__areash, .dtds-pmap .dtds-pmap__coveredby { margin: 0 0 2px; font-weight: 700; }
.dtds-pmap .dtds-pmap__areash { color: var(--dtds-pmap-green); }
.dtds-pmap ul.dtds-pmap__areas, .dtds-pmap ul.dtds-pmap__covlist { list-style: none; margin: 0 0 8px; padding: 0 0 0 12px; }
.dtds-pmap ul.dtds-pmap__areas { max-height: 8.6em; overflow-y: auto; overscroll-behavior: contain; }
.dtds-pmap ul.dtds-pmap__areas li, .dtds-pmap ul.dtds-pmap__covlist li { margin: 0; padding: 0; list-style: none; line-height: 1.4; }
.dtds-pmap ul.dtds-pmap__areas li::before, .dtds-pmap ul.dtds-pmap__covlist li::before { content: none; }
.dtds-pmap ul.dtds-pmap__areas:focus-visible { outline: 2px solid var(--dtds-pmap-green); outline-offset: 1px; }
.dtds-pmap .dtds-pmap__card p.dtds-pmap__ctawrap { margin: 0; }
.dtds-pmap .dtds-pmap__card a.dtds-pmap__cta { display: block; background: #eef2ef; border: 1px solid #b6c6bc; border-radius: 4px; padding: 8px 12px; color: var(--dtds-pmap-green) !important; font-weight: 700 !important; text-decoration: underline !important; }
.dtds-pmap .dtds-pmap__close { position: absolute; top: 4px; right: 6px; border: 0; background: none; padding: 2px 6px; font-size: 22px; font-weight: 400; line-height: 1; cursor: pointer; color: var(--dtds-pmap-ink); box-shadow: none; min-height: 0; }
.dtds-pmap__card::after { content: ""; position: absolute; left: var(--dtds-pmap-arrow-x, 50%); width: 12px; height: 12px; background: #fff; border: 1px solid var(--dtds-pmap-border); transform: translateX(-50%) rotate(45deg); }
.dtds-pmap__card.place-above::after { bottom: -7px; border-top: 0; border-left: 0; }
.dtds-pmap__card.place-below::after { top: -7px; border-bottom: 0; border-right: 0; }
.dtds-pmap__card.place-right::after { left: -7px; top: var(--dtds-pmap-arrow-y, 50%); transform: translateY(-50%) rotate(45deg); border-top: 0; border-right: 0; }
.dtds-pmap__card.place-left::after { left: auto; right: -7px; top: var(--dtds-pmap-arrow-y, 50%); transform: translateY(-50%) rotate(45deg); border-bottom: 0; border-left: 0; }
.dtds-pmap__dock .dtds-pmap__card { position: relative; width: auto; max-width: none; margin-top: 10px; }
.dtds-pmap__dock .dtds-pmap__card::after { display: none; }

.dtds-pmap__side { background: var(--dtds-pmap-panel); border: 1px solid var(--dtds-pmap-border); border-radius: 8px; padding: 12px 14px; align-self: start; }
.dtds-pmap .dtds-pmap__h { font-size: 15px; line-height: 1.3; margin: 4px 0 8px; padding: 0; color: var(--dtds-pmap-ink); text-transform: none; letter-spacing: normal; }
.dtds-pmap ul.dtds-pmap__offices, .dtds-pmap ul.dtds-pmap__people, .dtds-pmap ul.dtds-pmap__fallback { list-style: none; margin: 0 0 12px; padding: 0; }
.dtds-pmap ul.dtds-pmap__offices li, .dtds-pmap ul.dtds-pmap__people li { margin: 0; padding: 0; list-style: none; }
.dtds-pmap ul.dtds-pmap__offices li::before, .dtds-pmap ul.dtds-pmap__people li::before { content: none; }
.dtds-pmap .dtds-pmap__officebtn { display: block; width: 100%; text-align: left; white-space: normal; overflow-wrap: anywhere; transition: border-color .15s, box-shadow .15s; border: 1px solid var(--dtds-pmap-border); background: #fff; color: var(--dtds-pmap-ink); border-radius: 6px; padding: 6px 8px; margin: 0 0 4px; cursor: pointer; font: inherit; text-transform: none; letter-spacing: normal; box-shadow: none; min-height: 0; }
.dtds-pmap .dtds-pmap__officebtn:hover { border-color: var(--dtds-pmap-gold); box-shadow: 0 0 0 1px var(--dtds-pmap-gold); }
.dtds-pmap .dtds-pmap__officebtn[aria-pressed="true"] { border-color: var(--dtds-pmap-green); box-shadow: 0 0 0 1px var(--dtds-pmap-green); }
.dtds-pmap .dtds-pmap__officebtn:focus-visible, .dtds-pmap .dtds-pmap__linkbtn:focus-visible, .dtds-pmap .dtds-pmap__card a:focus-visible, .dtds-pmap .dtds-pmap__close:focus-visible { outline: 2px solid var(--dtds-pmap-green); outline-offset: 2px; }
.dtds-pmap .dtds-pmap__linkbtn { border: 0; background: none; padding: 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; box-shadow: none; min-height: 0; }
.dtds-pmap__muted { color: var(--dtds-pmap-muted); font-size: 13px; margin: 0; }
/* Theme isolation: page builders style h2/h3/p/a inside content with high-specificity selectors. */
.dtds-pmap .dtds-pmap__h, .dtds-pmap .dtds-pmap__cardh {
  font-family: inherit !important; font-weight: 700 !important; font-style: normal !important; line-height: 1.3 !important;
  text-transform: none !important; letter-spacing: normal !important; text-shadow: none !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--dtds-pmap-ink) !important;
}
.dtds-pmap .dtds-pmap__h { font-size: 20px !important; margin: 4px 0 8px !important; color: var(--dtds-pmap-green) !important; } /* 0.1.7: "Offices" matches the card heading */
.dtds-pmap .dtds-pmap__cardh { font-size: 20px !important; margin: 0 0 6px !important; padding-right: 22px !important; }
.dtds-pmap .dtds-pmap__cardh { color: var(--dtds-pmap-green) !important; }
.dtds-pmap .dtds-pmap__card p, .dtds-pmap .dtds-pmap__side p { font-size: inherit !important; line-height: 1.45 !important; }
.dtds-pmap .dtds-pmap__card, .dtds-pmap .dtds-pmap__side, .dtds-pmap .dtds-pmap__officebtn { font-family: inherit; }
.dtds-pmap .dtds-pmap__live { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.dtds-pmap .dtds-pmap__status { margin: 6px 0 0; font-size: 13px; color: var(--dtds-pmap-muted); }
.dtds-pmap__status:empty { display: none; }
.dtds-pmap--error .dtds-pmap__status { color: #b00020; font-weight: 600; }

/* 0.1.4/0.1.5: office post inserted below the map (iframe; existing DTDS insert pattern). */
.dtds-pmap .dtds-pmap__insert { margin: 24px 0 0; width: 100%; outline: none; }
.dtds-pmap .dtds-pmap__insert:focus-visible { outline: 2px solid var(--dtds-pmap-green); outline-offset: 2px; }
.dtds-pmap .dtds-pmap__insertstatus { margin: 0 0 8px; font-size: 14px; color: var(--dtds-pmap-muted); }
.dtds-pmap .dtds-pmap__insertstatus:empty { display: none; }
.dtds-pmap .dtds-pmap__insert.is-error .dtds-pmap__insertstatus { color: #b00020; }
.dtds-pmap .dtds-pmap__frame { display: block; width: 100%; max-width: none; border: 0; background: #fff; overflow: hidden; }