/* =====================================================================
   Scooter Flash — ajuste mobile (≤ 860px)
   Todo layout em UMA coluna, blocos empilhados. Sobrescreve os estilos
   inline das páginas (por isso o !important). Carregado em todas as páginas.
   ===================================================================== */
@media (max-width: 860px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  *, *::before, *::after { min-width: 0; }
  img, svg, video, iframe, image-slot { max-width: 100%; }

  /* 1) Toda grade vira uma coluna (exceto miniaturas marcadas com data-m-keep) */
  [style*="grid-template-columns"]:not([data-m-keep]) {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: none !important;
    grid-auto-rows: auto !important;
    gap: 20px !important;
  }
  [style*="grid-template-columns"]:not([data-m-keep]) > * {
    grid-column: auto !important;
    grid-row: auto !important;
    max-width: 100% !important;
  }
  /* Mosaicos/galerias com linhas fixas: cada foto ganha altura própria */
  [style*="grid-auto-rows"] > * { aspect-ratio: 4 / 3; min-height: 220px; height: auto !important; }

  /* 2) Linhas flex quebram em vez de espremer */
  [style*="display: flex"]:not([style*="flex-direction: column"]),
  [style*="display:flex"]:not([style*="flex-direction:column"]) { flex-wrap: wrap !important; }
  html body header [style*="display"]:not([data-x]):not([data-y]),
  html body nav [style*="display"]:not([data-x]):not([data-y]) { flex-wrap: nowrap !important; }

  /* 3) Contêineres e espaçamentos */
  [style*="max-width: 1180px"], [style*="max-width:1180px"] { padding-left: 18px !important; padding-right: 18px !important; }
  [style*="padding: 96px"], [style*="padding:96px"],
  [style*="padding: 88px"], [style*="padding:88px"],
  [style*="padding: 80px"], [style*="padding:80px"] { padding-top: 56px !important; padding-bottom: 56px !important; }
  article, [style*="padding: 40px"], [style*="padding:40px"] { padding: 22px !important; }
  [style*="gap: 56px"], [style*="gap:56px"], [style*="gap: 48px"], [style*="gap:48px"] { gap: 24px !important; }
  [style*="max-width: 6"], [style*="max-width:6"], [style*="max-width: 5"], [style*="max-width:5"],
  [style*="max-width: 4"], [style*="max-width:4"], [style*="max-width: 8"], [style*="max-width:8"] { max-width: 100% !important; }
  [style*="position: sticky"], [style*="position:sticky"] { position: static !important; }

  /* 4) Tipografia proporcional à tela */
  h1 { font-size: clamp(30px, 9vw, 40px) !important; line-height: 1.08 !important; }
  h2 { font-size: clamp(26px, 7.4vw, 34px) !important; line-height: 1.1 !important; }
  h3 { font-size: clamp(22px, 6.4vw, 28px) !important; line-height: 1.15 !important; }
  h1, h2, h3, p { overflow-wrap: break-word; word-break: normal; hyphens: manual; }

  /* 5) Blocos alinhados à direita voltam para a esquerda */
  [style*="text-align: right"], [style*="text-align:right"] { text-align: left !important; }
  [style*="margin: 0 0 52px auto"], [style*="margin:0 0 52px auto"],
  [style*="margin: 0 0 0 auto"], [style*="margin:0 0 0 auto"] { margin-left: 0 !important; }

  /* 6) Botões ocupam a largura disponível */
  [style*="flex-wrap"] > a, [style*="flex-wrap"] > button { flex: 1 1 100%; }

  /* 7) Imagens de produto com altura mínima garantida */
  [style*="min-height: 320px"], [style*="min-height:320px"] { min-height: 260px !important; }
  [style*="aspect-ratio: 3 / 4"], [style*="aspect-ratio:3/4"] { aspect-ratio: 4 / 3 !important; }
}
