/* MakerWorldSection — título + carrossel cilíndrico 3D (desktop) / faixas contínuas (mobile/tablet) */
.mw {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--Section-Gap-1);
  padding-top: var(--Section-Gap-7);
  overflow: hidden;
}
.mw .title { margin-bottom: var(--Content-Gap-7); }
@media (min-width: 768px) { .mw .sec-title.pad-m { max-width: 672px; } }
@media (min-width: 1025px) { .mw .sec-title.pad-m { max-width: 842px; } }
@media (min-width: 1440px) { .mw .sec-title.pad-m { max-width: 960px; } }
.mw__features {
  width: 100%; margin: 0 0 var(--Content-Gap-8);
  font-size: var(--Title-2-Size); line-height: var(--Title-2-Line-Height); font-weight: 700;
  color: var(--a2l-color);
}
.mw__features span { white-space: nowrap; }
.mw__btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: var(--Content-Gap-4) var(--Content-Gap-8);
  border-radius: 1000px;
  background: var(--a2l-color-dark); color: #fff;
  font-size: var(--Button-1-Size); line-height: var(--Button-1-Line-Height); font-weight: 400;
  white-space: nowrap; transition: opacity .2s;
}
.mw__btn:hover { opacity: .85; }

/* ---- carrossel 3D (≥1025px) ---- */
.mw__stage {
  display: none; position: relative; width: 100vw; height: 750px;
  transform-style: preserve-3d;
}
.mw__stage::before, .mw__stage::after {
  content: ""; position: absolute; top: -20px; bottom: -20px; width: 0; z-index: 5;
  transform: translateZ(9999px); pointer-events: none;
}
.mw__stage::before { left: 0; }
.mw__stage::after { right: 0; }
@media (min-width: 1025px) { .mw__stage { display: block; transform: scale(.825); height: 618.75px; } }
@media (min-width: 1440px) { .mw__stage { transform: none; height: 750px; } }
@media (min-width: 1900px) {
  .mw__stage::before, .mw__stage::after { width: calc(50vw - 750px); }
  .mw__stage::before { background: linear-gradient(to right, var(--page-bg), var(--page-bg) calc(100% - 198px), transparent); }
  .mw__stage::after { background: linear-gradient(to left, var(--page-bg), var(--page-bg) calc(100% - 198px), transparent); }
}
.mw__track {
  position: relative; width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  transform-style: preserve-3d; will-change: transform;
  cursor: grab; user-select: none; touch-action: pan-y;
}
.mw__track.is-dragging { cursor: grabbing; }
.mw__arm {
  --slide-w: 455.023px; --slide-h: 647.433px; --arm-w: 2255.42px;
  position: absolute; left: 50%; top: 50%;
  width: var(--arm-w); height: var(--slide-h);
  margin-left: calc(var(--arm-w) / -2); margin-top: calc(var(--slide-h) / -2);
  display: flex; justify-content: space-between; align-items: center;
  transform-style: preserve-3d;
}
.mw__slide {
  width: var(--slide-w); height: var(--slide-h); flex-shrink: 0;
  backface-visibility: hidden; -webkit-backface-visibility: hidden;
  overflow: hidden; border-radius: 16px;
}
.mw__slide img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; -webkit-user-drag: none; }

/* ---- faixas contínuas (<1025px) ---- */
.mw__marquee { width: 100%; display: flex; flex-direction: column; gap: var(--Content-Gap-3); overflow: hidden; }
.mw__row { display: flex; gap: var(--Content-Gap-3); width: max-content; animation: mw-left 30s linear infinite; }
.mw__row--rev { animation-name: mw-right; }
.mw__item { width: 241px; height: 149px; flex-shrink: 0; overflow: hidden; }
.mw__item img { width: 100%; height: 100%; object-fit: cover; }
@keyframes mw-left  { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes mw-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }
.reduce-motion .mw__row { animation-play-state: paused; }
@media (min-width: 1025px) { .mw__marquee { display: none; } }
