/* Foulées Beaujolaises — calendrier de la saison
   Palette et typographie reprises du site du club : turquoise, doré, Poppins. */

:root{
  --ground:#F1F6F7; --surface:#FFFFFF; --surface-2:#F8FBFB;
  --ink:#0E2026; --ink-2:#4E6B72; --ink-3:#7E979D;
  --line:#DCE8EA; --line-strong:#C1D4D8;
  --brand:#09949E; --brand-ink:#05666E; --brand-soft:#E3F2F4; --brand-strong:#06757F;
  --gold:#F8B737; --gold-ink:#8C5F05; --gold-soft:#FDF2DC;
  --ok:#256E43; --warn:#A8460D; --off:#657F85;
  --ok-soft:#E4F1E9; --warn-soft:#FBEADF; --off-soft:#ECF1F2;
  --focus:#05666E; --on-brand:#FFFFFF; --on-gold:#2E2000;
  --shadow:0 1px 2px rgba(14,32,38,.06), 0 8px 24px -16px rgba(14,32,38,.3);
  --r:10px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#0B1A1F; --surface:#122A31; --surface-2:#173A42;
    --ink:#EAF3F4; --ink-2:#9DB5BB; --ink-3:#728E95;
    --line:#21414A; --line-strong:#2F5760;
    --brand:#34BCC7; --brand-ink:#63D6E0; --brand-soft:#0F343A; --brand-strong:#6FDAE3;
    --gold:#F8B737; --gold-ink:#FFC85C; --gold-soft:#2E2410;
    --ok:#59BE85; --warn:#E0894B; --off:#8FA7AD;
    --ok-soft:#12291D; --warn-soft:#2B1D12; --off-soft:#1B343A;
    --focus:#63D6E0; --on-brand:#04252A; --on-gold:#2E2000;
    --shadow:0 1px 2px rgba(0,0,0,.45), 0 8px 24px -16px rgba(0,0,0,.85);
  }
}
:root[data-theme="dark"]{
  --ground:#0B1A1F; --surface:#122A31; --surface-2:#173A42;
  --ink:#EAF3F4; --ink-2:#9DB5BB; --ink-3:#728E95;
  --line:#21414A; --line-strong:#2F5760;
  --brand:#34BCC7; --brand-ink:#63D6E0; --brand-soft:#0F343A; --brand-strong:#6FDAE3;
  --gold:#F8B737; --gold-ink:#FFC85C; --gold-soft:#2E2410;
  --ok:#59BE85; --warn:#E0894B; --off:#8FA7AD;
  --ok-soft:#12291D; --warn-soft:#2B1D12; --off-soft:#1B343A;
  --focus:#63D6E0; --on-brand:#04252A; --on-gold:#2E2000;
  --shadow:0 1px 2px rgba(0,0,0,.45), 0 8px 24px -16px rgba(0,0,0,.85);
}

*,*::before,*::after{box-sizing:border-box}
body{
  margin:0; background:var(--ground); color:var(--ink);
  font-family:"Poppins","Segoe UI",system-ui,-apple-system,sans-serif;
  font-size:14.5px; line-height:1.5;
  -webkit-text-size-adjust:100%;
}
h1,h2,h3{margin:0; text-wrap:balance}
a{color:var(--brand-ink)}
button{font:inherit; color:inherit}
:focus-visible{outline:2px solid var(--focus); outline-offset:2px; border-radius:4px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.wrap{max-width:720px; margin:0 auto; padding-inline:16px}

/* ---------- en-tête ---------- */
.topbar{
  position:sticky; top:env(safe-area-inset-top,0px); z-index:30;
  background:var(--ground); border-bottom:1px solid var(--line);
}
.topbar-in{display:flex; align-items:center; gap:12px; padding-block:12px 10px}
.brand{min-width:0; flex:1}
.brand h1{
  font-family:"Poppins",system-ui,sans-serif;
  font-weight:700; font-style:italic; font-size:23px; line-height:1.05;
  letter-spacing:-.01em; text-transform:uppercase;
}
.brand .season{
  font-family:"Poppins",system-ui,sans-serif;
  font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-3); margin-top:3px; font-weight:500;
}
.iconbtn{
  flex:none; width:38px; height:38px; display:grid; place-items:center;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r);
  cursor:pointer;
}
.iconbtn:hover{border-color:var(--line-strong)}
.iconbtn svg{width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.8}

