body,
html {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #ffffff;
    margin: 0;
    padding: 0;
    height: 100%;
    overflow-x: hidden;
}



nav {
    position: relative;
    /* o simplemente quítalo, relative es default */
    background-color: transparent;
    align-items: center;
    display: inline-flex;
    gap: 50px;
    padding-bottom: 20px;
    width: 95%;
    /* opcional */
}

.nav-index {
    position: relative;
    /* o simplemente quítalo, relative es default */
    background-color: transparent;
    align-items: center;
    display: inline-flex;
    gap: 50px;
    padding-bottom: 20px;
    width: 95%;
    /* opcional */
    margin-top: 20px;
}

nav a {
    color: rgb(255, 255, 255);
    text-decoration: none;
    font-weight: bold;
    width: 100px;
    padding-top: 0px;
    margin-top: 0px;

}

nav a:hover {
    color: rgb(23, 104, 175);

}


.nav-div-a {
    display: inline-flex;
    gap: 30px;
    white-space: nowrap;
    list-style: none;
    padding-top: 0px;
    margin-top: 0px;

}

.nav-div-a-text {
    color: rgb(0, 0, 0);
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
    text-decoration: none;
    padding: 3px 6px;
    cursor: pointer;
    margin-top: 0px;

}

.nav-div-a-text.active {
    box-shadow: inset 0 -2px 0 #2295bc;
}

.nav-index-div-a-text {
    color: rgb(255, 255, 255);
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
    text-decoration: none;
    padding: 3px 6px;
    cursor: pointer;
    margin-top: 0px;

}


.nav-index-div-a-text:hover {
    color: white;
    box-shadow: inset 0 -2px 0 #2295bc;
    padding: 3 6px;
    font-weight: bold;

}

.nav-div-a-text:hover {
    color: rgb(0, 0, 0);
    box-shadow: inset 0 -2px 0 #2295bc;
    padding: 3px 6px;
    font-weight: bold;

}

.nav_desplegable {
    position: relative;
}

/* Por defecto oculto */
.nav_submenu {
    opacity: 0;
    pointer-events: none;
    transform: translateX(-50%) translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Cuando tenga clase active */
.nav_submenu.active {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}


/* Submenú */
.nav_submenu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-10px);
    background: rgba(11, 103, 143, 0.55);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: 12px;
    padding: 12px 0;
    text-align: center;
    list-style: none;
    z-index: 1000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.nav_submenu::before {
    content: "";
    position: absolute;
    inset: -35px;
    background: radial-gradient(ellipse at center,
            rgba(0, 0, 0, 0.45) 0%,
            rgba(0, 0, 0, 0.25) 30%,
            rgba(0, 0, 0, 0.1) 55%,
            transparent 70%);
    z-index: -1;
    pointer-events: none;
}



/* Links del submenú */
.nav_submenu li a {
    font-size: 14px;
    font-family: "Raleway", Sans-serif;
    color: #ffffff;
    padding: 10px 20px;
    display: block;
    font-weight: 500;
    transition: color 0.2s ease, background 0.2s ease;
}






.nav_desplegable>span.nav-div-a-text {
    position: relative;
    /* necesario para posicionar la flecha */
    padding-right: 18px;
    /* deja espacio para la flecha */
    cursor: pointer;
}

/* Flecha con ::after */
.nav_desplegable>span.nav-div-a-text::after {
    content: "▼";
    /* flecha hacia abajo */
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 10px;
    color: #39b3f9;
    /* azul de tu diseño */
    transition: transform 0.3s ease;
}

/* Girar la flecha al desplegar el menú */
.nav_desplegable:hover>span.nav-div-a-text::after {
    transform: translateY(-50%) rotate(180deg);
    /* apunta arriba al abrir */
}

/* Flecha en CURSOS */
.nav_desplegable>.nav-index-div-a-text {
    position: relative;
    /* necesario para posicionar la flecha */
    padding-right: 18px;
    /* espacio para la flecha */
    cursor: pointer;
}

/* Flecha inicial apuntando a la derecha */
.nav_desplegable>.nav-index-div-a-text::after {
    content: "▼";
    /* flecha derecha */
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 10px;
    color: #39b3f9;
    /* azul de tu diseño */
    transition: transform 0.3s ease;
}

/* Rotar la flecha hacia abajo al pasar el cursor */
.nav_desplegable:hover>.nav-index-div-a-text::after {
    transform: translateY(-50%) rotate(180deg);
}

/* SOLO escritorio */
.nav_desplegable:hover .nav_submenu {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}

.nav {
    display: inline-flex;
    gap: 30px;
    padding-right: 100px;
    padding-top: 50px;
}

.nav-index {
    display: inline-flex;
    gap: 30px;
    padding-right: 100px;
    padding-top: 50px;
}


nav li {
    list-style: none;
    /* quita los puntos */
}


nav a:hover {
    color: rgb(0, 0, 0);
}

.nav_icon {
    padding-left: 0px;
    display: inline-block;
    width: 775px;
    gap: 30px;
    display: inline-block;
}

.search-container input[type="search"] {
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #ccc;
    font-size: 16px;
    width: 745px;


}


div i {
    margin-top: 15px;
    margin-left: 10px;
}

span {
    text-decoration: none;

}


/* fechas/cursos */

.fechas-background {
    background-image: url("../img/bicifondo.png");
    background-position: center top;
    /* se asegura que comience desde arriba */
    background-size: cover;
    /* cubre todo el contenedor */
    background-repeat: no-repeat;
    width: 100%;
    min-height: 100vh;
    padding-top: 0;
    /* sin espacio arriba */
    margin-top: -20px;
    /* sin margen */
    z-index: -1;

}

.logo {
    width: 280px;
    height: auto;
    padding-left: 50px;
}



.disponibles {
    padding-top: 20px;
    display: flex;
    justify-content: center;

}

.search-container {
    display: flex;
    align-items: center;
    gap: 15px;
}



.courses {
    flex-wrap: wrap;
    justify-items: center;
    display: flex;
    margin-inline: 20px;


}

.blue-course {
    background-color: rgb(249, 249, 249);
    display: flex;
    color: rgb(54, 54, 54);
    padding: 20px;
    border-radius: 5px;
    justify-content: center;
    width: auto;
    height: auto;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    justify-content: left;
    border-left: 7px solid #3dbaeb;


}

.blue-course>div {
    display: flex;
    align-items: center;
    gap: 10px;
    width: auto;

}

.blue-course img {
    width: 100%;
    height: 100%;
    border-radius: 5px;
    object-fit: contain;
    /* muestra toda la imagen dentro del contenedor */
    display: block;


}

.course-info {

    --am-font-family: Amelia Roboto, sans-serif;
    gap: 2px;
    flex-direction: column;
    display: flex;
}


.price {
    font-weight: bold;
    text-align: center;
    display: flex;
    flex-direction: column;

    /* 🔹 Uno debajo del otro */
    gap: 10px;

}

/* pop-up course info */

/* Estilos originales adaptados al pop-up */
.popup-content .popup-blue-course {
    display: flex;
    background-color: rgb(249, 249, 249);
    padding: 15px;
    border-radius: 5px;
    width: 90%;
    gap: 10px;
    margin: 10px auto;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);

}

.popup-content .popup-blue-course img {
    width: 120px;
    height: 90px;
    object-fit: cover;
    border-radius: 5px;
}

