/* EN-TÊTE INSTITUTIONNEL — partagé par toutes les pages SISNU */
.site-header {
    position:fixed; top:0; left:0; right:0;
    z-index:999;
    background:#fff;
    box-shadow:0 2px 16px rgba(0,93,105,.08), 0 1px 4px rgba(0,0,0,.04);
}
.header-ministry-bar {
    position:relative;
    background:linear-gradient(160deg,#f0fdfa 0%,#f0fdfa 45%,#ecfdf5 100%);
    padding:.5rem 0;
    border-bottom:1px solid #e8f4f5;
}
.header-ministry {
    display:flex; flex-direction:row; align-items:center; justify-content:center; gap:.9rem;
}
.header-coat-arms {
    height:4.5rem; width:auto; flex-shrink:0;
}
.header-ministry-text {
    font-size:1.05rem; font-weight:600;
    color:#0f172a; line-height:1.5;
    text-align:left;
}
.header-nav-bar {
    background:#005D69;
    padding:.5rem 0;
    border-top:1px solid rgba(255,255,255,.15);
}
.header-nav-bar > .w { display:flex; justify-content:center; align-items:center; gap:1.75rem; }
.nav-links { display:flex; align-items:center; gap:.25rem; list-style:none; }
.nav-links li a {
    font-size:.8125rem; font-weight:600; color:rgba(255,255,255,.9);
    text-decoration:none;
    padding:.5rem 1.125rem;
    border-radius:.625rem;
    display:flex; align-items:center; gap:.5rem;
    transition:all .22s cubic-bezier(.4,0,.2,1);
    letter-spacing:.01em;
    position:relative; overflow:hidden;
}
.nav-links li a::before {
    content:''; position:absolute; inset:0;
    background:rgba(255,255,255,.1);
    opacity:0; border-radius:.625rem;
    transition:opacity .2s;
}
.nav-links li a:hover, .nav-links li a.current { color:#fff; transform:translateY(-2px); background:rgba(255,255,255,.14); }
.nav-links li a:hover::before { opacity:1; }
.nav-links li a svg { width:14px; height:14px; flex-shrink:0; opacity:.85; transition:opacity .2s; }
.nav-links li a:hover svg, .nav-links li a.current svg { opacity:1; }
.nav-cta {
    background:linear-gradient(135deg,#005D69,#00a896) !important;
    color:#fff !important;
    padding:.5rem 1.375rem !important;
    border-radius:2rem !important;
    font-weight:700 !important;
    font-size:.8125rem !important;
    letter-spacing:.03em !important;
    box-shadow:0 0 0 0 rgba(0,168,150,.5) !important;
    animation:navglow 2.5s ease-in-out infinite !important;
    transition:transform .2s, box-shadow .2s !important;
    margin-left:.75rem !important;
}
.nav-cta::before { display:none !important; }
.nav-cta:hover {
    transform:translateY(-3px) scale(1.04) !important;
    box-shadow:0 6px 24px rgba(0,93,105,.55) !important;
}
@keyframes navglow {
    0%,100% { box-shadow:0 0 0 0 rgba(0,168,150,.4),0 4px 16px rgba(0,93,105,.4); }
    50%      { box-shadow:0 0 0 6px rgba(0,168,150,.0),0 4px 16px rgba(0,93,105,.4); }
}
.nav-toggle { display:none; background:none; border:none; padding:.5rem; cursor:pointer; color:#fff; }
.nav-toggle svg { width:22px; height:22px; }
@media(max-width:700px){
    .header-nav-bar { position:relative; }
    .header-nav-bar > .w { justify-content:flex-end; }
    .nav-toggle { display:flex; align-items:center; justify-content:center; }
    .nav-links { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:.15rem; background:#fff; padding:.5rem 1.25rem 1.25rem; box-shadow:0 12px 24px rgba(0,0,0,.1); border-top:1px solid #e8f4f5; }
    .nav-links.open { display:flex; }
    .nav-links li a { padding:.75rem .5rem; color:#475569; }
    .nav-links li a:hover, .nav-links li a.current { color:#005D69; background:#f0fdfa; }
    .site-search { display:none; }
}
