/* --- Blog Archive --- */
    .blog-archive {
        max-width: 1200px;
        margin: 0 auto;
        padding: 100px 24px 80px;
    }
    .blog-archive__header {
        text-align: center;
        margin-bottom: 60px;
    }
    .blog-archive__title {
        font-size: 42px;
        font-weight: 400;
        color: #0e0e0d;
        margin: 0 0 12px;
        letter-spacing: 0.02em;
    }
    .blog-archive__title::after {
        content: '';
        display: block;
        width: 60px;
        height: 2px;
        background: linear-gradient(90deg, #523744, transparent);
        margin: 16px auto 0;
    }
    .blog-archive__subtitle {
        font-size: 16px;
        color: #523744;
        font-style: italic;
        margin: 16px 0 0;
    }
    .blog-archive__grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 32px;
    }
    @media (max-width: 960px) {
        .blog-archive__grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 600px) {
        .blog-archive__grid { grid-template-columns: 1fr; }
        .blog-archive { padding: 40px 16px 60px; }
        .blog-archive__title { font-size: 32px; }
    }

    /* --- Blog Card --- */
    .blog-card {
        position: relative;
        border-radius: 16px;
        overflow: hidden;
        background: #fff;
        box-shadow: 0 2px 12px rgba(0,0,0,0.06);
        transition: transform 0.35s cubic-bezier(0.25,0.8,0.25,1), box-shadow 0.35s ease;
    }
    .blog-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 32px rgba(82,55,68,0.15);
    }
    .blog-card__link {
        position: relative;
    }
    .blog-card::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: linear-gradient(90deg, #523744, #7a5268);
        border-radius: 0 0 16px 16px;
        opacity: 0;
        transition: opacity 0.35s ease;
    }
    .blog-card:hover::after {
        opacity: 1;
    }
    .blog-card__link {
        text-decoration: none;
        color: inherit;
        display: block;
    }
    .blog-card__image {
        aspect-ratio: 16/10;
        overflow: hidden;
        background: #e8e4de;
    }
    .blog-card__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.6s cubic-bezier(0.25,0.8,0.25,1);
    }
    .blog-card:hover .blog-card__image img {
        transform: scale(1.04);
    }
    .blog-card__image--placeholder {
        background: linear-gradient(135deg, #e8e4de 0%, #d4cec4 100%);
    }
    .blog-card__body {
        padding: 24px;
    }
    .blog-card__category {
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        color: #523744;
        font-weight: 600;
    }
    .blog-card__title {
        font-size: 20px;
        font-weight: 400;
        line-height: 1.35;
        margin: 8px 0 10px;
        color: #0e0e0d;
    }
    .blog-card__excerpt {
        font-size: 14px;
        line-height: 1.6;
        color: #555;
        margin: 0 0 16px;
    }
    .blog-card__date {
        font-size: 12px;
        color: #8a7080;
        letter-spacing: 0.5px;
    }

    /* --- Blog Pagination --- */
    .blog-pagination {
        margin-top: 60px;
        text-align: center;
    }
    .blog-pagination .nav-links {
        display: flex;
        justify-content: center;
        gap: 8px;
    }
    .blog-pagination .page-numbers {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        border-radius: 50%;
        text-decoration: none;
        color: #523744;
        font-size: 15px;
        transition: all 0.3s ease;
    }
    .blog-pagination .page-numbers.current,
    .blog-pagination .page-numbers:hover {
        background: #523744;
        color: #fff;
    }
    .blog-archive__empty {
        text-align: center;
        padding: 80px 24px;
        color: #999;
        font-style: italic;
        font-size: 18px;
    }

    /* --- Single Post --- */
    .blog-single {
        max-width: 100%;
        padding-top: 40px;
    }
    .blog-single__hero {
        width: 100%;
        margin-top: 40px;
        max-height: 520px;
        overflow: hidden;
    }
    .blog-single__hero img {
        width: 100%;
        height: 520px;
        object-fit: cover;
    }
    .blog-single__content {
        max-width: 740px;
        margin: 0 auto;
        padding: 48px 24px 80px;
    }
    .blog-single__meta {
        display: flex;
        align-items: center;
        gap: 16px;
        margin-bottom: 20px;
    }
    .blog-single__category a {
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        color: #523744;
        text-decoration: none;
        font-weight: 600;
    }
    .blog-single__category a:hover {
        color: #3a1f2c;
    }
    .blog-single__date {
        font-size: 13px;
        color: #8a7080;
    }
    .blog-single__title {
        font-size: 40px;
        font-weight: 400;
        line-height: 1.25;
        color: #0e0e0d;
        margin: 0 0 40px;
        letter-spacing: 0.01em;
    }
    .blog-single__title::after {
        content: '';
        display: block;
        width: 60px;
        height: 2px;
        background: linear-gradient(90deg, #523744, transparent);
        margin-top: 24px;
    }
    .blog-single__text {
        font-size: 17px;
        line-height: 1.8;
        color: #333;
    }
    .blog-single__text p {
        margin-bottom: 1.5em;
    }
    .blog-single__text h2 {
        font-size: 28px;
        font-weight: 400;
        margin: 2em 0 0.8em;
        color: #0e0e0d;
    }
    .blog-single__text h3 {
        font-size: 22px;
        font-weight: 400;
        margin: 1.8em 0 0.6em;
        color: #0e0e0d;
    }
    .blog-single__text img {
        border-radius: 16px;
        margin: 1.5em 0;
        max-width: 100%;
        height: auto;
    }
    .blog-single__text blockquote {
        border-left: 3px solid #523744;
        margin: 2em 0;
        padding: 16px 24px;
        font-style: italic;
        color: #523744;
        background: rgba(82,55,68,0.05);
        border-radius: 0 12px 12px 0;
    }

    /* Tags */
    .blog-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 40px;
        padding-top: 32px;
        border-top: 1px solid #e8e4de;
    }
    .blog-tags a {
        display: inline-block;
        padding: 6px 16px;
        border-radius: 50px;
        background: rgba(82,55,68,0.08);
        color: #523744;
        font-size: 13px;
        text-decoration: none;
        transition: all 0.3s ease;
    }
    .blog-tags a:hover {
        background: #523744;
        color: #fff;
    }

    /* Post navigation */
    .blog-single__nav {
        display: flex;
        justify-content: space-between;
        gap: 24px;
        margin-top: 48px;
        padding-top: 40px;
        border-top: 1px solid #e8e4de;
    }
    .blog-nav__link {
        text-decoration: none;
        color: inherit;
        flex: 1;
        padding: 20px;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 2px 8px rgba(0,0,0,0.05);
        transition: all 0.3s ease;
    }
    .blog-nav__link:hover {
        box-shadow: 0 6px 20px rgba(0,0,0,0.08);
        transform: translateY(-2px);
    }
    .blog-nav__next { text-align: right; }
    .blog-nav__label {
        display: block;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        color: #8a7080;
        margin-bottom: 6px;
    }
    .blog-nav__title {
        display: block;
        font-size: 16px;
        color: #0e0e0d;
        line-height: 1.35;
    }
    @media (max-width: 600px) {
        .blog-single__title { font-size: 30px; }
        .blog-single__hero img { height: 300px; }
        .blog-single__content { padding: 32px 16px 60px; }
        .blog-single__nav { flex-direction: column; }
    }