.popup-content .popup-course-info {
    display: flex;
    justify-content: space-between;
    flex: 1;
    gap: 10px;
}


.popup-content .popup-course-info .details p {
    margin: 2px 0;
}

.popup-content .popup-course-info .price {
    font-weight: bold;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.popup-content .horarios {
    margin-top: 10px;
    padding-top: 10px;
    /* espacio entre contenido y la línea */
    border-top: 1px solid #ccc;
    /* línea divisoria */
    text-align: left;
    font-size: 14px;
    color: #333;
}

.details {
    justify-content: center;
    text-align: center;
    align-items: center;
}



.inscripcion {
    border-radius: 20px;
    display: flex;
    align-items: center;
    background-color: #39b3f9;
    color: white;
    border: none;
    padding: 8px 18px;
    width: auto;
    transition:
        background-color 0.3s ease,
        transform 0.2s ease,
        box-shadow 0.3s ease;


}

.inscripcion:hover {
    background-color: #2aa7d9;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(61, 186, 235, 0.4);
}

.popup {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 1000;

    justify-content: center;
    align-items: center;
    pointer-events: all;

    animation: fadeIn 0.25s ease-out;
}

.popup-content {
    background: #ffffff;
    padding: 30px 35px;
    border-radius: 16px;
    text-align: left;
    min-width: 300px;
    max-width: 420px;
    width: 90%;
    color: #222;

    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.18);
    transform: translateY(-10px);
    animation: slideUp 0.3s ease forwards;

    font-family: "Inter", sans-serif;
}

.popup-content h2 {
    margin: 0 0 12px;
    font-size: 22px;
    font-weight: 700;
    color: #000;
}

.popup-content p {
    margin: 6px 0;
    font-size: 15px;
    line-height: 1.4;
    color: #444;
}

.popup-content button {
    padding: 10px 18px;
    background: rgb(57, 179, 249);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    color: white;
    margin-top: 18px;
    transition: 0.2s;
}

.popup-content button:hover {
    background: #008ad4;
    transform: translateY(-2px);
}

/* Animaciones */
@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.popup-content .close {
    position: absolute;
    top: 5px;
    right: 10px;
    font-size: 20px;
    cursor: pointer;
}

#popup-accept {
    margin-top: 15px;
    padding: 8px 15px;
    border: none;
    border-radius: 5px;
    background-color: #39b3f9;
    color: white;
    cursor: pointer;
}

#popup-close {
    margin-top: 15px;
    padding: 8px 15px;
    border: 1px solid grey;
    border-radius: 5px;
    background-color: white;
    color: black;
    cursor: pointer;
}

.acccan {
    justify-content: right;
    display: flex;
    gap: 20px;
    color: white;
}


/* Segundo pop-up: formulario */
#popup-form {
    display: none;
    /* oculto por defecto */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    z-index: 1001;
    /* encima del primer pop-up */

}

#popup-form .popup-content {
    background-color: #fff;
    padding: 25px 30px;
    border-radius: 10px;
    width: 400px;
    max-width: 90%;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    position: relative;
}

#popup-form h2 {
    margin: 0;
    font-size: 20px;
    font-weight: bold;
}

#popup-form input {
    padding: 10px 12px;
    border-radius: 5px;
    border: 1px solid #ccc;
    width: 100%;
    font-size: 14px;
    box-sizing: border-box;
}

#popup-form button {
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
}

#form-submit {
    background-color: #39b3f9;
    color: white;
}

#form-cancel {
    background-color: #e0e0e0;
    color: #333;
}

#popup-form button+button {
    margin-left: 10px;
}

/* Botones alineados a la derecha */
#popup-form .popup-content button {
    align-self: flex-end;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


.popup-confirm {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.popup-confirm .popup-content {
    background: white;
    padding: 30px 40px;
    border-radius: 10px;
    text-align: center;
}

#popup-confirm-close {
    margin-top: 20px;
    padding: 10px 20px;
    background: #2d89ff;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}


.popup,
#popup-form2,
#popup-pago {
    animation: fadeIn 0.3s ease;
}



.carousel {
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: 15px auto;
    overflow: hidden;
    border-radius: 10px;
}

.carousel-inner {
    display: flex;
    transition: transform 0.3s ease;
}

.carousel-inner img {
    width: 100%;
    flex-shrink: 0;
    object-fit: cover;
}

.carousel button.prev,
.carousel button.next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 5px 10px;
    cursor: pointer;
    border-radius: 5px;
}

.carousel button.prev {
    left: 10px;
}

.carousel button.next {
    right: 10px;
}

/* ===== Estilos exclusivos del formulario ===== */

