.site-header {
    position:fixed; inset:0 0 auto; z-index:1000; height:var(--aa-header-height);
    color:var(--aa-brun); background:var(--aa-lin);
    transition:background-color .5s ease, color .5s ease, box-shadow .5s ease;
}
.admin-bar .site-header { top:32px; }
.site-header--transparent:not(.site-header--scrolled):not(.site-header--menu-open) { background:transparent; color:var(--aa-lin); }
.site-header--solid, .site-header--scrolled, .site-header--menu-open { background:var(--aa-lin); color:var(--aa-brun); box-shadow:var(--aa-shadow-header); }
.site-header__inner { height:100%; display:flex; align-items:center; justify-content:space-between; }
.site-header__logo { position:relative; z-index:2; display:block; width:110px; flex:0 0 auto; transition:opacity .3s ease; }
.site-header__logo:hover { opacity:.75; }
.site-header__logo-image { display:block; width:100%; height:auto; transition:opacity .3s ease; }
.site-header__logo-image--light { position:absolute; inset:0; }
.site-header--transparent:not(.site-header--scrolled):not(.site-header--menu-open) .site-header__logo-image--dark { opacity:0; }
.site-header--transparent:not(.site-header--scrolled):not(.site-header--menu-open) .site-header__logo-image--light { opacity:1; }
.site-header--solid .site-header__logo-image--dark,.site-header--scrolled .site-header__logo-image--dark,.site-header--menu-open .site-header__logo-image--dark { opacity:1; }
.site-header--solid .site-header__logo-image--light,.site-header--scrolled .site-header__logo-image--light,.site-header--menu-open .site-header__logo-image--light { opacity:0; }
.site-header__navigation { margin-left:auto; }
.site-header__menu { display:flex; align-items:center; gap:2rem; margin:0; padding:0; list-style:none; }
.site-header__menu > li { position:relative; }
.site-header__menu > li.menu-item-has-children { padding-block:24px; }
.site-header__menu a { position:relative; display:block; color:inherit; font-size:.78rem; font-weight:400; line-height:1; letter-spacing:.16em; text-transform:uppercase; }
.site-header__menu > li > a::after { content:""; position:absolute; bottom:-4px; left:0; width:0; height:1px; background:var(--aa-or); transition:width .35s var(--aa-ease-premium); }
.site-header--transparent:not(.site-header--scrolled) .site-header__menu > li > a::after { background:rgba(243,230,212,.6); }
.site-header__menu > li > a:hover::after,.site-header__menu > .current-menu-item > a::after,.site-header__menu > .current-menu-ancestor > a::after { width:100%; }
.site-header__menu .sub-menu { position:absolute; top:100%; left:0; z-index:100; min-width:220px; margin:0; padding:1.5rem 2rem; list-style:none; border-top:1px solid rgba(165,124,50,.4); background:var(--aa-lin); box-shadow:0 18px 40px rgba(60,42,30,.08); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-8px); transition:opacity .3s ease, transform .3s ease, visibility .3s ease; }
.site-header__menu li:hover > .sub-menu,.site-header__menu li:focus-within > .sub-menu { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.site-header__menu .sub-menu a { padding:.75rem 0; border-bottom:1px solid rgba(60,42,30,.1); color:var(--aa-brun); font-size:.72rem; letter-spacing:.15em; }
.site-header__menu .sub-menu li:last-child a { border-bottom:0; }
.site-header__menu .sub-menu a:hover { opacity:.55; }
.site-header__toggle { display:none; position:relative; z-index:2; width:40px; height:40px; padding:8px; border:0; background:transparent; color:inherit; }
.site-header__toggle-icon { display:flex; flex-direction:column; gap:5px; }
.site-header__toggle-icon span { display:block; width:24px; height:1px; background:currentColor; transition:transform .3s ease, opacity .3s ease; }
.site-header__toggle-label { position:absolute; overflow:hidden; width:1px; height:1px; clip:rect(0,0,0,0); }
.site-header__mobile-rule { display:none; }
@media (min-width:768px) { .site-header__logo { width:120px; } }
@media (max-width:767px) {
    .site-header__toggle { display:block; }
    .site-header__navigation { position:fixed; inset:0; z-index:1; display:flex; align-items:center; justify-content:center; margin:0; padding:96px 1.5rem 4rem; background:var(--aa-brun); color:var(--aa-lin); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .4s ease, visibility .4s ease; }
    .site-header--menu-open .site-header__navigation { opacity:1; visibility:visible; pointer-events:auto; }
    .site-header__menu { flex-direction:column; gap:2rem; text-align:center; }
    .site-header__menu > li.menu-item-has-children { padding:0; }
    .site-header__menu > li > a { font-family:var(--aa-font-display); font-size:clamp(2rem,9vw,3rem); font-weight:300; letter-spacing:.12em; }
    .site-header__menu > li > a::after { display:none; }
    .site-header__menu .sub-menu { position:static; min-width:0; margin-top:.75rem; padding:0; border:0; background:transparent; box-shadow:none; opacity:1; visibility:visible; pointer-events:auto; transform:none; }
    .site-header__menu .sub-menu a { padding:.3rem 0; border:0; color:var(--aa-lin); font-family:var(--aa-font-body); font-size:.75rem; letter-spacing:.15em; opacity:.6; }
    .site-header--menu-open { background:transparent; color:var(--aa-lin); box-shadow:none; }
    .site-header--menu-open .site-header__logo-image--dark { opacity:0; }
    .site-header--menu-open .site-header__logo-image--light { opacity:1; }
    .site-header--menu-open .site-header__toggle-icon span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
    .site-header--menu-open .site-header__toggle-icon span:nth-child(2) { opacity:0; }
    .site-header--menu-open .site-header__toggle-icon span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
    .site-header__mobile-rule { display:block; position:absolute; bottom:2rem; left:50%; width:3rem; height:1px; background:var(--aa-or); transform:translateX(-50%); }
}
@media (max-width:782px) { .admin-bar .site-header { top:46px; } }

/* V98 — Sous-menu Expertises aligné sur la navigation React. */
.site-header__menu > li.menu-item-has-children > a {
    padding-right: 1rem;
}
.site-header__submenu-toggle {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 2;
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    transform: translateY(-50%);
    cursor: pointer;
}
.site-header__submenu-toggle svg {
    display: block;
    transition: transform .3s ease;
}
.site-header__menu li.site-header__submenu-open > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
}
.site-header__menu li.site-header__submenu-open > .site-header__submenu-toggle svg {
    transform: rotate(180deg);
}

@media (max-width:767px) {
    .site-header__navigation {
        overflow-y: auto;
        overscroll-behavior: contain;
    }
    .site-header__menu > li.menu-item-has-children > a {
        padding-right: 0;
    }
    .site-header__submenu-toggle {
        display: none;
    }
}

/* V121 — Sur mobile, la barre d’administration WordPress n’est pas fixe.
   Une fois le scroll engagé, la navbar du site doit donc reprendre top: 0
   au lieu de conserver le décalage de 46 px. Aucun rendu public/desktop
   n’est modifié. */
@media (max-width: 782px) {
    .admin-bar .site-header.site-header--scrolled,
    .admin-bar .site-header.is-scrolled {
        top: 0 !important;
    }
}
