/* Isolated representatives update; shared stylesheet remains unchanged. */
.mapa-vendedores .mapa-ar{top:100px}
.mapa-vendedores .mapa-svg{height:min(60vh,620px)}
.mapa-ir-lista{display:block;width:fit-content;margin:0 auto 20px;color:var(--navy);font-size:15px;text-decoration:underline;text-underline-offset:4px}
.mapa-region{fill:#dbe3e9;stroke:#fff;stroke-width:1.3;cursor:pointer;transition:fill .2s}
.mapa-region:hover{fill:#c3d0d9}
.mapa-region.on{fill:var(--celeste)}
.mapa-region.compartida{fill:url(#mapa-compartido)}
.mapa-region.compartida.on,.mapa-region.compartida[aria-expanded="true"]{fill:url(#mapa-compartido-activo)}
.mapa-region:focus-visible{outline:none;stroke:var(--navy);stroke-width:4}
.mapa-vendedores .mapa-pie{margin-top:18px;line-height:1.5;text-align:center}
.mapa-leyenda{display:flex;justify-content:center;align-items:center;gap:10px;font-size:14px;color:var(--gray);margin-top:8px}
.mapa-leyenda i{width:14px;height:14px;border-radius:3px;background:repeating-linear-gradient(125deg,#dbe3e9 0 4px,#a8bbc8 4px 7px)}
.mapa-opciones{border:1px solid var(--line);border-radius:18px;padding:20px;margin:20px auto 0;max-width:360px;background:#fff;box-shadow:0 10px 30px rgba(9,35,71,.08)}
.mapa-opciones[hidden]{display:none}
.mapa-opciones h2{font-family:var(--disp);font-size:21px;color:var(--navy)}
.mapa-opciones p{font-size:14px;margin:4px 0 12px;color:var(--gray)}
.mapa-opciones>div{display:grid;gap:8px}
.mapa-opciones button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:12px 16px;min-height:46px;background:var(--fondo);border:1px solid var(--line);border-radius:10px;font:inherit;font-size:15px;color:var(--navy);text-align:left;cursor:pointer}
.mapa-opciones button:hover{border-color:var(--celeste)}
.zona-vendedor{min-width:0;background:#fff;border:1px solid var(--line);border-radius:20px;scroll-margin-top:105px;transition:border-color .3s,box-shadow .3s}
.zona-vendedor.on{border-color:transparent;box-shadow:0 16px 42px rgba(9,35,71,.10)}
.zona-vendedor.on .zo-cab i{background:var(--celeste)}
.zona-vendedor.on .zo-mas{transform:rotate(135deg);background:var(--celeste)}
.zona-vendedor.on .zo-mas::before,.zona-vendedor.on .zo-mas::after{background:#fff}
.zona-vendedor .zo-cuerpo{grid-template-rows:1fr}
.mapa-vendedores[data-ready] .zona-vendedor:not(.on) .zo-cuerpo{grid-template-rows:0fr;visibility:hidden}
.zona-vendedor .zo-in{display:grid;gap:24px;min-width:0;padding-top:14px}
.zona-vendedor .vendedor-nombres{color:var(--navy);font-weight:500;margin-top:6px}
.vendedor-contacto{padding:0;min-width:0;background:transparent}
.vendedor-contacto+.vendedor-contacto{padding-top:24px;border-top:1px solid var(--line)}
.vendedor-contacto h3{font-family:var(--disp);font-size:20px;font-weight:600;line-height:1.3;color:var(--navy);margin-bottom:16px}
.vendedor-telefono{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;justify-content:space-between;margin-bottom:14px}
.vendedor-telefono>div{display:grid;gap:4px}
.vendedor-telefono>div>span{font-size:14px;color:var(--gray)}
.vendedor-telefono>div>a{display:inline-flex;align-items:center;min-height:36px;font-size:17px;color:var(--navy);font-weight:500;text-decoration:underline;text-underline-offset:4px}
.vendedor-telefono .rc-wa{font-size:15px;min-height:44px;padding:10px 16px}
.vendedor-correos{display:grid;gap:4px;min-width:0}
.vendedor-correos a{display:flex;align-items:center;width:fit-content;max-width:100%;min-height:40px;font-size:15px;line-height:1.5;color:var(--navy);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.mapa-vendedores .r-nota a{color:var(--navy);text-decoration:underline;text-underline-offset:4px}
.mapa-vendedores button:focus-visible,.mapa-vendedores a:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
#lista-vendedores{scroll-margin-top:105px}
@media (max-height:800px) and (min-width:901px){.mapa-vendedores .mapa-svg{height:48vh}.mapa-vendedores .mapa-ar{top:90px}}
@media (max-width:900px){
  .mapa-vendedores .mapa-ar{position:relative;top:auto}
  .mapa-vendedores .mapa-svg{height:min(52vh,480px)}
  .mapa-vendedores .mapa-grid{gap:32px}
}
@media (max-width:480px){
  .zona-vendedor .zo-cab{padding:20px;gap:14px}
  .zona-vendedor .zo-in{padding:14px 20px 24px}
  .zona-vendedor .zo-tx b{font-size:18px}
  .vendedor-telefono{gap:10px}
}
@media (prefers-reduced-motion:reduce){.mapa-vendedores *{scroll-behavior:auto;transition:none}}
