/* Estilos globales header  */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --rojo: #e00f25;
    --verde: #47ab34;
    --azul: #29509c;
    --morado: #614a96;
    --azulclaro: #417abd;
    --amarillo: #ffce00;
    --negro: #000000;
    --blanco: #ffffff;
    --montserrat: 'Montserrat', sans-serif;
    --degradado: linear-gradient(45deg, var(--rojo), var(--verde), var(--azul), var(--morado), var(--azulclaro));
    /* Agregar degradado de rojo a azul de forma diagonal */
    --gradiente-diagonal: linear-gradient(45deg, var(--rojo), var(--morado), var(--azul));
    --bg-color: #f5f5f5;
    --borde: 2px solid #000000b7;
    --bg-rojo: linear-gradient(0deg, rgba(224, 15, 37, 0) 50%, rgba(224, 15, 37, 1) 100%);
    --prueba: 1px solid red;
}

/* Header general normal */
.header *,
.header-overlay * {
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    transition: background-color .35s ease, color .35s ease, border-color .35s ease;
}

.header *,
.header *::before,
.header *::after,
.header-overlay *,
.header-overlay *::before,
.header-overlay *::after {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

/* Neutraliza el float: left que hereda del CSS legacy */
header,
.header {
    float: none;
}

/* Neutraliza estilos legacy en aside que afectan al header-overlay */
aside.header-overlay {
    float: none !important;
    margin-top: 0 !important;
}

/* Neutraliza el layout legacy del contenedor principal de nota */
.skin-container {
    float: none !important;
    margin-top: 0 !important;
    width: 100% !important;
}

/* Clearfix para contenedores con hijos flotados del CSS legacy */
.skin-container::after,
.ContenidoGeneral::after {
    content: '';
    display: table;
    clear: both;
}

.header {
    width: 100%;
    max-width: 1200px;
    margin: 10px auto;
    padding: 20px;
    border: var(--borde);
    display: flex;
    border-radius: 25px;
    position: sticky;
    top: 0;
    background-color: #f5f5f5a9;
    backdrop-filter: blur(50px);
    z-index: 1000;
    transition: opacity .35s ease;
}

.header li,
.header-overlay li {
    list-style: none;
}

.header a {
    display: block;
    text-decoration: none;
    font-family: var(--montserrat);
    font-size: clamp(13px, 2vw, 16px);
    color: inherit;
}

.header-overlay a{
    display: block;
    text-decoration: none;
    font-family: var(--montserrat);
    font-size: inherit; 
    color: inherit;
}

.header.hidden {
    opacity: 0;
    pointer-events: none;
}

.header-logo {
    flex: .5;
    align-content: center;
    border-right: var(--borde);
}

.header-logo__img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}

.logo-mobile {
    display: none;
}

.logo-desktop {
    display: block;
    width: 180px;
    height: auto;
}

.header-logo__img:hover {
    filter: drop-shadow(0 0 5px var(--rojo));
    transition: filter .5s ease;
}

.header-nav {
    flex: 3;
}

.header-nav__list {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

.header-list__item {
    margin: 0 10px;
    font-size: clamp(13px, 2vw, 16px);
    font-weight: 700;
    white-space: nowrap;
    transition: color .3s ease;
}

.header-list__item:hover {
    color: var(--rojo);
}

.header-redes {
    flex: .5;
    display: flex;
    justify-content: center;
    align-items: center;
    border-left: var(--borde);
}

.header-redes {
    flex: .5;
    gap: 20px;
}

.header-icon {
    font-size: 25px;
    transition: color .3s ease;
}

.header-icon:hover {
    color: var(--rojo);
}

/* --- Botón Hamburguesa Estilos --- */
.header-toggle {
    display: none;
    font-size: 50px;
    cursor: pointer;
    flex-direction: column;
    gap: 5px;
    padding: 5px;
}

.header-overlay {
    position: fixed;
    inset: 0;
    background-color: #f5f5f57a;
    backdrop-filter: blur(10px);
    z-index: 1001;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .35s ease, visibility .35s ease;
}

.header-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.header-overlay__top {
    width: 90%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    border-bottom: 2px solid #00000057;
}

.overlay-logo {
    width: 150px;
    height: auto;
}

.header-overlay__close {
    width: 90px;
    font-size: 50px;
    cursor: pointer;
    color: var(--negro);
    text-align: center;
}

.header-overlay__menu {
    flex: 1;
    padding: 15px 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-size: 17px;
    font-weight: 700;
}

.header-overlay__menu li {
    padding: 10px 0;
    border-bottom: 1px solid #00000057;
    text-align: center;
}

.header-overlay__social {
    flex: 1;
    width: 100%;
    margin: 0 auto;
    font-size: 15px;
    padding-top: 20px;
    font-weight: 700;
    text-align: center;
}

.header-overlay__social p {
    text-align: center !important;
    float: none !important;
    width: 100% !important;
}

.overlay-icons {
    margin-top: 40px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    color: var(--negro);
    font-size: 20px;
}

.filter-white {
    filter: brightness(0) invert(1);
}

@media screen and (max-width: 1024px) {
    .header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px;
        width: 95%;
        height: 100px;
    }

    .logo-desktop,
    .header-nav,
    .header-redes {
        display: none;
    }

    .header-logo {
        flex: 2;
        align-content: center;
    }

    .logo-mobile {
        display: block;
        width: 100px;
    }

    .header-toggle {
        flex: 1;
        display: block;
        font-size: 60px;
        text-align: center;
    }
}
