/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.17.1765273004
Updated: 2025-12-09 09:36:44

*/

/* ============================================
   FEATURED STORIES SECTION STYLES
============================================ */
.stories {
    padding: 6rem 0;
    /* background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%); */
}

.stories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
}

.story-card {
    background: #ffffff;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    transition: all 0.3s ease;
    border: 1px solid #e2e8f0;
}

.story-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
}

.story-image {
    position: relative;
    height: 220px;
    overflow: hidden;
}

.story-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s ease;
}

.story-card:hover .story-image img {
    transform: scale(1.1);
}

.story-category {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);
    color: #ffffff;
    padding: 0.375rem 1rem;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.story-content {
    padding: 1.5rem;
}

.story-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    font-size: 0.875rem;
    color: #64748b;
}

.story-meta span {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.story-title {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    transition: all 0.3s ease;
}

.story-title a {
    color: #0f172a;
    text-decoration: none;
}

.story-card:hover .story-title a {
    color: #6366f1;
}

.story-excerpt {
    color: #64748b;
    margin-bottom: 1.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.story-author {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.story-author img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.story-author-info h5 {
    font-size: 0.875rem;
    font-weight: 600;
    margin: 0;
}

.story-author-info span {
    font-size: 0.75rem;
    color: #94a3b8;
}

.stories-cta {
    text-align: center;
    margin-top: 3rem;
}

.stories-cta .nav-links {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.stories-cta .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.875rem 1.5rem;
    background: #ffffff;
    color: #6366f1;
    border: 2px solid #6366f1;
    border-radius: 0.75rem;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.stories-cta .page-numbers:hover,
.stories-cta .page-numbers.current {
    background: #6366f1;
    color: #ffffff;
}

.page-header {
    text-align: center;
    margin-bottom: 1rem;
    padding: 0.5rem 0;
}

.page-title {
    font-size: clamp(1.5rem, 4vw, 2rem);
    color: #0f172a;
    margin-bottom: 0.5rem;
}

.ast-breadcrumb {
    margin-bottom: 1rem;
    font-size: 0.875rem;
    color: #64748b;
}

.ast-breadcrumb a {
    color: #6366f1;
    text-decoration: none;
    transition: color 0.3s ease;
}

.ast-breadcrumb a:hover {
    color: #4f46e5;
}

.breadcrumb-separator {
    margin: 0 0.5rem;
    color: #94a3b8;
}

.breadcrumb-current {
    color: #0f172a;
    font-weight: 500;
}

.stories {
    padding: 3rem 0;
    /* background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%); */
}

/* ============================================
   SINGLE POST STYLES
============================================ */
/* Ensure page can scroll */
body {
    overflow-x: hidden;
    overflow-y: auto !important;
}

.container {
    overflow: visible;
}

.post-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 3rem;
    margin-bottom: 3rem;
    overflow: visible;
}

.post-main {
    min-width: 0;
}

.single-post {
    background: #ffffff;
    border-radius: 0;
    margin-bottom: 3rem;
}

.post-hero {
    position: relative;
}

.post-image {
    width: 100%;
    height: auto;
    max-height: 500px;
}

.post-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

.post-header {
    padding: 2rem 3rem 1.5rem;
    text-align: center;
    background: transparent;
}

.post-category {
    display: inline-block;
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);
    color: #ffffff;
    padding: 0.375rem 1.25rem;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 1rem;
}

.post-title {
    font-size: 25px;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.post-meta {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-bottom: 1rem;
    font-size: 0.875rem;
    color: #64748b;
}

.post-meta span {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.post-author {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 1.5rem;
    background: #f8fafc;
    border-radius: 0.75rem;
    max-width: 400px;
    margin: 0 auto;
    border: 1px solid #e2e8f0;
}

.post-author img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
}

.post-author-info h4 {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
    color: #0f172a;
}

.post-author-info span {
    font-size: 0.875rem;
    color: #64748b;
}

.post-content {
    padding: 0 3rem 2rem;
    background: transparent;
}

.post-body {
    font-size: 1.125rem;
    line-height: 1.8;
    color: #334155;
    margin-bottom: 3rem;
}

.post-body h2,
.post-body h3,
.post-body h4 {
    color: #0f172a;
    margin: 2rem 0 1rem;
}

.post-body p {
    margin-bottom: 1.5rem;
}

.post-footer {
    border-top: 1px solid #e2e8f0;
    padding-top: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2rem;
}

.post-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.post-tag {
    display: inline-block;
    padding: 0.375rem 0.875rem;
    background: #f1f5f9;
    color: #6366f1;
    border-radius: 50px;
    font-size: 0.875rem;
    text-decoration: none;
    transition: all 0.3s ease;
}

.post-tag:hover {
    background: #6366f1;
    color: #ffffff;
}

.post-share h4 {
    font-size: 1rem;
    margin-bottom: 1rem;
    color: #0f172a;
}

.share-buttons {
    display: flex;
    gap: 0.75rem;
}

.share-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #ffffff;
    text-decoration: none;
    transition: all 0.3s ease;
}

.share-btn.facebook {
    background: #1877f2;
}

.share-btn.twitter {
    background: #1da1f2;
}

.share-btn.linkedin {
    background: #0077b5;
}

.share-btn.email {
    background: #64748b;
}

.share-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* ============================================
   SIDEBAR STYLES
============================================ */
.post-sidebar {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-top: 2rem;
}

.sidebar-widget {
    background: #ffffff;
    border-radius: 1rem;
    padding: 1.5rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border: 1px solid #e2e8f0;
}

.widget-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid #f1f5f9;
}

/* Author Widget */
.author-widget {
    text-align: center;
}

.author-details .author-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin: 0 auto 1rem;
    object-fit: cover;
}

