/**
 * Fiche individuelle des praticiens — MédiNeupré.
 */

body.single-praticien header:not(.mn-site-header),
body.single-praticien .site-header,
body.single-praticien #masthead,
body.single-praticien footer:not(.mn-site-footer),
body.single-praticien .site-footer,
body.single-praticien #colophon {
	display: none !important;
}

body.single-praticien {
	margin: 0;
	background:
		radial-gradient(circle at 10% 0%, rgba(128, 203, 210, 0.26), transparent 30%),
		radial-gradient(circle at 92% 18%, rgba(255, 255, 255, 0.24), transparent 24%),
		linear-gradient(145deg, #2f8fa7 0%, #6fc4cf 46%, #d7f4f4 100%);
}

.single-praticien-page,
.single-praticien-page *,
.single-praticien-page *::before,
.single-praticien-page *::after {
	box-sizing: border-box;
}

.single-praticien-page {
	position: relative;
	min-height: 100vh;
	padding: 34px 20px 78px;
	color: #173744;
	background:
		linear-gradient(180deg, rgba(2, 35, 58, 0.08), rgba(255, 255, 255, 0.06) 38%, rgba(255, 255, 255, 0.12));
}

.single-praticien-shell {
	width: min(100%, 1320px);
	margin: 0 auto;
}

.single-praticien-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 18px;
	padding: 0 4px;
	color: rgba(255, 255, 255, 0.86);
	font-size: 0.84rem;
	line-height: 1.4;
}

.single-praticien-breadcrumb a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #ffffff;
	text-decoration: none;
}

.single-praticien-breadcrumb a:hover,
.single-praticien-breadcrumb a:focus-visible {
	color: #d7ffff;
}

.single-praticien-profile,
.single-praticien-panel {
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(248, 253, 254, 0.91));
	border: 1px solid rgba(255, 255, 255, 0.68);
	box-shadow:
		0 26px 70px rgba(0, 46, 66, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.96);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

.single-praticien-profile {
	position: relative;
	display: grid;
	grid-template-columns: 290px minmax(0, 1fr) 280px;
	gap: 36px;
	align-items: center;
	min-height: 390px;
	padding: 30px;
	overflow: hidden;
	border-radius: 30px;
}

.single-praticien-profile::before {
	content: "";
	position: absolute;
	top: -120px;
	right: 18%;
	width: 430px;
	height: 430px;
	border: 1px solid rgba(128, 203, 210, 0.14);
	border-radius: 50%;
	pointer-events: none;
}

.single-praticien-photo {
	position: relative;
	z-index: 2;
}

