/* --- 1. VARIABLES (ZEN THEME) --- */
:root {
    --primary: #8D6E63;  /* Nâu đất */
    --secondary: #D4AF37; /* Vàng kim */
    --text-dark: #2c3e50;
    --text-light: #546e7a;
    --bg-body: #F9F7F2;
    --white: #FFFFFF;
    --shadow: 0 4px 20px rgba(0,0,0,0.05);

    --kim: #F0F0F0;
    --moc: #E8F5E9;
    --thuy: #E3F2FD;
    --hoa: #FFEBEE;
    --tho: #FFF3E0;
}

/* --- 3. HERO & TITLE --- */
.article-header { text-align: center; padding: 60px 0 40px; max-width: 800px; margin: 0 auto; }
.cat-tag { 
    display: inline-block; background: var(--secondary); color: white; 
    padding: 5px 15px; border-radius: 20px; font-size: 0.8rem; 
    text-transform: uppercase; letter-spacing: 1px; margin-bottom: 20px;
}
.main-title { font-size: 2.8rem; line-height: 1.3; margin-bottom: 20px; color: var(--text-dark); }
.article-meta { font-size: 0.9rem; color: #888; }
.article-lead { font-size: 1.2rem; color: var(--text-dark); font-style: italic; margin-bottom: 40px; border-left: 4px solid var(--secondary); padding-left: 20px; }

/* --- 4. CONTENT LAYOUT --- */
.content-wrapper { display: grid; grid-template-columns: 1fr 300px; gap: 40px; margin-bottom: 80px; }
.main-content { background: var(--white); padding: 40px; border-radius: 8px; box-shadow: var(--shadow); }


/* --- 5. CONTENT STYLING --- */
/* Blockquote */
blockquote {
    background: #fff8e1; padding: 20px 30px; border-left: 5px solid #ffc107;
    margin: 30px 0; border-radius: 0 8px 8px 0;
    font-style: italic; color: #5d4037;
}

/* Lists */
.styled-list { list-style: none; padding: 0; }
.styled-list li { position: relative; padding-left: 25px; margin-bottom: 10px; }
.styled-list li::before { 
    content: '\f00c'; font-family: 'Font Awesome 6 Free'; font-weight: 900;
    position: absolute; left: 0; color: var(--secondary);
}

/* Element Cards (Ngũ Hành) */
.element-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 30px 0; }
.elem-box { text-align: center; padding: 15px 5px; border-radius: 8px; font-weight: 700; font-size: 0.9rem; }
.bg-kim { background: var(--kim); color: #555; }
.bg-moc { background: var(--moc); color: #2e7d32; }
.bg-thuy { background: var(--thuy); color: #1565c0; }
.bg-hoa { background: var(--hoa); color: #c62828; }
.bg-tho { background: var(--tho); color: #795548; }

/* Table Style */
.data-table { width: 100%; border-collapse: collapse; margin: 30px 0; font-size: 0.95rem; }
.data-table th { background: var(--primary); color: white; padding: 12px; text-align: left; }
.data-table td { border-bottom: 1px solid #eee; padding: 12px; }
.data-table tr:hover { background: #f9f9f9; }

/* Bat Quai Cards */
.bagua-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin: 30px 0; }
.bagua-card {
    background: #fcfcfc; border: 1px solid #eee; padding: 20px; border-radius: 8px;
    display: flex; gap: 15px; align-items: flex-start;
}
.bagua-icon { 
    width: 50px; height: 50px; background: var(--primary); color: white;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-weight: 700; flex-shrink: 0;
}
.bagua-info h4 { margin-bottom: 5px; font-size: 1.1rem; color: var(--text-dark); }
.bagua-info p { font-size: 0.9rem; margin-bottom: 0; color: #666; }

/* --- 6. FOOTER --- */
footer { background: #263238; color: #ccc; padding: 60px 0; text-align: center; }
.f-links a { color: #fff; margin: 0 10px; text-decoration: none; }

/* Responsive */
@media (max-width: 900px) {
    .content-wrapper { grid-template-columns: 1fr; }
    .sidebar { display: none; } /* Hide sidebar on mobile for focus */
    .main-title { font-size: 2rem; }
    .element-grid { grid-template-columns: repeat(3, 1fr); }
    .bagua-grid { grid-template-columns: 1fr; }
}