* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    text-decoration: none;
    list-style: none;
    font-family: 'Hero-Bold', sans-serif;
}

html {
    scroll-behavior: smooth;
}

body {
    background: #F3F5FB;
    color: #1b1b1e;
}

h1{font-size: 4rem; font-family: "Schibsted Grotesk", serif;}
h2{font-size: 1.75em; font-family: "Schibsted Grotesk", serif;}
h3{font-size: 2rem;}
h4{font-size: 1.5rem; font-family: "Schibsted Grotesk", serif;}
p{font-size: 1.25rem; font-family: "Schibsted Grotesk", serif;}
ul{list-style: none; padding: 0; margin: 0;}
li{font-size: 1.25rem; font-family: "Schibsted Grotesk", serif;}

section {
    position: relative; /* Necesario para z-index */
    overflow: visible; /* Permite que el contenido salga */
    z-index: 1; /* Ajusta según sea necesario */
}


 
.container{
    opacity: 0;
    filter: blur(5px);
    transform: translateY(10%);
    transition: all .5s;
}
/* Cuando entran en la vista (30% inferior), aparecen */
.show {
    opacity: 1;
    filter: blur(0);
    transform: translateX(0);
}

/* Header */
header {
    top: 0;
    right: 0;
    z-index: 1000;
    width: 100%;
    padding: 1rem 8%;
    padding-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #F3F5FB;
    border-bottom:1px  solid #000;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    position: absolute;
    transition: top 0.1s ease-in-out;
}

/* Espacio reservado para evitar el salto */
.header-placeholder {
    height: 100%; /* Ajusta esto a la altura del navbar */
    display: none; /* Se activará cuando el header cambie */
}

header.scrolled {
    position: fixed;
    left: 0;
    border: 1px solid #000;
    margin: .5rem auto;
    width: 50%;
    height: 4.5rem;
    background: #fff;
    padding: 0.05rem 7%;
    border-radius: 20px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    opacity: 0;
   
}

header.scrolled.visible {

    opacity: 1; /* Hace visible */
}

/* Cuando el navbar cambia a `fixed`, mostramos el espacio reservado */
header.scrolled + .header-placeholder {
    display: block;
}

header.scrolled .navlist a {
    color: #000;
}

/* Cuando el header tiene la clase scrolled */
header.scrolled .btn-content {
    border: 1px solid #000;
    background: #fff;
    color: #000000;
    box-shadow: none;
}

header.scrolled .btn-content:hover {

    transform: scale(1.1);
    color: #000000;
}

/* Ocultar back-btn cuando el header tiene la clase scrolled */
header.scrolled .back-btn {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Logo */
.logo {
    display: flex;
    align-items: center;
    transition: all 0.2s ease-in-out;
}

.logo img {
    width: 10rem;
    height: auto;
}

header.scrolled .logo img{
    width: 7rem;
    height: auto;
}

header.scrolled .logo:hover {
    
    transform: scale(1.1);
    color: #000000;
    
}

.navlist {
    display: flex;
}

.navlist a {
    display: inline-block;
    margin: 0 35px;
    color: #1b1b1e;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.3s ease;
    position: relative; /* Necesario para el pseudo-elemento */
    text-decoration: none; /* Eliminamos el subrayado por defecto */
}

/* Subrayado animado */
.navlist a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px; /* Ajusta esta posición según tu diseño */
    width: 0;
    height: 2px; /* Grosor del subrayado */
    background-color: currentColor; /* Hereda el color del texto */
    transition: width 0.3s ease;
}

.navlist a:hover::after {
    width: 100%; /* Ancho completo al hacer hover */
}

.navlist a:hover {
    color: #f39c12;
}

header.scrolled a:hover {
    color: #f39c12;
}

/* Right Section (Button & Icon) */
.nav-right {
    display: flex;
    align-items: center;
}

.button-container {
    position: relative;
    width: 10rem; /* Ancho del botón */
    height: 3rem; /* Alto del botón */
    margin: 5px;
}

#blog-button{
    visibility: hidden;
}

/* Efecto hover en el contenedor */
.button-container:hover .btn-content {
    background-color: #fff;
    color: #000000; /* Desplaza el botón hacia arriba y la izquierda */
}

.button-container:hover .back-btn {
    transform: translate(5px, 5px); /* Desplaza el fondo hacia abajo y la derecha */
}

/* Estilo del botón */
.btn-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #031A6B; /* Fondo blanco */
    color: #ffffff; /* Texto negro */
    border: none;
    border-radius: 20px; /* Bordes redondeados */
    font-size: 1.2rem;
    font-weight: 700;
    cursor: pointer;
    z-index: 2;
    transition: all 0.2s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra */
}

/* Fondo del botón */
.back-btn {
    position: absolute;
    top: 5px; /* Desplazamiento inicial */
    left: 5px; /* Desplazamiento inicial */
    width: 100%;
    height: 100%;
    background-color: #FF7700; /* Color naranja */
    z-index: 1;
    border-radius: 20px; /* Bordes redondeados */
    transition: all 0.2s ease-in-out;
}