.form-row {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.form-group {
    flex: 1;
    display: flex;
    flex-direction: column;
    text-align: left;
    width: 235px;
}

label {
    font-weight: 500;
    margin-bottom: 5px;
    color: #333;
}

label span {
    color: #e53935;
}

input {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 14px;
    transition: border-color 0.2s;
}

input:focus {
    border-color: #007bff;
    outline: none;
}

.buttons {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 25px;
}

button {
    padding: 10px 18px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    cursor: pointer;
}

/* Botón "Cerrar" */
.cerrar {
    background: #f1f1f1;
    color: #333;
}

.cerrar:hover {
    background: #e2e2e2;
}

/* Botón "Continuar" */
.continuar {
    background: #2196f3;
    color: white;
}

.continuar:hover {
    background: #1976d2;
}

/* header */


.book {

    background-color: #123352;
    padding: 15px;
    text-align: left;
    display: flex;
    align-items: center;
    height: 60px;
    /* altura fija */
    margin-bottom: 20px;

}

.book img {
    width: 90px;
    height: auto;
    position: relative;
    margin-left: 15%;
    margin-bottom: -20px;
    padding-top: 10px;
    padding-inline: 20px;
}

.book-title {
    color: #ffffff;
    font-size: 23px;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    margin-bottom: 0;
    padding-bottom: 0;
    display: inline-block;
}

.book-subtitle {
    color: #ffffff;
    font-size: 13px;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 250;
}

.book button {
    width: 150px;
    font-size: 13px;
    font-weight: 250;
    border-radius: 20px;
    background-color: rgb(255, 255, 255);
    color: rgb(109, 206, 255);
    text-decoration: none;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    display: inline-block;
    margin-left: 200px;
}

.book_mobile {
    display: none;
}

/* book.php */


.book-div1 {
    display: flex;
    padding-top: 1%;
    background-image: url("../img/emeb-slider-master-unior-bike.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

}

.book_texts {
    display: flex;
    flex-direction: column;
}

.book-div2 {
    gap: 20px;
    display: flex;
    padding-inline: 200px;

}

.book-div2-text1 {
    font-family: "Conthrax", Sans-serif;
    font-size: 71px;
    font-weight: 400;
    font-style: italic;
    line-height: 1.2em;
    color: #4a4b4b;
    align-items: center;
    display: flex;
    justify-content: center;
    text-align: center;

}

.book-div2-text2 {

    position: static;
    font-family: "Raleway", Sans-serif;
    font-size: 46px;
    font-weight: 400;
    line-height: 1.2em;
    letter-spacing: .2px;
    color: #222;
    font-weight: 100;
    display: flex;
    flex-direction: column;
    padding-inline: 20px;
    padding-bottom: 60px;
    padding-top: 60px;
    text-align: center;
    align-items: center;
    box-shadow: 0px 16px 31px -8px rgba(0, 0, 0, .33);
    background-color: white;


}


.book-div2-text2-div-img {
    display: flex;
    justify-content: center;
}

.book-div2-text2-img {
    max-width: 50%;
    height: auto;

}

.book-div2-text2-button {
    background-color: #38b5ff;
    font-family: "Raleway", Sans-serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 1px;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, .3);
    fill: #fff;
    color: #fff;
    border-radius: 0;
    padding-inline: 1px;
    height: 50px;
    width: 160px;
    text-align: center;
    transition: background-color 0.5s ease, opacity 0.5s ease;

}

.book-div2-text2-button:hover {
    background-color: #092e6b;
    opacity: 0.8;
    /* 🔹 Esto crea el efecto fade */
    /* Duración y suavizado */


}

.book-img {
    width: 80%;
    height: 80%;
    position: static;

}

.book-div-img {
    position: fixed;
    display: block;

}


/* footer */
.footer {
    font-family: "Conthrax", Sans-serif;
    font-size: 35px;
    font-weight: 400;
    line-height: 1.2em;
    color: #a4a4a4;
    align-items: center;
    display: flex;
    justify-content: center;
    margin-top: 50px;
    width: auto;

}

.footer_wrapper {
    display: flex;
    /* no inline-flex */
    justify-content: center;
    /* centra horizontalmente */
    align-items: center;
    /* centra verticalmente la imagen extra */
    gap: 70px;
    /* espacio entre grid y imagen extra */
    width: auto;
    /* opcional, para ocupar todo el ancho */
    padding-inline: 0;
    padding-top: 50px;
}

.certificado_img {
    width: 150px !important;
    height: auto;
    filter: grayscale(100%);
    opacity: 0.7;

    /* muestra toda la imagen dentro del contenedor */

}

.footer_img {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* 3 columnas */
    grid-template-rows: repeat(2, auto);
    /* 2 filas */
    gap: 70px;
    row-gap: 70px;
    justify-items: center;
    align-items: center;
}



.footer_img img {
    max-width: 150px;
    max-height: 400px;
    border-radius: 5px;
    /* muestra toda la imagen dentro del contenedor */
    position: relative;
    display: block;
    filter: grayscale(100%);
    opacity: 0.7;

}

.footer_img img[alt="unior_icon"] {
    height: auto;
    width: 500px;
}

.footer_img img[alt="shimano_icon"] {
    height: auto;
    width: 500px;
}

.footer_img2 img {
    width: 200px;
    height: auto;
    border-radius: 5px;
    /* muestra toda la imagen dentro del contenedor */
    position: relative;
    display: block;
}

.footer_img img,
.footer_img2 img {
    transition: filter 0.3s ease, opacity 0.3s ease;
}

.footer_img img:hover,
.footer_img2 img:hover,
.certificado_img:hover {
    filter: grayscale(0%);
    opacity: 1;
}


.footer_info {
    margin-top: 50px;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 300px;
    font-family: "Raleway", Sans-serif;
    font-weight: 500;
    background-color: #113453;
    padding-top: 40px;
    padding-bottom: 40px;

}


.footer_telf_titles {
    display: flex;
    gap: 20px;
    color: white !important;
}

.footer_telf_titles_mobile {
    display: none;
}


.footer_telf_telf a {
    color: white !important;
    text-decoration: none;
    font-family: "Raleway", Sans-serif;


}

.footer_mail a {
    color: white !important;
    text-decoration: none;
    font-family: "Raleway", Sans-serif;


}

.footer_address a {
    color: white !important;
    text-decoration: none;
    font-family: "Raleway", Sans-serif;


}

.line {
    background-color: #bfbfbf;
    margin: 20px 0;
    width: 100%;
    height: 2px;
}

.footer_info_mobile {
    display: none;
}


.footer_finalfooter {
    font-family: "Raleway", Sans-serif;
    font-weight: 300;
    color: #c5c5c5;
    font-size: 5px;
    text-align: center;
    display: inline-flex;
    justify-content: center;
    width: 100%;
    gap: 100px;
    padding: 0;
    margin-bottom: 20px;
}

.footer_copyright {
    text-align: left;
    display: inline-flex;
    align-items: center;
}

.footer_media {
    text-align: center;
    display: inline-flex;
    width: auto;
    align-items: center;


}

.social a {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #a4a4a4;
    border-radius: 50%;
    color: #c5c5c5;
    text-decoration: none;
    margin: 0 8px;
}

/* 🔥 CLAVE REAL */
.social i {
    font-size: 14px;
    line-height: 1;
    /* evita que se vaya abajo */
    display: block;
    /* elimina alineación inline */
}


.social_facebook:hover {
    color: rgb(3, 87, 139);
    text-decoration: none;
}

.social_twitter:hover {
    color: black;
    text-decoration: none;
}

.social_instagram:hover {
    color: rgb(249, 165, 179);
    text-decoration: none;
}

.social_pinterest:hover {
    color: red;
    text-decoration: none;
}



.footer_copyright span {
    color: #c5c5c5;
    text-decoration: none;
    font-size: 12px;
}

.footer_privacy {
    text-align: right;
    display: inline-flex;
    align-items: center;

}

.footer_privacy span {
    color: #c5c5c5;
    text-decoration: none;
    font-size: 12px;
}

.pablo_footer {
    color: white;
    text-align: center;
    display: inline-flex;
    align-items: center;
    margin-top: 10px;
    background-color: #113453;
    display: inline-flex;
    width: auto;
    width: 100%;
    height: 50px;
    justify-content: center;
    font-family: "Raleway", Sans-serif;
    gap: 50px;
    padding-bottom: 0;
    margin-bottom: 0;

}

/* Tamaño general de los iconos del footer */
.pablo_footer_media .pablo_social i {
    font-size: 28px;
    /* tamaño grande */
    color: #ffffff;
    /* azul corporativo */
    transition: transform 0.2s ease;
}

.pablo_footer_media .pablo_social a {
    text-decoration: none;
    /* quita subrayado */
    outline: none;
    /* quita borde de foco */
}

/* Efecto hover: pequeño zoom */
.pablo_footer_media .pablo_social a:hover i {
    transform: scale(1.2);
    /* aumenta un 20% al pasar el cursor */

}

.pablo_footer_media .pablo_social_email i {
    font-size: 28px;
    transition: transform 0.2s ease;
}

.pablo_footer_media .pablo_social_email:hover i {
    transform: scale(1.2);
    cursor: pointer;
}


/* index.php */



.index-background {
    background-image: url("../img/emeb-hero.png");
    background-position: center top;
    /* se asegura que comience desde arriba */
    background-size: cover;
    /* cubre todo el contenedor */
    background-repeat: no-repeat;
    width: 100%;
    min-height: 100vh;
    padding-top: 0;
    /* sin espacio arriba */
    margin-top: -20px;
    /* sin margen */
    z-index: -1;

}


.index_text1 {
    color: white;
    font-family: "Conthrax", Sans-serif;
    font-size: 50px;
    text-align: right;
    padding-right: 100px;
    padding-top: 160px;
}


.index_text2 {
    color: white;
    font-size: 24px;
    text-align: right;
    padding-right: 130px;
    font-weight: 510;
    font-family: "Raleway", Sans-serif;

}

.index_text3 {
    color: white;
    font-size: 16px;
    text-align: right;
    padding-right: 100px;
    padding-left: 60%;
    line-height: 1.7;
    font-weight: 510;
    font-family: "Raleway", Sans-serif;


}

.index_text4 {
    font-size: 18px;
    text-align: right;
    padding-right: 100px;
    padding-left: 60%;
    line-height: 1.7;


}

.index_text4_button {
    color: rgb(255, 255, 255);
    width: 160px;
    background-color: #3dbaeb;
    letter-spacing: 1.5px;
    border-radius: 20px;
    margin-bottom: 100px;
    font-weight: 600;
    transition:
        transform 0.25s ease,
        background-color 0.25s ease,
        border-radius 0.25s ease;

}

.index_text4_button:hover {
    color: rgb(255, 255, 255);
    background-color: #3dbaeb;
    border-radius: 25px;
    transform: scale(1.08);
    /* crecimiento proporcional */

}

.index-div2 {

    display: flex;
    min-height: 100vh;
    /* cambia height:120vh por esto */
    background: linear-gradient(to bottom,
            #ffffff 0%,
            /* blanco hasta cierto punto */
            #ffffff 500px,
            /* todavía blanco hasta 200px desde arriba */
            #fbfbfb 800px,
            #fafafa 1000px,
            /* empieza el degradado desde 200px */
            #f7f7f7 100%
            /* hasta abajo */
        );
}

.index-div2 img {
    max-width: 100%;
    height: auto;
}

.index-div2-div1 {
    width: 350px;
    height: 150px;
    background-color: #123352;
    border-radius: 15px;
    padding: 40px 0 40px 20px;
    position: relative;
    display: block;
    z-index: 3;
    margin-top: 230px;
}

.index-div2-div2 {
    border-radius: 30px;
    padding: 40px 0 40px 40px;
    position: relative;
    z-index: 2;
    margin-top: 330px;
    margin-left: -250px;

}



.index-div2-div3 {
    border-radius: 30px;
    padding: 40px 0 40px 20px;
    position: relative;
    z-index: 1;
    margin-left: -270px;

}

.index-div2-div2 img,
.index-div2-div3 img {
    width: 400px;
    height: auto;
    border-radius: 20px;
}

.left_index_mobile {
    display: none;
}

.left_index {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: nowrap;
    /* nunca pasa a columna */
    width: 50%;
    box-sizing: border-box;
    padding-left: 50px;
}

.right {
    display: flex;
    gap: 20px;
    flex-wrap: nowrap;
    /* nunca pasa a columna */
    width: 50%;
    box-sizing: border-box;
    justify-content: center;
}




/* Tarjetas internas */
.index-div2-div4-div1-div1,
.index-div2-div4-div1-div2,
.index-div2-div4-div1-div3,
.index-div2-div4-div2-div1,
.index-div2-div4-div2-div2,
.index-div2-div4-div2-div3 {
    width: 100%;
    height: auto;
    min-height: 180px;
    height: 270px;
    max-width: 270px;

}




.index-div2-div1-div1 {

    /* vacio por ahora */

}

.index-div2-div1-div2 {

    border-radius: 15px;
    line-height: 1.5;
    /* 1.5 veces la altura de la fuente */

}


.index-div2-span1 {

    color: white;
    height: 300px;
    font-family: "Conthrax", Sans-serif;
    font-size: 30px;
}

.index-div2-span2 {

    font-size: 15px;
    color: white;
    height: auto;
    font-family: "Raleway", Sans-serif;

}

/* columna1 */

.index-div2-div4-div1 {
    padding-top: 40px;
    padding-left: 80px;

}

.index-div2-div4-div1 {
    flex: 1 1 0;
    max-width: 49%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.index-div2-div4-div2 {
    flex: 1 1 0;
    max-width: 49%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 60px;
    /* aquí bajas la segunda columna */
}


.index-div2-div4-div1-div1 {
    background-color: #f5f5f5;
    border-radius: 20px;
    padding-left: 15px;


}

.index-div2-div4-div1-div1-img {
    display: block;
    position: relative;
    margin-left: 30px;
    margin-top: 40px;
    margin-bottom: 20px;
    height: auto;
}

.index-div2-div4-div1-div1-span {
    display: block;
    position: relative;
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    font-size: 20px;
    width: 70%;
    margin-left: 20px;
}

.index-div2-div4-div1-div2 {
    background-color: #123352;

    border-radius: 20px;
    padding-left: 15px;

}


.index-div2-div4-div1-div2-span {
    color: white;
    position: relative;
    display: flex;
    font-family: "Raleway", Sans-serif;
    font-size: 14px;
    width: 80%;
    margin-left: 20px;
    letter-spacing: 1.5;
    margin-top: 60px;
    line-height: 1.7;
}

.index-div2-div4-div1-div3 {
    background-color: #f5f5f5;

    border-radius: 20px;
    padding-left: 15px;

}

.index-div2-div4-div1-div3-img {
    display: block;
    position: relative;
    margin-left: 20px;
    margin-top: 40px;
    margin-bottom: 20px;
    width: 50px;
    height: auto;
}

.index-div2-div4-div1-div3-span {
    display: block;
    position: relative;
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    font-size: 20px;
    width: 70%;
    margin-left: 20px;
}

/* columna2 */


.index-div2-div4-div2 {
    padding-top: 165px;
}

.index-div2-div4-div2-div1 {
    background-color: #f5f5f5;
    max-width: 270px;
    height: 250px;
    border-radius: 20px;
    padding-left: 15px;

}

.index-div2-div4-div2-div1-img {
    display: block;
    position: relative;
    margin-left: 30px;
    margin-top: 40px;
    margin-bottom: 20px;
    width: 65px;
}

.index-div2-div4-div2-div1-span {
    display: block;
    position: relative;
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    font-size: 20px;
    width: 70%;
    margin-left: 20px;
}

.index-div2-div4-div2-div2 {
    background-color: #f5f5f5;
    width: 270px;
    height: 250px;
    border-radius: 20px;
    padding-left: 15px;

}

.index-div2-div4-div2-div2-img {
    display: block;
    position: relative;
    margin-left: 20px;
    margin-top: 40px;
    margin-bottom: 20px;
    width: 50px;
}

.index-div2-div4-div2-div2-span {
    display: block;
    position: relative;
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    font-size: 20px;
    width: 80%;
    margin-left: 20px;
}

.index-div2-div4-div3 {
    display: flex;
    position: relative;
    text-align: center;
    width: 270px;
    justify-content: center;
}

.index-div2-div4-div3-div1-button {
    color: rgb(255, 255, 255);
    width: 180px;
    background-color: #3dbaeb;
    border-radius: 20px;
    font-weight: 600;

    margin-top: 70px;
    padding: 15px 10px;
    letter-spacing: 1.5px;

    transition:
        transform 0.25s ease,
        background-color 0.25s ease,
        border-radius 0.25s ease;

}

.index-div2-div4-div3-div1-button:hover {
    color: rgb(255, 255, 255);
    background-color: #3dbaeb;
    border-radius: 25px;
    transform: scale(1.08);
    /* crecimiento proporcional */

}



.index_titulos_contadores {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 200px;
    font-size: 14px;
    position: relative;
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    color: #2536b4;
    margin-top: 50px;
    margin-bottom: -120px;
    ;
}

.index_titulo1_contadores {
    display: flex;
    z-index: 2;

}

.index_titulo2_contadores {
    display: flex;
    z-index: 2;
}

.index_titulo3_contadores {
    display: flex;
    z-index: 2;
}

.index_titulo4_contadores {
    display: flex;
    z-index: 2;
}

/* Contador-----------------------------------------------------------------------------------------------------------------------------------------*/


.index_contadores {
    display: flex;
    justify-content: center;
    /* todo centrado */
    align-items: center;
    padding-inline: 150px;
    gap: 70px;
    /* espacio entre grupos */
    font-size: 90px;
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    color: #dcdcdc;
    background-color: white;
    margin-top: 50px;
    z-index: 1;

}

/* Cada número y su separador se agrupa */
.contador-group {
    display: flex;
    align-items: center;
    gap: 40px;
    /* espacio entre número y separador */
    z-index: 1;

}

/* Números fijos para que los separadores no se muevan */
.purecounter {
    display: inline-block;
    width: 4ch;
    /* ancho basado en caracteres */
    text-align: center;
    z-index: 1;

}

/* Separadores cortos */
.separator {
    width: 2px;
    height: 0.8em;
    background-color: #ccc;
    align-self: center;
    z-index: 1;

}

/* Seción 3 index.php------------------------------------------------------------------------------------------------------------------------------------ */

/* ================= GENERAL ================= */
.index_div3 {
    background-image: url("../img/index_3_background.png");
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 50px 0 30px 0;
    margin-top: 30px;
}

.index_div3_texts {
    text-align: center;
    margin-bottom: 30px;
}

.carousel_container a {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: auto;
}

.index-div3-title {
    font-family: "Conthrax", Sans-serif;
    color: white;
    font-size: 30px;
    user-select: none;
}

.index-div3-subtitle {
    font-family: "Raleway", Sans-serif;
    color: white;
    font-size: 16px;
    line-height: 2em;
    padding: 0 20px;
    user-select: none;
}

/* ================= CAROUSEL ================= */
.carousel_container {
    overflow: hidden;
    width: 100%;
    position: relative;
}

.carousel_track {
    display: flex;
    transition: transform 0.5s ease;
    cursor: grab;
}

/* Cada slide completa */
.carousel_slide {
    min-width: 100%;
}

/* Bloque de items dentro de cada slide */
.index_carousel_items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 110px;
    padding-top: 20px;
}

/* Contenedor de imagen + texto */
.index_carousel_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    user-select: none;
}

