/**
 * Farmas / Vietgraine Team Slider
 */

.elementor-widget-team-slider-widget .groser-team-slider {
	--team-accent: #2d472c;
	--team-gap: 30px;
	--team-slides-count: 3;
	--team-overlay-size: 78%;
	--team-overlay-bg: #8bb83a;
	--team-overlay-transition: 0.35s;
	--team-image-scale-hover: 1;
	--team-bar-width: 48px;
	--team-bar-height: 4px;
	--team-bar-gap: 10px;
	--team-bar-inactive: #d0d0d0;
	width: 100%;
	box-sizing: border-box;
	padding: 20px 0;
}

.elementor-widget-team-slider-widget .groser-team-slider .team-title {
	margin: 0 0 45px;
	text-align: center;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 700;
	line-height: 1.2;
	color: var(--team-accent);
}

.elementor-widget-team-slider-widget .groser-team-slider .slider-wrap {
	overflow: hidden;
}

.elementor-widget-team-slider-widget .groser-team-slider .slider-track {
	display: flex;
	gap: var(--team-gap);
	transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
	will-change: transform;
}

.elementor-widget-team-slider-widget .groser-team-slider .card {
	flex: 0 0 calc((100% - (var(--team-gap) * (var(--team-slides-count) - 1))) / var(--team-slides-count));
	min-width: calc((100% - (var(--team-gap) * (var(--team-slides-count) - 1))) / var(--team-slides-count));
	position: relative;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	border-radius: 0;
	background: #f5f5f5;
}

.elementor-widget-team-slider-widget .groser-team-slider .card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--team-overlay-transition) ease;
}

.elementor-widget-team-slider-widget .groser-team-slider .card:hover img {
	transform: scale(var(--team-image-scale-hover));
}

.elementor-widget-team-slider-widget .groser-team-slider .card-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--team-overlay-transition) ease;
}

.elementor-widget-team-slider-widget .groser-team-slider .card:hover .card-overlay,
.elementor-widget-team-slider-widget .groser-team-slider .card:focus-within .card-overlay {
	opacity: 1;
	pointer-events: auto;
}

.elementor-widget-team-slider-widget .groser-team-slider .card-overlay-inner {
	width: var(--team-overlay-size);
	max-width: calc(100% - 24px);
	aspect-ratio: 1;
	background: var(--team-overlay-bg);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 20px 16px;
	box-sizing: border-box;
	transform: scale(0.9);
	opacity: 0;
	transition: transform var(--team-overlay-transition) ease, opacity var(--team-overlay-transition) ease;
}

.elementor-widget-team-slider-widget .groser-team-slider .card:hover .card-overlay-inner,
.elementor-widget-team-slider-widget .groser-team-slider .card:focus-within .card-overlay-inner {
	transform: scale(1);
	opacity: 1;
}

.elementor-widget-team-slider-widget .groser-team-slider .overlay-name {
	color: #ffffff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 6px;
}

.elementor-widget-team-slider-widget .groser-team-slider .overlay-role {
	color: rgba(255, 255, 255, 0.92);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-weight: 500;
	line-height: 1.3;
}

.elementor-widget-team-slider-widget .groser-team-slider .overlay-socials {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 16px;
}

.elementor-widget-team-slider-widget .groser-team-slider .overlay-socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.18);
	transition: background-color 0.3s ease, transform 0.3s ease;
	text-decoration: none;
}

.elementor-widget-team-slider-widget .groser-team-slider .overlay-socials a:hover,
.elementor-widget-team-slider-widget .groser-team-slider .overlay-socials a:focus-visible {
	background: #ffffff;
	transform: translateY(-2px);
	outline: none;
}

.elementor-widget-team-slider-widget .groser-team-slider .overlay-socials a:hover .icon,
.elementor-widget-team-slider-widget .groser-team-slider .overlay-socials a:focus-visible .icon {
	stroke: var(--team-accent);
	fill: var(--team-accent);
}

.elementor-widget-team-slider-widget .groser-team-slider .icon {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: #ffffff;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: stroke 0.3s ease, fill 0.3s ease;
}

.elementor-widget-team-slider-widget .groser-team-slider .gr-team-dots {
	display: flex;
	gap: var(--team-bar-gap);
	justify-content: center;
	align-items: center;
	margin-top: 35px;
	width: 100%;
}

.elementor-widget-team-slider-widget .groser-team-slider .gr-team-bar {
	width: var(--team-bar-width);
	height: var(--team-bar-height);
	background: var(--team-bar-inactive);
	border: none;
	border-radius: 0;
	cursor: pointer;
	padding: 0;
	margin: 0;
	outline: none;
	transition: background-color 0.35s ease, opacity 0.35s ease;
	display: block;
}

.elementor-widget-team-slider-widget .groser-team-slider .gr-team-bar.active {
	background: var(--team-accent);
}

.elementor-widget-team-slider-widget .groser-team-slider .gr-team-bar:hover,
.elementor-widget-team-slider-widget .groser-team-slider .gr-team-bar:focus-visible {
	opacity: 0.85;
}

@media (max-width: 767px) {
	.elementor-widget-team-slider-widget .groser-team-slider .team-title {
		margin-bottom: 32px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.elementor-widget-team-slider-widget .groser-team-slider .slider-track,
	.elementor-widget-team-slider-widget .groser-team-slider .card img,
	.elementor-widget-team-slider-widget .groser-team-slider .card-overlay,
	.elementor-widget-team-slider-widget .groser-team-slider .card-overlay-inner {
		transition: none !important;
	}
}
