* {
  margin: 0px;
  padding: 0px;
}

.text1 {
  padding-top: 50px;
  text-align: center;
  font-size: 36px;
  height: 50px;
}

a {
  text-decoration: none;
  color: #000;
}

a:hover {
  color: #f76d04;
}

li {
  list-style: none;
}

/* NAV GENERAL*/ 

nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 95px; /* Ajusta según el tamaño real */
  background-color: white;
  color: rgb(51, 51, 51);
  z-index: 1000;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.nav-container {
  max-width: 1200px;
  height: 100%;
  margin: 0 auto;
  padding: 0 10px 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo-nav img {
  height: 115px;
}

nav ul {
  list-style: none;
  display: flex;
  margin: 0;
  padding: 0;
  gap: 20px;
  align-items: center;
}

nav ul li a {
  color: rgb(51, 51, 51);
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
}

nav button#menuButton {
  background: none;
  border: none;
  color: black;
  font-size: 24px;
  cursor: pointer;
  display: none;
}

/* Button  */
nav button:hover {
  background-color: #f76d04;
  border-color: #f76d04;
  color: #fff;
}

.btn-solicitar {
  background-color: #f76d04;
  color: white;
  padding: 10px 20px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.btn-solicitar:hover {
  background-color: #ff8c24;
  color: white;
}

/* Menú desplegable para móviles */
nav ul.show-menu {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 0;
}

/* Estilos para dispositivos móviles */
@media (max-width: 768px) {
  nav {
    padding: 0; /* Elimina el padding del nav */
  }

  nav ul {
    display: none; /* Oculta el menú en dispositivos móviles */
    flex-direction: column;
    background-color: white;
    position: absolute;
    top: 85px; /* Ajusta esto para que coincida con la altura del nav */
    left: 0;
    width: 100%;
    height: auto; /* Cambia a auto para que se ajuste al contenido */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    margin: 0; /* Elimina el margen del ul */
    padding: 0; /* Asegúrate de que no haya padding */
  }

  nav ul.show-menu {
    display: flex; /* Muestra el menú al activarse */
    padding-bottom: 10px;
  }

  nav button#menuButton {
    display: block; /* Muestra el botón en dispositivos móviles */
  }

  .btn-solicitar {
    display: block; /* Oculta el botón en móviles */
  }
}

.nav-dropdown {
  position: relative; /* Necesario para posicionar el menú desplegable */
}

.nav-dropdown-items {
  display: none; /* Oculta el menú desplegable por defecto */
  position: absolute; /* Posiciona el menú desplegable */
  top: 100%; /* Coloca el menú justo debajo del elemento padre */
  left: -20px; /* Alinea el menú a la izquierda */
  background-color: white; /* Color de fondo del menú */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Sombra para el menú */
  z-index: 1000; /* Asegura que el menú esté por encima de otros elementos */
  width: 170px;
}

.nav-dropdown:hover .nav-dropdown-items,
.nav-dropdown-items:hover {
  display: block; /* Muestra el menú desplegable al hacer hover */
}

.nav-dropdown li {
  padding: 10px 10px 5px 20px; /* Espaciado interno para los elementos de la lista */
}

.nav-dropdown li a {
  color: black; /* Color del texto de los enlaces */
  text-decoration: none; /* Sin subrayado */
  font-size: 15px;
}

.nav-dropdown li a:hover {
  color: #f76d04; /* Cambia el color del texto al hacer hover */
}

/* FIN BARRA NAV  */


/* SLIDER INDEX */

