/* =========================================
   DEFINICIÓN DE FUENTES (Todas con el mismo nombre de familia)
   ========================================= */

/* 1. Thin (Peso 100) */
@font-face {
    font-family: 'FS Elliot Pro';
    src: url('../fonts/FS-Elliot-ProThin.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
}
@font-face {
    font-family: 'FS Elliot Pro';
    src: url('../fonts/FS-Elliot-ProThinItalic.otf') format('opentype');
    font-weight: 100;
    font-style: italic;
}

/* 2. Light (Peso 300) */
@font-face {
    font-family: 'FS Elliot Pro';
    src: url('../fonts/FS-Elliot-ProLight.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'FS Elliot Pro';
    src: url('../fonts/FS-Elliot-ProLightItalic.otf') format('opentype');
    font-weight: 300;
    font-style: italic;
}

/* 3. Regular (Peso 400 - Normal) */
@font-face {
    font-family: 'FS Elliot Pro';
    src: url('../fonts/FS-Elliot-ProRegular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'FS Elliot Pro';
    src: url('../fonts/FS-Elliot-ProItalic.otf') format('opentype');
    font-weight: 400;
    font-style: italic;
}

/* 4. Bold (Peso 700) */
@font-face {
    font-family: 'FS Elliot Pro';
    src: url('../fonts/FS-Elliot-ProBold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'FS Elliot Pro';
    src: url('../fonts/FS-Elliot-ProBoldItalic.otf') format('opentype');
    font-weight: 700;
    font-style: italic;
}

/* 5. Heavy (Peso 900) */
@font-face {
    font-family: 'FS Elliot Pro';
    src: url('../fonts/FS-Elliot-ProHeavy.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
}
@font-face {
    font-family: 'FS Elliot Pro';
    src: url('../fonts/FS-Elliot-ProHeavyItalic.otf') format('opentype');
    font-weight: 900;
    font-style: italic;
}

/* =========================================
   APLICACIÓN GLOBAL
   ========================================= */

body {
    background-color: #263B61;
    overflow-x: hidden;
    /* Al usar el nombre genérico, el navegador usa Regular (400) por defecto */
    font-family: 'FS Elliot Pro', sans-serif !important;
}

/* =========================================
   YA NO NECESITAS ESTO
   ========================================= */
/* Al unificar el nombre de la familia arriba, las clases nativas
   de Bootstrap (.fw-light, .fw-bold, b, strong) funcionarán 
   automáticamente porque solo cambian el font-weight numérico.
   
   Solo si Bootstrap no reconoce 'Heavy', puedes agregar esto manualmente:
*/




body {
background-color: #263B61;
overflow-x: hidden;
font-weight: 100;

}
.fw-thin {
font-weight: 100 !important;
}
.fw-light {
font-weight:300 !important;
}
.fw-bold {
font-weight: 700 !important;
}
.fw-heavy {
font-weight: 900 !important;
}
.text-warning {
color: #e9b14e !important;
}
b {

font-weight: 700;
}
strong {
font-weight: 900;
}
#bg {
z-index: -1;
width: 100vw;
min-height: 100vh;
height: 100%;
}
#bg img {
object-fit: cover;
object-position: center center;
height: 100%;
}
main {
min-height: 90vh;
}


label {
transform: scale(0.85) translateY(-0.9rem) translateX(0.75rem);
background: white;
color: #000 !important;
padding: 0px 10px !important;
max-width: auto !important;
height: auto !important;
font-family: 'FS Elliot ProRegular', sans-serif;
letter-spacing: 0.5px;
}
.form-floating > .form-control:focus ~ label, .form-floating > .form-control:not(:placeholder-shown) ~ label, .form-floating > .form-control-plaintext ~ label, .form-floating > .form-select ~ label {
transform: scale(0.85) translateY(-0.9rem) translateX(0.75rem);

}

.consent-check {
align-items: flex-start;
font-size: 15px;
line-height: 1.15;
text-align: left;
}

.consent-check .form-check-input {
flex: 0 0 auto;
margin-top: 0.15rem;
}

.consent-check .form-check-label {
background: transparent;
color: #212529 !important;
font-family: 'FS Elliot Pro', sans-serif;
font-weight: 400;
height: auto !important;
letter-spacing: 0;
line-height: 1.15;
max-width: none !important;
padding: 0 !important;
transform: none;
}

.consent-modal-link,
.consent-modal-link:hover {
color: #0d6efd;
font-weight: 700;
text-decoration: underline;
}

.modal-body p,
.modal-body li {
font-size: 15px;
line-height: 150%;
font-weight: 400;
margin-bottom: 10px;
}

#titulos {
    display: flex;
    align-content: stretch;
    justify-content: space-between;
    flex-direction: column;
}

@media (min-width: 1400px) {
.container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
max-width: 1520px;
}
main p {
font-size: 24px;
}
}
main p {
font-size: 1.2rem;
}
@media (max-width: 768px) {
main p {
font-size: 17px;
}
}

      #form 
    {
        padding-top: 15% !important;
    }

@media (min-width: 1200px) {
    .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1300px;
    }
}

