/* ════════════════════════════════════════════════
   Birdy CRM — Front-end portail membres
   Charte Azure #0078d4, hérite du thème Divi
════════════════════════════════════════════════ */
.bcrm-fc-wrap { font-family: inherit; color: inherit; }

/* Notices */
.bcrm-fc-notice { display:flex; align-items:center; gap:10px; padding:12px 16px; border-radius:8px; margin-bottom:16px; font-size:14px; }
.bcrm-fc-success { background:#d9f2e6; color:#0e5e3a; border:1px solid #a3d9b8; }
.bcrm-fc-warning { background:#fff4cc; color:#7a4f00; border:1px solid #f5d77e; }
.bcrm-fc-error   { background:#fde7e9; color:#c50f1f; border:1px solid #f5b8be; }

/* Onglets navigation globale */
.bcrm-fc-tabs { display:flex; gap:0; border-bottom:2px solid #e1e4ea; margin-bottom:24px; flex-wrap:wrap; }
.bcrm-fc-tab  { padding:10px 20px; font-size:14px; font-weight:500; color:#6b7280; text-decoration:none; border-bottom:2px solid transparent; margin-bottom:-2px; transition:color .15s; }
.bcrm-fc-tab:hover { color:#0078d4; }
.bcrm-fc-tab.active { color:#0078d4; border-bottom-color:#0078d4; }

/* Onglets internes (fiche) */
.bcrm-fc-inner-tabs { display:flex; gap:0; border-bottom:1px solid #e1e4ea; margin-bottom:16px; }
.bcrm-fc-inner-tab  { padding:8px 16px; font-size:13px; font-weight:500; color:#6b7280; text-decoration:none; border-bottom:2px solid transparent; margin-bottom:-1px; }
.bcrm-fc-inner-tab:hover { color:#0078d4; }
.bcrm-fc-inner-tab.active { color:#0078d4; border-bottom-color:#0078d4; }

/* Module */
.bcrm-fc-module { }
.bcrm-fc-module-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.bcrm-fc-module-header h3 { font-size:16px; font-weight:700; margin:0; }

/* En-tête fiche détaillée */
.bcrm-fc-detail-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.bcrm-fc-detail-header h3, .bcrm-fc-detail-header h4 { font-size:16px; font-weight:700; margin:0; display:flex; align-items:center; gap:8px; }

/* Formulaire */
.bcrm-fc-form-wrap { background:#f7f9ff; border:1px solid #e1e4ea; border-radius:10px; padding:20px; margin-bottom:20px; }
.bcrm-fc-form { }
.bcrm-fc-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.bcrm-fc-full { grid-column:1/-1; }
.bcrm-fc-field label { display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#6b7280; margin-bottom:4px; }
.bcrm-fc-field input[type="text"],
.bcrm-fc-field input[type="email"],
.bcrm-fc-field input[type="tel"],
.bcrm-fc-field input[type="url"],
.bcrm-fc-field input[type="number"],
.bcrm-fc-field input[type="date"],
.bcrm-fc-field input[type="datetime-local"],
.bcrm-fc-field select,
.bcrm-fc-field textarea { width:100%; box-sizing:border-box; padding:8px 12px; border:1.5px solid #d1d5db; border-radius:8px; font-size:13px; font-family:inherit; background:#fff; transition:border-color .15s,box-shadow .15s; }
.bcrm-fc-field input:focus,.bcrm-fc-field select:focus,.bcrm-fc-field textarea:focus { border-color:#0078d4; box-shadow:0 0 0 3px rgba(0,120,212,.1); outline:none; }
.bcrm-fc-field textarea { resize:vertical; min-height:80px; }
.bcrm-fc-form-actions { display:flex; gap:8px; margin-top:16px; padding-top:14px; border-top:1px solid #e1e4ea; }

/* Expand (details/summary) */
.bcrm-fc-expand { background:#f7f9ff; border:1px solid #deecf9; border-radius:8px; padding:12px 16px; margin-bottom:16px; }
.bcrm-fc-expand > summary { cursor:pointer; font-size:13px; font-weight:600; color:#0078d4; list-style:none; }
.bcrm-fc-expand > summary::-webkit-details-marker { display:none; }

/* Boutons */
.bcrm-fc-btn { display:inline-block; padding:8px 18px; background:#0078d4; color:#fff !important; border:none; border-radius:7px; font-size:13px; font-weight:600; font-family:inherit; cursor:pointer; text-decoration:none; transition:background .15s; }
.bcrm-fc-btn:hover { background:#005a9e; color:#fff !important; }
.bcrm-fc-btn-sm { padding:5px 12px; font-size:12px; }
.bcrm-fc-btn-outline { background:transparent; color:#0078d4 !important; border:1.5px solid #0078d4; }
.bcrm-fc-btn-outline:hover { background:#deecf9; }
.bcrm-fc-btn-del { background:none; border:none; cursor:pointer; font-size:14px; opacity:.6; padding:4px; line-height:1; }
.bcrm-fc-btn-del:hover { opacity:1; }

/* Filtres */
.bcrm-fc-filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.bcrm-fc-search { padding:7px 12px; border:1.5px solid #d1d5db; border-radius:8px; font-size:13px; min-width:200px; }
.bcrm-fc-filter-sel { padding:7px 12px; border:1.5px solid #d1d5db; border-radius:8px; font-size:13px; }
.bcrm-fc-search:focus,.bcrm-fc-filter-sel:focus { border-color:#0078d4; outline:none; }

/* Cards */
.bcrm-fc-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; }
.bcrm-fc-card { background:#fff; border:1px solid #e1e4ea; border-radius:10px; padding:14px 16px; }
.bcrm-fc-card-header { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; margin-bottom:8px; }
.bcrm-fc-card-body { display:flex; flex-direction:column; gap:4px; font-size:13px; color:#6b7280; margin-bottom:10px; }
.bcrm-fc-card-footer { display:flex; align-items:center; gap:8px; padding-top:10px; border-top:1px solid #f0f0f0; }

/* Table */
.bcrm-fc-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #e1e4ea; border-radius:10px; overflow:hidden; }
.bcrm-fc-table thead tr { background:#f7f8fc; }
.bcrm-fc-table th { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#6b7280; padding:10px 14px; border-bottom:1px solid #e1e4ea; text-align:left; }
.bcrm-fc-table td { font-size:13px; padding:10px 14px; border-bottom:1px solid #f0f0f0; }
.bcrm-fc-table tr:last-child td { border-bottom:none; }
.bcrm-fc-table tr:hover td { background:#f7f8fc; }

/* DL (lecture seule) */
.bcrm-fc-dl { display:grid; grid-template-columns:auto 1fr; gap:6px 16px; font-size:13px; }
.bcrm-fc-dl dt { font-weight:600; color:#6b7280; }
.bcrm-fc-dl dd { margin:0; }

/* Timeline */
.bcrm-fc-timeline { }
.bcrm-fc-timeline-item { display:flex; gap:12px; margin-bottom:14px; }
.bcrm-fc-timeline-dot { width:9px; height:9px; background:#0078d4; border-radius:50%; flex-shrink:0; margin-top:6px; }
.bcrm-fc-timeline-body { flex:1; background:#fff; border:1px solid #e1e4ea; border-radius:10px; padding:12px 14px; }
.bcrm-fc-timeline-head { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:8px; font-size:13px; }
.bcrm-fc-timeline-head small { color:#9ca3af; }
.bcrm-fc-next-action { background:#f7f9ff; border-radius:6px; padding:6px 10px; font-size:12px; color:#6b7280; margin-top:8px; display:flex; gap:6px; align-items:center; flex-wrap:wrap; }

/* Badges */
.bcrm-fc-badge { display:inline-block; padding:2px 9px; border-radius:20px; font-size:11px; font-weight:700; letter-spacing:.02em; }
.bcrm-fc-b-association,.bcrm-fc-b-membre { background:#dce5f5; color:#0050a0; }
.bcrm-fc-b-entreprise { background:#fff4cc; color:#7a4f00; }
.bcrm-fc-b-prestataire,.bcrm-fc-b-benevole { background:#ede5ff; color:#5c35b5; }
.bcrm-fc-b-collectivite_publique { background:#d9f2e6; color:#0e5e3a; }
.bcrm-fc-b-contact,.bcrm-fc-b-inactif { background:#f0f0f0; color:#4a4a4a; }
.bcrm-fc-b-actif,.bcrm-fc-b-payee { background:#d9f2e6; color:#0e5e3a; }
.bcrm-fc-b-prospect,.bcrm-fc-b-en_attente,.bcrm-fc-b-negocie { background:#fff4cc; color:#7a4f00; }
.bcrm-fc-b-annulee,.bcrm-fc-b-annule { background:#fde7e9; color:#c50f1f; }
.bcrm-fc-b-email { background:#dce5f5; color:#0050a0; }
.bcrm-fc-b-telephone { background:#d9f2e6; color:#0e5e3a; }
.bcrm-fc-b-reunion { background:#ede5ff; color:#5c35b5; }
.bcrm-fc-b-courrier,.bcrm-fc-b-autre { background:#f0f0f0; color:#4a4a4a; }

/* Vide */
.bcrm-fc-empty { color:#9ca3af; font-style:italic; padding:16px 0; text-align:center; }

/* Responsive */
@media(max-width:700px){
  .bcrm-fc-form-grid { grid-template-columns:1fr; }
  .bcrm-fc-cards     { grid-template-columns:1fr; }
  .bcrm-fc-tabs      { gap:0; }
  .bcrm-fc-tab       { padding:8px 12px; font-size:13px; }
}

/* Caché par JS filter */
.bcrm-fc-hidden { display:none !important; }
