/* Scoped to Elementor widget — Swiper + physician listing cards */

.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__root {
	--pulsetcm-physician-carousel-card-gap: 16px;
	--pulsetcm-physician-carousel-card-radius: 12px;
	position: relative;
}

.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__swiper {
	width: 100%;
	overflow: hidden;
	padding-bottom: 3rem;
}

.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__swiper.pulsetcm-physicians-carousel__swiper--no-dots {
	padding-bottom: 0;
}

.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__swiper .swiper-slide {
	height: auto;
	box-sizing: border-box;
}

/* Slide shell: radius from Elementor without changing card PHP */
.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__slide-inner {
	border-radius: var(--pulsetcm-physician-carousel-card-radius, 12px);
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__slide-inner .member-box {
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
	/* Parity with listing cards (p-1) when grid classes are omitted in carousel slides */
	padding: 0.25rem;
}

.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__slide-inner .mp-holder.d-flex {
	flex: 1 1 auto;
	min-height: 0;
}

.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__slide-inner .pulse-member-photo.card {
	flex: 1 1 auto;
	min-height: 0;
}

/* Style 2 listing parity (matches .elementor-widget-pulsetcm-physician-posts) */
.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-elementor-physician-card--style2.pulse-members-wrap .member-box {
	padding: 0.5rem 1rem !important;
}

.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-elementor-physician-card--style2.pulse-members-wrap .pulse-member-description {
	padding: 1rem !important;
}

/* Pagination */
.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__swiper .swiper-pagination.pulsetcm-physicians-carousel__pagination {
	bottom: 0 !important;
	left: 0;
	width: 100%;
	z-index: 12;
	pointer-events: auto;
	padding-top: 0.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__swiper .swiper-pagination-bullet {
	box-sizing: border-box;
	cursor: pointer;
	pointer-events: auto;
	opacity: 0.45;
	margin: 0 !important;
	/* Min 24×24px tap target; visible dot size from Elementor (--pulsetcm-carousel-pagination-dot-visual). */
	--pulsetcm-carousel-dot-v: var(--pulsetcm-carousel-pagination-dot-visual, 8px);
	width: max(24px, var(--pulsetcm-carousel-dot-v)) !important;
	height: max(24px, var(--pulsetcm-carousel-dot-v)) !important;
	min-width: max(24px, var(--pulsetcm-carousel-dot-v));
	min-height: max(24px, var(--pulsetcm-carousel-dot-v));
	padding: calc((max(24px, var(--pulsetcm-carousel-dot-v)) - var(--pulsetcm-carousel-dot-v)) / 2);
	background-clip: content-box;
	border-radius: 50%;
}

.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__swiper .swiper-pagination-bullet-active {
	opacity: 1;
}

/* Nav arrows */
.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__swiper .swiper-button-prev,
.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__swiper .swiper-button-next {
	top: 40%;
	width: auto;
	height: auto;
	min-width: 2.25rem;
	min-height: 2.25rem;
	margin-top: 0;
	color: inherit;
	z-index: 11;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__swiper .swiper-button-prev::after,
.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__swiper .swiper-button-next::after {
	display: inline-block;
	font-size: var(--pulsetcm-pc-nav-arrow-size, 18px);
	width: var(--pulsetcm-pc-nav-arrow-size, 18px);
	height: var(--pulsetcm-pc-nav-arrow-size, 18px);
	line-height: var(--pulsetcm-pc-nav-arrow-size, 18px);
	text-align: center;
	font-weight: 700;
}

.elementor-widget-pulsetcm-physicians-carousel .pulsetcm-physicians-carousel__swiper .swiper-button-disabled {
	opacity: 0.25;
}
