/**
 * TTDS v2.0 — Base reset & layout (scoped to .tt-premium)
 */

body.tt-premium {
  font-family: var(--tt-font-sans);
  font-size: var(--tt-text-base);
  line-height: var(--tt-leading-normal);
  color: var(--tt-obsidian);
  background: var(--tt-canvas);
  letter-spacing: var(--tt-tracking-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body.tt-premium--rtl {
  font-family: var(--tt-font-ar);
  letter-spacing: 0;
}

body.tt-premium .tt-icon {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
  stroke-width: 1.75;
}

body.tt-premium .tt-container {
  width: min(var(--tt-container), 100% - var(--tt-space-10));
  margin-inline: auto;
}

body.tt-premium .tt-container--prose {
  width: min(var(--tt-prose), 100% - var(--tt-space-10));
  margin-inline: auto;
}

body.tt-premium .tt-section {
  padding-block: var(--tt-section-md);
}

body.tt-premium .tt-section--subtle {
  background: var(--tt-canvas-subtle);
  border-block: 1px solid var(--tt-line);
  border-inline: none;
}

body.tt-premium :focus-visible {
  outline: 2px solid var(--tt-signal);
  outline-offset: 3px;
  border-radius: var(--tt-radius-sm);
}

body.tt-premium .tt-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 9999;
  padding: var(--tt-space-3) var(--tt-space-5);
  background: var(--tt-obsidian);
  color: var(--tt-canvas);
  font-weight: 600;
  font-size: var(--tt-text-sm);
  border-radius: var(--tt-radius-sm);
}

body.tt-premium .tt-skip-link:focus {
  left: var(--tt-space-4);
  top: var(--tt-space-4);
}

@media (max-width: 768px) {
  body.tt-premium {
    --tt-header-h: var(--tt-header-h-m);
  }

  body.tt-premium .tt-section {
    padding-block: var(--tt-section-sm);
  }

  body.tt-premium .tt-container {
    width: min(var(--tt-container), 100% - var(--tt-space-8));
  }

  body.tt-premium .tt-legal-prose {
    padding-inline: max(var(--tt-space-4), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
    padding-bottom: var(--tt-space-8);
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  body.tt-premium .tt-legal-prose h1 {
    font-size: var(--tt-text-2xl);
    margin-bottom: var(--tt-space-6);
  }

  body.tt-premium .tt-legal-prose h2 {
    font-size: var(--tt-text-lg);
    margin-top: var(--tt-space-8);
    margin-bottom: var(--tt-space-3);
  }

  body.tt-premium .tt-legal-prose p,
  body.tt-premium .tt-legal-prose li {
    font-size: var(--tt-text-base);
    line-height: var(--tt-leading-relaxed);
  }
}

/* Legal / policy prose — default pages */
body.tt-premium .tt-legal-prose {
  max-width: min(var(--tt-container), 100%);
  margin-inline: auto;
  color: var(--tt-graphite);
}

body.tt-premium .tt-legal-prose h1 {
  color: var(--tt-obsidian);
}

body.tt-premium .tt-legal-prose a {
  color: var(--tt-signal);
  word-break: break-word;
}
