/* Barre de recherche du site — partagée par toutes les pages SISNU */
.site-search { position:relative; margin-left:1rem; }
.ssearch-input-wrap {
    display:flex; align-items:center; gap:.5rem;
    background:#f8fafc; border:1px solid #e2e8f0; border-radius:2rem;
    padding:.5rem .9rem; transition:border-color .2s, box-shadow .2s, background .2s;
}
.ssearch-input-wrap:focus-within { border-color:#00a896; box-shadow:0 0 0 3px rgba(0,168,150,.12); background:#fff; }
.ssearch-input-wrap svg { width:15px; height:15px; color:#94a3b8; flex-shrink:0; }
.ssearch-input {
    border:none; outline:none; background:transparent;
    font-size:.8125rem; font-family:'Plus Jakarta Sans',sans-serif; color:#0f172a; width:11rem;
}
.ssearch-input::placeholder { color:#94a3b8; }
.ssearch-kbd {
    font-size:.625rem; font-weight:700; color:#94a3b8; background:#fff;
    border:1px solid #e2e8f0; border-radius:.35rem; padding:.05rem .35rem; flex-shrink:0;
}
.ssearch-panel {
    position:absolute; top:calc(100% + .6rem); right:0; width:24rem; max-width:88vw;
    background:#fff; border:1px solid #e2e8f0; border-radius:1rem;
    box-shadow:0 16px 40px -12px rgba(0,0,0,.18);
    max-height:26rem; overflow-y:auto;
    opacity:0; pointer-events:none; transform:translateY(-6px);
    transition:opacity .15s ease, transform .15s ease;
    z-index:1000;
}
.ssearch-panel.open { opacity:1; pointer-events:auto; transform:translateY(0); }
.ssearch-item {
    display:flex; flex-direction:column; gap:.2rem;
    padding:.85rem 1.1rem; text-decoration:none; border-bottom:1px solid #f1f5f9;
}
.ssearch-item:last-child { border-bottom:none; }
.ssearch-item:hover, .ssearch-item.active { background:#f0fdfa; }
.ssearch-item-tag { font-size:.625rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#005D69; }
.ssearch-item-title { font-size:.8125rem; font-weight:700; color:#0f172a; display:flex; align-items:center; gap:.5rem; }
.ssearch-here {
    font-size:.625rem; font-weight:600; color:#0f766e; background:#f0fdfa;
    border:1px solid #ccfbf1; border-radius:1rem; padding:.05rem .5rem;
    text-transform:none; letter-spacing:0;
}
.ssearch-item-desc { font-size:.75rem; color:#64748b; line-height:1.5; }
.ssearch-empty { padding:1.1rem; font-size:.8125rem; color:#94a3b8; text-align:center; }
@media (max-width:820px) { .site-search { display:none; } }

/* Barre d'utilité — contact + recherche, au-dessus du bandeau ministère */
.header-utility-wrap { border-bottom:1px solid rgba(255,255,255,.15); }
.header-utility { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.55rem 0 .9rem; flex-wrap:wrap; }
.header-utility-contact { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.header-utility-contact a { display:flex; align-items:center; gap:.45rem; color:rgba(255,255,255,.88); text-decoration:none; font-size:.75rem; font-weight:600; letter-spacing:.01em; transition:color .15s; }
.header-utility-contact a:hover { color:#fff; }
.header-utility-contact svg { width:14px; height:14px; flex-shrink:0; opacity:.9; }
@media (max-width:700px) { .header-utility-contact span.hu-full { display:none; } }
.header-social { display:flex; align-items:center; gap:.9rem; padding:.6rem 0 .6rem 1.1rem; margin-left:.15rem; border-left:1px solid rgba(255,255,255,.25); }
.header-social a { display:flex; color:rgba(255,255,255,.8); transition:color .15s; }
.header-social a:hover { color:#fff; }
.header-social svg { width:15px; height:15px; }

/* Badge Ministère — icône + libellé sur deux lignes */
.mspp-badge { display:inline-flex !important; align-items:center; gap:.55rem; background:transparent; border-radius:2rem; padding:.25rem 0; }
.mspp-badge:hover { color:inherit !important; }
.mspp-badge:hover .mspp-badge__icon { background:rgba(255,255,255,.3); }
.mspp-badge__icon { width:1.9rem; height:1.9rem; border-radius:50%; background:rgba(255,255,255,.18); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .15s; }
.mspp-badge__icon svg { width:14px !important; height:14px !important; opacity:1 !important; }
.mspp-badge__text { display:flex; flex-direction:column; line-height:1.2; }
.mspp-badge__text span { font-size:.5625rem; color:rgba(255,255,255,.75); font-weight:600; letter-spacing:.02em; text-transform:uppercase; }
.mspp-badge__text b { font-size:.6875rem; color:#fff; font-weight:800; letter-spacing:.01em; text-transform:uppercase; }

/* Variante sombre du champ de recherche — sur fond teal */
.site-search-dark { margin-left:0; }
.site-search-dark .ssearch-input-wrap { background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.3); }
.site-search-dark .ssearch-input-wrap:focus-within { background:rgba(255,255,255,.22); border-color:rgba(255,255,255,.55); box-shadow:0 0 0 3px rgba(255,255,255,.18); }
.site-search-dark .ssearch-input-wrap svg { color:rgba(255,255,255,.85); }
.site-search-dark .ssearch-input { color:#fff; width:13rem; }
.site-search-dark .ssearch-input::placeholder { color:rgba(255,255,255,.75); }
.site-search-dark .ssearch-panel { right:0; color:#0f172a; }
@media (max-width:700px) { .site-search-dark { display:none; } }
