/* Estilos globales */
body {
  font-family: 'Roboto', sans-serif; /* Tipografía profesional */
  background-color: #f5f5f5; /* Fondo claro */
  color: #333; /* Texto oscuro minimalista */
  margin: 0;
  overflow-x: hidden;
}
  /* Animación para el título */
  @keyframes slideInFromLeft {
    0% {
      transform: translateX(-100%);
      opacity: 0;
    }
    100% {
      transform: translateX(0);
      opacity: 1;
    }
  }
.title {
  color: #48487f;
  font-size: 56px;
  margin-top: 100px;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
  animation: slideInFromLeft 1s ease-out forwards;
user-select: none;
  padding: 20px;
  border-radius: 15px;
}

/* Contenedor para igualar la altura de las columnas */
.row.align-items-stretch {
  display: flex;
  gap: 20px; /* Espacio entre los dos contenedores */
  justify-content: center; /* Centra los contenedores horizontalmente */
}

.google-widget {
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; /* Centra horizontalmente el contenido */
}

.google-widget:hover{
  transform: translateY(-5px);
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
}

@media (max-width: 768px) {
  .google-widget {
    margin-bottom: 20px;
  }
}





/* Estilos para la imagen adaptable */
.image-flip {
  perspective: 1000px; /* Proporciona profundidad para el giro 3D */
  width: 100%;
  height: 500px; /* Tamaño fijo para que las imágenes no se distorsionen */
  position: relative;
  margin-top: 20px; /* Espacio arriba */
  margin-bottom: 20px; /* Espacio abajo */
  overflow: hidden; /* Asegura que no haya desbordamiento de las imágenes */
  cursor: pointer;
}

.image-front, .image-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backface-visibility: hidden; /* Oculta el reverso de las imágenes cuando giran */
  transition: transform 0.6s ease-in-out;
}

.image-front img, .image-back img {
  width: 100%;
  height: 100%;
  border-radius: 15px; /* Aplica borde redondeado a ambas imágenes */
}

.image-front img {
  object-fit: cover; /* Mantiene la imagen frontal cubriendo todo el espacio */
}

.image-back {
  transform: rotateY(180deg); /* La imagen trasera está inicialmente girada */
  position: relative; /* Necesario para posicionar el pseudo-elemento */
}

.image-back::before {
  content: ""; /* Necesario para que el pseudo-elemento se muestre */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/fondo2410.png);
  background-size: cover; /* Ajusta el tamaño del fondo para cubrir todo el área */
  background-position: center; /* Centra el fondo en el contenedor */
  background-repeat: no-repeat; /* Evita que el fondo se repita */
  opacity: 0.8; /* Aplica la transparencia solo al fondo */
  z-index: -1; /* Asegura que esté detrás del contenido de .image-back */
}

.image-back img {
  object-fit: contain; /* Muestra la segunda imagen completa sin recorte */
  object-position: center; /* Centra la imagen dentro del contenedor */
  position: relative; /* Asegura que se superponga al pseudo-elemento */
  z-index: 1; /* Mantén la imagen por encima del fondo */
}

.image-front {
  z-index: 2;
  transform: rotateY(0deg);
}
.image-back {
  transform: rotateY(180deg); /* La imagen trasera está inicialmente girada */
}

.image-flip:hover .image-front {
  transform: rotateY(-180deg); /* Gira la imagen frontal hacia atrás */
}

.image-flip:hover .image-back {
  transform: rotateY(0deg); /* La imagen trasera se gira hacia el frente */
}

.img-fluid {
  max-width: 100%;
  height: auto;
  border-radius: 15px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.81);
  transition: border-color 0.3s ease;
}

.image-flip:hover .img-fluid {
  border-color: #ffffff; /* Cambia el color del borde al pasar el mouse */
}

/* Adaptaciones para pantallas pequeñas (celulares) */
@media (max-width: 768px) {
  .image-flip {
    height: 400px; /* Reducir la altura en pantallas pequeñas */
  }

  .image-front img, .image-back img {
    object-fit: contain; /* Asegura que las imágenes se vean completas sin recortes */
  }

  .image-back {
    background-size: contain; /* El fondo se ajusta sin recortarse */
  }

  .img-fluid {
    border-radius: 10px; /* Redondear un poco menos en pantallas pequeñas */
    box-shadow: 0 3px 15px rgba(5, 5, 5, 0.882); /* Sombras más suaves en pantallas pequeñas */
  }
}