/* ---------- barre d'outils ---------- */
.toolbar{position:sticky; top:calc(env(safe-area-inset-top,0px) + 62px); z-index:29;
  background:var(--ground); border-bottom:1px solid var(--line); padding-block:0 10px}
.tabs{display:flex; gap:2px; padding-top:2px; margin-bottom:10px;
  border-bottom:1px solid var(--line); overflow-x:auto; scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{
  appearance:none; background:none; border:0; cursor:pointer; padding:9px 2px; margin-right:20px;
  font-family:"Poppins",system-ui,sans-serif; font-size:14px; font-weight:600;
  letter-spacing:.04em; text-transform:uppercase; color:var(--ink-3);
  border-bottom:2px solid transparent; margin-bottom:-1px; white-space:nowrap; flex:none;
}
.tab[aria-selected="true"]{color:var(--ink); border-bottom-color:var(--brand)}
.tabs{border-bottom-width:1px}

.chipbar{display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; padding-bottom:2px}
.chipbar + .chipbar{margin-top:6px}
.chipbar::-webkit-scrollbar{display:none}
/* une rangée de filtres qui dépasse s'estompe à droite : d'autres choix suivent */
.chipbar.suite{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent);
  mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent)}
.chip{
  flex:none; appearance:none; cursor:pointer; white-space:nowrap;
  background:var(--surface); border:1px solid var(--line); color:var(--ink-2);
  border-radius:100px; padding:5px 11px; font-size:13px; font-weight:500;
}
.chip:hover{border-color:var(--line-strong)}
.chip[aria-pressed="true"]{background:var(--brand-strong); border-color:var(--brand-strong);
  color:var(--on-brand); font-weight:600}
.chip.prio[aria-pressed="true"]{background:var(--gold); border-color:var(--gold); color:var(--on-gold)}

.searchrow{display:flex; gap:6px; margin-top:8px}
.searchrow input,.searchrow select{
  background:var(--surface); border:1px solid var(--line); color:var(--ink);
  border-radius:var(--r); padding:7px 10px; font-size:14px; min-width:0;
}
.searchrow input{flex:1}
.searchrow input::placeholder{color:var(--ink-3)}

/* ---------- compteur ---------- */
.count{
  font-family:"Poppins",system-ui,sans-serif; font-size:11.5px; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3);
  padding-block:14px 6px; display:flex; justify-content:space-between; gap:12px; align-items:baseline;
}
.count button{appearance:none;background:none;border:0;cursor:pointer;color:var(--brand-ink);
  font-family:inherit; font-size:11.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase}

/* ---------- mois ---------- */
.month{
  display:flex; align-items:baseline; gap:10px; padding-block:18px 8px;
}
.month h2{
  font-family:"Poppins",system-ui,sans-serif; font-weight:600;
  font-size:15px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink);
}
.month .rule{flex:1; height:1px; background:var(--line)}
.month .n{font-family:"Poppins",system-ui,sans-serif; color:var(--ink-3);
  font-size:13px; font-variant-numeric:tabular-nums}

/* ---------- ligne de course ---------- */
.row{display:flex; gap:12px; padding-block:14px; border-top:1px solid var(--line)}
.row:first-of-type{border-top:0}
.row.is-prio{background:linear-gradient(90deg,var(--gold-soft),transparent 62%);
  margin-inline:-10px; padding-inline:10px; border-radius:6px}
.row.is-next{background:var(--surface); box-shadow:var(--shadow);
  margin-inline:-12px; padding:14px 12px; border-radius:var(--r); border-top:0}
.row.is-past{opacity:.5}

.date{flex:none; width:56px; text-align:center;
  font-family:"Poppins",system-ui,sans-serif; line-height:1}
.date .d{font-size:26px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:-.01em}
.date .wd{font-size:10px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-top:4px}
.date .mo{font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-top:2px}
.date.vague .d{font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  color:var(--ink-2); padding-top:6px}

