/* Tom Select — habillage aux jetons du design (fallbacks pour les pages
   hors module BDD). Chargé partout après tom-select.min.css. */
.ts-wrapper { min-width: 0; }
.ts-wrapper.single .ts-control, .ts-wrapper.multi .ts-control {
    border: 1px solid var(--line, #D8DDE4); border-radius: 9px; padding: .45rem .7rem;
    font-size: .87rem; background: #fff; color: var(--ink, #1C2126); box-shadow: none; min-height: 2.3rem;
}
/* Chevron : sans lui un select fermé ressemble à un champ texte. */
.ts-wrapper.single .ts-control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238E96A1' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .65rem center;
    padding-right: 2rem;
}
.ts-wrapper.single.focus .ts-control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238B1A1A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ts-wrapper.focus .ts-control { border-color: var(--burgundy, #8B1A1A); box-shadow: 0 0 0 3px var(--burgundy-soft, #F3E6E5); }
.ts-control input { font-size: .86rem !important; color: var(--ink, #1C2126); }
.ts-dropdown { z-index: 100000; border: 1px solid var(--line, #D8DDE4); border-radius: 9px;
    box-shadow: 0 14px 32px -12px rgba(28, 38, 54, .35); font-size: .86rem; margin-top: 4px; }
.ts-dropdown .ts-dropdown-content { max-height: 260px; }
.ts-dropdown .option { padding: .42rem .7rem; }
.ts-dropdown .active { background: var(--burgundy-soft, #F3E6E5); color: var(--burgundy, #8B1A1A); }
.ts-dropdown .selected { background: var(--gold-soft, #F1E7D2); color: var(--ink, #1C2126); }
.ts-dropdown .no-results { padding: .5rem .7rem; color: var(--muted, #8E96A1); }
/* Pendant la frappe, la valeur en place s'efface : on ne tape jamais « à
   côté » d'un texte résiduel. Elle revient si on referme sans choisir. */
.ts-wrapper.single.input-active .ts-control > .item { visibility: hidden; }
.ts-control > input::placeholder { color: var(--muted, #8E96A1); opacity: 1; }
.ts-wrapper .clear-button { font-size: 1.05rem; line-height: 1; color: var(--muted, #8E96A1); right: 24px; }
.ts-wrapper .clear-button:hover { color: var(--bad-fg, #AF2A2A); }
.ts-wrapper.multi .ts-control > div { background: var(--paper-2, #E4E7EC); color: var(--ink, #1C2126);
    border-radius: 999px; padding: .12rem .5rem; font-size: .78rem; }
.ts-wrapper.multi .ts-control > div .remove { border-left: none; padding-left: .3rem; }
.swal2-popup .ts-wrapper { width: 80%; margin: .6rem auto; text-align: left; }

/* Largeurs : les règles CSS existantes ciblent le <select> natif (désormais
   caché) — on redonne au wrapper une largeur raisonnable selon le contexte. */
.ts-wrapper { min-width: 150px; }
.opform .ts-wrapper, .fform .ts-wrapper, .opf .ts-wrapper, .fcell .ts-wrapper,
.aphoto-form .ts-wrapper, form .ts-wrapper { width: 100%; }
.vbar .ts-wrapper, .asearch .ts-wrapper, .atop-actions .ts-wrapper,
.filter-select + .ts-wrapper, .d-flex .ts-wrapper { width: auto; min-width: 190px; }
.ied .ts-wrapper, td .ts-wrapper { width: auto; min-width: 120px; }
/* L'éditeur inline copie la classe ied-input sur le wrapper : neutraliser
   son cadre pour ne pas doubler celui du .ts-control. */
.ts-wrapper.ied-input { border: none; box-shadow: none; padding: 0; background: transparent; }