.slider {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: auto;
  width: 80%;
  padding-top: 95px;
  max-width: 1920px;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.slides {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.slide {
  min-width: 100%;
  box-sizing: border-box;
}

.slide img {
  width: 100%;
  display: block;
}

.navigation {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
}

.navigation button {
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  font-size: 18px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#prev {
  left: 10px;
}

#next {
  right: 10px;
}
@media (max-width: 1024px) {
  .slider {
    width: 100%;         /* deja márgenes laterales */
    border-radius: 0px; /* redondeado para que se vea bonito */
    padding-top: 89px;   /* puedes reducir padding si quieres */
  }

  .navigation button {
    top: calc(50% + 50px); /* baja más en pantallas grandes */
  }
}

@media (max-width: 768px) {
  .slider {
    width: 100%;         /* deja márgenes laterales */
    border-radius: 0px; /* redondeado para que se vea bonito */
    padding-top: 89px;   /* puedes reducir padding si quieres */
  }

  .navigation button {
    top: calc(50% + 50px); /* baja más en pantallas grandes */
  }
}

/* FIN DE SLIDER*/

/* SERVICIOS INDEX*/

.contenedor-servicios {
  display: flex;
  justify-content: center;
  height: 370px;
}

.btn.btnInternet {
  position: absolute;
  top: 240px;
  left: 7%;
  color: white;
  background-color: transparent;
  border-color: #fff;
  font-size: 25px;
  cursor: pointer;
  transition: 0.5s;
  outline: 2px solid white;
  padding: 15px 30px;
  border-radius: 10px;
}

.btn.btnInternet:hover {
  background-color: #f76d04;
  outline: none;
}

.btn.btnCable {
  position: absolute;
  top: 240px;
  left: 7%;
  color: white;
  background-color: transparent;
  border-color: #fff;
  font-size: 25px;
  cursor: pointer;
  transition: 0.5s;
  outline: 2px solid white;
  padding: 15px 30px;
  border-radius: 10px;
}

.btn.btnCable:hover {
  background-color: #f76d04;
  outline: none;
}

.cable-box {
  position: relative;
  width: 600px;
  height: 00px;
}

.cable-box img {
  width: 600px;
  height: 350px;
  border-radius: 20px;
}

.internet-box {
  position: relative;
  width: 600px;
  height: 400px;
  margin-right: 20px;
}

.internet-box img {
  width: 600px;
  height: 350px;
  border-radius: 20px;
}

/* 📱 Responsive Design */
@media (max-width: 1024px) {
  .contenedor-servicios {
    flex-wrap: wrap;
    height: auto;
  }

  .internet-box,
  .cable-box {
    width: 90%;
    height: auto;
    margin: 10px auto;
  }

  .internet-box img,
  .cable-box img {
    width: 100%;
    height: auto;
    border-radius: 20px;
  }

  .btn.btnInternet,
  .btn.btnCable {
    position: absolute;
    top: 65%;
    left: 8%;
    margin-top: 20px;
    font-size: 20px;
    padding: 12px 25px;
  }
}

/* 📲 Para pantallas más pequeñas (celulares) */
@media (max-width: 768px) {
  .text1 {
    font-size: 22px;
    text-align: center;
    padding-top: 20px;
    margin-bottom: -40px;
  }

  .contenedor-servicios {
    flex-direction: column;
    align-items: center;
  }

  .internet-box,
  .cable-box {
    width: 100%;
    margin: 15px 0;
  }

  .internet-box img,
  .cable-box img {
    border-radius: 0px;
  }

  .btn.btnInternet,
  .btn.btnCable {
    font-size: 18px;
    padding: 10px 20px;
  }
}


/* BANNER REPETIDOR INDEX*/
.contenedor-repetidor {
  display: flex;
  justify-content: center;
  position: relative;
  max-width: 1220px;
  margin: 0 auto;
}

.banner img {
  border-radius: 20px;
  width: 100%;
}

.repetidor {
  position: absolute;
  top: 30px;
  left: 90px;
}

.repetidor img {
  width: 350px;
  height: auto;
  transition: transform 0.3s ease;
}

.repetidor img:hover {
  transform: scale(1.05);
}

.boton {
  display: inline-block;
  background-color: #ccc;
  color: #000;
  padding: 10px 40px;
  border-radius: 5px;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  position: absolute;
  bottom: 40px;
  right: 200px;
  transition: all 0.3s ease;
}

.boton:hover {
  background-color: #f76d04;
  color: white;
}

/* 💻 Tablets (hasta 1024px) */
@media (max-width: 1024px) {
  .repetidor {
  top: 20px;
  left: 70px;
  }

  .repetidor img {
    height: auto;
    width: 300px;
  }

  .boton {
    bottom: 30px;
    right: 150px;
    padding: 8px 30px;
  }
}

/* Celulares (hasta 768px) */
@media (max-width: 768px) {
  .contenedor-repetidor {
    flex-direction: column;
    align-items: center;
  }

  .repetidor {
    top: 20px;
    left: 50px;
  }

  .repetidor img {
    height: auto;
    width: 220px;
  }

  .boton {
    bottom: 20px;
    right: 90px;
    padding: 8px 30px;
  }

  .banner img {
    border-radius: 0px;
  }
}

/* FIN BANNER REPETIDOR INDEX*/

/* CONTENEDOR ESTAFETA EXPRESS INDEX*/

.contenedor-estafeta-inicio {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 295px;
}

.estafeta1 {
  position: relative;
  display: block;
  justify-content: center;
  align-items: center;
  margin-right: 50px;
  margin-bottom: 75px;
}

.h2-estafeta {
  width: 600px;
  font-size: 25px;
}

.p-estafeta {
  width: 600px;
  font-size: 16px;
}

.estafeta1 h2,
p {
  text-align: center;
}

.btn.btnEstafeta {
  position: absolute;
  top: 120%;
  right: 33%;
  color: white;
  background-color: #f76d04;
  border-color: #fff;
  font-size: 20px;
  cursor: pointer;
  transition: 0.5s;
  outline: 2px solid white;
  padding: 10px 30px;
  border-radius: 10px;
}

.btn.btnEstafeta:hover {
  background-color: rgb(47, 47, 47);
}

.estafeta2 img {
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  width: 500px;
  height: 300px;
}

/* 💻 Tablets y pantallas medianas */
@media (max-width: 1024px) {
  .contenedor-estafeta-inicio {
    flex-wrap: wrap;
    height: auto;
    text-align: center;
    padding: 30px 20px;
    margin-bottom: -35px;
  }

  .estafeta1 {
    margin: 0;
    margin-bottom: 40px;
  }

  .h2-estafeta {
    width: 90%;
    font-size: 30px;
    margin: 0 auto;
  }

  .p-estafeta {
    width: 600px;
    font-size: 18px;
    margin: 10px auto;
    padding-bottom: 40px;
  }

  .btn.btnEstafeta {
    position: relative;
    top: 0;
    right: 0;
    margin-top: 20px;
  }

  .estafeta2 img {
    width: 80%;
    height: auto;
  }
}

/*  Celulares */
@media (max-width: 768px) {
  .contenedor-estafeta-inicio {
    flex-direction: column;
    align-items: center;
    height: auto;
    padding: 20px;
    margin-bottom: -25px;
  }

  .h2-estafeta {
    font-size: 22px;
    width: 100%;
  }

  .p-estafeta {
    font-size: 17px;
    width: 100%;
  }

  .btn.btnEstafeta {
    display: inline-block;
    font-size: 16px;
    margin-top: -20px;
  }

  .estafeta2 img {
    width: 200;
    height: auto;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
  }
}


/* PAQUETES ADICIONALES INDEX*/

.contenedor-paquetesadicionales {
  background-color: black;
  text-align: center;
  display: flex;
  justify-content: center;
  gap: 40px;
}

.paquetesadicionales {
  width: 650px;
  height: 300px;
}

.paquetesadicionales img {
  text-align: center;
  width: 650px;
  transition: transform 0.3s ease; /* Transición suave para el zoom */
  overflow: hidden;
  padding-top: 15px;
}

.paquetesadicionales img:hover {
  transform: scale(1.07); /* Amplía la imagen al 110% */
}

.paquetesadicionales-2 {
  width: 400px;
  height: 400px;
  display: flex; /* Usa flexbox para alinear los elementos */
  flex-direction: column; /* Alinea los elementos en columna */
  justify-content: center; /* Centra verticalmente los elementos */
  align-items: flex-end; /* Alinea los elementos a la derecha */
  text-align: right; /* Alinea el texto a la derecha */
}

.paquetesadicionales-2 h2 {
  color: white;
  font-size: 25px;
  padding-bottom: 20px;
  margin: 0; /* Asegúrate de que el margen no esté afectando la alineación */
}

.paquetesadicionales-2 p {
  text-align: right;
  color: white;
  margin: 0 0 20px 0; /* Ajusta el margen inferior según sea necesario */
}

.ver-mas {
  display: inline-block;
  padding: 8px 60px;
  background-color: #f76d04;
  color: white;
  font-size: 14px;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.3s, transform 0.3s;
  margin-top: 20px; /* Agrega un margen superior si es necesario */
}

.ver-mas:hover {
  background-color: #f76d04; /* Color de fondo en hover (puedes ajustarlo) */
  transform: scale(1.05); /* Escala ligeramente el botón en hover */
  color: white;
}

.ver-mas:active {
  background-color: #f76d04; /* Color de fondo al hacer clic (puedes ajustarlo) */
}

/* 💻 Tablets (hasta 1024px) */
@media (max-width: 1024px) {
  .contenedor-paquetesadicionales {
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    text-align: center;
    height: 800px;
  }

  .paquetesadicionales {
    width: 90%;
    height: auto;
  }

  .paquetesadicionales img {
    width: 100%;
    height: auto;
    padding-top: 50px;
  }

  .paquetesadicionales-2 {
    width: 90%;
    height: auto;
    align-items: center;
    text-align: center;
    margin-top: 20px;
  }

  .paquetesadicionales-2 h2 {
    font-size: 30px;
    margin-top: -200px;
  }

  .paquetesadicionales-2 p {
    font-size: 20px;
  }

  .ver-mas {
    padding: 8px 40px;
    font-size: 20px;
  }
}

@media (max-width: 768px) {
  .contenedor-paquetesadicionales {
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    text-align: center;
    height: 800px;
    width: 100%;
  }

  .paquetesadicionales img {
    width: 100%;
    height: auto;
  }

  .paquetesadicionales-2 {
    width: 100%;
    text-align: center;
    align-items: center;
    margin-top: 15px;
  }

  .paquetesadicionales-2 h2 {
    font-size: 30px;
    margin-top: -250px;
  }

  .paquetesadicionales-2 p {
    width: 80%;
    font-size: 22px;
    text-align: center;
  }

  .ver-mas {
    padding: 8px 40px;
    font-size: 20px;
  }
}


/* YOUTUBE INDEX*/
.vid-youtube {
  height: 400px; /* Ajustado para coincidir con la altura del contenedor del video */
  display: flex;
  justify-content: center;
  align-items: center; /* Centrado vertical */
  text-align: center;
  background-color: #e6e5e5;
}

.youtube {
  position: relative;
  border-radius: 20px;
  overflow: hidden; /* Asegura que el borde redondeado se aplique correctamente */
  height: 360px; /* Mantiene la altura consistente */
  width: 640px;
  padding-right: 5px;
}

.youtube iframe {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 20px; /* Aplica el borde redondeado al iframe */
}

.content-servicios {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  overflow: hidden; /* Asegura que la imagen no desborde el contenedor */
}

#img-1 {
  width: 400px;
  max-height: 200px;
  border-radius: 20px;
  padding: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.01); /* Sombra inicial */
}

