/* Impede que faixas animadas e paineis fora da tela criem rolagem lateral.
   clip preserva a rolagem vertical e os elementos fixos do site original. */
html, body { overflow-x: clip; }
body { width: 100%; max-width: 1920px; margin-left: auto; margin-right: auto; }

/* Largura maxima do site: 1920px em telas maiores.
   Abaixo de 1920px nada muda — o site continua responsivo como no original. */
@media (min-width: 1921px) {
  :root { --um-gut: calc((100vw - 1920px) / 2); }

  html { background-color: #ffffff; }
  body {
    max-width: 1920px;
    margin-left: auto !important;
    margin-right: auto !important;
    box-shadow: 0 0 28px rgba(0, 0, 0, .18);
  }

  /* barras fixas (menu, paineis, nav do aluno) acompanham a largura limitada */
  .panelacesso,
  .panelestudante,
  .megamenu:before,
  .nav-area-aluno-fixed,
  .navbar-fixed-top,
  .navbar-fixed-bottom,
  .menu-informacoes .navbar.navbar-fixed,
  .logousc,
  .snack-trial,
  .mk-fullscreen-search-overlay {
    left: var(--um-gut) !important;
    right: auto !important;
    width: 1920px;
    transform: none !important;
  }

  /* botoes flutuantes ficam dentro da area limitada */
  a.interessecurso { left: calc(var(--um-gut) + 15px) !important; }
  .botao-flutuante { right: calc(var(--um-gut) + 18px) !important; }
  .voltarbt { right: calc(var(--um-gut) + 1vw) !important; }
  a[href="#top"],
  a[href="#bottom"] { right: calc(var(--um-gut) + 10px) !important; }
  #gdpr-cookie-message { left: calc(var(--um-gut) + 30px) !important; right: auto !important; }
}

/* Celular/tablet: imagens, videos e banners nunca passam da largura da tela */
@media (max-width: 991px) {
  html, body { overflow-x: clip; }
  img, video, embed, object, table { max-width: 100% !important; }
  img, video { height: auto !important; }
  iframe { max-width: 100% !important; }
  iframe[src*="youtube"], iframe[src*="vimeo"], iframe[src*="youtu.be"] {
    width: 100% !important; height: auto !important; aspect-ratio: 16 / 9;
  }
  .container, .row, [class*="col-"], .row > div, .textosinternos div, .textosinternos p, .textosinternos figure { max-width: 100% !important; }
  .textosinternos .row { margin-left: 0; margin-right: 0; }
}
