/**
 * MiniCAD -- Blog Listing Page Styles
 *
 * Blog hero, featured card, blog grid, blog cards, pagination, empty state.
 * Loaded on page-blog.php.
 *
 * @package MiniCAD
 */

/* -- Blog body (tint bg + curved overlap) ----------------------- */

.mc-blog { position: relative; background: var(--mc-tint); }

/* -- Featured card (horizontal hero) ---------------------------- */

.mc-blog-featured {
    display: grid; grid-template-columns: 56fr 44fr; gap: 0;
    background: var(--mc-white);
    border: 1px solid rgba(var(--mc-dark-rgb),0.07);
    border-radius: var(--mc-radius); overflow: hidden;
    margin-bottom: calc(24px * var(--mc-scale));
    transition: transform 0.4s var(--mc-ease), box-shadow 0.4s var(--mc-ease);
    cursor: pointer;
}
.mc-blog-featured:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 60px rgba(var(--mc-dark-rgb),0.14),
                0 0 0 1px rgba(var(--mc-keppel-rgb),0.12);
}
.mc-blog-featured__thumb-link { display: block; text-decoration: none; }
.mc-blog-featured__thumb {
    position: relative; overflow: hidden; height: 100%; min-height: calc(280px * var(--mc-scale));
    background: linear-gradient(135deg, var(--mc-dark) 0%, var(--mc-calypso) 55%, var(--mc-deep) 100%);
}
.mc-blog-featured__img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform 0.6s var(--mc-ease);
}
.mc-blog-featured:hover .mc-blog-featured__img { transform: scale(1.04); }
.mc-blog-featured__thumb::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(var(--mc-deep-rgb),0.3) 0%, transparent 60%);
    pointer-events: none;
}
.mc-blog-featured__badge {
    position: absolute; top: calc(16px * var(--mc-scale)); right: calc(16px * var(--mc-scale)); z-index: 4;
    font-family: var(--mc-font-head); font-size: var(--mc-fs-2xs); font-weight: 800;
    letter-spacing: 1.2px; text-transform: uppercase;
    color: var(--mc-deep); background: var(--mc-amber);
    padding: calc(5px * var(--mc-scale)) calc(14px * var(--mc-scale)); border-radius: var(--mc-radius-pill);
    box-shadow: 0 4px 14px rgba(var(--mc-amber-rgb),0.35);
}
.mc-blog-featured__body {
    padding: calc(24px * var(--mc-scale)) calc(28px * var(--mc-scale)); display: flex; flex-direction: column; justify-content: center;
}
.mc-blog-featured__title {
    font-family: var(--mc-font-head); font-size: clamp(var(--mc-fs-2xl),2.4vw,calc(var(--mc-fs) * 2)); font-weight: 800;
    line-height: 1.2; margin-bottom: calc(12px * var(--mc-scale)); letter-spacing: -0.4px;
}
.mc-blog-featured__title a { color: var(--mc-dark); text-decoration: none; transition: color 0.25s ease; }
.mc-blog-featured:hover .mc-blog-featured__title a { color: var(--mc-keppel); }
.mc-blog-featured__excerpt {
    font-family: var(--mc-font-body); font-size: var(--mc-fs-md);
    color: rgba(var(--mc-dark-rgb),0.6); line-height: 1.7;
    margin-bottom: calc(20px * var(--mc-scale));
}

/* -- Grid ------------------------------------------------------- */

.mc-blog__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(24px * var(--mc-scale)); }

/* -- Blog card -------------------------------------------------- */

.mc-blog-card {
    background: var(--mc-white);
    border: 1px solid rgba(var(--mc-dark-rgb), 0.07);
    border-radius: var(--mc-radius); overflow: hidden;
    display: flex; flex-direction: column;
    transition: transform 0.35s var(--mc-ease), box-shadow 0.35s var(--mc-ease), border-color 0.25s ease;
    cursor: pointer;
}
.mc-blog-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(var(--mc-dark-rgb), 0.12),
                0 0 0 1px rgba(var(--mc-keppel-rgb),0.15);
    border-color: rgba(var(--mc-keppel-rgb), 0.25);
}

/* Thumbnail */
.mc-blog-card__thumb-link { display: block; text-decoration: none; }
.mc-blog-card__thumb {
    position: relative; overflow: hidden; aspect-ratio: 16/9;
    background: linear-gradient(135deg, var(--mc-dark) 0%, var(--mc-calypso) 55%, var(--mc-deep) 100%);
}
.mc-blog-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s var(--mc-ease); }
.mc-blog-card:hover .mc-blog-card__img { transform: scale(1.05); }
.mc-blog-card__thumb::before {
    content: ''; position: absolute; inset: 0; z-index: 2;
    background: rgba(var(--mc-deep-rgb), 0.4);
    opacity: 0; transition: opacity 0.3s ease; pointer-events: none;
}
.mc-blog-card:hover .mc-blog-card__thumb::before { opacity: 1; }
.mc-blog-card__thumb::after {
    content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
    background: linear-gradient(transparent, rgba(var(--mc-deep-rgb), 0.7));
    pointer-events: none; z-index: 1;
}

