/*
 * GeM – Complément annuaire : présentation de l'annuaire WP Team Pro, des carrousels de membres des pages UTR
 * et des fiches individuelles,
 * alignée sur les autres pages du site (cartes à bord fin et coins arrondis, bleus #0e2a4f / #1f4e8c).
 * Ne remplace pas le CSS de WP Team Pro : le complète, pour résister à ses mises à jour.
 */

/* ---------- Recherche (annuaire et carrousels des pages UTR) ---------- */
.sp-team-pro .member_search { margin: 0 0 12px; text-align: center; }
/* texte du libellé masqué (réglé en français dans les vues) : la consigne passe dans le champ (placeholder et aria-label) */
.sp-team-pro .member_search label { display: inline-block; width: 100%; max-width: 640px; font-size: 0 !important; line-height: 0; }
.sp-team-pro .member_search input {
	width: 100% !important; height: auto !important; box-sizing: border-box; margin: 0 !important;
	padding: 11px 14px !important; border: 1px solid #d5dbe5 !important; border-radius: 10px !important;
	background: #f8f9fb !important; color: #1a2233 !important; font-size: 15px !important; box-shadow: none !important;
}
.sp-team-pro .member_search input:focus {
	outline: none; border-color: #1f4e8c !important; background: #fff !important; box-shadow: 0 0 0 3px rgba(31, 78, 140, .15) !important;
}

