/* =====================================================================
 * Surcharges maison adminv2 (chargées après app.min.css)
 * ===================================================================== */

/* ---------------------------------------------------------------------
 * Choices.js : aligner la hauteur / l'alignement des sélecteurs sur les
 * inputs et selects Bootstrap du thème.
 * Le thème applique font-size:16px et margin-bottom:24px sur .choices,
 * ce qui les rend plus hauts et désalignés vs .form-select.
 * ------------------------------------------------------------------- */
.choices {
    margin-bottom: 0;
    font-size: 13px !important;
}

.choices__inner {
    /* même hauteur que .form-control / .form-select du thème */
    min-height: calc(1.5em + 0.9064rem + calc(var(--ins-border-width) * 2)) !important;
    /* même padding que .form-select (avec la place pour la flèche à droite) */
    padding: 0.4532rem 2.31rem 0.4532rem 0.77rem !important;
    /* 13px en dur : vendors.min.css impose font-size:14px et --ins-font-size-base
     * vaut 0.875rem (14px) dans ce contexte, d'où le désalignement vs les inputs. */
    font-size: 13px !important;
    line-height: 1.5;
    display: flex;
    align-items: center;
}

/* la liste "single" ne doit pas rajouter de hauteur */
.choices__inner .choices__list--single {
    padding: 0 !important;
}

/* L'item sélectionné (mono-select) porte un padding vertical .4rem du thème qui
 * s'ajoute à celui du .choices__inner -> +2px. On l'annule et on force la police
 * à la taille de base (13px), pour une hauteur identique aux .form-select. */
.choices__list--single .choices__item {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    font-size: 13px !important;
    line-height: 1.5;
}

/* flèche du select centrée verticalement quelle que soit la hauteur */
.choices[data-type*="select-one"]::after {
    top: 50% !important;
}

/* champ de recherche interne (dropdown ouvert) : conserve un rendu propre */
.choices__list--dropdown .choices__input,
.choices[data-type*="select-one"] .choices__input {
    font-size: var(--ins-font-size-base);
}

/* ---------------------------------------------------------------------
 * Choices.js multi-select (tags) : par défaut les tags (.choices__item)
 * ajoutent leur propre padding vertical + bordure + margin-bottom, ce qui
 * rend le .choices__inner plus haut que celui d'un select simple.
 * On compacte les tags et on réduit le padding vertical pour retrouver
 * exactement la hauteur d'un .form-select sur une ligne.
 * ------------------------------------------------------------------- */
.choices[data-type*="select-multiple"] .choices__inner,
.choices[data-type*="text"] .choices__inner {
    /* padding vertical réduit + gestion propre des retours à la ligne */
    padding-top: 0.3rem !important;
    padding-bottom: 0.2rem !important;
    flex-wrap: wrap;
    row-gap: 3px;
}

/* les tags : plus compacts, sans marge verticale (le row-gap gère l'espacement
 * quand ils passent sur plusieurs lignes) */
.choices__list--multiple .choices__item {
    padding-top: 1px !important;
    padding-bottom: 1px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    font-size: 13px !important;
    line-height: 1.3;
}

/* le champ de saisie inline (après les tags) porte un margin-bottom:5px + padding
 * vertical qui ajoutent de la hauteur sous les tags -> on les annule. */
.choices[data-type*="select-multiple"] .choices__input,
.choices[data-type*="text"] .choices__input {
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* ---------------------------------------------------------------------
 * "Collapse Menu" : repli immédiat en rail d'icônes même si la souris est
 * encore sur la sidebar (jusqu'au mouseleave). Rejoue les styles de repli du
 * thème (normalement conditionnés à :not(:hover)) via la classe .force-collapsed
 * posée en JS. Chargé après app.min.css → priorité assurée.
 * ------------------------------------------------------------------- */
html[data-sidenav-size=collapse] .sidenav-menu.force-collapsed {
    width: var(--ins-sidenav-width-sm);
}
html[data-sidenav-size=collapse] .sidenav-menu.force-collapsed .logo .logo-sm { display: block; }
html[data-sidenav-size=collapse] .sidenav-menu.force-collapsed .logo .logo-lg { display: none; }
html[data-sidenav-size=collapse] .sidenav-menu.force-collapsed .side-nav-item .side-nav-link {
    justify-content: center;
}
html[data-sidenav-size=collapse] .sidenav-menu.force-collapsed .side-nav-item .side-nav-link .menu-text,
html[data-sidenav-size=collapse] .sidenav-menu.force-collapsed .side-nav-item .side-nav-link .menu-arrow,
html[data-sidenav-size=collapse] .sidenav-menu.force-collapsed .side-nav-item .side-nav-link .badge { display: none; }
html[data-sidenav-size=collapse] .sidenav-menu.force-collapsed .side-nav-title { display: none; }
html[data-sidenav-size=collapse] .sidenav-menu.force-collapsed .sidenav-user,
html[data-sidenav-size=collapse] .sidenav-menu.force-collapsed .menu-text { position: fixed; right: -100%; }
html[data-sidenav-size=collapse] .sidenav-menu.force-collapsed .collapse,
html[data-sidenav-size=collapse] .sidenav-menu.force-collapsed .collapsing { height: 0 !important; }
html[data-sidenav-size=collapse] .sidenav-menu.force-collapsed .sub-menu { height: 0 !important; opacity: 0; }
html[data-sidenav-size=collapse] .sidenav-menu.force-collapsed .button-collapse-toggle span { display: none; }

/* ---------------------------------------------------------------------------
 * DataTables 2.x : centrer/aligner les entêtes (<th>).
 * Structure générée : th > div.dt-column-header (flex, padding-right:30px pour
 * réserver la place de la flèche) > span.dt-column-title + span.dt-column-order.
 * Il faut donc agir sur .dt-column-header (justify-content + padding), pas
 * seulement sur le <th> ou le span. On couvre .text-center (markup) ET
 * .dt-head-center (columnDefs).
 * ------------------------------------------------------------------------- */
table.dataTable thead th.text-center .dt-column-header,
table.dataTable thead th.dt-head-center .dt-column-header {
    justify-content: center !important;
    text-align: center !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}
table.dataTable thead th.text-center .dt-column-title,
table.dataTable thead th.dt-head-center .dt-column-title {
    padding-right: 0 !important;
    text-align: center !important;
}
/* Colonnes alignées à droite. */
table.dataTable thead th.text-end .dt-column-header {
    justify-content: flex-end !important;
    text-align: right !important;
    padding-right: 0 !important;
}
table.dataTable thead th.text-end .dt-column-title {
    padding-right: 0 !important;
    text-align: right !important;
}
