@import "animate.css";

/* Reseteo de márgenes y padding */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.bruno-ace-sc-regular {
  font-family: "Bruno Ace SC", serif;
  font-weight: 400;
  font-style: normal;
}

/* Body */
body {
  background: #ffffff;
  color: #333;
  font-family: "Poppins", sans-serif;
  line-height: 1.5;
  font-size: 16px; /* Base para móviles */
  line-height: 1.5;
}

h1,
h2 {
  color: #030303; /* Contraste para fondos oscuros */
  text-shadow: 1px 1px 3px #333;
  text-align: center;
  padding: 10px;
  margin: 5px;
}
.menu-tipo-letra {
  font-family: "Bruno Ace SC", serif;
}

/* --------------------------------------------------------- */
/* Navbar */
.custom-navbar {
  background-color: black; /* Cambia el fondo a negro */
}

.navbar-nav .nav-link {
  color: rgb(255, 255, 255) !important; /* Cambia el color del texto a blanco */
  margin-right: 30px; /* Reduce el espacio entre los elementos */
  font-family: "Bruno Ace SC", serif;
  font-size: 15px; /* Tamaño de fuente */
}

.navbar-nav .nav-link:hover {
  color: #efdc07 !important; /* Efecto hover con amarillo oro */
}

.dropdown-menu {
  background-color: black; /* Fondo negro para el menú desplegable */
  border: none;
}

.dropdown-menu .dropdown-item {
  color: white; /* Texto blanco para los ítems */
}

.dropdown-menu .dropdown-item:hover {
  background-color: #444444; /* Fondo gris oscuro al pasar el mouse */
}

/* IMAGEN FONDO PRINCIPAL */

.main-bg {
  background-image: url("../img/imgen-principal.jpg"); /* Ruta de la imagen de fondo */
  background-size: cover; /* Asegura que la imagen cubra toda la pantalla */
  background-position: center; /* Centra la imagen */
  background-repeat: no-repeat; /* Evita que la imagen se repita */
  height: 100vh; /* Ajusta la altura para cubrir toda la pantalla */
  display: flex; /* Habilita flexbox para centrar el contenido */
  align-items: center; /* Centra el contenido verticalmente */
  justify-content: center; /* Centra el contenido horizontalmente */
}

/* Estilo para los títulos */
.titulo-principal-1 {
  color: #e1dc48; /* Texto en blanco */
  font-size: 4rem; /* Tamaño del texto del título principal */
  text-shadow: 2px 2px 5px rgba(83, 239, 21, 0.7); /* Agrega sombra al texto */
  margin-top: -350px; /* Ajusta este valor según lo que necesites */
}

.content-center h2 {
  color: white; /* Texto en blanco */
  font-size: 1.5rem; /* Tamaño del subtítulo */
  text-shadow: 1px 1px 3px rgba(83, 239, 21, 0.7); /* Sombra para el subtítulo */
  text-align: center;
  margin-top: -20px;
}

/* -------------------------------------------------- */
/* Galería de imágenes */
/* Estilo para la imagen de fondo */
.galeria-body {
  background-image: url("../img/fondo-galeria.jpg"); /* Reemplaza con la ruta de tu imagen */
  background-size: cover; /* Hace que la imagen cubra toda la pantalla */
  background-position: center; /* Centra la imagen */
  opacity: 1; /* Opacidad total para el fondo */
  margin: 0; /* Elimina márgenes predeterminados */
}

main {
  padding: 20px; /* Un poco de padding para separar el contenido del borde */
  border-radius: 10px; /* Bordes redondeados */
  background-color: transparent; /* Eliminar el fondo blanco */
}
.text-center {
  color: #94c5f7;
  text-shadow: 0px 7px 4px #07071b;
  font-size: 45px;
}

/* Estilo para la galería de imágenes */
.image-gallery {
  padding: 20px;
  background-color: transparent; /* Fondo transparente */
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 15px;
  justify-items: center;
}

.gallery-grid img {
  width: 100%;
  max-width: 200px;
  border-radius: 10px; /* Bordes redondeados para imágenes */
  box-shadow: 0 20px 8px rgba(13, 0, 0, 0.2);
  transition: transform 0.3s ease-in-out;
  border: 3px solid #000000; /* Borde negro alrededor de las imágenes */
}

.gallery-grid img:hover {
  transform: scale(1.1);
}

/* Estilo de la sección de videos */
.video-section {
  padding: 30px 20px;
  background-color: transparent; /* Eliminar fondo blanco */
  margin-top: 30px;
  text-align: center;
}

