/*
Theme Name: MyTaxAdvisor Blog
Theme URI: https://www.mytaxadvisorindia.com/blog
Template: twentytwentyfive
Description: Child theme for MyTaxAdvisor blog - matches main site design. News & Updates, guides, and articles.
Author: MyTaxAdvisor
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* Import main site styles - root-relative paths resolve to site root */
@import url('/assets/css/style.css');
@import url('/assets/css/responsive.css');

/* ============================================
   Header/Navbar & Footer - fix font sizes
   (WordPress theme.json was applying large base font)
   ============================================ */

/* Apply Inter to text only - exclude icon elements (Font Awesome uses its own font) */
.header,
.header *:not(i):not([class*="fa-"]),
.footer,
.footer *:not(i):not([class*="fa-"]) {
    font-family: 'Inter', sans-serif !important;
}

/* Announcement bar - keep compact */
.announcement-link,
.announcement-cta {
    font-size: 0.875rem !important;
}

/* Navbar links and dropdowns */
.nav-link,
.dropdown-mega-link,
.dropdown-mega-viewall {
    font-size: 0.9375rem !important;
}

.btn.btn-primary {
    font-size: 0.9375rem !important;
}

/* Footer - match main site */
.footer-section h3 {
    font-size: 1.125rem !important;
}

.footer-logo .logo-text {
    font-size: 1.35rem !important;
}

.footer-section p,
.footer-links a,
.contact-value,
.footer-bottom p,
.footer-bottom-links a {
    font-size: 0.9375rem !important;
}

/* Blog content area - match main site typography and colors */
.wp-block-post-content,
.entry-content,
article .post-content {
    font-family: 'Inter', sans-serif;
    color: var(--text-dark);
    line-height: 1.6;
}

.wp-block-post-content a,
.entry-content a {
    color: var(--primary-color);
}

.wp-block-post-content a:hover,
.entry-content a:hover {
    color: var(--primary-dark);
}

/* Post list cards on archive (legacy single-column) */
.wp-block-query:not(.alignwide) .wp-block-post {
    border-radius: var(--border-radius);
    box-shadow: var(--shadow);
    overflow: hidden;
}

