/**
 * Cassiopeia HTSprout - 字體大小系統
 * 使用 CSS 變數實現動態字體縮放
 * 符合 WCAG 2.1 成功準則 1.4.4（調整文字大小）
 *
 * @package     Joomla.Site
 * @subpackage  Templates.cassiopeia_htsprout
 * @copyright   Copyright (C) 2026 HTSprout. All rights reserved.
 * @license     GNU General Public License version 2 or later
 */

/* ============================================
   字體大小 CSS 變數
   ============================================ */
:root {
  --font-size-base: 16px;
  --font-size-scale: 1;
  --line-height-base: 1.6;
}

/* 小字體 */
body.font-size-small {
  --font-size-scale: 0.875;
}

/* 中字體（預設） */
body.font-size-medium {
  --font-size-scale: 1;
}

/* 大字體 */
body.font-size-large {
  --font-size-scale: 1.125;
}

/* 特大字體 */
body.font-size-xlarge {
  --font-size-scale: 1.25;
}

/* ============================================
   應用字體縮放
   ============================================ */
body {
  font-size: calc(var(--font-size-base) * var(--font-size-scale));
  line-height: var(--line-height-base);
}

/* 標題縮放 */
h1 {
  font-size: calc(2.5rem * var(--font-size-scale));
}

h2 {
  font-size: calc(2rem * var(--font-size-scale));
}

h3 {
  font-size: calc(1.75rem * var(--font-size-scale));
}

h4 {
  font-size: calc(1.5rem * var(--font-size-scale));
}

h5 {
  font-size: calc(1.25rem * var(--font-size-scale));
}

h6 {
  font-size: calc(1rem * var(--font-size-scale));
}

/* 其他文字元素 */
p,
li,
td,
th {
  font-size: calc(1rem * var(--font-size-scale));
}

small {
  font-size: calc(0.875rem * var(--font-size-scale));
}

/* ============================================
   確保 UI 元件不會過度縮放
   ============================================ */
.font-size-btn,
.btn,
button {
  /* 按鈕文字使用適度縮放 */
  font-size: calc(1rem * var(--font-size-scale));
}