.body{flex:1; min-width:0}
.eyebrow{display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-bottom:3px}
.disc{
  font-family:"Poppins",system-ui,sans-serif; font-size:11px; font-weight:600;
  letter-spacing:.11em; text-transform:uppercase; color:var(--ink-3);
}
.prio-tag{
  font-family:"Poppins",system-ui,sans-serif; font-size:10px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:var(--gold-ink);
  border:1px solid currentColor; border-radius:3px; padding:0 5px;
}
.row h3{font-size:16px; font-weight:600; line-height:1.25; letter-spacing:-.005em}
.meta{color:var(--ink-2); font-size:13.5px; margin-top:3px}
.meta .sep{color:var(--ink-3); padding-inline:5px}
.dists{display:flex; flex-wrap:wrap; gap:4px; margin-top:7px}
.dist{font-size:12px; font-variant-numeric:tabular-nums; color:var(--ink-2);
  background:var(--off-soft); border-radius:4px; padding:2px 6px; white-space:nowrap}
.status{display:inline-flex; align-items:center; gap:5px; font-size:12.5px; font-weight:500;
  border-radius:100px; padding:2px 8px; margin-top:8px}
.status::before{content:""; width:6px; height:6px; border-radius:50%; background:currentColor}
.status.ouvert{color:var(--ok); background:var(--ok-soft)}
.status.partiel{color:var(--warn); background:var(--warn-soft)}
.status.complet,.status.inconnu,.status.bientot{color:var(--off); background:var(--off-soft)}
.note{font-size:13px; color:var(--ink-2); margin-top:8px; padding-left:10px;
  border-left:2px solid var(--line-strong)}

/* ---------- actions ---------- */
.actions{display:flex; flex-wrap:wrap; gap:6px; margin-top:11px}
.btn{
  appearance:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px;
  border-radius:var(--r); padding:7px 12px; font-size:13.5px; font-weight:500;
  border:1px solid var(--line); background:var(--surface); color:var(--ink); text-decoration:none;
  min-height:36px;
}
.btn:hover{border-color:var(--line-strong)}
.btn svg{width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:1.9; flex:none}
.btn-primary{background:var(--brand-strong); border-color:var(--brand-strong);
  color:var(--on-brand); font-weight:600}
.btn-primary:hover{filter:brightness(1.08)}
.btn-on{background:var(--ok-soft); border-color:var(--ok); color:var(--ok); font-weight:700}
.btn .n{font-variant-numeric:tabular-nums; opacity:.75}

/* ---------- panneaux ---------- */
.panel{margin-top:10px; background:var(--surface-2); border:1px solid var(--line);
  border-radius:var(--r); padding:11px 12px}
.panel h4{
  font-family:"Poppins",system-ui,sans-serif; font-size:11px; font-weight:600;
  letter-spacing:.11em; text-transform:uppercase; color:var(--ink-3); margin:0 0 8px;
}
.people{display:flex; flex-wrap:wrap; gap:5px}
.going{display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin-top:9px}
.going-lbl{font-family:"Poppins",system-ui,sans-serif; font-size:11px;
  font-weight:600; letter-spacing:.11em; text-transform:uppercase; color:var(--ink-3);
  margin-right:2px}
.person{font-size:13px; background:var(--surface); border:1px solid var(--line);
  border-radius:100px; padding:3px 9px}
.person.me{border-color:var(--ok); color:var(--ok); font-weight:700}

/* « Y vont », rangés par parcours */
.going-parcours{display:block}
.going-parcours .going-lbl{display:block}
.grp{display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin-top:5px}
.grp-lbl{font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; color:var(--ink-2);
  background:var(--off-soft); border-radius:4px; padding:2px 6px; margin-right:2px; overflow-wrap:anywhere}
.grp-lbl.flou{background:none; padding-inline:0; font-weight:500; font-style:italic; color:var(--ink-3)}
.btn-parcours{display:inline-block; max-width:12em; overflow:hidden; text-overflow:ellipsis;
  white-space:nowrap; vertical-align:bottom}
/* choix du parcours, sous « J'y suis » */
.choix{display:flex; flex-wrap:wrap; gap:6px}
.choix .chip{white-space:normal; text-align:left; min-height:36px; padding:6px 12px}
.choix .chip .n{font-variant-numeric:tabular-nums; opacity:.75}
.choix .chip.flou{font-style:italic}
.choix-pied{margin:10px 0 0; font-size:13px}
.choix-pied .lien{appearance:none; background:none; border:0; cursor:pointer; padding:0;
  color:var(--ink-2); text-decoration:underline; font-size:13px}
