/* ==========================================================
   Public blog styles (blog/index.php + blog/detail.php)
   Fonts change karne ho toh sirf neeche wale 2 variables badlo.
   ========================================================== */
:root {
    --font-heading: 'Fraunces', Georgia, 'Times New Roman', serif;
    --font-body: 'Inter', Arial, Helvetica, sans-serif;
    --blog-ink: #1b1b1b;
    --blog-muted: #5b5f63;
    --blog-accent: #2c4a3a;
    --blog-link: #087fa5;
    --blog-hero-bg: #f8f5ef;
    --blog-list-bg: #ffffff;
    --blog-card-bg: #ffffff;
    --blog-radius: 16px;
}

.blog-content img {
    max-width: 100%;
    width: 100%;
    height: 100%;
    display: block;
    margin: 16px auto;
    border-radius: 10px;
}

.blog-page {
    margin: 0;
    font-family: var(--font-body);
    background: var(--blog-list-bg);
    -webkit-font-smoothing: antialiased;
}

h1{
    color: black;
}

header{
    color: white;
}


.blog-page a {
    color: inherit;
    text-decoration: none;
}

/* ---------- Hero ---------- */
.blog-hero {
    padding: 80px 20px 56px;
    text-align: center;
    background: var(--blog-hero-bg);
}

.blog-hero h1 {
    margin: 0 0 14px;
    font-family: var(--font-heading);
    font-size: clamp(40px, 5.2vw, 62px);
    line-height: 1.1;
    font-weight: 700;
}

.blog-hero p {
    margin: 0;
    color: var(--blog-muted);
    font-size: 19px;
}

/* ---------- List section ---------- */
.blog-section {
    padding: 56px 20px 96px;
    background: var(--blog-list-bg);
}

.blog-container {
    max-width: 1240px;
    margin: 0 auto;
}

/* Category filters */
.blog-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0 0 40px;
}

.blog-filters a {
    padding: 9px 18px;
    font-size: 14px;
    font-weight: 500;
    color: var(--blog-muted);
    background: #fff;
    border: 1px solid #e7e0d2;
    border-radius: 999px;
    transition: all 0.2s ease;
}

.blog-filters a:hover,
.blog-filters a.active {
    color: #fff;
    background: var(--blog-accent);
    border-color: var(--blog-accent);
}

/* Grid */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    align-items: stretch;
}

/* Card */
.blog-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--blog-card-bg);
    border-radius: var(--blog-radius);
    box-shadow: 0 6px 26px rgba(60, 45, 15, 0.07);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 34px rgba(60, 45, 15, 0.12);
}

.blog-card-image {
    display: block;
    aspect-ratio: 2 / 1;
    overflow: hidden;
    background: linear-gradient(135deg, #dfeee5, #f1e8d4);
}

.blog-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.blog-card:hover .blog-card-image img {
    transform: scale(1.03);
}

.blog-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 28px 30px 32px;
}

