/* assets/css/style.css */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap');

*{
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0); /* QUITAR RECUADRO AZUL A LOS ELEMENTOS */
}

body {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    overflow-x: hidden;
}

header {
    width: 100%;
    background-color: #fff;
}

.top-bar {
    display: flex;
    justify-content: flex-end;
    padding: 20px 0px;
    background-color: #FFFFFF;
    font-size: 14px;
    color: #333;
    width: 90%;
}

.contact-info {
    display: flex;
    align-items: center;
    gap: 15px;
}

.social-icons {
    display: flex;
    gap: 10px;
}

.social-circle {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    background-color: #e0e0e0;
    border-radius: 50%;
    color: #555;
    text-decoration: none;
}

.social-circle i {
    font-size: 20px;
}

.phone, .email {
    display: flex;
    gap: 5px;
}

.phone-icon, .mail-icon {
    color: #007bff;
    font-size: 18px;
}

.phone .blue-text, .email .blue-text {
    color: #007bff;
    font-weight: bold;
}

.phone div, .email div {
    line-height: 1.2;
}

.divider {
    width: 1px;
    height: 40px;
    background-color: #ccc;
    margin: 0 15px;
}

/* Estilo para el desplegable de usuario */
#user-menu .submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    list-style: none;
    padding: 10px 0;
    min-width: 200px;
}

#user-menu:hover .submenu {
    display: block;
}

#user-menu a {
    text-decoration: none;
    color: #333;
}

#user-menu a:hover {
    color: #007bff;
}

.navbar {
    border-top: 1px solid #ccc;
}

.navbar-main {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 85%;
    margin: 0 auto;
}

.menu, .menu-right {
    list-style: none;
    display: flex;
    gap: 20px;
    margin: 0;
    padding: 20px 0;
}

.menu-right {
    justify-content: flex-end;
}

.navbar ul li {
    position: relative;
}

.navbar ul li a {
    text-decoration: none;
    color: #333;
    font-size: 16px;
    padding: 5px 10px;
}

.navbar ul li a:hover {
    color: #007bff;
}

.navbar ul li a.active {
    color: #007bff;
}

/* COLOR ICONOS */

.navbar ul li i {
    font-size: 20px;
    color: #333;
    padding: 5px;
}

.navbar ul li i:hover {
    color: #007bff;
}

.navbar ul li a.search-button {
    background-color: #ffc107;
    border-radius: 4px;
    color: #000;
    font-weight: bold;
    padding: 8px 12px;
}

.navbar ul li a.search-button:hover {
    background-color: #007bff;
    color: #FFF;
}

.dropdown .submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    list-style: none;
    padding: 10px 0;
    min-width: 200px;
}

.dropdown:hover .submenu {
    display: block;
}

/* Agregar position: absolute para que los submenús no desplacen el contenido */
.dropdown {
    position: relative;
}

.submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    list-style: none;
    padding: 10px 0;
    min-width: 200px;
    z-index: 100;
}

.submenu li {
    padding: 10px 15px;
}

.submenu li a {
    text-decoration: none;
    color: #333;
    display: block;
}


/* Menú hamburguesa */
.hamburger-menu {
    display: none;
    cursor: pointer;
}

.hamburger-menu i {
    font-size: 24px;
}

/* Estilo básico para el menú */
.mobile-menu {
    width: 100%;
    max-width: 400px;
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    position: fixed;
    top: 0;
    right: -100%;
    background-color: white;
    box-shadow: -2px 0px 10px rgba(0, 0, 0, 0.3);
    transition: right 0.3s ease-in-out;
    z-index: 1000;
}

/* Evitar que la página se desplace cuando el menú esté abierto */
body.menu-open {
    overflow: hidden;
}

/* Menú visible */
.mobile-menu.active {
    right: 0;
}

/* Ícono de cerrar */
.mobile-menu .close-menu {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 30px;
    cursor: pointer;
    color: #333;
    z-index: 100;
}

.mobile-menu .menu {
    list-style: none;
    padding: 0;
    margin: 50px 0 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.mobile-menu .menu li a {
    text-decoration: none;
    color: #333;
    font-size: 18px;
    padding: 10px 20px;
    width: 100%;
    display: block;
    border-bottom: 1px solid #eee;
}

.mobile-menu .menu li a:hover {
    background-color: white;
    color: #007bff;
}

.mobile-menu .menu li a i {
    margin-right: 10px;
}

.mobile-menu .menu li a.active {
    color: #007bff;
}

/* Estilos para los íconos en el menú */
.mobile-menu .menu li a i {
    font-size: 20px;
    color: #007bff;
}

/* Estilos para los íconos en la barra inferior */
.mobile-icons {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 10px 0;
    padding-top: 30px;
    list-style: none;
}

.mobile-icons li {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border-bottom: 1px solid #eee;
}

.mobile-icons li a {
    font-size: 18px;
    color: #007bff;
    display: flex;
    align-items: center;
    text-decoration: none;
}

.mobile-icons li a i {
    margin-right: 10px;
}

/* Hover para los elementos de iconos */
.mobile-icons li a:hover {
    background-color: white;
    color: #007bff;
}

/* Menú móvil */
.menu-item {
    display: block;
    padding: 10px 20px;
    border-bottom: 1px solid #eee;
}

.menu-item a {
    text-decoration: none;
    color: #333;
}

.menu-item a:hover {
    color: #007bff;
}

/* Opciones que inicialmente están ocultas */
#cart-item, #cart-mobile #user-item, #profile-item, #logout-item {
    display: none; /* Por defecto se ocultan */
}

/* Estilo para el elemento de usuario con información de perfil */
#user-name {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  
  #user-name i {
    font-size: 20px;
  }
  
  /* Estilos para la información de perfil */
  .profile-info {
    font-size: 14px;
    color: #666;
    display: block;
    margin-top: 2px;
  }

