﻿/* TSL public mobile polish.
   CSS-only. No auth, no JS, no tokens, no app dependencies. */

@media (max-width: 760px) {
  html {
    overflow-x: hidden;
  }

  body {
    overflow-x: hidden;
  }

  .tsl-compatible-header {
    height: 56px;
  }

  .tsl-compatible-header__inner {
    max-width: 100%;
    padding: 0 14px;
  }

  .tsl-compatible-logo__text {
    font-size: 21px;
  }

  .tsl-compatible-plus {
    height: 34px;
    min-width: 54px;
    padding: 0 14px;
  }

  /* Foundation/article-index pages */
  .tsl-foundation-page,
  .tsl-page,
  .tsl-article-index,
  main {
    max-width: 100%;
  }

  .tsl-foundation-shell,
  .tsl-shell,
  .tsl-container,
  .tsl-wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }

  .tsl-foundation-hero,
  .tsl-hero {
    padding-top: 28px !important;
    padding-bottom: 20px !important;
  }

  .tsl-foundation-hero h1,
  .tsl-hero h1,
  .tsl-h1,
  h1 {
    font-size: clamp(2rem, 10vw, 3rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.055em !important;
    max-width: 100% !important;
  }

  .tsl-foundation-hero p,
  .tsl-hero p,
  .tsl-deck {
    font-size: 1rem !important;
    line-height: 1.65 !important;
    max-width: 100% !important;
  }

  .tsl-grid,
  .tsl-card-grid,
  .tsl-foundation-grid,
  .tsl-tools-grid,
  .tsl-articles-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .tsl-card,
  .tsl-foundation-card,
  .tsl-tool-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 18px !important;
    box-sizing: border-box !important;
  }

  .tsl-card-title,
  .tsl-foundation-card h2,
  .tsl-tool-card h2 {
    font-size: 1.05rem !important;
    line-height: 1.35 !important;
  }

  .tsl-card-desc,
  .tsl-card-meta,
  .tsl-foundation-card p {
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
  }

  .tsl-section,
  section {
    max-width: 100%;
  }

  .tsl-clean-article-shell {
    grid-template-columns: 1fr !important;
    padding: 28px 16px 48px !important;
    gap: 18px !important;
  }

  .tsl-clean-main {
    max-width: 100% !important;
  }

  .tsl-clean-h1 {
    font-size: clamp(2rem, 10vw, 2.8rem) !important;
    line-height: 1.08 !important;
  }

  .tsl-clean-deck {
    font-size: 1rem !important;
  }

  .tsl-snapshot {
    padding: 16px !important;
    border-radius: 14px !important;
  }

  .tsl-model-grid {
    grid-template-columns: 1fr !important;
  }

  .tsl-clean-table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .tsl-clean-sidebar {
    position: static !important;
  }

  .tsl-side-card {
    padding: 15px !important;
  }

  /* Footer */
  .tsl-footer-pro__inner {
    padding: 32px 18px 30px !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .tsl-footer-pro__cols {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px 18px !important;
  }

  .tsl-footer-pro__brand {
    max-width: 100% !important;
  }

  .tsl-footer-pro__disclaimer,
  .tsl-footer-pro__copyright {
    max-width: 100% !important;
  }
}

@media (max-width: 420px) {
  .tsl-compatible-logo {
    gap: 7px;
  }

  .tsl-compatible-logo__mark,
  .tsl-compatible-logo__mark svg {
    width: 28px !important;
    height: 28px !important;
  }

  .tsl-compatible-logo__text {
    font-size: 20px;
  }

  .tsl-compatible-actions {
    gap: 7px;
  }

  .tsl-compatible-plus {
    padding: 0 12px;
    min-width: 50px;
  }

  .tsl-footer-pro__cols {
    grid-template-columns: 1fr !important;
  }

  .tsl-foundation-hero h1,
  .tsl-hero h1,
  .tsl-clean-h1,
  h1 {
    font-size: clamp(1.85rem, 11vw, 2.45rem) !important;
  }
}