#img-2 {
  width: 400px;
  max-height: 150px;
  border-radius: 20px;
  padding: 5px;
}

#img-1:hover,
#img-2:hover {
  transform: scale(1.03); /* Aumenta el tamaño un poco */
  border-radius: 20px;
}

/* 💻 Tablets (hasta 1024px) */
@media (max-width: 1024px) {
  .vid-youtube {
    height: auto;
    padding: 20px 0;
  }

  .youtube {
    width: 90%;
    height: auto;
  }

  .youtube iframe {
    height: 360px;
     border-radius: 0px;
  
  }

  #img-1,
  #img-2 {
    width: 80%;
    max-height: none;
    margin-bottom: 15px;
  }
}

@media (max-width: 768px) {
  .vid-youtube {
    width: 100%;
    padding-top: 50px;
    display: block;
    height: auto;
  }

  .youtube {
    width: 100%;
    height: auto;
    border-radius: 0px;
  }

  .youtube iframe {
    height: 360px;
    padding-bottom: 50px;
     border-radius: 0px;
    
  }

  #img-1,
  #img-2 {
    width: 95%;
    max-height: none;
    padding: 5px 0;
    margin-bottom: 10px;
  }
}

/* FIN YOUTUBE INDEX*/

/* FOOTER */
.contenedor-footer{
  display: flex;
  justify-content: center;
  text-align: center;
  background-color: #3C3C3C;
  width: 100%;
  height: 300px;/* Mejor auto para adaptarse al contenido */
  color: #fff;
  flex-wrap: wrap; /* Permite que se acomoden si no caben */
}

.link-imagen-canales img {
  width: 100px;
  height: auto;
  border-radius: 10px;
  transition: transform 0.3s ease;
}

.link-imagen-canales img:hover {
  transform: scale(1.09);
}

.btn.btnFooter{
  position: absolute;
  color: white;
  background-color: transparent;
  border-color: #fff;
  font-size: 20px;
  cursor: pointer;
  transition: 0.5s;
  outline: 2px solid white;
  padding: 10px 20px;
  border-radius: 10px;
  left: 90px;
}

.btn.btnFooter:hover{
  background-color: #f76d04;
  outline: none;
}

.footer-servicios {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  height: auto;
  width: 250px;
  color: #fff;
  padding-top: 60px;
}

.footer-servicios a {
  color: #fff;
  margin-bottom: 10px;
  text-decoration: none;
  transition: color 0.3s;
}

.footer-servicios a:hover {
  color: #f76d04;
}

.footer-contactos{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: auto;
  width: 100%;
}

.text-footer{
  text-align: center;
}

.link-imagen img {
  width: 50px;
  height: auto;
  border-radius: 10px;
  transition: transform 0.3s ease;
}

.link-imagen img:hover {
  transform: scale(1.5);
}

.derechosreservados-footer{
  display: flex;
  justify-content: center;
  text-align: center;
  background-color: #000;
  color: white;
  padding: 15px;
  font-size: 14px;
  height: auto;
  flex-wrap: wrap;
}

/* --- Responsive --- */
@media (max-width: 1024px) {
  .contenedor-footer {
    flex-direction: column;
    align-items: center;
    height: auto;
  }

  .footer-servicios {
    padding-top: 20px;
    width: 100%;
  }

  .link-imagen-canales img {
    width: 80px;
  }

  .link-imagen img {
    width: 40px;
  }
}


@media (max-width: 768px) {
  .contenedor-footer {
    flex-direction: column; /* Cada div uno debajo del otro */
    align-items: center;
    height: auto; /* Se ajusta al contenido */
    gap: 30px;   /* Espacio entre bloques */
    padding: 20px 0;
  }

  .footer-servicios,
  .footer-contactos,
  .footer-btn {
    width: 100%;  /* Ocupan todo el ancho disponible */
    padding-top: 20px;
  }

  .footer-servicios a {
    margin: 5px 0; /* Espacio más reducido en móvil */
  }

  .link-imagen img {
    width: 40px; /* Íconos más pequeños en móvil */
  }
}
/* FIN FOOTER */


/* ESTAFETA PAGE*/

.provinces {
  list-style: none;
  padding: 0;
}

.provinces > li {
  margin-bottom: 15px;
}

.provinces > li > span {
  font-weight: bold;
  color: #333;
  cursor: pointer;
  display: block;
  margin-bottom: 5px;
}

.provinces > li > span::before {
  content: "+";
  display: inline-block;
  margin-right: 5px;
  transition: transform 0.3s;
}
.provinces > li.active > span::before {
  transform: rotate(180deg);
  content: "-";
}

.provinces ul,
.locations {
  list-style-type: none;
  padding-left: 10px; /* Ajusta este valor según prefieras */
}

.locations {
  display: none;
}

.active .locations {
  display: block;
}

.provinces > li > span:hover {
  cursor: pointer;
}

.locations li {
  cursor: pointer;
}

.locations li:hover {
  padding: 3px 5px;
  background-color: #f76d04;
  border-radius: 5px;
  color: #fff;
}

.container-googlemap {
  display: flex;
  flex-direction: row;
  height: 600px; /* Ajusta esta altura según tus necesidades */
  width: 90%; /* Cambiado de 1400px a un porcentaje */
  max-width: 1400px; /* Añadido para mantener un ancho máximo */
  margin: 0 auto; /* Centra el contenedor horizontalmente */
  margin-bottom: 80px;
  overflow: hidden; /* Añadido para asegurar que los bordes redondeados sean visibles */
  border-radius: 20px; /* Añadido para redondear los bordes del contenedor principal */
}