/* Content area - match main site container width */
.wp-block-group.alignwide {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* Single post: let content use full wrapper width (1100px) */
.single-post-wrapper .wp-block-post-content {
    max-width: none;
}

/* ============================================
   Blog typography - scale down for readability
   (Main site h1=3rem, h2=2.5rem are too large)
   ============================================ */

/* Reduce block spacing in content area */
body.blog-page main .wp-block-group {
    --wp--style--block-gap: 1rem;
}

/* Archive / post list */
body.blog-page .wp-block-query .wp-block-post-title {
    font-size: 1.25rem !important;
    font-weight: 600;
    line-height: 1.3;
}

body.blog-page .wp-block-query .wp-block-post-date {
    font-size: 0.8125rem !important;
    color: var(--text-light);
}

body.blog-page .wp-block-query .wp-block-post-excerpt {
    font-size: 0.9375rem !important;
}

body.blog-page .wp-block-query .wp-block-post-excerpt p {
    font-size: inherit;
}

body.blog-page .wp-block-query .read-more-link {
    font-size: 0.875rem !important;
}

/* Single post - title and date are siblings of content, not inside it */
body.blog-page main .wp-block-post-title,
body.blog-page .single .wp-block-post-title {
    font-size: 1.75rem !important;
    font-weight: 700;
}

body.blog-page main .wp-block-post-date,
body.blog-page .single .wp-block-post-date {
    font-size: 0.8125rem !important;
}

body.blog-page .wp-block-post-content,
body.blog-page .wp-block-post-content p {
    font-size: 1rem !important;
}

body.blog-page .wp-block-post-content h2 {
    font-size: 1.375rem !important;
}

body.blog-page .wp-block-post-content h3 {
    font-size: 1.125rem !important;
}

body.blog-page .wp-block-post-content h4,
body.blog-page .wp-block-post-content h5,
body.blog-page .wp-block-post-content h6 {
    font-size: 1rem !important;
}

/* Headings inside post body */
body.blog-page main .wp-block-post-content {
    font-size: 1rem !important;
}

body.blog-page main .wp-block-post-content h1 { font-size: 1.75rem !important; }
body.blog-page main .wp-block-post-content h2 { font-size: 1.375rem !important; }
body.blog-page main .wp-block-post-content h3 { font-size: 1.125rem !important; }
body.blog-page main .wp-block-post-content h4,
body.blog-page main .wp-block-post-content h5,
body.blog-page main .wp-block-post-content h6 { font-size: 1rem !important; }

/* ============================================
   Single post viewer - attractive & professional
   ============================================ */

.single-post-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

/* Override parent theme's 645px constrained width - use full wrapper width */
.single-post-wrapper .single-post-article,
.single-post-wrapper .single-post-header,
.single-post-wrapper .single-post-content,
.single-post-wrapper .single-post-footer {
    max-width: none !important;
}

/* Breadcrumb / Back link */
.single-post-breadcrumb {
    margin-bottom: 1.5rem;
    font-size: 0.9375rem;
}

.single-post-breadcrumb a {
    color: var(--text-light);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: var(--transition);
}

.single-post-breadcrumb a:hover {
    color: var(--primary-color);
}

.single-post-breadcrumb a i {
    font-size: 0.75rem;
}

/* Article card container */
.single-post-article {
    background: var(--white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-md);
    overflow: hidden;
    border: 1px solid var(--border-color);
}

/* Featured image */
.single-post-featured-image,
.single-post-article .wp-block-post-featured-image {
    margin: 0 !important;
    line-height: 0;
    overflow: hidden;
}

.single-post-featured-image img,
.single-post-article .wp-block-post-featured-image img {
    width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: cover;
    display: block;
}

/* Post header (title + meta) */
.single-post-header {
    padding: 1.75rem 2rem 0;
}

.single-post-title,
.single-post-article .wp-block-post-title {
    font-size: 1.75rem !important;
    font-weight: 700;
    color: var(--text-dark);
    line-height: 1.3;
    margin-bottom: 0.5rem !important;
}

.single-post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.5rem;
    font-size: 0.875rem;
    color: var(--text-light);
}

.single-post-meta .wp-block-post-terms__separator {
    color: var(--text-light);
    margin: 0 0.15rem;
}

.single-post-date,
.single-post-article time {
    color: var(--text-light);
    font-weight: 500;
}

.single-post-categories a,
.single-post-article .wp-block-post-terms a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
    padding: 0.2rem 0.5rem;
    background: rgba(26, 95, 60, 0.08);
    border-radius: var(--border-radius-sm);
    transition: var(--transition);
}

.single-post-categories a:hover,
.single-post-article .wp-block-post-terms a:hover {
    background: rgba(26, 95, 60, 0.15);
    color: var(--primary-dark);
}

/* Post content area */
.single-post-content {
    padding: 1.5rem 2rem 2rem;
}

.single-post-content .wp-block-post-content {
    font-size: 1.0625rem !important;
    line-height: 1.75;
    color: var(--text-dark);
}

.single-post-content .wp-block-post-content p {
    margin-bottom: 1.25rem;
}

.single-post-content .wp-block-post-content h2 {
    font-size: 1.25rem !important;
    color: var(--primary-dark);
    margin-top: 2rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.25rem;
    border-bottom: 2px solid rgba(26, 95, 60, 0.2);
}