/* Responsivo */
@media (max-width: 768px) {
    .navbar-main {
        flex-direction: column;
        align-items: flex-start;
    }

    .menu {
        flex-direction: column;
        width: 100%;
    }

    .dropdown .submenu {
        position: static;
        display: none;
        background: transparent;
        box-shadow: none;
    }

    .dropdown.active .submenu {
        display: block;
    }

    .submenu li a {
        padding-left: 20px;
    }

    .mobile-icons {
        display: flex;
        flex-direction: column;
        gap: 15px;
        padding: 10px 0;
        padding-top: 30px;
        list-style: none;
    }

}


/*======================= SECCIÓN HERO =======================*/
.hero {
    display: flex;
    justify-content: left;
    align-items: center;
    padding: 40px 100px;
    background-image: url('../images/inicio/Hero.png'); /* Imagen de fondo */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    height: 600px;
}

/* Contenido del Hero */
.hero-content {
    max-width: 50%;
    color: #fff; /* El texto será blanco para contrastar con la imagen de fondo */
    text-align: left;
}

.hero-content h1 {
    font-size: 44px;
    font-weight: bold;
    color: #003366; /* Azul marino */
    margin-bottom: 10px;
}

.hero-content .highlight-text {
    font-size: 20px;
    font-weight: bold;
    color: #d32f2f; /* Rojo */
    margin-bottom: 20px;
}

.hero-content .description {
    font-size: 16px;
    color: #000000; /* Negro */
    line-height: 1.5;
    margin-bottom: 30px;
}

.cta-button {
    display: inline-flex;
    align-items: center;
    padding: 12px 20px;
    background-color: #f1b300; /* Amarillo oscuro */
    color: #003366; /* Azul marino */
    text-decoration: none;
    font-weight: bold;
    border-radius: 5px;
    font-size: 16px;
}

.cta-button:hover {
    background-color: #007bff;
    color: #FFF;
}

.cta-button i {
    margin-left: 10px;
    font-size: 24px; /* Ajusta el tamaño del ícono */
}

/*======================= SECCIÓN TARJETAS =======================*/
.cards-section {
    display: flex;
    justify-content: center;
    gap: 20px; /* Espacio entre las tarjetas */
    padding: 40px;
    flex-wrap: wrap; /* Permite que las tarjetas se ajusten a varias filas */
    background-color: #f9f9f9;
}

/* Estilo de cada tarjeta */
.card {
    background-color: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 4px 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    padding: 20px;
    flex: 1 1 calc(33.333% - 20px); /* Se adapta a 3 columnas en escritorio */
    max-width: 400px; /* Máximo ancho por tarjeta */
    display: flex;
    flex-direction: column; /* Asegura que el contenido se apile verticalmente */
    align-items: center; /* Centra horizontalmente */
    justify-content: center; /* Centra verticalmente */
    text-align: center; /* Alinea el texto al centro */
    transition: transform 0.3s ease;
    box-sizing: border-box;
    height: auto; /* Ajusta el alto según el contenido */
}

/* Efecto hover en la tarjeta */
.card:hover {
    transform: translateY(-10px); /* Efecto al pasar el cursor sobre la tarjeta */
}

/* Estilo del icono */
.card-icon {
    font-size: 40px;
    color: #007bff; /* Azul marino */
}

/* Estilo del contenido de las tarjetas */
.card-content h3 {
    font-size: 20px;
    font-weight: bold;
    color: #000066; /* Azul marino */
    margin-bottom: 5px;
}

.card-content p {
    font-size: 14px;
    color: #000000; /* Texto en negro */
}

/* Responsivo: dos tarjetas por fila en tablets */
@media (max-width: 1024px) {
    .card {
        flex: 1 1 calc(50% - 20px);
    }
}

/* Responsivo: una tarjeta por fila en móviles */
@media (max-width: 768px) {
    .card {
        flex: 1 1 100%;
    }
    
    .card-content {
        text-align: center;
    }
}

/*======================= SECCIÓN BRAND-LOGO INICIO =======================*/
/* Sección de logos */
.brand-logos-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px; /* Espacio entre los logos */
    padding: 20px 0;
    background-color: #f9f9f9; /* Fondo suave para la sección */
}

/* Estilo de cada logo */
.brand-logo {
    width: 150px; /* Ancho fijo para los logos */
    height: auto; /* Mantiene la proporción del logo */
    transition: transform 0.3s ease;
}

.brand-logo:hover {
    transform: scale(1.1); /* Efecto de aumento al pasar el cursor sobre el logo */
}

/*======================= Sección de bienvenida =======================*/
.welcome-section {
    display: flex;
    align-items: center; /* Centrar verticalmente */
    justify-content: space-between; /* Distribuir el espacio entre los elementos */
    padding: 40px;
    background-color: #f9f9f9;
}