#menu-icon {
    font-size: 34px;
    color: #000000;
    z-index: 10001;
    cursor: pointer;
    display: none;
}

/* Container */
#hero {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 100px;
}

#hero .container {
    width: 100%;
    margin: 0 auto;
    /*margin-top: 115px;*/
    display: flex;
    flex-direction: column;
    align-items: center;
}

.img-hero {
    max-height: 50rem;
    width: 100%;  /* Puedes ajustar este ancho según lo que necesites */
    height: 100%; /* Ajusta la altura que desees */
    position: relative;  /* Asegura que la imagen esté dentro de un contenedor relativo */
    overflow: hidden;  /* Oculta la parte de la imagen que se recorta */
}

.img-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;  /* Asegura que la imagen se recorte pero mantenga su proporción */
}


.container .menu-hero {
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 25px;
    padding: 20px 150px 50px 150px;
    background-color: #03045E;
}

.container .button-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
}

.container .btn-content {
    background-color: #F3F5FB; /* Cambiar el color según prefieras */
    border: 1px solid #031A6B;
    color: #1b1b1e;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 15px; /* Bordes redondeados en los botones */
    font-size: 1.3rem;
    transition: background-color 0.3s ease;
    width: 100%;
    height: 5rem;
    text-align: center;
}

.container .btn-content:hover {
    background-color: #FF7700;
    color:#F3F5FB;
}

.container .back-btn {
    /* Si esta sección tiene algún estilo específico, se puede añadir aquí */
    display: none; /* Deja oculta si no tiene uso visual */
}


#historia{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: linear-gradient(-150deg, #EF476F 15%, #031A6B 100%);
    scroll-margin-top: 70px; /* Ajusta este valor al tamaño de tu navbar */
}


#historia .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: end;
    width: 100%;
    margin: 0 auto;
    padding: 50px;
    gap: 50px;
    
}

.container .historia-aso {
    display: flex;
    color: white;
    overflow: hidden;
    max-width: 85rem;
    height: 30rem;
    gap: 2rem;
}

.img-historia {
    flex: 1;
    padding: 1rem;
    border-radius: 25px;
    display: flex;
    justify-content: end;
    align-items: end;
    text-align: end;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-image: linear-gradient(
        -25deg,  /* De negro abajo a transparente arriba */
        rgba(0, 0, 0, 0.8),  /* Más oscuro en la parte inferior */
        rgba(0, 0, 0, 0) /* Completamente transparente en la parte superior */
        ), url("../Recursos/historia-asoservices.webp");
}


.img-historia h1 {
    font-size: 4.5rem;
    font-weight: bold;
    line-height: 1;
    filter: drop-shadow(10px 10px 15px #000);
}

.img-historia h1 span {
    color: #00A3FF;
}

.historia-card {
    flex: 2;
    padding: 3rem;
    background: white;
    color: black;
    border-radius: 25px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.historia-card p {
    font-size: 2rem;    
}


.container .mision-vision{
    display: flex;
    color: white;
    overflow: hidden;
    max-width: 85rem;
    height: 20rem;
    gap: 2rem;
}

.mision-vision .mision-card, .vision-card{
    flex: 1;
    padding: 3rem;
    background: white;
    color: black;
    border-radius: 25px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.mision-card .mision , .vision-card .vision {
    padding: 1rem;
    color: black;
    border-radius: 25px;
    text-align: start;
    justify-content: center;
    align-items: center;
    
}

.mision h2, .vision h2 {
    padding-bottom: 2rem;
    text-align: center;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1;
}

#mision, #vision{
    scroll-margin-top: 100px;
}


/* ===== Sección #clientes tal como estaba ===== */
#clientes {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    height: auto;
    background: linear-gradient( #FFE01B 0%, #FF7700 80%);
    padding: 40px 50px;
    position: relative;
    overflow: hidden;
}

#clientes .container {
    display: flex;
    width: 100%;
    max-width: 1500px;
    justify-content: flex-start; 
    align-items: center;
    padding: 20px;
}

#clientes .clientes-text {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    padding: 1.5rem;
    gap: 25px;
    text-align: start;
    width: 100%;
    max-width: 900px;
    flex: 1.5;
    filter: drop-shadow(10px 10px 5px rgba(0,0,0,0.2));
}

#clientes .clientes-text h2 {
    font-size: 5rem;
    margin-bottom: 20px;
    color: #fff;
}

#clientes .clientes-text h3 {
    font-size: 2.5rem;
    color: #fff;
}

.container .img-marcas {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   flex: 1;
}

.img-marcas img {
    width: auto;
    height: 35rem;
    max-width: none;
    border-radius: 25px;
    filter: grayscale(100%);
}

.clientes-text .button-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
}

.clientes-text .btn-content {
    background-color: #F3F5FB; /* Cambiar el color según prefieras */
    border: 1px solid #031A6B;
    color: #1b1b1e;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 15px; /* Bordes redondeados en los botones */
    font-size: 16px;
    transition: background-color 0.3s ease;
    width: 100%;
    height: 4rem;
    text-align: center;
}

.clientes-text .btn-content:hover {
    background-color: #031A6B;
    color:#F3F5FB;
}