/* Placeholder */
.mc-blog-card__placeholder {
    width: 100%; aspect-ratio: 16/9;
    background: rgba(var(--mc-keppel-rgb), 0.05);
    display: flex; align-items: center; justify-content: center;
    position: relative; overflow: hidden; color: var(--mc-keppel);
}
.mc-blog-card__placeholder::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(rgba(var(--mc-keppel-rgb), 0.05) 1px, transparent 1px),
                linear-gradient(90deg, rgba(var(--mc-keppel-rgb), 0.05) 1px, transparent 1px);
    background-size: 20px 20px;
}

/* Category badge */
.mc-blog-card__category {
    position: absolute; top: calc(12px * var(--mc-scale)); left: calc(12px * var(--mc-scale)); z-index: 4;
    font-family: var(--mc-font-head); font-size: var(--mc-fs-2xs); font-weight: 700;
    letter-spacing: var(--mc-ls-label); text-transform: uppercase; color: var(--mc-white);
    background: rgba(var(--mc-keppel-rgb), 0.85); padding: calc(4px * var(--mc-scale)) calc(10px * var(--mc-scale));
    border-radius: var(--mc-radius-sm); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: background 0.2s ease;
}
.mc-blog-card:hover .mc-blog-card__category { background: var(--mc-keppel); }

/* Body */
.mc-blog-card__body { padding: calc(20px * var(--mc-scale)); flex: 1; display: flex; flex-direction: column; }
.mc-blog-card__meta { display: flex; align-items: center; gap: calc(6px * var(--mc-scale)); margin-bottom: calc(10px * var(--mc-scale)); }
.mc-blog-card__date,
.mc-blog-card__read-time { font-family: var(--mc-font-head); font-size: calc(var(--mc-fs) * 0.786); font-weight: 600; color: var(--mc-calypso); letter-spacing: 0.3px; }
.mc-blog-card__dot { color: rgba(var(--mc-calypso-rgb), 0.4); font-size: var(--mc-fs); line-height: 1; }
.mc-blog-card__title { font-family: var(--mc-font-head); font-size: calc(var(--mc-fs) * 1.214); font-weight: 700; line-height: 1.35; margin-bottom: calc(8px * var(--mc-scale)); }
.mc-blog-card__title a { color: var(--mc-dark); text-decoration: none; transition: color 0.2s ease; }
.mc-blog-card:hover .mc-blog-card__title a { color: var(--mc-keppel); }
.mc-blog-card__excerpt { font-family: var(--mc-font-body); font-size: var(--mc-fs-body); color: rgba(var(--mc-dark-rgb), 0.65); line-height: 1.65; flex: 1; margin-bottom: calc(14px * var(--mc-scale)); }
.mc-blog-card__cta {
    display: inline-flex; align-items: center; gap: calc(6px * var(--mc-scale));
    font-family: var(--mc-font-head); font-size: var(--mc-fs-sm); font-weight: 700;
    color: var(--mc-keppel-text); text-transform: uppercase;
    letter-spacing: 0.8px; text-decoration: none;
    transition: color 0.2s ease, gap 0.2s ease; margin-top: auto;
}
.mc-blog-card__cta:hover { color: var(--mc-amber); gap: calc(10px * var(--mc-scale)); }

/* -- Pagination ------------------------------------------------- */

.mc-blog__pagination { display: flex; justify-content: center; align-items: center; gap: calc(6px * var(--mc-scale)); margin-top: calc(32px * var(--mc-scale)); flex-wrap: wrap; }
.mc-blog__pagination a,
.mc-blog__pagination span {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: calc(44px * var(--mc-scale)); height: calc(44px * var(--mc-scale)); padding: 0 calc(12px * var(--mc-scale));
    font-family: var(--mc-font-head); font-size: var(--mc-fs); font-weight: 600;
    border-radius: calc(8px * var(--mc-scale)); border: 1px solid rgba(var(--mc-calypso-rgb), 0.2);
    color: var(--mc-calypso); background: var(--mc-white);
    text-decoration: none; transition: all 0.25s var(--mc-ease);
}
.mc-blog__pagination a:hover {
    border-color: var(--mc-keppel); color: var(--mc-keppel);
    background: rgba(var(--mc-keppel-rgb), 0.06);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(var(--mc-keppel-rgb), 0.15);
}
.mc-blog__pagination span.current {
    background: var(--mc-keppel); border-color: var(--mc-keppel);
    color: var(--mc-white); box-shadow: 0 4px 14px rgba(var(--mc-keppel-rgb), 0.3);
}
.mc-blog__pagination a.prev,
.mc-blog__pagination a.next { border: none; min-width: calc(36px * var(--mc-scale)); height: calc(36px * var(--mc-scale)); padding: 0; color: var(--mc-calypso); }
.mc-blog__pagination a.prev:hover,
.mc-blog__pagination a.next:hover { color: var(--mc-keppel); background: rgba(var(--mc-keppel-rgb), 0.08); box-shadow: none; }
.mc-blog__pagination span.dots { border: none; color: rgba(var(--mc-calypso-rgb), 0.4); pointer-events: none; }

