header.header {
    box-sizing: border-box;
    grid-template-columns: 170px minmax(382px, 1fr) auto;
    grid-template-areas: "brand search actions" "languages languages languages";
    column-gap: 24px;
    row-gap: 10px;
    align-items: center;
}
header.header h1 { grid-area: brand; }
header.header .buscador {
    grid-area: search;
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 12px;
    min-width: 0;
    margin: 0;
}
header.header .botones { grid-area: actions; gap: 8px; min-width: 0; }
header.header .selector-idioma-visible { grid-area: languages; }
header.header .infoUser { width: auto; max-width: 180px; }
header.header .infoUser .caja { box-sizing: border-box; }
header.header .buscador .input { min-width: 0; width: 100%; }
header.header .buscador input[type=text] {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 52px;
    padding-left: 44px;
    padding-right: 52px;
    background-position: 14px center;
    background-size: 20px;
}
header.header .buscador input[type=text]::placeholder { opacity: 1; }
header.header .buscador .abrirFiltros {
    width: 44px;
    height: 44px;
    right: 4px;
    top: 4px;
    background-position: center;
    background-size: 24px;
}
header.header .buscador .btnMapa { min-width: 44px; white-space: nowrap; }
header.header :is(a, button, input):focus-visible { outline: 2px solid #176b3b; outline-offset: 2px; }
@media (max-width: 1280px) {
    header.header {
        grid-template-columns: 170px minmax(0, 1fr);
        grid-template-areas: "brand actions" "search search" "languages languages";
        column-gap: 16px;
        padding: 12px 20px;
    }
    header.header .buscador { grid-template-columns: minmax(220px, 1fr) auto; }
}
@media (max-width: 650px) {
    header.header { grid-template-columns: 44px minmax(0, 1fr); padding: 10px; gap: 8px; }
    header.header .botones { gap: 8px; }
    header.header .buscador { column-gap: 8px; }
    header.header .buscador .btnMapa { width: 44px; padding: 0; justify-content: center; }
    header.header .buscador .btnMapa span { display: none; }
    header.header .infoUser { max-width: 60px; }
}