/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
  .navbar {
    transition: top 0.3s; /* Transición suave para ocultar y mostrar el navbar */
  }
  
  .navbar.fixed-top {
    top: 0; /* Fija el navbar en la parte superior de la pantalla */
    z-index: 1000; /* Asegura que el navbar esté por encima de otros elementos */
  }
  
  .shadow {
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); /* Añade una sombra negra al navbar */
  }
  
  /* Estilos para los iconos */
  .nav-link  i {
    margin-right: 5px; /* Espacio entre el icono y el texto */
    font-size: 18px; /* Tamaño del icono */
    user-select: none;
    color: #48487f; 
  }
  .navbar-nav .nav-item .nav-link {
    color: #48487f; /* Color base para los enlaces del menú */
  }
/* Estilos para los enlaces del navbar al pasar el mouse */
.navbar-nav .nav-link:hover {
  color: #000000; /* Cambia el color del texto al pasar el mouse sobre el enlace */
  
  text-decoration: none;
  user-select: none;
}
 /* ////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
/* Estilos para las opciones del menú desplegable */
.catalog-option {
  font-size: 16px;
  color: #333; /* Color de texto predeterminado */
  padding: 10px 20px; /* Espaciado interno */
  cursor: pointer;
  transition: background-color 0.3s; /* Transición de color de fondo */
  user-select: none;
}

.catalog-option:hover {
  background-color: #a8acb0; /* Cambio de color de fondo al pasar el mouse */
}  

/* Estilos para el modal */
/* Estilos para el modal */
.modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #f5f5f5;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  z-index: 1001;
  width: 80%;
  position: relative; /* Para que el botón esté dentro del contenedor */
}

.close-button {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 24px;
  background: none;
  border: none;
  cursor: pointer;
}

.rental-models {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
  user-select: none;
}

.rental-model-card {
  flex: 1 1 calc(45% - 20px);
  max-width: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 10px;
  padding: 10px;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.58);
  user-select: none;
}

.rental-model-card img {
  width: 200px;
  height: auto;
  margin-bottom: 10px;
  user-select: none;
}

/* Estilos adicionales para los modelos */
.rental-models.scrollable {
  max-height: calc(100vh - 300px);
  overflow-y: auto;
}
.modal-navigation {
  position: relative;
}

.nav-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: none;
  background: none;
  cursor: pointer;
  font-size: 24px;
  color: black;
}

#prevModel {
  left: 0;
}

#nextModel {
  right: 0;
}
/* Estilos adicionales para modelos con scroll en pantallas pequeñas */
@media only screen and (max-width: 768px) {
  .modal-content {
    max-height: calc(100vh - 200px); /* Altura máxima del contenido: altura de la ventana - espacio para el título y otros elementos */
    overflow-y: auto; /* Agregar barra de desplazamiento vertical solo cuando sea necesario */
  }

  .rental-models.scrollable {
    max-height: calc(100vh - 300px); /* Altura máxima del contenedor de modelos: altura de la ventana - espacio para el título y otros elementos */
    overflow-y: auto; /* Agregar barra de desplazamiento vertical solo cuando sea necesario */
  }
}

/* Estilos para modelos sin scroll en pantallas grandes */
@media only screen and (min-width: 769px) {
  .modal-content {
    overflow-y: auto; /* Agregar barra de desplazamiento vertical solo cuando sea necesario */
  }

  .rental-models.scrollable {
    overflow-y: hidden; /* Ocultar barra de desplazamiento vertical */
    max-height: calc(100vh - 100px); /* Altura máxima del contenedor de modelos: altura de la ventana - espacio para el título y otros elementos */
  }
}