.empty{font-size:13px; color:var(--ink-3); font-style:italic}

.lift{display:flex; gap:9px; padding-block:9px; border-top:1px solid var(--line)}
.lift:first-of-type{border-top:0; padding-top:0}
.lift .kind,.lot .kind{
  flex:none; font-family:"Poppins",system-ui,sans-serif; font-size:10px;
  font-weight:700; letter-spacing:.09em; text-transform:uppercase; padding:2px 6px;
  border-radius:4px; height:fit-content; margin-top:2px; white-space:nowrap;
}
.lift .kind.offre{color:var(--ok); background:var(--ok-soft)}
.lift .kind.demande{color:var(--brand-ink); background:var(--brand-soft)}
.lift .who{font-weight:700; font-size:14px}
.lift .det{font-size:13px; color:var(--ink-2)}
.lift .del{margin-left:auto; appearance:none; background:none; border:0; cursor:pointer;
  color:var(--ink-3); font-size:12px; text-decoration:underline; align-self:flex-start}

.form{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; padding-top:10px;
  border-top:1px dashed var(--line-strong)}
.form input,.form select{background:var(--surface); border:1px solid var(--line);
  color:var(--ink); border-radius:8px; padding:7px 9px; font-size:13.5px; min-width:0}
.form input::placeholder{color:var(--ink-3)}
.form .grow{flex:1 1 130px}
.form .sm{width:74px}

/* ---------- identité ---------- */
.me-bar{display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  padding:10px 12px; margin-top:14px; background:var(--surface);
  border:1px solid var(--line); border-radius:var(--r); font-size:13.5px}
.me-bar strong{font-weight:700}
.me-bar button{appearance:none;background:none;border:0;cursor:pointer;
  color:var(--brand-ink); text-decoration:underline; font-size:13.5px; padding:0}

/* ---------- bannières et pied ---------- */
.banner{
  background:var(--brand-soft); border:1px solid var(--brand); color:var(--ink);
  border-radius:var(--r); padding:11px 13px; margin-top:14px; font-size:13.5px;
}
.banner strong{color:var(--brand-ink)}
.subscribe{display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  padding:12px 13px; margin-top:16px; background:var(--surface);
  border:1px solid var(--line); border-radius:var(--r); font-size:13.5px}
.subscribe .lbl{font-weight:700; flex:1 1 100%}
footer{color:var(--ink-3); font-size:12.5px; padding-block:26px 34px; text-align:center}
footer a{color:var(--ink-3)}

/* ---------- boîte de dialogue prénom ---------- */
.overlay{position:fixed; inset:0; background:rgba(20,18,19,.55); z-index:60;
  display:grid; place-items:center; padding:16px}
.dialog{background:var(--surface); border:1px solid var(--line); border-radius:14px;
  padding:18px; width:100%; max-width:340px; box-shadow:var(--shadow)}
.dialog h3{font-size:17px; margin-bottom:5px}
.dialog p{font-size:13.5px; color:var(--ink-2); margin:0 0 12px}
.dialog input{width:100%; background:var(--surface-2); border:1px solid var(--line-strong);
  color:var(--ink); border-radius:8px; padding:9px 11px; font-size:15px}
.dialog .row2{display:flex; gap:8px; margin-top:12px; justify-content:flex-end}

/* ---------- appli sur l'écran d'accueil (assets/appli.js) ---------- */
.appli-carte{display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding:12px 13px; margin-top:14px; background:var(--surface); border:1px solid var(--line);
  border-left:3px solid var(--brand); border-radius:var(--r); font-size:13.5px}
.appli-carte img{flex:none; width:44px; height:44px; border-radius:10px; box-shadow:0 0 0 1px var(--line)}
.appli-texte{flex:1 1 170px; min-width:0; display:flex; flex-direction:column; line-height:1.35}
.appli-texte strong{font-weight:700}
.appli-texte span{color:var(--ink-2); font-size:12.5px; margin-top:2px}
.appli-acts{display:flex; gap:8px; flex-wrap:wrap}
.etapes{margin:4px 0 10px; padding-left:20px; font-size:14px; color:var(--ink)}
.etapes li{margin-bottom:9px; padding-left:2px}
.etapes svg{width:18px; height:18px; vertical-align:-3px; stroke:var(--brand-ink); fill:none; stroke-width:1.9}
.dialog .note-appli{font-size:12.5px; color:var(--ink-3); margin:2px 0 0}