/* ===== Expansión de la sección del carrusel ===== */
#carousel-expand-container {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease, opacity 0.5s ease;
    opacity: 0;
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#carousel-expand-container.expanded {
    max-height: 1000px; /* Ajustar según contenido */
    opacity: 1;
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* ===== Carrusel (ajuste para 5 tarjetas por slide) ===== */

/* El wrapper mantiene el overflow oculto */
.carousel-wrapper {
    width: 60%;
    overflow: hidden;
    position: relative;
    
}

/* El contenedor del carrusel se mostrará como flex */
.carousel {
    display: flex;
    transition: transform 0.5s ease-in-out;
    will-change: transform;
}

.carousel-wrapper .card-container {
    flex: 0 0 20%; /* 100% / 5 tarjetas = 20% */
    box-sizing: border-box;
    padding: 10px;
    text-align: center;
    
}

/* Los estilos de las tarjetas se mantienen iguales */
.carousel-wrapper .card-container:hover .card-content {
    transform: translate(-0.5rem, -0.5rem);
}

.carousel-wrapper .card-container:hover .back-card1 {
    transform: translate(0.5rem, 0.5rem);
}

.carousel-wrapper .card-content {
    position: relative; /* Puedes dejar absolute si lo deseas, pero en este caso se recomienda relative */
    background: #fff;
    color: #000;
    width: 100%;
    height: 80%;
    z-index: 2;
    transition: all 0.2s ease-in-out;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 25px;
    box-sizing: border-box;
    border: #031A6B 2px solid;
    filter: drop-shadow(5px 5px 5px rgba(0,0,0,0.5));
}

.carousel-wrapper .card-content img {
    width: 100%;
    object-fit: cover;
}

/* Estilos para el contenedor de botones */

.carousel-controls {
    display: flex;
    justify-content: center; /* Centra los botones horizontalmente */
    align-items: center;
    gap: 10px; /* Espacio entre botones */
    margin: 15px 0; /* Espacio respecto al carrusel */
    position: relative; /* Evita que se corte si está en otro contenedor */
    overflow: visible; /* Asegura que el hover no se corte */
}

/* Estilos generales de los botones */
.carousel-controls button {
    background-color:#031A6B;
    border: none;
    padding: 10px;
    border-radius: 50%; /* Forma redonda */
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
}

/* Íconos dentro de los botones */
.carousel-controls button i {
    font-size: 24px;
    color: white;
}

/* Efecto hover */
.carousel-controls button:hover {
    background-color: #fff;
    border: #000 2px solid;
    transform: scale(1.1);
}

.carousel-controls button:hover i{
    font-size: 24px;
    color: #000;
}

/* Efecto clic */
.carousel-controls button:active {
    transform: scale(0.9);
}



.elementor-widget-container{
    margin:40px 0px ;
    
}

.circle {
    font-size: 1.2em;
}

.circle.blue {
    color: #00B4D8; /* Azul */
}

.circle.red {
    color: #0077B6; /* Amarillo */
    padding: 0 0.1em; /* Espaciado horizontal */
}

.circle.yellow {
    color: #03045E; /* Rojo */
}

#aso-team{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    height: auto;
    width: 100%; 
    background-color: #F3F5FB;
    padding: 30px 0;
    padding-bottom: 0;
    overflow: hidden; /* Evita el desbordamiento */
    position: relative;
    scroll-margin-top: 80px;
}

#aso-team .container {
    width: 100%; /* Permite que el contenedor se adapte al ancho disponible */
    
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    

}

#aso-team .text-container {
    position: relative;    
    z-index: 2; /* Lo mantiene por encima de las tarjetas */
    margin-top: 50px;
    margin-bottom: 100px;
    width: 100%;
}

#aso-team .text-container h2{
    font-size: 4rem;  
    font-family: 'Kelson-Normal', sans-serif;
}

#aso-team .text-container h2 span {
    color: #00B4D8;
}


#aso-team .cards-container {
    margin-top: 50px;
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 0px 30px;
    min-height: 575px;
    
}

#aso-team .cards-container .card {
    position: relative;
    width: 100%;
    max-width: 25rem;
    height: 18.5rem; /* Altura inicial fija */
    background: #ffffff;
    margin:  5px;
    margin-top: 200px;
    border-radius: 25px;
    border: 1px solid #1b1b1e;
    display: flex;
    flex-direction: column;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.5);
    transition: height 0.4s ease-in-out; /* Transición de la altura */
    padding: 0px;
}

#aso-team .cards-container .card .card-img {
    position: relative;
    width: 300px;
    height: 300px;
    top: -190px;
    left: 50px;
    z-index: 1;
}

#aso-team .cards-container .card .card-img img {
    height: 320px;

}

#aso-team .cards-container .card .card-title {
    text-align: center;
    padding: 15px;
    position: relative;
    top: -175px;
    z-index: 2;
    width: 100%;
}

#aso-team .cards-container .card .card-content {
    position: relative;
    margin-top: -160px;
    padding: 15px 30px;
    text-align: start;
    line-height: 1.5;
    color: #514c4c;
    visibility: hidden;
    opacity: 0;
    max-height: 0;
    transition: opacity 0.4s ease-in-out, max-height 0.4s ease-in-out; /* Transición del contenido */
    
}