.sidebar {
  width: 300px; /* Mantén este ancho fijo */
  min-width: 300px; /* Asegura que el sidebar no se encoja */
  overflow-y: auto;
  padding: 10px;
  background-color: #f0f0f0; /* Ajusta el color de fondo según tu diseño */
  border-top-left-radius: 20px; /* Añadido */
  border-bottom-left-radius: 20px; /* Añadido */
}

.sidebar img {
  padding-top: 20px;
  width: 250px;
  height: 200px;
  margin-left: 25px;
}

#map {
  flex-grow: 1;
  height: 100%;
  border-top-right-radius: 20px; /* Añadido */
  border-bottom-right-radius: 20px; /* Añadido */
}

/* Para hacer el diseño responsivo */
@media (max-width: 768px) {
  .container-googlemap {
    flex-direction: column;
    height: auto;
    width: 95%; /* Ajusta el ancho para pantallas pequeñas */
    margin-bottom: 60px;
  }

  .sidebar {
    width: 100%;
    min-width: auto; /* Permite que el sidebar se ajuste en pantallas pequeñas */
    height: 600px;
    border-radius: 20px 20px 0 0; /* Modificado para pantallas pequeñas */
  }

  #map {
    height: 300px;
    border-radius: 0 0 20px 20px; /* Modificado para pantallas pequeñas */
  }
}

.sidebar h2 {
  color: #3c3c3c;
  margin-bottom: 20px; /* Añade espacio debajo del título */
  margin-top: 10px;
  padding-left: 30px;
}

.sidebar ul {
  padding-left: 20px;
}

.provinces {
  margin-top: 0; /* Asegura que no haya margen adicional en la parte superior de la lista */
  padding-top: 0; /* Elimina cualquier relleno superior de la lista */
}

.provinces > li:first-child {
  margin-top: 0; /* Elimina el margen superior del primer elemento de la lista */
}

.estafeta-info {
  text-align: center;
  max-width: 800px;
  margin: 40px auto;
  padding: 0 20px;
}

.estafeta-info h1 {
  color: #3c3c3c; /* Color rosa similar al de la imagen */
  font-size: 36px;
  margin-bottom: 20px;
}

.estafeta-info p {
  font-size: 18px;
  color: #333;
  line-height: 1.5;
}

.banner-estafeta-page {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 60px;
  height: 300px;
  overflow: hidden;
}

.banner-estafeta-page img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}

/* FIN ESTAFETA PAGE */


/* CONTACTO PAGE */

.banner-contactos-page {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 60px;
  height: 300px;
  overflow: hidden;
}

.banner-contactos-page img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}

.container-oficinas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* Centrar horizontalmente */
  align-items: center; /* Alinea verticalmente las tarjetas si es necesario */
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto; /* Centrar el contenedor en la página */
}

.card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 20px;
  width: 300px;
  text-align: center;
}

.card img {
  border-radius: 8px;
  max-width: 100%;
  height: auto;
}

.card h3 {
  margin: 20px 0 10px;
}

.card p {
  margin: 10px 0;
  color: #555;
}

.card button {
  background-color: #ff6600;
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
}

.card button:hover {
  background-color: #ff4500;
}

/* Estilo del Modal */
.modal {
  display: none; /* Oculta el modal por defecto */
  position: fixed; /* Fijo en la pantalla */
  z-index: 1; /* Asegura que el modal esté encima de otros elementos */
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto; /* Permite desplazamiento si es necesario */
  background-color: rgb(0, 0, 0); /* Color de fondo */
  background-color: rgba(0, 0, 0, 0.9); /* Fondo negro con opacidad */
  justify-content: center; /* Centra horizontalmente */
  align-items: center; /* Centra verticalmente */
}

/* Estilo para la imagen del modal */
.modal-content {
  padding-top: 95px;
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
}

/* Estilo para el texto en el modal */
#caption {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
  text-align: center;
  color: #ccc;
  padding: 10px 0;
}

/* Estilo para el botón de cerrar */
.close {
  position: absolute;
  top: 100px;
  right: 350px;
  color: #f1f1f1;
  font-size: 40px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}

/* fin del Modal */

/* Cuadro de contactos */

.container-contactos-contacto-contacto {
  background-color: #f4f4f4;
  width: auto;
  height: auto; /* Ajusta la altura automáticamente */
  padding: 20px; /* Añade padding para dar espacio en dispositivos más pequeños */
  padding-bottom: 50px;
}

.container-contactos-contacto-contacto h1 {
  font-family: "AMX", "Roboto", sans-serif;
  text-align: center;
  padding: 20px; /* Reduce el padding en pantallas más pequeñas */
}

.container-contactos-contacto {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap; /* Permite que los elementos se envuelvan */
}

.card-1 {
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 20px;
  text-align: center;
  width: 300px;
  height: 200px;
}

.card-1 img {
  width: 100px;
  height: 100px;
  margin-bottom: 10px;
}

.card-1 h3 {
  font-size: 22px;
  margin: 10px 0;
}

.card-1 p {
  color: #555;
}

/* Media query para pantallas pequeñas */
@media (max-width: 768px) {
  .container-contactos-contacto {
    flex-direction: column; /* Coloca los elementos en una sola columna */
    align-items: center; /* Centra los elementos */
  }

  .card-1 {
    width: 90%; /* Ocupa el 90% del ancho de la pantalla */
    height: auto; /* Ajusta la altura automáticamente */
    margin-bottom: 20px; /* Añade espacio entre tarjetas */
  }
}

/* FIN CONTACTO PAGE*/

/* ACTIVIDADES PAGE */

.banner-actividades-page {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 60px;
  height: 300px;
  overflow: hidden;
}

.banner-actividades-page img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}

.blog-posts {
  display: block;
  justify-content: center;
  align-items: center;
  margin: auto;
  width: 1200px;
  height: 950px; /* Elimina esta línea */
}

.blog-posts h2 {
  font-size: 24px;
  margin-bottom: 20px;
}

.posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}

.post-card {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.post-card img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}

.post-card h3 {
  font-size: 18px;
  margin: 16px;
}

.post-card p {
  font-size: 14px;
  margin: 0 16px 16px;
  color: #555;
}

.post-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  border-top: 1px solid #e0e0e0;
  text-align: left; /* Asegura que la fecha esté alineada a la izquierda */
}

.post-date {
  font-size: 14px;
  color: #888;
  margin-right: auto; /* Alinea la fecha a la izquierda */
}

.read-more {
  background-color: transparent;
  color: black;
  border: 1px solid rgb(39, 39, 39);
  padding: 10px 20px;
  border-radius: 20px;
  cursor: pointer;
  font-size: 14px;
}

