﻿/* =========================================================
   Blog & News Page Styles
   Extends global site.css with rounded card design
   ========================================================= */

.kcl-section {
    padding-top: 45px;
}

/* Filter chips container */
.blog-filters-wrapper {
    margin-bottom: 1rem;
}

.blog-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: -10px;
}

/* Filter chips */
.kcl-filter-chip {
    display: inline-block;
    padding: 6px 18px;
    font-size: 0.85rem;
    font-weight: 500;
    background: var(--kcl-surface);
    border: 1px solid var(--kcl-border);
    border-radius: 8px;
    color: var(--kcl-text-soft);
    cursor: pointer;
    transition: all var(--kcl-transition);
    text-decoration: none;
    white-space: nowrap;
}

    .kcl-filter-chip:hover,
    .kcl-filter-chip.active {
        background: var(--kcl-primary);
        border-color: var(--kcl-primary);
        color: white;
        text-decoration: none;
    }

/* Blog card – exactly like Product cards */
.kcl-blog-card {
    background: var(--kcl-surface-soft);
    border-radius: 28px;
    cursor: pointer;
    transition: all 0.35s ease;
    box-shadow: var(--kcl-shadow-bottom), 0 -10px 20px -5px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

    .kcl-blog-card:hover {
        transform: translateY(-5px);
        background: #dbdbdb;
    }

.kcl-blog-card-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--kcl-border);
}

    .kcl-blog-card-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.35s ease;
    }

.kcl-blog-card:hover .kcl-blog-card-image img {
    transform: scale(1.03);
}

.kcl-blog-card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.kcl-blog-category {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--kcl-primary-dark);
    background: rgba(42, 126, 168, 0.1);
    padding: 4px 10px;
    border-radius: var(--kcl-radius-pill);
}

.kcl-blog-date {
    font-size: 0.75rem;
    color: var(--kcl-text-muted);
}

.kcl-blog-title {
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
    margin: 12px 0 12px;
    text-align: justify;
    text-justify: inter-word;
}


    .kcl-blog-title a {
        color: var(--kcl-text);
        text-decoration: none;
        transition: color var(--kcl-transition);
    }

        .kcl-blog-title a:hover {
            color: var(--kcl-primary);
        }

/* Blog excerpt */
.kcl-blog-excerpt {
    color: var(--kcl-text-soft);
    font-size: 0.9rem;
    line-height: 1.7;
    margin-bottom: 20px;
    flex-grow: 1;
    text-align: justify;
    text-justify: inter-word;
}

/* ==========================
   Blog Article Content
   (Full Content Justify)
   ========================== */

.kcl-blog-content {
    text-align: justify;
    text-justify: inter-word;
    line-height: 1.8;
    color: var(--kcl-text);
}

    .kcl-blog-content p,
    .kcl-blog-content li,
    .kcl-blog-content blockquote {
        text-align: justify;
        text-justify: inter-word;
        line-height: 1.8;
        margin-bottom: 1rem;
    }

    .kcl-blog-content h1,
    .kcl-blog-content h2,
    .kcl-blog-content h3,
    .kcl-blog-content h4,
    .kcl-blog-content h5,
    .kcl-blog-content h6 {
        text-align: left;
        margin-top: 1.8rem;
        margin-bottom: 1rem;
        font-weight: 700;
    }

    .kcl-blog-content img {
        max-width: 100%;
        height: auto;
        border-radius: 10px;
    }

    .kcl-blog-content pre {
        background: #f4f4f4;
        padding: 15px;
        border-radius: 8px;
        overflow-x: auto;
        border: 1px solid #ddd;
        margin: 1rem 0;
    }

    .kcl-blog-content code {
        font-family: Consolas, Monaco, monospace;
    }

.kcl-blog-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--kcl-border);
}

.kcl-blog-author {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--kcl-text);
}

.kcl-blog-readtime {
    font-weight: normal;
    color: var(--kcl-text-muted);
}

.kcl-blog-readmore {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--kcl-primary-dark);
    text-decoration: none;
    transition: color var(--kcl-transition);
}

    .kcl-blog-readmore:hover {
        color: var(--kcl-primary);
        text-decoration: underline;
    }

/* Newsletter card */
.kcl-newsletter-card {
    background: var(--kcl-surface);
    border-radius: 22px;
    padding: 24px 28px;
    margin-top: 60px;
    box-shadow: var(--kcl-shadow-sm);
    border: 1px solid var(--kcl-border);
}

    .kcl-newsletter-card .kcl-form-control {
        border-radius: 10px;
        padding: 10px 16px;
    }

    .kcl-newsletter-card .kcl-btn {
        border-radius: 10px;
        padding: 10px 20px;
    }

/* Responsive */
@media (max-width: 768px) {

    .kcl-section {
        padding-top: 30px;
    }

    .kcl-blog-card-body {
        padding: 18px;
    }

    .kcl-blog-title {
        font-size: 1.2rem;
    }

    .kcl-newsletter-card {
        padding: 20px 16px;
        margin-top: 40px;
    }

    .kcl-filter-chip {
        padding: 5px 14px;
        font-size: 0.78rem;
    }

    .blog-filters {
        gap: 6px;
        margin-top: -8px;
    }

    a.kcl-filter-chip {
        text-decoration: none;
    }

        a.kcl-filter-chip:hover {
            text-decoration: none;
        }
}

@media (max-width: 480px) {

    .kcl-filter-chip {
        padding: 4px 10px;
        font-size: 0.7rem;
    }

    .blog-filters {
        gap: 4px;
        margin-top: -6px;
    }

    .kcl-newsletter-card {
        padding: 16px 12px;
    }
}
