/* TILT3D CSS — поддержка 3D-трансформаций для всех карточек с tilt */

/* Родительская секция хранит 3D контекст */
#services, #cases, #process, #about, #why, #contact, #tc-effects, #tc-arch, #tc-mob, #stats, #cta-banner, #tech {
  perspective: 1200px;
  transform-style: flat;
}

/* Карточки с tilt — 3D контекст для translateZ */
[data-tilt] {
  transform-style: preserve-3d;
  transition: transform 0.1s ease-out, box-shadow 0.3s;
  will-change: transform;
}

/* Усиленная тень когда карточка "поднята" */
[data-tilt]:hover {
  box-shadow:
    0 20px 50px rgba(0,0,0,0.35),
    0 10px 24px rgba(0,229,255,0.15),
    inset 0 1px 0 rgba(255,255,255,0.22),
    inset 0 -1px 0 rgba(0,0,0,0.18);
}

/* Ребёнки карточки — легкий parallax: всплывают над фоном */
[data-tilt] > *:not([data-tilt]) {
  transform: translateZ(20px);
  transform-style: preserve-3d;
}

/* Иконки/заголовки в карточках — глубже (ближе к нам) */
.svc-card i, .svc-card .svc-icon, .svc-card h3,
.case-card h3, .case-card .case-icon,
.p-step .p-icon-wrap, .p-step h3,
.why-item i, .why-item h3,
.edu-card .edu-ic, .edu-card h3,
.tc-fx i, .tc-fx h3,
.stat-item .stat-n {
  transform: translateZ(40px);
}

/* Fallback: touch-устройства без гироскопа — убираем трансформы после tap */
@media (hover: none) {
  [data-tilt] > *:not([data-tilt]) { transform: none; }
  .svc-card i, .svc-card .svc-icon, .svc-card h3,
  .case-card h3, .case-card .case-icon,
  .p-step .p-icon-wrap, .p-step h3,
  .why-item i, .why-item h3,
  .edu-card .edu-ic, .edu-card h3,
  .tc-fx i, .tc-fx h3,
  .stat-item .stat-n { transform: none; }
}

/* LOW tier — отключаем translateZ глубину, оставляем только rotate */
.perf-low [data-tilt] > *:not([data-tilt]) { transform: none; }
.perf-low [data-tilt]:hover { box-shadow: 0 10px 24px rgba(0,0,0,0.25); }

/* prefers-reduced-motion — никаких 3D */
@media (prefers-reduced-motion: reduce) {
  [data-tilt], [data-tilt]:hover {
    transform: none !important; transform-style: flat;
  }
  [data-tilt] > * { transform: none !important; }
}
