/* ============================================================
   大马信鸽前台公共样式
   优先使用 Tailwind 工具类，此文件仅放 Tailwind 无法覆盖的样式
   ============================================================ */

/* ---------- CSS 变量（全站颜色统一来源）---------- */
:root {
    --color-navy:       #1a2f5e;
    --color-navy-dark:  #0f1e3d;
    --color-navy-light: #243d75;
    --color-gold:       #c9a84c;
    --color-gold-light: #e2c070;
    --color-gold-dark:  #8c6e2a;
    --color-cream:      #f5f0e8;
}

/* ---------- 基础字号：18px 基准，120% 缩放下的舒适感直接内建 ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 18px; }
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    font-size: 1rem;        /* = 18px */
    line-height: 1.8;
    color: #1f2937;
}

/* ---------- Tailwind 字号档补偿（让各档保持合理比例）---------- */
/* Tailwind text-xs / text-sm / text-base 基于 16px 根计算，
   现在根是 18px，各档自动放大，以下做微调避免过大 */
.text-xs   { font-size: 0.78rem  !important; }   /* ≈ 14px */
.text-sm   { font-size: 0.89rem  !important; }   /* ≈ 16px */
.text-base { font-size: 1rem     !important; }   /* = 18px */
.text-lg   { font-size: 1.15rem  !important; }   /* ≈ 20px */
.text-xl   { font-size: 1.33rem  !important; }   /* ≈ 24px */
.text-2xl  { font-size: 1.56rem  !important; }   /* ≈ 28px */
.text-3xl  { font-size: 1.78rem  !important; }   /* ≈ 32px */
.text-4xl  { font-size: 2.11rem  !important; }   /* ≈ 38px */
.text-5xl  { font-size: 2.67rem  !important; }   /* ≈ 48px */

/* ---------- 富文本正文样式（prose-content）---------- */
.prose-content h2 { font-size: 1.4rem; font-weight: 700; color: var(--color-navy); margin: 1.5rem 0 0.75rem; }
.prose-content h3 { font-size: 1.2rem; font-weight: 600; color: var(--color-navy); margin: 1.25rem 0 0.5rem; }
.prose-content p  { font-size: 1rem; margin-bottom: 1rem; line-height: 1.9; color: #374151; }
.prose-content img { max-width: 100%; border-radius: 8px; margin: 1rem 0; }
.prose-content ul,
.prose-content ol  { padding-left: 1.5rem; margin-bottom: 1rem; }
.prose-content li  { margin-bottom: 0.35rem; line-height: 1.9; color: #374151; }
.prose-content a   { color: var(--color-gold-dark); text-decoration: underline; }
.prose-content blockquote {
    border-left: 4px solid var(--color-gold);
    padding-left: 1rem;
    color: #6b7280;
    margin: 1rem 0;
    font-style: italic;
}
.prose-content table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.prose-content th, .prose-content td { border: 1px solid #e5e7eb; padding: 0.5rem 0.75rem; text-align: left; }
.prose-content th { background: var(--color-navy); color: #fff; }

/* ---------- 文字截断工具类 ---------- */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