/* Estado expandido */
#aso-team .cards-container .card.expanded {
    height: auto; /* Altura automática al expandir */
}

#aso-team .cards-container .card.expanded .card-content {
    visibility: visible;
    opacity: 1;
    max-height: 1000px; /* Un valor suficientemente grande para mostrar el contenido */
    margin-bottom: 50px;
    transition-delay: 0.1s;
}

.btn-card {
    margin-top: 1rem;
    border: 0;
    display: inline-block;
    padding: 1rem 5rem;
    background: #fff;
    border: 2px solid #000;
    font-size: 14px;
    font-weight: 600;
    color: #000;
    border-radius: 20px;
    margin-right: 12px;
    transition: all 0.3s ease;
}

.btn-card:hover {
    background: #031A6B;
    color: #fff;
    cursor: pointer;
}

.carrusel-container {
    width: 100%; /* Sets the width to fill the available space */
    height: 100%; /* Sets the height to fill the available space */
    position: relative; /* Allows for absolute positioning of child elements */
    display: flex; /* Enables flexbox layout */
    flex-direction: column; /* Aligns items in a column (vertical stack) */
    justify-content: center; /* Centers content vertically */
    align-items: center; /* Centers content horizontally */
    background: linear-gradient(#0077B6 0%, #031A6B 80%);
    padding: 5rem 0; 
}

/* Styling for the title above the slider */
.slider-head {
    text-align: center;
    margin-bottom: 60px; /* Space below the title */
    max-width: 1000px;
    
    
}


.slider-head h1 {
    font-size: 4rem; /* Large font size for the title */
    color: #fff;
    margin-bottom: 20px;
}



.slider-head p{
    font-size: 1.8rem; /* Smaller font size for the description */
    color: #fff;
}

/* Main container for the slider - this holds the images and navigation buttons */
.slider-container {
    position: relative; /* Allows for absolute positioning of navigation buttons */
    width: 100%; /* Sets the slider width to 60% of the parent container */
    max-width: 1100px; /* Maximum width for larger screens */
    overflow: hidden; /* Hides the overflow content (only one image is visible at a time) */
    border-radius: 15px; /* Rounds the corners of the slider */
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1); /* Adds a subtle shadow for depth */
    
}



/* Flexbox container that holds all the slides */
.slider {
    display: flex; /* Enables flexbox layout to line up slides horizontally */
    transition: transform 0.4s ease-in-out; /* Smooth transition when sliding between images */
}

/* Each individual slide - takes up full width of the container */
.slide {
    min-width: 100%; /* Each slide takes up 100% of the slider container's width */
    height:600px; /* Fixed height for each slide */
    transition: transform 0.5s ease-in-out; /* Smooth transition when slides are changed */
}

/* Ensures that images fill the slide area while maintaining aspect ratio */
.slide img {
    width: 100%; /* Image width matches the slide width */
    height: 100%; /* Image height matches the slide height */
    object-fit: cover; /* Images are scaled to cover the entire slide, cropping if necessary */
    border-radius: 10px; /* Rounds the corners of the images to match the slider */
}

/* Common styling for both previous and next navigation buttons */
.prev, .next {
    position: absolute; /* Absolute positioning within the slider container */
    top: 50%; /* Centers the button vertically */
    transform: translateY(-50%); /* Offsets the button position by half its height */
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black background */
    color: white; /* White color for the arrow icons */
    border: none; /* Removes default button borders */
    width: 40px; /* Fixed width for the buttons */
    height: 40px; /* Fixed height for the buttons */
    cursor: pointer; /* Changes the cursor to pointer on hover */
    z-index: 10; /* Ensures buttons appear above the slider content */
    border-radius: 50%; /* Makes the buttons round */
    transition: background-color 0.3s ease; /* Smooth transition for background color on hover */
    display: flex; /* Enables flexbox for centering the arrow inside the button */
    justify-content: center; /* Centers arrow horizontally */
    align-items: center; /* Centers arrow vertically */
    padding: 0; /* Removes any default padding */
}

/* Positioning the previous button to the left */
.prev {
    left: 10px; /* Positions the button 10px from the left edge */
}

/* Positioning the next button to the right */
.next {
    right: 10px; /* Positions the button 10px from the right edge */
}

/* Hover effect for navigation buttons */
.prev:hover, .next:hover {
    background-color: rgba(0, 0, 0, 0.8); /* Darkens the button background on hover */
}

/* Container for the dot indicators below the slider */
.dots-container {
    margin-top: 20px; /* Space above the dots */
    display: flex; /* Enables flexbox layout for horizontal alignment */
    justify-content: center; /* Centers the dots horizontally */
    align-items: center; /* Centers the dots vertically */
}

/* Common styling for each individual dot */
.dot {
    height: 15px; /* Fixed height for the dots */
    width: 15px; /* Fixed width for the dots */
    margin: 0 5px; /* Spacing between the dots */
    background-color: rgba(255, 255, 255, 0.5); /* Semi-transparent white background */
    border-radius: 50%; /* Makes the dots round */
    display: inline-block; /* Ensures dots are inline */
    cursor: pointer; /* Changes cursor to pointer on hover */
    transition: background-color 0.3s ease; /* Smooth transition for background color on hover */
}

