/* ================================================================
   PREMIUM BLOG GRID - PERFECT HOMES (Magazine Style)
===================================================================*/

/* Blog container */
.blog .ast-row,
.archive .ast-row {
    max-width: 1380px;
    margin: auto;
    padding: 40px 20px;
}

/* ---------- GRID LAYOUT ---------- */
.blog .post,
.archive .post {
    background: #0A0A0A;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #1a1a1a;
    padding: 0;
    transition: 0.35s ease;
    box-shadow: 0 0 0 rgba(0,0,0,0); 
}

/* GRID – 3 COLUMNS */
.blog .ast-row,
.archive .ast-row {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 28px;
}

/* Hover premium lift */
.blog .post:hover,
.archive .post:hover {
    transform: translateY(-10px);
    border-color: #A40E0E;
    box-shadow: 0 16px 40px rgba(0,0,0,0.55);
}

/* ---------- Featured Image ---------- */
.blog .post img,
.archive .post img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    transition: 0.35s ease;
    filter: brightness(0.88);
}

.blog .post:hover img,
.archive .post:hover img {
    transform: scale(1.05);
    filter: brightness(1);
}

/* ---------- Content Area ---------- */
.blog .post .entry-header,
.archive .post .entry-header {
    padding: 22px;
}

.blog .post .entry-content,
.archive .post .entry-content {
    padding: 0 22px 22px;
}

/* ---------- Title ---------- */
.blog .post h2.entry-title a,
.archive .post h2.entry-title a {
    color: #FFF !important;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    padding-bottom: 4px;
    transition: 0.3s ease;
}

/* Hover underline */
.blog .post h2.entry-title a:hover,
.archive .post h2.entry-title a:hover {
    color: #A40E0E !important;
    border-bottom: 2px solid #A40E0E;
}

/* ---------- Meta (Date/Author) ---------- */
.entry-meta,
.ast-blog-meta {
    color: #999 !important;
    font-size: 13px;
    padding: 0 22px;
}

.entry-meta a {
    color: #A40E0E !important;
    text-decoration: none;
}

/* ---------- Read More Button ---------- */
.blog .post .more-tag a,
.archive .post .more-tag a {
    display: inline-block;
    margin-top: 16px;
    background: #A40E0E;
    color: #FFF !important;
    padding: 10px 20px;
    border-radius: 6px;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.6px;
    font-weight: 600;
    transition: 0.35s ease;
}

.blog .post .more-tag a:hover {
    background: #FFF;
    color: #A40E0E !important;
}

/* ================================================================
   SIDEBAR STYLING
===================================================================*/
#secondary {
    background: #0A0A0A;
    border: 1px solid #1a1a1a;
    padding: 22px;
    border-radius: 14px;
}

#secondary .widget {
    margin-bottom: 30px;
}

#secondary h2,
#secondary .widget-title {
    color: #FFF;
    font-size: 20px;
    border-left: 4px solid #A40E0E;
    padding-left: 10px;
    margin-bottom: 16px;
}

#secondary a {
    color: #A40E0E;
    text-decoration: none;
}

#secondary a:hover {
    color: #FFF;
    text-decoration: underline;
}

/* ================================================================
   PAGINATION
===================================================================*/
.navigation.pagination .page-numbers {
    background: #0A0A0A;
    color: #FFF;
    padding: 10px 16px;
    border: 1px solid #1a1a1a;
    margin: 5px;
    border-radius: 6px;
    transition: 0.3s ease;
}

.navigation.pagination .page-numbers.current,
.navigation.pagination .page-numbers:hover {
    background: #A40E0E;
    border-color: #A40E0E;
}

/* ================================================================
   SINGLE POST PAGE
===================================================================*/
.single .ast-container {
    max-width: 900px;
    padding: 40px 20px;
}

/* Title */
.single h1.entry-title {
    color: #FFF;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 700;
    border-bottom: 2px solid #A40E0E;
    padding-bottom: 10px;
}

/* Featured image */
.single .post img {
    border-radius: 12px;
    margin-bottom: 24px;
}

/* Content */
.single .entry-content {
    color: #e0e0e0;
    font-size: 18px;
    line-height: 1.7;
}

.single .entry-content a {
    color: #A40E0E;
    text-decoration: underline;
}

/* ---------- Author Box ---------- */
.single .author-box {
    margin-top: 40px;
    padding: 20px;
    background: #0A0A0A;
    border: 1px solid #1a1a1a;
    border-radius: 12px;
}

.single .author-box h3 {
    color: #FFF;
    margin-bottom: 10px;
}

/* ---------- Related Posts ---------- */
.related-posts {
    margin-top: 50px;
}

.related-posts h2 {
    color: #FFF;
    font-size: 26px;
    margin-bottom: 20px;
    border-left: 4px solid #A40E0E;
    padding-left: 10px;
}

.related-posts .post {
    background: #0A0A0A;
    border: 1px solid #1a1a1a;
    padding: 14px;
    border-radius: 12px;
    transition: 0.3s ease;
}

.related-posts .post:hover {
    transform: translateY(-6px);
    border-color: #A40E0E;
}

/* ================================================================
   RESPONSIVE
===================================================================*/
@media (max-width: 768px) {
    .blog .ast-row,
    .archive .ast-row {
        grid-template-columns: 1fr;
    }

    .single h1.entry-title {
        font-size: 28px;
    }
}
