/**
 * Elementor Carousel Widget Styling
 */

.ecw-carousel-outer-wrapper {
	position: relative;
	width: 100%;
	--ecw-nav-gap: 12px;
	--ecw-nav-offset-x: 20px;
	--ecw-nav-offset-y: 0px;
	--ecw-nav-prev-left: var(--ecw-nav-prev-offset-x, var(--ecw-nav-offset-x, 20px));
	--ecw-nav-prev-right: auto;
	--ecw-nav-prev-top: calc(50% + var(--ecw-nav-prev-offset-y, var(--ecw-nav-offset-y, 0px)));
	--ecw-nav-prev-bottom: auto;
	--ecw-nav-prev-transform: translateY(-50%);
	--ecw-nav-next-left: auto;
	--ecw-nav-next-right: var(--ecw-nav-next-offset-x, var(--ecw-nav-offset-x, 20px));
	--ecw-nav-next-top: calc(50% + var(--ecw-nav-next-offset-y, var(--ecw-nav-offset-y, 0px)));
	--ecw-nav-next-bottom: auto;
	--ecw-nav-next-transform: translateY(-50%);
	--ecw-card-height: 440px;
	--ecw-card-radius: 16px;
	--ecw-details-radius: 12px;
	--ecw-details-padding-top: 24px;
	--ecw-details-padding-right: 24px;
	--ecw-details-padding-bottom: 24px;
	--ecw-details-padding-left: 24px;
	--ecw-details-margin-top: 0px;
	--ecw-details-margin-right: 0px;
	--ecw-details-margin-bottom: 0px;
	--ecw-details-margin-left: 0px;
	--ecw-card-border-width: 4px;
	--ecw-card-border-color: #ffffff;
	--ecw-overlay-bg: #26292c;
	--ecw-overlay-opacity: 0.75;
	--ecw-overlay-blur: 12px;
	--ecw-reveal-bg: #1c1e21;
	--ecw-reveal-opacity: 0.9;
	--ecw-reveal-blur: 16px;
	--ecw-text-base: #ffffff;
	--ecw-text-accent: #92278f;
	--ecw-reveal-text-base: #ffffff;
	--ecw-reveal-text-accent: #fbbf24;
	--ecw-title-size: 20px;
	--ecw-subtitle-size: 11px;
	--ecw-desc-size: 13px;
	--ecw-hover-scale: 1.03;
	--ecw-hover-duration: 0.4s;
	--ecw-bg-duration: 0.6s;
	--ecw-space-between: 24px;
	--ecw-icon-wrapper-size: 44px;
	--ecw-icon-size: 18px;
	--ecw-icon-bg: rgba(255, 255, 255, 0.12);
	--ecw-icon-border-color: rgba(255, 255, 255, 0.15);
	--ecw-icon-border-width: 1px;
	--ecw-icon-radius: 999px;
	--ecw-icon-color: #ffffff;
	--ecw-icon-bg-hover: rgba(255, 255, 255, 0.25);
	--ecw-btn-padding-top: 10px;
	--ecw-btn-padding-right: 20px;
	--ecw-btn-padding-bottom: 10px;
	--ecw-btn-padding-left: 20px;
	--ecw-btn-bg: #92278f;
	--ecw-btn-color: #111111;
	--ecw-btn-border-color: rgba(0, 0, 0, 0);
	--ecw-btn-border-width: 0px;
	--ecw-btn-radius: 8px;
	--ecw-btn-hover-bg: #fbbf24;
	--ecw-btn-hover-color: #111111;
	--ecw-nav-size: 44px;
	--ecw-nav-icon-size: 18px;
	--ecw-nav-bg: rgba(0, 0, 0, 0.4);
	--ecw-nav-bg-hover: rgba(0, 0, 0, 0.7);
	--ecw-nav-color: #ffffff;
	--ecw-nav-color-hover: #ffffff;
	--ecw-nav-border-color: rgba(255, 255, 255, 0);
	--ecw-nav-border-width: 0px;
	--ecw-nav-radius: 999px;
}

