/* ==========================================================================
   PROFESSIONNELS IMMO - Carte des professionnels et annuaire par territoire
   La carte et le panneau reprennent les classes cartes-* de ventes_immo.css ;
   ce fichier ajoute l'habillage de la page, les onglets du module et l'accordéon.
   ========================================================================== */

/* Fond uni sous le bandeau fixe (78px), comme Ventes immo et Ressources utiles */
body:has(#professionnelsMain) {
	background-color: #277a86 !important;
}

body:has(#professionnelsMain) .main-body-container {
	margin-top: 78px !important;
	padding-top: 0 !important;
	background-color: #277a86 !important;
}

#professionnelsMain {
	background-color: #277a86;
	color: #ffffff;
	position: relative;
	padding: 14px 20px 40px 20px;
	max-width: 100%;
	width: 100%;
	min-height: calc(100vh - 120px);
	box-sizing: border-box;
}

/* ---------- Onglets du module (carte | ressources utiles) ---------- */
/* Ligne d'en-tête : titre à gauche, onglets tout à droite sur la même ligne (le reste de la page remonte) */
/* Titre centré au milieu de la page ; onglets tout à droite, à la même hauteur :
   grille 1fr | auto | 1fr (colonne de gauche vide, titre au centre, onglets à droite). */
.pro-entete {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 6px 16px;
	margin: 0;
}

/* Espace titre / phrase d'introduction divisé par 3 (≈ 26 px -> ≈ 9 px) : plus de marge sous la ligne d'en-tête
   ni au-dessus du sous-titre sur la page carte. */
#professionnelsMain .cartes-header .cartes-subtitle {
	margin-top: 0;
}

/* Garde-fou : header_desktop.css transforme en bandeau bleu-vert (fond #368c99, texte blanc, rembourrage) tout h1 d'un
   <main> qui contient un lien dont l'adresse contient « vendre », « louer », « capacite »… (règle `main:has(a[href*="vendre"])`).
   Selon le territoire sélectionné, le panneau contient un tel lien et le titre changeait d'aspect. On rétablit ici le
   style du titre avec une spécificité supérieure à cette règle globale. */
main#professionnelsMain .pro-entete h1.pro-entete-titre.cartes-title,
main#liensWebMain .pro-entete h1.pro-entete-titre.liens-web-title {
	background: none !important;
	color: #d9a938 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: block !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	font-weight: 800 !important;
	font-size: 2.1rem !important;
	text-transform: uppercase !important;
	text-align: center !important;
}

main#liensWebMain .pro-entete h1.pro-entete-titre.liens-web-title {
	font-size: 2.3rem !important;
}

.pro-entete .pro-entete-titre {
	grid-column: 2;
	margin: 0 !important;
	text-align: center;
}

.pro-onglets {
	grid-column: 3;
	justify-self: end;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 12px;
	margin: 0;
}

/* Écran trop étroit pour tenir sur une ligne : titre centré, onglets centrés dessous */
@media (max-width: 1199.98px) {
	.pro-entete {
		grid-template-columns: 1fr;
		justify-items: center;
	}

	.pro-entete .pro-entete-titre,
	.pro-onglets {
		grid-column: 1;
		justify-self: center;
	}

	.pro-onglets {
		justify-content: center;
	}
}

/* Taille réduite de 30 % par rapport au ×2 précédent (1.84rem -> 1.29rem), icône et paddings suivent.
   Au repos (onglet non actif et non survolé) : texte et icône blancs, contraste 4,98:1 sur le fond #277a86. */
.pro-onglet {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	box-sizing: border-box;
	max-width: 100%;
	padding: 7px 18px;
	border: 2px solid #d9a938;
	border-radius: 22px;
	color: #ffffff;
	font-weight: 700;
	font-size: 1.29rem;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	background: transparent;
	overflow-wrap: anywhere;
}

/* Icône : suit la taille du texte (×2), couleur héritée de l'onglet */
.pro-onglet .bi {
	flex-shrink: 0;
	color: inherit;
	font-size: 1em;
	line-height: 1;
}

