/* v0.12 — corrección de estabilidad del mapa, 14 tenencias y hover sin artefactos. */

/* El componente no modifica su altura al alternar entre tenencias. */
.page-home-mockup-v12 .tenencias-map-wrap {
  width: 100%;
  max-width: 540px;
  margin-inline: auto;
  padding: .38rem;
  border: 1px solid #dce4f3;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fe 100%);
}

.tenencias-map-shell-v12 {
  display: grid;
  gap: .72rem;
}

.tenencias-map-stage-v12 {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  background: #f7f9fe;
}

.tenencias-map-svg-v12 {
  display: block;
  width: 100%;
  height: auto;
  min-height: 300px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: inherit;
  background: #f7f9fe;
}

/* Evita el artefacto negro visto al pasar sobre un punto: no se usan filtros SVG en hover. */
.tenencias-map-svg-v12 .tenencia-map-dot,
.tenencias-map-svg-v12 .tenencia-map-link:hover .tenencia-map-dot,
.tenencias-map-svg-v12 .tenencia-map-link:focus .tenencia-map-dot,
.tenencias-map-svg-v12 .tenencia-map-link:focus-visible .tenencia-map-dot,
.tenencias-map-svg-v12 .tenencia-map-link.is-active .tenencia-map-dot {
  filter: none !important;
}

.tenencias-map-svg-v12 .municipio-silhouette-v12 {
  stroke: #123476;
  stroke-width: 1.5;
  stroke-linejoin: round;
}

.tenencias-map-svg-v12 .municipio-outline-v12 {
  pointer-events: none;
}

