/* Lexend (licence SIL Open Font), servie depuis le projet pour marcher hors connexion.
   Elle ne contient pas les lettres ɛ et ɔ du lingala : le navigateur les prend
   alors dans la police suivante de la liste (police du téléphone). */
@font-face{
  font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;
  src:url(fonts/lexend-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;
  src:url(fonts/lexend-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root{
  --font:Lexend,"Noto Sans",Roboto,system-ui,-apple-system,"Segoe UI",sans-serif;
  --bg:#ffffff; --soft:#f2f7f5; --ink:#12302a; --muted:#52655f; --line:#d6e2de;
  --brand:#0f6b5c; --brand-dark:#0a5145; --brand-soft:#dcefe9; --night:#0c2a24; --accent:#d98a1f; --accent-ink:#8a5606; --accent-soft:#fdf3e1;
}

/* Listes déroulantes filtrables (combo.js), communes à toutes les pages */
.combo{position:relative;display:block;min-width:0}
.combo-native{position:absolute!important;opacity:0;pointer-events:none;width:1px!important;height:1px!important;padding:0!important;margin:0!important;border:0!important}
.combo-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;font:inherit;font-weight:400;color:inherit;
  background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:11px 14px;cursor:pointer}
.combo-btn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.combo-btn::after{content:"";flex:none;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);opacity:.7}
.combo-btn[aria-expanded="true"]{border-color:var(--brand)}
.combo-btn:disabled{opacity:.55;cursor:default}
.combo-panel{position:fixed;z-index:60;background:var(--bg);color:var(--ink);border-radius:14px;box-shadow:0 14px 40px rgba(12,42,36,.25);padding:8px;font-size:15.5px;font-weight:400;text-align:left}
.combo-filter{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:9px 12px;font:inherit;color:inherit;background:var(--bg);margin:0 0 6px}
.combo-filter:focus{outline:0;border-color:var(--brand)}
.combo-list{list-style:none;margin:0;padding:0;max-height:232px;overflow-y:auto}
.combo-list li{padding:9px 10px;border-radius:9px;cursor:pointer;line-height:1.3}
.combo-list li:hover,.combo-list li.active{background:var(--brand-soft)}
.combo-list li[aria-selected="true"]{font-weight:600;color:var(--brand-dark)}
.combo-list li.combo-none{color:var(--muted);cursor:default;background:none}
/* Sur téléphone : la liste devient une fenêtre en haut de l'écran, au-dessus du clavier */
.combo-backdrop{position:fixed;inset:0;z-index:59;background:rgba(12,42,36,.45)}
.combo-backdrop[hidden]{display:none}
.combo-panel.combo-sheet{left:10px;right:10px;top:max(10px,env(safe-area-inset-top));bottom:auto;width:auto;padding:10px;border-radius:18px;font-size:16.5px}
.combo-sheet .combo-filter{font-size:16px;padding:12px 14px}
.combo-sheet .combo-list{max-height:min(46vh,340px)}
.combo-sheet .combo-list li{padding:13px 12px}
/* Dans un en-tête coloré (application, vitrine) : bouton clair sur fond vert */
.top .combo,.nav .combo{flex:none;max-width:150px}
.top .combo-btn,.nav .combo-btn{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.45);padding:8px 12px}