@media (max-width:420px){
  .tab{font-size:13px; margin-right:15px}
  .brand h1{font-size:20px}
  .row h3{font-size:15px}
  .date{width:50px}
  .date .d{font-size:23px}
}

[hidden]{display:none!important}
.chipbar select{
  flex:none; background:var(--surface); border:1px solid var(--line); color:var(--ink-2);
  border-radius:100px; padding:5px 9px; font-size:13px; font-weight:500; cursor:pointer;
}
.chipbar .divider{flex:none; width:1px; background:var(--line); margin-inline:3px}

footer .devise{
  display:block; font-style:italic; font-weight:700; font-size:14px;
  letter-spacing:.02em; text-transform:uppercase; color:var(--brand-ink);
  margin-bottom:8px;
}

/* ---------- entraînements ---------- */
.groupe{
  font-family:"Poppins",system-ui,sans-serif; font-size:10px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--brand-ink);
  background:var(--brand-soft); border-radius:4px; padding:2px 6px;
}
.seance-contenu{
  margin-top:9px; padding:10px 12px; background:var(--surface-2);
  border:1px solid var(--line); border-left:3px solid var(--brand);
  border-radius:8px; font-size:14px; line-height:1.55; white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.signe{margin-top:9px; font-size:12.5px; color:var(--ink-3); font-style:italic}
.ligne-titre{display:block; font-weight:700; margin-top:6px}
.ligne-puce{display:block; padding-left:14px; text-indent:-14px}
.ligne-puce::before{content:"•"; color:var(--brand); padding-right:7px}

.message{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r);
  padding:15px 16px; margin-bottom:12px; box-shadow:var(--shadow);
}
.message.epingle{border-color:var(--gold); background:linear-gradient(180deg,var(--gold-soft),var(--surface) 70%)}
.message-hd{display:flex; align-items:center; gap:9px; flex-wrap:wrap}
.message-hd h3{font-size:17px; font-weight:600; letter-spacing:-.005em}
.message-corps{
  margin-top:10px; font-size:14px; line-height:1.6; white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.message-corps a,.seance-contenu a{color:var(--brand-ink); text-underline-offset:2px}

/* ---------- parcours ---------- */
.parcours .stats{
  display:flex; flex-wrap:wrap; gap:6px 18px; margin-bottom:11px;
  font-size:13px; color:var(--ink-2);
}
.parcours .stats b{
  font-size:17px; font-weight:700; color:var(--ink);
  font-variant-numeric:tabular-nums; margin-right:3px;
}
.svg-profil{width:100%; height:104px; display:block}
.svg-profil .aire{fill:var(--brand); opacity:.14}
.svg-profil .trait{fill:none; stroke:var(--brand); stroke-width:2; vector-effect:non-scaling-stroke}
.svg-profil .lab{
  fill:var(--ink-3); font-size:11px; font-family:"Poppins",system-ui,sans-serif;
  font-variant-numeric:tabular-nums;
}
.svg-profil .fin{text-anchor:end}
.parcours .carte{
  height:250px; margin-top:11px; border-radius:8px; overflow:hidden;
  border:1px solid var(--line); background:var(--surface);
}
.parcours .carte .leaflet-container{height:100%; width:100%; background:var(--surface-2)}
:root[data-theme="dark"] .parcours .carte .leaflet-tile{filter:brightness(.82) contrast(1.05)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .parcours .carte .leaflet-tile{filter:brightness(.82) contrast(1.05)}
}

.aide-fit{
  margin-top:8px; font-size:12.5px; color:var(--ink-3);
  padding-left:10px; border-left:2px solid var(--line-strong);
}

/* ---------- sondages (vie du club) ---------- */
.sondages{margin-top:14px}
.sondage{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r);
  padding:15px 16px; margin-bottom:12px; box-shadow:var(--shadow);
}
.sondage.clos{box-shadow:none; background:var(--surface-2)}
.sondage h3{font-size:17px; font-weight:600; line-height:1.3; letter-spacing:-.005em; margin-top:2px}
.sondage-lien{font-size:13px; color:var(--ink-2); margin-top:6px}
.sondage-detail{margin-top:8px; font-size:14px; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere}
.opts{display:flex; flex-direction:column; gap:9px; margin-top:13px}
.opt{
  position:relative; overflow:hidden; display:flex; align-items:center; gap:10px; width:100%;
  appearance:none; cursor:pointer; text-align:left; font:inherit; color:var(--ink);
  background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r);
  padding:10px 12px; min-height:46px;
}
.opt:hover:not(:disabled){border-color:var(--line-strong)}
.opt:disabled{cursor:default}
.opt .fond{position:absolute; top:0; bottom:0; left:0; background:var(--brand-soft); transition:width .25s}
.opt > span:not(.fond){position:relative}
.opt-t{flex:1; min-width:0; font-size:14.5px; font-weight:500; overflow-wrap:anywhere}
.opt-n{flex:none; font-size:14px; font-weight:700; font-variant-numeric:tabular-nums; color:var(--ink-2)}
.opt-n .pct{font-weight:500; color:var(--ink-3)}
.coche{flex:none; width:18px; height:18px; border:2px solid var(--line-strong); background:var(--surface);
  display:grid; place-items:center; color:var(--on-brand); font-size:12px; font-weight:700; line-height:1}
