.tp-flc-slider-viewport {
  overflow-x: var(--tp-flc-overflow, auto);
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: var(--tp-flc-snap, x mandatory);
  /* Visible scrollbar — thin, neutral, sits below the cards */
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.3) rgba(0, 0, 0, 0.07);
  padding-bottom: var(--tp-flc-bottom-padding, 0.75rem);
}

.tp-flc-slider-viewport::-webkit-scrollbar {
  height: 4px;
}
.tp-flc-slider-viewport::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.07);
  border-radius: 2px;
}
.tp-flc-slider-viewport::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.3);
  border-radius: 2px;
}


.tp-flc-slider-track {
  display: grid;
  grid-auto-flow: var(--tp-flc-flow, column);
  grid-auto-columns: var(--tp-flc-auto-columns, 240px);
  grid-template-columns: var(--tp-flc-columns, none);
  grid-template-rows: var(--tp-flc-rows, 240px);
  gap: 1.5rem;
  width: var(--tp-flc-width, max-content);
  padding: 1rem 0;
}

@media (min-width: 640px) {
  .tp-flc-slider-track {
    grid-auto-columns: var(--tp-flc-auto-columns, clamp(140px, 35vw, 240px));
    grid-template-rows: var(--tp-flc-rows, repeat(2, clamp(140px, 35vw, 240px)));
  }
}

[data-acf-block-name="acf/features-list-cards"] .tp-card-reveal {
  scroll-snap-align: var(--tp-flc-snap-align, start);
}

[data-acf-block-name="acf/features-list-cards"] .tp-card-reveal,
[data-acf-block-name="acf/features-list-cards"] .tp-flip-container {
  width: 100%;
  height: var(--tp-flc-card-height, 100%);
  aspect-ratio: var(--tp-flc-card-aspect, auto);
}

/* Scope grid activation to each instance's calculated column count. */
@media (min-width: 640px) {
  .tp-flc-slider-viewport[data-flc-desktop-cols="1"],
  .tp-flc-slider-viewport[data-flc-desktop-cols="2"] {
    --tp-flc-overflow: visible;
    --tp-flc-snap: none;
    --tp-flc-bottom-padding: 0;
    --tp-flc-flow: row;
    --tp-flc-auto-columns: auto;
    --tp-flc-rows: auto;
    --tp-flc-width: auto;
    --tp-flc-snap-align: none;
    --tp-flc-card-height: auto;
    --tp-flc-card-aspect: 1 / 1;
  }
  .tp-flc-slider-viewport[data-flc-desktop-cols="1"] { --tp-flc-columns: repeat(1, minmax(0, 1fr)); }
  .tp-flc-slider-viewport[data-flc-desktop-cols="2"] { --tp-flc-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 768px) {
  .tp-flc-slider-viewport[data-flc-desktop-cols="3"] {
    --tp-flc-overflow: visible;
    --tp-flc-snap: none;
    --tp-flc-bottom-padding: 0;
    --tp-flc-flow: row;
    --tp-flc-auto-columns: auto;
    --tp-flc-columns: repeat(3, minmax(0, 1fr));
    --tp-flc-rows: auto;
    --tp-flc-width: auto;
    --tp-flc-snap-align: none;
    --tp-flc-card-height: auto;
    --tp-flc-card-aspect: 1 / 1;
  }
}

@media (min-width: 1024px) {
  .tp-flc-slider-viewport[data-flc-desktop-cols="4"] {
    --tp-flc-overflow: visible;
    --tp-flc-snap: none;
    --tp-flc-bottom-padding: 0;
    --tp-flc-flow: row;
    --tp-flc-auto-columns: auto;
    --tp-flc-columns: repeat(4, minmax(0, 1fr));
    --tp-flc-rows: auto;
    --tp-flc-width: auto;
    --tp-flc-snap-align: none;
    --tp-flc-card-height: auto;
    --tp-flc-card-aspect: 1 / 1;
  }
}

@media (min-width: 1376px) {
  .tp-flc-slider-viewport[data-flc-desktop-cols="5"] {
    --tp-flc-overflow: visible;
    --tp-flc-snap: none;
    --tp-flc-bottom-padding: 0;
    --tp-flc-flow: row;
    --tp-flc-auto-columns: auto;
    --tp-flc-columns: repeat(5, minmax(0, 1fr));
    --tp-flc-rows: auto;
    --tp-flc-width: auto;
    --tp-flc-snap-align: none;
    --tp-flc-card-height: auto;
    --tp-flc-card-aspect: 1 / 1;
  }
}

[data-acf-block-name="acf/features-list-cards"] .tp-flip-front,
[data-acf-block-name="acf/features-list-cards"] .tp-flip-back {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  transition: transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
}

[data-acf-block-name="acf/features-list-cards"] .tp-flip-container.tp-flip-flipped .tp-flc-hint {
  opacity: 0;
}

[data-acf-block-name="acf/features-list-cards"] .tp-flip-container {
  transition: box-shadow 0.2s ease;
}
[data-acf-block-name="acf/features-list-cards"] .tp-flip-container:hover:not(:active):not(:focus):not(.tp-flip-animating) {
box-shadow: 0 2px 4px 0 rgba(26, 32, 46, .3)
}

[data-acf-block-name="acf/features-list-cards"] .tp-flc-hint {
  transition: opacity 0.3s ease;
}

[data-acf-block-name="acf/features-list-cards"] .tp-flip-back {
  visibility: hidden;
  transition: transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1),
              visibility 0s linear 0.3s;
}

[data-acf-block-name="acf/features-list-cards"] .tp-flip-container.tp-flip-flipped .tp-flip-back {
  visibility: visible;
  transition: transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1),
              visibility 0s linear 0s;
}

[data-acf-block-name="acf/features-list-cards"] .tp-flip-container.tp-flip-flipped .tp-flip-front {
  visibility: hidden;
  transition: transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1),
              visibility 0s linear 0.3s;
}