/* Imagen */
.index_carousel_item img {
    height: 300px;
    width: 290px;
    object-fit: cover;
    border-radius: 15px;
    transition: transform 0.4s ease, filter 0.4s ease;
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: auto;
}

/* Texto */
.index_carousel_span {
    width: 270px;
    background-color: white;
    border-radius: 25px;
    padding: 50px 30px;
    text-align: center;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    line-height: 1.6;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    user-select: none;
    margin-top: -30px;
}

/* Hover animado */
.index_carousel_item:hover img {
    transform: scale(1.05);
    filter: brightness(1.1);
}

.index_carousel_item:hover .index_carousel_span {
    transform: translateY(-10px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
}

/* Títulos y textos */
.index3_carousel_title {
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    font-size: 22px;
    color: black;
    display: block;
    text-align: center;
    user-select: none;
}

.index3_carousel_subtitle {
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    font-size: 20px;
    color: #3dbaeb;
    text-align: center;
    display: block;
    margin-top: 5px;
    user-select: none;
}

.index3_carousel_text {
    font-family: "Raleway", Sans-serif;
    font-size: 14px;
    color: #c5c5c5;
    margin-top: 10px;
    user-select: none;
}

/* ================= DOTS ================= */
.carousel_dots {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 40px;
    z-index: 1000;
}

.carousel_dot {
    width: 12px;
    height: 12px;
    background: #c5c5c5;
    border-radius: 50%;
    cursor: pointer;
    transition: 0.3s;
}

.carousel_dot.active {
    background: #3dbaeb;
    transform: scale(1.2);
}

/* ================= BOTONES ================= */
.carousel_btn {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    background: white;
    border: none;
    font-size: 25px;
    padding: 15px 20px;
    cursor: pointer;
    border-radius: 12px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    z-index: 100;
}




/* Contenedor de imagen + texto */
.index_carousel_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* Imagen: efecto hover */
.index_carousel_item img {
    height: 300px;
    width: 290px;
    object-fit: cover;
    border-radius: 15px;
    transition: transform 0.4s ease, filter 0.4s ease;
    z-index: 2;
    pointer-events: auto;
    /* permitimos hover */
    overflow: hidden;
}

/* Texto: efecto hover */
.index_carousel_item .index_carousel_span {
    transition: transform 0.4s ease, color 0.4s ease, box-shadow 0.4s ease;
}

/* Animación al pasar el cursor por el contenedor completo */
.index_carousel_item:hover img {
    transform: scale(1.05) translateY(-5px);
    filter: brightness(1.05);
    transition: transform 0.3s ease, filter 0.3s ease;
}

.index_carousel_item:hover .index_carousel_span {
    transform: translateY(-10px);
    /* sube el texto ligeramente */
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
}



/* Seción 4 index.php------------------------------------------------------------------------------------------------------------------------------------ */




.index_div4 {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    /* importante para que no se salga el blur */
}

.index_div4::before {
    content: "";
    position: absolute;
    inset: 0;

    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
        url("../img/emeb-cursos\ copia.png");
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;

    filter: blur(6px);
    /* ajusta aquí la intensidad */
    transform: scale(1.05);
    /* evita bordes raros al hacer blur */
    z-index: 0;
}

/* contenido por encima */
.index_div4>* {
    position: relative;
    z-index: 1;
}

.index_div4_title {
    font-size: 32px;
    display: flex;
    justify-content: center;
    font-family: "Conthrax", Sans-serif;
    color: white;
    padding-top: 100px;

}


.testimonials {
    padding: 50px 0;
}

.index_carousel2 {
    position: relative;
    display: flex;
    justify-content: center;
    /* centra el track horizontalmente */
}


.track {
    display: flex;
    width: max-content;
    margin: 0 auto;
    /* centra el track horizontalmente */
}


.card {
    position: relative;
    /* referencia para el hijo absoluto */
    min-width: 360px;
    width: 550px;
    height: 250px;
    padding: 40px;
    border-radius: 20px;
    background: rgba(13, 45, 75, 0.85);
    color: #fff;
    opacity: 0.4;
    transform: scale(0.9);
    transition: all 0.5s ease;
    text-align: center;
    line-height: 2;
    overflow: visible;
    /* Muy importante para que la imagen no se corte */
}

.card p {
    font-family: "Raleway", Sans-serif;

    padding-inline: 30px;

}

.card span {

    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    font-size: 20px;
    padding-bottom: 20px;

}

.card.active {
    opacity: 1;
    transform: scale(1);
}

.author {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    position: absolute;
    left: 50%;
    bottom: calc(-1 * 41px);
    transform: translateX(-50%);
}

.author img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0;
    z-index: 10;
}

