.header {
  background-color: var(--color-secundario);
  border-bottom: solid 2px var(--color-borde-header);
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding: 0;
  width: 100%;
  min-width: 0;
  z-index: 999;
  box-sizing: border-box;
  overflow: visible; }
  @media (min-width: 1100px) {
    .header {
      flex-direction: row;
      align-items: stretch;
      justify-content: space-between;
      height: 92px;
      padding: 16px 80px 16px 0; } }
  .header .grupo-principal {
    display: flex;
    width: 100%;
    height: 67px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 56px;
    box-sizing: border-box;
    min-width: 0;
    position: relative; }
    @media (min-width: 1100px) {
      .header .grupo-principal {
        width: auto;
        height: 100%;
        padding: 0 0 0 80px;
        justify-content: flex-start;
        align-items: center;
        align-self: stretch;
        flex: 1 1 auto; } }
  .header .contenedor-logos {
    display: flex;
    flex: 0 1 auto;
    height: 100%;
    align-items: center;
    justify-content: center;
    min-width: 0;
    align-self: stretch; }
    @media (min-width: 1100px) {
      .header .contenedor-logos {
        flex: 0 0 auto;
        height: 100%;
        justify-content: flex-start; } }
  .header .logos {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    gap: 32px;
    margin: 0;
    text-decoration: none; }
    @media (min-width: 1100px) {
      .header .logos {
        flex: 0 0 auto;
        width: fit-content;
        height: 100%;
        justify-content: flex-start;
        margin: 0;
        max-width: 100%; } }
  .header .logo {
    display: block;
    flex-shrink: 0;
    width: auto;
    height: 100%;
    object-fit: contain;
    filter: var(--filtro-logo-apariencia); }
  .header .logo-desktop {
    display: none; }
  @media (min-width: 1100px) {
    .header .logo-mobile {
      display: none; }
    .header .logo-desktop {
      display: block; } }
  .header .acciones-header {
    display: contents; }
    @media (min-width: 1100px) {
      .header .acciones-header {
        display: flex;
        align-items: stretch;
        justify-content: flex-end;
        flex: 0 1 auto;
        align-self: stretch;
        min-width: 0; } }
  .header .hamburguesa {
    flex-direction: column;
    align-items: flex-start;
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    background-color: var(--color-secundario);
    padding: 16px;
    box-sizing: border-box;
    z-index: 1000;
    border-bottom: solid 2px var(--color-borde-header); }
    @media (min-width: 1100px) {
      .header .hamburguesa {
        flex-direction: row;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        min-height: 0;
        position: static;
        width: auto;
        max-width: 100%;
        min-width: 0;
        padding: 0;
        align-self: stretch;
        flex: 0 1 auto;
        border-bottom: 0; } }
  .header .hamburguesa[hidden] {
    display: none; }
  @media (min-width: 1100px) {
    .header .hamburguesa[hidden] {
      display: flex !important; } }
  .header .enlace {
    font-size: 20px;
    font-weight: 400;
    padding: 16px 0;
    text-decoration: none;
    color: var(--color-primario);
    margin-left: 0;
    margin-right: 0;
    line-height: normal;
    white-space: nowrap; }
    .header .enlace:hover {
      color: var(--color-primario-oscuro); }
    @media (min-width: 1100px) {
      .header .enlace {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        box-sizing: border-box;
        margin-right: 0;
        padding: 0 16px; } }
  .header .boton-hamburguesa {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    width: 40px;
    padding: 0;
    border: 0;
    background-color: transparent;
    cursor: pointer;
    appearance: none;
    touch-action: manipulation;
    overflow: visible;
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%); }
    @media (min-width: 1100px) {
      .header .boton-hamburguesa {
        display: none; } }
  .header .icono-hamburguesa {
    display: block;
    width: 24px;
    height: 24px;
    background-color: var(--color-icono-header);
    filter: var(--filtro-icono-apariencia);
    pointer-events: none; }
  .header .icono-hamburguesa--abrir {
    -webkit-mask: url("/icons/hamburguesa.svg") center/contain no-repeat;
    mask: url("/icons/hamburguesa.svg") center/contain no-repeat; }
  .header .icono-hamburguesa--cerrar {
    -webkit-mask: url("/icons/cerrar.svg") center/contain no-repeat;
    mask: url("/icons/cerrar.svg") center/contain no-repeat; }
  .header .icono-hamburguesa[hidden] {
    display: none; }
  .header .boton-apariencia {
    position: absolute;
    top: 50%;
    right: 8px;
    bottom: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background-color: transparent;
    cursor: pointer;
    appearance: none;
    touch-action: manipulation;
    overflow: visible;
    transform: translateY(-50%);
    z-index: 1001; }
    .header .boton-apariencia:hover {
      background-color: var(--color-fondo-boton-navegacion-hover);
      box-shadow: var(--sombra-boton-navegacion-hover); }
    .header .boton-apariencia:focus-visible {
      outline: 2px solid var(--color-primario);
      outline-offset: 2px;
      box-shadow: var(--sombra-boton-navegacion-hover); }
    @media (min-width: 1100px) {
      .header .boton-apariencia {
        position: relative;
        flex: 0 0 auto;
        align-self: center;
        top: auto;
        right: auto;
        bottom: auto;
        transform: none; } }
  .header .icono-apariencia {
    display: block;
    width: 24px;
    height: 24px;
    background-color: var(--color-icono-header);
    filter: var(--filtro-icono-apariencia);
    pointer-events: none; }
  .header .icono-apariencia--oscuro {
    -webkit-mask: url("/icons/modo_oscuro.svg") center/contain no-repeat;
    mask: url("/icons/modo_oscuro.svg") center/contain no-repeat; }
  .header .icono-apariencia--claro {
    display: none;
    -webkit-mask: url("/icons/modo_claro.svg") center/contain no-repeat;
    mask: url("/icons/modo_claro.svg") center/contain no-repeat; }

:root[data-apariencia="oscuro"] .header .boton-apariencia {
  transition: background-color 120ms ease, box-shadow 120ms ease; }

:root[data-apariencia="oscuro"] .header .icono-apariencia--oscuro {
  display: none; }

:root[data-apariencia="oscuro"] .header .icono-apariencia--claro {
  display: block; }