.read-more:hover {
  background-color: #ff4500;
  color: white;
  border: none;
}

.hidden {
  display: none;
}

/*
.load-more-container {
  text-align: center;
  margin-top: 20px;
}*/

.load-more {
  background-color: transparent;
  color: black;
  border: 1px solid rgb(39, 39, 39);
  padding: 10px 20px;
  border-radius: 20px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.3s ease;
}

.load-more:hover {
  background-color: #ff4500;
  color: white;
  border: none;
}

@media (max-width: 1024px) {
  /* Banner */
  .banner-actividades-page img {
    border-radius: 0; /* Quita esquinas redondeadas en móvil */
  }
}

/* Media query para pantallas pequeñas */
@media (max-width: 768px) {
  /* Banner */
  .banner-actividades-page img {
    border-radius: 0; /* Quita esquinas redondeadas en móvil */
  }

  /* Contenedor principal */
  .blog-posts {
    padding-bottom: 50px;
    width: 100%;
    margin: 0 auto;
    height: auto; /* elimina altura fija */
    
  }

  /* Grid de tarjetas */
  .posts-grid {
    grid-template-columns: 1fr; /* una tarjeta por fila */
    gap: 50px;
  }

  /* Tarjetas */

.post-card{
border-radius: 0; /* Quita esquinas redondeadas en móvil */
}

  .post-card img {
    height: 180px; /* más pequeño en móvil */
    
  }

  .post-card h3 {
    font-size: 16px;
    margin: 12px;
  }

  .post-card p {
    font-size: 13px;
    margin: 0 12px 12px;
  }

  .post-actions {
    flex-direction: column; /* fecha arriba, botón abajo */
    align-items: flex-start;
    gap: 10px;
  }

  .read-more {
    width: 100%; /* botón ocupa todo el ancho */
    text-align: center;
  }

  /* Botón de cargar más */
  .load-more {
    width: 100%;
    padding: 12px;
  }

  .division-imagenes {
  display: flex;
  flex-direction: column; /* fuerza que vayan en columna */
  gap: 15px; /* espacio entre imágenes */
  margin-top: 20px;
  align-items: center; /* centra las imágenes */
}

.division-imagenes img {
  max-width: 90%; /* se ajustan al modal */
  height: auto;
  border-radius: 10px;
}
}

/* Modal actividades */

/* Custom Modal Styles */
.custom-modal {
  display: none; /* Oculto por defecto */
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.8); /* Fondo semi-transparente */
}

.custom-modal-content {
  background-color: #fff;
  margin: 10% auto;
  padding: 20px;
  border-radius: 12px;
  width: 80%;
  max-width: 800px;
  position: relative;
}

.custom-modal-image {
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.custom-modal-image-mini {
  height: 300px;
  width: 400px;
  padding-left: 3px;
}

.custom-modal h2 {
  text-align: center;
  font-size: 24px;
  margin-top: 20px;
}

.custom-modal p {
  font-size: 16px;
  color: #555;
  margin-top: 20px;
  line-height: 1.5;
}

.custom-close {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 30px;
  font-weight: bold;
  color: #aaa;
  cursor: pointer;
}

.division-imagenes {
  display: flex;
}

.custom-close:hover {
  color: #ff4500;
}

/* fin modal actividades */

/* FIN ACTIVIDADES PAGE */



/* BENEFICIOS DEL SERVICIO INDEX*/
.titulo {
  height: 270px;
  text-align: center;
  padding-top: 25px;
}

.titulo h1 {
  font-size: 36px;
}

.card-custom-container {
  display: flex;
  justify-content: center; /* Distribuir espacio entre las tarjetas */
  padding: 20px;
  min-width: 1040px; /* Establecer un ancho mínimo para el contenedor */
}

.card-custom {
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  text-align: center;
  padding: 10px 10px 20px 10px;
  margin: 10px;
  width: 260px;
}

.card-custom img {
  width: 60px;
  height: auto;
  margin-bottom: 10px;
}

.card-custom h3 {
  font-size: 16px;
  margin-bottom: 10px;
  color: #000;
}

.card-custom p {
  font-size: 12px;
  color: #555;
}

/* 💻 Pantallas medianas (tablets y laptops pequeñas) */
@media (max-width: 1024px) {
  .card-custom-container {
    flex-wrap: wrap;
    justify-content: center;
    min-width: unset; /* Quitamos el ancho mínimo para permitir el ajuste */
  }
  .titulo{
    height: 450px;
  }

  .card-custom {
    width: 45%; /* Dos tarjetas por fila */
  }
}

/* 📱 Pantallas pequeñas (celulares) */
@media (max-width: 768px) {
  .titulo{
    height: 750px;
  }
  .titulo h1 {
    font-size: 22px;
    text-align: center;
  }

  .card-custom-container {
    flex-direction: column;
    align-items: center;
    padding: 10px;
  }

  .card-custom {
    width: 90%; /* Una tarjeta por fila */
    margin: 10px 0;
  }

  .card-custom h3 {
    font-size: 15px;
  }

  .card-custom p {
    font-size: 13px;
  }

  .card-custom img {
    width: 50px;
  }
}

/* FIN BENEFICIOS DEL SERVICIO INDEX */


/* INFORMACION SERVICIO PAGE*/
#contenedor-imagen-texto {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin: auto;
  border-radius: 10px;
  max-width: 1200px; /* Cambié width fija por max-width */
  padding: 30px 30px;
  gap: 20px;
  flex-wrap: wrap; /* Permite que se apilen en móvil */
}

.imagen-izquierda {
  flex: 1 1 500px; /* ocupa espacio flexible */
}

.imagen-izquierda img {
  width: 100%; /* que se adapte al ancho disponible */
  height: auto;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  margin-top: 20px;
}

.texto-derecha {
  flex: 1 1 500px;
  text-align: center;
  padding-left: 20px;
}

.texto-derecha h2 {
  font-size: 25px;
  color: #333;
  margin-bottom: 10px;
}

.texto-derecha p {
  text-align: justify;
  font-size: 16px;
  color: #666;
  line-height: 1.6;
}

.card-servicio1,
.card-servicio2 {
  display: inline-block;
}

.card-servicio1 img,
.card-servicio2 img {
  border-radius: 10px;
  width: 200px;
  height: 200px;
  padding: 20px;
}

/* === Responsivo para pantallas menores a 768px === */
@media (max-width: 768px) {
  #contenedor-imagen-texto {
    flex-direction: column; /* apila imagen y texto */
    padding: 20px;
    text-align: center;
  }

  .texto-derecha {
    padding-left: 0;
    margin-top: 0px;
  }

  .imagen-izquierda img {
  margin-top: 30px;
}
  

  .texto-derecha p {
    text-align: center; /* opcional: justificado en desktop, centrado en móvil */
  }

  .card-servicio1 img,
  .card-servicio2 img {
    width: 150px;
    height: auto;
    padding: 10px;
  }
}