.welcome-image {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Imagen de la sección */
.welcome-image img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

/* Texto de bienvenida */
.welcome-text {
    flex: 1;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.welcome-title {
    color: #000066; /* Azul marino */
    font-size: 36px;
    margin-bottom: 10px;
}

.welcome-bold {
    color: #007bff; /* Azul */
    font-weight: bold;
    margin-bottom: 10px;
}

.welcome-description {
    color: #000;
    margin-bottom: 20px;
}

.welcome-list {
    list-style: none;
    padding: 0;
    margin-bottom: 20px;
}

.welcome-list li {
    align-items: center;
    margin-bottom: 10px;
}

.welcome-list i {
    color: #007bff; /* Azul */
    margin-right: 10px;
}

/* Botón de bienvenida */
.welcome-button {
    background-color: #fbbd08; /* Amarillo oscuro */
    color: #000066; /* Azul marino */
    padding: 10px 20px; /* Ajusta los valores para cambiar el tamaño */
    border: none;
    border-radius: 5px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    width: auto; /* Deja que el ancho se ajuste al contenido */
    max-width: 300px; /* Opcional: Limita el ancho máximo */
    white-space: nowrap; /* Evita que el texto se envuelva */
}

.welcome-button i {
    margin-left: 10px; /* Espaciado entre texto y ícono */
    font-size: 24px;
}

.welcome-button:hover {
    background-color: #007bff;
    color: #FFF;
}

/*======================= Sección de tipos de enseñanza =======================*/
.teaching-types-section {
    padding: 40px;
    background-color: #f9f9f9;
}

.teaching-types-title {
    color: #000066; /* Azul marino */
    font-size: 24px;
    text-align: center;
    margin-bottom: 20px;
}

/* Tarjetas de tipos de enseñanza */
.teaching-types-cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* Centra las tarjetas cuando hay menos elementos */
    gap: 20px; /* Espaciado uniforme entre tarjetas */
}

/* Tarjeta individual */
.teaching-type-card {
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    padding: 20px;
    flex: 1 1 calc(33.333% - 20px); /* Se adapta a 3 columnas */
    max-width: 400px; /* Tamaño máximo de cada tarjeta */
    display: flex;
    flex-direction: column; /* Asegura que el contenido esté en columna */
    align-items: center; /* Centra horizontalmente */
    justify-content: center; /* Centra verticalmente */
    text-align: center; /* Alinea el texto */
    transition: transform 0.3s ease;
    height: auto;
    min-height: 200px; /* Altura mínima para evitar tarjetas demasiado pequeñas */
    box-sizing: border-box;
}

/* Icono centrado */
.teaching-type-card i {
    color: #007bff;
    font-size: 40px;
    margin-bottom: 10px; /* Espaciado entre icono y texto */
}

/* Texto dentro de la tarjeta */
.teaching-type-text {
    width: 100%;
}

.teaching-type-text h3 {
    color: #000066; /* Azul marino */
    font-size: 18px;
    margin-bottom: 5px;
}

.teaching-type-text p {
    color: #000;
    font-size: 14px;
}

/* Efecto hover */
.teaching-type-card:hover {
    transform: translateY(-10px);
}

/* Responsivo: dos tarjetas por fila en tablets */
@media (max-width: 1024px) {
    .teaching-type-card {
        flex: 1 1 calc(50% - 20px);
    }
}

/* Responsivo: una tarjeta por fila en móviles */
@media (max-width: 768px) {
    .teaching-type-card {
        flex: 1 1 100%;
    }
}


/*======================= SECCIÓN FORMACIÓN =======================*/
.formation-list {
    padding: 50px 20px;
    padding-top: 0;
    text-align: center;
}

.formation-title {
    font-size: 36px;
    font-weight: bold;
    color: #000;
    margin-bottom: 20px;
    margin-top: 0;
}

.formation-subtitle {
    font-size: 16px;
    font-weight: thin;
    color: #000066;
    margin-top: 80px;
    margin-bottom: 0px;
}

/* Estilos de las tarjetas */
.formation-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columnas */
    gap: 20px;
    width: 80%;
    margin: 0 auto;
}

.formation-item {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    position: relative;
    text-align: left;
}

.formation-image {
    position: relative;
    width: 100%;
    height: 200px;
}

.formation-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-icon {
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: #fbbd08;
    padding: 10px;
    border-radius: 30%;
    color: #fff;
    cursor: pointer;
}

.cart-icon:hover {
    background-color: #007bff;
}

.formation-text {
    padding: 20px;
}

.formation-initials {
    font-size: 14px;
    font-weight: bold;
    color: #000066;
}

.formation-card-title {
    font-size: 14px;
    font-weight: bold;
    color: #000;
    margin: 10px 0;
}

.formation-rating {
    display: flex;
    align-items: center;
    color: #fbbd08;
}

.formation-rating i {
    margin-right: 5px;
}

.formation-rating-number {
    font-size: 14px;
    color: #aaa;
}

.formation-price {
    font-size: 18px;
    font-weight: bold;
    color: #000;
    margin: 10px 0;
}

.formation-divider {
    border: 0;
    border-top: 1px solid #ddd;
    margin: 10px 0;
}

.formation-duration {
    font-size: 14px;
    color: #555;
}

.formation-duration span {
    display: inline-block; /* Hace que cada palabra sea un bloque en línea */
    margin-right: 20px; /* Ajusta el espacio entre las palabras */
}

/* Clase para ocultar elementos sin afectar la estructura */
.search-hidden {
    visibility: hidden;
    position: absolute;
    opacity: 0;
    height: 0;
    width: 0;
    overflow: hidden;
}

@media (max-width: 768px) {
    .formation-title {
        font-size: 28px;
    }
    .formation-cards {
        display: grid;
        grid-template-columns: repeat(4, 1fr); /* 4 columnas */
        gap: 20px;
        width: 100%;
        margin: 0 auto;
    }
}

/* SECCIÓN CON FORM */
.seccion-principal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    background-color: #333;
    color: white;
    padding: 50px;
}

.contenido-texto {
    width: 100%;
    max-width: 55%;
    margin-right: 20px;
}

.titulo-principal {
    font-size: 18px;
    font-weight: bold;
    color: #007bff;
    margin-bottom: 10px;
}

.subtitulo-registro {
    font-size: 32px;
    margin-bottom: 20px;
}

.descripcion {
    color: white;
}

.contenedor-formulario {
    width: 30%;
    background-color: white;
    padding: 40px;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1); /* Sombra más pronunciada para el efecto de flotado */
    position: relative;
    top: 100px; /* Mueve el formulario hacia arriba para sobresalir */
    right: 60px;
    z-index: 10; /* Asegura que el formulario esté por encima de otros elementos */
    border-radius: 10px; /* Bordes redondeados para un toque más moderno */
}


.titulo-formulario {
    color: black;
    font-size: 24px;
    margin-bottom: 20px;
}

.contenedor-formulario form {
    display: flex;
    flex-direction: column;
}

.contenedor-formulario input {
    margin-bottom: 15px;
    padding: 10px;
    font-size: 16px;
    border: none;
    border-bottom: 2px solid #ccc;
    border-radius: 5px;
}

.contenedor-formulario button {
    padding: 10px;
    background-color: #ffcc00;
    border: none;
    font-size: 16px;
    font-weight: bold;
    color: #003366;
    border-radius: 5px;
    cursor: pointer;
    align-items: center;
}