.track {
    cursor: grab;
}

.track:active {
    cursor: grabbing;
}

.index_carousel_responsive {
    display: none;
}

.index_div3_mobile {
    display: none;
}



/* Método emeb div1------------------------------------------------------------------------------------------------------------------------------------ */

.method-div2 {

    display: flex;
    height: auto;
    background-color: white;
    flex-wrap: wrap;

}


.method-div2-1 {
    width: 47%;
    background-image: url("../img/method_div1_img1.png");
    background-size: 500px 1700px;
    /* cubre todo el contenedor */
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    /* 👈 ESTO */
    padding-left: 150px;
    padding-bottom: 120px;
    padding-top: 0;

}

.method-div2-1_2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    padding-right: 50px;
}


.method-div2-1-1 {

    width: 340px;
    height: auto;
    background-color: #123352;
    border-radius: 15px 15px 0 0;
    padding: 40px 10px 20px 20px;
    position: relative;
    display: flex;
    z-index: 3;
    margin-top: 140px;
    line-height: 1.6;
}

.method-div2-1-1-span {

    font-size: 20px;
    color: white;
    height: auto;
    font-family: "Raleway", Sans-serif;
    margin-bottom: 0;
    padding-bottom: 0;
    padding-right: 20px;
    text-align: justify;
}