.ecw-carousel-swiper {
	width: 100%;
	overflow: hidden;
	position: relative;
	padding-bottom: 25px;
	box-sizing: border-box;
}

.ecw-carousel-swiper .swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: stretch;
	box-sizing: content-box;
}

.ecw-carousel-swiper .swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
}

.ecw-slide-card-container {
	position: relative;
	height: var(--ecw-card-height);
	border-radius: var(--ecw-card-radius);
	overflow: hidden;
	cursor: pointer;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	transform: translateZ(0);
	transition: transform var(--ecw-hover-duration) cubic-bezier(0.16, 1, 0.3, 1), box-shadow var(--ecw-hover-duration) ease;
	border: var(--ecw-card-border-width) solid var(--ecw-card-border-color);
	background: #111;
}

.ecw-slide-card-background {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 1;
	transition: transform var(--ecw-bg-duration) cubic-bezier(0.16, 1, 0.3, 1), filter var(--ecw-bg-duration) ease;
}

.ecw-slide-card-details {
	position: relative;
	z-index: 2;
	padding: var(--ecw-details-padding-top) var(--ecw-details-padding-right) var(--ecw-details-padding-bottom) var(--ecw-details-padding-left);
	margin: var(--ecw-details-margin-top) var(--ecw-details-margin-right) var(--ecw-details-margin-bottom) var(--ecw-details-margin-left);
	border-radius: var(--ecw-details-radius);
	display: flex;
	flex-direction: column;
	border: 1px solid rgba(255, 255, 255, 0.08);
	transition: all var(--ecw-hover-duration) cubic-bezier(0.16, 1, 0.3, 1);
	color: var(--ecw-text-base);
	background-color: color-mix(in srgb, var(--ecw-overlay-bg) calc(var(--ecw-overlay-opacity) * 100%), transparent);
	backdrop-filter: blur(var(--ecw-overlay-blur));
	-webkit-backdrop-filter: blur(var(--ecw-overlay-blur));
}

.ecw-slide-card-container.hover-active .ecw-slide-card-details,
.ecw-slide-card-container.click-active .ecw-slide-card-details {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: var(--ecw-details-margin-top) var(--ecw-details-margin-right) var(--ecw-details-margin-bottom) var(--ecw-details-margin-left);
	border-radius: inherit;
	padding: var(--ecw-details-padding-top) var(--ecw-details-padding-right) var(--ecw-details-padding-bottom) var(--ecw-details-padding-left);
	justify-content: flex-end;
	background-color: color-mix(in srgb, var(--ecw-reveal-bg) calc(var(--ecw-reveal-opacity) * 100%), transparent);
	color: var(--ecw-reveal-text-base);
	backdrop-filter: blur(var(--ecw-reveal-blur));
	-webkit-backdrop-filter: blur(var(--ecw-reveal-blur));
}

.ecw-slide-card-normal-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: 16px;
}

.ecw-slide-text-group {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
}

.ecw-slide-card-initial-subtitle,
.ecw-slide-card-hover-subtitle {
	font-size: var(--ecw-subtitle-size);
	text-transform: uppercase;
	letter-spacing: 1.5px;
	opacity: 0.85;
	font-weight: 500;
	word-break: break-word;
}

.ecw-slide-card-initial-title,
.ecw-slide-card-hover-title {
	margin: 0;
	padding: 0;
	font-weight: 600;
	line-height: 1.25;
	word-break: break-word;
}

.ecw-slide-card-initial-title {
	font-size: var(--ecw-title-size);
	color: var(--ecw-text-accent);
}

.ecw-slide-card-hover-title {
	font-size: calc(var(--ecw-title-size) + 2px);
	color: var(--ecw-reveal-text-accent);
}

.ecw-slide-icon-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--ecw-icon-wrapper-size);
	height: var(--ecw-icon-wrapper-size);
	border-radius: var(--ecw-icon-radius);
	background-color: var(--ecw-icon-bg);
	border: var(--ecw-icon-border-width) solid var(--ecw-icon-border-color);
	flex-shrink: 0;
	color: var(--ecw-icon-color);
	transition: transform var(--ecw-hover-duration) cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.ecw-slide-icon-wrapper svg,
