@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --blue: #49B456;
    --crimson: #2152A0;
    --black: #000;
    --white: #fff;
    --grey: #6F6F6F;
    
    --font-claim: 25px;
    --font-title: 35px;
    --font-text: 20px;
    --font-cta: 22px;
    --font-legend: 22px;
    --font-label: 15px;
    --font-input: 14px;
    --font-footer: 15px;
    --font-check: 12px;

}

/* Reset básico y tipografía */
html,
body {
    font-family: 'Raleway', Arial, Helvetica, sans-serif;
    /* Evita scroll horizontal no deseado en móvil por elementos con márgenes/padding agresivos */
    overflow-x: hidden;
}

p, label, form{margin: 0;}

/* HEADER */
.header {
    padding: 0.5rem 0;
    background-color: var(--blue);
}
.header__container,
.section__container,
.footer__container {
    /* Se usan valores mínimos; en muchos casos, Bootstrap maneja el espaciado en sus contenedores y columnas */
    padding: 0.3rem;
}
.header__img {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 250px;
}

.footer__img{
    display: block;
    margin-right: auto;
    width: 100%;
    max-width: 250px;
}

/* SECTION */
.section {
    /* Se confía en los contenedores y filas de Bootstrap para la distribución; se usa padding solo para separar bloques */
    padding: 3.5rem 0;
}
.section--hero {
    background: url('../img/portada.svg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.section__text {
    color: var(--black);
    font-weight: 800;
    font-size: var(--font-text);
    text-align: center;
    line-height: 1.7;
}

.section__container--global-claim{
    padding: 0 3.5rem;
    
}

.section__claim{
    color: var(--white);
    font-size: var(--font-claim);
    font-weight: 500;
    width: 100%;
    max-width: 440px;
    margin-right: auto;
    text-align: left;
    line-height: 1.5;
}

/* IMÁGENES DE SECCIÓN */
.section__img {
    display: block;
    width: 100%;
}

.section__img--justicia {
    width: 80%;        /* responsive: escala con el contenedor */
    max-width: 300px;  /* más pequeña en pantallas grandes */
    height: auto;      /* mantiene proporción */
    margin: 12px auto; /* centrada */
}

.section__img--checkwhite, .section__img--checkblue{
    display: inline;
    width: 25px;
    height: 25px;
}

.section__list{
    list-style: none;
    margin-top: 25px;
    text-align: left;
}

.section__text--element-list-top{
    color: var(--white);
    font-weight: 600;
    font-size: var(--font-claim);
    margin-bottom: 10px;
    text-align: left;
}

.section__text--title {
    font-weight: 800;
    color: var(--blue);
    font-size: var(--font-title);
    margin-bottom: 15px;
}

.section__text--left{
    text-align: left;
}

.section__text--white{
    color: var(--white);
}

.section--box{
    padding: 80pt 0;
}

.section__box{
    padding: 30px;
    border-radius: 30px;
    -o-border-radius: 30px;
    -moz-border-radius: 30px;
    -webkit-border-radius: 30px;
}


.section__box4{
    background: linear-gradient(180deg, var(--blue) 48.8%, #000 197%);
    margin-left: -25px;
}

.section__box3{
    background: linear-gradient(0deg, var(--crimson) 0%, #1D2B4D 100%);
    margin-top: -50px;
}

.strech{
    align-self: stretch;
}

.section__list--box  {
    list-style-type: disc;
    margin-top: 0;
    padding-inline-start: 10px;
}

.section__text--element-list--box{
    font-weight: 500;
    margin-bottom: 10px;
}


.section--background-image{
    background: url('../img/fondo.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
    padding-top: 80pt;
    padding-bottom: 200pt;
}

.section__container--blue{
    background: var(--blue);
    padding: 35px;
    border-radius: 30px;
    -o-border-radius: 30px;
    -moz-border-radius: 30px;
    -webkit-border-radius: 30px;
}

.section__text--sblue {
    line-height: 2;
}


.section__list--down {
    padding-inline-start: 0;

}

.section__text--element-list-2 {
    text-align: left;
    margin-bottom: 25px;
    font-size: 13px;
}

.section__text--element-list-2 b{
    color: var(--black);
    font-weight: 800;
    font-size: 18px;
    text-align: center;
    line-height: 1.7;
}


.card{
    border: none;
}

.section--comments{
    padding-top: 0;
}

.section__text--blue {
    color: #014F9A;
    font-size: 18px;
}


.section--end{
    padding-top: 0;
}

.footer{
    background: var(--blue);
    padding: 10pt 0;
}

.footer__text {
    font-size: var(--font-footer);
    color: var(--white);
    font-weight: 500;
    text-align: center;
}

.footer__text a {display: block;text-decoration: none; color: var(--white) !important;}

/* FORMULARIO */
.section__container--form {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    background: var(--white);
    padding: 0 16px;
}


.section__container--form iframe {
    width: 100%;
    border: none;
    height: 1000px;
}

@media (min-width: 320px)  { .section__container--form iframe { height: 620px; } }
@media (min-width: 576px)  { .section__container--form iframe { height: 600px; } }
@media (min-width: 768px)  { .section__container--form iframe { height: 600px; } }
@media (min-width: 992px)  { .section__container--form iframe { height: 580px ; } }
@media (min-width: 1200px) { .section__container--form iframe { height: 600px ; } }
@media (min-width: 1440px) { .section__container--form iframe { height: 580px ; } }

@media (min-width: 375px)  { .section__container--form { max-width: 460px; } }
@media (min-width: 768px)  { .section__container--form { max-width: 460px; padding: 0; } }
@media (min-width: 992px)  { .section__container--form { max-width: 460px; } }
@media (min-width: 1200px) { .section__container--form { max-width: 460px; } }
@media (min-width: 1440px) { .section__container--form { max-width: 460px; } }

.section__hr{
    color: var(--blue);
    opacity: 1;
}

.section__text--label{
    font-size: var(--font-label);
    font-weight: 600;
    text-align: left;
    margin-bottom: 5px;
}

.section__text--check{
    text-align: left;
    font-size: var(--font-check);
    color: var(--blue);
    margin-left: 5px;
    font-weight: 500;
    letter-spacing: -0.5px;
    padding-top: 3px;
}

.section__text--check a{
    color: var(--blue) !important;
}

.form__input {
    text-align: left;
    width: 100%;
    border: 1px solid var(--blue);
    padding: 10px;
    font-size: var(--font-input);
    color: var(--black);
    border-radius: 2px;
    margin-bottom: 5px;
}
.form__input-container {
    padding: 10px;
}
.form__input-checkbox-container {
    display: flex;
    align-items: start;
}
input[type="checkbox"] {
    width: 25px;
    height: 25px;
}
.form__text--legal {
    text-align: center;
    font-size: 9pt;
    color: var(--gris-oscuro);
    position: relative;
    bottom: 3px;
}
.form__text--legal a {
    color: var(--primary-colour) !important;
}
.form__button {
    width: 100%;
    background: var(--tertiary-colour);
    color: var(--white);
    font-size: var(--big);
    cursor: pointer;
    transition: ease 0.2s;
    border: 2px solid var(--tertiary-colour);
    padding: 4px;
    border-radius: 35px;
}
.form__button:hover {
    background: var(--white);
    color: var(--tertiary-colour);
}

/* Disclaimer (si se usa) */
.text-disclaimer {
    font-size: 12pt;
    color: var(--negro-medio);
    text-align: left;
    font-weight: 500;
}

/* BOTÓN DE SECCIÓN / CTA */
.section__button {
   width: 100%;
   max-width: 300px;
   background: var(--crimson);
   color: var(--white);
   font-weight: bold;
   text-align: center;
   margin: 0 auto;
   display: block;
   margin-top: 15px;
   padding: 10px 0;
   border: 2px solid var(--crimson);
   transition: 0.3s ease;
   font-size: var(--font-cta);
}

.section__button:hover{
    background: var(--white);
    color: var(--crimson);

}

.section__button--form{
    max-width: 100%;

}

.section__container--form {
    background-color: white;
}

/* RESPONSIVE */
/* Los breakpoints se pueden dejar vacíos si en el HTML se usan clases de Bootstrap para el layout,
   de modo que los ajustes específicos de espaciado se gestionen con las utilidades de Bootstrap */
@media (max-width: 1440px) { }
@media (max-width: 1200px) { }
@media (max-width: 992px) { }
@media (max-width: 768px) { 
    .section__box4{
        margin: 0;
        margin-top: 10px;
    } 
}
@media (max-width: 576px) {
    /* Reduce el padding lateral del bloque de claim para que no fuerce el ancho */
    .section__container--global-claim{
        padding: 0 1rem;
    }

  

    
    
}