/* Survol / focus : fond sombre du cadre de la carte et texte blanc (contraste > 8:1) */
.pro-onglet:hover,
.pro-onglet:focus-visible {
	background: #1b535c;
	color: #ffffff;
}

.pro-onglet:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

/* Onglet actif : fond jaune et texte sombre (survol et focus inclus) */
.pro-onglet.is-actif,
.pro-onglet.is-actif:hover,
.pro-onglet.is-actif:focus-visible {
	background: #d9a938;
	color: #1f3864;
}

/* Le cadre de la carte doit commencer à la même ordonnée que le panneau de droite :
   le style global `section { margin-top: 10px }` (main.mobilev3.css) décalait la colonne carte de 10 px. */
#professionnelsMain .cartes-layout {
	align-items: start;
}

#professionnelsMain .cartes-map-col {
	margin-top: 0;
}

/* ---------- Chargement ---------- */
.pro-chargement {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 12px;
	color: #e2e8f0;
}

.pro-chargement-icone {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	border: 3px solid rgba(217, 169, 56, 0.35);
	border-top-color: #d9a938;
	border-radius: 50%;
	animation: pro-rotation 0.8s linear infinite;
}

@keyframes pro-rotation {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.pro-chargement-icone {
		animation: none;
	}
}

.pro-erreur p {
	margin: 0 0 8px 0;
}

/* ---------- Accordéon familles > catégories ---------- */
.pro-acc + .pro-acc {
	margin-top: 6px;
}

/* Textes du panneau agrandis de 1,6 fois (titres, en-têtes d'accordéon, services) ;
   le contenu des fiches reste volontairement compact. */
#proPanneauContenu .cartes-panel-section-titre {
	font-size: 1.6rem;
	letter-spacing: 0.8px;
	overflow-wrap: anywhere;
}

/* En-tête du panneau sur une seule ligne : [code] Nom | PROFESSIONNELS DU TERRITOIRE (centré) | bouton admin.
   Grille à 3 colonnes (1fr auto 1fr) quand le panneau est assez large ; sinon le titre centré passe sur sa propre ligne.
   Limité à ce panneau : la page Ventes immo n'est pas modifiée. */
#proPanneauContenu {
	container-type: inline-size;
}

#proPanneauContenu .pro-panneau-entete {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		'identite admin'
		'titre titre';
	align-items: center;
	row-gap: 8px;
	column-gap: 12px;
}

#proPanneauContenu .pro-panneau-identite {
	grid-area: identite;
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

#proPanneauContenu .pro-panneau-identite .cartes-panel-titre {
	min-width: 0;
	font-size: 1.8rem;
	line-height: 1.1;
	overflow-wrap: break-word;
}

#proPanneauContenu .pro-panneau-entete-section {
	grid-area: titre;
	justify-content: center;
	margin: 0;
	/* Taille, graisse, interlettrage, casse et couleur : hérités de la règle commune
	   « #proPanneauContenu .cartes-panel-section-titre » (identiques à « Services publics et conseil ») */
	line-height: 1;
	padding-top: 2px; /* compense l'espace du bas de ligne : les capitales sont centrées sur la pastille */
	overflow-wrap: normal; /* le titre ne se coupe pas au milieu d'un mot */
	text-align: center;
}

#proPanneauContenu .pro-panneau-entete .pro-admin-ajout--panneau {
	grid-area: admin;
	justify-self: end;
}

/* Panneau étroit (< 600px), hors administrateur : code + nom et titre restent sur la même ligne, centrés verticalement.
   Le nom et le titre peuvent passer sur 2 lignes si nécessaire. */
@media (min-width: 992px) {
@container (max-width: 599px) {
	#proPanneauContenu .pro-panneau-entete:not(.pro-panneau-entete--admin) {
		grid-template-columns: minmax(min-content, 1fr) minmax(0, auto) minmax(min-content, 1fr);
		grid-template-areas: 'identite titre admin';
		align-items: center;
	}

	#proPanneauContenu .pro-panneau-entete:not(.pro-panneau-entete--admin) .pro-panneau-identite .cartes-panel-titre {
		font-size: 1.5rem;
		white-space: nowrap; /* « Wallis-et-Futuna » ne se coupe pas aux tirets : c'est le titre central qui passe sur 2 lignes */
	}

	#proPanneauContenu .pro-panneau-entete:not(.pro-panneau-entete--admin) .pro-panneau-entete-section {
		padding-top: 0;
		align-self: center;
		line-height: 1.15;
	}
}
}

