/**
 * Kraybazaar Oxbow (a70) — global mobile / touch fixes (complements ox-spores + kb-rift).
 */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.ox-suite {
  overflow-x: clip;
}

body.ox-suite .a70-main {
  overflow-x: clip;
}

body.ox-suite.has-ox-spores .a70-main {
  scroll-padding-bottom: calc(var(--ox-spore-h, 3.85rem) + 1.5rem + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 720px) {
  body.ox-suite .a70-main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),
  body.ox-suite .a70-main textarea,
  body.ox-suite .a70-main select {
    font-size: max(16px, 1rem);
  }

  body.ox-suite .kb-rift-news {
    grid-template-columns: 1fr !important;
    gap: 0.65rem;
  }

  body.ox-suite .kb-rift-news input[type="email"] {
    width: 100%;
    min-width: 0;
  }

  body.ox-suite .kb-rift-news button {
    width: 100%;
    min-height: 44px;
  }

  body.ox-suite [class*="-topbar"],
  body.ox-suite [class*="-mast"],
  body.ox-suite [class*="-header"] {
    flex-wrap: wrap;
    gap: 0.65rem;
  }

  body.ox-suite [class*="-nav"] {
    flex-wrap: wrap;
    max-width: 100%;
  }

  body.ox-suite table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.ox-suite img,
  body.ox-suite video,
  body.ox-suite iframe {
    max-width: 100%;
    height: auto;
  }

  body.ox-suite pre,
  body.ox-suite code {
    max-width: 100%;
    overflow-x: auto;
    word-break: break-word;
  }

  body.ox-suite.page-shop .sl-bay,
  body.ox-suite.page-shop .sl-bench,
  body.ox-suite.page-shop .sl-sheet,
  body.ox-suite.page-shop .sl-strip {
    min-width: 0;
    max-width: 100%;
  }

  body.ox-suite.page-shop .sl-gels {
    min-width: 0;
    max-width: 100%;
    overflow: visible;
  }

  body.ox-suite.page-shop .sl-gels-stack {
    overflow: visible;
  }

  body.ox-suite.page-shop .sl-focus input {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 380px) {
  body.ox-suite.has-ox-spores .ox-spores {
    gap: 0.28rem;
    padding-inline: 0.4rem;
  }

  body.ox-suite.has-ox-spores .ox-spore,
  body.ox-suite.has-ox-spores .ox-spore-core,
  body.ox-suite.has-ox-spores .ox-seek {
    width: 2.65rem;
    height: 2.65rem;
    min-width: 2.65rem;
    min-height: 2.65rem;
    max-width: 2.65rem;
  }

  body.ox-suite.has-ox-spores .ox-spore-orb b,
  body.ox-suite.has-ox-spores .ox-spore-core strong {
    font-size: 0.58rem;
  }
}
