/* header.css — replaces mega-menu.css. Only styles the header/topbar/nav actually in markup. */

/* ============================================================
   Topbar — phone/email + social + account link
   ============================================================ */

.topbar {
    background: color-mix(in oklch, var(--ink) 92%, var(--stone));
    color: color-mix(in oklch, var(--cream) 75%, transparent);
    font-size: 0.875rem;
    padding-block: var(--sp-2);
    border-bottom: 1px solid color-mix(in oklch, var(--stone) 18%, transparent);
}

.topbar ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-4);
    align-items: center;
}

.topbar-left ul { justify-content: flex-start; }
.topbar-right ul { justify-content: flex-end; }

.topbar a {
    color: inherit;
    transition: color var(--dur-base) var(--ease-out);
}

.topbar a:hover {
    color: var(--ember);
}

.topbar svg {
    color: var(--ember);
}

/* ============================================================
   Header wrapper — fixed to top of viewport
   ============================================================ */

.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--z-nav);
    background: var(--ink);
    transition: background-color var(--dur-base) var(--ease-out);
}

/* Sticky state toggled by app.js past 250px scroll */
.header.is-stuck .menu-list-items {
    box-shadow: var(--shadow-md);
}

/* ============================================================
   Mega menu — simplified from the old 1,400-line plugin stylesheet.
   Only the structural classes our markup still uses.
   ============================================================ */

.mega-menu {
    position: relative;
}

.menu-list-items {
    background: var(--ink);
    padding-block: var(--sp-3);
}

.menu-list-items .container {
    display: flex;
    align-items: center;
    gap: var(--sp-6);
    position: relative;
}

/* Logo block */
.menu-logo {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
}

.menu-logo > li > a {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-3);
    color: var(--cream);
    text-decoration: none;
    font-family: var(--font-display);
    letter-spacing: 0.04em;
}

.menu-logo img {
    width: 64px;
    height: auto;
    transition: width var(--dur-base) var(--ease-out);
}

.menu-logo .menu-text {
    font-size: 1.125rem;
    font-weight: 500;
    letter-spacing: 0.08em;
}

.header.is-stuck .menu-logo img { width: 50px; }

/* Head-info popover (legacy: hidden by default, appears on some pages) */
.head-info-content {
    display: none;
}

/* ============================================================
   Nav links
   ============================================================ */

.menu-links {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--sp-5);
}

.menu-links > li { display: inline-block; }

.menu-links > li > a {
    display: inline-block;
    color: var(--cream);
    text-decoration: none;
    font-family: var(--font-display);
    font-weight: 500;
    font-size: 0.95rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding-block: var(--sp-2);
    position: relative;
    transition: color var(--dur-base) var(--ease-out);
}

.menu-links > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -2px;
    height: 2px;
    background: var(--ember);
    transition: right var(--dur-base) var(--ease-out);
}

.menu-links > li > a:hover,
.menu-links > li > a:focus-visible {
    color: var(--ember);
}

.menu-links > li > a:hover::after,
.menu-links > li > a:focus-visible::after {
    right: 0;
}

/* Order Online accent link */
.menu-links > li > a.text-dough {
    color: var(--ember);
    font-weight: 600;
}

.menu-links > li > a.text-dough:hover { color: var(--ember-hover); }

/* ============================================================
   Mobile — hide topbar text, show hamburger drawer
   (hamburger styles live in components.css)
   ============================================================ */

@media (max-width: 992px) {
    .topbar { display: none; }

    .menu-list-items .container {
        justify-content: space-between;
        gap: var(--sp-3);
    }

    .menu-logo .menu-text {
        font-size: 0.875rem;
        letter-spacing: 0.06em;
    }

    .menu-logo img { width: 48px; }
}

/* ============================================================
   Body offset for fixed header (so content doesn't hide underneath)
   Hero sections use their own padding-top:200px already.
   ============================================================ */

body {
    padding-top: 0; /* hero padding handles this */
}
