/* =========================
   Tipografía y Body
========================= */
body {
  scroll-behavior: smooth;
  font-family: 'Montserrat', Arial, sans-serif;
  margin: 0;
  margin-top: 70px; /* espacio navbar fijo */
  color: #333;
  background-color: #f4f4f9;
}

/* =========================
   Navbar
========================= */
.navbar {
  background-color: #1a1a1a !important;
  padding: 0.8rem 0;
}

.navbar .nav-link {
  color: #fff;
  font-weight: 600;
  transition: color 0.3s;
}

.navbar .nav-link:hover {
  color: #ffd700;
}

.navbar-brand {
  font-weight: 700;
  color: #ffffff !important;
  text-transform: uppercase;
}

/* =========================
   Secciones H2
========================= */
#equipo h2,
#trabajos h2,
#mantenimiento h2,
#mastercam h2 {
  font-size: 2.5rem;
  font-weight: 800;
  text-align: center;
  margin-bottom: 2rem;
  color: #1a1a1a;
}

/* =========================
   Sección Equipo
========================= */
#equipo ul li {
  margin-bottom: 0.7rem;
  font-size: 1.1rem;
  position: relative;
  padding-left: 1.5rem;
}

#equipo ul li::before {
  content: "✔️";
  position: absolute;
  left: 0;
  color: #ffd700;
}

/* Carousel de equipo y mastercam */
#carouselEquipo .carousel-item img,
#mastercam .carousel-item img {
  width: 100%;
  max-height: 400px;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 6px 15px rgba(0,0,0,0.2);
  transition: transform 0.3s, box-shadow 0.3s;
}

#carouselEquipo .carousel-item img:hover,
#mastercam .carousel-item img:hover {
  transform: scale(1.05);
  box-shadow: 0 12px 25px rgba(0,0,0,0.25);
}

@media (max-width: 768px) {
  #carouselEquipo .carousel-item img {
    height: 250px;
  }
}

@media (max-width: 576px) {
  #carouselEquipo .carousel-item img {
    height: 200px;
  }
}

/* =========================
   Tarjetas (Trabajos, Mantenimiento y Mastercam)
========================= */
#trabajos .card,
#mantenimiento .card,
#mastercam .card {
  border: none;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 15px rgba(0,0,0,0.1);
  transition: transform 0.3s, box-shadow 0.3s;
}

#trabajos .card:hover,
#mantenimiento .card:hover,
#mastercam .card:hover {
  transform: translateY(-7px);
  box-shadow: 0 12px 25px rgba(0,0,0,0.2);
}

#trabajos .card-img-top,
#mantenimiento .card-img-top,
#mastercam .card-img-top {
  height: 250px;
  object-fit: cover;
  background-color: #fff;
  transition: transform 0.3s;
}

#trabajos .card-img-top:hover,
#mantenimiento .card-img-top:hover,
#mastercam .card-img-top:hover {
  transform: scale(1.05);
}

#trabajos .card-title,
#mantenimiento .card-title,
#mastercam .card-title {
  font-weight: 700;
  margin-bottom: 0.8rem;
}

#trabajos .btn-primary,
#mantenimiento .btn-primary,
#mastercam .btn-primary {
  background: linear-gradient(45deg, #ffd700, #ff8c00);
  border: none;
  font-weight: 600;
  transition: transform 0.2s, background 0.3s;
}

#trabajos .btn-primary:hover,
#mantenimiento .btn-primary:hover,
#mastercam .btn-primary:hover {
  transform: scale(1.05);
  background: linear-gradient(45deg, #ff8c00, #ffd700);
}

/* Centrar filas con pocas tarjetas */
#trabajos .row,
#mantenimiento .row,
#mastercam .row {
  justify-content: center;
}

/* =========================
   Modales y Carruseles dentro de modales
========================= */
.modal-content {
  border-radius: 12px;
  overflow: hidden;
}

.modal-body img {
  max-height: 400px;
  width: 100%;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transition: transform 0.3s;
}

.modal-body img:hover {
  transform: scale(1.03);
}

/* Ajuste para párrafos dentro de modales */
.modal-body p {
  margin-top: 1rem;
  font-size: 1.1rem;
  color: #444;
}

/* Centrar texto en modales */
.modal-body,
.modal-header {
  text-align: center;
}

/* ========================================
   Carruseles generales (dentro y fuera de modales)
   ======================================== */
.carousel-inner img {
  width: 100%;
  height: 400px;         /* Alto uniforme para todas las imágenes */
  object-fit: contain;   /* Muestra la imagen completa sin recorte */
  border-radius: 12px;   /* Esquinas redondeadas */
  background-color: #ffffff;/* Fondo para los espacios vacíos (puedes cambiarlo) */
  box-shadow: 0 6px 15px rgba(255, 255, 255, 0.2);
}

/* Ajuste responsive: carrusel más bajo en pantallas pequeñas */
@media (max-width: 768px) {
  .carousel-inner img {
    height: 250px;
  }
}

@media (max-width: 576px) {
  .carousel-inner img {
    height: 200px;
  }
}


/* =========================
   Footer
========================= */
footer {
  background-color: #111;
  color: #fff;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

footer h5 {
  font-weight: 700;
  margin-bottom: 1rem;
  color: #ffd700;
}

footer a {
  color: #fff;
  transition: color 0.3s;
  text-decoration: none;
}

footer a:hover {
  color: #ffd700;
  text-decoration: underline;
}

footer .flex-fill {
  flex: 1 1 250px; /* columna mínima 250px, se expande */
}

footer p, footer a {
  margin-bottom: 0.5rem;
}

/* =========================
   Responsivo
========================= */
@media (max-width: 992px) {
  #trabajos .card-img-top,
  #mantenimiento .card-img-top,
  #mastercam .card-img-top {
    height: 200px;
  }
}

@media (max-width: 768px) {
  #trabajos .card-img-top,
  #mantenimiento .card-img-top,
  #mastercam .card-img-top {
    height: 180px;
  }
}

@media (max-width: 576px) {
  #trabajos .card-img-top,
  #mantenimiento .card-img-top,
  #mastercam .card-img-top {
    height: 150px;
  }
  #trabajos h2,
  #mantenimiento h2,
  #mastercam h2 {
    font-size: 2rem;
  }
}