/* FIN INFORMACION SERVICIO PAGE*/

/* TEXTO REPETIDORES EN SERVICIO PAGE*/
#contenedor-imagen-texto-repetidores {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  border-radius: 10px;
  max-width: 1200px; /* en lugar de width fija */
  padding: 30px 30px;
  gap: 20px;
  flex-wrap: wrap; /* permite que se apilen */
}

.texto-izquierdo {
  flex: 1 1 500px; /* flexible */
  text-align: center;
  padding-right: 20px;
  margin-top: 20px;
}

.texto-izquierdo h2 {
  font-size: 25px;
  color: #333;
  margin-bottom: 10px;
}

.texto-izquierdo p {
  text-align: justify;
  font-size: 16px;
  color: #666;
  line-height: 1.6;
}

.imagen-izquierdaa {
  flex: 1 1 500px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.imagen-izquierdaa img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.btn-solicitar-repetidor {
  background-color: #f76d04;
  color: white;
  padding: 12px 25px;
  border: none;
  border-radius: 25px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s ease;
  margin-top: 20px;
}

.btn-solicitar-repetidor:hover {
  background-color: #ff8c24;
}

/* === Responsivo para móviles === */
@media (max-width: 768px) {
  #contenedor-imagen-texto-repetidores {
    flex-direction: column; /* apila texto e imagen */
    padding: 20px;
    text-align: center;
  }

  .texto-izquierdo {
    padding-right: 0;
    margin-top: 50px;
  }

  .texto-izquierdo p {
    text-align: center; /* opcional: centrado en móvil */
  }

  .imagen-izquierdaa {
    width: 100%;
    height: 300px;
  }

  .imagen-izquierdaa img {
     width: 100%;
     height: 400px;
  }
}

/* FIN TEXTO REPETIDORES EN SERVICIO PAGE*/

/* VELOCIDADES SERVICIO PAGE*/

#multiplan {
  display: flex;
  justify-content: center;
  align-items: center;
}

#multiplan img {
  width: 1200px;
  height: 900px;
  border-radius: 10px; /* Bordes redondeados opcionales */
}

/* Media query for screens up to 768px */
@media (max-width: 768px) {
  #multiplan img {
    width: 100%; /* Adjusts to container width */
    height: auto; /* Maintains aspect ratio */
    border-radius: 0px; /* Slightly smaller border-radius for smaller screens */
  }
}
/* FIN VELOCIDADES SERVICIO PAGE*/

/* PAQUETES ADICIONALES SERVICIO PAGE*/

#paquetes-adicionales {
  text-align: center;
  margin: 40px;
}

#paquetes-adicionales h2 {
  font-size: 2em;
  margin-bottom: 20px;
}

#paquetes-adicionales img {
  display: inline-block;
  width: 300px; /* Ajusta el tamaño según sea necesario */
  height: auto;
  margin: 10px;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* Sombra inicial */
  transition: transform 0.3s, border 0.3s;
}

#paquetes-adicionales img:hover {
  border: 2px solid orange; /* Color del borde al pasar el mouse */
  transform: scale(1.05); /* Aumenta el tamaño un poco */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); /* Sombra más pronunciada al pasar el mouse */
}

/* FIN PAQUETES ADICIONALES SERVICIO PAGE*/

/* CARROUSEL INFINITO SERVICIO PAGE */

.carousel {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 20px 0;
}

.carousel h1 {
  text-align: center;
  margin-bottom: 20px;
}

.carousel-track {
  display: flex;
  width: max-content;
  animation: scroll-left 40s linear infinite;
}

.carousel-item {
  margin: 0 -200px;
}

.carousel-item img {
  width: 20%; /* Reduce el ancho de cada logo en un 20% */
  height: auto; /* Mantiene la proporción de la imagen */
}

@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* FIN CARROUSEL INFINITO SERVICIO PAGE */

/* TERMINOS Y CONDICIONES SERVICIO PAGE */

.terms-container {
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 10px;
  width: 100%;
  height: 20px;
  max-width: 800px;
  margin: 20px auto;
}

.terms-link {
  text-decoration: none; /* Quita el subrayado del enlace */
  color: inherit; /* Mantiene el color del texto */
  display: block; /* Hace que todo el div sea clicable */
}

.terms-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.terms-title {
  font-weight: bold;
  color: #000;
}

.terms-icon {
  font-size: 18px;
  color: #1a73e8; /* Color azul similar al de la flecha en la imagen */
}

.terms-container:hover {
  border: 1px solid orange;
  transform: scale(1.03);
}

@media (max-width: 768px) {
.terms-container {
 width: 400px;
 margin-bottom: 50px;
}

}
/* FIN TERMINOS Y CONDICIONES SERVICIO PAGE */

/* MODAL SOLICITAR SERVICIO*/

.solicitar-servicio-modal {
  display: none;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 1001;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.5);
}

.solicitar-servicio-modal .modal-content {
  background-color: #fefefe;
  margin: 10% auto;
  padding: 20px;
  border: 1px solid #888;
  /*
  width: 80%;
  max-width: 600px;*/
  border-radius: 10px;
}

.solicitar-servicio-modal h2 {
  text-align: left;
  margin-bottom: 20px;
}

.solicitar-servicio-modal .modal-body {
  display: flex;
  align-items: center;
  gap: 20px;
}

.solicitar-servicio-modal .form-image {
  width: 400px; /* Ajusta el tamaño de la imagen */
  height: 350px;
}

#solicitar-servicio-form {
  width: 700px; /* Ajusta el ancho del formulario */
}

.close-solicitar-servicio {
  color: #aaa;
  float: right;
  font-size: 32px;
  font-weight: bold;
  cursor: pointer;
}

.close-solicitar-servicio:hover,
.close-solicitar-servicio:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

#solicitar-servicio-form .form-group {
  margin-bottom: 15px;
  width: calc(100% - 40px);
  margin-left: 0; /* Cambiado de auto a 0 */
  margin-right: auto;
}

#solicitar-servicio-form label {
  display: block;
  margin-bottom: 5px;
  padding-top: 15px;
  text-align: left;
  font-weight: bold;
  font-size: 16px;
}

#solicitar-servicio-form input[type="text"],
#solicitar-servicio-form input[type="tel"] {
  width: 100%;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

#solicitar-servicio-form .radio-group {
  display: flex;
  gap: 15px;
  width: calc(100% - 40px);
  margin-left: 0; /* Cambiado de auto a 0 */
  margin-right: auto;
  align-items: center;
}

.btn-enviar-solicitar {
  background-color: #f76d04;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

#solicitar-servicio-form .radio-group label {
  margin-bottom: 0;
}

.btn-enviar-solicitar {
  display: block;
  width: calc(92%);
  margin: 15px 0 0; /* Cambiado de auto a 0 */
  padding: 10px 20px;
  background-color: #f76d04;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-align: center;
  font-size: 16px;
}