.single-post-content .wp-block-post-content h3 {
    font-size: 1.125rem !important;
    color: var(--text-dark);
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

.single-post-content .wp-block-post-content h4,
.single-post-content .wp-block-post-content h5,
.single-post-content .wp-block-post-content h6 {
    font-size: 1rem !important;
    margin-top: 1.25rem;
}

.single-post-content .wp-block-post-content ul,
.single-post-content .wp-block-post-content ol {
    margin: 1rem 0;
    padding-left: 1.5rem;
}

.single-post-content .wp-block-post-content li {
    margin-bottom: 0.5rem;
}

.single-post-content .wp-block-post-content blockquote {
    margin: 1.5rem 0;
    padding: 1rem 1.5rem;
    border-left: 4px solid var(--primary-color);
    background: var(--light-gray);
    border-radius: 0 var(--border-radius-sm) var(--border-radius-sm) 0;
    font-style: italic;
    color: var(--text-dark);
}

.single-post-content .wp-block-post-content blockquote p:last-child {
    margin-bottom: 0;
}

.single-post-content .wp-block-post-content pre,
.single-post-content .wp-block-post-content code {
    font-family: 'Fira Code', 'Consolas', monospace;
    font-size: 0.875rem;
}

.single-post-content .wp-block-post-content pre {
    padding: 1rem;
    background: #f6f8fa;
    border-radius: var(--border-radius);
    overflow-x: auto;
    margin: 1rem 0;
    border: 1px solid var(--border-color);
}

.single-post-content .wp-block-post-content code {
    padding: 0.2rem 0.4rem;
    background: rgba(26, 95, 60, 0.08);
    border-radius: var(--border-radius-sm);
    color: var(--primary-dark);
}

.single-post-content .wp-block-post-content pre code {
    padding: 0;
    background: none;
}

.single-post-content .wp-block-post-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-sm);
}

.single-post-content .wp-block-post-content figure {
    margin: 1.5rem 0;
}

.single-post-content .wp-block-post-content figcaption {
    font-size: 0.875rem;
    color: var(--text-light);
    text-align: center;
    margin-top: 0.5rem;
}

/* Post footer (tags + CTA) */
.single-post-footer {
    padding: 0 2rem 2rem;
}

.single-post-tags .wp-block-post-terms__prefix {
    font-size: 0.875rem;
    color: var(--text-light);
    margin-right: 0.25rem;
}

.single-post-tags a,
.single-post-footer .wp-block-post-terms a {
    display: inline-block;
    margin: 0.25rem 0.25rem 0.25rem 0;
    padding: 0.25rem 0.65rem;
    font-size: 0.8125rem;
    background: var(--light-gray);
    color: var(--text-dark);
    text-decoration: none;
    border-radius: 20px;
    transition: var(--transition);
}

.single-post-tags a:hover,
.single-post-footer .wp-block-post-terms a:hover {
    background: rgba(26, 95, 60, 0.12);
    color: var(--primary-color);
}

.single-post-back-cta {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border-color);
}

.single-post-back-cta .btn {
    font-size: 0.9375rem !important;
}

/* ============================================
   Blog homepage - post grid & categories nav
   ============================================ */

.blog-home-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Categories navigation - horizontal pills */
.blog-categories-nav-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin-bottom: 2rem;
}

.blog-categories-nav,
.blog-categories-nav-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.blog-category-pill,
.blog-categories-nav-list a {
    display: inline-block;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    color: var(--text-light);
    background: var(--light-gray);
    border-radius: 999px;
    transition: var(--transition);
}

.blog-category-pill:hover,
.blog-categories-nav-list a:hover {
    background: rgba(26, 95, 60, 0.12);
    color: var(--primary-color);
}

body.blog-page.home .blog-category-all,
.blog-categories-nav-list .current-cat > a {
    background: var(--primary-color);
    color: var(--white) !important;
}