@container (min-width: 600px) {
	#proPanneauContenu .pro-panneau-entete {
		/* Le côté gauche ne descend jamais sous son mot le plus long : le titre peut alors s'écarter un peu du centre */
		grid-template-columns: minmax(min-content, 1fr) auto minmax(min-content, 1fr);
		grid-template-areas: 'identite titre admin';
	}

	#proPanneauContenu .pro-panneau-entete .pro-panneau-identite .cartes-panel-titre {
		white-space: nowrap;
	}
}

/* Administrateur connecté : une seule ligne [code + nom] [titre] [bouton « Ajouter »], le titre pouvant passer sur 2 lignes. */
@container (max-width: 859px) {
	#proPanneauContenu .pro-panneau-entete--admin {
		grid-template-columns: minmax(min-content, 1fr) minmax(0, auto) minmax(min-content, 1fr);
		grid-template-areas: 'identite titre admin';
		align-items: center;
	}

	#proPanneauContenu .pro-panneau-entete--admin .pro-panneau-identite .cartes-panel-titre {
		font-size: 1.5rem;
		white-space: nowrap;
	}

	#proPanneauContenu .pro-panneau-entete--admin .pro-panneau-entete-section {
		padding-top: 0;
		align-self: center;
		line-height: 1.15;
	}
}

.pro-acc-titre {
	margin: 0;
	font-size: 1.6rem;
}

.pro-acc-bouton {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 36px;
	padding: 3px 14px;
	border: 1px solid rgba(217, 169, 56, 0.6);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.06);
	color: #ffffff;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}

.pro-acc-bouton::after {
	content: '';
	flex-shrink: 0;
	width: 13px;
	height: 13px;
	margin-left: 6px;
	border-right: 3px solid #d9a938;
	border-bottom: 3px solid #d9a938;
	transform: rotate(45deg);
	transition: transform 0.15s ease;
}

.pro-acc-bouton[aria-expanded='true']::after {
	transform: rotate(-135deg);
}

.pro-acc-bouton:hover,
.pro-acc-bouton:focus-visible {
	background: rgba(217, 169, 56, 0.18);
}

.pro-acc-bouton:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.pro-acc-icone {
	flex-shrink: 0;
	color: #d9a938;
	font-size: 1.76rem;
	line-height: 1;
}

.pro-acc-libelle {
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.05;
	overflow-wrap: anywhere;
}

.pro-acc-compteur {
	flex-shrink: 0;
	min-width: 2.2rem;
	padding: 1px 14px;
	border: 1px solid #d9a938;
	border-radius: 24px;
	font-size: 1.25rem;
	line-height: 1.1;
	text-align: center;
	color: #ffffff;
}

.pro-acc-compteur.is-vide {
	border-color: rgba(255, 255, 255, 0.35);
	color: #c5d0dc;
}

.pro-acc-corps {
	padding: 6px 0 3px 12px;
}

/* Espacement réduit entre les vignettes */
.pro-acc-corps .cartes-liste {
	gap: 6px;
}

.pro-categorie .pro-acc-titre {
	font-size: 1.47rem;
}

.pro-categorie .pro-acc-bouton {
	min-height: 34px;
	padding: 3px 12px;
	border-color: rgba(255, 255, 255, 0.22);
	font-weight: 600;
}

.pro-specialite + .pro-specialite {
	margin-top: 10px;
}

.pro-specialite-titre,
.pro-service-titre {
	margin: 0 0 6px 0;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	color: #d9a938;
}

/* Libellé d'un service public : ×1,6 (0.85rem -> 1.36rem) */
.pro-service-titre {
	font-size: 1.36rem;
	letter-spacing: 0.5px;
	line-height: 1.1;
	overflow-wrap: anywhere;
}