.ecw-slide-icon-wrapper img,
.ecw-slide-icon-wrapper i {
	width: var(--ecw-icon-size);
	height: var(--ecw-icon-size);
	max-width: 100%;
	max-height: 100%;
	background: none !important;
}

.ecw-slide-icon-wrapper i,
.ecw-slide-icon-wrapper i::before {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: var(--ecw-icon-size);
	line-height: 1;
}

.ecw-slide-icon-wrapper.ecw-slide-icon-svg svg,
.ecw-slide-icon-wrapper.ecw-slide-icon-svg i,
.ecw-slide-icon-wrapper.ecw-slide-icon-svg img {
	background: transparent !important;
}

.ecw-slide-icon-wrapper svg,
.ecw-slide-icon-wrapper svg *,
.ecw-slide-icon-wrapper img,
.ecw-slide-icon-wrapper i {
	background: transparent !important;
}

.ecw-slide-icon-wrapper i {
	fill: currentColor;
	color: currentColor;
}

.ecw-slide-icon-wrapper img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ecw-slide-card-expanded-panel {
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	transition: max-height var(--ecw-hover-duration) cubic-bezier(0.16, 1, 0.3, 1), opacity var(--ecw-hover-duration) ease, visibility var(--ecw-hover-duration);
	display: flex;
	flex-direction: column;
}

.ecw-slide-expanded-divider {
	height: 1px;
	background: rgba(255, 255, 255, 0.15);
	margin: 16px 0;
	width: 100%;
}

.ecw-slide-expanded-header {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 12px;
}

.ecw-slide-card-full-desc {
	font-size: var(--ecw-desc-size);
	line-height: 1.5;
	opacity: 0.85;
	margin: 0 0 16px 0;
	color: var(--ecw-reveal-text-base);
}

.ecw-slide-card-action-btn {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--ecw-btn-padding-top) var(--ecw-btn-padding-right) var(--ecw-btn-padding-bottom) var(--ecw-btn-padding-left);
	border-radius: var(--ecw-btn-radius);
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	text-align: center;
	border: var(--ecw-btn-border-width) solid var(--ecw-btn-border-color);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, background-color 0.2s ease, color 0.2s ease;
	background-color: var(--ecw-btn-bg);
	color: var(--ecw-btn-color);
}

.ecw-slide-card-action-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
	filter: brightness(1.1);
	background-color: var(--ecw-btn-hover-bg);
	color: var(--ecw-btn-hover-color);
}

.ecw-slide-card-container.hover-active,
.ecw-slide-card-container.click-active {
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
}

.ecw-slide-card-container.hover-active .ecw-slide-card-expanded-panel,
.ecw-slide-card-container.click-active .ecw-slide-card-expanded-panel {
	max-height: none;
	opacity: 1;
	visibility: visible;
	overflow: visible;
}

.ecw-slide-card-container.hover-active .ecw-slide-card-normal-row,
.ecw-slide-card-container.click-active .ecw-slide-card-normal-row,
.ecw-slide-card-container.hover-active .ecw-slide-expanded-divider,
.ecw-slide-card-container.click-active .ecw-slide-expanded-divider {
	display: none;
}

.ecw-slide-card-container.hover-active .ecw-slide-icon-wrapper,
.ecw-slide-card-container.click-active .ecw-slide-icon-wrapper {
	transform: rotate(90deg);
	background-color: var(--ecw-icon-bg-hover);
}

.ecw-slide-card-container.anim-fade .ecw-slide-card-normal-row {
	transition: opacity 0.3s ease;
}

.ecw-slide-card-container.anim-fade.hover-active .ecw-slide-card-normal-row,
.ecw-slide-card-container.anim-fade.click-active .ecw-slide-card-normal-row {
	display: none;
}

.ecw-slide-card-container.anim-shrink .ecw-slide-card-background {
	transform: scale(1.15);
}

