/* Fransou · Clients v3 (19/10/2026) : rythme d'achat, carte Oui/Non, porte d'entrée. Jetons de Clients v2, clair et sombre. */
.cl2 .cl3-question{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:16px 18px;border:1px solid var(--t-contour);border-radius:var(--r-carte);background:var(--t-carte)}
.cl2 .cl3-question p{margin:0;display:flex;flex-direction:column;gap:4px;max-width:62ch}
.cl2 .cl3-question small{color:var(--t-sec)}
.cl2 .cl3-ouinon{display:flex;gap:8px;flex-wrap:wrap}
.cl2 .cl3-rythme{display:flex;flex-direction:column;border-top:1px solid var(--t-filet)}
.cl2 .cl3-r-l{display:grid;grid-template-columns:minmax(170px,1.2fr) auto minmax(200px,1.4fr) auto;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--t-filet)}
.cl2 .cl3-r-tete{color:var(--t-sec);font-size:12px;padding:6px 0}
.cl2 .cl3-cases{display:grid;grid-template-columns:repeat(12,24px);gap:4px}
.cl2 .cl3-mois{font-size:9.5px;letter-spacing:-.02em;text-align:center;color:var(--t-sec);white-space:nowrap}
.cl2 .cl3-case{display:inline-block;width:24px;height:20px;border-radius:5px;box-sizing:border-box;vertical-align:middle;transition:transform var(--duree,.2s) var(--courbe,ease)}
.cl2 .cl3-case[data-etat=achat]{background:var(--d1)}
.cl2 .cl3-case[data-etat=manque]{border:1.5px dashed var(--d1);background:transparent}
.cl2 .cl3-case[data-etat=vide]{background:var(--t-filet)}
.cl2 .cl3-case:hover{transform:scale(1.15)}
.cl2 .cl3-phrase{display:flex;flex-direction:column;gap:2px}
.cl2 .cl3-phrase small{color:var(--t-sec)}
.cl2 .cl3-etat[data-etat=refroidit]{color:var(--d3)}
.cl2 .cl3-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.cl2 .cl3-legende{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--t-sec);font-size:12px;margin-top:10px}
.cl2 .cl3-sources{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.cl2 .cl3-sources li{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--t-filet);min-height:44px}
.cl2 .cl3-s-n{font-weight:500}
.cl2 .cl3-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cl2 .cl3-module{display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid var(--t-contour);border-radius:var(--r-carte);background:var(--t-carte);color:inherit;text-decoration:none;transition:transform var(--duree,.2s) var(--courbe,ease),border-color var(--duree,.2s)}
.cl2 .cl3-module:hover{transform:translateY(-2px);border-color:var(--t-texte)}
.cl2 .cl3-module span{color:var(--t-sec);font-size:13px}
.cl2 .cl3-module small{margin-top:auto;font-weight:600}
.cl2 .cl3-module.cl3-gris{opacity:.55}
.cl2.cl-mobile .cl3-r-l{grid-template-columns:1fr;gap:8px}
.cl2.cl-mobile .cl3-r-tete{display:none}
.cl2.cl-mobile .cl3-cases{grid-template-columns:repeat(12,minmax(0,1fr))}
.cl2.cl-mobile .cl3-case{width:100%;aspect-ratio:1;height:auto}
.cl2.cl-mobile .cl3-acts{justify-content:flex-start}
.cl2.cl-mobile .cl3-modules{grid-template-columns:1fr}
.cl2.cl-mobile .cl3-sources li{grid-template-columns:1fr auto}
.cl2.cl-mobile .cl3-sources li > :last-child{grid-column:1/-1}
@media (prefers-reduced-motion:reduce){.cl2 .cl3-case,.cl2 .cl3-module{transition:none}}
.cl2 .cl3-point{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cl2 .cl3-point>section{border:1px solid var(--t-filet);border-radius:var(--r-carte);padding:14px 16px}
.cl2 .cl3-ent{list-style:none;margin:0;padding:0}
.cl2 .cl3-ent a{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--t-filet);color:inherit;text-decoration:none;min-height:24px}
.cl2 .cl3-ent li:last-child a{border-bottom:0}
.cl2 .cl3-semaine{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cl2 .cl3-semaine a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;border-radius:8px;color:inherit;text-decoration:none;font-size:12px;min-height:44px}
.cl2 .cl3-semaine li[data-auj] a{background:var(--t-actif);font-weight:600}
.cl2.cl-mobile .cl3-point{grid-template-columns:1fr}
