body {
  font-family: Arial, sans-serif; /* Cambiar la fuente del texto */
  margin: 0; /* Eliminar los márgenes predeterminados */
  padding: 0; /* Eliminar el relleno predeterminado */
  background-color: #f0f0f0; /* Color de fondo */
}

.container {
  width: 80%; /* Ancho del contenedor principal */
  margin: 20px auto; /* Centrar el contenedor */
  background-color: #fff; /* Color de fondo del contenedor */
  padding: 20px; /* Relleno del contenedor */
  border-radius: 10px; /* Bordes redondeados */
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Sombra */
}

h1 {
  text-align: center; /* Centrar el encabezado */
  color: #6b686a; /* Color del texto */
}

table {
  width: 100%; /* Ancho de la tabla */
  border-collapse: collapse; /* Colapso de bordes */
}

th, td {
  padding: 8px; /* Relleno de las celdas */
  text-align: left; /* Alineación del texto */
  border-bottom: 1px solid #ddd; /* Borde inferior */
}

th {
  background-color: #f2f2f2; /* Color de fondo del encabezado */
}

/* Css para las imagenen del carrusel*/

.carousel-item img {
  width: 100%; /* Esto garantiza que la imagen sea tan ancha como su contenedor */
  height: 100%; /* Esto garantiza que la imagen sea tan alta como su contenedor */
  object-fit: cover; /* Esto recorta la imagen para cubrir el área disponible, podría recortar partes de la imagen */
}

/* Estilos para pantallas medianas */
@media (min-width: 768px) {
  .custom-carousel .carousel-item {
    height: 300px; /* Altura para dispositivos medianos */
  }
}

/* Estilos para pantallas grandes */
@media (min-width: 992px) {
  .custom-carousel .carousel-item {
    height: 400px; /* Altura para dispositivos grandes */
  }
}

/* Estilos para pantallas muy grandes */
@media (min-width: 1200px) {
  .custom-carousel .carousel-item {
    height: 500px; /* Altura para dispositivos muy grandes */
  }
}

/* Css para las imagenen del logo */
.navbar-brand {
  display: flex;
  align-items: center;
  height: 100%;
}

/* Asegúrate de que la imagen del logo no sea demasiado grande */
.img-logo {
  max-height: 100px; /* Ajusta esto según el tamaño deseado */
  width: auto;
}

/* Estilos para los enlaces del menú */
.navbar-nav .nav-link {
  transition: all 0.3s ease; /* Para un efecto suave al aplicar el subrayado */
  border-bottom: 2px solid transparent; /* Prepara un borde transparente para evitar saltos visuales al hacer hover */
}

/* Estilos para el estado hover de los enlaces del menú */
.navbar-nav .nav-link:hover {
  border-bottom-color: green; /* Cambia el color del borde a verde al hacer hover */
}

.carousel-caption .custom-text {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* Sombra para el texto */
  font-style: italic; /* Estilo embaldosado */
  position: absolute;
  left: 10px; /* Ajusta según sea necesario */
  top: 10px; /* Ajusta según sea necesario */
}

.carousel-caption .button-container {
  position: absolute;
  bottom: 10px; /* Ajusta según sea necesario */
  left: 50%; /* Centra los botones horizontalmente */
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
}

/* CSS para las nuevas tarjetas */
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap");

