/**
 * Carrusel clínico (partial): flechas, swiper, tarjetas, paginación.
 * Coloca un ancestro .clinical-team-carousel-scope donde insertes el módulo (estilos y JS).
 * Incluye ancho del copy de cabecera (.clinical-team-location__header-text-wrap) cuando la plantilla lo marca.
 */

.clinical-team-carousel-scope {
	--ctc-slide-w: 430px;
	--ctc-slide-h: 450px;
	/* ≥768px con columnas fluidas: ver breakpoints */
	--ctc-desktop-visible-slides: 5;
	/* Cuántos slides cuenta cada dot (por breakpoint; móvil en mq max-width 767px) */
	--ctc-dot-slides-per-group: 1;
	--ctc-bullet: 10px;
	--ctc-ease: cubic-bezier(0.4, 0, 0.2, 1);
	--ctc-dur: 0.28s;
	/* Margen histórico del clip-path con bleed (solo donde aplique); bullets pueden usar anchura extra */
	--ctc-clip-bleed-start: 14px;
}

@media (max-width: 991px) {
	.clinical-team-carousel-scope {
		/* Una tarjeta visible por viewport; 768–991 se redefine abajo; menos de 768px: dots en mq 767 */
		--ctc-desktop-visible-slides: 1;
		--ctc-dot-slides-per-group: 1;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.clinical-team-carousel-scope {
		/* 768px–991px (debajo de 992): 3 items; un dot cada 3 slides */
		--ctc-desktop-visible-slides: 3;
		--ctc-dot-slides-per-group: 3;
	}
}

@media (min-width: 992px) and (max-width: 1299px) {
	.clinical-team-carousel-scope {
		/* 992px–1299px: 4 items; un dot cada 4 slides */
		--ctc-desktop-visible-slides: 4;
		--ctc-dot-slides-per-group: 4;
	}
}

@media (min-width: 1300px) {
	.clinical-team-carousel-scope {
		/* Desde 1300px: 5 items; un dot cada 5 slides */
		--ctc-desktop-visible-slides: 5;
		--ctc-dot-slides-per-group: 5;
	}
}

.clinical-team-carousel-scope .clinical-team-location__carousel-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	width: 100%;
	margin-bottom: 16px;
}

.clinical-team-carousel-scope .clinical-team-carousel__toolbar-spacer {
	flex: 1 1 auto;
	min-width: 0;
}

.clinical-team-carousel-scope .clinical-team-carousel-container.contenedor {
	overflow: visible;
	padding-left: 0;
	padding-right: 0;
}

.clinical-team-carousel-scope .clinical-team-swiper-block {
	position: relative;
	overflow: visible;
	margin-left: var(--contenedor-padding);
	margin-right: var(--contenedor-padding);
	clip-path: inset(0 -100vw 0 calc(-1 * var(--ctc-clip-bleed-start)));
}

.clinical-team-carousel-scope .clinical-team-swiper {
	overflow: visible;
	padding-bottom: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.clinical-team-carousel-scope .clinical-team-swiper .swiper-slide {
	width: var(--ctc-slide-w);
	height: var(--ctc-slide-h);
	flex-shrink: 0;
}

@media (min-width: 768px) {
	.clinical-team-carousel-scope .clinical-team-swiper .swiper-slide {
		width: calc(100% / var(--ctc-desktop-visible-slides));
		box-sizing: border-box;
		min-width: 0;
	}
}

.clinical-team-carousel-scope .clinical-team-card {
	width: 100%;
	height: 100%;
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

/* bn=true en get_template_part: foto en B/N (fondo inline; overlay y texto sin filtro) */
.clinical-team-carousel-scope .clinical-team-carousel-only--bn .clinical-team-card {
	isolation: isolate;
}

.clinical-team-carousel-scope .clinical-team-carousel-only--bn .clinical-team-card::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image: inherit;
	background-size: inherit;
	background-position: inherit;
	background-repeat: inherit;
	filter: grayscale(1);
	-webkit-filter: grayscale(1);
}

.clinical-team-carousel-scope .clinical-team-card__overlay {
	position: absolute;
	inset: 0;
	/* to top: oscuro abajo; banda un poco más baja y corta */
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.7) 0%,
		rgba(0, 0, 0, 0.42) 16%,
		rgba(0, 0, 0, 0.08) 32%,
		rgba(0, 0, 0, 0) 44%
	);
	z-index: 1;
	pointer-events: none;
}

.clinical-team-carousel-scope .clinical-team-card__content {
	position: relative;
	z-index: 2;
	padding: 28px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	color: #fff;
}

.clinical-team-carousel-scope .clinical-team-card__title,
.clinical-team-carousel-scope .clinical-team-card__cargo,
.clinical-team-carousel-scope .clinical-team-card__ubicacion {
	margin-bottom: 12px;
	color: #fff;
}

.clinical-team-carousel-scope .clinical-team-card__title {
	text-transform: none;
}

.clinical-team-carousel-scope .clinical-team-card__excerpt {
	color: #fff;
}

.clinical-team-carousel-scope .clinical-team-carousel__navigation {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 16px;
	margin-inline-start: auto;
}

