*{ user-select: none; }

#banner{
    background-image: url("../../img/imagenescabecera/Grupo 1251.jpg");
    background-repeat: no-repeat; background-size: cover;
    display: flex; align-items: center; justify-content: center; padding: 20px 0;
}
#banner h3, #banner h1{
    margin: 0; color: #FFF;
    font-size: 34px; line-height: 40.8px; font-family: Carter One; font-weight: 400;
}

main{ margin: 90px 0 50px 0; }

/* ── GRID ── */
#paso_0_v2{
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 32px;
    padding: 0 40px;
}

/* ── CARD ── */
#paso_0_v2 .tarjeta{
    display: flex;
    flex-basis: 30%;
    flex-grow: 1;
    flex-direction: column;
    gap: 20px;
    text-align: center;
    min-width: 270px;
    max-width: 400px;
}
#paso_0_v2 .tarjeta .tarjeta_info{
    background: #002444;
    border-radius: 27px;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    flex-grow: 1;
}
#paso_0_v2 .tarjeta .tarjeta_action{ cursor: pointer; }
#paso_0_v2 .tarjeta .tarjeta_info:hover{ box-shadow: 0px 10px 25px #00000029; }
#paso_0_v2 .tarjeta .tarjeta_cabecera{ width: 100%; }

#paso_0_v2 .tarjeta .tarjeta_info .tarjeta_cabecera .tarjeta_cabecera_img{
    overflow: hidden; border-radius: 27px 27px 0 0 !important; height: 200px;
}
#paso_0_v2 .tarjeta .tarjeta_info .tarjeta_cabecera .tarjeta_cabecera_img img{
    width: 100%; object-fit: cover; height: 200px;
    border-radius: 27px 27px 0 0 !important; object-position: center;
}
#paso_0_v2 .tarjeta .tarjeta_info .tarjeta_cabecera .nombre{
    font: normal normal normal 32px/48px 'Carter One', sans-serif;
    margin: 0; padding: 8px 16px 0;
}
#paso_0_v2 .tarjeta .tarjeta_info .tarjeta_cuerpo{
    padding: 16px 32px 32px;
    font: normal normal normal 14px/24px Poppins;
    flex-grow: 1;
}

/* Yellow button */
#paso_0_v2 .tarjeta form button,
#paso_0_v2 .tarjeta .contenedor_button form button {
    background: #FFC900;
    border-radius: 28px !important;
    color: #000; font-size: 16px;
    font-family: Poppins; font-weight: 500;
    width: 80%; padding: 16px 23px !important;
    border: none; cursor: pointer; transition: 0.3s;
}
#paso_0_v2 .tarjeta form button:hover{ box-shadow: 0 20px 38px rgba(0,0,0,0.16); transform: translateY(-3px); }
#paso_0_v2 .tarjeta form button:active{ transform: scale(0.98); color: #000; }

#paso_0_v2 .tarjeta .contenedor_button{
    display: flex; flex-wrap: wrap; align-items: center; gap: 20px;
}
#paso_0_v2 .tarjeta .contenedor_button form{
    flex-grow: 1; flex-basis: 47%;
}
#paso_0_v2 .tarjeta .contenedor_button form button{ width: 100%; }

/* ── DESKTOP wide ── */
@media only screen and (min-width: 1100px){
    #paso_0_v2 { padding: 0 60px; }
}

/* ── TABLET (690px – 999px): 2 columns ── */
@media only screen and (min-width: 690px) and (max-width: 999px){
    main { padding: 0; }
    #paso_0_v2 { padding: 0 24px; gap: 20px; }
    #paso_0_v2 .tarjeta { flex-basis: calc(50% - 10px); min-width: 0; max-width: none; }
}

/* ── MOBILE (< 690px): 1 column, full width, big image ── */
@media only screen and (max-width: 689px){
    main { margin: 16px 0 40px; padding: 0; }

    #paso_0_v2 {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        padding: 0 16px;
    }
    #paso_0_v2 .tarjeta {
        flex-basis: auto;
        min-width: 0;
        max-width: 100%;
        width: 100%;
        gap: 16px;
        min-height: auto;
    }
    /* Image taller on mobile */
    #paso_0_v2 .tarjeta .tarjeta_info .tarjeta_cabecera .tarjeta_cabecera_img{
        height: 240px;
        border-radius: 27px 27px 0 0 !important;
    }
    #paso_0_v2 .tarjeta .tarjeta_info .tarjeta_cabecera .tarjeta_cabecera_img img{
        height: 240px;
    }
    /* Larger title */
    #paso_0_v2 .tarjeta .tarjeta_info .tarjeta_cabecera .nombre{
        font-size: 28px; line-height: 1.2; padding: 12px 20px 4px;
    }
    /* Description text */
    #paso_0_v2 .tarjeta .tarjeta_info .tarjeta_cuerpo{
        padding: 12px 24px 28px; font-size: 15px; line-height: 1.6;
    }
    /* Full-width button */
    #paso_0_v2 .tarjeta form button,
    #paso_0_v2 .tarjeta .contenedor_button form button {
        width: 88%;
        padding: 18px 24px !important;
        font-size: 17px;
        border-radius: 32px !important;
    }
    /* Hide desktop H1/H2 title block */
    #header-paso-0 { display: none !important; }
}

/* ── SUBFOOTER LOGOS ── */
#subfooter-logos {
    padding: 40px 20px 20px;
    background: #fff;
}
.subfooter-logos-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 24px 32px;
    max-width: 860px;
    margin: 0 auto;
}
.subfooter-logos-grid a img {
    height: 80px;
    width: auto;
    max-width: 140px;
    object-fit: contain;
    display: block;
}
.subfooter-divider {
    border: none;
    border-top: 1px solid #e0e0e0;
    margin: 20px auto;
    max-width: 800px;
}
.cert-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 20px 32px;
    max-width: 600px;
    margin: 0 auto;
}
.cert-logos img {
    height: 56px;
    width: auto;
    object-fit: contain;
    display: block;
}
.subfooter-links {
    text-align: center;
    font-size: 14px;
    color: #000;
    font-family: Poppins;
    margin: 0;
    padding: 4px 0;
}
.subfooter-links a {
    color: #000;
    text-decoration: none;
}
.subfooter-links a:hover { text-decoration: underline; }

@media only screen and (max-width: 689px) {
    .subfooter-logos-grid { gap: 16px 20px; }
    .subfooter-logos-grid a img { height: 60px; max-width: 110px; }
    .cert-logos img { height: 44px; }
    .subfooter-links { font-size: 13px; }
}

/* Swal */
.ticksfix{ display: none !important; visibility: hidden !important; }
div .swal2-modal{ background: #002444; border: #FFC900 3px solid; font-family: Carter One; color: white; }
div .swal2-modal .swal2-footer{ text-align: center; }
.swal2-confirm.swal2-styled{ background: #FFC900; color: #000; }
.swal2-deny.swal2-styled{ color: #000; }
