/* gear114.com 블로그 카드 스타일 - Ample 테마용 */

/* 블로그 컨테이너 */
.blog #content,
.archive #content {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    padding: 40px 20px !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
}

/* 카드 - CSS Grid 사용 */
.blog #content > article,
.archive #content > article {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08) !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-columns: 220px 1fr !important;
    grid-template-rows: auto 1fr auto auto !important;
    grid-template-areas:
        "title title"
        "image summary"
        "image readbtn"
        "meta meta" !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
}

.blog #content > article:hover,
.archive #content > article:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
}

/* 제목 */
.blog #content article h2.entry-title,
.archive #content article h2.entry-title {
    grid-area: title !important;
    padding: 24px 28px !important;
    margin: 0 !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    border-bottom: 1px solid #eee !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.blog #content article h2.entry-title a,
.archive #content article h2.entry-title a {
    color: #222 !important;
    text-decoration: none !important;
}

.blog #content article h2.entry-title a:hover,
.archive #content article h2.entry-title a:hover {
    color: #0066cc !important;
}

/* 이미지 */
.blog #content article figure.post-featured-image,
.archive #content article figure.post-featured-image {
    grid-area: image !important;
    width: 180px !important;
    height: 180px !important;
    margin: 24px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}

.blog #content article figure.post-featured-image a,
.archive #content article figure.post-featured-image a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.blog #content article figure.post-featured-image img,
.archive #content article figure.post-featured-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* 요약 */
.blog #content article .entry-summary,
.archive #content article .entry-summary {
    grid-area: summary !important;
    padding: 24px 28px 16px 8px !important;
    margin: 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.8 !important;
    color: #555 !important;
    align-self: start !important;
}

.blog #content article .entry-summary p,
.archive #content article .entry-summary p {
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 4 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* 메타 정보 */
.blog #content article .entry-meta,
.archive #content article .entry-meta {
    grid-area: meta !important;
    padding: 16px 28px !important;
    border-top: 1px solid #eee !important;
    font-size: 0.85rem !important;
    color: #888 !important;
    background: #fafafa !important;
}

/* Read More 버튼 */
.blog #content article .read-btn,
.archive #content article .read-btn {
    grid-area: readbtn !important;
    padding: 0 28px 24px 8px !important;
    align-self: end !important;
}

.blog #content article .read-btn a,
.archive #content article .read-btn a {
    display: inline-block !important;
    padding: 12px 28px !important;
    background: #0066cc !important;
    color: #fff !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    transition: background 0.2s !important;
}

.blog #content article .read-btn a:hover,
.archive #content article .read-btn a:hover {
    background: #0052a3 !important;
}

/* 이미지 없는 글 처리 */
.blog #content article:not(:has(figure.post-featured-image)),
.archive #content article:not(:has(figure.post-featured-image)) {
    grid-template-columns: 1fr !important;
    grid-template-areas:
        "title"
        "summary"
        "readbtn"
        "meta" !important;
}

.blog #content article:not(:has(figure.post-featured-image)) .entry-summary,
.archive #content article:not(:has(figure.post-featured-image)) .entry-summary {
    padding: 24px 28px 16px 28px !important;
}

.blog #content article:not(:has(figure.post-featured-image)) .read-btn,
.archive #content article:not(:has(figure.post-featured-image)) .read-btn {
    padding: 0 28px 24px 28px !important;
}

/* 반응형 */
@media (max-width: 650px) {
    .blog #content > article,
    .archive #content > article {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "title"
            "image"
            "summary"
            "readbtn"
            "meta" !important;
    }
    
    .blog #content article figure.post-featured-image,
    .archive #content article figure.post-featured-image {
        width: calc(100% - 32px) !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        margin: 16px !important;
        border-radius: 12px !important;
    }
    
    .blog #content article .entry-summary,
    .archive #content article .entry-summary {
        padding: 0 20px 16px 20px !important;
    }
    
    .blog #content article .read-btn,
    .archive #content article .read-btn {
        padding: 0 20px 20px 20px !important;
    }
    
    .blog #content article h2.entry-title,
    .archive #content article h2.entry-title {
        font-size: 1.1rem !important;
        padding: 20px !important;
        white-space: normal !important;
    }
}
