/* =========================================================
   Balo — TERMS OF SERVICE (terms-of-services.php)
   Page-scoped layout/typography only. NO background rules.
   ========================================================= */

/* Scope to the TOS template body class */
body.page-template-terms-of-services .tos-hero,
body.page-template-terms-of-services .tos-wrap,
body.page-template-terms-of-services .tos-card,
body.page-template-terms-of-services .tos-content {
  /* Intentionally no background here */
}

/* Tokens (no background variables) */
:root {
  --tos-max: 980px;
  --radius: 18px;
  --gap: clamp(16px, 2.2vw, 24px);

  --text: var(--zen-text, #e9eefb);
  --muted: var(--zen-muted, #9aa6b0);

  --card-bd: var(--zen-card-bd, rgba(148,163,184,.12));
  --shadow: var(--zen-shadow, 0 10px 30px rgba(0,0,0,.36));
}

/* Hero (spacing + type only) */
body.page-template-terms-of-services .tos-hero {
  text-align: center;
  padding: clamp(48px, 8vw, 96px) 16px clamp(20px, 4vw, 40px);
}
body.page-template-terms-of-services .tos-title {
  color: var(--text);
  font-size: clamp(28px, 5.2vw, 48px);
  line-height: 1.1;
  margin: 12px 0 8px;
  text-shadow: 0 2px 6px rgba(0,0,0,.35);
}
body.page-template-terms-of-services .tos-sub {
  color: var(--text);
  opacity: .95;
  font-size: clamp(16px, 2.2vw, 19px);
  max-width: 70ch;
  margin: 0 auto;
}

/* Main container (spacing only) */
body.page-template-terms-of-services .tos-wrap {
  padding: clamp(16px, 3.5vw, 32px) 16px clamp(28px, 5vw, 56px);
}

/* Card surface: border/shadow only; rely on global bg for contrast */
body.page-template-terms-of-services .tos-card {
  max-width: var(--tos-max);
  margin: 0 auto;
  border: 1px solid var(--card-bd);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: clamp(22px, 2.6vw, 30px);
  color: var(--text);
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
}

/* Content typography */
body.page-template-terms-of-services .tos-content h2 {
  margin: 1.1em 0 .5em;
  font-size: clamp(18px, 2.4vw, 22px);
  color: var(--text);
  text-shadow: 0 1px 4px rgba(0,0,0,.3);
}
body.page-template-terms-of-services .tos-content p {
  margin: .55em 0;
}
body.page-template-terms-of-services .tos-content ul {
  margin: .6em 0 1em 1.2em;
}
body.page-template-terms-of-services .tos-content li {
  margin: .35em 0;
}
body.page-template-terms-of-services .tos-footnote {
  margin-top: 1em;
  color: var(--muted);
}

/* Links */
body.page-template-terms-of-services .tos-card a {
  color: #c7d2fe;
  text-decoration: none;
}
body.page-template-terms-of-services .tos-card a:hover {
  text-decoration: underline;
}

/* Logo sizing consistency (no bg) */
body.page-template-terms-of-services .balo-logo {
  display: inline-block;
  width: 160px; height: 160px;
  object-fit: cover; border-radius: 50%;
}

/* Motion safety */
@media (prefers-reduced-motion: reduce) {
  body.page-template-terms-of-services * { transition: none !important; }
}
