/*
Theme Name: Kadence Child
Template: kadence
Version: 1.0
*/

/* ===== 慢老健康活 2.0 設計系統 ===== */

:root {
  --mdo-green: #2D5F3E;
  --mdo-green-light: #3A7A50;
  --mdo-green-pale: #EFF6F1;
  --mdo-orange: #C4662B;
  --mdo-line-green: #06C755;
  --mdo-text: #2C2C2C;
  --mdo-text-h2: #1A1A1A;
  --mdo-text-light: #6B6B6B;
  --mdo-border: #8C8275;
  --mdo-bg-warm: #FFF8F3;
  --mdo-bg-quote: #FFF8EE;
}

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700&family=Noto+Serif+TC:wght@600;700;900&display=swap');

.content-width-narrow.single-post .content-container.site-container { max-width: 1200px !important; }
.single-post .entry-content-wrap { max-width: 1200px !important; }
.single-post .content-area { max-width: 100% !important; }

.mdo-article {
  max-width: 1200px !important;
  margin: 0 auto !important;
  background: #FFFFFF !important;
  padding: 40px 48px !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  font-family: 'Noto Sans TC', sans-serif !important;
  font-size: 26px !important;
  line-height: 1.8 !important;
  color: var(--mdo-text) !important;
}
@media (max-width: 768px) {
  .mdo-article { padding: 20px 16px !important; font-size: 24px !important; border-radius: 0 !important; box-shadow: none !important; }
}

.mdo-breadcrumb { font-size: 18px !important; color: var(--mdo-text-light) !important; margin-bottom: 24px !important; }
.mdo-breadcrumb a { color: var(--mdo-green) !important; text-decoration: none !important; }
.mdo-breadcrumb a:hover { text-decoration: underline !important; }

.mdo-toc {
  background: #FFFFFF !important;
  border: 1.5px solid var(--mdo-border) !important;
  border-left: 6px solid var(--mdo-green) !important;
  border-radius: 12px !important;
  padding: 24px 28px !important;
  margin-bottom: 32px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05) !important;
}
.mdo-toc .toc-title, .mdo-toc p:first-child { font-family: 'Noto Serif TC', serif !important; font-size: 26px !important; font-weight: 600 !important; margin-bottom: 12px !important; color: var(--mdo-text-h2) !important; }
.mdo-toc ul { list-style: none !important; padding: 0 !important; margin: 0 !important; counter-reset: toc-counter !important; background: transparent !important; border-left: none !important; }
.mdo-toc li { counter-increment: toc-counter !important; margin-bottom: 8px !important; font-size: 26px !important; }
.mdo-toc li::before { content: counter(toc-counter, decimal-leading-zero) !important; color: var(--mdo-orange) !important; font-weight: 700 !important; font-size: 22px !important; margin-right: 10px !important; }
.mdo-toc a { color: var(--mdo-text) !important; text-decoration: none !important; }
.mdo-toc a:hover { color: var(--mdo-green) !important; }
@media (max-width: 768px) { .mdo-toc { padding: 18px 16px !important; } .mdo-toc li { font-size: 24px !important; } }

.mdo-content { font-size: 26px !important; line-height: 1.8 !important; color: var(--mdo-text) !important; }
.mdo-content p { margin-bottom: 20px !important; font-size: 26px !important; }
@media (max-width: 768px) { .mdo-content { font-size: 24px !important; } .mdo-content p { font-size: 24px !important; } }

.mdo-content h2 { font-family: 'Noto Serif TC', serif !important; font-size: 35px !important; font-weight: 700 !important; color: var(--mdo-text-h2) !important; border-left: 6px solid var(--mdo-green) !important; padding-left: 20px !important; margin: 48px 0 24px !important; line-height: 1.4 !important; }
@media (max-width: 768px) { .mdo-content h2 { font-size: 30px !important; margin: 36px 0 18px !important; } }

.mdo-content h3 { font-family: 'Noto Sans TC', sans-serif !important; font-size: 28px !important; font-weight: 600 !important; color: var(--mdo-orange) !important; margin: 32px 0 16px !important; }
.mdo-content strong { color: var(--mdo-orange) !important; font-weight: 700 !important; }

