﻿/* Component scope deliberately contains every selector. Site typography is inherited. */
.igs-territories {
  --igs-territory-petrol: #09566c;
  --igs-territory-teal: #027b83;
  --igs-territory-gold: #f7bf34;
  padding-block: clamp(48px, 7vw, 96px);
  color: var(--igs-territory-petrol);
  background: #fff;
  overflow-wrap: anywhere;
  scroll-margin-top: 112px;
}
.igs-territories *, .igs-territories *::before, .igs-territories *::after { box-sizing: border-box; }
.igs-territories .igs-container { width: min(100% - 48px, 1240px); margin-inline: auto; }
.igs-territories h2 { margin: 0 0 18px; max-width: 25ch; color: var(--igs-territory-petrol); font-size: clamp(1.9rem, 3.4vw, 2.8rem); line-height: 1.15; letter-spacing: -.025em; }
.igs-territories h2 + p { max-width: 67ch; margin: 0 0 34px; line-height: 1.65; }
/* Match the existing Home lead scale without changing global typography. */
.igs-territories .igs-territories__intro { max-width: 790px; margin-bottom: 38px; font-size: clamp(1.03rem, 1.4vw, 1.23rem); line-height: 1.78; }
.igs-territories .igs-territories__layout { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(28px, 5vw, 68px); align-items: start; }
.igs-territories .igs-territories__map-panel, .igs-territories .igs-territories__cards { min-width: 0; }
/* Gutenberg flow spacing must not offset the second grid column. */
.igs-territories .igs-territories__layout > .wp-block-group { margin-block-start: 0; }
.igs-territories .igs-territories__map-panel { position: relative; }
.igs-territories .igs-territories__map {
  position: relative;
  width: 100%;
  height: clamp(280px, 35vw, 440px);
  max-height: 440px;
  overflow: hidden;
  isolation: isolate;
  border-radius: 20px;
  background: var(--igs-territory-petrol);
  border: 1px solid var(--igs-territory-petrol);
  box-shadow: 0 12px 32px #09566c12;
}
.igs-territories .igs-territories__map figure { width: 100%; height: 100%; margin: 0; }
.igs-territories .igs-territories__map img { display: block; width: 100% !important; height: 100% !important; max-width: 100%; object-fit: contain; }
.igs-territories .igs-territories__map [hidden] { display: none !important; }
.igs-territories .igs-territories__vector { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: hidden; }
.igs-territories .igs-territories__state { fill: var(--igs-territory-teal); fill-opacity: .62; stroke: #fff; stroke-opacity: .7; stroke-width: 1.1; vector-effect: non-scaling-stroke; }
.igs-territories .igs-territories__stage { position: absolute; z-index: 1; inset: 14px auto auto 14px; margin: 0; padding: 7px 12px; max-width: calc(100% - 28px); border: 1px solid #ffffff50; border-radius: 999px; background: var(--igs-territory-petrol); color: #fff; font-size: .8125rem; font-weight: 700; line-height: 1.3; pointer-events: none; }
#territorios-de-atuacao #mapa-recife .igs-territories__stage { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.igs-territories .igs-territories__city-marker, .igs-territories .igs-territories__annotations { pointer-events: none; }
.igs-territories .igs-territories__vector:not([data-stage="pernambuco"]) .igs-territories__city-marker { visibility: hidden; }
.igs-territories .igs-territories__vector[data-stage="pernambuco"] :is(.igs-territories__area, .igs-territories__annotation)[data-level="neighborhood"]:not([data-selected="true"]) { visibility: hidden; }
.igs-territories .igs-territories__vector[data-stage="recife"] .igs-territories__area:not([data-selected="true"]) .igs-territories__label,
.igs-territories .igs-territories__vector[data-stage="recife"] .igs-territories__annotation:not([data-selected="true"]),
.igs-territories .igs-territories__vector[data-stage="recife"] .igs-territories__area:not([data-selected="true"]) .igs-territories__point { visibility: hidden; }
.igs-territories .igs-territories__context { fill: var(--igs-territory-teal); fill-opacity: .52; stroke: #fff; stroke-opacity: .24; stroke-width: .65; vector-effect: non-scaling-stroke; }
.igs-territories .igs-territories__area { outline: none; }
.igs-territories .igs-territories__boundary { fill: var(--igs-territory-teal); stroke: #fff; stroke-width: 1.4; vector-effect: non-scaling-stroke; }
.igs-territories .igs-territories__point { fill: var(--igs-territory-gold); stroke: var(--igs-territory-petrol); stroke-width: 1.5; }
.igs-territories .igs-territories__leader { stroke: #fff; stroke-width: .8; stroke-opacity: .75; pointer-events: none; }
.igs-territories .igs-territories__label { fill: #fff; stroke: var(--igs-territory-petrol); paint-order: stroke; font-family: inherit; font-weight: 700; pointer-events: none; }
.igs-territories .igs-territories__vector[data-detail="false"] .igs-territories__label { visibility: hidden; }
.igs-territories .igs-territories__vector[data-detail="false"] .igs-territories__leader { display: none; }
.igs-territories .igs-territories__vector[data-stage="pernambuco"] .igs-territories__city-marker .igs-territories__label,
.igs-territories .igs-territories__annotation[data-selected="true"] .igs-territories__label { visibility: visible; }
.igs-territories .igs-territories__vector[data-has-selection="true"] .igs-territories__city-marker { visibility: hidden; }
.igs-territories .igs-territories__vector[data-has-selection="true"] .igs-territories__area[data-selected="false"] .igs-territories__label { visibility: hidden; }
.igs-territories .igs-territories__vector[data-has-selection="true"] .igs-territories__area[data-selected="false"] .igs-territories__leader { display: none; }
.igs-territories .igs-territories__vector[data-has-selection="true"] .igs-territories__annotation[data-selected="false"] { visibility: hidden; }
.igs-territories .igs-territories__area:hover .igs-territories__boundary,
.igs-territories .igs-territories__area:focus-visible .igs-territories__boundary,
.igs-territories .igs-territories__area[data-selected="true"] .igs-territories__boundary { fill: var(--igs-territory-gold); stroke: #fff; stroke-width: 2.5; }
.igs-territories .igs-territories__area:focus-visible .igs-territories__point { stroke: #fff; stroke-width: 4; }
.igs-territories .igs-territories__controls { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; margin: 16px 0 0; padding: 0; }
.igs-territories .igs-territories__controls .wp-block-button { margin: 0; padding: 0; }
.igs-territories .igs-territories__controls a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 10px 14px; border: 1px solid #09566c40; border-radius: 999px; background: #fff; color: var(--igs-territory-petrol); font: inherit; font-size: .875rem; font-weight: 700; line-height: 1.3; text-decoration: none; box-shadow: none; }
.igs-territories .igs-territories__controls a:hover { border-color: var(--igs-territory-teal); background: #027b830b; }
.igs-territories .igs-territories__controls a[aria-current="true"],
.igs-territories .igs-territories__controls a[aria-current="true"]:is(:hover, :active) { border: 1px solid var(--igs-territory-petrol) !important; background: var(--igs-territory-gold) !important; color: var(--igs-territory-petrol) !important; -webkit-text-fill-color: var(--igs-territory-petrol) !important; box-shadow: inset 0 -3px 0 var(--igs-territory-petrol) !important; }
.igs-territories .igs-territories__map-panel > p { margin: 16px 0 0; font-size: .75rem; line-height: 1.65; }
.igs-territories a { text-underline-offset: .19em; }
.igs-territories a:focus-visible { outline: 3px solid var(--igs-territory-petrol); outline-offset: 4px; }
.igs-territories .igs-territory { position: relative; margin: 0; padding: 22px 24px; border: 1px solid #09566c24; border-radius: 20px; background: #fff; scroll-margin-top: 112px; }
.igs-territories .igs-territory + .igs-territory { margin-top: 12px; }
.igs-territories .igs-territory h3 { margin: 0 0 10px; color: var(--igs-territory-petrol); font-size: 1.25rem; line-height: 1.25; }
.igs-territories .igs-territory p { margin: 0 0 12px; font-size: .9375rem; line-height: 1.6; }
.igs-territories .igs-territory p:last-child { margin-bottom: 0; }
.igs-territories .igs-territory a { color: var(--igs-territory-petrol); font-weight: 600; }
.igs-territories .igs-territory[data-selected="true"] { border-color: var(--igs-territory-teal); box-shadow: inset 4px 0 0 var(--igs-territory-gold), 0 5px 16px #09566c0a; }
.igs-territories .igs-territories__cta { margin: 32px 0 0; padding-top: 24px; border-top: 1px solid #09566c24; }
.igs-territories .igs-territories__cta a { display: inline-flex; align-items: center; min-height: 44px; }
/* Quem Somos already provides its own content gutter and width. */
.page-id-219 #igs-main .igs-subpage-content__inner .igs-territories > .igs-container { width: 100%; max-width: none; margin-inline: 0; }
@media (min-width: 1000px) and (min-height: 900px) {
  .igs-territories .igs-territories__map-panel { position: sticky; top: 112px; }
}
@media (max-width: 767px) {
  .igs-territories .igs-container { width: min(100% - 32px, 560px); }
  .igs-territories .igs-territories__layout { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .igs-territories .igs-territories__map-panel { position: static; }
  .igs-territories .igs-territories__map { height: clamp(248px, 80vw, 350px); border-radius: 20px; }
  .igs-territories .igs-territories__controls { gap: 7px; margin-top: 12px; }
  .igs-territories .igs-territories__controls a { padding-inline: 12px; font-size: .8125rem; }
  .igs-territories .igs-territory { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .igs-territories, .igs-territories * { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
/* The expanded map column must remain fully reachable on short screens. */
.igs-territories .igs-territories__map-panel--with-hq { position: relative; top: auto; }
.igs-territories .igs-territories__hq { margin-top: 24px; padding: 24px; border-radius: 20px; background: var(--igs-territory-petrol); color: #fff; }
.igs-territories .igs-territories__hq > * { margin-block-start: 0; }
.igs-territories .igs-territories__hq h3 { margin: 0 0 12px; font-size: 1.3rem; line-height: 1.3; }
#territorios-de-atuacao #como-chegar-sede h3, #territorios-de-atuacao #como-chegar-sede p { color: #fff !important; }
.igs-territories .igs-territories__hq-address { margin: 0 0 18px; font-size: .9375rem; line-height: 1.65; }
.igs-territories .igs-territories__hq-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 20px; }
.igs-territories .igs-territories__hq-actions .wp-block-button { margin: 0; }
.igs-territories .igs-territories__hq-actions a { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 12px 18px; text-align: center; text-decoration: none; font: inherit; font-size: .875rem; font-weight: 700; line-height: 1.3; }
#territorios-de-atuacao #como-chegar-sede .igs-territories__hq-directions a { background: var(--igs-territory-gold) !important; border: 1px solid var(--igs-territory-gold) !important; color: var(--igs-territory-petrol) !important; -webkit-text-fill-color: var(--igs-territory-petrol) !important; }
#territorios-de-atuacao #como-chegar-sede .igs-territories__hq-load a { background: transparent !important; border: 1px solid #ffffff80 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
.igs-territories .igs-territories__hq-actions a:hover { filter: brightness(.94); }
#territorios-de-atuacao #como-chegar-sede a:focus-visible { outline: 3px solid var(--igs-territory-gold) !important; outline-offset: 4px; }
.igs-territories .igs-territories__hq-frame { position: relative; height: 220px; margin: 0; overflow: hidden; border-radius: 14px; background: var(--igs-territory-teal); border: 1px solid #ffffff40; }
.igs-territories .igs-territories__hq-preview { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 22px; text-align: center; }
.igs-territories .igs-territories__hq-preview::before { content: ''; display: block; width: 24px; height: 24px; border: 6px solid var(--igs-territory-gold); border-radius: 50% 50% 50% 0; transform: rotate(-45deg); }
.igs-territories .igs-territories__hq-preview p { margin: 0; max-width: 28ch; font-size: .875rem; line-height: 1.5; }
.igs-territories .igs-territories__hq-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; margin: 0; }
.igs-territories .igs-territories__hq [hidden] { display: none !important; }
.igs-territories .igs-territories__hq-notice { margin: 14px 0 0; font-size: .75rem; line-height: 1.6; }
@media (max-width: 767px) {
  .igs-territories .igs-territories__hq { padding: 20px; }
  .igs-territories .igs-territories__hq-actions > .wp-block-button { flex: 1 1 100%; }
  .igs-territories .igs-territories__hq-actions a { width: 100%; }
}
