/* Navbar ASMX */
.navbar{
padding:.75rem 0;
background:#000!important;
}
.navbar-brand img{
width:auto;
max-height:42px;
}
.navbar-toggler{
padding:.25rem;
}
.navbar-nav .nav-link{
color:#e4b95f;
font-size:.95rem;
font-weight:500;
padding:.75rem 0;
transition:opacity .2s ease;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus{
color:#fff;
opacity:.65;
}
@media (min-width:992px){
.navbar-nav{
gap:1.25rem;
}
.navbar-nav .nav-link{
padding:.5rem 0;
}
}
/* Animación del menú desplegable en móviles */
@media (max-width:991.98px){
.navbar-collapse{
opacity:0;
transform:translateY(-8px);
transition:opacity .25s ease,transform .25s ease;
}
.navbar-collapse.show{
opacity:1;
transform:translateY(0);
}
.navbar-collapse.collapsing{
opacity:0;
transform:translateY(-8px);
transition:height .35s ease,opacity .25s ease,transform .25s ease;
}
}

body{
    background-color: black;
}



/* COBERTURA - RADAR */
.coverage-radar-section{
background:#080808;
color:#fff;
overflow:hidden;
}
.coverage-radar-header{
max-width:620px;
margin:0 auto 2rem;
}
.coverage-radar-header>span{
display:inline-flex;
align-items:center;
gap:.4rem;
margin-bottom:.6rem;
color:#dcb96e;
font-size:.78rem;
font-weight:600;
letter-spacing:.08em;
text-transform:uppercase;
}
.coverage-radar-header h2{
margin:0;
font-size:1.8rem;
font-weight:800;
}
.coverage-radar-header p{
margin:.6rem 0 0;
color:rgba(255,255,255,.55);
font-size:.92rem;
}
.coverage-radar-layout{
display:grid;
gap:1rem;
}

/* Radar */
.coverage-radar{
position:relative;
width:100%;
aspect-ratio:1/1;
max-width:600px;
margin:0 auto;
overflow:hidden;
border:1px solid rgba(255,255,255,.1);
border-radius:1rem;
background:
radial-gradient(circle at center,rgba(220,185,110,.05),transparent 55%),
#101010;
}

/* Círculos */
.radar-circle{
position:absolute;
top:50%;
left:50%;
border:1px solid rgba(220,185,110,.12);
border-radius:50%;
transform:translate(-50%,-50%);
pointer-events:none;
}
.radar-circle-1{
width:30%;
height:30%;
}
.radar-circle-2{
width:58%;
height:58%;
}
.radar-circle-3{
width:86%;
height:86%;
}

/* Líneas */
.radar-cross{
position:absolute;
top:50%;
left:50%;
background:rgba(220,185,110,.08);
pointer-events:none;
}
.radar-cross-x{
width:86%;
height:1px;
transform:translate(-50%,-50%);
}
.radar-cross-y{
width:1px;
height:86%;
transform:translate(-50%,-50%);
}

/* Barrido animado */
.radar-sweep{
position:absolute;
inset:7%;
z-index:2;
border-radius:50%;
background:conic-gradient(
from 0deg,
rgba(220,185,110,.38) 0deg,
rgba(220,185,110,.18) 20deg,
rgba(220,185,110,.05) 45deg,
transparent 70deg,
transparent 360deg
);
transform-origin:50% 50%;
animation:radarSweep 4s linear infinite;
pointer-events:none;
will-change:transform;
}
.radar-sweep::after{
content:"";
position:absolute;
top:50%;
left:50%;
width:50%;
height:1px;
background:linear-gradient(
90deg,
rgba(220,185,110,.9),
rgba(220,185,110,0)
);
transform-origin:left center;
}

/* Centro */
.radar-center{
position:absolute;
top:50%;
left:50%;
z-index:5;
display:flex;
flex-direction:column;
align-items:center;
transform:translate(-50%,-50%);
}
.radar-center-icon{
width:60px;
height:60px;
display:grid;
place-items:center;
border:1px solid rgba(220,185,110,.45);
border-radius:50%;
background:#171717;
color:#dcb96e;
font-size:1.45rem;
box-shadow:0 0 0 8px rgba(220,185,110,.04);
}
.radar-center>span{
margin-top:.5rem;
font-size:.85rem;
font-weight:800;
letter-spacing:.12em;
}
.radar-center small{
color:rgba(255,255,255,.4);
font-size:.65rem;
}

/* Zonas */
.radar-zone{
position:absolute;
z-index:6;
display:flex;
flex-direction:column;
align-items:center;
gap:.35rem;
padding:.2rem;
border:0;
background:transparent;
color:rgba(255,255,255,.65);
transform:translate(-50%,-50%);
cursor:pointer;
}
.radar-zone-dot{
position:relative;
width:18px;
height:18px;
border:2px solid rgba(255,255,255,.35);
border-radius:50%;
background:#181818;
transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.radar-zone-label{
padding:.28rem .5rem;
border:1px solid rgba(255,255,255,.08);
border-radius:.4rem;
background:rgba(10,10,10,.8);
font-size:.7rem;
font-weight:600;
white-space:nowrap;
transition:color .25s ease,border-color .25s ease;
}

/* Posiciones */
.radar-zone-cdmx{
left:61%;
top:42%;
}
.radar-zone-edomex{
left:34%;
top:31%;
}
.radar-zone-toluca{
left:27%;
top:68%;
}
.radar-zone-puebla{
left:75%;
top:67%;
}

/* Activo */
.radar-zone.active{
color:#dcb96e;
}
.radar-zone.active .radar-zone-dot{
border-color:#dcb96e;
background:#dcb96e;
transform:scale(1.2);
}
.radar-zone.active .radar-zone-dot::after{
content:"";
position:absolute;
inset:-7px;
border:1px solid rgba(220,185,110,.5);
border-radius:50%;
animation:radarPointPulse 1.8s ease-out infinite;
}
.radar-zone.active .radar-zone-label{
border-color:rgba(220,185,110,.35);
color:#dcb96e;
}
.radar-zone:hover .radar-zone-dot{
border-color:#dcb96e;
transform:scale(1.15);
}
.radar-note{
position:absolute;
left:1rem;
right:1rem;
bottom:.8rem;
color:rgba(255,255,255,.3);
font-size:.62rem;
text-align:center;
}

/* Panel */
.coverage-radar-info{
padding:1.4rem;
border:1px solid rgba(255,255,255,.1);
border-radius:1rem;
background:#111;
transition:opacity .2s ease,transform .2s ease;
}
.coverage-radar-info.is-changing{
opacity:.3;
transform:translateY(5px);
}
.coverage-radar-status{
display:flex;
align-items:center;
gap:.45rem;
margin-bottom:.6rem;
color:#dcb96e;
font-size:.7rem;
font-weight:600;
letter-spacing:.06em;
text-transform:uppercase;
}
.coverage-radar-status>span{
width:7px;
height:7px;
border-radius:50%;
background:#dcb96e;
box-shadow:0 0 0 4px rgba(220,185,110,.1);
}
.coverage-radar-info h3{
margin:0 0 .5rem;
font-size:1.55rem;
font-weight:800;
}
.coverage-radar-info>p{
margin:0;
color:rgba(255,255,255,.6);
font-size:.88rem;
line-height:1.55;
}

/* Input */
.coverage-radar-location{
margin-top:1.5rem;
}
.coverage-radar-location label{
display:block;
margin-bottom:.55rem;
font-size:.85rem;
font-weight:600;
}
.coverage-radar-input{
position:relative;
}
.coverage-radar-input i{
position:absolute;
top:50%;
left:1rem;
z-index:2;
transform:translateY(-50%);
color:#dcb96e;
}
.coverage-radar-input input{
height:52px;
padding-left:2.7rem;
border:1px solid rgba(255,255,255,.12);
border-radius:.7rem;
background:#191919;
color:#fff;
box-shadow:none;
}
.coverage-radar-input input::placeholder{
color:rgba(255,255,255,.35);
}
.coverage-radar-input input:focus{
border-color:#dcb96e;
background:#191919;
color:#fff;
box-shadow:0 0 0 .2rem rgba(220,185,110,.08);
}

/* WhatsApp */
.coverage-radar-whatsapp{
width:100%;
min-height:52px;
display:flex;
align-items:center;
justify-content:center;
gap:.6rem;
margin-top:.8rem;
border-radius:.7rem;
background:#25d366;
color:#fff;
font-size:.9rem;
font-weight:600;
text-decoration:none;
transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.coverage-radar-whatsapp:hover,
.coverage-radar-whatsapp:focus{
background:#20bd5a;
color:#fff;
transform:translateY(-2px);
box-shadow:0 .5rem 1.5rem rgba(37,211,102,.15);
}
.coverage-radar-whatsapp i{
font-size:1.15rem;
}
.coverage-radar-disclaimer{
display:flex;
align-items:flex-start;
gap:.4rem;
margin:.8rem 0 0!important;
color:rgba(255,255,255,.35)!important;
font-size:.7rem!important;
}

/* Animaciones */
@keyframes radarSweep{
from{
transform:rotate(0deg);
}
to{
transform:rotate(360deg);
}
}
@keyframes radarPointPulse{
0%{
opacity:.7;
transform:scale(.7);
}
100%{
opacity:0;
transform:scale(1.8);
}
}

/* Desktop */
@media(min-width:768px){
.coverage-radar-header h2{
font-size:2.2rem;
}
.coverage-radar-layout{
grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
align-items:center;
}
.coverage-radar-info{
padding:2rem;
}
.radar-center-icon{
width:72px;
height:72px;
font-size:1.7rem;
}
.radar-zone-dot{
width:20px;
height:20px;
}
.radar-zone-label{
font-size:.75rem;
}
}

/* Accesibilidad: mantiene el radar girando más lento */
@media(prefers-reduced-motion:reduce){
.radar-sweep{
animation-duration:8s;
}
.radar-zone.active .radar-zone-dot::after{
animation:none;
}
}