/* ==========================================================================
   ClimaCore — Header
   White, sticky, logo + horizontal nav + 1 mini-CTA
   ========================================================================== */

.cc-header {
    position: sticky;
    top: 0;
    inset-inline: 0;
    z-index: var(--cc-z-header);
    background: var(--cc-bg-card);
    border-block-end: 1px solid transparent;
    transition: border-color var(--cc-dur-fast) var(--cc-ease-out);
}
.cc-header.is-scrolled { border-block-end-color: var(--cc-border); }

.cc-header__inner {
    max-width: var(--cc-content-max);
    margin: 0 auto;
    padding-inline: var(--cc-page-pad);
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
}
@media (min-width: 1024px) { .cc-header__inner { height: 80px; } }

.cc-header__logo { display: inline-flex; align-items: center; }
.cc-header__logo svg, .cc-header__logo img {
    height: 44px; width: auto; max-width: 280px;
}
@media (min-width: 1024px) {
    .cc-header__logo svg, .cc-header__logo img { height: 64px; max-width: 380px; }
}

/* Primary nav (desktop only) */
.cc-header__nav { display: none; }
@media (min-width: 1024px) {
    .cc-header__nav {
        display: flex;
        gap: var(--cc-space-8);
        align-items: center;
    }
}
.cc-header__nav a {
    font-size: var(--cc-fs-meta);
    font-weight: var(--cc-fw-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--cc-text);
    text-decoration: none;
    padding-block: var(--cc-space-2);
    border-block-end: 2px solid transparent;
    transition: border-color var(--cc-dur-fast) var(--cc-ease-out),
                color var(--cc-dur-fast) var(--cc-ease-out);
}
.cc-header__nav a:hover { color: var(--cc-accent); }
.cc-header__nav a.current-menu-item,
.cc-header__nav a[aria-current='page'] {
    border-block-end-color: var(--cc-accent);
}

/* Right-side actions */
.cc-header__actions { display: flex; align-items: center; gap: var(--cc-space-4); }
.cc-header__cta { display: none; }
@media (min-width: 1024px) {
    .cc-header__cta {
        display: inline-flex;
        min-height: 40px;
        padding-block: var(--cc-space-2);
        padding-inline: var(--cc-space-6);
        font-size: var(--cc-fs-meta);
    }
}

/* Mobile menu toggle */
.cc-header__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px; height: 44px;
    background: transparent;
    border: 0;
    color: var(--cc-text);
    cursor: pointer;
}
.cc-header__toggle svg { width: 22px; height: 22px; }
@media (min-width: 1024px) {
    .cc-header__toggle { display: none; }
}

/* Mobile menu overlay */
.cc-mobile-menu {
    position: fixed;
    inset: 0;
    background: var(--cc-bg);
    z-index: var(--cc-z-overlay);
    transform: translateX(100%);
    transition: transform var(--cc-dur-mid) var(--cc-ease-inout);
    display: flex;
    flex-direction: column;
    padding: var(--cc-space-16) var(--cc-page-pad);
}
.cc-mobile-menu.is-open { transform: translateX(0); }
.cc-mobile-menu__close {
    position: absolute;
    top: var(--cc-space-4);
    inset-inline-end: var(--cc-space-4);
    width: 44px; height: 44px;
    background: transparent;
    border: 0;
    cursor: pointer;
    color: var(--cc-text);
}
.cc-mobile-menu__close svg { width: 22px; height: 22px; }
.cc-mobile-menu__nav {
    display: flex;
    flex-direction: column;
    gap: var(--cc-space-6);
    flex: 1;
}
.cc-mobile-menu__nav a {
    font-size: var(--cc-fs-h2);
    font-weight: var(--cc-fw-medium);
    color: var(--cc-text);
    text-decoration: none;
}
.cc-mobile-menu__cta { margin-block-start: auto; }

body.cc-menu-open { overflow: hidden; }
