/* reset CSS */
* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
:root {
    --negro: #000000;
    --rojo: #ce0f25;
    --azul: #18388a;
    --amarillo: #edca03;
    --blanco: #ffffff;
}
/* estilos generales */
html, body {
    height: 100%;
}
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: var(--blanco);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: var(--color-contenedor);
}
main {
    flex: 1;
}
.contenedor {
    width: 80%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 0;
}
/* estilos header y footer */
header, footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 80px;
    padding: 40px 10px;
    background-color: var(--negro);
    color: var(--blanco);
    text-align: center;
}
header h1 {
    font-size: 2rem;
}
/* cuadro mondrian */
.cuadro-mondrian {
    display: grid;
    grid-template-columns: repeat(3, 200px);
    grid-template-rows: repeat(2, 200px);
    gap: 15px;
    background-color: var(--negro);
    padding: 15px;
    width: max-content;
    margin: 0 auto;
}
.elemento {
    width: 100%;
    height: 100%;
}
/* elementos del cuadro mondrian */
/* rectángulo acostado*/
.elemento-1 {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 1;
    grid-row-end: 2;
    background-color: var(--blanco);
}
/* cuadrado izquierda */
.elemento-2 {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 2;
    grid-row-end: 3;
    background-color: var(--rojo);
}
/* cuadrado derecha */
.elemento-3 {
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 2;
    grid-row-end: 3;
    background-color: var(--amarillo);
}
/* rectángulo de pie*/
.elemento-4 {
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 1;
    grid-row-end: 3;
    background-color: var(--azul);
}
/* estilos media screen */
@media screen and (max-width: 991px) {
    .cuadro-mondrian {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(4, 160px);
    }
    .elemento-1,
    .elemento-2,
    .elemento-3,
    .elemento-4 {
        grid-column-start: 1;
        grid-column-end: 2;
    }
    .elemento-1 { grid-row-start: 1; grid-row-end: 2; }
    .elemento-2 { grid-row-start: 2; grid-row-end: 3; }
    .elemento-3 { grid-row-start: 3; grid-row-end: 4; }
    .elemento-4 { grid-row-start: 4; grid-row-end: 5; }
}