/* CBHB — réaction cohérente de tous les éléments interactifs. */
:root{--cbhb-feedback-accent:var(--cbhb-action-bg,#17804b);--cbhb-feedback-text:var(--cbhb-action-text,#fff)}
html[data-theme="octobre-rose"]{--cbhb-feedback-accent:#eb1680;--cbhb-feedback-text:#fff}
html[data-theme="deuil"]{--cbhb-feedback-accent:#45484e;--cbhb-feedback-text:#fff}
a[href],button:not(:disabled),[role="button"]{transition:background-color .15s ease,color .15s ease,border-color .15s ease,filter .15s ease,transform .12s ease}
a[href]:hover,button:not(:disabled):hover,[role="button"]:hover{filter:brightness(.90);text-decoration-thickness:2px}
a[href]:focus-visible,button:focus-visible,[role="button"]:focus-visible{outline:3px solid var(--cbhb-feedback-accent);outline-offset:3px}
button:not(:disabled):active,[role="button"]:active{transform:translateY(1px);filter:brightness(.78)}
button.cbhbClickFeedback,a.cbhbClickFeedback,[role="button"].cbhbClickFeedback{background:var(--cbhb-feedback-accent)!important;color:var(--cbhb-feedback-text)!important;outline:2px solid var(--cbhb-feedback-accent);outline-offset:1px}
[aria-pressed="true"],button.selected,button.on{border-color:var(--cbhb-feedback-accent)!important}
html[data-theme="octobre-rose"] .cbhbLockerStatus.ok,
html[data-theme="octobre-rose"] .cbhbLockerNotice:not(.waiting),
html[data-theme="octobre-rose"] .alert:not(.warning):not(.error),
html[data-theme="octobre-rose"] .cbhbFormationPane,
html[data-theme="octobre-rose"] .cbhbFamilyChat,
html[data-theme="octobre-rose"] .cbhbLeaderSummary>div{background:#fff0f7!important;border-color:#f5a3c9!important;color:#68133b!important}
html[data-theme="octobre-rose"] .cbhbLockerStatus.ok{background:#ee137e!important;color:#fff!important;border-color:#df0c6f!important;box-shadow:0 2px 9px #ed0b7b45}
html[data-theme="octobre-rose"] .cbhbLockerNotice:not(.waiting){border-left-color:#ee137e!important}
html[data-theme="octobre-rose"] .cbhbFormationIntent[aria-pressed="true"]{background:#ee137e!important;color:#fff!important}
html[data-theme="deuil"] .cbhbLockerStatus.ok{background:#444!important;color:#fff!important;border-color:#777!important}
@media(prefers-reduced-motion:reduce){a[href],button,[role="button"]{transition:none!important}}
/* Les fiches des rôles gardent la mise en page sur une seule colonne, même sur PC. */
html[data-role] body.cbhb-role-single-column .wrap>.grid,
html[data-role] body.cbhb-role-single-column .wrap>.clubLifeGrid,
html[data-role] body.cbhb-role-single-column .wrap>.role-dashboard-grid,
html[data-role] body.cbhb-role-single-column .wrap>details>.grid{
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important
}
/* Ne signaler le survol d'une carte que lorsque celle-ci mène réellement à une action. */
a[href].team-card:hover,a[href].partner-card:hover,a[href].match-card:hover,
[role="button"]:hover,.card[onclick]:hover{box-shadow:0 0 0 2px var(--cbhb-feedback-accent),0 5px 16px #00000012;cursor:pointer}
/* Mise en forme commune des états positifs selon le thème courant. */
html[data-theme="octobre-rose"] .cbhbLockerStatus.ok,
html[data-theme="octobre-rose"] [data-status="convoque"],
html[data-theme="octobre-rose"] [data-status="convoqué"]{background:#eb1680!important;color:white!important;border-color:#eb1680!important}
/* Retrait des cartouches purement pédagogiques sur les fiches de test.
   Les actions non connectées conservent leurs garde-fous et ne confirment pas un envoi fictif. */
html[data-role] .demoTag,html[data-role] .demo-only-note,html[data-role] .cbhbDemoMarker{display:none!important}