.btn-enviar-solicitar:hover {
  background-color: #ff8c24;
}

/* Tablets (pantallas medianas) */
@media (max-width: 1024px) {
  .solicitar-servicio-modal .modal-body {
    flex-direction: column;
    align-items: center;
  }

  .solicitar-servicio-modal .form-image {
    width: 400px;
    height: 400px;
  }

  #solicitar-servicio-form {
    max-width: 600px;
  }
}

/* Celulares grandes */
@media (max-width: 768px) {
  .solicitar-servicio-modal .modal-content {
    padding: 15px;
  }

  .solicitar-servicio-modal .form-image {
    width: 100%;
    height: auto;
  }

  .solicitar-servicio-modal h2 {
    font-size: 30px;
    text-align: center;
    margin-top: 20px;
  }

  .btn-enviar-solicitar {
    font-size: 15px;
  }
}

/* Celulares pequeños */
@media (max-width: 600px) {
  .solicitar-servicio-modal .modal-content {
    margin: 20% auto;
    padding: 10px;
  }

  .solicitar-servicio-modal h2 {
    font-size: 20px;
  }

  .solicitar-servicio-modal .form-image {
    width: 100%;
    height: auto;
  }

  #solicitar-servicio-form label {
    font-size: 14px;
  }

  .btn-enviar-solicitar {
    padding: 8px;
    font-size: 14px;
  }
  #solicitar-servicio-form{
    max-width: 350px;
  }
}

/* MODAL SOLICITAR SERVICIO*/

/* MODAL SOLICITAR REPETIDOR*/

.solicitar-repetidor-modal {
  display: none;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 1001;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.5);
}

.solicitar-repetidor-modal .modal-content {
  background-color: #fefefe;
  margin: 10% auto;
  padding: 20px;
  border: 1px solid #888;
  /*
  width: 80%;
  max-width: 600px;*/
  border-radius: 10px;
}

.solicitar-repetidor-modal h2 {
  text-align: left;
  margin-bottom: 20px;
}

.solicitar-repetidor-modal .modal-body {
  display: flex;
  align-items: center;
  gap: 20px;
}

.solicitar-repetidor-modal .form-image {
  width: 400px; /* Ajusta el tamaño de la imagen */
  height: 350px;
}

#solicitar-repetidor-form {
  width: 700px; /* Ajusta el ancho del formulario */
}

.close-solicitar-repetidor {
  color: #aaa;
  float: right;
  font-size: 32px;
  font-weight: bold;
  cursor: pointer;
}

.close-solicitar-repetidor:hover,
.close-solicitar-repetidor:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

#solicitar-repetidor-form .form-group {
  margin-bottom: 15px;
  width: calc(100% - 40px);
  margin-left: 0; /* Cambiado de auto a 0 */
  margin-right: auto;
}

#solicitar-repetidor-form label {
  display: block;
  margin-bottom: 5px;
  padding-top: 15px;
  text-align: left;
  font-weight: bold;
  font-size: 16px;
}

#solicitar-repetidor-form input[type="text"],
#solicitar-repetidor-form input[type="tel"] {
  width: 100%;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

#solicitar-repetidor-form .radio-group {
  display: flex;
  gap: 15px;
  width: calc(100% - 40px);
  margin-left: 0; /* Cambiado de auto a 0 */
  margin-right: auto;
  align-items: center;
}

.btn-enviar-repetidor {
  background-color: #f76d04;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

#solicitar-repetidor-form .radio-group label {
  margin-bottom: 0;
}

.btn-enviar-repetidor {
  display: block;
  width: calc(92%);
  margin: 15px 0 0; /* Cambiado de auto a 0 */
  padding: 10px 20px;
  background-color: #f76d04;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-align: center;
  font-size: 16px;
}

.btn-enviar-repetidor:hover {
  background-color: #ff8c24;
}

@media (max-width: 1024px) {
  .solicitar-repetidor-modal .modal-body {
    flex-direction: column;
    align-items: center;
  }

  .solicitar-repetidor-modal .form-image {
    width: 500px;
    height: 300px;
  }

  #solicitar-repetidor-form {
    max-width: 600px;
  }
}

/* Celulares grandes */
@media (max-width: 768px) {
  .solicitar-repetidor-modal .modal-content {
    padding: 15px;
  }

  .solicitar-repetidor-modal .form-image {
    width: 100%;
    height: auto;
  }

  .solicitar-repetidor-modal h2 {
    font-size: 20px;
    text-align: center;
    margin-top: 18px;
  }

  .btn-enviar-repetidor {
    font-size: 15px;
  }

  #solicitar-repetidor-form {
    max-width: 450px;
  }
}

/* Celulares pequeños */
@media (max-width: 600px) {
  .solicitar-repetidor-modal .modal-content {
    margin: 20% auto;
    padding: 10px;
  }

  .solicitar-repetidor-modal h2 {
    font-size: 20px;
    margin-top: 19px;
  }
 

  .solicitar-repetidor-modal .form-image {
    width: 100%;
    height: auto;
  }

  #solicitar-repetidor-form label {
    font-size: 14px;
  }

  .btn-enviar-repetidor {
    padding: 8px;
    font-size: 14px;
  }

  #solicitar-repetidor-form {
    max-width: 300px;
  }
}

/* MODAL SOLICITAR REPETIDOR*/


/* NOSOTROS PAGE */


/* Asegura que el body ocupe todo el ancho sin desbordamiento */

.contenedor-nosotros {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    gap: 60px;
    width: 100%; /* Asegura que ocupe el ancho completo del contenedor */
    box-sizing: border-box; /* Incluye padding en el cálculo del ancho */
}

/* HISTORIA */
.fila {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    width: 100%; /* Asegura que la fila no exceda el contenedor */
    box-sizing: border-box;
}

.historia {
    flex: 1;
}

.historia h1 {
    font-size: 2em;
    margin-bottom: 20px;
    color: #333;
}

.historia p {
    font-size: 1em;
    color: #555;
    line-height: 1.6;
    text-align: justify;
}

