/* INIX.IN V3.2.1 Side Flicker Fix
   Scope: CSS-only repair for right-edge/mobile flicker caused by animated overflow layers.
   No database/admin changes. */

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

@supports not (overflow-x: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.bg,
.motion-layer {
  max-width: 100vw;
  overflow: hidden;
  contain: paint;
}

.bg::before {
  inset: -6% !important;
  filter: blur(30px) !important;
  will-change: auto !important;
}

.motion-layer {
  left: 0;
  right: 0;
  width: 100vw;
  pointer-events: none;
}

.motion-orb {
  max-width: 100vw;
  will-change: transform;
  transform: translateZ(0);
}

.motion-orb:nth-child(2) {
  left: auto !important;
  right: -72px !important;
}

.motion-orb:nth-child(3) {
  left: auto !important;
  right: -58px !important;
}

.motion-line {
  max-width: min(420px, 88vw);
}

.motion-line:nth-child(6) {
  left: auto !important;
  right: -52px !important;
}

.hero,
.hero-stage,
.stage,
.stage-card,
.availability,
.property-strip,
.listing-grid,
.section,
.wrap,
.container,
main {
  max-width: 100%;
}

@media (max-width: 760px) {
  html,
  body {
    width: 100%;
    overflow-x: hidden;
  }

  .bg::before {
    animation: none !important;
    transform: none !important;
    inset: -3% !important;
    filter: blur(24px) !important;
  }

  .motion-line {
    display: none !important;
  }

  .motion-orb {
    opacity: 0.12 !important;
    animation-duration: 18s !important;
  }

  .motion-orb:nth-child(2),
  .motion-orb:nth-child(3) {
    left: auto !important;
    right: -110px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bg::before,
  .motion-orb,
  .motion-line {
    animation: none !important;
  }
}
