/* Cabecera global — #site_header */

#site_header {
    position: sticky;
    top: 0;
    z-index: 60;
    background: rgba(244,242,238,.94);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 2px solid var(--color-divider);
}

#site_header .mgx-site-header-002 {
    max-width: 1320px;
    margin: 0 auto;
    padding: 14px clamp(20px,5vw,56px);
    display: flex;
    align-items: center;
    gap: clamp(20px,3vw,44px);
}

#site_header .mgx-site-header-003 {
    display: block;
    flex: none;
}

#site_header .mgx-site-header-004 {
    height: clamp(44px,4.6vw,58px);
    width: auto;
}

#site_header .mgx-site-header-005 {
    display: flex;
    align-items: center;
    gap: clamp(16px,2.1vw,30px);
    margin-left: auto;
}

#site_header .mgx-site-header-006 {
    font: 500 13.5px var(--font-body);
    letter-spacing: .02em;
    color: var(--color-text);
    text-decoration: none;
    padding-bottom: 2px;
    border-bottom: 2px solid transparent;
    transition: color .2s;
}

#site_header .mgx-site-header-007 {
    font: 500 13.5px var(--font-body);
    letter-spacing: .02em;
    color: var(--color-text);
    text-decoration: none;
    padding-bottom: 2px;
    border-bottom: 2px solid transparent;
    transition: color .2s;
}

#site_header .mgx-site-header-008 {
    font: 500 13.5px var(--font-body);
    letter-spacing: .02em;
    color: var(--color-text);
    text-decoration: none;
    padding-bottom: 2px;
    border-bottom: 2px solid transparent;
    transition: color .2s;
}

#site_header .mgx-site-header-009 {
    font: 500 13.5px var(--font-body);
    letter-spacing: .02em;
    color: var(--color-text);
    text-decoration: none;
    padding-bottom: 2px;
    border-bottom: 2px solid transparent;
    transition: color .2s;
}

#site_header .mgx-site-header-010 {
    font: 500 13.5px var(--font-body);
    letter-spacing: .02em;
    color: var(--color-text);
    text-decoration: none;
    padding-bottom: 2px;
    border-bottom: 2px solid transparent;
    transition: color .2s;
}

#site_header .mgx-site-header-011 {
    font: 500 13.5px var(--font-body);
    letter-spacing: .02em;
    color: var(--color-text);
    text-decoration: none;
    padding-bottom: 2px;
    border-bottom: 2px solid transparent;
    transition: color .2s;
}

#site_header .mgx-site-header-012 {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    flex: none;
    background: var(--color-accent);
    color: #f7f5f1;
    text-decoration: none;
    font: 600 13px var(--font-body);
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 13px 22px;
    border-radius: 3px;
}

#site_header .mgx-site-header-013 {
    display: none;
    margin-left: auto;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    background: transparent;
    border: 1px solid var(--color-divider);
    border-radius: 3px;
    cursor: pointer;
    color: var(--color-text);
}

#site_header .mgx-site-header-014 {
    display: none;
    flex-direction: column;
    border-top: 1px solid var(--color-divider);
    padding: 8px clamp(20px,5vw,56px) 22px;
}

#site_header .mgx-site-header-015 {
    font: 500 15px var(--font-body);
    color: var(--color-text);
    text-decoration: none;
    padding: 14px 0;
    border-bottom: 1px solid var(--color-divider);
}

#site_header .mgx-site-header-016 {
    font: 500 15px var(--font-body);
    color: var(--color-text);
    text-decoration: none;
    padding: 14px 0;
    border-bottom: 1px solid var(--color-divider);
}

#site_header .mgx-site-header-017 {
    font: 500 15px var(--font-body);
    color: var(--color-text);
    text-decoration: none;
    padding: 14px 0;
    border-bottom: 1px solid var(--color-divider);
}

#site_header .mgx-site-header-018 {
    font: 500 15px var(--font-body);
    color: var(--color-text);
    text-decoration: none;
    padding: 14px 0;
    border-bottom: 1px solid var(--color-divider);
}

#site_header .mgx-site-header-019 {
    font: 500 15px var(--font-body);
    color: var(--color-text);
    text-decoration: none;
    padding: 14px 0;
    border-bottom: 1px solid var(--color-divider);
}

#site_header .mgx-site-header-020 {
    font: 500 15px var(--font-body);
    color: var(--color-text);
    text-decoration: none;
    padding: 14px 0;
    border-bottom: 1px solid var(--color-divider);
}

#site_header .mgx-site-header-021 {
    font: 600 15px var(--font-body);
    color: var(--color-accent);
    text-decoration: none;
    padding: 16px 0 4px;
}

#site_header {
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 900;
}

#site_header .mg-panel[hidden] {
    display: none !important;
}

#site_header #magranit_menu_toggle {
    position: relative;
    z-index: 2;
}

#site_header #magranit_menu_toggle svg {
    width: 20px;
    height: 20px;
    transition: transform .3s ease;
}

#site_header #magranit_menu_toggle[aria-expanded="true"] svg {
    transform: rotate(90deg);
}

@media (max-width:1000px) {
    #site_header img {
        height: 42px !important;
        max-width: min(210px,58vw) !important;
        object-fit: contain;
    }

    #site_header #magranit_mobile_panel {
        display: flex;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(244,242,238,.98);
        box-shadow: 0 18px 35px rgba(28,26,25,.14);
        max-height: calc(100vh - 72px);
        overflow: auto;
    }
}

@media (max-width:480px) {
    #site_header>div {
        padding: 10px 16px !important;
    }

    #site_header img {
        height: 36px !important;
        max-width: 180px !important;
    }

    #site_header #magranit_menu_toggle {
        width: 42px !important;
        height: 42px !important;
    }
}