.contenedor-formulario i {
    margin-left: 5px;
    font-size: 18px;
}

.contenedor-formulario button:hover {
    background-color: #007bff;
    color: #FFF;
}

/* Sección Inferior */
.seccion-inferior {
    background-color: white;
    padding: 20px 50px;
    display: flex;
    align-items: center;
    color: #333;
}

.icono {
    background-color: #003366;
    border-radius: 50%;
    padding: 15px;
    margin-right: 15px;
    width: 40px;
    height: 40px;
}

.icono svg {
    width: 40px;
    height: 40px;
}

.texto-inferior {
    text-align: left;
}

.texto-inferior h3 {
    color: #007bff;
    font-size: 24px;
    margin-bottom: 10px;
}

.texto-inferior p {
    font-size: 16px;
}

.top-certificaciones {
    padding: 40px 80px;
    text-align: center;
    background-color: #f4f4f4;
}

.top-certificaciones h2 {
    font-size: 28px;
    color: #000;
    margin-bottom: 20px;
}

.certificaciones-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.certificacion {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

.certificacion img {
    width: auto;
    height: 350px;
    border-radius: 10px;
}

.texto-overlay {
    position: absolute;
    bottom: 30px;
    left: 10px;
    right: 10px;
    padding: 10px;
    color: white;
    text-align: left;
}

.texto-pequeno {
    font-size: 12px;
    background-color: #333;
    padding: 5px;
    border-top-left-radius: 0px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 0px;
    display: block;
    margin-bottom: 5px;
    width: 40%;
    text-align: center;
    margin-bottom: 10px;
}

.texto-grande {
    font-size: 40px;
    font-weight: bold;
    background-color: #007bff;
    padding: 8px;
    border-top-left-radius: 0px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 0px;
}

.testimonio-seccion {
    background: linear-gradient(to bottom, #007bff 50%, white 50%);
    padding: 40px 0;
    text-align: center;
}

.testimonio-titulo {
    font-size: 32px;
    color: white;
    font-weight: bold;
    margin-bottom: 20px;
}

.testimonio-subtitulo{
    color: white;
    font-size: 18px;
}

.testimonio-slider {
    display: flex;
    justify-content: space-around;
    margin: 80px;
}

.testimonio-tarjeta {
    text-align: center;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    background-color: #fff;
    margin: 10px;
    position: relative;
}

.testimonio-icono {
    color: #004085;
    margin-bottom: 10px;
}

.testimonio-icono svg {
    width: 40px;
    height: 40px;
}

.testimonio-texto {
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    margin-bottom: 10px;
    text-align: left;
}

.testimonio-nombre {
    font-size: 14px;
    font-weight: bold;
    color: #007bff;
    text-align: left;
}


.slick-prev, .slick-next {
    background-color: #007bff;
    color: white;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    z-index: 1000;
    border: none;
    cursor: pointer;
    position: absolute;
    opacity: 1;
    transition: background-color 0.3s ease;
}

.slick-prev::before, .slick-next::before {
    content: '';
}

/* Estilos para los iconos de las flechas */
.slick-prev i, .slick-next i {
    color: white;
    font-size: 24px;
}

/* Evitar cambios de color al pasar el mouse y al hacer clic */
.slick-prev:hover, .slick-next:hover,
.slick-prev:active, .slick-next:active {
    background-color: #0056b3;
    outline: none;
}

.slick-prev:focus, .slick-next:focus {
    background-color: #0056b3;
    outline: none;
}

/* Posicionamiento de las flechas */
.slick-prev {
    left: -40px;
}
.slick-next {
    right: -40px;
}

.slick-dots {
    position: absolute;
    bottom: -30px; /* Ajusta la posición vertical de los dots */
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
}

.slick-dots li {
    margin: 0 5px;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 12px;
    height: 12px;
    padding: 5px;
    cursor: pointer;
    border: none;
    outline: none;
    background-color: #d6d6d6; /* Color del dot inactivo */
    border-radius: 50%;
}

.slick-dots li.slick-active button {
    background-color: #007bff; /* Color del dot activo */
}

.slick-dots li button:before {
    font-size: 0px; /* Para quitar Dots por defecto */
}

.beneficios-seccion {
    background-color: #FFF;
    padding: 60px 0;
}

.beneficios-contenedor {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 80px;
}

.beneficios-texto {
    width: 50%;
    text-align: left;
}

.beneficios-pequeno {
    color: #007bff;
    font-size: 14px;
    margin-bottom: 15px;
}

.beneficios-titulo {
    font-size: 32px;
    font-weight: bold;
    color: #003366;
    margin-bottom: 25px;
}

.beneficios-lista {
    list-style: none;
    padding-left: 0;
    margin-bottom: 30px;
}

.beneficios-lista li {
    font-size: 16px;
    color: #333;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.beneficios-lista svg {
    color: #f1b300;
    margin-right: 10px;
    width: 20px;
    height: 20px;
}

.beneficios-boton {
    background-color: #f1b300;
    color: #003366;
    font-size: 16px;
    font-weight: bold;
    padding: 12px 30px;
    border: none;
    border-radius: 30px;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.beneficios-boton svg {
    margin-left: 10px;
    width: 18px;
    height: 18px;
}

.beneficios-boton:hover {
    background-color: #007bff;
    color: #FFF;
}

.beneficios-imagen {
    width: 45%;
    text-align: right;
}

.beneficios-imagen img {
    width: 100%;
    height: auto;
    border-radius: 10px;
}

/* Posicionamiento en móviles */
@media (max-width: 768px) {
    .slick-prev {
        left: -25px;
    }
    .slick-next {
        right: -25px;
    }
    .testimonio-slider {
    margin: 40px;
    }
    .testimonio-titulo {
        font-size: 28px;
    }
}

/*INSTRUCTORES*/

.instructores-section {
    background-color: #f9f9f9;
    padding: 40px;
}

/* Título */
.instructores-title {
    text-align: center;
    color: #003366; /* Azul marino */
    font-size: 2rem;
    margin-bottom: 30px;
}

/* Contenedor de los instructores */
.instructores-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columnas */
    gap: 5px; /* Reducimos aún más el espacio entre las imágenes */
    justify-items: center;
    margin: 0 auto; /* Centrar el contenedor */
    max-width: 1200px; /* Limitar el ancho máximo del contenedor */
}

/* Estilo de cada instructor */
.instructor {
    text-align: center;
}

/* Imágenes de los instructores */
.instructor-img {
    width: 120px; /* Tamaño pequeño */
    height: 120px;
    border-radius: 50%; /* Redondear las imágenes */
    object-fit: cover; /* Asegurarse de que la imagen cubra el círculo sin deformarse */
    margin-bottom: 5px; /* Reducimos el espacio abajo de la imagen */
}

/* Nombres de los instructores */
.instructor-name {
    font-weight: bold;
    color: black;
    margin-bottom: 5px;
}

/* Rol de los instructores */
.instructor-role {
    color: #007bff; /* Azul para el texto "Instructor" */
}

.suscripcion-seccion {
    background-color: #007bff;
    padding: 60px 20px;
    color: white;
}

.suscripcion-contenedor {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
}

.suscripcion-texto {
    width: 45%;
    text-align: left;
    margin-right: 20px;
}

.suscripcion-titulo {
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 15px;
}

.suscripcion-parrafo {
    font-size: 16px;
    margin-bottom: 30px;
}

.suscripcion-formulario {
    width: 45%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.suscripcion-input-contenedor {
    display: flex;
    align-items: center;
    width: 100%;
    position: relative;
}

.suscripcion-input {
    width: calc(100% - 40px);
    padding: 10px;
    font-size: 16px;
    border: none;
    border-bottom: 2px solid #fff;
    background-color: transparent;
    color: white;
    transition: border-color 0.3s ease;
}

.suscripcion-input::placeholder {
    color: white;
}

.suscripcion-input:focus {
    outline: none;
    border-color: #f1b300;
}

.suscripcion-boton {
    background-color: transparent;
    border: none;
    cursor: pointer;
    position: absolute;
    right: 15px;
}

.suscripcion-boton {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    color: #f1b300; /* Color base para el SVG */
    transition: color 0.3s ease;
}

.suscripcion-boton:hover {
    color: #000000; /* Color del botón y del SVG en hover */
}

/* Ajuste del tamaño del ícono */
.suscripcion-boton svg {
    width: 20px;
    height: 20px;
}

.suscripcion-terminos {
    display: flex;
    align-items: center;
    margin-top: 20px;
}

.suscripcion-checkbox-container {
    position: relative;
}

.suscripcion-checkbox {
    width: 20px;
    height: 20px;
    opacity: 0;
    position: absolute;
    cursor: pointer;
}

.suscripcion-checkbox-label {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #fff;
    background-color: transparent;
    display: inline-block;
    position: relative;
    cursor: pointer;
}

.suscripcion-checkbox:checked + .suscripcion-checkbox-label {
    background-color: #FFF; /* Color de fondo cuando está marcado */
}

.suscripcion-terminos label {
    font-size: 14px;
    color: white;
    cursor: pointer;
    margin-left: 10px;
}

.footer {
    background-color: #333333; /* Gris oscuro */
    color: white;
    padding: 30px 20px;
    text-align: center; /* Alineamos el texto al centro */
}

.footer-contenedor {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
}

.footer-columna {
    width: 30%;
}

.footer-logo {
    width: 100%;
    max-width: 180px;
}

.footer-contacto h4, .footer-columna h4 {
    color: #007bff;
    font-size: 16px;
    margin-bottom: 10px;
}

.footer-correo, .footer-telefono, .footer-pie p {
    font-size: 14px;
    line-height: 1.5;
}

.footer-correo {
    margin-bottom: 5px;
}

.footer-telefono {
    color: white;
}

.footer-linea {
    border: 1px solid white;
    margin-top: 40px;
    max-width: 90%;
}

.footer-pie {
    margin-top: 40px;
    font-size: 14px;
}

.footer-color-azul {
    color: #007bff;
}

.footer-link {
    color: #007bff;
    text-decoration: none;
}

.footer-link:hover {
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .footer-contenedor {
        flex-direction: column;
        align-items: center;
    }

    .footer-columna {
        width: 100%;
        text-align: center;
        margin-right: 0;
        margin-bottom: 20px;
    }

    .footer-logo {
        max-width: 180px;
    }

    .footer-pie p {
        font-size: 12px;
    }
}


/* Responsivo */
@media screen and (max-width: 768px) {
    .suscripcion-contenedor {
        flex-direction: column;
        align-items: center;
    }

    .suscripcion-texto {
        width: 100%;
        text-align: center;
        margin-right: 0;
    }

    .suscripcion-formulario {
        width: 100%;
        text-align: center;
    }

    .suscripcion-titulo {
        font-size: 28px;
    }

    .suscripcion-parrafo {
        font-size: 14px;
    }
}

/* Estilos generales para los botones flotantes */
.whatsapp-btn,
.scroll-top-btn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: white;
    border-radius: 50%;
    /*padding: 15px;*/
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    z-index: 998;
    width: 40px;
    height: 40px;
}

/* Botón WhatsApp */
.whatsapp-btn {
    right: 60px;  /* Mantenerlo en la posición original */
}

.whatsapp-btn svg {
    width: 40px;
    height: 40px;
    fill: #000066; /* Color azul */
}

/* Botón Subir */
.scroll-top-btn {
    right: 60px;  /* Ubicación del botón de subir */
    bottom: 100px;  /* Ajustado para que esté encima del botón de WhatsApp */
    display: none;  /* Inicialmente oculto */
}

.scroll-top-btn svg {
    width: 40px;
    height: 40px;
    fill: #000066;
}

/* Mostrar el botón de Subir cuando se hace scroll */
.show-scroll-top {
    display: block;
}

/* Efecto de hover para ambos botones */
.whatsapp-btn:hover,
.scroll-top-btn:hover {
    transform: scale(1.1);
}

/* Estilos responsivos para pantallas pequeñas */
@media (max-width: 768px) {
    /* Ajustar posición para pantallas más pequeñas */
    .whatsapp-btn {
        right: 20px;  /* Menor margen para dispositivos pequeños */
        bottom: 70px;
        width: 30px;
        height: 30px;
    }

    .scroll-top-btn {
        right: 20px;  /* Menor margen para dispositivos pequeños */
        bottom: 140px;  /* Ajustado para que esté encima del botón de WhatsApp */
        width: 30px;
        height: 30px;
    }

    .scroll-top-btn svg, .whatsapp-btn svg {
    width: 30px;
    height: 30px;
    }
}

/* SECCIÓN HERO - TIPOS DE CERTIFICACIONES */
.custom-hero {
    position: relative;
}

.custom-hero-image {
    width: 100%;
    height: auto;
}

.custom-hero-text {
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-50%);
}

.custom-hero-text h1 {
    font-size: 38px;
    color: navy;
    text-align: left;
    margin: 0;
}

.custom-hero-logo {
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-50%);
}