.rental-details {
  text-align: center;
  color: #171717;
  user-select: none;
}
.price-details {
  text-align: center;
  color: #48487f;
  user-select: none;
  font-weight: bold;
}
.rental-title {
  margin-bottom: 10px;
  color: #000;
  font-weight: bold;
  user-select: none;
}
.scooter-message {
  margin-top: 20px;
  padding: 15px;
  background-color: #fffbe6;
  color: #48487f;
  font-weight: bold;
  text-align: center;
  border: 2px solid #dededed6;
  border-radius: 5px;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
  font-size: 16px;
}
.pre-booking-btn{
  background-color: #48487f; /* Color base del botón */
  border: 2px solid #000000;
  color: #fff; /* Color del texto */
  font-weight: bold;
  font-size: 13px;
  border-radius: 20px;
  padding: 9px;
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
  #label{
    color: #000000;
  }
  /* Estilos para el fondo overlay */
  .overlay-background {
    display: none; /* Inicialmente oculto */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Color de fondo semi-transparente */
    z-index: 1000; /* Asegura que el fondo esté por encima de otros elementos */
  }

  /* Estilos para el contenedor del formulario flotante */
  .floating-form-container {
    display: none; /* Inicialmente oculto */
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    z-index: 1001; /* Asegura que el formulario esté por encima del fondo */
    max-width: 90%; /* Máximo ancho del formulario */
    width: 300px; /* Ancho predeterminado del formulario */
  }

  /* Estilos para el botón de cerrar */
  .close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    position: absolute;
    top: 10px;
    right: 10px;
  }


  /* Estilos para el formulario */
  .floating-form {
    text-align: center;
  }

  /* Estilos para hacer el formulario adaptable a pantallas pequeñas */
  @media (max-width: 500px) {
    .floating-form-container {
      width: 90%; /* Reducir el ancho del formulario para pantallas pequeñas */
    }
  }
  
  .collapsed {
    max-height: 100px; /* Altura máxima del texto cuando está contraído */
    overflow: hidden; /* Oculta el texto que excede la altura máxima */
    transition: max-height 0.3s ease; /* Agregamos una transición suave */
}

  .card {
    display: flex; /* Utiliza flexbox */
    flex-direction: column; /* Dirección de la distribución */
    justify-content: space-between; /* Distribuye el espacio verticalmente */
    margin-bottom: 550px;
    height: 300px; /* Establece la altura del card */
    
  }
/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
  .cat, .ct{
    padding-top: 10px;
  }
  .card img {
    height: 100%; /* Establece la altura de la imagen al 100% del card */
    object-fit: cover;
  }
  .img-container {
    position: relative;
    overflow: hidden;
  }

  

/* Animación de entrada */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* Establece las dimensiones fijas y mantiene la proporción de las imágenes */
.card-img-top {
  width: 100%;  /* Ocupa el 100% del contenedor */
  height: 300px;  /* Altura fija para mantener todas las imágenes consistentes */
  object-fit: cover;  /* Recorta y ajusta la imagen para que mantenga las proporciones sin deformarse */
  margin: 20px auto;
  border: 3px solid #434343;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: clip-path 1s ease-in-out, box-shadow 1s ease; /* Transición suave para el efecto de barrido */
}
.card-img-top:hover {
  transform: translateY(-5px); /* Efecto hover */
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2); /* Mayor sombra en hover */
}


@keyframes randomBars {
  0% {
    clip-path: inset(0 100% 0 0); /* Comienza completamente oculta */
  }
  100% {
    clip-path: inset(0 0 0 0); /* Completa la animación mostrando la imagen */
  }
}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
.title-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column; /* Apilar el título y el mensaje verticalmente */
  margin-top: 80px;
}

.styled-title {
  color: #48487f;
  font-size: 56px;
  user-select: none;
  position: relative;
  padding: 0 20px;
  text-align: center;
}

.styled-title::before, 
.styled-title::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 100%;
  max-width: 200px;
  height: 6px;
  background-color: #48487f;
  transform: translateY(-50%);
}

.styled-title::before {
  left: -240px;
}

.styled-title::after {
  right: -240px;
}

.spam-message {
  font-size: 18px;
  font-weight: bold;
  margin-top: 10px;
  text-align: center;
  font-family: 'Verdana', sans-serif;
  animation: colorFlashing 3s linear infinite;
  max-width: 600px; /* Limitar el ancho máximo del spam */
  margin-left: auto; /* Centramos horizontalmente */
  margin-right: auto; /* Centramos horizontalmente */
  padding: 10px 20px;
}

/* Animación de cambio de color en tonos de #48487f */
@keyframes colorFlashing {
  0% {
    color: #48487f;  /* Color base */
  }
  25% {
    color: #6a6a99;  /* Más claro */
  }
  50% {
    color: #333366;  /* Más oscuro */
  }
  75% {
    color: #8282b3;  /* Aún más claro */
  }
  100% {
    color: #48487f;  /* Color base */
  }
}

/* Estilos para pantallas medianas */
@media (max-width: 768px) {
  .styled-title {
    font-size: 36px;
  }

  .styled-title::before, 
  .styled-title::after {
    width: 30vw;
  }

  .styled-title::before {
    left: -35vw;
  }

  .styled-title::after {
    right: -35vw;
  }

  .spam-message {
    font-size: 16px;
    padding: 8px 15px;
    max-width: 90%; /* Permitir que el contenedor se ajuste mejor */
  }
}