.coche.rond{border-radius:50%}
.coche.carre{border-radius:5px}
.opt.on{border-color:var(--brand)}
.opt.on .opt-t{font-weight:700}
.opt.on .coche{border-color:var(--brand-strong); background:var(--brand-strong)}
.opt.on .coche.rond{box-shadow:inset 0 0 0 3px var(--surface)}
.opt.on .coche.carre::after{content:"\2713"}
.opt-noms{font-size:12.5px; color:var(--ink-3); margin:4px 2px 0; overflow-wrap:anywhere}
.opt-noms b{color:var(--ok); font-weight:700}
.sondage-pied{margin-top:11px; font-size:13px; color:var(--ink-2)}
.sondage-pied .lien{appearance:none; background:none; border:0; cursor:pointer; padding:0;
  color:var(--brand-ink); text-decoration:underline; font-size:13px; font-weight:500}

/* ---------- foire aux dossards ---------- */
.lot{display:flex; gap:9px; padding-block:10px; border-top:1px solid var(--line)}
.lot:first-of-type{border-top:0; padding-top:0}
.lot.cede{opacity:.6}
.lot .kind.vente{color:var(--gold-ink); background:var(--gold-soft)}
.lot .kind.don{color:var(--ok); background:var(--ok-soft)}
.lot .kind.recherche{color:var(--brand-ink); background:var(--brand-soft)}
.lot-c{flex:1; min-width:0}
.lot .who{font-weight:700; font-size:14px}
.lot .prix{color:var(--gold-ink); margin-left:2px}
.lot .det{font-size:13px; color:var(--ink-2); overflow-wrap:anywhere}
.lot .det .sep{color:var(--ink-3); padding-inline:5px}
.etat{display:inline-block; vertical-align:2px; margin-left:4px; font-size:10px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; border-radius:4px; padding:1px 6px}
.etat.reserve{color:var(--warn); background:var(--warn-soft)}
.etat.cede{color:var(--off); background:var(--off-soft)}
.lot .int{font-size:12.5px; color:var(--ink-2); margin-top:4px}
.lot .int b{color:var(--ok)}
.lot-a{display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-top:8px}
.lot-a .btn{min-height:32px; padding:5px 10px; font-size:13px}
.lot-a .petit{appearance:none; cursor:pointer; background:var(--surface); border:1px solid var(--line);
  border-radius:8px; padding:4px 9px; font-size:12.5px; color:var(--ink); min-height:30px}
.lot-a .petit:hover{border-color:var(--line-strong)}
.lot .del{appearance:none; background:none; border:0; cursor:pointer; padding:0;
  color:var(--ink-3); font-size:12px; text-decoration:underline}
.lot-a .wa{font-size:12.5px; color:var(--brand-ink)}
.form .sm2{width:112px}