.ecw-slide-card-container.anim-shrink.hover-active .ecw-slide-card-background,
.ecw-slide-card-container.anim-shrink.click-active .ecw-slide-card-background {
	transform: scale(1);
}

.ecw-slide-card-container.anim-grow.hover-active,
.ecw-slide-card-container.anim-grow.click-active {
	transform: translateY(-8px);
}

.ecw-slide-card-container.anim-slide-up .ecw-slide-card-details {
	transform: translateY(12px) translateZ(0);
}

.ecw-slide-card-container.anim-slide-up.hover-active .ecw-slide-card-details,
.ecw-slide-card-container.anim-slide-up.click-active .ecw-slide-card-details {
	transform: translateY(-16px) translateZ(0);
}

.ecw-carousel-outer-wrapper .ecw-swiper-arrow {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	appearance: none;
	-webkit-appearance: none;
	background-image: none !important;
	width: var(--ecw-nav-size);
	height: var(--ecw-nav-size);
	border-radius: var(--ecw-nav-radius);
	background-color: var(--ecw-nav-bg);
	color: var(--ecw-nav-color);
	border: var(--ecw-nav-border-width) solid var(--ecw-nav-border-color);
	backdrop-filter: blur(4px);
	transition: background-color 0.3s, color 0.2s, border-color 0.2s;
	z-index: 50;
	cursor: pointer;
	font-size: 0;
	line-height: 0;
}

.ecw-carousel-outer-wrapper .ecw-swiper-arrow-prev {
	top: var(--ecw-nav-prev-top);
	bottom: var(--ecw-nav-prev-bottom);
	left: var(--ecw-nav-prev-left);
	right: var(--ecw-nav-prev-right);
	transform: var(--ecw-nav-prev-transform);
}

.ecw-carousel-outer-wrapper .ecw-swiper-arrow-next {
	top: var(--ecw-nav-next-top);
	bottom: var(--ecw-nav-next-bottom);
	left: var(--ecw-nav-next-left);
	right: var(--ecw-nav-next-right);
	transform: var(--ecw-nav-next-transform);
}

.ecw-carousel-outer-wrapper .ecw-swiper-arrow::before,
.ecw-carousel-outer-wrapper .ecw-swiper-arrow::after {
	display: none !important;
	content: none !important;
}

.ecw-carousel-outer-wrapper .ecw-swiper-arrow:hover {
	background-color: var(--ecw-nav-bg-hover);
	color: var(--ecw-nav-color-hover);
}

.ecw-carousel-outer-wrapper .ecw-swiper-arrow .ecw-nav-arrow-content {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: var(--ecw-nav-icon-size);
	line-height: 1;
	text-align: center;
	transition: transform 0.2s ease;
	transform: scale(1);
}

.ecw-carousel-outer-wrapper .ecw-swiper-arrow:hover .ecw-nav-arrow-content {
	transform: scale(1.05);
}

.ecw-carousel-outer-wrapper .ecw-swiper-arrow svg,
.ecw-carousel-outer-wrapper .ecw-swiper-arrow i,
.ecw-carousel-outer-wrapper .ecw-swiper-arrow img {
	display: block;
	flex: 0 0 auto;
	width: var(--ecw-nav-icon-size);
	height: var(--ecw-nav-icon-size);
	max-width: 100%;
	max-height: 100%;
	fill: currentColor;
	color: currentColor;
	object-fit: contain;
}

.ecw-carousel-outer-wrapper .ecw-swiper-arrow i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: var(--ecw-nav-icon-size);
	line-height: 1;
}

.ecw-carousel-outer-wrapper .ecw-swiper-arrow i::before {
	display: block;
	line-height: 1;
}

.ecw-swiper-dots .swiper-pagination-bullet {
	background: #ffffff !important;
	opacity: 0.4;
	width: 10px;
	height: 10px;
	transition: opacity 0.3s, transform 0.3s;
}

.ecw-swiper-dots .swiper-pagination-bullet-active {
	opacity: 1 !important;
	transform: scale(1.2);
}
