/* ========================================
   カラーテーマ2: ディープフォレスト × ゴールド
   高級感 — 深い緑とゴールドが落ち着いた品格を演出
   C2-1: テキスト視認性向上版
   ======================================== */
:root {
    /* 背景 */
    --bg-primary: #2c3e2f;
    --bg-secondary: #243528;
    --bg-card: #f4f1eb;
    --bg-glass: rgba(244, 241, 235, 0.78);
    --bg-dark: #141e16;
    --bg-dark-sub: #1c281e;
    --bg-dark-card: rgba(28, 40, 30, 0.7);

    /* アクセント */
    --accent: #b8942a;
    --accent-light: #d4aa38;
    --accent-dark: #7a6018;
    --accent-glow: rgba(184, 148, 42, 0.15);
    --gold: #d4aa38;
    --gold-light: #e0be5a;
    --gold-muted: #c0a030;
    --green: #4a7a56;
    --green-light: #5a9068;
    --brown: #5a5030;
    --brown-light: #7a7050;

    /* テキスト — 視認性向上 */
    --text-primary: #f4f0ea;
    --text-secondary: #ddd6c6;
    --text-muted: #bab2a0;
    --fg-light: #ddd6c6;
    --border: #3a4e3c;
    --border-light: #4a5e4c;
    --success: #5a9068;
    --danger: #c44030;
}

/* ヘッダーを背景に馴染ませる */
.site-header {
    background: rgba(20, 30, 22, 0.92) !important;
    backdrop-filter: blur(12px);
}

.site-header.scrolled {
    background: rgba(20, 30, 22, 0.98) !important;
}

/* ナビリンク — 視認性向上 */
.nav-links a {
    color: rgba(230, 224, 210, 0.92) !important;
}

.nav-links a:hover,
.nav-links a.active {
    color: #e0be50 !important;
}

/* セクションタイトル・ラベルを明色に */
.section-title {
    color: var(--text-primary) !important;
}

.section-label {
    color: var(--gold) !important;
}

/* info-barを少し明るく */
.info-bar {
    background: #344838 !important;
}

.info-bar .info-card {
    background: var(--bg-card) !important;
    color: #2a2218 !important;
}

.info-bar .info-card h3 {
    color: #2a2218 !important;
}

.info-item .title {
    color: #2a2218 !important;
}

.info-item .date {
    color: #504838 !important;
}

