/* NovaDent — mobile layout emergency fix (stable URL, no Vite hash)
   Upload to: public/css/site-fix.css
   Linked from layouts/app.blade.php AFTER the main CSS.
*/

html, body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  position: relative !important;
}

#main-content,
.navbar-nova,
.footer,
.section,
.container-xl,
.hero,
.hero-stage,
.hero-content-pad,
.screens-wrap,
.spotlight-row,
.features-band,
.ai-band,
.arch-wrap,
.logo-strip,
.video-frame {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

img, video, iframe, svg, canvas {
  max-width: 100% !important;
  height: auto;
}

/* Force AOS content visible (RTL + overflow leaves opacity:0) */
[data-aos],
[data-aos].aos-animate,
[data-aos^="fade"],
[data-aos^="zoom"],
[data-aos^="slide"] {
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
}

@media (max-width: 991px) {
  html, body, #main-content {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .compare-wrap,
  .workflow-scroller,
  .hero-tabs,
  .device-tabs {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .hero {
    padding-top: 110px !important;
    overflow: hidden !important;
  }

  .hero-glow,
  .float-card {
    display: none !important;
  }

  .hero-stage,
  .screens-wrap,
  #prodFrame {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
  }

  .hero-stage .dash-card,
  .hero-stage .screenshot-slot,
  .screenshot-slot {
    width: 100% !important;
    max-width: 100% !important;
  }

  .hero-ctas {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  .hero-ctas a,
  .hero-ctas .btn-nova,
  .hero-ctas .btn-ghost-nova {
    width: 100% !important;
    justify-content: center !important;
  }

  .container-xl {
    padding-inline: 16px !important;
    width: 100% !important;
  }

  .features-band,
  .ai-band {
    padding-inline: 20px !important;
  }

  .arch-node,
  .arch-node.hub {
    min-width: 0 !important;
  }

  .newsletter-form input {
    min-width: 0 !important;
    width: 100% !important;
  }

  /* Kill horizontal scroll position quirks in RTL */
  html {
    scroll-padding: 0 !important;
  }
}