.mdo-content ol, .mdo-content ul { background: var(--mdo-bg-warm) !important; border-left: 4px solid #E8A878 !important; border-radius: 8px !important; padding: 20px 20px 20px 40px !important; margin-bottom: 20px !important; }
.mdo-content li { margin-bottom: 8px !important; font-size: 26px !important; }
@media (max-width: 768px) { .mdo-content li { font-size: 24px !important; } }

.mdo-content blockquote { background: var(--mdo-bg-quote) !important; border-left: 4px solid var(--mdo-orange) !important; border-radius: 0 10px 10px 0 !important; padding: 20px 24px !important; margin: 24px 0 !important; font-style: italic !important; }

.mdo-content table { width: 100% !important; border-collapse: collapse !important; background: #FFFFFF !important; border-radius: 8px !important; overflow: hidden !important; box-shadow: 0 1px 4px rgba(0,0,0,0.05) !important; margin-bottom: 24px !important; }
.mdo-content table th { background: #E8F0E5 !important; color: var(--mdo-green) !important; font-weight: 600 !important; font-size: 24px !important; padding: 16px 20px !important; text-align: left !important; border-bottom: 2px solid var(--mdo-green) !important; }
.mdo-content table td { padding: 16px 20px !important; font-size: 24px !important; border-bottom: 1px solid #E8E5E0 !important; }
.mdo-content table tr:last-child td { border-bottom: none !important; }
.mdo-content table tr:hover td { background: rgba(232,240,229,0.3) !important; }
@media (max-width: 768px) { .mdo-content .table-wrapper, .mdo-content table { overflow-x: auto !important; display: block !important; } .mdo-content table td, .mdo-content table th { white-space: nowrap !important; } }

.mdo-content details { border: 1px solid #E8E5E0 !important; border-radius: 8px !important; margin-bottom: 12px !important; overflow: hidden !important; }
.mdo-content details summary { padding: 16px 20px !important; font-size: 24px !important; font-weight: 600 !important; cursor: pointer !important; background: #FAFAFA !important; color: var(--mdo-text) !important; }
.mdo-content details summary:hover { background: #F5F5F5 !important; }
.mdo-content details[open] summary { border-bottom: 1px solid #E8E5E0 !important; }
.mdo-content details p { padding: 16px 20px !important; font-size: 22px !important; margin: 0 !important; }

.mdo-cta-mid { background: linear-gradient(160deg, #F5E6D3, #E8D1B8, #D4B896) !important; border-radius: 16px !important; padding: 28px !important; text-align: center !important; margin: 40px 0 !important; position: relative !important; overflow: hidden !important; }
.mdo-cta-mid .cta-emoji { font-size: 36px !important; margin-bottom: 8px !important; }
.mdo-cta-mid h3 { color: #3D2B1F !important; font-size: 26px !important; margin-bottom: 4px !important; }
.mdo-cta-mid p { color: #5C4A3A !important; font-size: 20px !important; margin-bottom: 16px !important; }
@media (max-width: 768px) { .mdo-cta-mid { padding: 24px 16px !important; } .mdo-cta-mid h3 { font-size: 24px !important; } .mdo-cta-mid p { font-size: 18px !important; } }

.mdo-cta-end { background: #FFFFFF !important; border: 1.5px solid #E0DCD5 !important; border-radius: 12px !important; padding: 32px !important; text-align: center !important; margin: 40px 0 !important; }
.mdo-cta-end h3 { color: var(--mdo-text-h2) !important; font-size: 30px !important; margin-bottom: 8px !important; }
.mdo-cta-end p { color: var(--mdo-text-light) !important; font-size: 22px !important; margin-bottom: 16px !important; }

a[href*="lin.ee"], .mdo-cta-mid a[href*="lin.ee"], .mdo-cta-end a[href*="lin.ee"] { display: inline-block !important; background: var(--mdo-line-green) !important; color: #FFFFFF !important; font-size: 24px !important; font-weight: 700 !important; padding: 14px 36px !important; border-radius: 50px !important; text-decoration: none !important; transition: transform 0.2s, box-shadow 0.2s !important; }
a[href*="lin.ee"]:hover { transform: translateY(-2px) !important; box-shadow: 0 4px 12px rgba(6,199,85,0.3) !important; }
@media (max-width: 768px) { a[href*="lin.ee"] { font-size: 22px !important; padding: 12px 28px !important; } }

.mdo-products { background: #FFFFFF !important; border: 1.5px solid var(--mdo-border) !important; border-radius: 12px !important; padding: 28px !important; margin: 32px 0 !important; }
.mdo-products h3 { font-family: 'Noto Serif TC', serif !important; font-size: 24px !important; font-weight: 600 !important; margin-bottom: 16px !important; }
.mdo-product-card { background: #FFFFFF !important; border-radius: 8px !important; padding: 16px !important; margin-bottom: 12px !important; box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important; }

.mdo-related { margin: 32px 0 !important; }
.mdo-related h3 { font-family: 'Noto Serif TC', serif !important; font-size: 26px !important; font-weight: 700 !important; margin-bottom: 16px !important; }
.mdo-related a { display: block !important; background: #FFFFFF !important; border: 1px solid #E8E5E0 !important; border-radius: 8px !important; padding: 16px 20px !important; margin-bottom: 10px !important; color: var(--mdo-text) !important; text-decoration: none !important; font-size: 24px !important; font-weight: 600 !important; transition: transform 0.2s, box-shadow 0.2s !important; }
.mdo-related a:hover { transform: translateY(-2px) !important; box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important; }

.mdo-disclaimer { background: #F9F7F5 !important; border-radius: 8px !important; padding: 16px 20px !important; font-size: 18px !important; color: var(--mdo-text-light) !important; margin: 32px 0 16px !important; line-height: 1.6 !important; }
.mdo-author { font-size: 20px !important; color: var(--mdo-text-light) !important; padding-top: 16px !important; border-top: 1px solid #E8E5E0 !important; margin-top: 24px !important; }

.line-float-btn { position: fixed !important; bottom: 24px !important; right: 24px !important; width: 60px !important; height: 60px !important; background: var(--mdo-line-green) !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: 0 4px 12px rgba(6,199,85,0.4) !important; z-index: 9999 !important; transition: transform 0.2s !important; }
.line-float-btn:hover { transform: scale(1.1) !important; }

.main-navigation .menu-item > a { font-size: 20px !important; font-weight: 500 !important; }
@media (max-width: 768px) { .main-navigation .menu-item > a { font-size: 18px !important; } }