section {
  padding-block: min(20vh, 2rem);
  width: calc(min(76.5rem, 90%));
  margin-inline: auto;
  color: #111;

  h2 {
    text-transform: capitalize;
    letter-spacing: 0.025em;
    font-size: clamp(2rem, 1.8125rem + 0.75vw, 2.6rem);
  }

  a {
    display: inline-block;
    text-decoration: none;
  }

  .container {
    margin-top: 5em;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 2rem;

    .card {
      &:nth-child(1) .box .icon .iconBox {
        background: #d3b19a;
      }
      &:nth-child(2) .box .icon .iconBox {
        background: #70b3b1;
      }
      &:nth-child(3) .box .icon .iconBox {
        background: #d05fa2;
      }

      ul {
        margin: 0;
        padding: 0;
        list-style-type: none;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.625rem;

        li {
          text-transform: uppercase;
          background: var(--clr-tag);
          color: #282828;
          font-weight: 700;
          font-size: 0.8rem;
          padding: 0.375rem 0.625rem;
          border-radius: 0.188rem;
        }

        .branding {
          color: darken(#d3b19a, 40%);
        }

        .packaging {
          color: darken(#70b3b1, 40%);
        }

        .marketing {
          color: darken(#d05fa2, 40%);
        }
      }

      .content {
        padding: 0.938rem 0.625rem;

        h3 {
          text-transform: capitalize;
          font-size: clamp(1.5rem, 1.3909rem + 0.4364vw, 1.8rem);
        }

        p {
          margin: 0.625rem 0 1.25rem;
          color: #565656;
        }
      }
    }

    .card-inner {
      position: relative;
      width: inherit;
      height: 18.75rem;
      background: var(--clr);
      border-radius: 1.25rem;
      border-bottom-right-radius: 0;
      overflow: hidden;

      .box {
        width: 100%;
        height: 100%;
        background: #fff;
        border-radius: 1.25rem;
        overflow: hidden;

        .imgBox {
          position: absolute;
          inset: 0;

          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
          }
        }

        .icon {
          position: absolute;
          bottom: -0.375rem;
          right: -0.375rem;
          width: 6rem;
          height: 6rem;
          background: var(--clr);
          border-top-left-radius: 50%;

          &:hover .iconBox {
            transform: scale(1.1);
          }

          &::before {
            position: absolute;
            content: "";
            bottom: 0.375rem;
            left: -1.25rem;
            background: transparent;
            width: 1.25rem;
            height: 1.25rem;
            border-bottom-right-radius: 1.25rem;
            box-shadow: 0.313rem 0.313rem 0 0.313rem #fff;
          }

          &::after {
            position: absolute;
            content: "";
            top: -1.25rem;
            right: 0.375rem;
            background: transparent;
            width: 1.25rem;
            height: 1.25rem;
            border-bottom-right-radius: 1.25rem;
            box-shadow: 0.313rem 0.313rem 0 0.313rem var(--clr);
          }

          .iconBox {
            position: absolute;
            inset: 0.625rem;
            background: #282828;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            transition: 0.3s;

            span {
              color: #fff;
              font-size: 1.5rem;
            }
          }
        }
      }
    }
  }
}

.carousel-item blockquote {
  font-size: 1.25rem;
  color: #333;
}

.carousel-item p {
  font-size: 1rem;
  color: #666;
}

.professional-img {
  width: 100px; /* Ajusta este tamaño según tus necesidades */
  height: 100px; /* Ajusta este tamaño según tus necesidades */
  border: 3px solid #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  object-fit: cover; /* Asegura que la imagen se recorte para ajustarse al contenedor */
  border-radius: 50%; /* Hace que la imagen sea circular */
}

.carousel-item h5 {
  font-size: 1.5rem;
  color: #333;
}

.carousel-item .carousel-control-prev-icon,
.carousel-item .carousel-control-next-icon {
  background-color: #333;
  border-radius: 50%;
}

/* Estilo para la sección del carrusel de profesionales */
#professionalsCarousel .carousel-item {
  text-align: center;
}

#professionalsCarousel .carousel-item blockquote {
  font-size: 1.25rem;
  color: #333;
}

#professionalsCarousel .carousel-item p {
  font-size: 1rem;
  color: #666;
}

#professionalsCarousel .professional-img {
  width: 100px; /* Ajusta este tamaño según tus necesidades */
  height: 100px; /* Ajusta este tamaño según tus necesidades */
  border: 3px solid #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  object-fit: cover; /* Asegura que la imagen se recorte para ajustarse al contenedor */
  border-radius: 50%; /* Hace que la imagen sea circular */
}

#professionalsCarousel .carousel-item h5 {
  font-size: 1.5rem;
  color: #333;
}

#professionalsCarousel .carousel-item .carousel-control-prev-icon,
#professionalsCarousel .carousel-item .carousel-control-next-icon {
  background-color: #333;
  border-radius: 50%;
}

/* Ajustes adicionales para asegurarse de que la imagen se vea bien en diferentes dispositivos */
@media (max-width: 768px) {
  #professionalsCarousel .professional-img {
    width: 80px; /* Ajusta el tamaño para dispositivos móviles */
    height: 80px;
  }
}

@media (min-width: 769px) and (max-width: 1200px) {
  #professionalsCarousel .professional-img {
    width: 90px; /* Ajusta el tamaño para tabletas */
    height: 90px;
  }
}

@media (min-width: 1201px) {
  #professionalsCarousel .professional-img {
    width: 100px; /* Ajusta el tamaño para escritorios */
    height: 100px;
  }
}


/* Estilos para el formulario de contacto y la sección de dirección */
.container.mt-5 {
  margin-top: 5rem;
}

h2 {
  font-size: 1.75rem;
  margin-bottom: 1rem;
}

.form-group {
  margin-bottom: 1.5rem;
}

.btn-primary {
  background-color: #28a745;
  border-color: #28a745;
  transition: background-color 0.3s ease;
}

.btn-primary:hover {
  background-color: #218838;
  border-color: #1e7e34;
}

.social-icons {
  margin-top: 1rem;
}

.social-icon {
  width: 40px;
  height: 40px;
  margin-right: 10px;
  transition: transform 0.3s ease;
}

.social-icon:hover {
  transform: scale(1.1);
}

.map-container {
  margin-top: 1.5rem;
}

@media (max-width: 768px) {
  .map-container iframe {
    width: 100%;
    height: 200px;
  }
}


.dotted-hr {
  border: none;
  border-top: 3px dotted;
  margin: 20px auto; /* Centra el hr y ajusta el margen */
  width: 80%; /* Ajusta el ancho del hr */
}

.dotted-hr.purple {
  border-color: purple;
}

.dotted-hr.green {
  border-color: green;
}

.dotted-hr.yellow {
  border-color: rgb(0, 255, 149);
}

