/* Importación de hojas de estilos*/
@import url(header.css);
@import url(fonts.css);
@import url(form.css);

/************ WEB ************/
:root {
    --primary-color: #a5a214;
    --secudary-color: white;
    --accent-color: green;
    --background-color: whitesmoke;
    --background-oscuro: dimgray;
    --background-oscuro-alternativo: #a5a214;
    --border-color: #f1f1f1;
    --text-color: #212121;
    --header-background-color: #384859;
    --hover-color: #12f7ff;
    --altura-header: 100px;
    --ancho-maximo: 1200px;
    --padding-left-right: 2rem;
}

* {
    margin: 0;
    /* Eliminar márgenes por defecto */
    padding: 0;
    box-sizing: border-box;
    list-style: none;
    text-decoration: none;
    scroll-behavior: smooth;
    /* desplazamiento suave */
}
.centrar {
    text-align: center;
    margin: 0 auto;
}

.color-1 {
    color: var(--primary-color);
}

.bg-color-2 {
    background-color: var(--secudary-color);
}

body {
    background-color: var(--background-color);
    font-family: system-ui, -apple sistem, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.titulo {
    line-height: 1.9em;
    position: relative;
    z-index: 2;
    display: inline-block;
    padding: 0.15em 0.7em 0.15em 0.9em;
    overflow: hidden;
    margin-left: -0.6em;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    font-size: 2rem;
    background-color: white;
    color: black;
}

.alto {
    min-height: calc(100vh - var(--altura-header));
    /* Resta la altura del header */
}

html,
body {
    height: 100%;
}

/*////////////////////////////////////// TEXTO ALINIACIÓN //////////////////////////////////////*/
.justificar {
    text-align: justify;
}

.justificar-izquierda {
    text-align: left;
}

.justificar-centrado {
    text-align: center;
}

.justificar-derecha {
    text-align: right;
}

/*////////////////////////////////////// TEXTO TAMAÑO //////////////////////////////////////*/
.texto-12 {
    font-size: 1.2rem;
}

.texto-14 {
    font-size: 1.4rem;
}

.texto-16 {
    font-size: 1.6rem;
}

.texto-18 {
    font-size: 1.8rem;
}

p {
    font-size: 1.2rem;
}

/*////////////////////////////////////// TEXTO GUIONES //////////////////////////////////////*/
.texto-guiones {
    overflow-wrap: break-word;
    hyphens: auto;
}

/*////////////////////////////////////// COLORES //////////////////////////////////////*/
.texto-claro {
        color: var(--background-color);
}
.texto-oscuro {
        color: var(--background-oscuro);
    }

.fondo-claro{
        background-color: var(--background-color);
    }
.fondo-oscuro{
        background-color: var(--background-oscuro);
    }
.fondo-oscuro-alternativo{
        background-color: var(--background-oscuro-alternativo);
    }


/*////////////////////////////////////// MARGEN //////////////////////////////////////*/
.margen-centrar {
    margin: 0 auto;
    text-align: center;
}

.margen {
    padding: var(--padding-left-right);
}

.margen-arriba-20 {
    margin-top: 20px;
}

.margen-arriba-40 {
    margin-top: 40px;
}

.margen-abajo-20 {
    margin-bottom: 20px;
}

.margen-abajo-40 {
    margin-bottom: 40px;
}

.margen-izquierda-20 {
    margin-left: 20px;
}

.margen-izquierda-40 {
    margin-left: 40px;
}

.margen-derecha-20 {
    margin-right: 20px;
}

.margen-derecha-40 {
    margin-right: 40px;
}

/*////////////////////////////////////// MARGEN INTERNO //////////////////////////////////////*/

.margen-interno-20 {
    padding: 20px;
}

.margen-interno-40 {
    padding: 40px;
}

.margen-interno-izquierda-20 {
    padding-left: 20px;
}

.margen-interno-izquierda-40 {
    padding-left: 40px;
}

.margen-interno-derecha-40 {
    padding-right: 40px;
}

.margen-interno-derecha-20 {
    padding-right: 20px;
}


/*////////////////////////////////////// MARGEN //////////////////////////////////////*/


.container {
    position: relative;
    width: 100%;
    height: 85vh;
    /* Altura de la ventana */
    background-image: url('../img/fondo-encabezado-ilaove-original.webp');
    background-size: cover;
    /* Para cubrir toda el área */
    background-position: right;
}

.texto {
    position: absolute;
    bottom: 80px;
    /* Ajusta la posición vertical */
    color: #f5f5f5;
    font-weight: bold;
    font-size: 1.5rem;
    width: 100%;
    text-align: center;
    padding-right: 90px;
}

.bottom-image {
    position: absolute;
    bottom: 40px;
    right: 20px;
    width: 100px;
}

.tarjeta {
    background-color: white;
    border: 1px solid #ccc;
    /* borde gris */
    border-radius: 8px;
    /* bordes redondeados */
    overflow: hidden;
    /* para ocultar el desbordamiento */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    /* sombra suave */
    margin: 16px 16px 40px 16px;

}

.tarjeta img {
    width: 100%;
    /* imagen ocupa el ancho completo de la tarjeta */
}

.tarjeta p {
    font-size: 1.2rem;
    text-align: justify;
    padding: 20px 20px;
}

.boton {
    background-color: white;
    border: 1px solid #ccc;
    /* borde gris */
    border-radius: 8px;
    /* bordes redondeados */
    padding: 20px;
    margin: 16px;
    font-size: 1.2rem;
    width: -moz-available;
}

@media screen and (min-width: 901px) {

    /* Estilos para pantallas de PC */
    main {
        max-width: 900px;
        margin: 0 auto;
    }

    .texto {
        font-size: 3rem;
    }

    .texto-guiones {
        overflow-wrap: break-word;
        hyphens: none;
    }

    .seccion-linea-pc {
        display: flex;
        flex-direction: row;
    }

    .seccion-columna-pc {
        display: flex;
        flex-direction: column;
    }

    .tarjeta-linea-pc {
        display: flex;
        box-shadow: none;
        border: 1px solid #f5f5f5;
        height: 220px;
    }

    .tarjeta-columna-pc {
        display: block;
        box-shadow: none;
        border: 1px solid #f5f5f5;
    }

    .cuadrada {
        width: 220px !important;
        object-fit: cover;
    }

    .figcaption {
        margin-left: 20px;
        /* Espacio entre la imagen y el texto */
        flex: 1;
        /* Permite que el texto ocupe el espacio restante */
    }
    /*////////////////////////////////////// MARGEN  //////////////////////////////////////*/
    .margen-arriba-5-PC {
    margin-top: 5px;
    }
    .margen-abajo-5-PC {
    margin-bottom: 5px;
    }
    .margen-quitar-pc {
    margin-left: -1rem;
    margin-right: -2rem;
    }
    /*////////////////////////////////////// MARGEN NEGTIVO //////////////////////////////////////*/
    .margen-menos-izquierda-80-pc {
    margin-left: -80px;
    }
    /*////////////////////////////////////// MARGEN INTERNO //////////////////////////////////////*/
    .margen-interno-izquierda-20-pc {   
        padding-left: 20px;
    }
    .margen-interno-derecha-20-pc {
        padding-right: 20px;
    }

    /*////////////////////////////////////// BLOQUE //////////////////////////////////////*/
    .bloque-pc {
        display: block;
    }
    /*////////////////////////////////////// ANCHO //////////////////////////////////////*/
    .ancho-160-pc {
        width: 160px;
    }
    .ancho-200-pc {
        width: 200px !important;
    }
    
    .ancho-1de2-pc {
        width: 50%;
    }
    .ancho-1de3-pc {
        width: 25%;
    }
    .ancho-1de4-pc {
        width: 25%;
    }
    /*////////////////////////////////////// TEXTO TAMAÑO //////////////////////////////////////*/
      .texto-10-pc {
        font-size: 1rem !important;
    }
    .texto-12-pc {
        font-size: 1.2rem;
    }

    .texto-14-pc {
        font-size: 1.4rem;
    }

    .texto-16-pc {
        font-size: 1.6rem;
    }
    .ancho-total-pc {
        width: 100%;
    }
     /*////////////////////////////////////// TAMAÑO ALTURA //////////////////////////////////////*/
    .alto-2-columnas-pc {
        height: 290px;
    }
    /*////////////////////////////////////// IMAGEN ESTILO //////////////////////////////////////*/
    .imagen-cover-pc {
        object-fit: cover;
    }
    /*////////////////////////////////////// IMAGEN TAMAÑO //////////////////////////////////////*/
    .imagen-vertical-pc {
        width: 200px;
        height: 280px;
    }
    .imagen-horizontal-pc {
        width: 280px !important;
    }

}