/* -- Empty state ------------------------------------------------ */

.mc-blog__empty { text-align: center; padding: calc(60px * var(--mc-scale)) calc(20px * var(--mc-scale)); color: var(--mc-calypso); }
.mc-blog__empty svg { margin-bottom: calc(16px * var(--mc-scale)); opacity: 0.4; }
.mc-blog__empty-title { font-family: var(--mc-font-head); font-size: var(--mc-fs-2xl); font-weight: 700; color: var(--mc-dark); margin-bottom: calc(8px * var(--mc-scale)); }
.mc-blog__empty-text { font-family: var(--mc-font-body); font-size: var(--mc-fs-md); color: var(--mc-gray); margin-bottom: calc(24px * var(--mc-scale)); }

/* -- Reduced Motion --------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .mc-blog-featured,
    .mc-blog-card { transition: none; }
    .mc-blog-featured:hover,
    .mc-blog-card:hover { transform: none; box-shadow: none; }
    .mc-blog-card:hover .mc-blog-card__img,
    .mc-blog-featured:hover .mc-blog-featured__img { transform: none; }
    .mc-blog-card:hover .mc-blog-card__thumb::before { opacity: 0; }
    .mc-blog-card__cta { transition: none; }
    .mc-blog__pagination a:hover { transform: none; }
}

/* -- Responsive ------------------------------------------------- */

@media (max-width: 1024px) {
    .mc-blog__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .mc-blog-featured { grid-template-columns: 1fr; }
    .mc-blog-featured__thumb { min-height: calc(200px * var(--mc-scale)); aspect-ratio: 16/9; }
    .mc-blog-featured__body { padding: calc(24px * var(--mc-scale)) calc(20px * var(--mc-scale)); }
    .mc-blog-featured__title { font-size: var(--mc-fs-2xl); }
    .mc-blog__grid { grid-template-columns: 1fr; max-width: calc(480px * var(--mc-scale)); margin-inline: auto; }
    .mc-blog-card__title { font-size: var(--mc-fs-lg); }
    .mc-blog__pagination { gap: calc(4px * var(--mc-scale)); margin-top: calc(36px * var(--mc-scale)); }
    .mc-blog__pagination a,
    .mc-blog__pagination span { min-width: calc(44px * var(--mc-scale)); height: calc(44px * var(--mc-scale)); font-size: calc(var(--mc-fs) * 0.929); }
    .mc-blog-card__category { -webkit-backdrop-filter: none; backdrop-filter: none; }
}

@media (max-width: 480px) {
    .mc-blog-featured__body {
        text-align: center;
        align-items: center;
        padding: calc(20px * var(--mc-scale)) calc(16px * var(--mc-scale));
    }
    .mc-blog-featured__title { font-size: var(--mc-fs-xl); }
    .mc-blog-featured__excerpt {
        display: -webkit-box; -webkit-line-clamp: 3;
        -webkit-box-orient: vertical; overflow: hidden;
        font-size: var(--mc-fs);
    }
    .mc-blog-featured__thumb { min-height: calc(180px * var(--mc-scale)); aspect-ratio: 16/9; }
    .mc-blog-card__body { padding: calc(16px * var(--mc-scale)); }
    .mc-blog-card__title { font-size: var(--mc-fs-md); }
    .mc-blog-card__excerpt {
        font-size: calc(var(--mc-fs) * 0.893);
        display: -webkit-box; -webkit-line-clamp: 2;
        -webkit-box-orient: vertical; overflow: hidden;
    }
        .mc-blog-card__meta {
            margin-bottom: calc(8px * var(--mc-scale));
        }
    
        .mc-blog-card__date,
        .mc-blog-card__read-time {
            font-size: calc(var(--mc-fs) * 0.714);
        }
    .mc-blog__pagination a,
    .mc-blog__pagination span { min-width: calc(44px * var(--mc-scale)); height: calc(44px * var(--mc-scale)); font-size: var(--mc-fs-sm); padding: 0 calc(8px * var(--mc-scale)); }
}

@media (max-width: 320px) {
    .mc-blog-featured__body {
        padding: calc(16px * var(--mc-scale)) calc(12px * var(--mc-scale));
    }

    .mc-blog-featured__title {
        font-size: var(--mc-fs-lg);
    }

    .mc-blog-card__body {
        padding: calc(14px * var(--mc-scale)) calc(12px * var(--mc-scale));
    }

    .mc-blog-card__title {
        font-size: var(--mc-fs);
    }

    .mc-blog__grid {
        max-width: 100%;
    }
}