.blog-categories-nav-list.wp-block-categories ul {
    list-style: none !important;
    list-style-type: none !important;
    margin: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.blog-categories-nav-list li {
    margin: 0;
    list-style: none !important;
}

/* Remove any list marker/dot - keep it outside pill styling */
.blog-categories-nav-list li::before,
.blog-categories-nav-list li::marker {
    display: none !important;
    content: none !important;
}

/* Post grid cards */
.blog-post-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

/* Only the inner card has shadow - avoid double shadow from .wp-block-post */
.blog-post-grid .wp-block-post {
    box-shadow: none !important;
    overflow: visible;
}

.blog-post-card {
    background: var(--white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow);
    overflow: hidden;
    transition: var(--transition);
    border: 1px solid var(--border-color);
}

.blog-post-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.blog-post-card-image {
    margin: 0 !important;
    line-height: 0;
    overflow: hidden;
}

.blog-post-card-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.blog-post-card:hover .blog-post-card-image img {
    transform: scale(1.03);
}

.blog-post-card-body {
    padding: 1.25rem 1.5rem 1.5rem !important;
}

.blog-post-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.5rem;
    font-size: 0.8125rem;
    color: var(--text-light);
}

.blog-post-card-date {
    font-weight: 500;
}

/* Prefix · stays outside category pills */
.blog-post-card-meta .wp-block-post-terms__prefix {
    color: var(--text-light);
    margin: 0 0.25rem;
}

.blog-post-card-category a {
    color: var(--primary-color);
    text-decoration: none;
    background: rgba(26, 95, 60, 0.1);
    padding: 0.2rem 0.5rem;
    border-radius: var(--border-radius-sm);
    font-weight: 500;
    transition: var(--transition);
}

.blog-post-card-category a:hover {
    background: rgba(26, 95, 60, 0.2);
    color: var(--primary-dark);
}

/* Author - highlighted */
.blog-post-card-author {
    font-size: 0.875rem !important;
    font-weight: 600;
    color: var(--primary-dark) !important;
}

.blog-post-card-author a {
    color: var(--primary-color) !important;
    text-decoration: none;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
    background: rgba(26, 95, 60, 0.1);
    border-radius: var(--border-radius-sm);
    transition: var(--transition);
}

.blog-post-card-author a:hover {
    background: rgba(26, 95, 60, 0.2);
    color: var(--primary-dark) !important;
}

.blog-post-card-title {
    font-size: 1.125rem !important;
    font-weight: 600;
    line-height: 1.35;
    margin: 0.5rem 0 !important;
}

.blog-post-card-title a {
    color: var(--text-dark);
    text-decoration: none;
    transition: var(--transition);
}

.blog-post-card-title a:hover {
    color: var(--primary-color);
}

.blog-post-card-excerpt {
    font-size: 0.9375rem !important;
    color: var(--text-light);
    line-height: 1.5;
    margin-bottom: 1rem !important;
}

.blog-post-card-excerpt p {
    margin: 0;
}

.blog-post-card-link {
    font-size: 0.875rem !important;
    font-weight: 600;
    color: var(--primary-color) !important;
}

.blog-post-card-link:hover {
    color: var(--primary-dark) !important;
}

/* Pagination */
.blog-home-wrapper .wp-block-query-pagination {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--border-color);
}

.blog-home-wrapper .wp-block-query-pagination .wp-block-query-pagination-previous,
.blog-home-wrapper .wp-block-query-pagination .wp-block-query-pagination-next {
    font-weight: 600;
}

@media (max-width: 992px) {
    .blog-post-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 576px) {
    .blog-post-grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }

    .blog-post-card-body {
        padding: 1rem 1.25rem !important;
    }

    .blog-categories-nav-wrapper {
        margin-bottom: 1.5rem;
    }
}

@media (max-width: 768px) {
    .single-post-header,
    .single-post-content,
    .single-post-footer {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .single-post-title,
    .single-post-article .wp-block-post-title {
        font-size: 1.5rem !important;
    }
}

/* ============================================
   404 Page - tax-themed error
   ============================================ */

.error-404-wrapper {
    min-height: 50vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.error-404-suggestions a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
    transition: var(--transition);
}

.error-404-suggestions a:hover {
    text-decoration: underline;
}

.error-404-suggestions span {
    color: var(--text-light);
    margin: 0 0.25rem;
}