.method-div2-1-1-img {
    display: flex;
    width: auto;
    height: auto;

}

.method-div2-1-1-img img {
    display: flex;
    border-radius: 25px;
    width: 450px;
    height: auto;

}

.method-div2-2 {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-top: 130px;
    padding-left: 35px;

}

.method-div2-2-subtitle {
    color: #c5c5c5;
    font-family: "Raleway", Sans-serif;
    font-size: 14px;
    font-weight: bold;
    justify-content: flex-start;
}

.method-div2-2-title {
    color: #c5c5c5;
    font-family: "Conthrax", Sans-serif;
    font-size: 45px;
    padding-bottom: 35px;

}

.method-div2-2-texts {
    color: #6f6f6f;
    font-family: "Raleway", Sans-serif;
    font-weight: 500;
    padding-right: 160px;
    line-height: 2.3;
    font-size: 15px
}


/* Sección 2 */


.method-div3 {
    height: auto;
    background-color: white;
    padding-top: 70px;
    margin-bottom: 100px;
}

.method-div3-1 {
    font-family: "Conthrax", Sans-serif;
    font-size: 40px;
    color: #123352;
    padding-left: 100px;

}

.method-div3-timeline {
    padding-top: 50px;
}

/* Sección 3 */




.method_div4 {
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
}



.method_testimonials {
    padding: 50px 0;
}

.method_carousel2 {
    position: relative;

}

.method_track {
    display: flex;
    /* 👈 CLAVE */
    will-change: transform;
}


.method_card {
    position: relative;
    /* referencia para el hijo absoluto */
    min-width: 360px;
    width: 750px;
    height: 500px;
    border-radius: 30px;
    color: #fff;
    opacity: 0.4;
    transform: scale(0.9);
    transition: all 0.5s ease;
    text-align: center;
    line-height: 2;
    overflow: hidden;
    /* Muy importante para que la imagen no se corte */
}

.method_card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    /* 🔥 bloquea clic derecho */

    user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    pointer-events: none;
}

.method_card p {
    font-family: "Raleway", Sans-serif;
    padding-inline: 30px;
}

.method_card span {

    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    font-size: 20px;
    padding-bottom: 20px;

}

.method_card.active {
    opacity: 1;
    transform: scale(1);
}

.method_track {
    cursor: grab;
}

.method_track:active {
    cursor: grabbing;
}

.method_carousel_p {
    position: relative;
    font-size: 14px;
    color: #6f6f6f;
    font-family: "Raleway", Sans-serif;
    padding-inline: 410px;
    justify-content: center;
    line-height: 2;
    margin-bottom: 100px;
}



/* Cursos -------------------------------------------------------------------------------------------------------------------------------------*/

.cursos-section2 {
    background: linear-gradient(to bottom,
            #f5f5f5 0%,
            /* blanco hasta cierto punto */
            #fcfcfc 20%,

            #fafafa 100%
            /* hasta abajo */
        );

}

.cursos-div2 {
    display: flex;
    height: auto;
    background-color: white;
}


.cursos-div2-1 {
    width: 47%;
    background-image: url("../img/image.png");
    background-size: 650px auto;
    /* cubre todo el contenedor */
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    /* 👈 ESTO */
    padding-left: 130px;
    padding-bottom: 70px;
    padding-top: 0;
}




.cursos-div2-1-1 {

    width: 340px;
    height: 160px;
    background-color: #123352;
    border-radius: 15px 15px 0 0;
    padding: 40px 10px 20px 20px;
    position: relative;
    display: flex;
    z-index: 3;
    margin-top: 140px;
    line-height: 1.6;


}

.cursos-div2-1-1-span {

    font-size: 20px;
    color: white;
    height: auto;
    font-family: "Raleway", Sans-serif;
    margin-bottom: 0;
    padding-bottom: 0;
    padding-right: 20px;
}

.cursos-div2-1_2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    padding-right: 50px;
    padding-top: 85px;
}

.cursos-div2-1-1-img {
    display: flex;
    width: auto;
    height: auto;

}

.cursos-div2-1-1-img img {
    display: flex;
    border-radius: 25px;
    width: 420px;
    height: auto;

}

.cursos-div2-2 {
    display: flex;
    flex-direction: column;
    /* apila subtitle, title y textos */
    align-items: center;
    /* centra todo horizontalmente */
    text-align: center;
    /* centra el texto dentro de cada bloque */
    padding: 20px;
    max-width: 900px;
    /* opcional: limita ancho en pantallas grandes */
    margin: 0 auto;
    /* centra el contenedor en la página */
}

.cursos-div2-2-subtitle {
    color: #c5c5c5;
    font-family: "Raleway", Sans-serif;
    font-size: 14px;
    font-weight: bold;
    justify-content: flex-start;
}

.cursos-div2-2-title {
    color: #c5c5c5;
    font-family: "Conthrax", Sans-serif;
    font-size: clamp(24px, 5vw, 45px);
    padding-bottom: 35px;
}



.cursos-div2-2-texts {
    color: #6f6f6f;
    font-family: "Raleway", Sans-serif;
    font-weight: 500;
    line-height: 2.3;
    padding-inline: 40px;
    font-size: 15px
}



.cursos-div3 {
    padding-top: 0;
    margin-top: 0;
}




.cursos-div3-1 {
    display: grid;

    /* Exactamente 2 columnas, mínimo 180px, máximo que ocupe la fracción disponible */
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    gap: 20px 100px;
    /* separación vertical y horizontal */
    width: 90%;
    /* ocupa ancho disponible */
    max-width: 1000px;
    /* evita que las columnas crezcan demasiado */
    margin: 0 auto;
    /* centra el grid */
    padding: 0 clamp(15px, 4vw, 40px);
    justify-content: center;
    margin-bottom: 50px;
}

.cursos-div3-title {
    font-family: "Conthrax", Sans-serif;

    /* Fuente adaptable: nunca menor de 2rem, crece con la pantalla, máximo 3rem */
    font-size: clamp(2rem, 5vw, 3rem);

    color: #a6a6a6;

    /* Centrado horizontal */
    display: flex;
    justify-content: center;

    /* Centrado vertical (si quieres también centrar con altura disponible) */
    align-items: center;

    padding-top: clamp(20px, 5vw, 50px);
    /* padding que también se adapta */
    margin-bottom: clamp(15px, 4vw, 20px);
    /* margen adaptable */

    text-align: center;
    /* asegura que texto multilínea se centre */
}