.historia-foto {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.historia-foto img {
    max-width: 80%;
    height: auto;
    border-radius: 10px;
    display: block; /* Evita márgenes adicionales por espacios */
}

/* MISIÓN, VISIÓN, VALORES */
.contenedor-mision-vision-valores {
    background-color: #f1f1f1;
    width: 100%;
    padding: 40px 20px; /* Usa padding en lugar de height fijo */
    box-sizing: border-box;
}

.contenedor-mision-vision-valores h1 {
    text-align: center;
    margin-bottom: 40px;
    margin-top: 40px;
}

.contenedor-mision-vision-valores p {
    margin-bottom: 40px;
}

.contenedor-respaldo {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

.mision, .vision, .valores {
    background-color: white;
    width: 350px;
    min-height: 450px;
    border-radius: 10px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
    padding: 20px;
    text-align: center;
    box-sizing: border-box; /* Incluye padding en el ancho */
}

.mision img, .vision img, .valores img {
    width: 75px;
    height: 75px;
    margin-top: 20px;
}

/* === Responsive para móviles === */
@media (max-width: 768px) {
    .fila {
        flex-direction: column;
        text-align: center;
    }

    .historia {
        width: 100%;
        margin-bottom: 20px;
    }

    .historia-foto {
        width: 100%;
    }

    .historia-foto img {
        max-width: 90%;
        height: auto;
        margin: 0 auto;
    }

    .historia p {
        font-size: 15px;
        line-height: 1.6;
    }

    .contenedor-mision-vision-valores {
        height: auto; /* Elimina height fijo en móvil */
        padding: 20px;
    }
}

/* FIN NOSOTROS PAGEN*/


body,
html {
  scroll-behavior: smooth;
  height: 100%;
  font-family: Poppins-Regular, sans-serif;
}

/* COBERTURA PAGE*/

.coverage-container {
  width: 80%;
  margin: 20px auto;
  text-align: center;
}

.tabs {
  max-width: 1210px;
  display: flex;
  margin: auto;
  justify-content: center;
  background-color: #333;
  padding: 10px;
  border-radius: 10px;
}

.tab {
  background-color: #000;
  color: #fff;
  border: none;
  padding: 10px 20px;
  margin: 0 5px;
  cursor: pointer;
  font-size: 14px;
}

.tab.active {
  background-color: #ff6600;
}

.list-container {
  width: 1210px;
  margin: auto;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-top: 10px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
}

#sector-list {
  display: flex;
  justify-content: center;
  padding: 10px;
  width: 1200px;
}

.columns {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* Cuatro columnas iguales */
  gap: 20px; /* Espacio entre columnas */
  width: 100%;
  max-width: 1200px; /* Ancho máximo */
}

.columns ul {
  width: 230px;
  list-style: none;
  padding-left: 25px;
  margin: 0;
}

.columns li {
  font-size: 16px;
  color: #333;
  margin: 5px 0;
}

#map-cobertura {
  position: flex;
  margin: auto;
  justify-content: center;
  width: 1230px;
  height: 490px;
  margin-top: 20px;
  border: 1px solid #ddd;
  border-radius: 10px;
}

.map-wrapper {
  position: relative;
  width: 1230px;
  height: 490px;
  margin: 20px auto;
}

.floating-message {
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.95);
  color: #333;
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 14px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  z-index: 5;
}


/* MODAL DE MAPA DE COBERTURA */

.modal-cobertura {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}

.modal-cobertura.hidden {
  display: none;
}

.modal-cobertura-content {
  background-color: #fff;
  padding: 25px 30px;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  text-align: center;
  max-width: 400px;
  width: 90%;
  position: relative;
  font-family: Arial, sans-serif;
}

.modal-cobertura-content p {
  font-size: 18px;
  margin: 0;
}

.modal-cobertura-close {
  position: absolute;
  right: 15px;
  top: 10px;
  font-size: 24px;
  cursor: pointer;
  color: #888;
}

.modal-cobertura-close:hover {
  color: #000;
}

@media (max-width: 1024px) {
  .coverage-container {
    width: 90%;
  }

  .tabs {
    max-width: 100%;
    padding: 8px;
  }

  .tab {
    padding: 8px 15px;
    font-size: 13px;
    margin: 3px;
  }

  .list-container {
    width: 900px;
  }

  #sector-list{
      width: 500px;
  }

  .columns {
    grid-template-columns: repeat(2, 1fr); /* Tres columnas en lugar de cuatro */
    gap: 15px;
    width: 500px;
  }

  .columns ul {
    width: 400px;
    padding-left: 15px;
  }

  #map-cobertura {
    width: 100%;
    height: 400px; /* Reducir altura para mejor ajuste */
  }

  .map-wrapper {
    width: 100%;
    height: 400px;
    margin-top: -50px;
  }

  .banner-contactos-page img {
  border-radius: 0px;
  }
}

 /* Media Query para pantallas de 768px o menos */
  @media (max-width: 768px) {
  .coverage-container {
    width: 95%;
  }

  .tabs {
    flex-direction: column; /* Pestañas en columna */
    align-items: center;
    border-radius: 0%;
  }

  .tab {
    width: 80%;
    padding: 10px;
    font-size: 14px;
    margin: 5px 0;
  }

    #sector-list{
      width: 300px;
  }

  .columns {
    grid-template-columns: repeat(2, 1fr); /* Tres columnas en lugar de cuatro */
    gap: 15px;
    width: 500px;
  }

  .columns li{
     width: 400px
  }
  .columns ul {
    width: 400px;
    padding-left: 15px;
  }

  #map-cobertura {
    width: 100%;
    height: 400px; /* Reducir altura para mejor ajuste */
    border-radius: 0px;
  }

  .map-wrapper {
    width: 100%;
    height: 400px;
    margin-top: -50px;
  }

  .list-container{
    width: 700px
  }

  .banner-contactos-page img {
  border-radius: 0px;
  }
}

/* Media Query para pantallas de 600px o menos */
@media (max-width: 600px) {
  .coverage-container {
    width: 100%;
    margin: 10px 0;
  }

  .tabs {
    padding: 5px;
    border-radius: 0px;
    margin-top: 100px;
  }

  .tab {
    width: 90%;
    font-size: 12px;
    padding: 8px;
  }

  .list-container {
    margin-top: 5px;
    border-radius: 5px;
    width: 500px;
  }

  .columns {
    grid-template-columns: 1fr; /* Una sola columna */
    gap: 5px;
  }

  .columns ul {
    width: 100%;
    padding-left: 5px;
  }

  .columns li {
    font-size: 14px;
  }

  #map-cobertura {
    height: 400px; /* Reducir altura */
  }

  .map-wrapper {
    height: 300px;
  }

  .floating-message {
    font-size: 11px;
    padding: 6px 10px;
    width: 80%;
    text-align: center;
  }

  .banner-contactos-page img {
  border-radius: 0px;
  }

  #sector-list{
      width: 550px;
  }

  .floating-message {
 font-size: 15px;
}
}

/* FIN MODAL DE MAPA DE COBERTURA */

/* CHAT BUTTON WHATSAPP FLOTANTE*/

.chat-button {
  position: fixed;
  right: -131px;
  bottom: 200px;
  width: 280px;
  height: 25px;
  transform: rotate(-90deg);
  background-color: #25d366; /* Color característico de WhatsApp */
  color: white;
  text-align: center;
  padding: 10px 0;
  border-radius: 10px 10px 0 0;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  z-index: 1000;
}

.chat-button a {
  color: white;
  text-decoration: none;
}

.chat-button:hover {
  background-color: #1da851; /* Color más oscuro al pasar el ratón */
}

/* CHAT BUTTON WHATSAPP FLOTANTE*/
