/* ==========================================================================
   Chepics — Shared styles for ToS & Privacy Policy
   ========================================================================== */

/* ---------- Reset / Base ---------- */
*, *::before, *::after {
  box-sizing: border-box;
}

body {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.25;
  color: #000;
  margin: 20px;
  padding-top: 30px;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* ---------- Language-specific fonts ---------- */
html[lang="ja"] body {
  font-family: 'Hiragino Sans', 'Noto Sans JP', Meiryo, sans-serif;
}
html[lang="zh-Hans"] body {
  font-family: 'PingFang SC', 'Noto Sans SC', 'Microsoft YaHei', sans-serif;
}
html[lang="zh-Hant"] body {
  font-family: 'PingFang TC', 'Noto Sans TC', 'Microsoft JhengHei', sans-serif;
}
html[lang="hi"] body {
  font-family: 'Noto Sans Devanagari', sans-serif;
}
html[lang="en"] body,
html[lang="es"] body,
html[lang="fr"] body,
html[lang="id"] body,
html[lang="ms"] body,
html[lang="pt"] body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* ---------- Typography ---------- */
.title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.0;
  margin-bottom: 1em;
}

.article-heading {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.0;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}

ol {
  margin-left: 1.5em;
  padding-left: 0;
}
ol li {
  margin-bottom: 0.5em;
}
ol[type="a"] {
  list-style-type: lower-alpha;
}
ol[type="i"] {
  list-style-type: lower-roman;
}
ul {
  margin-left: 1.5em;
  padding-left: 0;
}
ul li {
  margin-bottom: 0.3em;
}

a {
  color: #1a73e8;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

/* ---------- Language switcher ---------- */
.lang-switcher {
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 1000;
}
.lang-switcher select {
  padding: 4px 8px;
  font-size: 13px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  outline: none;
}
.lang-switcher select:hover {
  border-color: #999;
}

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
  body {
    margin: 12px;
    padding-top: 36px;
  }

  .title {
    font-size: 20px;
    line-height: 1.2;
  }

  .article-heading {
    font-size: 17px;
    line-height: 1.2;
  }

  ol, ul {
    margin-left: 1em;
  }
}