/* Estilos para pantallas pequeñas */
@media (max-width: 480px) {
  .styled-title {
    font-size: 28px;
  }

  .styled-title::before, 
  .styled-title::after {
    width: 20vw;
  }

  .styled-title::before {
    left: -25vw;
  }

  .styled-title::after {
    right: -25vw;
  }

  .spam-message {
    font-size: 14px;
    padding: 6px 10px;
    max-width: 100%; /* Ocupa el 100% en pantallas muy pequeñas */
  }
}



/* Estilos generales de la galería */
.gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  max-width: 100%;
  margin: 0 auto;
  padding: 10px;
}

.gallery-item {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  margin-bottom: 0;
  flex: 1 1 calc(33.33%);
  transition: transform 0.3s ease;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.gallery-item:hover img {
  transform: scale(1.05);
}

.gallery-item .overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.8); /* Fondo negro transparente */
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0; /* Oculto por defecto */
  transition: opacity 0.3s ease;
  padding: 20px;
  text-align: center;
  pointer-events: none; /* Evita que los elementos dentro sean clickeables */
}

/* Estilos para pantallas grandes (mouse hover) */
.gallery-item:hover .overlay {
  opacity: 1;
  pointer-events: auto; /* Habilitar la interacción al hacer hover */
}

.gallery-item .overlay h2 {
  font-size: 24px;
  margin: 0;
}

.gallery-item .overlay p {
  font-size: 16px;
  margin: 10px 0;
}

.gallery-item .icons {
  margin-top: 10px;
}

.icons a {
  margin: 0 5px;
  color: white;
  font-size: 18px;
  transition: transform 0.3s ease;
}

.icons a:hover {
  transform: scale(1.2);
}

/* Adaptación para pantallas pequeñas (mostrar con touch) */
@media (max-width: 768px) {
  .gallery-item {
    flex: 1 1 100%; /* Imagen ocupa todo el ancho */
  }

  .gallery-item img {
    max-height: 400px;
  }

  /* Desactivar hover en pantallas pequeñas */
  .gallery-item:hover .overlay {
    opacity: 0; /* No hacer hover en pantallas pequeñas */
  }

  /* Mostrar información al hacer click/touch en pantallas pequeñas */
  .gallery-item.active .overlay {
    opacity: 1;
    pointer-events: auto; /* Habilitar la interacción solo cuando esté visible */
  }

  .gallery-item .overlay h2 {
    font-size: 18px; /* Ajustar tamaño del texto en pantallas pequeñas */
  }

  .gallery-item .overlay p {
    font-size: 14px;
  }

  .icons a {
    font-size: 16px; /* Ajustar tamaño de los iconos en pantallas pequeñas */
  }
}












 /* ////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
 .location {
  color: #48487f;
  padding: 20px;
  margin-top: 40px;
  text-align: center;


}

.map-container {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.map-container iframe {
  width: 100%;
  height: 500px;
  border: 0;
  transition: opacity 1s ease-out, transform 0.5s ease-out;
  opacity: 0;
  transform: scale(0.9);
}

/* Animación al hacer scroll */
.map-container.active iframe {
  opacity: 1;
  transform: scale(1);
}

.location h2 {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.location.active h2 {
  opacity: 1;
  transform: translateY(0);
}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
.button-container {
  text-align: center;
  margin-bottom: 10px;
}

#opinionesContainer {
  margin-bottom: 20px; /* Ajusta el margen inferior */
}

.container.mt-5 {
  margin-bottom: 20px; /* Ajusta el margen inferior */
}
.card-text p {
    max-height: 100px; /* Altura máxima para el texto de la opinión */
    overflow: hidden; /* Ocultar el exceso de texto */
    transition: max-height 0.3s ease; /* Animación de transición */
}

.card-text.expanded p {
    max-height: none; /* Permitir que el texto se expanda completamente */
}


.card {
  margin-bottom: 20px; /* Ajusta el margen inferior de cada tarjeta */
  width: 300px; /* Tamaño fijo para las tarjetas */
border-radius: 20px;
}

.card-body {
  padding: 10px; /* Ajusta el relleno del cuerpo de la tarjeta */
 
}

.card-title {
  font-weight: bold;
}

.card-title, .card-text {
  text-align: justify;
  word-wrap: break-word;
  color: #000;
}