/* CTA */
.cta-banner {
    background: linear-gradient(135deg, #1c281e, #2c3e2f) !important;
    color: var(--text-primary) !important;
}

/* stats bar — 明るいカード背景上のため暗い文字色に */
.stats-bar {
    color: #2a2a20;
}

.stat-item {
    background: var(--bg-card) !important;
    border-color: var(--border-light) !important;
}

.stat-number {
    color: #2a2a20 !important;
}

.stat-label {
    color: #585848 !important;
}

/* フッター */
.site-footer {
    background: var(--bg-dark) !important;
}

/* glass-card on dark bg — 背景の不透明度を上げて視認性向上 */
.glass-card {
    background: rgba(244, 241, 235, 0.14) !important;
    border-color: rgba(212, 170, 56, 0.28) !important;
    color: var(--text-primary) !important;
}

.glass-card p,
.glass-card li {
    color: var(--text-secondary) !important;
}

/* ---------- 明るい背景カード内のテキスト色修正 ---------- */
/* ダークテーマでは --text-primary が明色のため、
   明るいカード背景(--bg-card)上で読めなくなる問題を修正 */

.pricing-grid .pricing-card h3,
.pricing-grid .pricing-card .pricing-price,
.pricing-grid .pricing-card .pricing-tier,
.flow .flow-step h4,
.tip-card h4,
.testimonial-card .testimonial-author {
    color: #2a2a20 !important;
}

.pricing-grid .pricing-card .pricing-price span {
    color: #585848 !important;
}

.pricing-grid .pricing-card p,
.pricing-grid .pricing-card li,
.pricing-grid .pricing-card .pricing-note,
.flow .flow-step p,
.tip-card p,
.testimonial-card .testimonial-text {
    color: #3a3a2a !important;
}

.pricing-grid .pricing-card .pricing-tier--free {
    color: var(--green) !important;
}

.pricing-grid .pricing-card .pricing-tier--recommended {
    color: var(--gold) !important;
}

.pricing-grid .pricing-card .pricing-tier--advanced {
    color: var(--accent-dark) !important;
}

.feature-card h4 {
    color: #2a2a20 !important;
}

.feature-card p {
    color: #3a3a2a !important;
}

/* ---------- course-card — 明るいカード背景上のテキスト色修正 ---------- */
.course-card-body h3 {
    color: #2a2a20 !important;
}

.course-card-body p,
.course-card-body li {
    color: #3a3a2a !important;
}

/* btn */
.btn-primary {
    background: linear-gradient(135deg, var(--gold), var(--accent)) !important;
}

/* ---------- C2-1 追加: ダーク背景上のテキスト視認性向上 ---------- */

/* セクション内のテキスト全般 */
section p,
section li {
    color: var(--text-secondary) !important;
}

/* ダーク背景上の小さなテキスト */
.pricing-note,
.breadcrumb,
.breadcrumb span {
    color: var(--text-muted) !important;
}

/* ---------- .card (コンテンツを探す等) — 明るいカード背景上 ---------- */
.card .card-body h3,
a.card .card-body h3,
.card-grid .card .card-body h3 {
    color: #2a2a20 !important;
}

.card .card-body p,
a.card .card-body p,
.card-grid .card .card-body p {
    color: #3a3a2a !important;
}

.card .card-body {
    color: #2a2a20 !important;
}

/* stats — 明るいカード背景上なので他のカードと統一 */
.stat-number {
    color: #2a2a20 !important;
}

.stat-label {
    color: #585848 !important;
}

/* カードリンク */
.card-link {
    color: var(--gold) !important;
}

/* ダーク背景上のbtn-outline */
.btn-outline {
    color: var(--gold-light) !important;
    border-color: var(--gold-light) !important;
}

.btn-outline:hover {
    background: var(--gold) !important;
    color: #1a1a14 !important;
}

/* CTA内のテキスト */
.cta-banner h2,
.cta-banner p {
    color: var(--text-primary) !important;
}

/* フッター内テキスト */
.site-footer,
.site-footer p,
.site-footer li,
.site-footer a {
    color: var(--text-secondary) !important;
}

.site-footer h4 {
    color: var(--text-primary) !important;
}

.site-footer a:hover {
    color: var(--gold-light) !important;
}

/* news-ticker */
.news-ticker {
    color: var(--text-primary) !important;
}

/* section-label背景のコントラスト向上 */
.section-label {
    background: rgba(212, 170, 56, 0.14) !important;
    border-color: rgba(212, 170, 56, 0.35) !important;
}

/* 明るいカード内のfeature-card a */
.feature-card a {
    color: #3a3020 !important;
}

/* ---------- instructor-card — 明るいカード背景上のテキスト色修正 ---------- */
.instructor-card h3 {
    color: #2a2a20 !important;
}

.instructor-card p,
.instructor-card .instructor-quote {
    color: #3a3a2a !important;
}

.instructor-card .instructor-role {
    color: var(--gold) !important;
}

/* ---------- info-cards-row 内カード (電話・営業時間・定休日) ---------- */
/* 明るいカード背景上のため、stat-item / pricing-card と同じ暗い文字色 */
.info-cards-row .info-card h4 {
    color: #2a2a20 !important;
}

.info-cards-row .info-card p {
    color: #585848 !important;
}

/* ---------- FAQ — 明るいカード背景上のテキスト色修正 ---------- */
.faq-question {
    color: #2a2a20 !important;
}

.faq-question .icon {
    color: var(--accent-dark) !important;
}

.faq-question:hover {
    color: var(--text-primary) !important;
}

.faq-question:hover .icon {
    color: var(--gold) !important;
}

/* スクロールプログレス */
.scroll-progress {
    background: linear-gradient(90deg, var(--gold), var(--accent)) !important;
}