/* Message « aucun contact » : aligné sur la taille des libellés agrandis (jamais plus petit) */
.pro-acc-corps .cartes-vide {
	font-size: 1.47rem;
}

.pro-service .cartes-vide {
	font-size: 1.36rem;
}

/* Annuaires officiels nationaux sous une catégorie (complément des fiches) */
.pro-categorie-annuaires-bloc {
	margin-top: 8px;
}

.pro-categorie-annuaires-titre {
	margin: 0 0 4px 0;
	font-size: 1.25rem;
	opacity: 0.85;
}

.pro-categorie-annuaires.cartes-site-actions {
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
}

/* Note de territoire (ex. aucune agence locale) : texte d'information puis lien source, comme les annuaires officiels */
.pro-categorie-note-texte {
	margin: 0 0 6px 0;
	font-size: 1.25rem;
	line-height: 1.4;
	color: #d5dde6;
	overflow-wrap: anywhere;
}

.pro-categorie-note-meta {
	margin: 4px 0 0 0;
	font-size: 1rem;
	color: #a9b7c6;
}

/* ---------- Fiche ---------- */
/* Mobile : empilement compact (texte, puis boutons et lien de signalement) */
.pro-fiche.cartes-site {
	padding: 0.25rem 0.7rem;
}

.pro-fiche .cartes-site-nom {
	margin: 0;
	line-height: 1.2;
}

.pro-fiche-texte {
	flex: 1 1 auto;
	min-width: 0;
}

.pro-fiche-tete {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 8px;
}

/* Pastille du partenaire commercial, à côté du nom */
.pro-fiche-tete .cartes-site-mention {
	padding: 0 7px;
	font-size: 0.72rem;
	line-height: 1.5;
}

.pro-fiche-description {
	margin: 1px 0 0 0;
	font-size: 0.85rem;
	line-height: 1.2;
	color: #d5dde6;
	overflow-wrap: anywhere;
}

/* Dates de contrôle et disponibilité déclarée : très discrètes */
.pro-fiche-meta {
	margin: 1px 0 0 0;
	font-size: 0.72rem;
	line-height: 1.2;
	color: #a9b7c6;
}

.pro-fiche-droite {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	margin-top: 4px;
}

.pro-fiche-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.pro-fiche .cartes-lien {
	padding: 2px 10px;
	font-size: 0.8rem;
}

.pro-fiche .cartes-site-signaler {
	margin-left: 0;
	font-size: 0.72rem;
	color: #c5d0dc;
	white-space: nowrap;
}

.pro-fiche .cartes-site-signaler:hover,
.pro-fiche .cartes-site-signaler:focus-visible {
	color: #d9a938;
}

.pro-fiche .cartes-site-signaler:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

/* Écran large : nom et description à gauche, boutons et signalement à droite, centrés verticalement */
@media (min-width: 768px) {
	.pro-fiche.cartes-site--locale {
		flex-direction: row;
		align-items: center;
		gap: 0.6rem;
	}

	.pro-fiche-droite {
		flex: 0 1 auto;
		max-width: 62%;
		justify-content: flex-end;
		margin-top: 0;
	}
}

/* ---------- Services publics et conseil ---------- */
.pro-services {
	padding-top: 14px;
	border-top: 1px solid rgba(217, 169, 56, 0.5);
}

/* Chaque service est un encadré (bordure, rayon et fond de .cartes-site, padding compact des fiches).
   Mobile : empilement compact (libellé, puis boutons qui passent à la ligne). */
.pro-service.cartes-site {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 0.2rem 0.7rem;
}

.pro-service + .pro-service {
	margin-top: 6px;
}

.pro-service .pro-service-titre {
	margin: 0;
}

.pro-service .cartes-site-actions {
	gap: 6px;
	margin: 0;
}

/* Message « aucun contact » : sans cadre en pointillés (l'encadré du service suffit) */
.pro-service .cartes-vide {
	padding: 0;
	border: 0;
	border-radius: 0;
}