/* Styling for the active dot - indicates the current slide */
.dot.active {
    background-color: rgba(255, 255, 255, 1); /* Solid white background for the active dot */
}

.gallery-teaser {
    text-align: center;
    padding: 20px 0;
    margin-top: 30px;
    /* Espacio después del carrusel */
}

.gallery-teaser p {
    font-size: 1.8rem;
    color: rgba(255, 255, 255, 0.9);
    margin: 0 0 15px;
    font-weight: 400;
    line-height: 1.5;
}

.btn-gallery {
    display: inline-block;
    padding: 12px 30px;
    background: #00B4D8;
    /* Rojo vibrante, coherente con el hero */
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 50px;
    /* Redondeado como el botón del hero */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
    margin: 0;
}

.btn-gallery:hover {
    background: #fff;
    /* Cambia a amarillo en hover */
    color: #000;
    /* Texto azul oscuro para contraste */
    transform: scale(1.05);
    /* Ligero aumento */
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
}

#contactanos{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    height: auto;
    background: linear-gradient( #FFE01B 0%, #FF7700 80%);
    padding: 100px 50px; /* Aumentamos el padding vertical */
    position: relative; /* Necesario para posicionar la imagen de manera absoluta */
    overflow: hidden; /* Evita que la imagen se desborde de la sección */
}

#contactanos .container {
    width: 100%;
    max-width: 1400px;
    display: flex;
    justify-content: flex-start; /* Alinea el contenido a la derecha */
    align-items: center;
    position: relative; /* Necesario para posicionar la imagen de manera absoluta */
    padding: 20px;
}

#contactanos .contacto-text {
    display: flex;
    flex-direction: column;
    align-items: center; /* Alinea el contenido a la derecha */
    justify-content: center;
    padding: 1.5rem;
    gap: 25px;
    text-align: center; /* Alinea el texto a la derecha */
    width: 100%; /* Limita el ancho del texto */
    max-width: 800px; /* Ancho máximo del texto */
    z-index: 2; /* Asegura que el texto esté por encima de la imagen */
}

#contactanos .contacto-text h2 {
    font-size: 6.5rem; /* Tamaño grande para el título */
    margin-bottom: 20px; /* Espacio entre el título y el párrafo */
    color: #fff; /* Color del título */
}

#contactanos .contacto-text h3 {
    font-size: 2.5rem; /* Tamaño adecuado para el párrafo */
    color: #fff; /* Color del texto */
}



.container .img-contact {
    position: absolute; /* Permite superponer la imagen */
    left: 50%; /* Mueve la imagen hacia la izquierda */
    top: 65%; /* Centra verticalmente */
    transform: translateY(-55%); /* Ajusta el centrado vertical */
    z-index: 1; /* Asegura que la imagen esté por encima del contenido */
}

.img-contact img {
    width: 45rem; /* Ajusta el tamaño de la imagen */
    height: auto;
    max-width: none; /* Permite que la imagen sea más grande que su contenedor */
    border-radius: 25px;
     
}

.contacto-text .button-container{
    position: relative;
    width: 20rem; /* Ancho del botón */
    height: 5rem; /* Alto del botón */
    margin-top: 15px;
    
}

.contacto-text .btn-content{
    border-radius: 25px; /* Bordes redondeados */
    background-color: #031A6B;
    color: #fff;
    border: 0;
}


.contacto-text .button-container:hover .btn-content {
    background-color: #fff;
    color: #000000; /* Desplaza el botón hacia arriba y la izquierda */
    border: 0.15rem solid #000;
}

/* Contenedor principal */
.whatsapp-wrapper {
    position: fixed;
    bottom: 40px;
    right: 40px;
    z-index: 1000;
    display: flex;
    flex-direction: row-reverse; /* Invierte el orden de los elementos */
    align-items: center;
    pointer-events: none;
}