#cardop {
  display: flex;
  flex-direction: column;
  height: 100%; /* Ocupa toda la altura disponible */
}
/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
#leerMasBtn,  .opcion{
  padding: 12px;
  border-radius: 20px; /* Hace el botón circular */
  background-color: #48487f; /* Color base del botón */
  border: none;
  color: #fff; /* Color del texto */
  font-weight: bold;
  font-size: 15px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); /* Sombra para hacerlo llamativo */
  transition: background-color 0.3s ease, transform 0.3s ease; /* Transición suave */
}

#leerMasBtn:hover, .opcion:hover{
  background-color: #3c3c6f; /* Variante más clara en hover */
  transform: scale(1.1); /* Aumenta ligeramente al pasar el cursor */
}



#opinionesModal {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(0, 0, 0, 0.5); /* Fondo negro transparente */
    overflow-y: auto; /* Permitir desplazamiento vertical */
    max-height: 80%; /* Altura máxima del modal */
    padding: 20px;
    border-radius: 10px;
    z-index: 1000; /* Asegurar que esté encima de otros elementos */
}

#modalopi {
    background-color: #fff; /* Fondo blanco */
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); /* Sombra ligera */
}





/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

/* Horarios */
.opening-hours p {
  display: flex;
  justify-content: space-between;
  margin: 0;
  color: #000000;
}

.opening-hours .day {
  text-align: left;
  flex: 1;
}

.opening-hours .time {
  text-align: right;
  flex: 1;
}

.opening-hours i {
  margin-right: 5px;
  color: #48487f;
}

/* Ajustes para pantallas pequeñas */
@media (max-width: 768px) {
  .opening-hours p {
    display: block;
    text-align: justify; /* Justificar el texto en pantallas pequeñas */
    margin: 5px 0;
  }

  .opening-hours .day, .opening-hours .time {
    display: inline-block;
    text-align: left; /* Mantener texto alineado a la izquierda */
    width: 45%; /* Ajuste de ancho para evitar que ocupen todo el espacio */
  }

  .opening-hours .time {
    text-align: right; /* Alinear la hora a la derecha */
  }

  .opening-hours::after {
    content: ""; /* Hack para justificar correctamente el último elemento */
    display: inline-block;
    width: 100%;
  }

  /* Aumentar tamaño de la imagen en pantallas pequeñas */
  .icon img {
    width: 120px; /* Aumentar el tamaño de la imagen */
    max-width: none; /* Desactivar el tamaño máximo anterior */
    height: auto; /* Mantener proporciones */
    margin: 0 auto; /* Centrar la imagen horizontalmente */
  }

  .link-preview {
    display: block;
    text-align: center;
  }

  .col-md-4 h3 {
    font-size: 1.5em; /* Ajustar tamaño del título en pantallas pequeñas */
  }
}
/* Ajustes generales de la imagen */
.icon img {
  width: 100%;
  max-width: 650px; /* Ajuste del tamaño máximo en pantallas grandes */
  height: auto;
  margin: 0 auto;
}

.link-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
}




 /* Estilos para las redes sociales */
.redes-sociales {
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center; /* Centrar los elementos horizontalmente */
  justify-content: center; /* Centrar los elementos verticalmente */
}

.redes-sociales li {
  list-style: none;
  margin-bottom: 10px;
}

.redes-sociales a {
  text-decoration: none;
  font-size: 18px;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center; /* Alinear el icono y el texto en el centro */
}

.redes-sociales i {
  margin-right: 10px;
  font-size: 24px;
  transition: transform 0.3s ease;
}

.redes-sociales a:hover {
  color: #151515;
}

.redes-sociales a.facebook {
  color: #3b5998;
}

.redes-sociales a.facebook:hover i {
  transform: scale(1.2);
}

.redes-sociales a.whatsapp {
  color: #25D366;
}

.redes-sociales a.whatsapp:hover i {
  transform: scale(1.2);
}

.redes-sociales a.instagram {
  color: #E4405F;
}

.redes-sociales a.instagram:hover i {
  transform: scale(1.2);
}

/* Asegurando que el contenido esté centrado en pantallas pequeñas */
@media (max-width: 768px) {
  .redes-sociales {
    align-items: center;
  }
}


.footer{
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(255, 255, 255); 
    padding: 10px; /* Espaciado interno */
    text-align: center;
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

#bodi {
  background-color: #f8f9fa;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  margin: 0;
}
.error-container {
  text-align: center;
  background: white;
  padding: 40px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.error-container img {
  width: 400px;
  height: 400px;
}
.error-container h1 {
  font-size: 2rem;
  margin-top: 20px;
}
.error-container p {
  color: #6c757d;
}