/**
 * TVK Layout Fix — один системный скролл + 3D hero brand
 * v1.0 — загружать последним
 */

/* ═══════════════════════════════════════════════════════
   1. Один вертикальный скролл (без «двух бегунков»)
   ═══════════════════════════════════════════════════════ */
html {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

body {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: visible;
  min-height: 100%;
}

body.menu-open {
  overflow: hidden;
}

main,
.page-main,
.site-header,
.site-footer,
.hero-section,
.page-hero,
.page-section,
section,
.container {
  max-width: 100%;
  box-sizing: border-box;
}

main,
.page-main {
  width: 100%;
  overflow-x: clip;
  overflow-y: visible;
}

.hero-section,
.page-hero,
.catalog-section--eng,
.factory-power-section,
.engineering-section {
  overflow-x: clip;
}

/* Full-bleed калькулятор: 100vw даёт второй горизонтальный скролл */
.izc-host--ref {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Внутренние блоки — без вертикального overflow: scroll */
.sys-ticker,
.site-nav,
.lead-form,
.content-card,
.side-card {
  overflow-y: visible;
}

/* ═══════════════════════════════════════════════════════
   2. 3D бренд — только логотип (кольца без наклона блока)
   ═══════════════════════════════════════════════════════ */
.tvk-3d-trigger {
  position: relative;
  overflow: visible !important;
  max-width: 100%;
  transform: none !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}

.tvk-3d-trigger .tvk-3d-card {
  position: relative;
  width: 100%;
  min-height: inherit;
  transform: none !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}

.tvk-brand-stage .pov-brand-center.pov-pipe-center,
.tvk-3d-trigger .pov-brand-center.pov-pipe-center {
  perspective: var(--tvk-logo-persp, 900px);
  perspective-origin: 50% 50%;
  transform-style: preserve-3d;
  transform: translate(-50%, -50%) translateZ(0);
}

.tvk-3d-logo-lift {
  transform-style: preserve-3d;
  transform: translateZ(44px);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  will-change: transform;
  backface-visibility: hidden;
}

.tvk-3d-trigger .pov-brand-logo {
  transform: none;
  animation: none !important;
  transform-origin: 50% 50%;
  will-change: filter;
}

.tvk-3d-trigger .pov-brand-glow {
  transform: translateZ(16px);
  transition: opacity 0.2s ease;
}

.tvk-3d-trigger.is-tilt-active .pov-brand-glow {
  opacity: 1;
}

.hero-visual-premium.pov-host.tvk-3d-trigger:hover {
  transform: none !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  .tvk-3d-trigger .pov-brand-center.pov-pipe-center {
    perspective: none;
  }

  .tvk-3d-logo-lift {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tvk-3d-logo-lift {
    transform: translateZ(0) !important;
  }
}
