.igr-directory,
.igr-directory * { box-sizing: border-box; }
.igr-directory {
  --igr-bg:#17273f; --igr-map-line:#2b405d; --igr-accent:#23aaf6; --igr-link:#00669f;
  --igr-card-bg:#fff; --igr-title:#17273f; --igr-text:#536176; --igr-divider:#d7e2ec;
  width:100%; background:var(--igr-bg); color:#fff; font-family:"Arimo",Arial,Helvetica,sans-serif;
}
.igr-directory__inner { width:min(100%,96rem); margin-inline:auto; padding:5rem 2rem; }
.igr-directory__header { max-width:48rem; margin-bottom:2.5rem; }
.igr-directory__eyebrow { display:block; color:var(--igr-accent); font-size:.8125rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:.75rem; }
.igr-directory__title { color:#fff; font-size:clamp(2rem,4vw,3.5rem); line-height:1.05; margin:0 0 1rem; }
.igr-directory__intro { color:#e7eef5; font-size:1.0625rem; line-height:1.65; margin:0; }
.igr-directory__layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(20rem,.75fr); gap:3rem; align-items:start; }
.igr-directory__content { min-width:0; }
.igr-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-bottom:1.25rem; }
.igr-field { display:flex; flex-direction:column; gap:.5rem; margin:0; }
.igr-field>span { color:#e7eef5; font-size:.8125rem; text-transform:uppercase; letter-spacing:.08em; }
.igr-field select { width:100%; min-height:3.25rem; padding:.75rem 2.75rem .75rem 1rem; border:1px solid var(--igr-map-line); border-radius:.75rem; background:#fff; color:var(--igr-title); font:600 1rem/1.2 "Arimo",Arial,sans-serif; }
.igr-field select:focus-visible { outline:3px solid color-mix(in srgb,var(--igr-accent) 65%,transparent); outline-offset:2px; }
.igr-field select:disabled { opacity:.55; cursor:not-allowed; }
.igr-results-meta { min-height:1.5rem; margin:0 0 1.25rem; color:#b8c5d3; font-size:.9375rem; }
.igr-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.igr-directory.is-ready .igr-card[hidden] { display:none !important; }
.igr-card { display:flex; flex-direction:column; min-width:0; padding:1.5rem; background:var(--igr-card-bg); color:var(--igr-text); border-radius:1rem; box-shadow:0 .8rem 2rem rgba(0,0,0,.12); }
.igr-card__header { position:relative; padding:0 3.25rem 1.125rem 0; border-bottom:1px solid var(--igr-divider); }
.igr-card__header h3 { margin:0; color:var(--igr-title); font-size:1.25rem; line-height:1.25; }
.igr-card__uf { position:absolute; right:0; top:0; display:inline-flex; align-items:center; justify-content:center; min-width:2.4rem; height:2rem; padding:0 .55rem; border-radius:999px; background:#e7f5fe; color:var(--igr-link); font-weight:700; font-size:.8125rem; }
.igr-card__row { display:grid; grid-template-columns:1.35rem minmax(0,1fr); gap:.75rem; padding:1rem 0; border-bottom:1px solid var(--igr-divider); }
.igr-card__row:last-of-type { border-bottom:0; }
.igr-icon { width:1.25rem; height:1.25rem; margin-top:.15rem; color:var(--igr-link); }
.igr-card__row>div { min-width:0; }
.igr-card__label { display:block; margin-bottom:.25rem; color:#667386; font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; }
.igr-card strong { color:var(--igr-title); font-weight:700; }
.igr-card__links { display:flex; flex-direction:column; align-items:flex-start; gap:.35rem; }
.igr-card a { color:var(--igr-link); font-weight:700; text-decoration:none; overflow-wrap:anywhere; }
.igr-card a:hover { color:var(--igr-accent); text-decoration:underline; }
.igr-card a:focus-visible { outline:2px solid var(--igr-accent); outline-offset:3px; border-radius:2px; }
.igr-card__whatsapp { display:inline-flex; align-items:center; justify-content:center; min-height:2.75rem; margin-top:1rem; padding:.7rem 1rem; border-radius:.5rem; background:var(--igr-link); color:#fff !important; }
.igr-empty { padding:1.25rem; border:1px solid var(--igr-map-line); border-radius:.75rem; color:#e7eef5; }
.igr-map-panel { position:sticky; top:7rem; min-width:0; }
.igr-map { width:100%; min-height:28rem; display:flex; align-items:center; justify-content:center; }
.igr-brazil-map { display:block; width:100%; height:auto; max-width:42rem; max-height:38rem; overflow:visible; }
.igr-map-state,
.igr-map-detail { fill:var(--igr-bg); stroke:var(--igr-map-line); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.igr-map-detail { pointer-events:none; }
.igr-map-state { transition:fill .2s ease,stroke .2s ease,filter .2s ease; }
.igr-map-state.is-available { cursor:pointer; }
.igr-map-state.is-available:hover,
.igr-map-state.is-available:focus { stroke:var(--igr-accent); outline:none; }
.igr-map-state.is-active { fill:var(--igr-accent); stroke:#fff; filter:drop-shadow(0 0 6px rgba(35,170,246,.55)); }
.igr-map-state[aria-disabled="true"] { cursor:default; }
.igr-map-error { color:#e7eef5; text-align:center; }
.igr-noscript { margin:0; padding:1rem 2rem; color:#fff; }
@media (max-width:1024px) {
  .igr-directory__inner { padding:4rem 1.5rem; }
  .igr-directory__layout { grid-template-columns:1fr; }
  .igr-map-panel { position:static; order:-1; }
  .igr-map { min-height:20rem; }
  .igr-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .igr-directory__inner { padding:3rem 1.25rem; }
  .igr-filters,.igr-cards { grid-template-columns:1fr; }
  .igr-directory__layout { gap:2rem; }
  .igr-map { min-height:16rem; }
  .igr-card { padding:1.25rem; }
}