.cursos-div3-1 a {
    text-decoration: none;
    color: inherit;
    display: block;

    align-items: center;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    text-align: center;
    overflow: visible;

}

/* Contenedor principal (ya lo tienes) */
.cursos-div3-1-grids {
    align-items: center;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    text-align: center;
    overflow: visible;
    width: auto;
}


/* Animación del texto al hacer hover sobre el contenedor */
.cursos-div3-1-grids:hover .cursos-div3-1-grids-texts {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;

}

/* Animación de la imagen al hacer hover sobre el contenedor */
.cursos-div3-1-grids:hover img {
    transform: scale(1.05) translateY(-5px);
    filter: brightness(1.05);
    transition: transform 0.3s ease, filter 0.3s ease;
}

/* Estilos base para texto e imagen */
.cursos-div3-1-grids-texts {
    width: 100%;
    /* ❌ fuera 570px */
    padding: clamp(20px, 4vw, 40px);
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 20px;
    text-align: center;
    margin-top: -20px;
    background: #f1f1f1;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    z-index: 1;
}

.cursos-div3-1-grids img {
    width: 100%;
    z-index: 2;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 20px;
    transition: transform 0.3s ease, filter 0.3s ease;
}

.cursos-div3-1-grids-text1 {
    font-size: clamp(1.1rem, 1.8vw, 1.4rem);
}

.cursos-div3-1-grids-text2 {
    font-size: clamp(1rem, 1.6vw, 1.2rem);
}

.cursos-div3-1-grids-text3 {
    font-size: clamp(0.9rem, 1.2vw, 1rem);
}

.cursos-div3-1-grids-text1 {
    display: flex;
    font-family: "Raleway", Sans-serif;
    font-size: 23px;
    font-weight: bold;
    margin-top: 43px;
}

.cursos-div3-1-grids-text1-bis {
    display: flex;
    font-family: "Raleway", Sans-serif;
    font-size: 23px;
    font-weight: bold;
    margin-top: 43px;
    padding-inline: 80px
}

.cursos-div3-1-grids-text2 {
    display: flex;
    color: rgb(20, 198, 247);
    margin-top: 32px;
    font-size: 21px;
    font-weight: bold;


}

.cursos-div3-1-grids-text2-bis {
    display: flex;
    color: rgb(20, 198, 247);
    margin-top: 13px;
    font-size: 21px;
    font-weight: bold;

}

.cursos-div3-1-grids-text3 {
    margin-top: 21px;
    color: #a1a1a1;
    font-family: "Raleway", Sans-serif;
    margin-bottom: 50px;
    line-height: 2;

    /* font-size adaptable */
    font-size: clamp(12px, 1.5vw, 18px);
}

.cursos-div3-1-grids-text3-bis {
    margin-top: 21px;
    color: #a1a1a1;
    font-size: 14.5px;
    padding-inline: 80px;
    font-family: "Raleway", Sans-serif;
    margin-bottom: 42px;
    line-height: 2;

}


.cursos-div3-1-grids-text4 {

    display: flex;

}




/* QUIENES SOMOS --------------------------------------------------------------------------------------------------*/

.quienes-div2 {

    display: flex;
    height: auto;
    background-color: white;
    flex-wrap: wrap;
    margin-bottom: 100px;

}


.quienes-div2-1 {
    width: 47%;
    background-image: url("../img/method_div1_img1.png");
    background-size: 500px 1700px;
    /* cubre todo el contenedor */
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    /* 👈 ESTO */
    padding-left: 150px;
    padding-bottom: 120px;
    padding-top: 0;
}


.quienes-div2-1_2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    padding-right: 50px;
}


.quienes-div2-1-1 {

    width: 340px;
    height: auto;
    background-color: #123352;
    border-radius: 15px;
    padding: 40px 10px 20px 20px;
    position: relative;
    display: flex;
    z-index: 3;
    margin-top: 140px;
    line-height: 1.6;


}

.quienes-div2-1-1-span {

    font-size: 20px;
    color: white;
    height: auto;
    font-family: "Raleway", Sans-serif;
    margin-bottom: 0;
    padding-bottom: 0;
    padding-right: 20px;
    text-align: justify;
}

.quienes-div2-1-1-img {
    display: flex;
    width: auto;
    height: auto;

}

.quienes-div2-1-1-img img {
    display: flex;
    border-radius: 25px;
    width: 450px;
    height: auto;

}

.quienes_div3 {
    display: flex;
    width: 100%;
    height: auto;
    /* opcional */
}

.quienes_izquierda {
    width: 50%;
    justify-content: left;
    padding: 0px 0px 0px 100px;
    margin-top: 130px;


}

.quienes_izquierda_title {
    font-size: 50px;
    color: #c5c5c5;
    line-height: 1;
    margin-bottom: 20px;
    font-family: "Conthrax", Sans-serif;


}

.quienes_derecha {
    width: 50%;
    padding-right: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;

}

.left_quienes {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.quienes-div2-2-texts {
    color: #6f6f6f;
    font-family: "Raleway", Sans-serif;
    font-weight: 500;
    padding-right: 60px;
    font-size: 15px;
    display: flex;
    flex-direction: column;
}

.quienes-div2-2-texts {
    color: #6f6f6f;
    font-family: "Raleway", Sans-serif;
    font-weight: 500;
    line-height: 2.3;
    font-size: 15px;
    display: flex;
}

.quienes-div2-div1 {
    width: auto;
    height: 70px;
    background-color: #123352;
    border-radius: 15px;
    padding: 30px 60px 50px 40px;
    position: relative;
    display: inline-flex;
    /* 👈 clave */
    width: fit-content;
    z-index: 3;
    margin-top: -300px;
    margin-bottom: -100px;
}


.quienes-div2-div1-div1 {
    font-family: "Raleway", Sans-serif;
    width: auto;
    white-space: nowrap;
    height: auto;
    display: flex;
    flex-direction: column;
    color: white;
    font-size: 16px;
    letter-spacing: 1.2;

}


.quienes-div2-div2 {
    border-radius: 30px;
    padding: 40px 0 40px 20px;
    z-index: 2;
    display: flex;
    width: auto;
    margin-left: auto;

}

.quienes-div2-div2 img {
    max-width: 500px;
    height: auto;
    border-radius: 20px;
    position: relative;
    display: block
}

.quienes-div2-div3 {
    border-radius: 30px;
    padding: 40px 0 40px 20px;
    z-index: 2;

}

.quienes-div2-div3 img {
    max-width: 450px;
    width: 100%;
    height: auto;
    border-radius: 20px;
    position: relative;
    display: block
}



.quienes-div2-div1-div2 {

    padding-left: 10px;
    border-radius: 15px;
    line-height: 1.5;
    /* 1.5 veces la altura de la fuente */

}


.quienes-div2-span1 {

    color: white;
    font-family: "Raleway", Sans-serif;
    font-size: 50px;
    font-weight: bold;
    text-align: center;
}

.quienes-div2-span2 {

    font-size: 15px;
    color: white;
    height: auto;
    font-family: "Raleway", Sans-serif;

}



.quienes2_contenedor {
    display: flex;
    width: 100%;
}

/* Parte izquierda 66% */
.quienes2_left {
    width: 62%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 20px 0 20px 100px;
    box-sizing: border-box;

    /* filas adaptables */
    grid-auto-rows: minmax(200px, auto);
}

/* Contenedor de cada imagen */
.quienes2_item {
    position: relative;
    /* 👈 clave */
    border-radius: 25px;
    overflow: hidden;
    aspect-ratio: 4 / 5;
}

/* Imagen */
.quienes2_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Capa de texto */
.quienes2_overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    color: white;

    /* degradado para que el texto se lea mejor */
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
}