.custom-hero-logo img {
    max-width: 150px;
}

/* Sección Global Wind Organisation */
.custom-gwo-section {
    background-color: white;
    padding: 40px 150px;
    text-align: left;
}

.custom-gwo-section h2 {
    color: navy;
    margin-bottom: 20px;
    font-size: 38px;
}

/* Sección Reconocimiento */
.custom-recognition-section {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 40px 150px;
}

.custom-recognition-content {
    flex: 1;
    padding-right: 20px;
}

.custom-recognition-content h2 {
    color: navy;
    margin-bottom: 20px;
    font-size: 28px;
}

.custom-recognition-content p {
    text-align: left;
}

.custom-recognition-image {
    flex: 1;
    max-width: 100%;
}

.centrar_boton {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%; /* Ajusta según sea necesario */
    width: 100%; /* Asegura que ocupe el ancho completo del contenedor padre */
    padding: 20px 0; /* Añade algo de espacio alrededor, opcional */
}


/* Estilos responsivos */
@media (max-width: 768px) {
    .custom-hero-image {
        width: 100%;
        height: 20vh;
        object-fit: cover; /* Esto evita que la imagen se distorsione */
    }

    .custom-hero-logo img {
        max-width: 100px;
    }

    .custom-hero-text h1 {
        font-size: 20px;
    }

    .custom-recognition-section {
        flex-direction: column;
        padding: 20px 40px;
    }

    .custom-recognition-content {
        padding-right: 0;
        margin-bottom: 20px;
    }

    .custom-recognition-image {
        max-width: 100%;
        height: auto;
    }

    .custom-gwo-section {
        padding: 20px 40px;
    }

    .custom-gwo-section h2 {
        font-size: 30px;
    }
}