.author-details h4 {
    font-size: 1.125rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.5rem;
}

.author-details p {
    color: #64748b;
    font-size: 0.875rem;
    line-height: 1.6;
    margin-bottom: 1rem;
}

.author-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #6366f1;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: color 0.3s ease;
}

.author-link:hover {
    color: #4f46e5;
}

/* Categories Widget */
.categories-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.categories-list li {
    margin-bottom: 0.5rem;
}

.categories-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    color: #334155;
    text-decoration: none;
    transition: color 0.3s ease;
    font-size: 0.875rem;
}

.categories-list a:hover {
    color: #6366f1;
}

.category-count {
    background: #f1f5f9;
    color: #64748b;
    padding: 0.125rem 0.5rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
}

/* Recent Posts Widget */
.recent-posts-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.recent-posts-list li {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f1f5f9;
}

.recent-posts-list li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.recent-post-thumb {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    border-radius: 0.5rem;
    overflow: hidden;
}

.recent-post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.recent-post-content {
    flex: 1;
    min-width: 0;
}

.recent-post-content h4 {
    margin: 0 0 0.25rem 0;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4;
}

.recent-post-content h4 a {
    color: #0f172a;
    text-decoration: none;
    transition: color 0.3s ease;
}

.recent-post-content h4 a:hover {
    color: #6366f1;
}

.recent-post-date {
    font-size: 0.75rem;
    color: #64748b;
}

/* Tags Widget */
.tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.tag-cloud-link {
    display: inline-block;
    padding: 0.375rem 0.75rem;
    background: #f8fafc;
    color: #64748b;
    border-radius: 50px;
    font-size: 0.75rem;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid #e2e8f0;
}

.tag-cloud-link:hover {
    background: #6366f1;
    color: #ffffff;
    border-color: #6366f1;
}

/* Related Posts */
.related-posts {
    margin-bottom: 3rem;
}

.related-title {
    font-size: 1.75rem;
    color: #0f172a;
    margin-bottom: 2rem;
    text-align: center;
}

.related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
}