/* Estilos texto */
.quienes2_overlay h3 {
    margin: 0;
    font-size: 18px;
}

.quienes2_overlay p {
    margin: 5px 0 0 0;
    font-size: 14px;
}


/* Parte derecha 33% */
.quienes2_right {
    width: 38%;
    padding: 40px;
    padding-inline: 80px;
    box-sizing: border-box;
}

.quienes2_right span {
    font-family: "Conthrax", Sans-serif;
    color: #c5c5c5;
    font-size: 50px;


}

.quienes2_right p {
    color: #6f6f6f;
    font-family: "Raleway", Sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 2.3;

}


/* Contenedor principal */
.quienes3_contenedor {
    width: 100%;
    height: auto;
    display: flex;
    /* Divide en columnas */
    background-image: url("../img/quienes3_background.png");
    padding-top: 100px;
    margin-bottom: 100px;
    padding-bottom: 50px;
}

/* Lado izquierdo */
.quienes3_left {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Imagen */
.quienes3_left img {
    max-width: 100%;
    max-height: 100%;
    /* Mantiene proporción */
}

/* Lado derecho */
.quienes3_right {
    width: 50%;
    height: auto;
    color: white;
}

.quienes3_right_title {
    font-family: "Conthrax", Sans-serif;
    font-size: 33px;
    padding-inline: 50px;
    padding-right: 200px;

}


.quienes3_right_text {
    font-family: "Raleway", Sans-serif;
    font-size: 15px;
    padding-inline: 50px;
    padding-right: 200px;
    line-height: 1.8;
    gap: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* centra vertical */
    align-items: center;
    /* centra horizontal */

}


.quienes_button {
    width: auto;
    font-size: 15px;
    font-weight: 250;
    border-radius: 20px;
    background-color: rgb(255, 255, 255);
    color: rgb(39, 183, 255);
    text-decoration: none;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    display: inline-block;
    /* o inline-flex */
    padding-inline: 40px;
    transition:
        background-color 0.3s ease,
        transform 0.2s ease,
        box-shadow 0.3s ease;
}



.quienes_button:hover {
    background-color: rgb(255, 255, 255);
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(61, 186, 235, 0.4);
}


.contacto_contador {
    display: flex;
    flex-direction: column;
    padding-inline: 6%;
    justify-content: center;
    /* centra vertical */
    align-items: center;
    /* centra horizontal */
}


.contacto_titulos_contadores {
    display: flex;
    align-items: center;
    font-size: 14px;
    position: relative;
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    color: #626262;
    margin-top: 50px;
    margin-bottom: -150px;
    z-index: 4
}

.contacto_titulo1_contadores {
    display: inline-flex;
    z-index: 2;
    gap: 25px;


}

.icons_titulo1_contadores2 {
    padding-inline: 80px;
}

.icons_titulo1_contadores3 {
    padding-inline: 80px;

}

.icons_titulo1_contadores4 {
    padding-inline: 100px;

}

.icons_titulo1_contadores5 {
    padding-inline: 100px;

}


.icons_titulo1_contadores_telf {
    display: inline-flex;
    z-index: 1;

}

.contacto_titulo1_contadores2 {
    padding-inline: 40px;
}

.contacto_titulo1_contadores3 {
    padding-inline: 40px;

}

.contacto_titulo1_contadores4 {
    padding-inline: 50px;

}

.contacto_titulo1_contadores5 {
    padding-inline: 50px;

}


.contacto_titulo1_contadores span {
    width: 100%;
    white-space: nowrap;
    /* evita saltos de línea */
    overflow: hidden;
    /* opcional: oculta texto que se salga del contenedor */
    text-overflow: ellipsis;
    /* opcional: agrega "..." si se corta el texto */
}

.contacto_social {
    display: inline-flex;
    font-size: 25px;
    gap: 5px;
    padding-left: 50px;

}


/* Contador ------------------------------------------------------------------------ */

.contacto_contadores {
    display: flex;
    justify-content: center;
    /* todo centrado */
    align-items: center;
    /* espacio entre grupos */
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    color: #dedede;
    background-color: white;
    margin-top: 50px;
    z-index: 1;

}

.contacto_contadores i {
    font-size: 110px;
}

.contacto_contadores span {
    font-size: 23px;
}

.contacto_contadores>.contacto_span {
    align-self: flex-start;
    /* esto mueve solo este hijo al inicio vertical */
    padding-top: 20px;
}

/* Cada número y su separador se agrupa */
.contador-group {
    display: flex;
    align-items: center;
    gap: 40px;
    /* espacio entre número y separador */
    z-index: 1;
}

/* Números fijos para que los separadores no se muevan */
.purecounter {
    display: inline-block;
    width: 4ch;
    /* ancho basado en caracteres */
    text-align: center;
    z-index: 1;
}

/* Separadores cortos */
.separator {
    width: 2px;
    height: 0.8em;
    background-color: #ccc;
    align-self: center;
    z-index: 1;
}

/* Botón de WhatsApp */
.whatsapp-btn {
    position: fixed;
    bottom: 20px;
    left: 20px;
    background-color: #25D366;
    color: white;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    text-decoration: none;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
    z-index: 9999;
}

.whatsapp-btn i {
    color: white;
    text-decoration: none;
    /* color fijo */
}

/* Evitar cambios de color del enlace al hacer hover */
.whatsapp-btn {
    color: white;
    /* color base */
    text-decoration: none;
    /* quitar subrayado si hubiera */
}

.whatsapp-btn:hover {
    color: white;
    text-decoration: none;
    background-color: #1ebe57;
    /* verde más oscuro al hacer hover */

    /* sigue siendo blanco */
}

/* Texto oculto */
.hover-show {
    position: fixed;
    bottom: 35px;
    left: 90px;
    color: white;
    opacity: 0;
    transition: opacity 0.3s ease;
    background: linear-gradient(135deg, #dfffe0, #25D366);
    padding: 6px 12px;
    border-radius: 8px;
    pointer-events: none;
    z-index: 10000;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);

}

/* Mostrar el texto solo cuando se pasa el cursor por el botón */
.whatsapp-btn:hover+.hover-show {
    opacity: 1;
}

.deliverybikes-contact {
    display: flex;
    gap: 80px;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    padding-inline: 80px;
}

.deliverybikes-contact__image img {
    max-width: 100%;
    height: auto;
    display: block;
}

.deliverybikes-contact__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.deliverybikes-contact__title {
    font-family: 'Oswald', sans-serif;
    font-size: 30px;
}

.deliverybikes-contact__info {
    margin-top: 10px;
}

/* TABLET */
@media (max-width: 1024px) {
    .deliverybikes-contact {
        flex-wrap: wrap;
        gap: 40px;
        text-align: center;
    }

    .deliverybikes-contact__content {
        align-items: center;
    }
}

/* MOBILE */
@media (max-width: 600px) {
    .deliverybikes-contact {
        gap: 15px;
    }

    .deliverybikes-contact__title {
        font-size: 22px;
    }
}