/* Boutons-liens des services : police ×1,6 (1.36rem) et padding horizontal conservés,
   hauteur réduite de 30 % (padding vertical 6 -> 4.2 px, hauteur minimale 44 -> 32 px).
   Texte blanc au repos sur fond transparent (blanc / bleu foncé du panneau : contraste > 4,5:1). */
.pro-service .cartes-lien {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	max-width: 100%;
	min-height: 28px;
	padding: 1.5px 18px;
	border-radius: 24px;
	color: #ffffff;
	font-size: 1.36rem;
	line-height: 1.05;
	overflow-wrap: anywhere;
}

/* Survol / focus : fond jaune et texte sombre, comme les boutons principaux du module */
.pro-service .cartes-lien:hover,
.pro-service .cartes-lien:focus-visible {
	background: #d9a938;
	border-color: #d9a938;
	color: #1f3864;
}

.pro-service .cartes-lien:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

/* « Voir le site » d'une fiche locale rangée dans un service : même taille que celui des fiches des familles
   (la règle .pro-service .cartes-lien ci-dessus est réservée aux boutons-liens nationaux). */
.pro-service .pro-fiche .cartes-lien {
	display: inline-block;
	min-height: 0;
	padding: 2px 10px;
	border-radius: 999px;
	font-size: 0.8rem;
	line-height: normal;
}

/* Service avec fiches locales : le titre est un bouton de dépliage (libellé, pastille compteur, chevron doré),
   comme les accordéons des familles. Les boutons-liens nationaux restent indépendants. */
.pro-service-bouton {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	min-height: 40px; /* cible tactile */
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	text-align: left;
	text-transform: inherit;
	cursor: pointer;
}

.pro-service-libelle {
	flex: 0 1 auto;
	min-width: 0;
	overflow-wrap: anywhere;
}

.pro-service-bouton .pro-acc-compteur {
	text-transform: none;
	letter-spacing: normal;
}

/* Chevron doré : même pictogramme que .pro-acc-bouton. Mobile : à droite du titre (dans le bouton) ;
   écran large : à droite des boutons de liens (.pro-service-chevron). */
.pro-service-bouton::after,
.pro-service-chevron::after {
	content: '';
	flex-shrink: 0;
	width: 13px;
	height: 13px;
	border-right: 3px solid #d9a938;
	border-bottom: 3px solid #d9a938;
	transform: rotate(45deg);
	transition: transform 0.15s ease;
}

.pro-service-bouton::after {
	margin: 0 6px 4px 6px;
}

.pro-service-bouton[aria-expanded='true']::after {
	margin-bottom: 0;
	margin-top: 4px;
	transform: rotate(-135deg);
}

.pro-service-chevron {
	display: none;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	cursor: pointer;
}

.pro-service-chevron::after {
	margin-bottom: 4px;
}

.pro-service.is-ouvert .pro-service-chevron::after {
	margin-top: 4px;
	margin-bottom: 0;
	transform: rotate(-135deg);
}

.pro-service-bouton:hover {
	background: rgba(217, 169, 56, 0.14);
}