.related-card {
    background: #ffffff;
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.related-image {
    height: 180px;
    overflow: hidden;
}

.related-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.related-card:hover .related-image img {
    transform: scale(1.05);
}

.related-content {
    padding: 1.5rem;
}

.related-content h4 {
    margin-bottom: 0.75rem;
}

.related-content h4 a {
    color: #0f172a;
    text-decoration: none;
    font-size: 1.125rem;
}

.related-content h4 a:hover {
    color: #6366f1;
}

.related-meta {
    display: flex;
    gap: 1rem;
    font-size: 0.875rem;
    color: #64748b;
}

/* Comments */
.post-comments {
    background: transparent;
    border-radius: 0;
    padding: 2rem 0;
    box-shadow: none;
    border-top: 1px solid #e2e8f0;
    margin-top: 2rem;
}

/* WordPress Comments Styling */
.post-comments .comment-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.post-comments .comment {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #f1f5f9;
}

.post-comments .comment:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.post-comments .comment-author {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.post-comments .comment-author img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
}

.post-comments .comment-meta {
    font-size: 0.875rem;
    color: #64748b;
    margin-bottom: 0.5rem;
}

.post-comments .comment-content {
    margin-left: 64px;
    font-size: 1rem;
    line-height: 1.6;
    color: #334155;
}

.post-comments .reply {
    margin-left: 64px;
    margin-top: 1rem;
}

.post-comments .comment-reply-link {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: #f8fafc;
    color: #6366f1;
    text-decoration: none;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    transition: all 0.3s ease;
}

.post-comments .comment-reply-link:hover {
    background: #6366f1;
    color: #ffffff;
}

/* Comment Form */
.post-comments .comment-respond {
    background: #f8fafc;
    padding: 2rem;
    border-radius: 0.75rem;
    border: 1px solid #e2e8f0;
    margin-top: 2rem;
}

.post-comments .comment-reply-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1.5rem;
}

.post-comments .comment-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.post-comments .comment-form input,
.post-comments .comment-form textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    font-size: 1rem;
    font-family: inherit;
    transition: border-color 0.3s ease;
}

.post-comments .comment-form input:focus,
.post-comments .comment-form textarea:focus {
    outline: none;
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
}

.post-comments .comment-form textarea {
    min-height: 120px;
    resize: vertical;
}

.post-comments .form-submit {
    margin-top: 1rem;
}

.post-comments .submit {
    background: #6366f1;
    color: #ffffff;
    border: none;
    padding: 0.875rem 2rem;
    border-radius: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.post-comments .submit:hover {
    background: #4f46e5;
}

.post-comments .logged-in-as {
    font-size: 0.875rem;
    color: #64748b;
    margin-bottom: 1rem;
}

.post-comments .logged-in-as a {
    color: #6366f1;
    text-decoration: none;
}

.post-comments .logged-in-as a:hover {
    color: #4f46e5;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .post-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .post-sidebar {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

@media (max-width: 768px) {
    .stories-grid {
        grid-template-columns: 1fr;
    }
    
    .story-card {
        margin-bottom: 0;
    }
    
    .stories {
        padding: 2rem 0;
    }
    
    .page-header {
        margin-bottom: 1.5rem;
        padding: 0.75rem 0;
    }
    
    .page-title {
        font-size: clamp(1.5rem, 5vw, 2rem);
    }
    
    /* Single Post Responsive */
    .post-header {
        padding: 2rem 1.5rem;
    }
    
    .post-meta {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .post-content {
        padding: 0 1.5rem 2rem;
    }
    
    .post-footer {
        flex-direction: column;
        align-items: stretch;
    }
    
    .post-share {
        text-align: center;
    }
    
    .share-buttons {
        justify-content: center;
    }
    
    .related-grid {
        grid-template-columns: 1fr;
    }
    
    /* Sidebar Responsive */
    .post-sidebar {
        grid-template-columns: 1fr;
    }
}