.blog-card-cat {
    display: block;
    margin-bottom: 14px;
    color: var(--blog-accent);
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.blog-card-title {
    margin: 0 0 14px;
    font-family: var(--font-heading);
    font-size: 26px;
    line-height: 1.25;
    font-weight: 700;
}

.blog-card-title a:hover {
    color: var(--blog-accent);
}

.blog-card-excerpt {
    display: -webkit-box;
    margin: 0 0 22px;
    overflow: hidden;
    color: var(--blog-muted);
    font-size: 16px;
    line-height: 1.65;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.blog-card-more {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 10px;
    margin-top: auto;
    color: var(--blog-muted);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    transition: color 0.2s ease, gap 0.2s ease;
}

.blog-card-more:hover {
    color: var(--blog-accent);
    gap: 14px;
}

/* Pagination */
.blog-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 52px;
}

.blog-pagination a,
.blog-pagination span {
    min-width: 42px;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    color: var(--blog-muted);
    background: #fff;
    border: 1px solid #e7e0d2;
    border-radius: 10px;
}

.blog-pagination a:hover {
    border-color: var(--blog-accent);
    color: var(--blog-accent);
}

.blog-pagination .current {
    color: #fff;
    background: var(--blog-accent);
    border-color: var(--blog-accent);
}

.blog-pagination .disabled {
    opacity: 0.45;
}

/* Empty state */
.blog-empty {
    max-width: 520px;
    margin: 30px auto;
    padding: 50px 30px;
    text-align: center;
    color: var(--blog-muted);
    background: #fff;
    border-radius: var(--blog-radius);
    box-shadow: 0 6px 26px rgba(60, 45, 15, 0.06);
}

.blog-empty h2 {
    margin: 0 0 10px;
    font-family: var(--font-heading);
    color: var(--blog-ink);
}

/* ---------- Article (detail page) ---------- */
.blog-article-wrap {
    padding: 56px 20px 90px;
    background: var(--blog-list-bg);
}

.blog-article {
    max-width: 820px;
    margin: 0 auto;
}

.blog-back {
    display: inline-block;
    margin-bottom: 26px;
    color: var(--blog-muted);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.blog-back:hover {
    color: var(--blog-accent);
}

.blog-preview-note {
    margin-bottom: 22px;
    padding: 12px 16px;
    color: #7a4b00;
    background: #fff4d6;
    border: 1px solid #f2dc9b;
    border-radius: 10px;
    font-size: 14px;
}

.blog-article .blog-card-cat {
    margin-bottom: 16px;
}

.blog-article h1 {
    margin: 0 0 16px;
    font-family: var(--font-heading);
    font-size: clamp(30px, 4.4vw, 46px);
    line-height: 1.18;
    font-weight: 700;
}

.blog-article-meta {
    margin-bottom: 30px;
    color: var(--blog-muted);
    font-size: 14px;
}

.blog-article-cover {
    display: block;
    width: 100%;
    aspect-ratio: 2 / 1;
    margin-bottom: 40px;
    object-fit: cover;
    border-radius: var(--blog-radius);
    box-shadow: 0 10px 34px rgba(60, 45, 15, 0.12);
}

.blog-content {
    font-size: 18px;
    line-height: 1.85;
    color: #2b2d2f;
}

.blog-content p {
    margin: 0 0 1.3em;
}

.blog-content h2,
.blog-content h3,
.blog-content h4 {
    margin: 1.8em 0 0.6em;
    font-family: var(--font-heading);
    line-height: 1.25;
    color: var(--blog-ink);
}

.blog-content h2 { font-size: 30px; }
.blog-content h3 { font-size: 24px; }
.blog-content h4 { font-size: 20px; }

.blog-content ul,
.blog-content ol {
    margin: 0 0 1.3em;
    padding-left: 1.5em;
}

.blog-content li {
    margin-bottom: 0.5em;
}

.blog-content blockquote {
    margin: 1.6em 0;
    padding: 6px 0 6px 22px;
    color: var(--blog-muted);
    font-style: italic;
    border-left: 4px solid var(--blog-accent);
}

.blog-content a {
    color: var(--blog-link);
    text-decoration: underline;
}

.blog-content hr {
    margin: 2em 0;
    border: 0;
    border-top: 1px solid #e7e0d2;
}

/* Related */
.blog-related {
    max-width: 1240px;
    margin: 80px auto 0;
}

.blog-related > h2 {
    margin: 0 0 28px;
    font-family: var(--font-heading);
    font-size: 32px;
    text-align: center;
}

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 26px;
    }
}

@media (max-width: 640px) {
    .blog-hero {
        padding: 56px 18px 40px;
    }

    .blog-hero p {
        font-size: 16px;
    }

    .blog-section {
        padding: 40px 16px 70px;
    }

    .blog-grid {
        grid-template-columns: 1fr;
    }

    .blog-card-body {
        padding: 24px 22px 28px;
    }

    .blog-card-title {
        font-size: 23px;
    }

    .blog-content {
        font-size: 17px;
    }
}