/*
 * Liste des experts des pages Signature (refonte 2026, maquette consultation-signature.css et -statuts.css) : recherche,
 * filtres, légende, cartes, états par canal et occupation. Partagée par l'accueil, les skills et les favoris.
 * Les couleurs des états sont fonctionnelles, distinctes de la palette Signature ; la couleur n'est jamais le seul indicateur.
 */

/* Recherche et filtres */
.cv-filters{display:grid;grid-template-columns:minmax(180px,1.7fr) 1fr 1.15fr auto;align-items:stretch;border-top:1px solid var(--cv-line);padding-top:18px;margin-bottom:25px;gap:0}
.cv-search{display:flex;align-items:center;gap:15px;padding:10px 20px 10px 0;border-bottom:1px solid #c4b6ca}
.cv-search .cv-icon{width:20px;height:20px;color:#8b7594}
.cv-search input{width:100%;min-width:0;outline-offset:0;border:0;background:transparent;color:#594660;font-size:12px;height:35px}
.cv-search input::placeholder{color:#8b7b92}
.cv-select{padding:8px 20px;border-left:1px solid var(--cv-line);border-bottom:1px solid #c4b6ca;display:flex;flex-direction:column;justify-content:center;gap:3px}
.cv-select>span{font-size:11px;color:#93849a}
.cv-select select{font-size:12px;line-height:1.5;color:#594660;border:0;background:transparent;max-width:100%;padding:2px 16px 2px 0;min-height:26px;cursor:pointer}
.cv-filter-toggle{display:flex;gap:10px;align-items:center;justify-content:center;padding:15px 20px;border:1px solid #c4b6ca;background:var(--cv-lilac);color:#71577e;font-size:11px}
.cv-filter-toggle .cv-icon{width:18px}
.cv-filter-toggle[aria-expanded=true]{background:#e2d9e7}
.cv-filter-extra{grid-column:1/-1;background:#f2eef2;padding:23px;margin-top:14px;display:grid;grid-template-columns:3fr 1fr;gap:30px}
.cv-filter-extra fieldset{border:0;padding:0;margin:0;min-width:0}
.cv-filter-extra legend{font-family:'Lora',serif;font-size:19px;margin-bottom:14px;padding:0}
.cv-checkboxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 15px}
.cv-checkboxes label{font-size:11px;line-height:1.6;display:flex;align-items:flex-start;gap:7px;cursor:pointer}
.cv-filter-extra fieldset:last-child:not(:first-child) .cv-checkboxes{grid-template-columns:1fr}
.cv-checkboxes input,.cv-availability input{accent-color:var(--cv-purple);flex:none;margin:3px 0 0}
.cv-filter-bottom{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:12px 25px;padding-top:15px;font-size:11px;color:#847889}
.cv-filter-bottom:empty{display:none}
.cv-availability{display:flex;gap:8px;align-items:center;color:#65556c;cursor:pointer}
.cv-filter-bottom button{border:0;background:none;color:#795b88;font-size:11px;text-decoration:underline;text-underline-offset:3px;margin-left:auto}

/* Légende et compteur */
.cv-directory-count{font-size:11px;color:#806c8a;border:1px solid #d8cddd;padding:7px 13px;white-space:nowrap;align-self:flex-end;margin-bottom:5px}
.cv-status-legend{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:11px;color:#736477;margin:0 0 23px}
.cv-status-legend>span{display:flex;align-items:center;gap:7px}
.cv-status-legend i{width:7px;height:7px;border-radius:50%}
.cv-status-legend .is-present{background:#57ad3b}
.cv-status-legend .is-busy{background:#ff9800}
.cv-status-legend .is-offline{background:#ad3b3b}
.cv-status-legend .is-disable{background:#999}

/* Cartes : trois par ligne, une seule par ligne sur mobile (consigne du dossier) */
.cv-expert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.cv-expert-card{display:flex;flex-direction:column;border:1px solid var(--cv-line);padding:24px 26px 26px;background:#fdfbf7;min-width:0}
.cv-card-heading{text-align:center}
.cv-status{font-size:11px;display:inline-flex;align-items:center;gap:7px;color:#7c717f;padding:0 0 23px;line-height:1.5}
.cv-status>span{width:6px;height:6px;border-radius:50%;background:#a197a6}
.cv-status-available{color:#397328}
.cv-status-available>span{background:#57ad3b}
.cv-status-busy{color:#94600a}
.cv-status-busy>span{background:#ff9800}
.cv-status-offline{color:#943737}
.cv-status-offline>span{background:#ad3b3b}
.cv-status-written{color:#846991}
.cv-status-written>span{background:#a38baf}
.cv-portrait{display:block;width:118px;height:118px;margin:0 auto 18px;border-radius:50%;outline:1px solid #d5c8da;outline-offset:5px}
.cv-portrait img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.cv-expert-card h3{font-size:29px;margin:0 0 7px}
.cv-expert-card h3 a:hover{color:var(--cv-purple)}
.cv-expert-card blockquote{font-size:13px;line-height:1.9;color:#7c6a85;text-align:center;margin:20px 0 0;min-height:91px;overflow-wrap:anywhere}
.cv-expert-stats{display:flex;justify-content:center;gap:25px;font-size:11px;border-top:1px solid #e4dce7;padding:17px 0;margin-top:auto;color:#82708c}
.cv-expert-stats strong{font-weight:500;color:#665070}
/* Statistiques et bas de carte groupés en bas (une seule marge automatique) : cartes alignées, citation ou non */
.cv-expert-card .cv-card-bottom{border-top:1px solid #e4dce7;padding-top:17px;display:block;width:100%}
.cv-profile-button{display:flex;width:100%;justify-content:space-between;font-size:12px}

/* États par canal */
.cv-channels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}
.cv-channels-single{grid-template-columns:1fr}
.cv-channel{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center;gap:5px;padding:9px 2px 7px;text-decoration:none;font:inherit}
button.cv-channel{width:100%;border:0;background:none;cursor:pointer}
.cv-channel-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid currentColor;margin-bottom:3px}
.cv-channel .cv-icon{width:19px;height:19px}
.cv-channel-name{font-size:12px;line-height:1.5;color:#57465e;white-space:nowrap}
.cv-channel-state{font-size:11px;line-height:1.5;max-width:14ch;min-height:33px}
.cv-channels-single .cv-channel-state{max-width:none;min-height:0}
.cv-channel-price{font-size:11px;line-height:1.4;color:#57465e;font-variant-numeric:tabular-nums}
.cv-channel-present{color:#397328}
.cv-channel-present .cv-channel-icon{background:#edf4e8;border-color:#79a768}
.cv-channel-present:hover{color:#2c5a1f;background:#f1f5ed;text-decoration:none}
.cv-channel-busy{color:#91600c}
.cv-channel-busy .cv-channel-icon{background:#fff2dc;border-color:#d5a044}
.cv-channel-offline{color:#993c3c}
.cv-channel-offline .cv-channel-icon{background:#f8eaea;border-color:#c28484}
.cv-channel-disable{color:#777}
.cv-channel-disable .cv-channel-icon{background:#f0efed;border-color:#c4c1bd}
.cv-channel-disable .cv-channel-name{color:#827c85}

/* Occupation : toujours un temps écoulé, jamais une attente estimée */
.cv-occupation{min-height:71px;padding:12px 13px;margin-bottom:17px;background:#f4f1ec;border-left:2px solid #c9c0ce}
.cv-occupation p{font-size:12px;line-height:1.6;color:#66526e}
.cv-occupation small{display:block;font-size:11px;line-height:1.7;color:#85738d;margin-top:3px}
.cv-occupation.is-busy{background:#fff3e2;border-left-color:#d59a3a}
.cv-occupation.is-busy p{color:#8c5b12}
.cv-occupation.is-busy small{color:#8b724f}
.cv-clock{font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap;margin-left:3px}

/* Liste vide et aide */
.cv-empty{grid-column:1/-1;padding:45px 25px;background:var(--cv-lilac);text-align:center}
.cv-empty p{margin:14px 0 22px;font-size:13px}
.cv-expert-help{text-align:center;font-size:11px;margin-top:24px;color:#8d7e94}
.cv-expert-help a{border-bottom:1px solid #b7a5bf;color:#725680}

@media(min-width:681px) and (max-width:1100px){
	.cv-channels{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px}
	.cv-channels-single{grid-template-columns:1fr}
	.cv-channel{padding:7px 2px}
	.cv-channel-state{min-height:17px;max-width:none}
	.cv-expert-card .cv-occupation{min-height:88px}
}
@media(max-width:1150px){
	.cv-expert-card{padding:22px 20px}
	.cv-filter-toggle{padding:12px}
	.cv-select{padding:8px 14px}
}
@media(max-width:900px){
	.cv-status-legend{gap:10px 20px}
	.cv-expert-grid{gap:15px}
	.cv-expert-card{padding:19px 15px}
	.cv-expert-card h3{font-size:24px}
	.cv-portrait{width:100px;height:100px}
	.cv-expert-card blockquote{font-size:12px;min-height:125px}
	.cv-expert-stats{gap:10px}
	.cv-profile-button{padding:11px;gap:9px}
	.cv-filters{grid-template-columns:1.4fr 1fr 1fr auto}
	.cv-search{gap:8px;padding-right:10px}
	.cv-search input{font-size:11px}
	.cv-select{padding:8px}
	.cv-select select{font-size:11px}
	.cv-filter-toggle{font-size:0;gap:0}
	.cv-filter-toggle .cv-icon{width:19px}
	.cv-filter-toggle #cv-filter-total{font-size:11px;margin-left:5px}
	.cv-checkboxes{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
	.cv-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
	.cv-search{grid-column:1/-1;margin-bottom:9px;padding:3px 0}
	.cv-select{padding:8px 8px 8px 0;border-left:0}
	.cv-filter-toggle{padding:12px 15px}
	.cv-filter-bottom{gap:10px 15px}
	.cv-filter-extra{grid-template-columns:1fr;gap:22px;padding:20px}
	.cv-filter-extra fieldset:last-child:not(:first-child) .cv-checkboxes{grid-template-columns:1fr 1fr}
	.cv-expert-grid{grid-template-columns:1fr;gap:20px}
	.cv-expert-card{padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
	.cv-card-heading{grid-row:1/4}
	.cv-portrait{width:106px;height:106px}
	.cv-expert-card blockquote{min-height:0;margin:36px 0 18px;text-align:left;font-size:12px}
	.cv-expert-stats{justify-content:flex-start;gap:16px;flex-wrap:wrap;padding:14px 0}
	.cv-expert-card .cv-card-bottom{grid-column:1/-1;margin-top:17px}
	.cv-status{padding-bottom:22px}
	.cv-expert-card h3{font-size:26px}
	.cv-channels{gap:8px}
	.cv-occupation{min-height:0}
}
@media(max-width:580px){
	.cv-directory-count{display:inline-block;margin-top:18px;padding:4px 10px}
	.cv-filters{padding-top:12px;margin-bottom:22px}
	.cv-search input{font-size:12px;min-height:40px}
	.cv-checkboxes{grid-template-columns:1fr}
	.cv-status-legend{gap:9px 17px}
	.cv-expert-card{padding:24px;display:flex;gap:0}
	.cv-expert-card h3{font-size:29px}
	.cv-portrait{width:116px;height:116px}
	.cv-expert-card blockquote{text-align:center;margin:19px 0 22px}
	.cv-expert-stats{justify-content:center;gap:24px}
	.cv-expert-card .cv-card-bottom{display:block;margin:0;padding-top:14px}
	.cv-channels{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
	.cv-channels-single{grid-template-columns:1fr}
	.cv-channel{padding:10px 3px}
	.cv-channel-state{max-width:none;min-height:14px}
	.cv-occupation{padding:12px;margin-bottom:16px}
	.cv-expert-help{line-height:1.9;margin-top:18px}
}
