/* =====================================================================
   v8 — En-tête fixe (bandeau bleu + logo/recherche + menu) et recherche du site
   ===================================================================== */
body{ overflow-x: clip; }
header{ position: sticky; top: 0; z-index: 950; background: var(--white, #fff); transition: box-shadow .2s ease; }
body.entete_compact header{ box-shadow: 0 6px 18px rgba(0,23,61,.10); }
.headerBottom{ transition: padding .2s ease; }
.boxLogo{ display: block; transition: width .2s ease; }
.boxLogo img{ width: 100%; height: auto; display: block; }

@media screen and (min-width: 1101px){
    body.entete_fixe > nav{ position: sticky; top: var(--h-entete, 140px); z-index: 949; background: var(--white, #fff); margin-bottom: 0; padding-top: 10px; padding-bottom: 10px; transition: box-shadow .2s ease, padding .2s ease; }
    body.entete_fixe > nav + *{ margin-top: 20px; }
    body.entete_compact > nav{ box-shadow: 0 8px 18px rgba(0,23,61,.08); padding-top: 6px; padding-bottom: 6px; }
    body.entete_compact header{ box-shadow: none; }
    body.entete_compact .headerBottom{ padding-top: 6px; padding-bottom: 6px; }
    body.entete_compact .boxLogo{ width: 112px; }
    body.entete_compact .headerTop{ padding-top: 4px; padding-bottom: 4px; }
}

/* ancres et titres : ne pas passer sous l'en-tête fixe */
html{ scroll-padding-top: calc(var(--h-entete, 120px) + 60px); }

/* boutons de l'en-tête */
.boxConnection .flexBtn{ align-items: center; gap: 10px; }
.boxConnection .btn{ border-radius: 999px; font-weight: 700; }
.boxConnection .btn i{ font-size: 18px; margin-right: 4px; }
.btn.btn_rdv{ background: var(--darkblue, #00173D); color: #fff; }
.btn.btn_rdv:hover{ background: var(--blue, #0249AE); }
.btn_icone_sortie{ width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; border: 1px solid #c9d3e6; color: var(--darkblue, #00173D); }
.btn_icone_sortie i{ font-size: 18px; }
button.icon_header{ border: none; padding: 0; cursor: pointer; font: inherit; }

/* barre de recherche */
.boxSearch input[type="search"]{ -webkit-appearance: none; appearance: none; width: 260px; transition: width .2s ease; }
.boxSearch input[type="search"]:focus{ width: 320px; }
.boxSearch input::-webkit-search-cancel-button{ display: none; }
@media screen and (min-width: 1101px){
    .boxSearch .container_result{ width: 470px; left: auto; right: 0; transform: none; padding: 10px; max-height: 70vh; overflow-y: auto; }
}
.result_search{ display: flex; flex-direction: column; }
.result_search .rch_indice{ margin: 6px 8px; font-size: 14px; color: #4a5568; }
.rch_titre{ margin: 10px 8px 4px; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: #4a5568; }
.rch_liste{ list-style: none; margin: 0; padding: 0; }
.rch_liste a{ display: flex; flex-direction: column; gap: 2px; padding: 9px 10px; border-radius: 10px; color: var(--darkblue, #00173D); text-decoration: none; }
.rch_liste a strong{ font-size: 14px; }
.rch_liste a span{ font-size: 12px; color: #4a5568; }
.rch_liste a:hover, .rch_liste a.focus{ background: #eef3fb; }
.rch_liste mark{ background: #fde7b8; color: inherit; border-radius: 3px; }
.rch_tout{ display: block; margin: 8px 4px 4px; padding: 10px; border-radius: 10px; text-align: center; font-weight: 700; font-size: 14px; color: var(--blue, #0249AE); background: #f4f7fc; border: none; font-family: inherit; cursor: pointer; text-decoration: none; }
.rch_tout.focus, .rch_tout:hover{ background: #e4ecf9; }

/* page de résultats */
.rch{ max-width: 980px; margin: 0 auto; padding: 28px 16px 60px; color: var(--darkblue, #00173D); }
.rch_form{ background: var(--darkblue, #00173D); border-radius: 22px; padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.rch_barre{ display: flex; gap: 10px; align-items: center; background: #fff; border-radius: 999px; padding: 6px 6px 6px 16px; }
.rch_barre i{ font-size: 22px; color: var(--blue, #0249AE); }
.rch_barre input{ flex: 1; min-width: 0; border: none; outline: none; font: inherit; font-size: 16px; min-height: 44px; background: transparent; }
.rch_total{ margin: 18px 4px 8px; font-weight: 700; }
.rch_aucun{ background: #fff8e8; border-radius: 16px; padding: 16px; }
.rch_aucun p{ margin: 0 0 10px; }
.rch_groupe{ background: #fff; border: 1px solid #e3eaf6; border-radius: 18px; padding: 14px 16px; margin-top: 14px; }
.rch_groupe h2{ margin: 0 0 6px; font-size: 17px; display: flex; align-items: center; gap: 8px; }
.rch_groupe h2 small{ font-size: 12px; background: #eef3fb; border-radius: 999px; padding: 2px 8px; }
.rch_groupe ul{ list-style: none; margin: 0; padding: 0; }
.rch_groupe a{ display: flex; flex-direction: column; gap: 2px; padding: 10px; border-radius: 12px; text-decoration: none; color: inherit; border-top: 1px solid #f0f3f9; }
.rch_groupe li:first-child a{ border-top: none; }
.rch_groupe a:hover{ background: #f4f7fc; }
.rch_groupe a span{ font-size: 14px; color: #4a5568; }

@media (max-width: 1100px){
    .container_result{ width: min(360px, 92vw) !important; max-width: none !important; overflow-y: auto; }
    .result_search .rch_liste a strong{ font-size: 15px; }
}
