/* =============================================================================
 * Module TiersDolibarr — Feuille de style
 * =============================================================================
 *
 * Ce fichier est chargé sur toutes les pages Dolibarr quand le module est actif.
 * Les règles sont volontairement scope-ées avec un préfixe .mod-tiersdolibarr
 * ou des commentaires de section pour limiter les effets de bord.
 */

/* -----------------------------------------------------------------------------
 * F-01 — Masquage des champs non utilisés
 * Implémenté via jQuery dans formObjectOptions (Card 5).
 * Les classes utilitaires ci-dessous peuvent être injectées dynamiquement.
 * ----------------------------------------------------------------------------- */

.tiersdolibarr-hidden {
    display: none !important;
}

/* -----------------------------------------------------------------------------
 * F-03 — Champs obligatoires en surbrillance jaune (création uniquement)
 * Classe injectée par le hook formObjectOptions sur action=create (Card 7).
 * ----------------------------------------------------------------------------- */

.tiersdolibarr-required input,
.tiersdolibarr-required select,
input.tiersdolibarr-required,
select.tiersdolibarr-required {
    background-color: #FFF2CC !important;
}

/* -----------------------------------------------------------------------------
 * F-08 — Recherche d'entreprise (création de tiers)
 * Fusionné depuis l'ex-module APITiers. Bloc entièrement autonome : aucune
 * dépendance aux classes Dolibarr "box"/"fichecenter" (prévues pour les widgets
 * de tableau de bord et les fiches à deux colonnes), pour ne jamais perturber
 * le <table> du formulaire de création qui suit ce bloc dans le flux de la page.
 * ----------------------------------------------------------------------------- */

.tiersdolibarr-lookup {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    clear: both;
    overflow: visible;
    margin-bottom: 12px;
}

.tiersdolibarr-lookup-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
}

.tiersdolibarr-lookup-input {
    flex: 1 1 260px;
    max-width: 420px;
    min-width: 0;
}

/* Le bouton hérite de la classe Dolibarr .button : on ne touche qu'à la mise
   en page interne (icône + libellé) et aux états métier. */
.tiersdolibarr-lookup-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
}

.tiersdolibarr-lookup-btn-icon {
    font-size: 0.9em;
    line-height: 1;
}

.tiersdolibarr-lookup-btn[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Recherche en cours : l'icône loupe est remplacée par un indicateur rotatif. */
.tiersdolibarr-lookup-btn.tiersdolibarr-busy .tiersdolibarr-lookup-btn-icon::before {
    content: "\f110"; /* fa-spinner */
    animation: tiersdolibarr-spin 1s linear infinite;
    display: inline-block;
}

@keyframes tiersdolibarr-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .tiersdolibarr-lookup-btn.tiersdolibarr-busy .tiersdolibarr-lookup-btn-icon::before {
        animation: none;
    }
}

.tiersdolibarr-lookup-results {
    margin-top: 8px;
}

.tiersdolibarr-lookup-results .result-item {
    padding: 7px 10px;
    margin-top: 6px;
    cursor: pointer;
    border: 1px solid var(--inputbordercolor, #d5d5d5);
    border-radius: var(--borderradius, 6px);
    background: var(--colorbacklinepair1, #fff);
    color: var(--colortext, #333);
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.tiersdolibarr-lookup-results .result-item:hover,
.tiersdolibarr-lookup-results .result-item:focus {
    background: var(--colorbacklinepairhover, #f2f6ff);
    border-color: var(--colorbackhmenu1, #90a4bd);
    outline: none;
}

.tiersdolibarr-lookup-results .result-item:focus-visible {
    box-shadow: 0 0 0 2px var(--colorbackhmenu1, #90a4bd);
}

.tiersdolibarr-lookup-results .result-name {
    font-weight: bold;
}

.tiersdolibarr-lookup-results .result-detail {
    font-size: 0.9em;
    margin-top: 2px;
}

@media (max-width: 570px) {
    .tiersdolibarr-lookup-input {
        flex: 1 1 100%;
        max-width: none;
    }

    .tiersdolibarr-lookup-btn {
        width: 100%;
    }
}