/* Botón principal (mismo estilo) */
.whatsapp {
    position: relative;
    width: 80px;
    height: 80px;
    background-color: #25d366;
    color: #FFF;
    border-radius: 50%;
    font-size: 30px;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: transform 0.3s ease;
    pointer-events: auto;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Contenedor del texto - modificado para izquierda */
.whatsapp-container {
    position: absolute;
    background-color: #ffffff;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: flex-start; /* Alineación a la izquierda */
    width: 80px;
    height: 80px;
    transition: all 0.3s ease;
    z-index: 2;
    overflow: hidden;
    right: 0; /* Cambiado de left a right */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Texto del botón - modificado para izquierda */
.whatsapp-text {
    color: #000000;
    font-size: 1rem;
    font-family: Arial, sans-serif;
    font-weight: 500;
    margin-left: 90px; /* Cambiado de margin-right a margin-left */
    white-space: nowrap;
    opacity: 0;
    transform: translateX(20px); /* Dirección de la animación invertida */
    transition: all 0.3s ease;
}

/* Efectos hover modificados */
.whatsapp:hover + .whatsapp-container {
    width: 280px;
    
}

.whatsapp:hover + .whatsapp-container .whatsapp-text {
    opacity: 1;
    transform: translateX(-62px);
    transition-delay: 0.1s;
}

/* Ícono y demás estilos se mantienen igual */
.bxl-whatsapp {
    font-size: 3.5rem;
    transition: transform 0.3s ease;
}

.whatsapp:hover {
    transform: scale(1.05);
}

.whatsapp:hover .bxl-whatsapp {
    transform: rotate(15deg);
    
}


footer {
    background: #001524;
    color: #fff;
    padding: 40px 0;
    padding-bottom: 0;
}

.containfoot {
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 5rem;
    padding: 0 40px;
}

.footer-top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    justify-content: center;
    align-items: center;
    gap: 6rem;
    padding-bottom: 20px;
}

.visitanos, .enlaces, .info-contacto, .social-neworks {
    flex: 1;
    min-width: 300px;
}

.visitanos  {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.enlaces{
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.info-contacto .datos-contacto{
    margin-top: 4rem;
    
}

.title-visitanos h3, .title-enlaces h3 {
    font-size: 1.8rem;
    margin-bottom: 10px;
    border-bottom: 2px solid #f0a500;
    display: inline-block;
    padding-bottom: 5px;
}

.title-visitanos h4 {
    font-size: 1.5rem;
    margin: 10px 0 5px;
    color: #ffffff;
}

p {
    font-size: 1.04rem;
    margin: 5px 0;
    line-height: 1.5;
}

.menu-enlaces ul {
    list-style: none;
    padding: 0;
}

.menu-enlaces ul li {
    margin: 8px 0;
}

.menu-enlaces ul li a {
    text-decoration: none;
    color: #ddd;
    transition: color 0.3s ease;
}

.menu-enlaces ul li a:hover {
    color: #00B4D8;
}

.datos-contacto i {
    color: #ffffff;
    margin-right: 1px;
    font-size: 1.5rem;
}

.datos-contacto li {
    margin: 8px 0;
    font-size: 1.2rem;
}

.datos-contacto li a {
    text-decoration: none;
    color: #ddd;
    transition: color 0.3s ease;
}

.datos-contacto li a:hover {
    color: #00B4D8;
}

.social-neworks {
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.logo-aso img {
    max-width: 15rem;
    margin-bottom: 10px;
}

.redes-sociales ul {
    list-style: none;
    display: flex;
    gap: 15px;
    padding: 0;
}

.redes-sociales ul li a {
    color: #fff;
    font-size: 3rem;
    transition: color 0.3s ease;
}

.redes-sociales ul li a:hover {
    color: #00B4D8;
}

.footer-bottom {
    text-align: center;
    margin-top: 20px;
    padding-top: 10px;
    border-top: 1px solid #444;
    font-size: 14px;
    color: #bbb;
}

.footer-bottom {
    padding: 15px 0;
    text-align: center;
    color: #fff; /* Texto en blanco para contraste */
    font-size: 14px;
   margin: 0;
}

.footer-bottom .containfoot {
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.copy-right p {
    margin: 0;
    font-weight: 300; /* Texto más liviano */
    letter-spacing: 0.5px;
}

.copy-right p:hover {
    color: #f39c12; /* Cambio de color al pasar el cursor */
    transition: color 0.3s ease;
}


@media (max-width: 1536px){

    header.scrolled {
        padding: 0.05rem 4%;   
    }

    .img-hero {
        max-height: 38rem;
        
    }

    #hero .menu-hero{
        padding: 2rem 3rem;
        padding-bottom: 3rem;
    }

    .cliente-text .button-container .btn-content{
        display: flex;
        width: 100px; /* Ancho del botón */
        height: 5rem; /* Alto del botón */
        margin-top: 15px; 
    }

    .slider-container{
        min-width: 80%;
    }

    .button-container {
        margin: 0px;
      }

    .visitanos{
        margin-right: 1rem;
    }

    .containfoot{
        gap: 1rem;
    }
    
    

}

@media (max-width: 1400px){
    header.scrolled {
        padding: 0.05rem 5%;
    }


    #contactanos {
        padding: 100px 0;
        padding-left: 0;
    }


    .visitanos{
        margin-right: 2rem;
    }

    .containfoot{
        gap: 1rem;
    }

}

/* Responsive Design */
/* Medium Devices */
@media (max-width: 1200px) {
    header {
        padding: 20px 4%;
    }
    header.scrolled{
        width:90%;
    }

    .img-hero {
        height: 40rem;  /* Ajusta la altura que desees */
    }
    
    
    #historia .container{
        padding: 50px;
    }

    .historia-text p {
        font-size: 1.4rem;
    }

    .container .historia-aso{
        height: 0%
    }

    

    #aso-team .cards-container .card {
        max-width: 20rem;
        height: 18.5rem; /* Altura inicial fija */
       
    }

    .container .mision-vision {
        height: 0%;
    }
    
    #aso-team .cards-container .card .card-img {
        position: relative;
        width: 250px;
        height: 250px;
        top: -155px;
        left: 35px;
        z-index: 1;
    }
    
    #aso-team .cards-container .card .card-img img {
        height: 100%;
        width: auto
        
    }
    
    #aso-team .cards-container .card .card-title {
        text-align: center;
        padding: 20px;
        position: relative;
        top: -140px;
        z-index: 2;
        width: 100%;
    }
    .card-title h3 {
        font-size: 1.5rem;
    }
    
    

    #contactanos .contacto-text {
        max-width: 600px; /* Ancho máximo del texto */
       
    }
    
    #contactanos .contacto-text h2 {
        font-size: 4.5rem; /* Tamaño grande para el título */
    }
    
    #contactanos .contacto-text h3 {
        font-size: 2.5rem; /* Tamaño adecuado para el párrafo */
    }

    .container .img-contact {      
        left: 45%; /* Mueve la imagen hacia la izquierda */
        top: 70%; /* Centra verticalmente */
    }
    
    .img-contact img {
        width: 40rem; /* Ajusta el tamaño de la imagen */
    }

    .containfoot{
        padding: 0 25px;
        gap: 0;
    }
    .social-neworks{
        margin: 0;
    }

    .logo-aso img {
        margin-top: 30px;
      }

}

