.effector-mosaic-cards {
	--effector-grid-cols: 3;
	--effector-grid-auto-rows: 220px;
	--effector-grid-gap: 20px;
	--effector-card-min-height: 0px;
	--effector-card-text-align: left;
	--effector-card-v-align: flex-end;
	position: relative;
}

.effector-mosaic-cards__track {
	position: relative;
}

.effector-mosaic-cards:not(.is-carousel) .effector-mosaic-cards__wrapper {
	display: grid;
	grid-template-columns: repeat(var(--effector-grid-cols), minmax(0, 1fr));
	grid-auto-rows: var(--effector-grid-auto-rows);
	gap: var(--effector-grid-gap);
	transform: none !important;
	transition: none !important;
	width: 100%;
}

.effector-mosaic-cards:not(.is-carousel) .swiper-slide {
	width: auto !important;
	height: auto !important;
	margin-right: 0 !important;
}

.effector-mosaic-cards:not(.is-carousel) .effector-card {
	min-height: var(--effector-card-min-height);
	grid-column: span var(--effector-col-span, 1);
	grid-row: span var(--effector-row-span, 1);
}

.effector-card {
	position: relative;
	overflow: hidden;
	border-radius: inherit;
}

.effector-card__bg,
.effector-card__bg-hover {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 0;
}

.effector-card__bg-hover {
	opacity: 0;
	z-index: 1;
	transition: opacity 0.25s ease;
}

.effector-card:hover .effector-card__bg-hover {
	opacity: 1;
}

.effector-card__bg-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	opacity: var(--effector-overlay-opacity, 0);
}

.effector-card__bg-overlay--hover {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.25s ease;
}

.effector-card:hover .effector-card__bg-overlay--hover {
	opacity: var(--effector-overlay-hover-opacity, 0);
}

.effector-card__inner {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: var(--effector-card-v-align);
	text-align: var(--effector-card-text-align);
	height: 100%;
}

.effector-card__content {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.effector-card__title {
	margin: 0;
}

.effector-card__pre-title {
	margin: 0;
}

.effector-card__icon-wrapper {
	display: block;
	text-align: inherit;
}

.effector-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}

.effector-card__icon i,
.effector-card__icon svg {
	display: inline-block;
	line-height: 1;
	transition: transform 0.3s;
}

.effector-card__icon svg {
	width: 1em;
	height: 1em;
}

/* Icon View: Default */
.effector-card__icon-wrapper.elementor-view-default .effector-card__icon {
	border: none;
	background: transparent;
}

/* Icon View: Stacked */
.effector-card__icon-wrapper.elementor-view-stacked .effector-card__icon {
	border: none;
}

/* Icon View: Framed */
.effector-card__icon-wrapper.elementor-view-framed .effector-card__icon {
	border-style: solid;
	border-width: 3px;
}

/* Icon Shape: Circle */
.effector-card__icon-wrapper.elementor-shape-circle .effector-card__icon {
	border-radius: 50%;
}

/* Icon Shape: Square */
.effector-card__icon-wrapper.elementor-shape-square .effector-card__icon {
	border-radius: 0;
}

/* Icon Shape: Rounded */
.effector-card__icon-wrapper.elementor-shape-rounded .effector-card__icon {
	border-radius: 10%;
}

.effector-card__description > *:last-child {
	margin-bottom: 0;
}

.effector-card__buttons {
	position: relative;
	z-index: 6;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 10px;
	margin-top: 14px;
}

.effector-card__btn {
	position: relative;
	z-index: 7;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	cursor: pointer;
}

.effector-card__btn.elementor-button {
	border-style: solid;
	border-width: 1px;
	line-height: 1;
	transition: all 0.2s ease;
}

.effector-card__btn .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.effector-card__buttons .effector-card__btn {
	flex: 0 0 auto;
}

.effector-card__btn.elementor-button:focus {
	outline: none;
}

.effector-card__btn.elementor-button:hover {
	text-decoration: none;
}

.effector-mosaic-cards__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	border: none;
	background: transparent;
	padding: 0 !important;
	cursor: pointer;
}

.effector-mosaic-cards__nav--prev {
	left: 10px;
}

.effector-mosaic-cards__nav--next {
	right: 10px;
}

.effector-mosaic-cards__pagination {
	position: relative;
	z-index: 10;
	margin-top: 20px;
}

.effector-card--desc-hover-only .effector-card__description {
	max-height: 0;
	opacity: 0;
	transform: translateY(8px);
	overflow: hidden;
	transition: max-height 0.35s ease, opacity 0.25s ease, transform 0.25s ease;
	will-change: max-height, opacity, transform;
}

.effector-card--desc-hover-only:hover .effector-card__description {
	max-height: var(--effector-desc-max, 0px);
	opacity: 1;
	transform: translateY(0);
}
.effector-card__btn.elementor-button {
	transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
}

/* Equal height only when carousel is active */
.effector-mosaic-cards.is-carousel.effector-mosaic-cards--equal-height .swiper-wrapper {
	display: flex;
	align-items: stretch;
}

.effector-mosaic-cards.is-carousel.effector-mosaic-cards--equal-height .swiper-slide.effector-card {
	display: flex;
	flex-direction: column;
}

.effector-mosaic-cards.is-carousel.effector-mosaic-cards--equal-height .effector-card__inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 100%;
}

/* Equal height in GRID mode (not carousel) */
.effector-mosaic-cards:not(.is-carousel).effector-mosaic-cards--equal-height .effector-mosaic-cards__wrapper {
	grid-auto-rows: 1fr;
}

.effector-mosaic-cards:not(.is-carousel).effector-mosaic-cards--equal-height .effector-card {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.effector-mosaic-cards:not(.is-carousel).effector-mosaic-cards--equal-height .effector-card__inner {
	height: 100%;
	flex: 1;
}

.effector-mosaic-cards .effector-mosaic-cards__nav,
.effector-mosaic-cards .effector-mosaic-cards__pagination{
  display: none;
}

.effector-mosaic-cards.is-carousel-active .effector-mosaic-cards__nav,
.effector-mosaic-cards.is-carousel-active .effector-mosaic-cards__pagination{
  display: flex;
  justify-content: center;
  align-items: center;
}

.effector-mosaic-cards.is-carousel-active .effector-mosaic-cards__pagination{
  display: block; 
}
.effector-mosaic-cards:not(.is-carousel) {
  --e-n-carousel-swiper-slides-gap: var(--effector-grid-gap);
}


@media (max-width: 767px) {
  .effector-card__buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .effector-card__buttons .effector-card__btn {
    width: 100%;
    justify-content: center;
  }
}

@keyframes effectorFadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

.effector-mosaic-cards.effector-grid-fade:not(.is-carousel) .swiper-slide {
  opacity: 0;
  transform: translateY(12px);
}

.effector-mosaic-cards.effector-grid-fade.effector-grid-fade--inview:not(.is-carousel) .swiper-slide {
  animation: effectorFadeUp calc(var(--effector-fade-duration, 600ms)) ease forwards;
  animation-delay: var(--effector-fade-delay, 0ms);
}

.effector-mosaic-cards.is-carousel .swiper-slide {
  opacity: 1;
  transform: none;
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  .effector-mosaic-cards.effector-grid-fade:not(.is-carousel) .swiper-slide,
  .effector-mosaic-cards.effector-grid-fade.effector-grid-fade--inview:not(.is-carousel) .swiper-slide {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