.video-container {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(280px, 1fr)
  ); /* Ajuste para hacer las tarjetas más compactas */
  gap: 20px;
  justify-content: center;
}

/* Caja de video */
.video-box {
  display: flex;
  flex-direction: column; /* Coloca el video y la descripción en columna */
  background-color: transparent; /* Fondo transparente */
  border: 3px solid #000000; /* Borde negro alrededor de cada video */
  border-radius: 10px; /* Bordes redondeados */
  overflow: hidden;
  box-shadow: 0 20px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-box:hover {
  transform: translateY(-5px); /* Efecto al pasar el mouse */
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

/* Video */
video {
  width: 10%; /* Ajusta el ancho del video para ocupar el contenedor */
  height: auto; /* Mantiene la proporción del video */
  object-fit: cover; /* Cubre el contenedor manteniendo las proporciones */
}

/* Texto y descripción del video */
.texto {
  padding: 10px; /* Espaciado interno */
}

.texto h2 {
  font-size: 1.5rem; /* Tamaño del título */
  color: #94c5f7; /* Color del título */
  text-shadow: 0px 7px 4px #07071b;
  margin-bottom: 10px; /* Espacio debajo del título */
}

.texto p {
  font-size: 1rem; /* Tamaño del texto de la descripción */
  line-height: 1.6; /* Espaciado entre líneas */
  color: #faf9f9; /* Color del texto de la descripción */
}
/* ---------------------------------------------- */
/* ESTILOS PARA LA SECCION SERVICIOS */
/* Estilo para la sección de fondo */
.repuestos-body {
  background-image: url("../img/mecanica.jpg"); /* Aquí coloca la ruta de la imagen de fondo */
  background-size: cover; /* Hace que la imagen cubra toda la pantalla */
  background-position: center; /* Centra la imagen */
}

/* Estilos para la sección de servicios */
.container {
  display: flex;
  align-items: center;
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
  border-radius: 8px;
  padding: 20px;
  background-color: rgba(
    255,
    255,
    255,
    0.8
  ); /* Fondo blanco semitransparente */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra para dar profundidad */
}

.card {
  position: relative;
  overflow: hidden;
  border-color: #2c3e50;
  border-radius: 10px;
}

.card img {
  width: 100%;
  height: auto; /* Mantiene la proporción de imagen */
  object-fit: cover; /* Asegura que la imagen cubra el área */
}

.card img:hover {
  transform: scale(1.1);
  transition: transform 0.4s ease-in-out;
}

.card-body {
  position: relative; /* Permitirá centrar el texto */
  padding: 20px; /* Ajusta el padding según tus necesidades */
  color: #333; /* Color del texto */
}

.card-title {
  font-size: 1.5rem; /* Ajustar el tamaño de título */
}

/* Botones personalizados */
.btn-custom {
  margin-top: 10px;
  padding: 10px 15px;
  border: 1px solid yellowgreen;
  border-radius: 5px;
  background: transparent;
  color: rgb(21, 21, 19);
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  transition: 0.3s;
}

.btn-custom:hover {
  background-color: transparent;
  color: #a1ee08;
  border: #9c9a9a 1px solid;
}
h3 {
  text-align: center;
}

/* Estilo para los títulos de servicios */
.servicios h2 {
  font-size: 1.5rem;
  color: #2c3e50;
  margin-bottom: 10px;
}
/* ---------------------------------------------------- */
/* ESTILOS PARA LA SECCION NOSOTROS */
/* Estilos para el logo */
.logo img {
  width: 120px;
}

/* Estilos personalizados para la sección de "Quiénes Somos" */
.quienes-somos {
  background-color: transparent; /* Elimina el fondo claro */
  text-align: center; /* Centra el contenido dentro de la sección */
}

.quienes-somos h1 {
  font-family: "Bruno Ace SC", serif;
  font-size: 2.5rem;
  text-shadow: 1px 1px 3px #333;
  color: #030303;
}

.quienes-somos p {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #333;
}

.quienes-somos img {
  border: 2px solid #ddd; /* Borde claro */
  border-radius: 8px; /* Bordes redondeados */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra para dar profundidad */
  max-width: 100%; /* Asegura que la imagen no exceda el ancho del contenedor */
  height: auto; /* Mantiene la proporción de la imagen */
}

/* Estilo para contenedores */
.container {
  max-width: 60%;
  margin: 0 auto; /* Centra el contenedor en la página */
  padding: 20px;
}

/* Sección de ubicación */
.location-section {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.map {
  border-radius: 10px;
  overflow: hidden; /* Asegura que los bordes redondeados se apliquen a la imagen */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.details {
  background-color: rgba(
    255,
    255,
    255,
    0.9
  ); /* Fondo blanco semitransparente */
  padding: 20px;
  border-radius: 10px; /* Bordes redondeados */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.details h2 {
  margin-top: 0;
  color: #0a0a23;
}

.details p {
  line-height: 1.6;
}

.location-img {
  width: 25%;
  height: auto;
  border-radius: 10px;
  margin-top: 10px;
}

/* Estilo para la imagen de fondo */
body.nosotros-body {
  background-image: url("../img/nosotros-oficinas.jpg"); /* Ruta de la imagen de fondo */
  background-size: cover; /* Hace que la imagen cubra toda la pantalla */
  background-position: center; /* Centra la imagen */
  margin: 0; /* Elimina márgenes predeterminados */
  color: #333; /* Color del texto para un mejor contraste */
}

/* ------------------------------------------------------------------ */
/* FORMULARIO DE CONTACTO */
/* Estilos para el texto destacado */
.inicio-o {
  text-align: center;
}
.car {
  color: #ffcc63; /* Color amarillo para la clase .car */
}

/* Estilo para el fondo de la barra de navegación */
.bg-dark {
  background-color: var(
    --light
  ) !important; /* Color de fondo variable en barra */
}

/* Estilización de control de formularios */
.form-control,
.btn {
  min-height: 3.125rem; /* Altura mínima para controles */
  line-height: initial; /* Reiniciar el alineado de línea */
}

/* Estilo para la imagen de registro */
.img-1 {
  background-image: url("../img/imagen-registro2.png"); /* Ruta de la imagen de fondo */
  background-size: contain; /* Ajusta el tamaño de la imagen */
  background-repeat: no-repeat; /* No repetir imagen */
  height: 100vh; /* Altura para cubrir toda la pantalla */
  display: flex; /* Habilita flexbox para centrar el contenido */
  align-items: center; /* Centra el contenido verticalmente */
  justify-content: center; /* Centra el contenido horizontalmente */
}

/* -------------------------------------------------------- */
/* REDES SOCIALES */

.social-icons {
  margin-top: 10px;
}

.social-icons a {
  display: inline-block;
  margin: 0 20px;
  font-size: 30px;
  color: #333;
  text-decoration: none;
  transition: color 0.3s ease-in-out;
}

.social-icons a:hover {
  color: #08df33; /* Cambia de color al pasar el mouse */
}

/*-----------------------------------------------------------*/
/* FOOTER  */
footer {
  background-color: #000;
  color: #fff;
  padding: 10px;
  text-align: center;
}
/* ---------------------------------------------
MEDIA QUERIES  */
/* Media Query para pantallas pequeñas */
@media (max-width: 768px) {
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  .logo img {
    width: 100px; /* Ajuste del tamaño del logo */
  }

  .quienes-somos h1 {
    font-size: 2rem;
    text-shadow: 1px 1px 2px #333;
  }

  .quienes-somos p {
    font-size: 0.9rem;
  }

  .container {
    padding: 10px;
  }

  .location-section {
    flex-direction: column;
    gap: 10px;
  }

  .location-img {
    width: 50%; /* Ajuste del tamaño de la imagen de ubicación */
  }

  .car {
    color: #ffcc63;
  }

  .bg-dark {
    background-color: var(--light) !important;
  }

  .form-control,
  .btn {
    min-height: 2.5rem; /* Ajuste de altura para pantallas pequeñas */
    line-height: initial; /* Ajuste de altura para pantallas pequeñas */
  }

  .img-1 {
    background-size: cover; /* Ajuste para mejorar el diseño en pantallas pequeñas */
    height: 50vh; /* Reducir la altura en dispositivos más pequeños */
  }

  .main-bg {
    background-size: cover;
    background-position: center;
    height: 70vh; /* Reducir la altura en dispositivos más pequeños */
  }

  .titulo-principal-1 {
    font-size: 2.5rem;
    margin-top: -150px;
  }

  .content-center h2 {
    font-size: 1.2rem;
    margin-top: -10px;
  }

  .gallery-grid {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 10px;
  }

  .video-container {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 10px;
  }

  .video-box {
    flex-direction: column;
  }

  footer {
    padding: 5px; /* Ajuste del padding en el footer */
  }
}