@media (max-width: 1175px) {
    .logo img {
        width: 100px;
        height: auto;
    }
    .navlist a {
        margin: 0 25px;
    }
    .btn {
        padding: 11px 23px;
    }

    header.scrolled{
        width:90%;
    }

    .img-hero {
        height: 35rem;  /* Ajusta la altura que desees */ 
    }

    
    

    #historia .container{
        padding: 50px;
    }
    
    .historia-card{
        padding: 1rem 3rem;
        text-align: justify;
    }

    .historia-card p {
        font-size: 1.55rem;
    }

    .mision-vision .mision h2{
        font-size: 2.5rem;
        padding-bottom: 1rem;
    }
    .mision-vision .mision p{
        font-size: 1rem;
        margin: 0;
    }
    .mision-vision .vision h2{
        font-size: 2.5rem;
        padding-bottom: 1rem;
    }
    .mision-vision .vision p{
        font-size: 1rem;
        margin: 0;
    }

    .slider-container{
        min-width: 80%;
    }
    .carrusel-container{
        padding: 8rem 2rem;
    }


    #clientes .text-content h2{
        font-size: 3.5rem;
    }
    #clientes .text-content h3{
        font-size: 2rem;
    }

    #contactanos .contacto-text {
        max-width: 600px; /* Ancho máximo del texto */
       
    }
    
    #contactanos .contacto-text h2 {
        font-size: 3rem; /* Tamaño grande para el título */
    }
    
    #contactanos .contacto-text h3 {
        font-size: 1.8rem; /* Tamaño adecuado para el párrafo */
    }

    .container .img-contact {      
        left: 50%; /* Mueve la imagen hacia la izquierda */
        top: 70%; /* Centra verticalmente */
    }
    
    .img-contact img {
        width: 30rem; /* Ajusta el tamaño de la imagen */
    }
    .carousel-wrapper {
        width: 50%;
    }

    
}

/* Small Devices */
@media (max-width: 940px) {
    header,
    header.scrolled {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        margin: 0;
        border-radius: 0;
        padding: 15px 8%;
        background: #fff;
        box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
        color: #000;
        opacity: 1; /* Siempre visible */
        transition: none; /* Deshabilita las transiciones */
    }
    
    /* Ocultamos el placeholder, ya que no se necesita para móviles */
    .header-placeholder {
        display: none;
    }
    
    /* Ajustamos el menú responsive */
    #menu-icon {
        display: block;
    }
    
    .navlist {
        position: fixed;  /* Lo cambiamos a fixed para que se superponga */
        top: 0;
        right: -100%;
        width: 100%;
        height: 100vh;
        backdrop-filter: blur(32px);
        display: flex;
        align-items: center;
        flex-direction: column;
        padding-top: 180px;
        transition: right 0.7s ease;
        z-index: 1000;
    }
    
    .navlist a {
        display: block;
        padding: 0;
        margin-bottom: 50px;
        font-size: 1.7rem;
        color: #fff;
    }
    
    .navlist.open {
        right: 0;
    }
    
    header .button-container{
        display: none;
    }
    
    .img-hero {
        height: 30rem;  /* Ajusta la altura que desees */
    }
    
    .container .menu-hero{
        gap: 1rem;
    }

    .historia-aso{
        display: flex;
        flex-direction: row;
    }

    .img-historia h1{
        font-size: 3.8rem;
    }
    
    .historia-card{
        padding: 1rem;
    }

    .historia-text p {
        font-size: 1rem;
    }

    .mision-vision .mision h2{
        font-size: 2rem;  
    }

    .mision-vision .mision p{
        font-size: 0.9rem;
        margin: 0;
    }

    .mision-vision .vision h2{
        font-size: 2rem;
    }

    .mision-vision .vision p{
        font-size: 0.9rem;
        margin: 0;
    }

    #aso-team .container{
        padding: 0;
    }
    
    .carousel-wrapper {
        width: 40%;
    }

    .elementor-widget-container{
        margin-bottom: 0;
    }

    #aso-team .cards-container{
        margin-top: 0;
    }

    #aso-team .cards-container .card{
        margin-bottom: 0;
    }

    #aso-team .text-container h2 {    
        padding: 0 1rem;
    }
    .carrusel-container{
        padding: 5rem 2rem;
    }

    .slider-container{
        min-width: 90%;
        aspect-ratio: 16 / 9;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #contactanos .container {
        justify-content: center; /* Alinea el contenido a la derecha */
    }


    .container .img-contact {      
        visibility: hidden;
    }

    #contactanos .contacto-text {
        align-items: center; /* Alinea el contenido a la izquierda */
        text-align: center; /* Alinea el texto a la izquierda */
        max-width: 800px;
    }
    
    #contactanos .contacto-text h2 {
        font-size: 4rem; /* Tamaño grande para el título */
    }
    
    #contactanos .contacto-text h3 {
        font-size: 2rem; /* Tamaño adecuado para el párrafo */
    }

    .whatsapp-wrapper {
        display: none;
    }

    
}

