/* Header global */
.site-header { background-color: var(--psm-white); border-bottom: 1px solid var(--psm-border-color); position: sticky; top: 0; z-index: 1000; transition: box-shadow var(--transition-fast); }
.site-header.is-scrolled { box-shadow: 0 4px 20px rgba(14, 27, 45, 0.06); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: var(--header-height); transition: height var(--transition-fast); }
.site-header.is-scrolled .header-inner { height: var(--header-height-sticky); }

.site-branding { flex-shrink: 0; display: flex; align-items: center; }
.site-branding .logo-link, .site-branding .custom-logo-link { display: inline-flex; align-items: center; }
.psm-lockup { display: block; height: 56px; width: auto; transition: height var(--transition-fast); }
.site-header.is-scrolled .psm-lockup { height: 46px; }
.custom-logo { max-height: 56px; width: auto; }

.primary-navigation { flex: 1; display: flex; justify-content: center; }
.primary-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 2rem; }
.primary-navigation li { position: relative; }
.primary-navigation a { color: var(--psm-deep-navy); font-weight: 500; font-size: .9375rem; padding: 6px 0; border-bottom: 2px solid transparent; }
.primary-navigation a:hover, .primary-navigation .current-menu-item > a, .primary-navigation .current-menu-ancestor > a, .primary-navigation .current_page_item > a { color: var(--psm-industrial-blue); border-bottom-color: var(--psm-performance-amber); }
.primary-navigation .sub-menu { display: none; position: absolute; top: 100%; left: -16px; min-width: 200px; background: #fff; border: 1px solid var(--psm-border-color); border-radius: 6px; box-shadow: 0 10px 24px rgba(14,27,45,.08); padding: 8px 0; flex-direction: column; gap: 0; }
.primary-navigation li:hover > .sub-menu, .primary-navigation li:focus-within > .sub-menu { display: flex; }
.primary-navigation .sub-menu a { display: block; padding: 8px 16px; border: 0; }

.header-actions { display: flex; align-items: center; gap: 22px; flex-shrink: 0; }
.header-cta { gap: 10px; padding: .7rem 1.4rem; font-family: var(--font-headings); font-size: .9375rem; }
.header-tagline { position: relative; margin: 0; padding-left: 40px; max-width: 215px; font-size: .8125rem; line-height: 1.35; color: var(--psm-deep-navy); border-left: 1px solid var(--psm-border-color); }
.header-tagline::before { content: ""; position: absolute; left: 18px; top: 50%; width: 4px; height: 28px; background: var(--psm-performance-amber); transform: translateY(-50%) skewX(-18deg); }
.mobile-menu-toggle { display: none; background: transparent; border: none; color: var(--psm-deep-navy); cursor: pointer; padding: 0.5rem; }

/* Drawer móvil */
.mobile-drawer { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 2000; visibility: hidden; opacity: 0; transition: visibility 0.3s, opacity 0.3s; }
.mobile-drawer.is-open { visibility: visible; opacity: 1; }
.mobile-drawer-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(14, 27, 45, 0.5); }
.mobile-drawer-content { position: absolute; top: 0; right: 0; width: 85%; max-width: 320px; height: 100%; background-color: var(--psm-white); transform: translateX(100%); transition: transform 0.3s ease-in-out; display: flex; flex-direction: column; }
.mobile-drawer.is-open .mobile-drawer-content { transform: translateX(0); }
.mobile-drawer-header { display: flex; justify-content: space-between; align-items: center; padding: var(--container-padding); border-bottom: 1px solid var(--psm-border-color); }
.mobile-drawer-logo .psm-lockup { height: 42px; }
.mobile-drawer-close { background: transparent; border: none; color: var(--psm-deep-navy); cursor: pointer; padding: 0.5rem; }
.mobile-navigation { padding: var(--container-padding); flex-grow: 1; overflow-y: auto; }
.mobile-navigation ul { list-style: none; margin: 0; padding: 0; }
.mobile-navigation li { margin-bottom: 1rem; }
.mobile-navigation .sub-menu { margin: .75rem 0 0 1rem; }
.mobile-navigation a { color: var(--psm-deep-navy); font-size: 1.125rem; font-weight: 600; display: block; }
.mobile-drawer-footer { padding: var(--container-padding); border-top: 1px solid var(--psm-border-color); }

@media (max-width: 1280px) { .header-tagline { display: none; } }
@media (max-width: 1080px) {
    .primary-navigation, .header-cta { display: none; }
    .mobile-menu-toggle { display: block; }
    .psm-lockup { height: 46px; }
}
@media (max-width: 480px) { .psm-lockup { height: 40px; } .header-inner { height: 68px; } }

/* Selector de idioma ES / EN / PT (3.11.0) */
.psm-lang-switch ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; }
.psm-lang-switch li { display: flex; }
.psm-lang-switch a, .psm-lang-current { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 30px; padding: 0 6px; font-family: var(--font-headings); font-size: .8125rem; font-weight: 600; letter-spacing: .04em; color: var(--psm-technical-gray); border-radius: 3px; }
.psm-lang-switch a:hover, .psm-lang-switch a:focus-visible { color: var(--psm-industrial-blue); background: #F2F5F9; }
.psm-lang-current { color: var(--psm-deep-navy); box-shadow: inset 0 -2px 0 var(--psm-performance-amber); }
.psm-lang-switch--header li + li::before { content: ""; width: 1px; height: 14px; margin: 0 2px; background: var(--psm-border-color); align-self: center; }
.psm-lang-switch--mobile { padding: 12px var(--container-padding); border-top: 1px solid var(--psm-border-color); }
.psm-lang-switch--mobile ul { gap: 8px; }
.psm-lang-switch--mobile a, .psm-lang-switch--mobile .psm-lang-current { min-width: 48px; height: 40px; font-size: .9375rem; border: 1px solid var(--psm-border-color); }
.psm-lang-switch--mobile .psm-lang-current { border-color: var(--psm-performance-amber); box-shadow: none; background: #FFF8E5; }
@media (max-width: 1080px) { .psm-lang-switch--header { display: none; } }