.clinical-team-carousel-scope .clinical-team-carousel__arrow {
	width: auto;
	height: auto;
	border: none;
	background: transparent;
	color: var(--body-text);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: opacity 0.3s ease;
}

.clinical-team-carousel-scope .clinical-team-carousel__arrow:hover {
	opacity: 0.7;
}

.clinical-team-carousel-scope .clinical-team-carousel__arrow.swiper-button-disabled,
.clinical-team-carousel-scope .clinical-team-carousel__arrow.is-disabled,
.clinical-team-carousel-scope .clinical-team-carousel__arrow[disabled],
.clinical-team-carousel-scope .clinical-team-carousel__arrow[aria-disabled='true'] {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

.clinical-team-carousel-scope .clinical-team-carousel__arrow svg {
	width: 32px;
	height: 32px;
}

body.rtl .clinical-team-carousel-scope .clinical-team-carousel__arrow svg,
html[dir='rtl'] .clinical-team-carousel-scope .clinical-team-carousel__arrow svg,
html[lang='ar'] .clinical-team-carousel-scope .clinical-team-carousel__arrow svg {
	transform: rotate(180deg);
}

.clinical-team-carousel-scope .clinical-team-carousel__pagination {
	position: relative;
	z-index: 1;
	flex-shrink: 0;
	margin-top: 24px;
	display: flex !important;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	min-height: 14px;
	opacity: 1 !important;
	visibility: visible !important;
}

.clinical-team-carousel-scope .clinical-team-carousel__pagination .swiper-pagination {
	width: 100% !important;
	text-align: left !important;
	position: relative !important;
	left: 0 !important;
	right: auto !important;
	transform: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-start !important;
	align-items: center;
	gap: 12px;
	pointer-events: auto !important;
	touch-action: manipulation;
	visibility: visible !important;
	opacity: 1 !important;
}

.clinical-team-carousel-scope .clinical-team-carousel__pagination .swiper-pagination.swiper-pagination-lock,
.clinical-team-carousel-scope .clinical-team-carousel__pagination .swiper-pagination.swiper-pagination-hidden {
	display: flex !important;
}

.clinical-team-carousel-scope .clinical-team-carousel__pagination .swiper-pagination-bullet {
	position: relative;
	width: var(--ctc-bullet) !important;
	height: var(--ctc-bullet) !important;
	min-width: var(--ctc-bullet) !important;
	min-height: var(--ctc-bullet) !important;
	max-width: var(--ctc-bullet) !important;
	max-height: var(--ctc-bullet) !important;
	flex: 0 0 var(--ctc-bullet);
	display: block;
	cursor: default;
	pointer-events: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background-color: transparent !important;
	opacity: 1;
	border-radius: 50%;
	border: none;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	transition: margin var(--ctc-dur) var(--ctc-ease);
}

.clinical-team-carousel-scope .clinical-team-carousel__pagination .swiper-pagination-bullet::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: var(--ctc-bullet);
	height: var(--ctc-bullet);
	border-radius: 50%;
	background-color: var(--extra-light-grey);
	transition:
		width var(--ctc-dur) var(--ctc-ease),
		border-radius var(--ctc-dur) var(--ctc-ease),
		background-color var(--ctc-dur) var(--ctc-ease);
	will-change: width, border-radius, background-color;
	pointer-events: none;
}

.clinical-team-carousel-scope .clinical-team-carousel__pagination .swiper-pagination-bullet-active {
	background-color: transparent !important;
	margin-left: 7px !important;
	margin-right: 7px !important;
}

.clinical-team-carousel-scope .clinical-team-carousel__pagination .swiper-pagination-bullet-active::before {
	width: 24px;
	height: var(--ctc-bullet);
	border-radius: 5px;
	background-color: var(--dark-black);
}

@media (max-width: 767px) {
	.clinical-team-carousel-scope {
		--ctc-slide-w: 350px;
		/* Sigue 1 slide visible; menos bullets (agrupa slides por dot) */
		--ctc-dot-slides-per-group: 3;
	}

	.clinical-team-carousel-scope .clinical-team-swiper-block {
		clip-path: none;
	}

	.clinical-team-carousel-scope .clinical-team-swiper {
		overflow: hidden;
		position: relative;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		touch-action: pan-x pinch-zoom;
	}

	.clinical-team-carousel-scope .clinical-team-swiper .swiper-wrapper {
		overflow: visible;
	}

	/* Solo flechas + spacer; en móvil el swipe sustituye la navegación */
	.clinical-team-carousel-scope .clinical-team-location__carousel-header {
		display: none !important;
	}

	.clinical-team-carousel-scope .clinical-team-carousel-container {
		display: block !important;
	}
}

/* Cabecera “about” fuera del swiper: wrap con max-width 50% en desktop (marcado en plantilla). */
.clinical-team-carousel-scope .clinical-team-location__header .clinical-team-location__header-text-wrap {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	.clinical-team-carousel-scope .clinical-team-location__header .clinical-team-location__header-text-wrap {
		max-width: 50%;
	}
}