@media(max-width: 720px){
    .container .btn-content {
        padding: 0.5rem;
        font-size: 1em;
        height: 3rem;
        border: 0;
    }

    #historia .container {
        padding: 2rem;
      }
    
    #hero .menu-hero {
        padding: 1rem 2rem;
    }
    .historia-aso {
        display: flex;
        flex-direction: column;
      }
    

    .historia-card {
        padding: 1.5rem;
        text-align: justify;
      }

      .mision-vision .mision-card, .vision-card {
        padding: 1rem;
        justify-content:start;
     
      }

      .mision-vision .mision h2,  .mision-vision .vision h2 {
        font-size: 2rem;
        width: 150px;
      }

      .mision-card .mision, .vision-card .vision {
        padding: 1rem;
        color: black;
        border-radius: 25px;
        text-align: start;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    #clientes .container {
        flex-direction: column;
    }
    
    #clientes .container {
        flex-direction: column;
    }

    #clientes .clientes-text {
        align-items: center;
        text-align: center;
    }
    
    .container .img-marcas {
        margin-top: 2rem;
    }
    
}

/* Extra Small Devices */
@media (max-width: 450px) {
    #hero{
        padding-bottom: 0;
    }

    .img-hero {
        height: 20rem;  /* Ajusta la altura que desees */
    }
    
    #hero .menu-hero{
        display: none;
    }

    .container .menu-hero a{
        font-size: 0.6rem;
        padding:5px;
    }

    #historia .container {
        padding: 25px 15px;
        gap: 30px;
    }

    .container .historia-aso {
        flex-direction: column;
        height: auto;
        gap: 1rem;
    }

    .img-historia {
        width: 100%;
        min-height: 250px;
        padding: 20px;
        align-items: flex-start;
        text-align: left;
    }

    .img-historia h1 {
        font-size: 2.8rem;
        line-height: 1.1;
    }

    .historia-card {
        flex: none;
        width: 100%;
        padding: 2rem;
    }

    .historia-text p {
        font-size: 1.4rem;
    }

    .container .mision-vision {
        flex-direction: column;
        height: auto;
        gap: 1rem;
    }

    .mision-vision .mision-card, 
    .mision-vision .vision-card {
        width: 100%;
        padding: 1.5rem;
    }

    .mision h2, 
    .vision h2 {
        font-size: 2rem;
        padding-bottom: 1rem;
    }

    #mision, #vision {
        scroll-margin-top: 70px;
    }
  
    #clientes {
        padding: 40px 20px;
    }

    #clientes .container {
        flex-direction: column;
        gap: 30px;
    }

    #clientes .clientes-text {
        align-items: center;
        text-align: center;
        padding: 0;
        gap: 15px;
    }

    #clientes .clientes-text h2 {
        font-size: 2.8rem;
        margin-bottom: 10px;
        line-height: 1.2;
    }

    #clientes .clientes-text h3 {
        font-size: 1.6rem;
        line-height: 1.3;
    }

    .carousel-wrapper {
        width: 35%;
      }

    .button-container .btn-content {
        padding: 12px 25px;
        font-size: 1.4rem;
    }

    .img-marcas img {
        height: auto;
        width: 100%;
        max-width: 350px;
    }

    .title_container{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 100%;

    }
    #aso-team .cards-container .card .card-img {
        left: 35px;
    }

    #aso-team .text-container h2 {
        font-size: 3rem;
    
    }

    .slider-head {
        margin-bottom: 0;
      }

    .slider-head p {
        font-size: 1.5rem;
        color: #fff;
    }

    .gallery-teaser {
        text-align: center;
        padding: 20px 0;
        margin-top: 30px;
        display: flex;
        flex-direction: column;
        align-items: center;
      }

    .gallery-teaser p {
        font-size: 1.8rem;
        line-height: 1.2;
        width: 90%;
    }

    .whatsapp-wrapper, .slider-container, .dots-container{
        display: none;
    }
    
    .enlaces {
        margin-top: 30px;
        gap: 0;
    }

}
