/* Cobertura regional: mapa de la referencia con controles HTML. */
#cobertura { position: relative; isolation: isolate; overflow: hidden; background: #06121b; color: #fff; min-height: clamp(710px, 50vw, 940px); padding: clamp(80px, 6.15vw, 110px) 0 70px; }
.coverage-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -2; }
.coverage-map-layer { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.coverage-map-scene { position: absolute; inset: 0; }
.coverage-map-pin { position: absolute; left: 71.2%; top: 48.4%; transform: translate(-50%, -100%); color: #ffcc00; filter: drop-shadow(0 3px 8px #0009); transition: left .4s ease, top .4s ease; }
#cobertura .coverage-map-pin > svg { display: block; width: 38px; height: 46px; stroke: #101923; stroke-width: .7; }
.coverage-pin-label { position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%); display: block; width: max-content; max-width: 235px; padding: 8px 12px; border: 1px solid #ffcc0080; border-radius: 7px; background: #06121bf2; color: #fff; font-size: 12px; font-weight: 500; line-height: 1.4; text-align: center; }
.coverage-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
#cobertura svg:not(.coverage-symbols) { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
#cobertura > .wrap { width: 100%; max-width: 1774px; padding-inline: 5.86%; }
.coverage-copy { width: 49%; max-width: 764px; }
.coverage-eyebrow { display: flex; gap: 16px; align-items: center; margin: 0 0 20px; color: #d5d9df; text-transform: uppercase; font-size: 13px; font-weight: 500; letter-spacing: .09em; }
.coverage-eyebrow::before { content: ''; width: 40px; height: 3px; background: var(--y); }
#cobertura h2 { font-size: clamp(42px, 3.75vw, 66px); line-height: 1.02; letter-spacing: -.035em; margin: 0 0 12px; }
#cobertura h2 em { color: #ffcc00; font-style: normal; }
.coverage-description { margin: 0 0 25px; color: #bfc4ce; font-size: clamp(14px, 1.05vw, 18px); line-height: 1.6; }
.coverage-tabs { display: flex; align-items: center; gap: 40px; margin: 0 0 18px; }
.coverage-tabs button { position: relative; background: none; border: 0; border-bottom: 3px solid transparent; color: #808895; padding: 7px 0 10px; font: inherit; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.coverage-tabs button[aria-selected=true] { color: var(--y); border-bottom-color: var(--y); }
.coverage-tabs button:hover { color: #fff1a1; }
.coverage-panel { min-height: 148px; }
.coverage-towns { display: flex; flex-wrap: wrap; gap: 9px; list-style: none; padding: 0; margin: 0; }
.coverage-towns li[hidden] { display: none; }
.coverage-towns button { display: inline-flex; align-items: center; gap: 8px; font: inherit; font-size: clamp(10px, .7vw, 12.5px); font-weight: 500; line-height: 1.4; color: #f4f6fa; background: #05111b88; border: 1px solid #ffffff40; border-radius: 10px; padding: 12px 13px; cursor: pointer; box-shadow: inset 0 0 0 1px #ffffff03; }
#cobertura .coverage-towns svg { color: #ffd01b; width: 15px; height: 16px; }
.coverage-towns button[aria-pressed=true] { background: #ffcc00; border-color: #ffcc00; color: #09141c; box-shadow: 0 2px 9px #ffcc0014; }
#cobertura .coverage-towns button[aria-pressed=true] svg { color: #09141c; }
.coverage-towns button:hover { border-color: #ffcc00; }
.coverage-tabs button:focus-visible, .coverage-towns button:focus-visible { outline: 3px solid #fff1a1; outline-offset: 3px; }
#cobertura .coverage-cta { min-height: 56px; margin-top: 23px; padding: 13px 19px; border-radius: 10px; font-size: clamp(12px, .95vw, 17px); gap: 14px; background: #ffcc00; border-color: #ffcc00; }
.coverage-cta > span { font-size: 27px; line-height: 1; }
.coverage-hq { position: absolute; top: 14.5%; right: 2.2%; width: clamp(270px, 19.75vw, 350px); display: grid; grid-template-columns: 38% 1fr; gap: 18px; padding: 20px; border: 1px solid #ffffff45; border-radius: 17px; background: #030e17c9; box-shadow: 0 10px 30px #0002; }
.coverage-hq > img { width: 100%; height: 116px; object-fit: cover; border-radius: 9px; }
#cobertura .coverage-hq h3 { position: relative; font-size: 14px; line-height: 1.55; margin: 0 0 15px; padding-left: 24px; letter-spacing: 0; }
.coverage-hq h3 > span:first-child { position: absolute; width: 12px; height: 12px; border-radius: 50%; background: #ffcc00; left: 0; top: 5px; }
.coverage-hq p { margin: 0 0 0 24px; padding-top: 12px; border-top: 1px solid #ffffff28; color: #d0d4da; font-size: 12px; line-height: 1.65; }
.coverage-hq { row-gap: 8px; }
.coverage-hq .coverage-photo-credit { grid-column: 1/-1; margin: 0; padding: 0; border: 0; line-height: 1.4; }
.coverage-photo-credit a { color: #a9b7c7; font-size: 8px; text-decoration: none; }
.coverage-photo-credit a:hover { color: #ffcc00; text-decoration: underline; }
.coverage-benefits { display: flex; list-style: none; padding: 0; margin: 35px 0 0; max-width: 970px; gap: 30px; align-items: flex-start; }
.coverage-benefits li { position: relative; display: flex; align-items: flex-start; gap: 24px; flex: 1; }
.coverage-benefits li + li { padding-left: 30px; }
.coverage-benefits li + li::before { content: ''; position: absolute; left: 0; top: 7px; height: 54px; width: 1px; background: #ffffff2b; }
.coverage-benefit-icon { display: grid; place-items: center; width: 62px; height: 62px; flex-shrink: 0; border: 1px solid #ffcc0020; border-radius: 14px; color: #ffcc00; background: linear-gradient(140deg, #ffcc0014, #ffcc0009); }
#cobertura .coverage-benefit-icon svg { width: 31px; height: 31px; }
#cobertura .coverage-benefits h3 { font-size: 15px; margin: 12px 0 4px; line-height: 1.4; letter-spacing: 0; }
.coverage-benefits p { font-size: 13px; line-height: 1.65; color: #b3b9c3; margin: 0; white-space: nowrap; }
@media (max-width: 1500px) and (min-width: 1101px) {
  .coverage-tabs { gap: 32px; }
  .coverage-tabs button { font-size: 11px; }
  .coverage-eyebrow { font-size: 11px; }
  .coverage-break { display: none; }
  .coverage-description { max-width: 560px; margin-bottom: 24px; }
  .coverage-panel { min-height: 127px; }
  .coverage-towns button { padding: 9px 10px; border-radius: 8px; gap: 6px; }
  .coverage-hq { gap: 13px; padding: 16px; }
  .coverage-hq > img { height: 93px; }
  #cobertura .coverage-hq h3 { font-size: 11px; margin-bottom: 10px; padding-left: 19px; }
  .coverage-hq h3 > span:first-child { width: 10px; height: 10px; }
  .coverage-hq p { font-size: 10px; margin-left: 19px; padding-top: 9px; }
  .coverage-benefits { max-width: 790px; gap: 22px; margin-top: 29px; }
  .coverage-benefits li { gap: 18px; }
  .coverage-benefits li + li { padding-left: 22px; }
  .coverage-benefit-icon { width: 50px; height: 50px; border-radius: 12px; }
  #cobertura .coverage-benefit-icon svg { width: 26px; height: 26px; }
  #cobertura .coverage-benefits h3 { font-size: 12px; margin-top: 8px; }
  .coverage-benefits p { font-size: 11px; }
}
@media (max-width: 1100px) and (min-width: 761px) {
  #cobertura { padding: 60px 0 45px; min-height: 660px; }
  .coverage-copy { width: 58%; }
  #cobertura h2 { font-size: 40px; }
  .coverage-break { display: none; }
  .coverage-description { font-size: 13px; margin-bottom: 20px; }
  .coverage-tabs { gap: 27px; margin-bottom: 14px; }
  .coverage-tabs button { font-size: 11px; }
  .coverage-eyebrow { font-size: 11px; }
  .coverage-panel { min-height: 145px; }
  .coverage-towns { gap: 7px; }
  .coverage-towns button { padding: 8px 9px; font-size: 9px; gap: 5px; border-radius: 7px; }
  .coverage-hq { top: 60px; right: 2.5%; width: 245px; gap: 10px; padding: 13px; }
  .coverage-hq > img { height: 82px; }
  #cobertura .coverage-hq h3 { font-size: 10px; padding-left: 16px; margin-bottom: 8px; }
  .coverage-hq h3 > span:first-child { width: 8px; height: 8px; }
  .coverage-hq p { font-size: 9px; margin-left: 16px; padding-top: 8px; }
  .coverage-benefits { max-width: 740px; gap: 20px; margin-top: 28px; }
  .coverage-benefits li { gap: 14px; }
  .coverage-benefits li + li { padding-left: 20px; }
  .coverage-benefit-icon { width: 45px; height: 45px; border-radius: 10px; }
  #cobertura .coverage-benefit-icon svg { width: 24px; height: 24px; }
  #cobertura .coverage-benefits h3 { font-size: 11px; margin-top: 5px; }
  .coverage-benefits p { font-size: 10px; }
}
@media (max-width: 760px) {
  #cobertura { min-height: 0; padding: 35px 0 32px; }
  #cobertura > .wrap { padding-inline: 22px; }
  .coverage-content { display: flex; flex-direction: column; }
  .coverage-copy { display: contents; }
  .coverage-intro { order: 0; }
  .coverage-map-layer { position: relative; inset: auto; height: 330px; margin: 0 -22px 22px; z-index: 0; order: 1; overflow: hidden; }
  .coverage-controls { order: 2; }
  .coverage-hq, .coverage-benefits { display: none; }
  .coverage-background { inset: 0; height: 100%; object-position: 77% center; opacity: .95; }
  .coverage-map-layer::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, #06121b, transparent 15%, transparent 85%, #06121b); pointer-events: none; }
  #cobertura .coverage-map-pin > svg { width: 30px; height: 38px; }
  .coverage-map-pin { transition: none; }
  .coverage-pin-label { max-width: 190px; font-size: 10px; padding: 7px 9px; }
  .coverage-copy { width: 100%; max-width: none; }
  .coverage-eyebrow { font-size: 10px; margin-bottom: 17px; gap: 12px; }
  .coverage-eyebrow::before { width: 27px; height: 2px; }
  #cobertura h2 { font-size: clamp(30px, 7.4vw, 48px); line-height: 1.12; margin-bottom: 17px; }
  .coverage-description { font-size: 13px; line-height: 1.75; margin-bottom: 20px; }
  .coverage-break { display: none; }
  .coverage-tabs { gap: 27px; margin-bottom: 15px; }
  .coverage-tabs button { font-size: 10px; padding-bottom: 9px; }
  .coverage-panel { min-height: 190px; }
  .coverage-towns { gap: 8px; }
  .coverage-towns button { font-size: 10px; padding: 9px 10px; border-radius: 7px; gap: 6px; }
  #cobertura .coverage-towns svg { width: 12px; height: 14px; }
  #cobertura .coverage-cta { width: 100%; font-size: 11px; padding: 12px 10px; gap: 10px; min-height: 48px; margin-top: 20px; }
  #cobertura .coverage-cta svg { width: 21px; height: 21px; }
  .coverage-cta > span { font-size: 23px; }
  .coverage-hq { position: relative; top: auto; right: auto; margin: 18px 0 28px auto; width: 265px; gap: 14px; padding: 15px; border-radius: 12px; }
  .coverage-hq > img { height: 84px; }
  #cobertura .coverage-hq h3 { font-size: 11px; line-height: 1.5; padding-left: 17px; margin-bottom: 9px; }
  .coverage-hq h3 > span:first-child { width: 9px; height: 9px; }
  .coverage-hq p { font-size: 10px; margin-left: 17px; padding-top: 8px; }
  .coverage-benefits { flex-direction: column; gap: 18px; margin-top: 0; }
  .coverage-benefits li, .coverage-benefits li + li { padding-left: 0; gap: 17px; }
  .coverage-benefits li + li::before { display: none; }
  .coverage-benefit-icon { width: 44px; height: 44px; border-radius: 10px; }
  #cobertura .coverage-benefit-icon svg { width: 25px; height: 25px; }
  #cobertura .coverage-benefits h3 { font-size: 13px; margin-top: 3px; }
  .coverage-benefits p { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .coverage-map-pin { transition: none; } }
