body {
}

aside.menu .menu-label.is-active {
    background-color: skyblue;
}

.hero.is-fullheight .hero-body {
    align-items: flex-start;
    padding-top: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.container.is-fluid {
    padding: 0;
}

/* Tables pleine largeur (Bulma + DataTables) */
table.table {
    width: 100%;
}

table.dataTable {
    width: 100% !important;
}

/** Used by Tabs */
#tab-content .tab-content-unit {
    display: none;
}

#tab-content .tab-content-unit.is-active {
    display: block;
}

/* Onglet désactivé : aucune donnée pour cette rubrique. */
.tabs li.is-disabled a {
    opacity: .45;
    cursor: not-allowed;
    pointer-events: none;
}

/** Form controls */
label.required:after {
    content: ' *';
    color: #F31C1CD9;
}

input.is-half-size {
    width: 50%;
}

/* Notifications */
#notifications div {
    display: none;
}

div.toast-type-success {
    background: #20b31a;
}

div.toast-type-danger,
div.toast-type-error {
    background: #d63d3d;
}

#search-contributors-component {
    width: 100%;
    max-width: 360px;
}
/* Croix d'effacement DANS l'input (icône Bulma is-right rendue cliquable). Partagée
   par la recherche des listes et le composant de la page d'ajout de don. */
.so-clear-icon {
    /* Bulma met pointer-events:none sur les icônes de .has-icons-right : on la rend cliquable. */
    pointer-events: auto !important;
    cursor: pointer;
    color: #b5bcc2;
}
.so-clear-icon:hover {
    color: #4a5560;
}

/* Surlignage vert des occurrences du terme recherché dans les tableaux (aide visuelle). */
mark.so-hl {
    background-color: #b8f0c8;
    color: inherit;
    padding: 0 1px;
    border-radius: 2px;
}

/* Boutons verts pleins : texte blanc (lisibilité). Uniformisé, hors variantes is-light. */
.button.is-primary:not(.is-light),
.button.is-primary:not(.is-light):hover,
.button.is-primary:not(.is-light):focus,
.button.is-primary:not(.is-light):active,
.button.is-success:not(.is-light),
.button.is-success:not(.is-light):hover,
.button.is-success:not(.is-light):focus,
.button.is-success:not(.is-light):active {
    color: #fff;
}

/* ============================================================
   Tri des tableaux — indicateur unifié « chevron » (inspiré PNL).
   Purement visuel : ne modifie AUCUN moteur de tri.
   - DataTables (donations, contributors, import-records) : tri SERVEUR conservé,
     on masque les triangles natifs et on pose un chevron via ::after.
   - .js-sortable (fiches donateur, organisation) : tri client existant conservé.
   - .so-sortable (ventes, versements, détail versement) : tri client inline par
     template conservé ; seules les colonnes .sortable portent le chevron.
   Sens réel : chevron haut = ascendant, chevron bas = descendant ; colonne
   active en couleur accent, colonnes triables au repos en chevron grisé.
   ============================================================ */

/* Masque les indicateurs natifs de DataTables (triangles du span dt-column-order). */
table.dataTable thead th span.dt-column-order,
table.dataTable thead td span.dt-column-order { display: none; }

/* Colonnes triables : curseur main. */
table.dataTable thead th.dt-orderable-asc,
table.dataTable thead th.dt-orderable-desc,
table.js-sortable thead th:not([data-no-sort]),
table.so-sortable thead th.sortable {
    cursor: pointer;
}

/* Chevron au repos (colonne triable, non triée) : grisé. */
table.dataTable thead th.dt-orderable-asc::after,
table.dataTable thead th.dt-orderable-desc::after,
table.js-sortable thead th:not([data-no-sort])::after,
table.so-sortable thead th.sortable::after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f078"; /* fa-chevron-down */
    margin-left: .45rem;
    font-size: .72em;
    vertical-align: middle;
    opacity: .35;
    transition: opacity .12s ease, color .12s ease;
}
table.dataTable thead th.dt-orderable-asc:hover::after,
table.dataTable thead th.dt-orderable-desc:hover::after,
table.js-sortable thead th:not([data-no-sort]):hover::after,
table.so-sortable thead th.sortable:hover::after { opacity: .7; }

/* Colonne triée : chevron plein, couleur accent, dans le sens réel. */
table.dataTable thead th.dt-ordering-asc::after,
table.js-sortable thead th.is-sorted-asc::after,
table.so-sortable thead th.sortable.is-sorted-asc::after {
    content: "\f077"; /* fa-chevron-up */
    opacity: 1;
    color: hsl(var(--bulma-primary-h) var(--bulma-primary-s) var(--bulma-primary-l));
}
table.dataTable thead th.dt-ordering-desc::after,
table.js-sortable thead th.is-sorted-desc::after,
table.so-sortable thead th.sortable.is-sorted-desc::after {
    content: "\f078"; /* fa-chevron-down */
    opacity: 1;
    color: hsl(var(--bulma-primary-h) var(--bulma-primary-s) var(--bulma-primary-l));
}
