:root{
    --green:#8BC34A;
	--light:#f8f9fa;
    --green-dark:#2E7D32;
    --blue:#0387CD;
    --cream:#FFFDF8;
    --cream-dark:#F9F4E6;
	--green-dark:#E8F5E9;
    --text:#083d2d;
}
body{
    background:var(--cream);
    color:var(--text);
    padding-top:78px;
}
.site-navbar{
    background:var(--light);
}
.site-navbar .nav-link,
.site-navbar .navbar-brand{
    color:var(--text)!important;
    font-weight:600;
}
.site-navbar .nav-link.active{
    text-decoration:underline;
    text-underline-offset:5px;
}
.brand-mark{
    width:42px;height:42px;border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.55);font-weight:800;color:var(--text);
}
.hero-blog{
    background:linear-gradient(rgba(8,61,45,.50), rgba(8,61,45,.50)), url('../img/hero-default.jpg') center/cover no-repeat;
    min-height:58vh;display:flex;align-items:center;color:#fff;
}
.hero-card{
    background:rgba(255,253,248,.92);
    color:var(--text);
    border-radius:22px;
    box-shadow:0 15px 35px rgba(0,0,0,.16);
    padding:2rem;
}
.section-title::after{
    content:"";
    display:block;
    width:85px;
    height:4px;
    background:var(--green);
    margin:12px auto 0;
}
.post-card,.panel-card,.admin-card{
    background:#fff;
    border:none;
    border-radius:18px;
    box-shadow:0 8px 22px rgba(0,0,0,.07);
}
.post-card{
    overflow:hidden;
    height:100%;
}
.post-card .cover{
    height:220px;
    object-fit:cover;
    width:100%;
    background:#e9ecef;
}
.post-meta{
    color:#6c757d;
    font-size:.92rem;
}
.badge-soft{
    background:#E4F3FE;
    color:var(--blue);
    border:1px solid rgba(3,135,205,.15);
}
.btn-brand{
    background:var(--green);
    border:none;
    color:var(--text);
    font-weight:600;
}
.btn-brand:hover{
    background:#7CB342;
    color:var(--text);
}
.btn-blue{
    background:var(--blue);
    color:#fff;
    border:none;
}
.btn-blue:hover{
    background:#04A4F6;
    color:#fff;
}
.bg-cream-dark{background:var(--cream-dark);}
.bg-cream-dark{background:var(--green-dark);}
.panel-card{padding:1.25rem;}
.article-content img{max-width:100%;height:auto;border-radius:10px;}
.article-content iframe{max-width:100%;}
.article-content table{width:100%;border-collapse:collapse;}
.article-content table td,.article-content table th{border:1px solid #ddd;padding:.5rem;}
.site-footer{background:var(--cream-dark);}
.page-link{color:var(--green);}
.page-item.active .page-link{background:var(--green);border-color:var(--green);color:var(--text);}
.admin-sidebar a{text-decoration:none;}
.login-box{
    max-width:440px;
    margin:4rem auto;
}
.small-muted{font-size:.92rem;color:#6c757d;}

.post-card img {
    transition: transform 0.3s ease;
}

.post-card a:hover img {
    transform: scale(1.05);
}

a {
    color: var(--green);
    text-decoration: underline;
    position: relative;
    transition: all 0.25s ease;
}

a:hover {
    color: var(--green);
    text-decoration: none;
}
.category-filters {
    margin-top: 1.5rem;
}

.filter-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 1.2rem;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    border: 1px solid #d7d7d7;
    background: #fff;
    color: #495057;
    transition: all 0.25s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.filter-pill:hover {
    background: #f8f9fa;
    color: #212529;
    border-color: #bfc5cb;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.filter-pill.active {
    background: linear-gradient(135deg, #8b1e3f, #b23157);
    color: #fff;
    border-color: #8b1e3f;
    box-shadow: 0 6px 18px rgba(139, 30, 63, 0.25);
}

.filter-pill.active:hover {
    color: #fff;
    opacity: 0.95;
}

.letter-spacing-1 {
    letter-spacing: 0.08em;
}