 :root {
     --blue: #3000CD;
     --blue-dk: #1e008a;
     --blue-lt: #4a1fff;
     --blue-glow: rgba(48, 0, 205, .45);
     --orange: #FF6206;
     --orange-dk: #cc4d00;
     --orange-glow: rgba(255, 98, 6, .4);
     --white: #ffffff;
     --dark: #0a0a1a;
     --gray: rgba(255, 255, 255, .5);
 }

 *,
 *::before,
 *::after {
     box-sizing: border-box;
     margin: 0;
     padding: 0
 }

 html {
     font-size: 16px
 }

 body {
     font-family: 'Poppins', sans-serif;
     background: var(--dark);
     color: var(--white);
     overflow-x: hidden
 }

 /* ?? SECTION ?? */
 #cobertura {
     position: relative;
     padding: 100px 5% 120px;
     background:
         radial-gradient(ellipse at 80% 20%, rgba(48, 0, 205, .15) 0%, transparent 55%),
         radial-gradient(ellipse at 10% 80%, rgba(255, 98, 6, .08) 0%, transparent 50%),
         var(--dark);
     overflow: hidden;
 }

 #cobertura::before {
     content: '';
     position: absolute;
     inset: 0;
     background-image:
         linear-gradient(rgba(48, 0, 205, .05) 1px, transparent 1px),
         linear-gradient(90deg, rgba(48, 0, 205, .05) 1px, transparent 1px);
     background-size: 48px 48px;
     pointer-events: none;
 }

 /* ?? HEADER ?? */
 .cov-header {
     text-align: center;
     margin-bottom: 64px;
     position: relative;
     z-index: 2;
 }

 .cov-eyebrow {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     background: rgba(48, 0, 205, .15);
     border: 1px solid rgba(48, 0, 205, .4);
     border-radius: 100px;
     padding: 5px 16px;
     font-size: .72rem;
     font-weight: 700;
     color: rgba(255, 255, 255, .75);
     letter-spacing: .8px;
     text-transform: uppercase;
     margin-bottom: 20px;
 }

 .cov-eyebrow .dot {
     width: 6px;
     height: 6px;
     background: var(--orange);
     border-radius: 50%;
     animation: pulse 1.5s infinite;
 }

 @keyframes pulse {

     0%,
     100% {
         opacity: 1;
         transform: scale(1)
     }

     50% {
         opacity: .5;
         transform: scale(1.6)
     }
 }

 .cov-title {
     font-size: clamp(1.9rem, 4vw, 3rem);
     font-weight: 700;
     line-height: 1.1;
     letter-spacing: -.5px;
 }

 .cov-title span {
     color: var(--orange);
 }

 .cov-sub {
     margin-top: 12px;
     font-size: .9rem;
     font-weight: 400;
     color: var(--gray);
     max-width: 460px;
     margin-left: auto;
     margin-right: auto;
     line-height: 1.65;
 }

 /* ?? BODY LAYOUT (coluna, largura total) ?? */
 .cov-body {
     display: flex;
     flex-direction: column;
     gap: 28px;
     position: relative;
     z-index: 2;
     max-width: 1140px;
     margin: 0 auto;
 }

 /* ?? MAP CONTAINER (largura cheia) ?? */
 .map-wrap {
     position: relative;
     width: 100%;
     border-radius: 20px;
     background:
         radial-gradient(ellipse at 50% 50%, rgba(48, 0, 205, .12) 0%, transparent 70%),
         rgba(255, 255, 255, .02);
     border: 1px solid rgba(48, 0, 205, .2);
     overflow: hidden;
 }

 #net-canvas {
     width: 100%;
     display: block;
 }

 /* stats row */
 .cov-stats {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 16px;
 }

 .stat-card {
     background: rgba(255, 255, 255, .04);
     border: 1px solid rgba(48, 0, 205, .25);
     border-radius: 14px;
     padding: 20px 14px;
     text-align: center;
     transition: border-color .25s, background .25s;
 }

 .stat-card:hover {
     background: rgba(48, 0, 205, .12);
     border-color: rgba(48, 0, 205, .5);
 }

 .stat-icon {
     width: 32px;
     height: 32px;
     margin: 0 auto 10px;
     background: rgba(48, 0, 205, .2);
     border-radius: 8px;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .stat-icon svg {
     width: 16px;
     height: 16px;
     color: var(--blue-lt);
 }

 .stat-val {
     font-size: 1.5rem;
     font-weight: 700;
     color: var(--white);
     line-height: 1;
 }

 .stat-lbl {
     font-size: .65rem;
     font-weight: 400;
     color: var(--gray);
     text-transform: uppercase;
     letter-spacing: .6px;
     margin-top: 4px;
 }

 /* locations list */
 .cov-locations {
     background: rgba(255, 255, 255, .03);
     border: 1px solid rgba(48, 0, 205, .2);
     border-radius: 16px;
     padding: 24px;
 }

 .cov-locations h3 {
     font-size: .85rem;
     font-weight: 700;
     color: var(--white);
     margin-bottom: 6px;
     letter-spacing: .3px;
 }

 .loc-divider {
     height: 1px;
     background: linear-gradient(90deg, var(--blue), transparent);
     margin-bottom: 18px;
     opacity: .4;
 }

 .loc-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
     gap: 12px;
 }

 .loc-item {
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 10px 12px;
     border-radius: 10px;
     background: rgba(48, 0, 205, .08);
     border: 1px solid rgba(48, 0, 205, .15);
     transition: background .2s, border-color .2s, transform .2s;
     cursor: default;
 }

 .loc-item:hover {
     background: rgba(48, 0, 205, .2);
     border-color: rgba(74, 31, 255, .5);
     transform: translateX(3px);
 }

 .loc-badge {
     width: 28px;
     height: 28px;
     border-radius: 8px;
     background: linear-gradient(135deg, var(--blue), var(--blue-dk));
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: .6rem;
     font-weight: 700;
     color: #fff;
     flex-shrink: 0;
     letter-spacing: .3px;
 }

 .loc-name {
     font-size: .78rem;
     font-weight: 700;
     color: rgba(255, 255, 255, .85);
     line-height: 1.2;
 }

 .loc-tag {
     font-size: .62rem;
     font-weight: 400;
     color: rgba(255, 255, 255, .4);
 }

 /* CTA note */
 .cov-cta {
     display: flex;
     align-items: center;
     gap: 12px;
     padding: 16px 20px;
     background: linear-gradient(135deg, rgba(255, 98, 6, .12), rgba(255, 98, 6, .06));
     border: 1px solid rgba(255, 98, 6, .25);
     border-radius: 14px;
     cursor: pointer;
     transition: background .2s, border-color .2s;
     text-decoration: none;
 }

 .cov-cta:hover {
     background: linear-gradient(135deg, rgba(255, 98, 6, .2), rgba(255, 98, 6, .1));
     border-color: rgba(255, 98, 6, .45);
 }

 .cov-cta-icon {
     width: 36px;
     height: 36px;
     background: var(--orange);
     border-radius: 10px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .cov-cta-icon svg {
     width: 18px;
     height: 18px;
     color: #fff;
 }

 .cov-cta-text strong {
     display: block;
     font-size: .82rem;
     font-weight: 700;
     color: var(--white);
 }

 .cov-cta-text span {
     font-size: .72rem;
     font-weight: 400;
     color: rgba(255, 255, 255, .5);
 }

 /* ?? RESPONSIVE ?? */

 /* ── Tablet ── */
 @media (max-width: 900px) {
     #cobertura { padding: 80px 5% 80px; }
     .cov-header { margin-bottom: 44px; }
 }

 @media (max-width: 700px) {
     .cov-stats { grid-template-columns: repeat(2, 1fr); }
 }

 /* ── Mobile ── */
 @media (max-width: 500px) {
     #cobertura { padding: 72px 4% 60px; }
     .cov-header { margin-bottom: 32px; }

     .cov-stats {
         grid-template-columns: repeat(2, 1fr);
         gap: 10px;
     }

     .loc-grid { grid-template-columns: 1fr 1fr; }

     .cov-cta {
         flex-direction: column;
         gap: 10px;
     }
 }

 @media (max-width: 380px) {
     .loc-grid { grid-template-columns: 1fr; }
 }