/* ==========================================================
   HEADER.CSS — Benigens Group
   Announcement bar + sticky nav
   ========================================================== */

/* ── Announcement bar ── */
.ben-ann-bar {
    background:      var(--charcoal);
    color:           #fff;
    text-align:      center;
    padding:         12px 20px;
    display:         flex;
    align-items:     center;
    justify-content: center;
    gap:             12px;
    font-family:     var(--font-body);
    font-size:       11px;
    font-weight:     300;
    letter-spacing:  0.18em;
    text-transform:  uppercase;
}
.ben-ann-sep {
    display:         none;
}
.ben-ann-link {
    color:           rgba(255,255,255,0.7);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition:      color var(--transition-fast);
}
.ben-ann-link:hover { color: var(--gold); }

@media (min-width: 768px) {
    .ben-ann-sep  { display: inline; }
    .ben-ann-link { display: inline; }
}

/* ── Primary Nav ── */
.ben-nav {
    background:      rgba(243,237,224,0.92);
    backdrop-filter: blur(12px);
    border-bottom:   1px solid rgba(26,26,26,0.05);
    padding:         20px 40px;
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    position:        sticky;
    top:             0;
    z-index:         9999;
    gap:             24px;
}
.ben-nav--solid {
    background: var(--bone);
    box-shadow: var(--shadow-sm);
}

/* Logo */
.ben-nav-logo {
    display:     flex;
    align-items: center;
    gap:         10px;
    flex-shrink: 0;
    text-decoration: none;
}
.ben-logo-img {
    height:     40px;
    width:      auto;
    object-fit: contain;
    display:    block;
}
.ben-logo-text {
    font-family:    var(--font-display);
    font-size:      20px;
    font-weight:    400;
    letter-spacing: 0.22em;
    color:          var(--charcoal);
}

/* Desktop nav links */
.ben-nav-links {
    flex: 1;
    display: flex;
    justify-content: center;
}
.ben-nav__menu {
    display:     flex;
    align-items: center;
    gap:         40px;
    list-style:  none;
    margin:      0;
    padding:     0;
}
.ben-nav__menu .menu-item a,
.ben-nav-link {
    font-family:     var(--font-body);
    font-size:       12px;
    font-weight:     300;
    letter-spacing:  0.16em;
    text-transform:  uppercase;
    color:           var(--muted);
    text-decoration: none;
    position:        relative;
    transition:      color var(--transition-fast);
}
.ben-nav__menu .menu-item a::after,
.ben-nav-link::after {
    content:    '';
    position:   absolute;
    bottom:     -3px;
    left:       0;
    width:      0;
    height:     1px;
    background: var(--ink);
    transition: width var(--transition-fast);
}
.ben-nav__menu .menu-item a:hover,
.ben-nav-link:hover { color: var(--ink); }
.ben-nav__menu .menu-item a:hover::after,
.ben-nav-link:hover::after { width: 100%; }

/* CTA button in nav */
.ben-nav-cta {
    flex-shrink: 0;
    padding:     12px 24px !important;
    font-size:   10px !important;
}

/* Hamburger */
.ben-hamburger {
    display:    none;
    background: none;
    border:     none;
    cursor:     pointer;
    padding:    4px;
    color:      var(--ink);
    flex-shrink:0;
}
.ben-hamburger:hover { color: var(--gold); }

/* ── Mobile nav ── */
@media (max-width: 768px) {
    .ben-nav {
        padding: 16px 20px;
    }
    .ben-nav-links {
        display:        none;
        position:       absolute;
        top:            100%;
        left:           0;
        right:          0;
        background:     var(--bone);
        border-bottom:  1px solid rgba(26,26,26,0.08);
        padding:        24px 20px;
        flex-direction: column;
        align-items:    flex-start;
    }
    .ben-nav-links.is-open {
        display: flex;
    }
    .ben-nav__menu {
        flex-direction: column;
        align-items:    flex-start;
        gap:            20px;
        width:          100%;
    }
    .ben-hamburger {
        display: flex;
    }
    .ben-nav-cta {
        display: none;
    }
}
@media (min-width: 769px) {
    .ben-hamburger { display: none; }
}
