/* TG Vault v173: responsive fixes found during the July 2026 full-site audit. */

@media (max-width: 860px) {
  body.vault-page #vault-products .vault-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  body.vault-page #vault-products .vault-toolbar > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.vault-page #vault-products .vault-search {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.vault-page #vault-products .vault-filters {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  body.vault-page #vault-products .vault-filter {
    flex: 0 0 auto !important;
  }
}

@media (max-width: 760px) {
  body.legal-page .subpage-hero-content {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.legal-page .subpage-hero-title {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    font-size: clamp(34px, 12vw, 48px) !important;
    line-height: 1 !important;
    overflow-wrap: anywhere;
  }

  body.legal-page .subpage-hero-sub {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 480px) {
  .about-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .about-grid > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  #hsNav {
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
  }

  #hsNav > button {
    flex: 0 0 40px !important;
  }

  #hsDots {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 3px 0 5px !important;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  body.faq-page .contact-cta .btn-primary,
  body.faq-page .faq-section .btn-primary {
    max-width: 100% !important;
    padding-inline: 18px !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-align: center;
  }
}
