/* Master Move — cards grid + mobile slider (breakpoint from Elementor data attr) */
.mm-cards {
  --mm-cards-cols: 3;
  width: 100%;
  max-width: 100%;
}
.mm-cards__track {
  display: grid;
  grid-template-columns: repeat(var(--mm-cards-cols), minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}
.mm-cards__slide {
  min-width: 0;
  height: 100%;
}
.mm-cards__slide > .mm-price,
.mm-cards__slide > .mm-person,
.mm-cards__slide > .mm-step,
.mm-cards__slide > .mm-case,
.mm-cards__slide > .mm-study,
.mm-cards__slide > a.mm-case {
  height: 100%;
}
.mm-cards__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.15rem;
}
.mm-cards__controls[hidden] {
  display: none !important;
}
.mm-cards__controls--no-arrows .mm-cards__prev,
.mm-cards__controls--no-arrows .mm-cards__next {
  display: none;
}
.mm-cards__controls--no-dots .mm-cards__dots {
  display: none;
}
.mm-cards__prev,
.mm-cards__next {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  border: 1px solid var(--mm-line-soft, rgba(255, 255, 255, 0.12));
  background: var(--mm-charcoal, #141414);
  color: var(--mm-cream, #f4f0ea);
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}
.mm-cards__prev:hover,
.mm-cards__next:hover {
  border-color: var(--mm-orange, #ff4d00);
  color: var(--mm-orange, #ff4d00);
}
.mm-cards__dots {
  display: flex;
  gap: 0.4rem;
  align-items: center;
}
.mm-cards__dot {
  width: 0.5rem;
  height: 0.5rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.28);
  cursor: pointer;
}
.mm-cards__dot.is-active {
  width: 1.15rem;
  background: var(--mm-orange, #ff4d00);
}

/* Slider mode (toggled by JS when width <= Elementor breakpoint) */
.mm-cards.is-slider .mm-cards__track {
  display: flex;
  gap: 0.85rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0.25rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 0.25rem;
  touch-action: pan-x;
}
.mm-cards.is-slider .mm-cards__track::-webkit-scrollbar {
  display: none;
}
.mm-cards.is-slider .mm-cards__slide {
  flex: 0 0 min(86vw, 22rem);
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.mm-cards.mm-cards--pricing.is-slider .mm-cards__slide {
  flex-basis: min(88vw, 20.5rem);
}
.mm-cards.is-slider .mm-price--featured {
  transform: none;
}
.mm-cards.mm-cards--studies.is-slider .mm-cards__slide {
  flex-basis: min(82vw, 18rem);
}
.mm-cards.mm-cards--portfolio.is-slider .mm-cards__slide {
  flex-basis: min(85vw, 20rem);
}
.mm-cards.mm-cards--steps.is-slider .mm-cards__slide {
  flex-basis: min(80vw, 16rem);
}

/* Nested grids inside slider wrappers should not fight the track */
.mm-cards.mm-team,
.mm-cards.mm-pricing,
.mm-cards.mm-steps,
.mm-cards.mm-grid-2,
.mm-cards.mm-grid-3,
.mm-cards.mm-grid-4 {
  display: block;
  width: 100%;
}

/* Why Master Move — value cards fill the section width */
.mm-cards.mm-grid-2.mm-cards--values:not(.is-slider) .mm-cards__track {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
}
.mm-cards.mm-cards--values .mm-cards__slide > .mm-card {
  height: 100%;
  min-height: 11.5rem;
}
.mm-cards.mm-cards--values.is-slider .mm-cards__slide {
  flex-basis: min(78vw, 17.5rem);
}

/* Services studies — continuous orange bar like the static index.html */
.mm-cards.mm-grid-4.mm-cards--studies:not(.is-slider) .mm-cards__track {
  gap: 1px;
  background: rgba(255, 77, 0, 0.18);
  border: 1px solid rgba(255, 77, 0, 0.18);
  align-items: stretch;
}
.mm-cards.mm-cards--studies:not(.is-slider) .mm-cards__slide > .mm-study {
  height: auto;
  min-height: 100%;
}
.mm-cards.mm-cards--studies .mm-cards__slide {
  overflow: visible;
}
.mm-cards.mm-grid-2:not(.is-slider) .mm-cards__track {
  gap: 1rem;
}