.tenencias-map-svg-v12 .map-primary-route-v12 {
  fill: none;
  stroke: #fff;
  stroke-width: 4.1;
  opacity: .9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tenencias-map-svg-v12 .map-roads-v12 {
  stroke-width: 2.25;
  opacity: .93;
}

.tenencias-map-svg-v12 .map-city-label-v12,
.tenencias-map-svg-v12 .tenencia-map-label-v12,
.tenencias-map-svg-v12 .map-north-v12 text {
  paint-order: stroke;
  stroke: rgba(255,255,255,.98);
  stroke-width: 4px;
  stroke-linejoin: round;
}

.tenencias-map-svg-v12 .map-city-label-v12 {
  fill: #143477;
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 900;
}

.tenencias-map-svg-v12 .tenencia-map-label-v12 {
  fill: #123476;
  font-family: Arial, sans-serif;
  font-size: 8.45px;
  font-weight: 800;
  letter-spacing: -.04px;
  pointer-events: none;
  transition: fill .15s ease;
}

.tenencias-map-svg-v12 .map-north-v12 text {
  fill: #244b9f;
  font-family: Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
}

.tenencias-map-svg-v12 .tenencia-map-link-v12 {
  cursor: pointer;
  outline: none;
}

.tenencias-map-svg-v12 .tenencia-map-ping-v12 {
  fill: #fff;
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  transition: opacity .16s ease, transform .16s ease;
}

.tenencias-map-svg-v12 .tenencia-map-dot-v12 {
  fill: #fff;
  stroke: #173c8d;
  stroke-width: 3.5;
  transform-box: fill-box;
  transform-origin: center;
  transition: fill .16s ease, stroke .16s ease, transform .16s ease;
}

.tenencias-map-svg-v12 .tenencia-map-center-v12 {
  fill: #423fa6;
  transform-box: fill-box;
  transform-origin: center;
  transition: fill .16s ease, transform .16s ease;
}

.tenencias-map-svg-v12 .tenencia-map-link-v12:hover .tenencia-map-ping-v12,
.tenencias-map-svg-v12 .tenencia-map-link-v12:focus .tenencia-map-ping-v12,
.tenencias-map-svg-v12 .tenencia-map-link-v12:focus-visible .tenencia-map-ping-v12,
.tenencias-map-svg-v12 .tenencia-map-link-v12.is-active .tenencia-map-ping-v12 {
  opacity: .68;
  transform: scale(1.48);
}

.tenencias-map-svg-v12 .tenencia-map-link-v12:hover .tenencia-map-dot-v12,
.tenencias-map-svg-v12 .tenencia-map-link-v12:focus .tenencia-map-dot-v12,
.tenencias-map-svg-v12 .tenencia-map-link-v12:focus-visible .tenencia-map-dot-v12,
.tenencias-map-svg-v12 .tenencia-map-link-v12.is-active .tenencia-map-dot-v12 {
  fill: #f7dc77;
  stroke: #352f85;
  transform: scale(1.14);
}

.tenencias-map-svg-v12 .tenencia-map-link-v12:hover .tenencia-map-center-v12,
.tenencias-map-svg-v12 .tenencia-map-link-v12:focus .tenencia-map-center-v12,
.tenencias-map-svg-v12 .tenencia-map-link-v12:focus-visible .tenencia-map-center-v12,
.tenencias-map-svg-v12 .tenencia-map-link-v12.is-active .tenencia-map-center-v12 {
  fill: #2c267f;
  transform: scale(1.12);
}

.tenencias-map-svg-v12 .tenencia-map-link-v12:hover .tenencia-map-label-v12,
.tenencias-map-svg-v12 .tenencia-map-link-v12:focus .tenencia-map-label-v12,
.tenencias-map-svg-v12 .tenencia-map-link-v12:focus-visible .tenencia-map-label-v12,
.tenencias-map-svg-v12 .tenencia-map-link-v12.is-active .tenencia-map-label-v12 {
  fill: #302982;
}

/* Panel de información: mismo alto y misma grilla en todo momento. */
.tenencias-map-status-v12 {
  display: grid;
  grid-template-rows: auto 2.55em 2.58em;
  gap: .12rem;
  box-sizing: border-box;
  min-height: 126px;
  height: 126px;
  padding: .82rem .92rem;
  border: 1px solid #dce3f1;
  border-radius: 14px;
  background: linear-gradient(105deg, #ffffff 0%, #f6f4ff 100%);
}

.tenencias-map-status-v12 .map-status-kicker {
  margin: 0;
  color: #16709c;
  font-size: .63rem;
  font-weight: 900;
  letter-spacing: .09em;
  line-height: 1.1;
  text-transform: uppercase;
}

.tenencias-map-status-v12 strong,
.tenencias-map-status-v12 span {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}

.tenencias-map-status-v12 strong {
  align-self: end;
  color: var(--v7-ink);
  font-size: .94rem;
  font-weight: 900;
  line-height: 1.23;
  -webkit-line-clamp: 2;
}

.tenencias-map-status-v12 span {
  align-self: start;
  color: var(--v7-muted);
  font-size: .74rem;
  line-height: 1.31;
  -webkit-line-clamp: 2;
}

/* Se eliminan los elementos redundantes de la versión previa para dedicar el espacio al contenido útil. */
.tenencias-map-shell-v12 .map-status-link,
.tenencias-map-shell-v12 .tenencias-map-note,
.tenencias-map-shell-v12 .tenencias-map-legend,
.tenencias-map-shell-v12 .tenencias-map-footer,
.tenencias-map-shell-v12 .map-list-toggle {
  display: none !important;
}

@media (min-width: 980px) {
  .page-home-mockup-v12 .tenencias-explorer-layout {
    grid-template-columns: 1fr !important;
  }

  .page-home-mockup-v12 .tenencias-map-wrap {
    max-width: 540px;
  }
}

@media (max-width: 680px) {
  .tenencias-map-svg-v12 {
    min-height: 260px;
  }

  .tenencias-map-svg-v12 .tenencia-map-label-v12,
  .tenencias-map-svg-v12 .map-city-label-v12 {
    display: none;
  }

  .tenencias-map-status-v12 {
    min-height: 132px;
    height: 132px;
  }
}

/* v0.15 — interacción por grupo SVG y microajustes cartográficos. */
.tenencias-map-svg-v12 .tenencia-map-hit-v15 {
  fill: rgba(255,255,255,.001);
  stroke: none;
}

.tenencias-map-svg-v12 .tenencia-map-link-v12 {
  cursor: pointer;
  outline: none;
}

.tenencias-map-svg-v12 .tenencia-map-link-v12 .tenencia-map-label-group-v12,
.tenencias-map-svg-v12 .tenencia-map-link-v12 .tenencia-map-label-v12 {
  user-select: none;
  -webkit-user-select: none;
}