/* ---------- Annuaire (vue avec filtres) ---------- */
.sptp-filter .sptp_select { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 28px; }
.sptp-filter .sptp_select br { display: none; }
.sptp-filter select.filterSelect {
	width: auto; min-width: 220px; max-width: 100%; height: auto; margin: 0 !important;
	padding: 9px 36px 9px 12px !important; border: 1px solid #d5dbe5 !important; border-radius: 10px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230e2a4f' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center !important;
	color: #1a2233 !important; font-size: 14.5px !important; font-weight: 600; cursor: pointer;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
}
.sptp-filter select.filterSelect:focus { outline: none; border-color: #1f4e8c !important; box-shadow: 0 0 0 3px rgba(31, 78, 140, .15); }

/* Cartes : hauteur fixe, car la grille (Isotope) place les cartes en position absolue d'après leur hauteur */
.sptp-filter .sptp-filter-grid > div { box-sizing: border-box; padding: 0 7px 14px; }
.sptp-filter .sptp-member {
	box-sizing: border-box; height: 296px; overflow: hidden; justify-content: flex-start;
	padding: 18px 8px 12px !important; border: 1px solid #e3e7ee !important; border-radius: 12px !important;
	background: #fff !important; transition: box-shadow .15s, transform .15s, border-color .15s;
}
.sptp-filter .sptp-member:hover { border-color: #c9d3e1 !important; box-shadow: 0 6px 18px rgba(14, 42, 79, .10); transform: translateY(-2px); }
.sptp-filter .sptp-member-avatar-img,
.sptp-filter .sptp-member-avatar-img .sptp-overflow-h { border-radius: 50% !important; }
.sptp-filter .sptp-member-avatar-img img { width: 90px !important; height: 90px !important; object-fit: cover; border-radius: 50% !important; }
.sptp-filter .sptp-member-avatar-img-area { margin-bottom: 10px !important; }
.sptp-filter .sptp-name, .sptp-filter .sptp-name a {
	margin: 0 0 3px !important; font-family: inherit !important; font-size: 15px !important; font-weight: 700 !important;
	line-height: 1.3 !important; color: #0e2a4f !important; text-decoration: none !important;
}
.sptp-filter .sptp-name a:hover { color: #1f4e8c !important; text-decoration: underline !important; }
.sptp-filter .sptp-profession-text {
	margin: 0 0 6px !important; font-family: inherit !important; font-size: 13px !important; font-weight: 600 !important;
	line-height: 1.35 !important; color: #1f4e8c !important;
}
.sptp-filter .sptp-member-location { font-size: 12px !important; line-height: 1.4 !important; color: #4a5568 !important; padding: 0 4px; }
.sptp-filter .sptp-member-location i { color: #8a96a8; margin-right: 3px; }

/* ---------- Carrousels des pages UTR : mêmes portraits et mêmes textes que l'annuaire, sans cadre ---------- */
.sptp-carousel .sptp-member-avatar-img,
.sptp-carousel .sptp-member-avatar-img .sptp-overflow-h { border-radius: 50% !important; }
.sptp-carousel .sptp-member-avatar-img img { width: 96px !important; height: 96px !important; object-fit: cover; border-radius: 50% !important; }
.sptp-carousel .sptp-member-avatar-img-area { margin-bottom: 10px !important; }
.sptp-carousel .sptp-name, .sptp-carousel .sptp-name a {
	margin: 0 0 3px !important; font-family: inherit !important; font-size: 15px !important; font-weight: 700 !important;
	line-height: 1.3 !important; color: #0e2a4f !important; text-decoration: none !important;
}
.sptp-carousel .sptp-name a:hover { color: #1f4e8c !important; text-decoration: underline !important; }
.sptp-carousel .sptp-profession-text {
	margin: 0 !important; font-family: inherit !important; font-size: 13px !important; font-weight: 600 !important;
	line-height: 1.35 !important; color: #1f4e8c !important;
}
.sptp-carousel .swiper-pagination-bullet-active { background: #0e2a4f !important; }
.sptp-carousel .swiper-button-next, .sptp-carousel .swiper-button-prev {
	border: 1px solid #d5dbe5 !important; border-radius: 8px !important; background: #fff !important; color: #0e2a4f !important;
}

/* ---------- Fiche individuelle : photo à gauche, identité à droite, publications en dessous ---------- */
.single-sptp_member .sptp-list-style {
	display: grid !important; grid-template-columns: 170px minmax(0, 1fr); column-gap: 36px; align-items: start;
	text-align: left !important; margin-top: 24px;
}
/* le contenu de la fiche (description, UTR, e-mail, icônes, publications) entre dans la grille */
.single-sptp_member .sptp-content { display: contents; }
.single-sptp_member .sptp-list-style > *,
.single-sptp_member .sptp-content > * { grid-column: 2; order: 5; text-align: left !important; margin-left: 0 !important; margin-right: 0 !important; }
.single-sptp_member .sptp-member-avatar-area { grid-column: 1; grid-row: 1 / span 12; order: 0; width: 170px !important; }
.single-sptp_member .sptp-member-avatar { justify-content: flex-start !important; }
.single-sptp_member .sptp-member-popup-img,
.single-sptp_member .sptp-member-popup-img img {
	width: 170px !important; height: 170px !important; object-fit: cover; border-radius: 50% !important;
}
.single-sptp_member .sptp-member-name { order: 1; }
.single-sptp_member .sptp-member-name .sptp-name {
	margin: 4px 0 4px !important; font-family: inherit !important; font-size: 30px !important; font-weight: 700 !important;
	line-height: 1.25 !important; color: #0e2a4f !important; text-align: left !important;
}
.single-sptp_member .sptp-member-profession { order: 2; }
.single-sptp_member .sptp-profession-text {
	margin: 0 0 14px !important; font-family: inherit !important; font-size: 17px !important; font-weight: 600 !important;
	color: #1f4e8c !important; text-align: left !important;
}
.single-sptp_member .sptp-member-location,
.single-sptp_member .sptp-member-extra-fields { order: 3; margin: 0 0 6px !important; font-size: 15px; color: #4a5568; }
.single-sptp_member .sptp-member-location i,
.single-sptp_member .sptp-member-extra-fields .fa { color: #8a96a8; margin-right: 6px; }
.single-sptp_member .sptp-member-extra-fields a { word-break: break-all; }
.single-sptp_member .sptp-member-location,
.single-sptp_member .sptp-member-extra-fields,
.single-sptp_member .sptp-member-extra-info { padding-left: 0 !important; margin-left: 0 !important; text-align: left !important; }
.single-sptp_member .sptp-member-email { order: 3; margin: 0 0 6px !important; font-size: 15px; }
/* l'adresse protégée du complément suffit : on masque l'adresse en clair de WP Team quand elle existe */
.single-sptp_member .sptp-list-style:has(.gem-hal-mail) .sptp-member-email { display: none !important; }
.single-sptp_member .sptp-content > p { margin: 0 0 6px !important; font-size: 15.5px; line-height: 1.6; color: #36404f; }
.single-sptp_member .sptp-content > p:empty,
.single-sptp_member .sptp-content > p:has(> br:only-child) { display: none; }
.single-sptp_member .sptp-content > p em { display: block; padding: 10px 14px; border-left: 3px solid #1f4e8c; background: #f3f5f8; border-radius: 0 8px 8px 0; }
.single-sptp_member .sptp-content > p em br:first-child { display: none; }
.single-sptp_member .gem-hal-utr { font-weight: 700; color: #0e2a4f !important; }
.single-sptp_member .gem-hal-icones { margin-top: 10px !important; }
.single-sptp_member .gem-pubs-page { grid-column: 1 / -1; order: 9; margin-top: 36px !important; padding-top: 24px; border-top: 1px solid #e3e7ee; }

@media (max-width: 700px) {
	.single-sptp_member .sptp-list-style { grid-template-columns: minmax(0, 1fr); }
	.single-sptp_member .sptp-list-style > *,
	.single-sptp_member .sptp-content > * { grid-column: 1; }
	.single-sptp_member .sptp-member-avatar-area { grid-row: auto; margin-bottom: 14px; }
	.single-sptp_member .sptp-member-popup-img,
	.single-sptp_member .sptp-member-popup-img img { width: 130px !important; height: 130px !important; }
	.single-sptp_member .sptp-member-name .sptp-name { font-size: 24px !important; }
}
