/* ── app-blog-main.css ─ TrendyBeatz v2 Blog-specific styles ─────── */

/* ── Blog listing card ── */
.blog-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    margin-bottom: 18px;
    overflow: hidden;
    transition: box-shadow 0.2s, transform 0.2s;
    display: flex;
    flex-direction: column;
}
.blog-card:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    transform: translateY(-3px);
}
.blog-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}
.blog-card-body {
    padding: 12px 14px;
    flex: 1 1 auto;
}
.blog-card-body h2 {
    font-family: georgia, garamond, serif;
    font-size: 18px;
    margin: 0 0 8px;
    color: #222;
    line-height: 1.4;
}
.blog-card-body h2 a { color: #222; text-decoration: none; }
.blog-card-body h2 a:hover { color: green; }
.blog-card-body p {
    font-size: 14px;
    color: #555;
    margin: 0 0 8px;
    line-height: 1.6;
}
.blog-card-meta {
    font-size: 12px;
    color: #888;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 6px;
}
.blog-card-meta span { display: inline-flex; align-items: center; gap: 4px; }
.blog-card-meta a { color: green; text-decoration: none; }
.blog-card-meta a:hover { text-decoration: underline; }

/* ── Blog category badge ── */
.blog-cat {
    display: inline-block;
    background: green;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 3px;
    margin-bottom: 8px;
    text-decoration: none;
}
.blog-cat:hover { background: #005500; color: #fff; text-decoration: none; }

/* ── Blog detail page ── */
.blog-detail-title {
    font-family: georgia, garamond, serif;
    font-size: 28px;
    color: #111;
    margin: 0 0 10px;
    line-height: 1.3;
}
.blog-detail-meta {
    font-size: 13px;
    color: #888;
    margin-bottom: 16px;
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}
.blog-detail-cover {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 16px;
    display: block;
}
.blog-detail-body {
    font-family: georgia, garamond, serif;
    font-size: 17px;
    line-height: 1.8;
    color: #222;
}
.blog-detail-body p      { margin-bottom: 14px; }
.blog-detail-body h2,
.blog-detail-body h3     { color: #4b2e05; margin-top: 22px; }
.blog-detail-body img    { max-width: 100%; border-radius: 6px; margin: 10px 0; }
.blog-detail-body a      { color: green; }
.blog-detail-body a:hover { text-decoration: underline; }
.blog-detail-body blockquote {
    border-left: 4px solid green;
    margin: 14px 0;
    padding: 8px 16px;
    background: #f9f9f9;
    font-style: italic;
    color: #555;
    border-radius: 0 4px 4px 0;
}

/* ── Blog category nav tabs ── */
.blog-cat-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px;
    padding: 8px 0;
    border-bottom: 2px solid #eee;
}
.blog-cat-nav a {
    padding: 6px 14px;
    border-radius: 20px;
    background: #eee;
    color: #333;
    font-size: 13px;
    text-decoration: none;
    transition: background 0.2s;
}
.blog-cat-nav a:hover,
.blog-cat-nav a.active {
    background: green;
    color: #fff;
}

/* ── Blog grid layout (3 columns on desktop) ── */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
@media (max-width: 900px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px) { .blog-grid { grid-template-columns: 1fr; } }

/* ── Blog sidebar / related posts ── */
.related-posts { margin-top: 24px; }
.related-posts h3 {
    font-family: georgia, garamond, serif;
    font-size: 20px;
    color: #4b2e05;
    border-bottom: 2px solid green;
    padding-bottom: 6px;
    margin-bottom: 12px;
}
.related-post-item {
    display: flex;
    gap: 10px;
    margin-bottom: 12px;
    align-items: flex-start;
}
.related-post-item img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: 5px;
    flex-shrink: 0;
}
.related-post-item .rp-text { flex: 1 1 auto; }
.related-post-item .rp-text a {
    font-size: 14px;
    color: #222;
    font-weight: 600;
    display: block;
    margin-bottom: 3px;
    text-decoration: none;
}
.related-post-item .rp-text a:hover { color: green; }
.related-post-item .rp-text span { font-size: 11px; color: #888; }

/* ── Comment section ── */
.comment-section { margin-top: 30px; }
.comment-section h3 {
    font-family: georgia, garamond, serif;
    font-size: 20px;
    color: #4b2e05;
    border-bottom: 2px solid #eee;
    padding-bottom: 8px;
    margin-bottom: 14px;
}
.comment-item {
    background: #f9f9f9;
    border-radius: 6px;
    padding: 12px;
    margin-bottom: 12px;
    border-left: 3px solid green;
}
.comment-item .comment-author {
    font-weight: bold;
    font-size: 14px;
    color: #222;
    margin-bottom: 4px;
}
.comment-item .comment-date {
    font-size: 11px;
    color: #888;
    margin-bottom: 6px;
}
.comment-item .comment-text { font-size: 14px; color: #444; line-height: 1.6; }

/* ── Comment form ── */
.comment-form { margin-top: 20px; }
.comment-form h4 {
    font-family: georgia, garamond, serif;
    font-size: 18px;
    color: #4b2e05;
    margin-bottom: 10px;
}
.comment-form input,
.comment-form textarea {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 10px 12px;
    font-size: 14px;
    margin-bottom: 10px;
    outline: none;
    transition: border 0.2s;
    font-family: Arial, sans-serif;
}
.comment-form input:focus,
.comment-form textarea:focus { border-color: green; }
.comment-form textarea { min-height: 100px; resize: vertical; }
.comment-form button {
    background: green;
    color: #fff;
    border: none;
    padding: 10px 24px;
    border-radius: 5px;
    font-size: 15px;
    cursor: pointer;
    transition: background 0.2s;
}
.comment-form button:hover { background: #005500; }

/* ── Social share row ── */
.blog-share-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
    padding: 10px 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
.blog-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 5px;
    font-size: 13px;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    font-weight: 600;
    transition: opacity 0.2s;
}
.blog-share-btn:hover { opacity: 0.88; color: #fff; text-decoration: none; }
.blog-share-btn.fb { background: #3B5998; }
.blog-share-btn.tw { background: #1da1f2; }
.blog-share-btn.wa { background: #25d366; }
.blog-share-btn.tg { background: #0088cc; }
.blog-share-btn.cp { background: #555; }

/* ── Breadcrumb ── */
.breadcrumb {
    font-size: 13px;
    color: #888;
    margin-bottom: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
}
.breadcrumb a { color: green; text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb span { color: #aaa; }

/* ── Read-more label ── */
.read-more {
    display: inline-block;
    color: green;
    font-size: 13px;
    font-weight: bold;
    text-decoration: none;
    margin-top: 4px;
}
.read-more:hover { text-decoration: underline; }

/* ── Mobile adjustments ── */
@media (max-width: 600px) {
    .blog-detail-title { font-size: 22px; }
    .blog-detail-body  { font-size: 15px; }
    .blog-detail-cover { max-height: 240px; }
}
