/* =========== © 2025 Centroarts.com - https://deepbot.cloud =========== */

/*! Flickity v2.3.0 https://flickity.metafizzy.co */
.flickity-enabled { position: relative; }
.flickity-enabled:focus { outline: none; }
.flickity-viewport { overflow: hidden; position: relative; height: 100%; }
.flickity-slider { position: absolute; width: 100%; height: 100%; }

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport { cursor: move; cursor: -webkit-grab; cursor: grab; }
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down { cursor: -webkit-grabbing; cursor: grabbing; }

/* ---- flickity-button ---- */
.flickity-button { position: absolute; background: hsla(0, 0%, 100%, 0.75); border: none; color: #333; }
.flickity-button:hover { background: white; cursor: pointer; }
.flickity-button:active { opacity: 0.6; }
.flickity-button:disabled { opacity: 0.3; cursor: auto; pointer-events: none; }
.flickity-button-icon { fill: currentColor; }

/* ---- previous/next buttons ---- */
.flickity-prev-next-button { top: 50%; border-radius: 50%; transform: translateY(-50%); }
.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }
.flickity-rtl .flickity-prev-next-button.previous { left: auto; right: 10px; }
.flickity-rtl .flickity-prev-next-button.next { right: auto; left: 10px; }
.flickity-prev-next-button .flickity-button-icon { position: absolute; left: 20%; top: 20%; width: 60%; height: 60%; }

/* ================ Carousel ================ */
.sect-carousel { overflow: hidden; position: relative; }
.sect-carousel .carousel .flickity-viewport { overflow: visible; }
.sect-carousel .carousel .flickity-page-dots { display: none; }
.sect-carousel .carousel { margin-right: calc(var(--g-card) / -1); }

.carousel:not(.flickity-enabled) { display: flex; gap: var(--g-card); }

.features-img { --w-card: 288px; }
.features-img .carousel:not(.flickity-enabled) .carousel-item { min-width: var(--w-card); }
.features-img .flickity-enabled .carousel-item { width: 100%; max-width: calc(var(--w-card) + var(--g-card)); padding-right: var(--g-card); }

.sect-reviews { --w-card: 900px; }
.sect-reviews .carousel:not(.flickity-enabled) .carousel-item { min-width: var(--w-card); }
.sect-reviews .flickity-enabled .carousel-item {
  width: 90%; max-width: calc(var(--w-card) + var(--g-card)); padding-right: var(--g-card);
  transition: opacity .2s ease;
}
.sect-reviews .flickity-enabled .carousel-item:not(.is-selected) { opacity: .6; }

@media (min-width: 576px) {
  .features-img { --w-card: 360px; }
  .sect-reviews .flickity-enabled .carousel-item { width: 80%; }
}

@media (max-width: 991px) {
	.sect-carousel .flickity-button { display: none !important; }
}
@media (min-width: 992px) {
	.sect-carousel .flickity-button {
    top: calc(50% - 24px); width: 48px; height: 48px; padding: 12px; transform: translate(0, 0); opacity: 1 !important;
		outline: none !important; user-select: none; z-index: 11; color: hsl(var(--c-text)); background: none !important;
	}
  .features-img .flickity-button { top: calc((var(--h-img-card) / 2) - 24px); }
  .sect-carousel .flickity-button::after {
    content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 50%;
    background-color: hsla(var(--cb-carousel), 0.3); transition: transform .2s ease;
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  }
	.sect-carousel .flickity-button.previous { left: 0; margin-left: -24px; }
	.sect-carousel .flickity-button.next { left: calc(100% - var(--g-card) - 24px); }
	.sect-carousel .flickity-button[disabled], .sect-carousel .flickity-button:disabled { visibility: hidden; opacity: 0 !important; }
	.sect-carousel .flickity-button:hover::after { transform: scale(1.05); }
	.sect-carousel .flickity-button:active::after { transform: scale(0.95); }
  .sect-carousel .flickity-button:active .flickity-button-icon { opacity: .7; }

	.sect-carousel .flickity-prev-next-button .flickity-button-icon {
		position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%); width: 24px; height: 24px;
    transition: opacity .2s ease;
	}

  .sect-carousel::after, .sect-carousel::before {
    content: ""; position: absolute; z-index: 10; top: 0; bottom: 0;
    width: 96px; pointer-events: none;
  }
  .sect-carousel::before { left: 0; background-image: linear-gradient(90deg, hsl(var(--c-body)) 0%, hsla(var(--c-body), 0) 100%); }
  .sect-carousel::after { right: 0; background-image: linear-gradient(-90deg, hsl(var(--c-body)) 0%, hsla(var(--c-body), 0) 100%); }
}