/* Mapa Q+Termik para Elementor. CSS restringido a este modulo. */
#qt-mapa-elementor {
  --qt-primary:#006763;
  --qt-dark:#00534f;
  --qt-light:#e9f3f2;
  --qt-bg:#f4f8f7;
  --qt-border:#dfe7e5;
  --qt-ink:#253033;
  --qt-muted:#637476;
  box-sizing:border-box;
  max-width:1220px;
  margin:0 auto;
  padding:64px 22px 70px;
  font-family:inherit,Arial,sans-serif;
  color:var(--qt-ink);
}
#qt-mapa-elementor *,#qt-mapa-elementor *::before,#qt-mapa-elementor *::after { box-sizing:border-box; }
#qt-mapa-elementor .qt-map__head {margin:0 0 30px;max-width:850px;}
#qt-mapa-elementor .qt-map__eyebrow,
#qt-mapa-elementor .qt-map__eyebrow p {
  color:var(--qt-primary);font-size:11px;letter-spacing:.11em;
  font-weight:750;margin:0 0 8px;line-height:1.35;
}
#qt-mapa-elementor .qt-map__title,
#qt-mapa-elementor .qt-map__title .elementor-heading-title {
  color:var(--qt-ink);font-size:clamp(27px,3.1vw,36px);
  line-height:1.18;font-weight:750;letter-spacing:-.025em;margin:0 0 10px;
}
#qt-mapa-elementor .qt-map__subtitle,
#qt-mapa-elementor .qt-map__subtitle p {
  color:var(--qt-muted);font-size:14px;line-height:1.55;margin:0;
}
#qt-mapa-elementor .qt-map__layout {
  display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.9fr);
  gap:24px;align-items:stretch;
}
#qt-mapa-elementor .qt-map__col-map,
#qt-mapa-elementor .qt-map__col-info {min-width:0;width:100%;}
#qt-mapa-elementor .qt-map__canvas {
  position:relative;min-width:0;overflow:hidden;
  border:1px solid var(--qt-border);border-radius:5px;
  background:linear-gradient(145deg,#f4f8f7,#e9f3f2);
  height:100%;
}
#qt-mapa-elementor .qt-map__map-tag {
  position:absolute;top:20px;left:22px;z-index:2;
  display:flex;align-items:center;gap:8px;
  color:var(--qt-primary);font-size:10px;letter-spacing:.13em;font-weight:750;
}
#qt-mapa-elementor .qt-map__map-tag-dot {height:7px;width:7px;background:var(--qt-primary);display:inline-block;border-radius:50%;}
#qt-mapa-elementor .qt-map__svg {display:block;width:100%;height:auto;aspect-ratio:960 / 700;overflow:visible;}
#qt-mapa-elementor .qt-map__land {
  fill:var(--qt-primary);stroke:#fff;stroke-width:1.6;
  stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;
}
#qt-mapa-elementor .qt-map__island {stroke-width:1.2;}
#qt-mapa-elementor .qt-map__canary {stroke-width:1.2;}
#qt-mapa-elementor .qt-map__city {cursor:pointer;outline:none;}
#qt-mapa-elementor .qt-map__connector {
  stroke:var(--qt-primary);stroke-opacity:.62;stroke-width:1.9;stroke-dasharray:4 4;
}
#qt-mapa-elementor .qt-map__city-dot-outer {
  fill:#fff;stroke:var(--qt-primary);stroke-width:3.5;
  transition:fill .18s,stroke .18s;
}
#qt-mapa-elementor .qt-map__city-dot-inner {fill:var(--qt-primary);}
#qt-mapa-elementor .qt-map__badge-bg {
  fill:#fff;stroke:var(--qt-border);stroke-width:1.5;
  filter:drop-shadow(0 2px 4px #1548431e);
  transition:fill .18s,stroke .18s;
}
#qt-mapa-elementor .qt-map__badge-text {
  font-family:inherit,Arial,sans-serif;font-size:16px;
  fill:var(--qt-primary);font-weight:750;
}
#qt-mapa-elementor .qt-map__badge-arrow {
  stroke:var(--qt-primary);stroke-width:2.2;fill:none;
  stroke-linecap:round;stroke-linejoin:round;
}
#qt-mapa-elementor .qt-map__city:hover .qt-map__badge-bg,
#qt-mapa-elementor .qt-map__city.is-active .qt-map__badge-bg,
#qt-mapa-elementor .qt-map__city:focus-visible .qt-map__badge-bg {
  fill:var(--qt-dark);stroke:var(--qt-dark);
}
#qt-mapa-elementor .qt-map__city:hover .qt-map__badge-text,
#qt-mapa-elementor .qt-map__city.is-active .qt-map__badge-text,
#qt-mapa-elementor .qt-map__city:focus-visible .qt-map__badge-text {fill:#fff;}
#qt-mapa-elementor .qt-map__city:hover .qt-map__badge-arrow,
#qt-mapa-elementor .qt-map__city.is-active .qt-map__badge-arrow,
#qt-mapa-elementor .qt-map__city:focus-visible .qt-map__badge-arrow {stroke:#fff;}
#qt-mapa-elementor .qt-map__city.is-active .qt-map__city-dot-outer {fill:var(--qt-dark);stroke:#fff;}
#qt-mapa-elementor .qt-map__city.is-active .qt-map__city-dot-inner {fill:#fff;}
#qt-mapa-elementor .qt-map__city:focus-visible .qt-map__city-dot-outer {stroke:#d0f2ec;stroke-width:6;}
#qt-mapa-elementor .qt-map__map-footer {
  position:absolute;left:20px;right:20px;bottom:15px;
  display:flex;justify-content:space-between;gap:12px;
  color:var(--qt-muted);font-size:11px;line-height:1.3;
}
#qt-mapa-elementor .qt-map__mobile-cities {display:none;}
#qt-mapa-elementor .qt-map__panel {
  background:#fff;border:1px solid var(--qt-border);
  border-top:5px solid var(--qt-primary);
  border-radius:5px;display:flex;flex-direction:column;
  min-height:0;box-shadow:0 3px 12px rgba(0,50,47,.055);
}
#qt-mapa-elementor .qt-map__panel-head {padding:26px 24px 19px;border-bottom:1px solid var(--qt-border);}
#qt-mapa-elementor .qt-map__panel-eyebrow {display:block;color:var(--qt-primary);letter-spacing:.12em;font-weight:750;font-size:10px;margin-bottom:12px;}
#qt-mapa-elementor .qt-map__panel-city {font-size:27px;line-height:1.2;letter-spacing:-.02em;color:var(--qt-dark);margin:0 0 7px;font-weight:750;}
#qt-mapa-elementor .qt-map__panel-count {font-size:13px;color:var(--qt-muted);margin:0;}
#qt-mapa-elementor .qt-map__panel-content {padding:6px 24px 20px;max-height:380px;overflow:auto;scrollbar-width:thin;scrollbar-color:#a9c7c1 transparent;flex:1;}
#qt-mapa-elementor .qt-map__item {display:flex;gap:12px;padding:19px 0;border-bottom:1px solid var(--qt-border);align-items:flex-start;}
#qt-mapa-elementor .qt-map__item:last-child {border-bottom:0;}
#qt-mapa-elementor .qt-map__item-icon {width:36px;height:36px;flex:0 0 36px;border-radius:4px;background:var(--qt-light);display:grid;place-items:center;color:var(--qt-primary);font-size:18px;font-weight:700;}
#qt-mapa-elementor .qt-map__item-icon img {width:28px;height:28px;object-fit:contain;display:block;}
#qt-mapa-elementor .qt-map__item-body {min-width:0;flex:1;}
#qt-mapa-elementor .qt-map__item-name {font-size:14px;color:var(--qt-ink);line-height:1.35;font-weight:750;margin:0 0 7px;}
#qt-mapa-elementor .qt-map__item-address {font-size:12px;line-height:1.5;color:var(--qt-muted);margin:0 0 10px;}
#qt-mapa-elementor .qt-map__item-links {display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
#qt-mapa-elementor .qt-map__item-links a {color:var(--qt-primary);font-size:12px;font-weight:700;line-height:1.4;text-decoration:none;border-bottom:1px solid currentColor;}
#qt-mapa-elementor .qt-map__item-links a:hover {color:var(--qt-dark);}
#qt-mapa-elementor .qt-map__demo-notice {margin:10px 0 0;padding:12px 13px;border-radius:4px;background:var(--qt-light);color:var(--qt-muted);line-height:1.5;font-size:12px;}
#qt-mapa-elementor .qt-map__panel-foot {margin-top:auto;border-top:1px solid var(--qt-border);padding:18px 24px;color:var(--qt-muted);font-size:12px;line-height:1.4;}
@media (max-width:980px) {
  #qt-mapa-elementor .qt-map__layout {grid-template-columns:minmax(0,1fr);gap:18px;}
  #qt-mapa-elementor .qt-map__panel-content {max-height:360px;}
  #qt-mapa-elementor .qt-map__canvas {max-width:790px;}
}
@media (max-width:600px) {
  #qt-mapa-elementor {padding:38px 16px 46px;}
  #qt-mapa-elementor .qt-map__head {margin-bottom:20px;}
  #qt-mapa-elementor .qt-map__map-tag {top:12px;left:14px;}
  #qt-mapa-elementor .qt-map__svg {aspect-ratio:960 / 700;}
  #qt-mapa-elementor .qt-map__badge,#qt-mapa-elementor .qt-map__connector {display:none;}
  #qt-mapa-elementor .qt-map__city-dot-outer {stroke-width:5;r:12;}
  #qt-mapa-elementor .qt-map__city-dot-inner {r:5;}
  #qt-mapa-elementor .qt-map__mobile-cities {display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 44px;}
  #qt-mapa-elementor .qt-map__mobile-btn {background:#fff;border:1px solid #a8cbc6;color:var(--qt-dark);border-radius:3px;padding:8px 12px;min-height:35px;font-family:inherit;font-size:12px;line-height:1.2;font-weight:700;cursor:pointer;}
  #qt-mapa-elementor .qt-map__mobile-btn.is-active {background:var(--qt-primary);border-color:var(--qt-primary);color:#fff;}
  #qt-mapa-elementor .qt-map__mobile-btn:focus-visible {outline:2px solid var(--qt-dark);outline-offset:2px;}
  #qt-mapa-elementor .qt-map__map-footer {font-size:10px;left:14px;right:14px;bottom:12px;}
  #qt-mapa-elementor .qt-map__panel-head {padding:22px 18px 15px;}
  #qt-mapa-elementor .qt-map__panel-content {padding:4px 18px 14px;}
  #qt-mapa-elementor .qt-map__panel-foot {padding:15px 18px;}
  #qt-mapa-elementor .qt-map__panel-city {font-size:24px;}
}
@media (prefers-reduced-motion:reduce) {
  #qt-mapa-elementor * {transition:none!important;scroll-behavior:auto!important;}
}
/* Este bloque solo se muestra si se ha editado la descripcion de una ciudad. */
#qt-mapa-elementor .qt-map__city-description { color:var(--qt-muted);font-size:12px;line-height:1.5;margin:8px 0 5px;white-space:pre-line;}