.formation-search {
    /*margin-bottom: 20px;  Espacio entre la sección de búsqueda y las formaciones */
    padding: 20px 80px;
    margin: 0 auto;
    width: 80%;
}

.search-title {
    color: #000066; /* Azul marino */
    font-size: 32px;
    margin-bottom: 10px;
}

.search-container {
    display: flex;
    align-items: center;
    gap: 10px; /* Espacio entre el input y el botón */
}

.search-input {
    flex: 1; /* El input toma el espacio disponible */
    border: none;
    border-bottom: 2px solid #E0E0E0; /* Línea inferior azul marino */
    font-size: 16px;
    padding: 5px;
    outline: none; /* Quita el contorno al enfocar */
}

.search-button {
    background-color: #fbbd08; /* Fondo amarillo */
    color: #000; /* Texto blanco */
    border: none;
    padding: 10px 20px;
    font-weight: bold;
    cursor: pointer;
    border-radius: 5px;
}

@media (max-width: 768px) {
    .formation-search {
        padding: 20px;
        width: auto;
    }
    .search-title {
        font-size: 26px;
    }
}

/* Sección Contacto */
.contact-section {
    width: 75%;
    margin: 0 auto;
    padding: 40px 20px;
}

.contact-title {
    text-align: center;
    color: #003366; /* Azulmarino */
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 10px;
}

.contact-icon {
    text-align: center;
    margin-bottom: 20px;
}

.contact-icon svg {
    width: 40px;
    height: 40px;
    fill: #007bff; /* Azul del icono */
}

.contact-email {
    text-align: center;
    font-size: 16px;
    color: #ffc107; /* Amarillo */
    font-weight: bold;
    margin-bottom: 30px;
}

