/**
 * Doli-RE — Real Estate Property
 * Feuille de style du module
 *
 * Conventions :
 *  - Toutes les classes sont préfixées .re- pour éviter les collisions Dolibarr
 *  - Pas de !important sauf exception documentée
 *  - Compatible mode clair et mode sombre Dolibarr (variables CSS natives)
 *
 * @package     DoliRE
 * @author      Devel-OC
 * @copyright   2025 Devel-OC
 * @license     GPL-3.0-or-later
 */

/* ================================================================
   Badges DPE (A → G couleurs réglementaires France)
   ================================================================ */

.re-dpe {
    display: inline-block;
    min-width: 22px;
    text-align: center;
    font-weight: 700;
    font-size: 12px;
    border-radius: 3px;
    padding: 1px 6px;
    color: #fff;
}

.re-dpe-a { background-color: #009E4F; }
.re-dpe-b { background-color: #52B153; }
.re-dpe-c { background-color: #A8CE44; color: #333; }
.re-dpe-d { background-color: #F6EC2C; color: #333; }
.re-dpe-e { background-color: #F5A12D; }
.re-dpe-f { background-color: #EC6B25; }
.re-dpe-g { background-color: #D7221F; }

/* ================================================================
   Section charac — titre de groupe dans les tableaux
   ================================================================ */

.re-charac-section-title {
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding-top: 12px !important;
    padding-bottom: 4px !important;
    border-top: 1px solid var(--colorifbordercolor, #e0e0e0);
}

tr:first-child .re-charac-section-title {
    border-top: none;
    padding-top: 6px !important;
}

/* ================================================================
   Section charac — conteneur global
   ================================================================ */

#re-charac-section {
    margin-top: 12px;
    padding-top: 4px;
}

#re-charac-section .titre {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--colortext, #333);
}

#re-charac-section.loading {
    opacity: 0.5;
    pointer-events: none;
}

.re-loading {
    text-align: center;
    padding: 24px;
    color: var(--colortextlight, #888);
    font-style: italic;
}

/* ================================================================
   Résumé lots — barre de badges en haut de property_lot_list
   ================================================================ */

.re-lots-summary {
    padding: 8px 0 12px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.re-lots-summary .badge {
    font-size: 13px;
    padding: 4px 10px;
}

/* ================================================================
   Select statut inline dans le tableau des lots
   ================================================================ */

.re-status-select {
    font-size: 12px;
    padding: 2px 4px;
    border-radius: 4px;
    border: 1px solid transparent;
    cursor: pointer;
    max-width: 140px;
}

/* Coloration selon statut */
.re-status-available  { background: #d4edda; color: #155724; border-color: #c3e6cb; }
.re-status-rented     { background: #cce5ff; color: #004085; border-color: #b8daff; }
.re-status-for_sale   { background: #fff3cd; color: #856404; border-color: #ffeeba; }
.re-status-sold       { background: #e2e3e5; color: #383d41; border-color: #d6d8db; }
.re-status-under_works{ background: #fff3cd; color: #856404; border-color: #ffeeba; }
.re-status-unavailable{ background: #f8d7da; color: #721c24; border-color: #f5c6cb; }

/* ================================================================
   Bouton géocodage
   ================================================================ */

#re-geocode-btn {
    font-size: 12px;
    padding: 2px 10px;
    border-radius: 4px;
    vertical-align: middle;
    transition: background 0.15s ease;
}

#re-geocode-btn.re-loading {
    opacity: 0.6;
    cursor: wait;
    pointer-events: none;
}

#re-geocode-btn.re-geocode-ok {
    background: #d4edda;
    color: #155724;
    border-color: #c3e6cb;
}

#re-geocode-btn.re-geocode-error {
    background: #f8d7da;
    color: #721c24;
    border-color: #f5c6cb;
}

/* ================================================================
   Carte Leaflet — minimap
   ================================================================ */

#re-property-map {
    border-radius: 6px;
    border: 1px solid var(--colorifbordercolor, #ddd);
    margin-top: 6px;
    overflow: hidden;
    z-index: 0; /* évite le z-index overflow dans les modals Dolibarr */
}

/* Leaflet popup stylé Doli-RE */
#re-property-map .leaflet-popup-content-wrapper {
    border-radius: 6px;
    font-family: inherit;
    font-size: 12px;
}

/* ================================================================
   Équipements checkboxes — formulaire
   ================================================================ */

.re-charac-appartement td label,
.re-charac-maison td label,
.re-charac-local-commercial td label,
.re-charac-parking td label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-right: 12px;
    margin-bottom: 4px;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
}

.re-charac-appartement td input[type="checkbox"],
.re-charac-maison td input[type="checkbox"],
.re-charac-local-commercial td input[type="checkbox"],
.re-charac-parking td input[type="checkbox"] {
    width: 14px;
    height: 14px;
    cursor: pointer;
    flex-shrink: 0;
}

/* ================================================================
   Badges équipements — mode consultation
   ================================================================ */

.re-charac-appartement .badge.badge-status4,
.re-charac-maison .badge.badge-status4,
.re-charac-local-commercial .badge.badge-status4,
.re-charac-parking .badge.badge-status4 {
    font-size: 11px;
    padding: 2px 7px;
    margin-bottom: 3px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

/* ================================================================
   Inputs numériques — alignement droite
   ================================================================ */

input[type="number"].right {
    text-align: right;
}

/* ================================================================
   Tableau liste — colonne surface
   ================================================================ */

.liste table td.right .opacitymedium {
    font-size: 11px;
    margin-left: 2px;
}

/* ================================================================
   Mode sombre Dolibarr
   ================================================================ */

@media (prefers-color-scheme: dark) {
    .re-dpe-c { color: #1a1a1a; }
    .re-dpe-d { color: #1a1a1a; }

    .re-status-available  { background: #1a3a25; color: #8fd19e; border-color: #2d5a3a; }
    .re-status-rented     { background: #0a2a4a; color: #7ab8f5; border-color: #1a3a6a; }
    .re-status-for_sale   { background: #3a2a00; color: #ffd060; border-color: #5a4000; }
    .re-status-sold       { background: #2a2a2a; color: #aaaaaa; border-color: #3a3a3a; }
    .re-status-under_works{ background: #3a2a00; color: #ffd060; border-color: #5a4000; }
    .re-status-unavailable{ background: #3a0a0a; color: #f5a0a0; border-color: #5a1a1a; }

    .re-geocode-btn.re-geocode-ok  { background: #1a3a25; color: #8fd19e; }
    .re-geocode-btn.re-geocode-error { background: #3a0a0a; color: #f5a0a0; }
}
