/* assets/css/besoins.css — « Mes besoins » et la recherche intelligente (24/09/2026, btob).
   Composants de assets/js/besoins.js : barre de recherche, resultats, barre du bas « Mes besoins ».
   Charte : marine #0c376b, vert #8abf56, encre #10131b, gris #67748a, bordures #d9e1ec. */

.bs-rech{position:relative;font-family:inherit}
.bs-lbl{display:block;font-size:14px;font-weight:800;color:#10131b;margin:0 0 6px}
.bs-champ{position:relative}
.bs-champ i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#67748a;font-size:16px;pointer-events:none}
.bs-champ input{width:100%;box-sizing:border-box;border:2px solid #d9e1ec;border-radius:999px;padding:13px 46px 13px 44px;font:inherit;font-size:16px;color:#10131b;background:#fff;-webkit-appearance:none;appearance:none;box-shadow:0 8px 20px -14px rgba(12,55,107,.45)}
.bs-champ input:focus{outline:none;border-color:#0c376b;box-shadow:0 0 0 3px rgba(138,191,86,.4)}
.bs-champ input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.bs-effacer{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:0;background:#e6eef8;color:#0c376b;font-size:20px;line-height:1;cursor:pointer;padding:0;touch-action:manipulation}
.bs-msg{margin:8px 4px 0;font-size:13px;font-weight:600;color:#0c376b}
.bs-res{margin-top:10px}
.bs-attente{font-size:13.5px;color:#67748a;padding:8px 4px}
.bs-groupe{margin:0 0 12px}
.bs-gt{font-size:12.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#0c376b;margin:0 4px 6px}
.bs-gt span{font-weight:600;text-transform:none;letter-spacing:0;color:#67748a;margin-left:4px}
.bs-liste{display:grid;gap:6px}
.bs-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;background:#fff;border:1.5px solid #d9e1ec;border-radius:12px;padding:8px 8px 8px 8px;color:#10131b;transition:border-color .12s,background .12s}
.bs-item img,.bs-ico{width:48px;height:48px;border-radius:9px;object-fit:cover;display:block;background:#eef3fa}
.bs-ico{display:grid;place-items:center;color:#0c376b;font-size:18px}
.bs-t{min-width:0;display:grid;gap:2px}
.bs-t b{font-size:15px;font-weight:700;line-height:1.3}
.bs-t span{font-size:12.5px;color:#3d4757;line-height:1.3}
.bs-add{min-height:44px;min-width:104px;border-radius:999px;border:1.5px solid #0c376b;background:#fff;color:#0c376b;font:inherit;font-size:13.5px;font-weight:800;padding:8px 12px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.bs-item.on{border-color:#8abf56;background:#f6fbf0}
.bs-item.on .bs-add{background:#8abf56;border-color:#8abf56;color:#10131b}
.bs-item.bs-refus{animation:bsRefus .4s}
@keyframes bsRefus{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
.bs-rien{display:grid;gap:6px;justify-items:start;background:#fff;border:1px dashed #c9d2cb;border-radius:14px;padding:14px;font-size:14px;color:#3d4757}
.bs-rien b{color:#10131b}
.bs-decrire{min-height:44px;border-radius:999px;border:0;background:#0c376b;color:#fff;font:inherit;font-size:14.5px;font-weight:700;padding:10px 18px;cursor:pointer;touch-action:manipulation}
.bs-pas{font-size:13.5px;color:#3d4757;margin:4px 4px 0}
.bs-decrire.lien{min-height:40px;background:transparent;color:#0c376b;text-decoration:underline;padding:6px 4px}
@media(hover:hover){.bs-item:hover{border-color:#0c376b}.bs-add:hover{background:#eef4fb}.bs-item.on .bs-add:hover{background:#7bb84a}}
.bs-add:active,.bs-decrire:active{transform:scale(.97)}

/* Barre du bas « Mes besoins » : au-dessus de la barre de navigation du site sur telephone (hauteur
   mesuree dans --btb-h-navbas), tout en bas quand celle-ci se cache en defilant. */
.bs-barre{position:fixed;left:0;right:0;bottom:0;z-index:9990;background:#fff;border-top:1px solid #d9e1ec;box-shadow:0 -8px 24px -14px rgba(12,55,107,.45);padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))}
.bs-barre[hidden]{display:none}
@media(max-width:1023px){
  .bs-barre{bottom:var(--btb-h-navbas,64px);transition:bottom .3s ease-in-out;padding-bottom:10px}
  body.btb-navbas-cachee .bs-barre,body:not(:has(#mobile-navbar)) .bs-barre{bottom:0;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
}
.bs-barre-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:10px}
.bs-barre-voir{flex:1;min-width:0;display:grid;gap:1px;text-align:left;border:0;background:transparent;font:inherit;color:#10131b;cursor:pointer;padding:4px 2px;min-height:44px}
.bs-barre-voir b{font-size:14.5px;font-weight:800}
.bs-barre-voir span{font-size:12.5px;color:#67748a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bs-barre-go{flex:none;min-height:46px;border-radius:999px;border:0;background:#8abf56;color:#10131b;font:inherit;font-size:15px;font-weight:800;padding:10px 18px;cursor:pointer;touch-action:manipulation}
.bs-barre-liste{list-style:none;max-width:1180px;margin:8px auto 0;padding:0;display:grid;gap:6px}
.bs-barre-liste[hidden]{display:none}
.bs-barre-liste li{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e3e9f1;border-radius:10px;padding:4px 4px 4px 12px;font-size:14px;font-weight:600}
.bs-barre-liste button{width:40px;height:40px;border-radius:50%;border:0;background:#f6f8fc;color:#b42318;font-size:20px;cursor:pointer}
body.bs-avec-barre{padding-bottom:84px}
@media(max-width:1023px){body.bs-avec-barre{padding-bottom:150px}}
