/* ===== base.css - 重置+变量+工具类 ===== */

/* Reset */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  font-size: 16px; line-height: 1.6; color: #333333;
  background-color: #FFFFFF; -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { line-height: 1.4; font-weight: bold; }
a { color: inherit; text-decoration: none; transition: all 0.3s ease; }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; }
button { cursor: pointer; font-family: inherit; border: none; background: none; }
input, textarea { font-family: inherit; font-size: inherit; }

/* CSS Variables */
:root {
  --primary: #1E3A5F;
  --secondary: #D4A574;
  --dark-bg: #0F1E2E;
  --page-bg: #F5F7FA;
  --white: #FFFFFF;
  --text-dark: #333333;
  --text-gray: #666666;
  --border: #C8D4E0;
}

/* Utility Classes */
.container { max-width: 1280px; margin: 0 auto; padding: 0 16px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0; }
.text-center { text-align: center; }
.flex { display: flex; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.flex-1 { flex: 1; }
.grid { display: grid; }
.gap-2 { gap: 8px; } .gap-3 { gap: 12px; } .gap-4 { gap: 16px; } .gap-6 { gap: 24px; }
.rounded { border-radius: 8px; } .rounded-full { border-radius: 9999px; }
.shadow { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.transition { transition: all 0.3s ease; }
.py-12 { padding-top: 48px; padding-bottom: 48px; }
.py-16 { padding-top: 64px; padding-bottom: 64px; }
.px-4 { padding-left: 16px; padding-right: 16px; }
.mb-4 { margin-bottom: 16px; } .mb-6 { margin-bottom: 24px; } .mb-8 { margin-bottom: 32px; } .mb-12 { margin-bottom: 48px; }
.mt-8 { margin-top: 32px; } .mt-10 { margin-top: 40px; }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #F5F7FA; }
::-webkit-scrollbar-thumb { background: #C8D4E0; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #1E3A5F; }

/* Print */
@media print {
  .no-print, nav, footer, .back-to-top { display: none !important; }
  body { font-size: 12pt; color: #000; background: #fff; }
  a { text-decoration: underline; }
}