.pro-service-bouton:focus-visible {
	background: rgba(217, 169, 56, 0.14);
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.pro-service-fiches {
	padding-top: 2px;
}

.pro-service-fiches[hidden] {
	display: none;
}

.pro-service-fiches .cartes-liste {
	gap: 6px;
}

/* « ⓘ » de fin de ligne : à quoi sert le service. Mobile : en haut à droite de l'encadré ;
   écran large : dernier élément de la ligne (voir la media query plus bas). */
.pro-service.cartes-site {
	position: relative;
}

.pro-service-info {
	position: absolute;
	top: 6px;
	right: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 28px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 2px solid #d9a938;
	border-radius: 50%;
	background: transparent;
	color: #d9a938;
	font: italic 700 1rem/1 Georgia, 'Times New Roman', serif;
	cursor: pointer;
}

.pro-service-info:hover,
.pro-service-info[aria-expanded='true'] {
	background: #d9a938;
	color: #1f3864;
}

.pro-service-info:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

/* Mobile : le titre laisse la place au bouton « ⓘ » */
.pro-service .pro-service-titre {
	padding-right: 36px;
}

.pro-service-info-texte {
	margin: 0;
	padding: 2px 0 4px;
	color: #ffffff;
	font-size: 0.95rem;
	line-height: 1.35;
}

.pro-service-info-texte[hidden] {
	display: none;
}

/* Écran large : libellé à gauche, boutons (ou message vide) alignés à droite, centrés verticalement */
@media (min-width: 768px) {
	.pro-service.cartes-site {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 4px 0.6rem;
	}

	.pro-service .pro-service-titre {
		flex: 1 1 auto;
		min-width: 0;
	}

	.pro-service .cartes-site-actions {
		flex: 0 1 auto;
		max-width: 62%;
		justify-content: flex-end;
	}

	.pro-service > .cartes-vide {
		flex: 0 1 auto;
		max-width: 62%;
		text-align: right;
	}

	/* Fiches locales éventuelles : pleine largeur sous la ligne libellé / boutons */
	.pro-service > .cartes-liste,
	.pro-service > .pro-service-fiches {
		flex: 0 0 100%;
	}

	/* Écran large : chevron après les boutons de liens ; le bouton du titre a la hauteur d'une ligne ordinaire */
	.pro-service-chevron {
		display: flex;
	}

	.pro-service-bouton {
		min-height: 28px;
	}

	/* Ordre de la ligne : libellé, boutons de liens, chevron, « ⓘ », texte d'information, fiches locales */
	.pro-service-chevron {
		order: 1;
	}

	.pro-service-info {
		position: static;
		flex: 0 0 auto;
		order: 2;
	}

	.pro-service-info-texte {
		flex: 0 0 100%;
		order: 3;
	}

	.pro-service > .pro-service-fiches {
		order: 4;
	}

	.pro-service .pro-service-titre {
		padding-right: 0;
	}

	.pro-service-bouton::after {
		display: none;
	}
}

/* ---------- Responsive ---------- */
@media (max-width: 767.98px) {
	#professionnelsMain {
		padding: 12px 10px 30px 10px;
	}

	/* Tablette / mobile : onglets ×1,7 par rapport à l'ancienne taille mobile (0.85rem) */
	.pro-onglet {
		padding: 6px 14px;
		font-size: 1.02rem;
		min-height: 40px; /* cible tactile */
	}

	.pro-acc-corps {
		padding-left: 6px;
	}

	/* Cible tactile d'au moins 44 px de haut ; compteur et chevron restent à droite */
	.pro-acc-bouton {
		min-height: 44px;
		gap: 10px;
	}
}

/* Petit écran (< 576 px) : onglets pleine largeur, texte ≥ ×1,4 (1.3rem) qui passe à la ligne sans débordement */
@media (max-width: 575.98px) {
	.pro-onglets {
		gap: 8px;
	}

	.pro-onglet {
		flex: 1 1 100%;
		padding: 6px 10px;
		border-width: 2px;
		border-radius: 17px;
		font-size: 0.91rem;
		gap: 6px;
		min-height: 40px; /* cible tactile */
	}
}

/* ---------- Administration rapide (administrateur connecté uniquement) ----------
   Styles communs (boutons, voyants, fenêtre, message) : ventes_immo.css. Ici, l'accordéon. */

/* En-tête de catégorie : bouton d'accordéon et « ＋ » côte à côte ; le « ＋ » n'apparaît que si la catégorie est ouverte */
.pro-acc--admin > .pro-acc-titre {
	display: flex;
	align-items: center;
	gap: 6px;
}

.pro-acc--admin > .pro-acc-titre > .pro-acc-bouton {
	flex: 1 1 auto;
	min-width: 0;
}

.pro-acc--admin:not(.is-ouvert) > .pro-acc-titre > .pro-admin-ajout {
	display: none;
}

/* « ＋ » d'une spécialité : à la suite de son titre */
.pro-specialite-titre .pro-admin-ajout--mini {
	width: 22px;
	height: 22px;
	margin-left: 6px;
	font-size: 0.8rem;
	vertical-align: middle;
}