.contact-email a {
    color: #000;
    text-decoration: none;
    font-size: 16px;
    font-weight: 100;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.input-group-contacto {
    display: flex;
    gap: 20px; /* Espacio entre los inputs */
}

.contact-input,
.contact-textarea {
    padding: 12px;
    font-size: 14px;
    border: none;
    border-bottom: 2px solid gray; /* Línea en la parte inferior */
    box-sizing: border-box;
    outline: none;
}

.contact-input {
    width: 48%; /* Ajuste del ancho para los dos inputs */
}

.contact-textarea {
    width: 100%;
    height: 120px;
    font-family: poppins;
}

.contact-button {
    background-color: #007bff; /* Azulmarino */
    color: white;
    padding: 12px;
    font-size: 16px;
    border: none;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    transition: background-color 0.3s;
    width: 100%;
}

.contact-button:hover {
    background-color: #ffc107; /* Color más oscuro para hover */
}

.arrow-icon {
    width: 20px;
    height: 20px;
    fill: white;
}

/* Estilos responsivos */
@media (max-width: 768px) {
    .contact-section {
        width: 90%;
        padding: 30px 15px;
    }

    .contact-title {
        font-size: 20px;
    }

    .contact-email {
        font-size: 14px;
    }

    .contact-input, .contact-textarea, .contact-button {
        font-size: 14px;
        padding: 10px;
    }

    .input-group {
        flex-direction: column; /* En pantallas pequeñas, los inputs se apilan */
    }

    .contact-input {
        width: 100%; /* Los inputs ocuparán el 100% del ancho */
    }
}

@media (max-width: 480px) {
    .contact-section {
        padding: 20px;
    }

    .contact-title {
        font-size: 18px;
    }

    .contact-email {
        font-size: 13px;
    }

    .contact-input, .contact-textarea, .contact-button {
        font-size: 14px;
        padding: 8px;
    }

    .arrow-icon {
        width: 16px;
        height: 16px;
    }
}


/*======================= RESPONSIVO MOVILES =======================*/
@media (max-width: 768px) {
    .navbar-main {
        flex-direction: row;
        justify-content: end;
        align-items: center;
        padding: 10px;
        max-width: 90%;
    }
    .menu, .menu-right {
        display: none;
    }
    .hamburger-menu {
        display: block;
    }
    .top-bar {
        display: none;
    }
}

/* Diseño adaptable para dispositivos móviles */
@media screen and (max-width: 768px) {
    .hero {
        padding: 20px;
        height: 40vh;
    }

    .hero-content {
        max-width: 100%;
        text-align: center;
        margin-bottom: 20px;
    }

    .hero-content h1 {
        font-size: 28px;
    }

    .hero-content .highlight-text {
        font-size: 20px;
    }

    .hero-content .description {
        font-size: 14px;
    }

    .cta-button {
        font-size: 14px;
        padding: 10px 18px;
    }

    .cards-section {
        gap: 15px;
        padding: 20px;
        overflow-x: hidden; /* Evita el desbordamiento horizontal */
    }

    .card {
        width: 100%; /* Las tarjetas ocupan todo el ancho en móviles */
        padding: 15px;
        text-align: left; /* Centramos el texto en pantallas pequeñas */
    }

    .card-icon {
        font-size: 35px;
    }

    .card-content h3 {
        font-size: 18px;
    }

    .card-content p {
        font-size: 13px;
    }

    .brand-logos-container {
        gap: 20px;
    }

    .brand-logo {
        width: 100px; /* Tamaño más pequeño para móviles */
    }

    .welcome-section {
        flex-direction: column;
        text-align: left;
    }

    .welcome-text {
        padding-left: 0;
    }

    .welcome-button {
        justify-content: center;
        width: 100%;
    }

    .teaching-types-cards {
        flex-direction: column;
        align-items: center;
    }

    .teaching-type-card {
        max-width: 100%;
    }

    .formation-cards {
        grid-template-columns: repeat(2, 1fr); /* 2 columnas */
    }

    .seccion-principal {
        padding: 30px;
    }

    .contenido-texto {
        text-align: left;
        max-width: 100%;
        margin-right: 0;
    }

    .contenido-texto h1 {
        font-size: 18px;
    }

    .subtitulo-registro {
        font-size: 24px;
    }

    .contenido-texto p {
        font-size: 16px;
    }

    .contenedor-formulario {
        width: 100%;
        padding: 20px;
        margin-top: 10px;
        box-sizing: border-box;
        top: auto; /* Eliminar posicionamiento relativo */
        left: 0;   /* Centrar el formulario */
    }

    .contenedor-formulario h2 {
        font-size: 18px;
    }

    .contenedor-formulario input {
        font-size: 14px;
        padding: 10px;
        margin-bottom: 15px;
    }

    .contenedor-formulario button {
        font-size: 14px;
        padding: 10px;
    }

    .seccion-inferior {
        padding: 0 15px;
    }

    .seccion-inferior h3 {
        font-size: 18px;
    }

    .seccion-inferior p {
        font-size: 14px;
    }

    .top-certificaciones {
        padding: 20px 20px;
    }

    .certificaciones-grid {
        grid-template-columns: 1fr; /* Una sola columna */
    }

    .certificacion img {
        width: 100%;
        height: auto;
    }

    .texto-pequeno {
        font-size: 14px;
    }

    .texto-grande{
        font-size: 34px;
    }

    .instructores-container {
        grid-template-columns: repeat(2, 1fr); /* 2 columnas en móviles */
    }

    .beneficios-contenedor {
        flex-direction: column;
        align-items: center;
        padding: 30px;
    }

    .beneficios-texto {
        width: 100%;
        text-align: left;
    }

    .beneficios-imagen {
        width: 100%;
        text-align: center;
        margin-top: 30px;
    }

    .beneficios-titulo {
        font-size: 24px;
    }

    .beneficios-boton {
        width: auto;
        margin-top: 10px;
    }

    .beneficios-imagen img {
        max-width: 100%;
    }

}

/*======================= DISEÑO NOTICIAS =======================*/

.seccion-noticias {
    background-color: white;
    padding: 40px 150px;
}

.titulo-noticias {
    font-size: 2em;
    color: #003366; /* Azul marino */
    text-align: left;
    margin-bottom: 30px;
    margin-top: 0;
    font-weight: bold;
}

.contenedor-noticias {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.tarjeta-noticia {
    background-color: #fff; /* Fondo blanco */
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1); /* Sombra en la parte inferior y derecha */
}

.imagen-noticia {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.contenido-noticia {
    padding: 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
}

.tema-fecha {
    font-size: 0.9em;
    color: #888;
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: 12px;
}

.titulo-noticia {
    font-size: 1.1em;
    color: #007bff; /* Azul */
    font-weight: bold;
    margin-bottom: 10px;
}

.descripcion-noticia {
    font-size: 1em;
    color: #555;
    line-height: 1.5;
    margin-bottom: 15px;
}

.boton-vermas {
    color: #000;
    display: flex;
    align-items: center;
    font-size: 0.9em;
    text-decoration: none;
    font-weight: bold;
}

.boton-vermas svg {
    width: 24px;
    height: 24px;
    margin-left: 5px;
    color: #FBBD08;
}

.boton-vermas svg:hover {
    color: #007bff;
}

@media (max-width: 768px) {
    .contenedor-noticias {
        grid-template-columns: repeat(2, 1fr);
    }

    .seccion-noticias {
        padding: 20px 40px;
    }
}

@media (max-width: 480px) {
    .contenedor-noticias {
        grid-template-columns: 1fr;
    }
}

/*======================= DISEÑO NOTICIA INDIVIDUAL =======================*/

.noticia-individual {
    background-color: #fff; /* Fondo blanco */
    padding: 40px 150px;
}

.noticia-individual-imagen-banner img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.noticia-individual-tema-fecha {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #888;
    margin: 20px 0;
}

.noticia-individual-tema, .noticia-individual-fecha {
    margin: 0;
}

.noticia-individual-linea-divisora {
    border: 1px solid #ddd;
    margin: 20px 0;
}

.noticia-individual-titulo {
    font-size: 38px;
    color: #007bff; /* Azul */
    font-weight: bold;
    margin-bottom: 20px;
}

.noticia-individual-texto-principal {
    font-size: 16px;
    color: #333;
    line-height: 1.6;
    margin-bottom: 20px;
}

.noticia-individual-subtitulo {
    font-weight: bold;
    color: #333;
    margin-top: 30px;
    font-size: 20px;
}

@media (max-width: 768px) {
    .noticia-individual-titulo {
        font-size: 1.8em;
    }

    .noticia-individual-texto-principal {
        font-size: 1em;
    }

    .noticia-individual-subtitulo {
        font-size: 1.1em;
    }

    .noticia-individual {
    padding: 20px 40px;
    }
}

@media (max-width: 480px) {
    .noticia-individual-titulo {
        font-size: 1.6em;
    }

    .noticia-individual-texto-principal {
        font-size: 0.9em;
    }

    .noticia-individual-subtitulo {
        font-size: 1em;
    }
}


/* ============== Sección de certificaciones ============== */

/* Sección de certificaciones */
.certifications {
    padding: 20px 150px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.cert-item {
    display: flex;
    background: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    align-items: center;
}

.cert-item img {
    width: 25%;
    margin-right: 20px;
}

.cert-text {
    flex: 1;
}

.cert-text h3 {
    color: #0a2a66;
    font-size: 18px;
    margin-bottom: 10px;
}

.cert-text p {
    font-size: 14px;
    color: #555;
    margin: 5px 0;
}

.highlight {
    color: #3E7BFF;
    font-weight: bold;
}

/* Adaptación a móviles */
@media (max-width: 768px) {
    .certifications {
        grid-template-columns: 1fr;
        padding: 20px 30px;
    }

    .cert-item {
        flex-direction: column;
        text-align: center;
    }

    .cert-item img {
        margin: 0 0 10px 0;
        width: 40%;
    }
}

/* ============== Sección de acerca de nosotros ============== */

.custom-hero-image-nosotros {
    width: 100%;
    height: auto;
}

.nosotros-titulo {
    color: #000066;
    font-size: 32px;
    margin-bottom: 10px;
    margin-top: 0;
}

.highlight-sub {
    color: #3E7BFF;
    margin-bottom: 0;
    font-size: 24px;
}

/* Contenedor principal */
.acerca-de {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;
}

/* Tarjetas */
.acerca-de__tarjeta {
    background: white;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
    flex: 1 1 calc(50% - 20px); /* Dos columnas en pantallas grandes */
    max-width: 500px;
    box-sizing: border-box;
}

/* Títulos */
.acerca-de__titulo {
    color: #001f87;
    font-size: 18px;
    margin-bottom: 10px;
    text-transform: uppercase;
    text-align: center;
}

.acerca-de__titulo span {
    display: block;
    font-size: 16px;
    color: #3E7BFF;
    text-transform: none;
    font-weight: 300;
}

/* Texto */
.acerca-de__texto {
    color: #333;
    font-size: 14px;
    line-height: 1.5;
}

/* Diseño responsivo para móviles */
@media (max-width: 768px) {

    .custom-hero-image-nosotros {
        width: 100%;
        height: 20vh;
        object-fit: cover;
        object-position: right;
    }

    .acerca-de {
        padding: 20px;
    }

    .acerca-de__tarjeta {
        flex: 1 1 100%; /* Ocupa toda la pantalla en móviles */
    }
}

/* EQUIPO DE TRABAJO */

.team__imagen {
    display: block; /* Hace que la imagen sea un bloque para aplicar margen automático */
    margin: 20px auto; /* Centra la imagen horizontalmente */
    width: 80%; /* Ajusta el ancho de la imagen */
    height: auto; /* Mantiene la proporción */
}

@media (max-width: 768px) {
    .team__imagen {
        width: 100%;
        margin: 0;
    }
}

/* NUESTRO TRABAJO */

/* Sección de servicios */
.services-section {
    padding: 20px 80px;
    margin: 0 auto;
}

/* Subtítulo y título */
.highlight-sub-services {
    font-size: 24px;
    color: #007bff;
    margin: 0;
    text-align: center;
}

.services-title {
    font-size: 32px;
    font-weight: bold;
    color: #000066;
    margin-bottom: 10px;
    text-align: center;
    margin-top: 0;
}

.services-description {
    font-size: 16px;
    color: #555;
    margin: 0 auto 30px;
}

/* Contenedor de tarjetas */
.services-cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

/* Tarjetas individuales */
.service-card {
    background-color: #fff;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    padding: 20px;
    width: calc(33.333% - 20px); /* 3 columnas en escritorio */
    max-width: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform 0.3s ease;
}

/* Icono */
.service-card i {
    font-size: 40px;
    color: #007bff;
    margin-bottom: 10px;
}

/* Títulos de las tarjetas */
.service-card h3 {
    font-size: 16px;
    font-weight: bold;
    color: #000066;
    margin: 0;
}

/* Efecto hover */
.service-card:hover {
    transform: translateY(-10px);
}

/* Responsivo: 2 columnas en tablets */
@media (max-width: 1024px) {
    .service-card {
        width: calc(50% - 20px);
    }
}

/* Responsivo: 1 columna en móviles */
@media (max-width: 768px) {
    .service-card {
        width: 100%;
    }
    .services-section {
        padding: 20px;
    }
}