:root{

    --azul:#003f87;
    --rojo:#d71920;
    --blanco:#ffffff;
    --negro:#111111;

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:
    "Segoe UI",
    Arial,
    sans-serif;

    background:#f5f6f8;

    color:var(--negro);
}

header{

    background:linear-gradient(
        90deg,
        var(--azul),
        var(--rojo)
    );

    color:white;

    padding:20px;

    text-align:center;
}

.contenedor{

    width:1400px;
    max-width:95%;

    margin:auto;

    padding:25px;
}

.busqueda{

    display:flex;

    gap:15px;

    margin-bottom:30px;
}

select{

    flex:1;

    padding:12px;

    font-size:16px;

    border-radius:8px;

    border:1px solid #ccc;
}

.cards{

    display:grid;

    grid-template-columns:
        repeat(auto-fill,minmax(220px,1fr));

    gap:15px;
}

.filtro{

    background:white;

    border-left:5px solid var(--azul);

    border-radius:10px;

    padding:15px;

    cursor:pointer;

    transition:.2s;
}

.filtro:hover{

    border-left-color:var(--rojo);

    transform:translateY(-3px);
}

.filtro b{

    display:block;

    color:var(--azul);

    margin-bottom:5px;
}

.filtro span{

    color:var(--rojo);

    font-weight:bold;
}

.detalle{

    margin-top:30px;

    background:white;

    border-radius:12px;

    padding:25px;
}

.detalle h2{

    color:var(--azul);

    margin-bottom:20px;
}

.galeria{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

    margin-bottom:20px;
}

.galeria img{

    width:250px;

    border-radius:8px;

    border:1px solid #ddd;
}

table{

    width:100%;

    border-collapse:collapse;

    margin-top:20px;
}

th{

    background:var(--azul);

    color:white;

    padding:10px;
}

td{

    border:1px solid #ddd;

    padding:10px;
}