body,
body * {
    padding: 0;
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300px;
}

strong {
    font-weight: 700px !important;
}


/*------------------------------------------------------------------------------------------------------*/
/* AJUSTES TAMAÑOS TITULOS SLIDE Y TITULO MODELOS */

/* Estilos base para todos los tamaños de pantalla */
.tamaño {
    font-weight: 300;
    letter-spacing: 2px;
}

/* Para pantallas grandes (escritorio) */
@media (min-width: 993px) {
    .tamaño {
        font-size: 40px !important;
        /* Tamaño de fuente h1 para escritorio */
    }
}

/* Para pantallas medianas (tabletas) */
@media (min-width: 577px) and (max-width: 992px) {
    .tamaño {
        font-size: 20px !important;
        /* Tamaño de fuente h2 para tabletas */
    }
}

/* Para pantallas pequeñas (móviles) */
@media (max-width: 576px) {
    .tamaño {
        font-size: 24px !important; /* Aumentado de 15px a 24px para mejor visibilidad */
        font-weight: 700 !important; /* Peso de fuente más grueso para móviles */
        letter-spacing: 1px; /* Reducido el espaciado entre letras para ajustarse mejor */
        text-shadow: 2px 2px 4px rgba(0,0,0,0.5); /* Sombra de texto para mejor contraste */
    }

    /* Estilos adicionales para el contenedor del título en móviles */
    #titulo_slide {
        background-color: rgba(0, 0, 0, 0.5); /* Fondo negro semitransparente */
        padding: 10px 0; /* Añade algo de padding arriba y abajo */
    }

    #titulo_slide h1 {
        color: white; /* Asegura que el texto sea blanco */
    }
}


/*AJUSTE TAMAÑOS FLECHAS SLIDE*/

@media (max-width: 576px) {
    .carousel-control-prev,
    .carousel-control-next {
        display: none !important;
    }
}

/*El tamaño de las flechas se ocultan en tamaño móvil 
porque los móviles suelen ser táctiles*/




/*AJUSTE TAMAÑOS TITULOS ACORDEON*/
@media (max-width: 576px) {
    .tamaño-acordeon {
        font-size: 15px !important;
        padding-top: 9px !important;
        font-weight: bold !important;
    }
}

@media (min-width: 577px) and (max-width: 992px) {
    .tamaño-acordeon {
        font-size: 25px !important;
    }
}

@media (min-width: 993px) {
    .tamaño-acordeon {
        font-size: 30px !important;
    }
}

/*------------------------------------------------------------------------------------------------------*/


/* SLIDE  */



@media (min-width: 1500px) {

    /*hacemos que la imagen se ajuste al ancho de la pantalla*/
    .carousel-item {
        height: 98vh;
    }
}

/*ajutamos las flechas para que sean más grandes y se vean mejor*/

.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-image: none !important;
}

.carousel-control-prev-icon::after,
.carousel-control-next-icon::after {
    content: '';
    display: inline-block;
    border: solid white;
    border-width: 0 3px 3px 0;
    padding: 8px;
    transform: scale(1.5);
}

.carousel-control-prev-icon::after {
    transform: rotate(135deg) scale(1.5);
}

.carousel-control-next-icon::after {
    transform: rotate(-45deg) scale(1.5);
}

.carousel-control-prev,
.carousel-control-next {
    width: 5%;
}




#titulo_slide {
    position: absolute;
    z-index: 5;
    color: #E6E2E2;
    width: 100%;
    top: 2%;
    padding: 2% 0;
}

#titulo_slide h1 {
    font-size: 2em;
    letter-spacing: 9px;
    margin: 0 auto;
    font-weight: 900;
}

#titulo_slide2 {
    z-index: 10;
    color: #ee0d0d;
    font-size: 2em;
    bottom: 1%;
    font-weight: 900;

}

/*------------------------------------------------------------------------------------------------------*/

/* TITULO DE MODELOS */

.line {
    width: 50px;
    height: 2px;
    background-color: #000;
    margin: 0 10px;
}

/*------------------------------------------------------------------------------------------------------*/

/* ACORDEON */

.accordion-item,
.accordion-header,
.accordion-button {
    width: 100%;
}

#accordionExample .accordion-button {
    border: 2px solid #969393 !important;
    background-color: #f2f2f2 !important;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
}

#accordionExample .accordion-button:hover {
    border-color: #f2f2f2 !important;
    background-color: #f2f2f2 !important;
}

.accordion-button {
    flex: 1 0 auto;
    text-align: left;
}

.accordion-header button {
    text-align: center;
    padding: 10px;
}

.image {
    width: 80px;
    height: 80px;
  }

  .custom-col {
    border: 2px solid grey; 
    border-radius: 10px; 
    padding: 20px; 
    margin-top: 60px;
    margin-left: 30px;
    margin-right: 30px;
    width: 605px;
  }

  .custom-row {
    margin-left: -15px; 
    margin-right: -15px; 
    margin-bottom: 60px;
  }

  .center-row {
    display: flex;
    justify-content: center;
  }

 
  .custom-col h3 {
    margin-top: 40px; 
    margin-right: 50px;
    margin-bottom: 60px; 
    text-align: center; 
    font-size: 22px;
}

  .custom-col p {
    margin-top: 10px; 
    text-align: center; 
}

.contact-form {
    border: 2px solid grey;
    border-radius: 10px;
    padding: 20px;
  }

  .form-group label {
    font-size: 20px;
  }

  
  .columna-texto {
    text-align: center; /* Centrar el texto horizontalmente */
    margin-top: 30px; /* Añadir margen superior */
    margin-bottom: 30px; /* Añadir margen inferior */
    margin-right: 30px;
    font-size: 40px;
  }


  * Estilos por defecto para escritorio */
  .desktop-slide {
      display: block;
  }
  
  .mobile-slide {
      display: none;
  }
  
  /* Estilos por defecto */
.desktop-carousel {
    display: block;
}

.mobile-carousel {
    display: none;
}

/* Media query para dispositivos móviles */
@media (max-width: 767px) {
    .desktop-carousel,
    .carousel-control-prev,
    .carousel-control-next,
    .carousel-indicators {
        display: none !important;
    }
    
    .mobile-carousel {
        display: block !important;
    }
}

.content-wrapper {
    flex: 1 0 auto;
}

footer {
    flex-shrink: 0;
}
.contact-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #25D366;
    color: white;
    border: none;
    width: 100px;
    height: 60px;
    font-size: 14px;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    z-index: 1000;

    
}

.contact-button:hover {
    background-color: #128C7E;
}