@media (max-width: 1399px)   {
    #titulos {
        /* margin-top: -170px; */
    }
    .card-body h1 {
        font-size: 30px;
    }
}

@media (max-width: 1200px) {
    .display-3 {
        font-size: 3rem !important;
    }
    .form-floating > .form-control, .form-floating > .form-control-plaintext {
        padding: 0.2rem 0.575rem;
    }
    .form-floating > .form-control, .form-floating > .form-control-plaintext, .form-floating > .form-select {
        height: calc(2.5rem + calc(var(--bs-border-width) * 2));
        min-height: calc(2.5rem + calc(var(--bs-border-width) * 2));
        line-height: 1.25;
    }

}

@media (max-height: 1390px) {
    #titulos {
        padding-right: 10%;
    }
    .display-3 {
        font-size: 3rem !important;
    }
    .form-floating > .form-control, .form-floating > .form-control-plaintext {
        padding: 0.2rem 0.575rem;
    }
    .form-floating > .form-control, .form-floating > .form-control-plaintext  {
        height: calc(2.5rem + calc(var(--bs-border-width) * 2));
        min-height: calc(2.5rem + calc(var(--bs-border-width) * 2));
        line-height: 1.25;
    }

  .form-floating > .form-select {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0.75rem;
    }
}

 

@media (max-height: 1199px) {
    #titulos {
        padding-right: 5%;
    }
        .display-3 {
        font-size: 2.3rem !important;
    }
      #form 
    {
        padding-top: 2% !important;
    }
    .logo {
        margin-top: 6%;
    }
}






@media (max-width: 768px)  {
    #titulos {
        margin: 30px 0px !important;
    }
           .logo {
        margin-top: 0%;
    }
}



@media (max-width: 991px)  
{
    #titulos {
    justify-content: flex-start !important;
    }
    #titulos .d-block {
        margin-top: 80px;
     
    }
    main {
        min-height: auto;
    }

    label {
transform: scale(0.75) translateY(-0.9rem) translateX(0.75rem);
 
letter-spacing: 0.3px;
}

}

@media (max-width: 768px)  
{   
    #form 
    {
        /* margin-top: 20px !important; */
    }
    /* #titulos {
    justify-content: flex-start !important;
    } */
    #titulos .d-block {
        margin-top: 30px;
     
    }
    /* main {
        min-height: auto;
    } */

    footer {
        margin-top: 30px;
    }


        .form-floating > .form-control, .form-floating > .form-control-plaintext {
        padding: 0.12rem 0.375rem;
    }
    .form-floating > .form-control, .form-floating > .form-control-plaintext, .form-floating > .form-select {
        height: calc(2.5rem + calc(var(--bs-border-width) * 2));
        min-height: calc(2.5rem + calc(var(--bs-border-width) * 2));
        line-height: 1.25;
    }


}



@media (min-width: 1400px)  {

    main 
    {
        display: flex;
        justify-content: center;
        align-items: center;
    }
 
}


@media (min-width: 768px) {
    .container-md, .container-sm, .container {
        max-width: 95%;
    }
}
@media (min-width: 1900px) and (min-height: 800px)
{
    main {
        min-height: 100vh;
        align-items: center;
        padding-top: 0;
    }

    #form {
        width: 100%;
        min-height: 100vh;
        display: flex;
        align-items: center;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        scale: 1;
    }

    #form .container {
        max-width: 1560px;
        margin-right: auto;
        margin-left: auto;
    }

    #form .row {
        align-items: stretch;
    }

    #titulos {
        padding-right: 7%;
    }

    #titulos .d-block {
        margin-top: 0;
    }

    .logo {
        margin-top: 0;
    }

    .display-3 {
        font-size: clamp(2.6rem, 2.4vw, 3.4rem) !important;
    }
}

@media (min-width: 992px) {
    #form .row {
        align-items: stretch;
    }

    #titulos {
        display: grid;
        grid-template-rows: auto 1fr auto;
        align-self: stretch;
    }

    #titulos .logo {
        align-self: start;
        margin-top: 0;
    }

    #titulos .d-block {
        align-self: center;
        margin-top: 0;
    }

    #titulos > .d-none.d-md-flex {
        align-self: end;
    }
}



@media (max-height: 680px) {
    #titulos {
        /* padding-right: 10%; */
    }
    .display-3 {
        font-size: 2rem !important;
    }
    .form-floating > .form-control, .form-floating > .form-control-plaintext {
        padding: 0.12rem 0.375rem;
    }
    .form-floating > .form-control, .form-floating > .form-control-plaintext, .form-floating > .form-select {
        height: calc(1.5rem + calc(var(--bs-border-width) * 2));
        min-height: calc(2.5rem + calc(var(--bs-border-width) * 2));
        line-height: 1.25;
    }
    .card-body {
        padding: 0px !important;
    }

    #form {
        margin-top: 0px !important;
    }

}

/* =========================================
   ESTILOS GENERALES
   ========================================= */

/* Estilos de botones */

/* Estilos de formularios */

/* Estilos de navegación */

/* Estilos de secciones */

/* Estilos de pie de página */
