/*
 * dark: 法务静态页的最小工具类集合，用来替代原来的运行时 CDN 样式脚本。
 * 这些规则只覆盖 public/sondo-terms.html 与 public/sondo-privacy.html 当前实际使用的类名，
 * 避免独立静态页继续依赖运行时 CSS 引擎。
 */
*,
::before,
::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  line-height: 1.5;
}

h1,
h2,
h3,
p,
ol,
ul {
  margin: 0;
}

ol,
ul {
  padding-left: 0;
}

a {
  color: inherit;
  text-decoration: inherit;
}

svg {
  display: block;
  vertical-align: middle;
}

.fixed {
  position: fixed;
}

.top-0 {
  top: 0;
}

.right-0 {
  right: 0;
}

.left-0 {
  left: 0;
}

.z-50 {
  z-index: 50;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.mt-4 {
  margin-top: 16px;
}

.mt-10 {
  margin-top: 40px;
}

.mb-2 {
  margin-bottom: 8px;
}

.mb-4 {
  margin-bottom: 16px;
}

.mb-12 {
  margin-bottom: 48px;
}

.ml-1 {
  margin-left: 4px;
}

.flex {
  display: flex;
}

.flex-col {
  flex-direction: column;
}

.items-start {
  align-items: flex-start;
}

.items-center {
  align-items: center;
}

.justify-start {
  justify-content: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.gap-6 {
  gap: 24px;
}

.gap-8 {
  gap: 32px;
}

.w-full {
  width: 100%;
}

.w-\[120px\] {
  width: 120px;
}

.max-w-\[1120px\] {
  max-width: 1120px;
}

.cursor-pointer {
  cursor: pointer;
}

.list-inside {
  list-style-position: inside;
}

.list-decimal {
  list-style-type: decimal;
}

.list-disc {
  list-style-type: disc;
}

.scroll-mt-32 {
  scroll-margin-top: 128px;
}

.rounded-xl {
  border-radius: 12px;
}

.border {
  border-width: 1px;
}

.border,
.border-t {
  border-style: solid;
  border-color: #e5e7eb;
}

.border-t {
  border-top-width: 1px;
}

.border-gray-100 {
  border-color: #f3f4f6;
}

.bg-white {
  background-color: #fff;
}

.bg-gray-50 {
  background-color: #f9fafb;
}

.bg-transparent {
  background-color: transparent;
}

.selection-blue::selection {
  color: #fff;
  background-color: #0056b3;
}

.p-6 {
  padding: 24px;
}

.px-\[18px\] {
  padding-left: 18px;
  padding-right: 18px;
}

.px-\[33px\] {
  padding-left: 33px;
  padding-right: 33px;
}

.py-6 {
  padding-top: 24px;
  padding-bottom: 24px;
}

.py-12 {
  padding-top: 48px;
  padding-bottom: 48px;
}

.pt-\[120px\] {
  padding-top: 120px;
}

.pb-\[80px\] {
  padding-bottom: 80px;
}

.text-sm {
  font-size: 14px;
  line-height: 20px;
}

.text-xl {
  font-size: 20px;
  line-height: 28px;
}

.text-\[32px\] {
  font-size: 32px;
}

.text-base {
  font-size: 16px;
  line-height: 24px;
}

.leading-relaxed-custom {
  line-height: 1.75;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.font-bold {
  font-weight: 700;
}

.text-\[\#0056b3\] {
  color: #0056b3;
}

.text-\[\#2f4f4f\] {
  color: #2f4f4f;
}

.text-gray-400 {
  color: #9ca3af;
}

.text-gray-600 {
  color: #4b5563;
}

.transition-all {
  transition-property: all;
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
}

.transition-opacity {
  transition-property: opacity;
}

.transition-all,
.transition-colors,
.transition-opacity {
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.duration-300 {
  transition-duration: 300ms;
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 8px;
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 16px;
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 24px;
}

.space-y-12 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 48px;
}

.hover\:opacity-80:hover {
  opacity: 0.8;
}

.hover\:text-\[\#0056b3\]:hover {
  color: #0056b3;
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

@media (min-width: 768px) {
  .md\:flex-row {
    flex-direction: row;
  }

  .md\:w-\[187px\] {
    width: 187px;
  }

  .md\:px-\[33px\] {
    padding-left: 33px;
    padding-right: 33px;
  }

  .md\:text-\[42px\] {
    font-size: 42px;
  }

  .md\:text-base {
    font-size: 16px;
    line-height: 24px;
  }
}

@media (min-width: 1024px) {
  .lg\:py-\[50px\] {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .lg\:pt-\[200px\] {
    padding-top: 200px;
  }
}
