/* Site header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 900;
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid var(--color-gray-200);
    backdrop-filter: saturate(1.2) blur(8px);
    transition: box-shadow var(--transition-fast);
}
.site-header.is-scrolled { box-shadow: var(--shadow-header); }
.site-header__progress { position: absolute; left: 0; bottom: -1px; height: 2px; width: 0; background: var(--color-primary); transition: width 80ms linear; }
.site-header__inner { display: flex; align-items: center; gap: 1.5rem; min-height: var(--header-height); }

.site-header__brand { flex: none; display: inline-flex; align-items: center; }
.site-header__logo { width: auto; height: 52px; object-fit: contain; }

.site-header__nav { margin-left: auto; }
.site-header__menu { display: flex; align-items: center; gap: clamp(1rem, 2vw, 1.9rem); }
.site-header__menu a,
.site-header__menu-link { position: relative; font-weight: 500; font-size: var(--fs-body); color: var(--color-black); padding-block: 6px; }
.site-header__menu a::after,
.site-header__menu-link::after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 2px; background: var(--color-primary); transition: width var(--transition-fast); }
.site-header__menu a:hover::after,
.site-header__menu-link:hover::after,
.site-header__menu .current-menu-item > a::after { width: 100%; }
.site-header__menu a:hover { color: var(--color-black); }

.site-header__actions { display: flex; align-items: center; gap: .75rem; }
.site-header__icon-btn { display: grid; place-items: center; width: 42px; height: 42px; border-radius: var(--radius-full); color: var(--color-whatsapp); border: 1px solid var(--color-gray-200); transition: background var(--transition-fast), color var(--transition-fast); }
.site-header__icon-btn:hover { background: var(--color-whatsapp); color: #fff; border-color: var(--color-whatsapp); }

/* Hamburger */
.site-header__toggle { display: none; flex-direction: column; gap: 5px; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: var(--radius-sm); }
.site-header__toggle-bar { width: 24px; height: 2px; background: var(--color-black); transition: transform var(--transition-fast), opacity var(--transition-fast); }
.site-header__toggle[aria-expanded="true"] .site-header__toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-header__toggle[aria-expanded="true"] .site-header__toggle-bar:nth-child(2) { opacity: 0; }
.site-header__toggle[aria-expanded="true"] .site-header__toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile drawer */
.site-header__drawer { display: none; }
.site-header__drawer-menu { display: flex; flex-direction: column; }
.site-header__drawer-menu a,
.site-header__drawer-menu .site-header__menu-link { display: block; padding: 1rem .75rem; font-size: 1.125rem; font-weight: 600; border-bottom: 1px solid var(--color-gray-200); border-left: 3px solid transparent; }
.site-header__drawer-menu a:hover { border-left-color: var(--color-primary); }
.site-header__drawer-contact { display: flex; flex-direction: column; gap: .25rem; margin-top: 1.5rem; }
.site-header__drawer-contact a { display: flex; align-items: center; gap: .6rem; padding: .6rem 0; color: var(--color-text-body); }
.site-header__drawer-contact svg { color: var(--color-primary-hover); flex: none; }
.site-header__drawer-nav .btn { margin-top: 1.25rem; }

@media (max-width: 992px) {
    .site-header__nav, .site-header__cta { display: none; }
    .site-header__toggle { display: flex; }
    .site-header__inner { gap: .75rem; }
    .site-header__actions { margin-left: auto; }
    .site-header__drawer { display: block; max-height: 0; overflow: hidden; background: #fff; border-bottom: 1px solid var(--color-gray-200); transition: max-height var(--transition-normal); }
    .site-header__drawer.is-open { max-height: min(85vh, 680px); overflow-y: auto; }
    .site-header__drawer-nav { padding-block: 1rem 2rem; }
    body.has-open-menu { overflow: hidden; }
}
@media (max-width: 480px) {
    .site-header__logo { height: 44px; }
}
