/* =====================================================================
   Page « Rechercher un démarcheur » — styles externalisés (CSP style-src
   stricte). Bloc <style> du gabarit déplacé ici + modificateurs inline.
   ===================================================================== */

    /* ── Page ── */
    .rechercher-page { min-height: calc(100vh - 200px); }

    /* ── Formulaire ── */
    .rech-form-card {
        background: #fff;
        border-radius: 16px;
        box-shadow: 0 4px 24px rgba(0,0,0,0.08);
        padding: 32px;
    }
    .rech-form-header {
        display: flex; align-items: center; gap: 16px;
        margin-bottom: 28px;
    }
    .rech-form-icon {
        width: 52px; height: 52px; border-radius: 14px;
        background: linear-gradient(135deg, var(--vert-d) 0%, var(--vert-l) 100%);
        display: flex; align-items: center; justify-content: center;
        flex-shrink: 0; font-size: 1.4rem; color: #fff;
    }
    .rech-form-title   { font-size: 1.1rem; font-weight: 700; color: var(--text-color, #1a1a1a); }
    .rech-form-subtitle{ font-size: 0.85rem; color: var(--text-muted, #6c757d); margin-top: 2px; }

    .rech-selects-grid {
        display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px;
    }
    @media (max-width: 600px) { .rech-selects-grid { grid-template-columns: 1fr; } }

    .rech-select-group { display: flex; flex-direction: column; gap: 6px; transition: opacity 0.2s; }
    .rech-select-group.rech-disabled { opacity: 0.45; }

    .rech-label {
        font-size: 0.78rem; font-weight: 600;
        color: var(--text-muted, #6c757d);
        text-transform: uppercase; letter-spacing: 0.06em;
        display: flex; align-items: center; gap: 5px;
    }
    .rech-select {
        width: 100%; padding: 12px 36px 12px 14px;
        border: 1.5px solid #e0e0e0; border-radius: 10px;
        /* 16px sur mobile : évite le zoom auto iOS au focus */
        font-size: 16px; color: var(--text-color, #1a1a1a);
        background: #fafafa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath fill='%236c757d' d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E") no-repeat right 14px center;
        appearance: none; outline: none; cursor: pointer;
        transition: border-color 0.2s, box-shadow 0.2s;
    }
    .rech-select:focus   { border-color: var(--vert); box-shadow: 0 0 0 3px rgba(27,107,58,0.12); background-color: #fff; }
    .rech-select:disabled{ cursor: not-allowed; }
    @media (min-width: 768px) { .rech-select { font-size: 0.95rem; padding: 10px 36px 10px 14px; } }

    .rech-prompt {
        display: flex; align-items: center; gap: 10px;
        margin-top: 24px; padding: 14px 18px;
        background: #f0faf4; border-radius: 10px;
        color: #2e7d50; font-size: 0.9rem;
    }
    .rech-prompt-icon { font-size: 1.3rem; }

    /* ── Loader ── */
    .rech-loading {
        display: flex; align-items: center; gap: 12px;
        justify-content: center; padding: 40px;
        color: var(--text-muted, #6c757d); font-size: 0.95rem;
    }

    /* ── Barre info ── */
    .rech-infobar {
        display: flex; align-items: center; justify-content: space-between;
        margin-bottom: 16px; flex-wrap: wrap; gap: 8px;
    }
    .rech-infobar-left  { display: flex; align-items: center; gap: 10px; }
    .rech-infobar-right { font-size: 0.82rem; color: var(--text-muted, #6c757d); }
    .rech-count-badge {
        background: var(--vert); color: #fff;
        font-size: 0.82rem; font-weight: 700;
        padding: 4px 14px; border-radius: 20px;
    }
    .rech-count-label { color: var(--text-muted, #6c757d); font-size: 0.88rem; }

    /* ── Liste compacte ── */
    .rech-list {
        background: #fff;
        border-radius: 14px;
        box-shadow: 0 2px 16px rgba(0,0,0,0.07);
        overflow: hidden;
    }

    .rech-row {
        display: flex; align-items: center; gap: 14px;
        padding: 12px 18px;
        border-bottom: 1px solid #f0f0f0;
        transition: background 0.15s;
    }
    .rech-row:last-child { border-bottom: none; }
    .rech-row:hover { background: #f8fdf9; }

    .rech-row-avatar {
        width: 38px; height: 38px; border-radius: 50%; flex-shrink: 0;
        background: linear-gradient(135deg, var(--vert-d) 0%, var(--vert-l) 100%);
        color: #fff; font-size: 1rem; font-weight: 700;
        display: flex; align-items: center; justify-content: center;
    }

    .rech-row-identity {
        flex: 1; min-width: 0;
        display: flex; flex-direction: column; gap: 1px;
    }
    .rech-row-label {
        font-size: 0.68rem; font-weight: 700;
        text-transform: uppercase; letter-spacing: 0.07em;
        color: #1565c0;
    }
    .rech-row-nom {
        font-weight: 700; font-size: 0.95rem;
        color: var(--text-color, #1a1a1a);
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .rech-row-prenom {
        font-size: 0.82rem; color: var(--text-muted, #6c757d);
    }

    .rech-row-badge {
        font-size: 0.65rem; font-weight: 700;
        padding: 3px 9px; border-radius: 20px;
        text-transform: uppercase; letter-spacing: 0.05em;
        white-space: nowrap; flex-shrink: 0;
    }
    .rech-row-badge--physique { background: #e8f5e9; color: #2e7d32; }
    .rech-row-badge--morale   { background: #e3f2fd; color: #1565c0; }

    .rech-row-tel { flex-shrink: 0; }
    .rech-tel-link {
        display: inline-flex; align-items: center; gap: 6px;
        font-size: 0.88rem; font-weight: 600; color: var(--vert);
        text-decoration: none; background: #f0faf4;
        padding: 5px 12px; border-radius: 20px;
        transition: background 0.15s, color 0.15s;
        white-space: nowrap;
    }
    .rech-tel-link:hover { background: var(--vert); color: #fff; }
    .rech-tel-nd { font-size: 0.85rem; color: #bbb; }

    @media (max-width: 600px) {
        .rech-row { flex-wrap: wrap; gap: 8px; }
        .rech-row-badge { display: none; }
        .rech-row-tel { width: 100%; }
    }

    /* ── Pagination ──
       Le projet ne charge pas Bootstrap CSS : on redéfinit ici, en scopé, les
       quelques utilitaires d'affichage employés par la vue pagination::bootstrap-5
       (bloc simple sur mobile, bloc numéroté ≥576px) + le style des liens. */
    .rech-pagination { margin-top: 20px; display: flex; justify-content: center; }
    .rech-pagination .d-flex { display: flex; }
    .rech-pagination .d-none { display: none !important; }
    .rech-pagination .flex-fill { flex: 1 1 auto; }
    .rech-pagination .justify-content-between { justify-content: space-between; }
    .rech-pagination .small { font-size: 0.82rem; }
    .rech-pagination .text-muted { color: var(--text-muted); }
    .rech-pagination .fw-semibold { font-weight: 600; }
    @media (min-width: 576px) {
        .rech-pagination .d-sm-none { display: none !important; }
        .rech-pagination .d-sm-flex { display: flex !important; }
        .rech-pagination .flex-sm-fill { flex: 1 1 auto; }
        .rech-pagination .align-items-sm-center { align-items: center; }
        .rech-pagination .justify-content-sm-between { justify-content: space-between; }
    }
    .rech-pagination .pagination {
        display: flex; flex-wrap: wrap; align-items: center;
        gap: 6px; list-style: none; padding: 0; margin: 0;
    }
    .rech-pagination .page-item .page-link {
        display: flex; align-items: center; justify-content: center;
        min-width: 40px; height: 40px; padding: 0 12px;
        border: 1.5px solid #e0e0e0; border-radius: 9px;
        background: #fff; color: var(--text-color);
        font-size: 0.9rem; font-weight: 600; text-decoration: none;
        transition: border-color .15s, color .15s, background .15s;
    }
    .rech-pagination .page-item .page-link:hover { border-color: var(--vert); color: var(--vert); }
    .rech-pagination .page-item.active .page-link { background: var(--vert); border-color: var(--vert); color: #fff; }
    .rech-pagination .page-item.disabled .page-link { opacity: .45; pointer-events: none; }
    .rech-pagination .page-link svg { width: 14px; height: 14px; }

    /* ── État vide ── */
    .rech-empty { text-align: center; padding: 60px 20px; }
    .rech-empty-icon {
        width: 76px; height: 76px; border-radius: 50%;
        background: #f4f4f4;
        display: flex; align-items: center; justify-content: center;
        margin: 0 auto 20px; font-size: 2rem; color: #bbb;
    }
    .rech-empty-title { font-size: 1.15rem; font-weight: 700; color: var(--text-color, #1a1a1a); margin-bottom: 10px; }
    .rech-empty-text  { color: var(--text-muted, #6c757d); font-size: 0.95rem; line-height: 1.7; max-width: 420px; margin: 0 auto; }

/* --- Modificateurs (anciens style="" du gabarit) --- */
.rech-wrap-960 { max-width: 960px; }
.rech-sec-pad { padding-top: 0; padding-bottom: 60px; }