.single-praticien-photo img,
.single-praticien-photo-placeholder {
	display: block;
	width: 100%;
	height: 330px;
	object-fit: cover;
	object-position: center 12%;
	border-radius: 24px;
	background: linear-gradient(145deg, #e7f3f5, #ffffff);
	box-shadow: 0 18px 44px rgba(0, 62, 82, 0.16);
}

.single-praticien-main {
	position: relative;
	z-index: 2;
}

.single-praticien-eyebrow {
	margin: 0 0 14px;
	color: #1698ae;
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.single-praticien-title {
	margin: 0 0 16px;
	color: #073f58;
	font-size: clamp(2.5rem, 4.8vw, 4.25rem);
	font-weight: 720;
	line-height: 1.02;
	letter-spacing: -0.045em;
}

.single-praticien-specialites {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: 22px;
}

.single-praticien-specialite {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 7px 14px;
	color: #07526a;
	background: linear-gradient(135deg, #e6f8fa, #f4fcfd);
	border: 1px solid rgba(22, 152, 174, 0.18);
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 700;
}

.single-praticien-quote {
	position: relative;
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 15px;
	align-items: start;
	max-width: 700px;
	margin: 0 0 26px;
	padding: 16px 20px 16px 17px;
	color: #345965;
	background: linear-gradient(135deg, rgba(224, 248, 250, 0.68), rgba(255, 255, 255, 0.48));
	border: 1px solid rgba(80, 191, 208, 0.14);
	border-left: 3px solid rgba(80, 191, 208, 0.72);
	border-radius: 0 18px 18px 0;
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	font-style: normal;
	line-height: 1.7;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.single-praticien-quote-mark {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	width: 46px;
	height: 38px;
	color: #43b8c9;
	filter: drop-shadow(0 5px 8px rgba(32, 151, 169, 0.12));
}

.single-praticien-quote-mark svg {
	display: block;
	width: 42px;
	height: 32px;
	fill: currentColor;
}

.single-praticien-quote-text {
	display: block;
	padding-top: 1px;
}

.single-praticien-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.single-praticien-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 12px 19px;
	border-radius: 13px;
	font-size: 0.88rem;
	font-weight: 750;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease;
}

.single-praticien-btn:hover,
.single-praticien-btn:focus-visible {
	transform: translateY(-2px);
}

.single-praticien-btn:focus-visible {
	outline: 3px solid rgba(128, 203, 210, 0.6);
	outline-offset: 3px;
}

.single-praticien-btn-primary {
	color: #ffffff !important;
	background: linear-gradient(135deg, #003d59 0%, #076782 100%);
	border: 1px solid rgba(0, 88, 111, 0.52);
	box-shadow: 0 12px 26px rgba(0, 70, 92, 0.2);
}

.single-praticien-btn-primary:hover,
.single-praticien-btn-primary:focus-visible {
	box-shadow: 0 16px 30px rgba(0, 70, 92, 0.28);
}

.single-praticien-btn-secondary {
	color: #07516a !important;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(0, 88, 111, 0.2);
}

.single-praticien-btn-secondary:hover,
.single-praticien-btn-secondary:focus-visible {
	background: #ffffff;
	border-color: rgba(0, 88, 111, 0.34);
}

.single-praticien-btn-icon,
.single-praticien-btn-icon svg {
	display: block;
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
}

.single-praticien-btn-icon svg,
.single-praticien-panel-icon svg,
.single-praticien-meta-icon svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.single-praticien-brandmark {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.single-praticien-brandmark img {
	display: block;
	width: min(100%, 245px);
	height: auto;
	opacity: 0.78;
	filter: drop-shadow(0 20px 34px rgba(0, 72, 92, 0.16));
}

.single-praticien-content-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.28fr) minmax(330px, 0.72fr);
	gap: 22px;
	margin-top: 22px;
}

.single-praticien-panel {
	padding: 30px;
	border-radius: 26px;
}

.single-praticien-panel-header {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 22px;
}

.single-praticien-panel-header h2 {
	margin: 0;
	color: #073f58;
	font-size: 1.35rem;
	font-weight: 760;
	line-height: 1.2;
}

.single-praticien-panel-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	color: #1698ae;
	background: linear-gradient(145deg, #e3f7f9, #f7ffff);
	border: 1px solid rgba(22, 152, 174, 0.14);
	border-radius: 50%;
}

.single-praticien-panel-icon svg {
	width: 22px;
	height: 22px;
}

.single-praticien-long-content {
	color: #35505b;
	font-size: 0.99rem;
	line-height: 1.9;
}

.single-praticien-long-content > :first-child {
	margin-top: 0;
}

.single-praticien-long-content > :last-child {
	margin-bottom: 0;
}

.single-praticien-meta-list {
	display: grid;
	gap: 12px;
}

.single-praticien-meta-item {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 13px;
	align-items: start;
	padding: 16px;
	color: #31515d;
	background: linear-gradient(145deg, #f9fefe, #eef9fa);
	border: 1px solid rgba(0, 88, 111, 0.11);
	border-radius: 17px;
	font-size: 0.9rem;
	line-height: 1.55;
}

.single-praticien-meta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: #1698ae;
	background: #ffffff;
	border: 1px solid rgba(22, 152, 174, 0.13);
	border-radius: 14px;
}

.single-praticien-meta-icon svg {
	width: 22px;
	height: 22px;
}

.single-praticien-meta-label {
	display: block;
	margin-bottom: 3px;
	color: #073f58;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.2;
}

.single-praticien-meta-item a,
.single-praticien-meta-value {
	color: #164f62;
	font-weight: 600;
	text-decoration: none;
	word-break: break-word;
}

.single-praticien-meta-item a:hover,
.single-praticien-meta-item a:focus-visible {
	color: #00788e;
	text-decoration: underline;
}

.single-praticien-note {
	margin-top: 14px;
	padding: 17px 18px;
	color: #31515d;
	background: linear-gradient(145deg, rgba(214, 244, 247, 0.8), rgba(238, 251, 252, 0.94));
	border: 1px solid rgba(22, 152, 174, 0.12);
	border-radius: 18px;
	font-size: 0.88rem;
	line-height: 1.65;
}

.single-praticien-note strong {
	display: block;
	margin-bottom: 6px;
	color: #07516a;
}

.single-praticien-note p {
	margin: 0;
}

.single-praticien-mobile-cta {
	display: none;
}

@media (max-width: 1100px) {
	.single-praticien-profile {
		grid-template-columns: 240px minmax(0, 1fr) 210px;
		gap: 26px;
	}

	.single-praticien-photo img,
	.single-praticien-photo-placeholder {
		height: 290px;
	}

	.single-praticien-content-grid {
		grid-template-columns: minmax(0, 1fr) minmax(310px, 0.8fr);
	}
}

@media (max-width: 900px) {
	.single-praticien-page {
		padding: 24px 14px 64px;
	}

	.single-praticien-profile {
		grid-template-columns: 220px minmax(0, 1fr);
		padding: 24px;
	}

	.single-praticien-brandmark {
		display: none;
	}

	.single-praticien-title {
		font-size: clamp(2.3rem, 7vw, 3.4rem);
	}

	.single-praticien-content-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	body.single-praticien {
		background: linear-gradient(180deg, #07506b 0%, #4aaaba 42%, #dff7f7 100%);
	}

	.single-praticien-page {
		padding: 18px 10px 104px;
	}

	.single-praticien-breadcrumb {
		gap: 7px;
		font-size: 0.74rem;
	}

	.single-praticien-profile {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 20px 16px 18px;
		border-radius: 24px;
		text-align: center;
	}

	.single-praticien-photo {
		width: min(100%, 220px);
		margin: 0 auto;
	}

	.single-praticien-photo img,
	.single-praticien-photo-placeholder {
		height: 235px;
		border-radius: 20px;
	}

	.single-praticien-specialites,
	.single-praticien-actions {
		justify-content: center;
	}

	.single-praticien-quote {
		padding: 0 10px 0 34px;
		text-align: left;
	}

	.single-praticien-actions {
		flex-direction: column;
	}

	.single-praticien-actions .single-praticien-btn {
		width: 100%;
	}

	.single-praticien-panel {
		padding: 22px 18px;
		border-radius: 22px;
	}

	.single-praticien-panel-header {
		margin-bottom: 18px;
	}

	.single-praticien-meta-item {
		grid-template-columns: 40px minmax(0, 1fr);
		padding: 14px;
	}

	.single-praticien-meta-icon {
		width: 40px;
		height: 40px;
	}

	.single-praticien-mobile-cta {
		position: fixed;
		right: 10px;
		bottom: 10px;
		left: 10px;
		z-index: 90;
		display: block;
		padding: 8px;
		background: rgba(255, 255, 255, 0.9);
		border: 1px solid rgba(255, 255, 255, 0.75);
		border-radius: 18px;
		box-shadow: 0 14px 34px rgba(0, 39, 57, 0.24);
		-webkit-backdrop-filter: blur(14px);
		backdrop-filter: blur(14px);
	}

	.single-praticien-mobile-cta .single-praticien-btn {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.single-praticien-page *,
	.single-praticien-page *::before,
	.single-praticien-page *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}


.single-praticien-meta-icon {
	position: relative;
	overflow: hidden;
	box-shadow:
		0 8px 18px rgba(22, 152, 174, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.single-praticien-meta-icon::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(circle at 30% 20%, rgba(128, 203, 210, 0.18), transparent 62%);
}

.single-praticien-meta-icon svg {
	position: relative;
	z-index: 1;
	display: block;
}

@media (max-width: 600px) {
	.single-praticien-quote {
		grid-template-columns: 36px minmax(0, 1fr);
		gap: 10px;
		padding: 14px 15px 14px 12px;
		border-radius: 0 15px 15px 0;
	}

	.single-praticien-quote-mark {
		width: 36px;
		height: 30px;
	}

	.single-praticien-quote-mark svg {
		width: 34px;
		height: 27px;
	}
}

/**
 * Variante lumineuse et apaisante.
 */
body.single-praticien {
	background:
		repeating-linear-gradient(
			90deg,
			rgba(45, 139, 164, 0.045) 0,
			rgba(45, 139, 164, 0.045) 1px,
			transparent 1px,
			transparent 8px
		),
		radial-gradient(circle at 8% 10%, rgba(128, 203, 210, 0.28), transparent 34%),
		radial-gradient(circle at 92% 30%, rgba(111, 196, 207, 0.18), transparent 30%),
		linear-gradient(145deg, #f8fcfd 0%, #e8f7f8 50%, #d8f0f4 100%);
}

.single-praticien-page {
	padding-top: 24px;
	background:
		radial-gradient(
			ellipse at 46% 115%,
			transparent 0 43%,
			rgba(87, 184, 203, 0.14) 43.2% 43.7%,
			transparent 44% 55%,
			rgba(87, 184, 203, 0.08) 55.2% 55.6%,
			transparent 56%
		),
		linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.04));
}

.single-praticien-profile,
.single-praticien-panel {
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(243, 252, 253, 0.93));
	border-color: rgba(255, 255, 255, 0.82);
	box-shadow:
		0 24px 58px rgba(0, 70, 88, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

.single-praticien-profile::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		repeating-linear-gradient(
			90deg,
			rgba(46, 151, 177, 0.026) 0,
			rgba(46, 151, 177, 0.026) 1px,
			transparent 1px,
			transparent 10px
		);
	mask-image: linear-gradient(90deg, transparent 0%, #000 68%, #000 100%);
}

.single-praticien-profile > * {
	position: relative;
	z-index: 2;
}

@media (max-width: 900px) {
	.single-praticien-page {
		padding-top: 16px;
	}
}

/**
 * Uniformisation stricte des fiches individuelles sur mobile.
 * Empêche tout contenu long d’élargir une fiche au-delà du viewport.
 */
.single-praticien-shell,
.single-praticien-profile,
.single-praticien-content-grid,
.single-praticien-panel,
.single-praticien-main,
.single-praticien-meta-list,
.single-praticien-meta-item,
.single-praticien-meta-item > div,
.single-praticien-long-content {
	min-width: 0;
	max-width: 100%;
}

.single-praticien-profile,
.single-praticien-panel,
.single-praticien-content-grid {
	width: 100%;
}

.single-praticien-title,
.single-praticien-quote-text,
.single-praticien-long-content,
.single-praticien-meta-value,
.single-praticien-meta-item a {
	overflow-wrap: anywhere;
	word-break: normal;
}

@media (max-width: 680px) {
	.single-praticien-page {
		width: 100%;
		overflow-x: clip;
	}

	.single-praticien-shell {
		width: 100%;
		max-width: 100%;
	}

	.single-praticien-profile,
	.single-praticien-panel {
		width: 100%;
		max-width: 100%;
		margin-inline: 0;
	}

	.single-praticien-content-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
	}

	.single-praticien-title {
		font-size: clamp(2rem, 10.5vw, 2.75rem);
	}

	.single-praticien-specialite {
		max-width: 100%;
		white-space: normal;
		text-align: center;
	}

	.single-praticien-meta-item {
		grid-template-columns: 40px minmax(0, 1fr);
		width: 100%;
	}

	.single-praticien-meta-item > div {
		width: 100%;
	}

	.single-praticien-meta-item a,
	.single-praticien-meta-value {
		display: block;
		max-width: 100%;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.single-praticien-photo,
	.single-praticien-photo img,
	.single-praticien-photo-placeholder {
		max-width: 100%;
	}
}

/**
 * Fond extérieur uniforme — v1.6.3.
 */
body.single-praticien,
.single-praticien-page {
	background-color: transparent;
	background-image: none;
}


/**
 * v1.7.3 — Harmonisation du fond entre l'annuaire équipe
 * et les fiches individuelles.
 */
body.single-praticien {
	background: transparent !important;
}

.single-praticien-page {
	background: transparent !important;
}

.single-praticien-profile,
.single-praticien-panel {
	background-color: rgba(247, 253, 253, 0.97) !important;
	background-image:
		repeating-linear-gradient(
			90deg,
			rgba(173, 221, 227, 0.12) 0px,
			rgba(173, 221, 227, 0.12) 2px,
			rgba(255, 255, 255, 0) 2px,
			rgba(255, 255, 255, 0) 18px
		),
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.988) 0%,
			rgba(243, 251, 252, 0.982) 56%,
			rgba(231, 247, 248, 0.978) 100%
		) !important;
	background-repeat: repeat, no-repeat !important;
	background-size: auto, cover !important;
	border: 1px solid rgba(214, 236, 239, 0.95) !important;
	box-shadow:
		0 20px 52px rgba(0, 70, 88, 0.10),
		inset 0 1px 0 rgba(255, 255, 255, 0.98) !important;
}

.single-praticien-profile::after {
	content: none !important;
	display: none !important;
}

.single-praticien-meta-item {
	background: linear-gradient(145deg, rgba(249, 254, 254, 0.96), rgba(238, 249, 250, 0.94));
	border-color: rgba(0, 88, 111, 0.10);
}

.single-praticien-note {
	background: linear-gradient(145deg, rgba(233, 248, 249, 0.86), rgba(242, 252, 253, 0.96));
	border-color: rgba(22, 152, 174, 0.10);
}

@media (max-width: 680px) {
	.single-praticien-profile,
	.single-praticien-panel {
		background-image:
			repeating-linear-gradient(
				90deg,
				rgba(173, 221, 227, 0.10) 0px,
				rgba(173, 221, 227, 0.10) 2px,
				rgba(255, 255, 255, 0) 2px,
				rgba(255, 255, 255, 0) 16px
			),
			linear-gradient(
				135deg,
				rgba(255, 255, 255, 0.99) 0%,
				rgba(244, 252, 253, 0.985) 58%,
				rgba(233, 248, 249, 0.98) 100%
			) !important;
	}
}


/**
 * v1.7.4 — Suppression des lignes dans les panneaux internes
 * des fiches praticiens. Les lignes restent uniquement dans le fond.
 */
.single-praticien-profile,
.single-praticien-panel {
	background-color: rgba(247, 253, 253, 0.97) !important;
	background-image: linear-gradient(
		135deg,
		rgba(255, 255, 255, 0.988) 0%,
		rgba(243, 251, 252, 0.982) 56%,
		rgba(231, 247, 248, 0.978) 100%
	) !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

.single-praticien-meta-item {
	background-image: linear-gradient(145deg, rgba(249, 254, 254, 0.98), rgba(238, 249, 250, 0.96)) !important;
}

.single-praticien-note {
	background-image: linear-gradient(145deg, rgba(233, 248, 249, 0.90), rgba(242, 252, 253, 0.98)) !important;
}

@media (max-width: 680px) {
	.single-praticien-profile,
	.single-praticien-panel {
		background-image: linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.99) 0%,
			rgba(244, 252, 253, 0.985) 58%,
			rgba(233, 248, 249, 0.98) 100%
		) !important;
	}
}


/**
 * v1.7.5 — Taille du nom du praticien mieux proportionnée.
 */
.single-praticien-title {
	font-size: clamp(2.2rem, 3.8vw, 3.45rem);
	line-height: 1.05;
	letter-spacing: -0.038em;
}

@media (max-width: 900px) {
	.single-praticien-title {
		font-size: clamp(2.05rem, 6.2vw, 3rem);
	}
}

@media (max-width: 680px) {
	.single-praticien-title {
		font-size: clamp(1.85rem, 8.8vw, 2.45rem);
		line-height: 1.08;
	}
}


/* === Version 2.3.2 : illustrations par défaut centrées sur la fiche === */
.single-praticien-photo-image--illustration {
	object-fit: contain !important;
	object-position: 50% 50% !important;
	padding: 16px;
	box-sizing: border-box;
	background: linear-gradient(145deg, #edf8f9 0%, #ffffff 100%);
}

/* === Version 1.2.4 : photo du praticien avec cadre et ombre renforcée === */
.single-praticien-photo {
	padding: 12px;
	border: 1px solid rgba(128, 203, 210, 0.30);
	border-radius: 30px;
	background: linear-gradient(180deg, rgba(248, 253, 254, 0.98) 0%, rgba(236, 248, 249, 0.96) 100%);
	box-shadow:
		0 20px 40px rgba(0, 55, 76, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.single-praticien-photo img,
.single-praticien-photo-placeholder {
	height: 400px;
	border: 1px solid rgba(128, 203, 210, 0.40);
	border-radius: 22px;
	box-shadow: 0 18px 34px rgba(0, 62, 82, 0.18);
}

.single-praticien-profile {
	box-shadow:
		0 28px 72px rgba(0, 46, 66, 0.20),
		0 0 0 1px rgba(255, 255, 255, 0.42),
		inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

@media (max-width: 1100px) {
	.single-praticien-photo img,
	.single-praticien-photo-placeholder {
		height: 350px;
	}
}

@media (max-width: 680px) {
	.single-praticien-photo {
		padding: 10px;
		border-radius: 24px;
	}

	.single-praticien-photo img,
	.single-praticien-photo-placeholder {
		height: 280px;
		border-radius: 18px;
	}
}


/* === v1.2.4 : encadrement et profondeur de la photo individuelle === */
.single-praticien-photo {
	padding: 6px;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(0, 88, 111, 0.18);
	border-radius: 29px;
	box-shadow:
		0 24px 54px rgba(0, 50, 69, 0.24),
		0 0 0 3px rgba(255, 255, 255, 0.46),
		inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.single-praticien-photo img,
.single-praticien-photo-placeholder {
	border: 1px solid rgba(0, 88, 111, 0.10);
	box-shadow:
		0 12px 30px rgba(0, 62, 82, 0.16),
		inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

@media (max-width: 680px) {
	.single-praticien-photo {
		padding: 5px;
		border-radius: 24px;
		box-shadow:
			0 18px 38px rgba(0, 50, 69, 0.22),
			0 0 0 2px rgba(255, 255, 255, 0.44);
	}
}


/* === Version 1.2.5 : fiche praticien alignée sur le même cadrage portrait que l’équipe === */
.single-praticien-profile {
	align-items: start;
}

.single-praticien-photo {
	width: min(100%, 320px);
	padding: 12px;
	border: 1px solid rgba(128, 203, 210, 0.32);
	border-radius: 30px;
	background: linear-gradient(180deg, rgba(248, 253, 254, 0.99) 0%, rgba(236, 248, 249, 0.96) 100%);
	box-shadow:
		0 22px 44px rgba(0, 55, 76, 0.14),
		0 0 0 1px rgba(255, 255, 255, 0.9) inset;
}

.single-praticien-photo img,
.single-praticien-photo-placeholder {
	display: block;
	width: 100%;
	height: auto !important;
	max-height: none !important;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 50%;
	border: 1px solid rgba(128, 203, 210, 0.40);
	border-radius: 22px;
	box-shadow: 0 18px 34px rgba(0, 62, 82, 0.18);
	background: linear-gradient(145deg, #e7f3f5, #ffffff);
}

.single-praticien-photo-image--illustration {
	object-fit: contain !important;
	padding: 16px;
}

@media (max-width: 1100px) {
	.single-praticien-photo {
		width: min(100%, 280px);
	}

	.single-praticien-photo img,
	.single-praticien-photo-placeholder {
		aspect-ratio: 4 / 5;
		height: auto !important;
	}
}

@media (max-width: 900px) {
	.single-praticien-profile {
		align-items: start;
	}

	.single-praticien-photo {
		width: min(100%, 260px);
	}
}

@media (max-width: 680px) {
	.single-praticien-photo {
		width: min(100%, 240px);
		margin: 0 auto;
		padding: 10px;
		border-radius: 24px;
	}

	.single-praticien-photo img,
	.single-praticien-photo-placeholder {
		aspect-ratio: 4 / 5;
		height: auto !important;
		border-radius: 18px;
	}
}


/* === Version 1.2.8 : en-tête de fiche fixe et panneaux à hauteur réelle === */
.single-praticien-content-grid {
	align-items: start;
}

.single-praticien-panel-presentation,
.single-praticien-panel-practical {
	align-self: start;
	height: auto;
	min-height: 0;
}

.single-praticien-panel-presentation {
	max-height: none;
}

@media (min-width: 901px) {
	.single-praticien-profile {
		position: sticky;
		top: 96px;
		z-index: 30;
		isolation: isolate;
		background-color: rgba(247, 253, 253, 0.985) !important;
		box-shadow:
			0 22px 56px rgba(0, 46, 66, 0.22),
			0 0 0 1px rgba(255, 255, 255, 0.55),
			inset 0 1px 0 rgba(255, 255, 255, 0.98) !important;
	}

	body.admin-bar .single-praticien-profile {
		top: 128px;
	}
}

@media (max-width: 900px) {
	.single-praticien-profile {
		position: relative;
		top: auto;
	}
}


/* === Version 1.2.9 : profil supérieur et descriptif maintenus visibles === */
.single-praticien-panel-presentation {
	position: relative;
	z-index: 24;
}

@media (min-width: 901px) {
	.single-praticien-panel-presentation {
		position: sticky;
		top: var(--mn-praticien-description-sticky-top, 520px);
		z-index: 29;
		background-color: rgba(247, 253, 253, 0.99) !important;
		box-shadow:
			0 18px 46px rgba(0, 46, 66, 0.18),
			0 0 0 1px rgba(255, 255, 255, 0.48),
			inset 0 1px 0 rgba(255, 255, 255, 0.98) !important;
	}
}

@media (max-width: 900px) {
	.single-praticien-panel-presentation {
		position: relative;
		top: auto;
	}
}


/* === Version 1.2.16 : cadrage des fiches individuelles strictement aligné sur la page Équipe ===
 *
 * Le cadre devient un viewport portrait fixe, indépendant des dimensions natives
 * du fichier source. La photo remplit toujours ce viewport avec object-fit: cover
 * et reprend sans déformation le cadrage (position + zoom) enregistré dans
 * l'administration. Cela évite qu'une image plus grande, plus petite, plus carrée
 * ou plus verticale modifie visuellement la taille de la photo sur la fiche.
 */
.single-praticien-photo {
	position: relative;
	width: min(100%, 320px);
	aspect-ratio: 4 / 5;
	padding: 12px 12px 0;
	overflow: hidden;
}

.single-praticien-photo img,
.single-praticien-photo-placeholder {
	display: block;
	width: 100%;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	object-fit: cover;
	object-position: 50% 50%;
}

.single-praticien-photo-image--illustration {
	object-fit: contain !important;
	object-position: 50% 50% !important;
	padding: 16px;
}

@media (max-width: 1100px) {
	.single-praticien-photo {
		width: min(100%, 280px);
		aspect-ratio: 4 / 5;
		padding: 11px 11px 0;
	}
}

@media (max-width: 900px) {
	.single-praticien-photo {
		width: min(100%, 260px);
	}
}

@media (max-width: 680px) {
	.single-praticien-photo {
		width: min(100%, 240px);
		aspect-ratio: 4 / 5;
		margin: 0 auto;
		padding: 10px 10px 0;
	}
}
