/* Blog Typography & Color Cleanup */

/* General Container & Layout Adjustments */
body.single-post {
    background-color: #FCF6EC !important; /* Cream page background */
}

.single-post .elementor-container {
    max-width: 1240px;
    margin: 0 auto;
}

@media (min-width: 1025px) {
    .single-post .elementor-row,
    .single-post .elementor-container {
        display: flex;
        gap: 64px;
        flex-wrap: nowrap;
    }
    
    /* Article column */
    .single-post .elementor-column:first-child {
        width: 65%;
    }

    /* Sidebar column */
    .single-post .elementor-column:last-child {
        width: 35%;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .single-post .elementor-row,
    .single-post .elementor-container {
        gap: 48px;
    }
}

/* Hero Section Adjustments */
.single-post .elementor-widget-theme-post-title h1,
.single-post h1.entry-title {
    font-family: 'Archivo', sans-serif !important;
    font-weight: 800 !important;
    font-style: normal !important;
    color: #FCF6EC !important; /* Off-white title inside rust header */
    line-height: 1.08;
    margin-bottom: 16px;
    font-size: 52px;
}

/* Category Label */
.single-post .elementor-widget-post-info .elementor-post-info__terms-list a {
    color: #FF9900 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}

/* Excerpt / Subtitle */
.single-post .elementor-widget-theme-post-excerpt {
    font-family: 'Fraunces', serif !important;
    font-style: italic !important;
    font-size: 20px;
    line-height: 1.5;
    color: #4B5563 !important; /* Assuming this stays dark or adjust if inside rust header */
    max-width: 760px;
    margin-bottom: 24px;
}

/* Post Content Widget Styling */
.single-post .elementor-widget-theme-post-content {
    max-width: 760px;
}

.single-post .elementor-widget-theme-post-content p {
    font-family: 'Inter', sans-serif !important;
    font-size: 17px;
    line-height: 1.7;
    font-weight: 400;
    color: #1F2A37 !important; /* Dark charcoal-navy */
    margin-bottom: 22px;
}

/* Pull Quotes */
.single-post .elementor-widget-theme-post-content blockquote,
.single-post .elementor-widget-theme-post-content q {
    font-family: 'Fraunces', serif !important;
    font-style: italic !important;
}

/* Normal Blog Headings */
.single-post .elementor-widget-theme-post-content h2,
.single-post .elementor-widget-theme-post-content h3,
.single-post .elementor-widget-theme-post-content h4 {
    font-family: 'Archivo', sans-serif !important;
    font-style: normal !important;
    font-weight: 800 !important;
    color: #1F2A37 !important;
}

.single-post .elementor-widget-theme-post-content h2 {
    font-size: 34px;
    line-height: 1.2;
    margin-top: 48px;
    margin-bottom: 18px;
}

.single-post .elementor-widget-theme-post-content h3 {
    font-size: 24px;
    line-height: 1.25;
    margin-top: 36px;
    margin-bottom: 14px;
}

/* Links */
.single-post .elementor-widget-theme-post-content a {
    color: #FF9900;
    text-decoration: none;
}
.single-post .elementor-widget-theme-post-content a:hover {
    color: #E68A00;
}

/* Responsive Headings & Text */
@media (max-width: 1024px) {
    .single-post .elementor-widget-theme-post-title h1,
    .single-post h1.entry-title {
        font-size: 42px;
    }
    .single-post .elementor-widget-theme-post-excerpt {
        font-size: 19px;
    }
    .single-post .elementor-widget-theme-post-content p {
        font-size: 17px;
    }
    .single-post .elementor-widget-theme-post-content h2 {
        font-size: 28px;
    }
    .single-post .elementor-widget-theme-post-content h3 {
        font-size: 22px;
    }
}

@media (max-width: 767px) {
    .single-post .elementor-widget-theme-post-title h1,
    .single-post h1.entry-title {
        font-size: 32px;
    }
    .single-post .elementor-widget-theme-post-content p {
        font-size: 16px;
    }
    .single-post .elementor-widget-theme-post-content h2 {
        font-size: 24px;
    }
    .single-post .elementor-widget-theme-post-content h3 {
        font-size: 20px;
    }
}

/* Buttons - Global override for CTA buttons */
.single-post .elementor-button,
.elementor-button,
a.elementor-button,
.elementor-widget-button .elementor-button,
button.elementor-button {
    background-color: #F47C20 !important; /* Brighter orange */
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    padding: 12px 18px !important;
    border: none !important;
}

.single-post .elementor-button:hover,
.elementor-button:hover,
a.elementor-button:hover,
.elementor-widget-button .elementor-button:hover,
button.elementor-button:hover {
    background-color: #d66b1a !important; /* Slightly darker hover */
}

/* Featured Image (Option A style) */
.single-post .elementor-widget-theme-post-featured-image img {
    width: 100%;
    border-radius: 12px;
    margin-bottom: 48px;
    object-fit: cover;
}

/* Sidebar Specifics */
.single-post .elementor-column:last-child > .elementor-widget-wrap {
    background: #FFFFFF;
    border: 1px solid #EDEDED;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

@media (min-width: 1025px) {
    /* Sticky Sidebar */
    .single-post .elementor-column:last-child {
        position: sticky;
        top: 100px;
        height: max-content;
    }
}

/* Inline CTA Banner Override */
.inline-cta-banner {
    background-color: #FFF8EE !important;
    border: 1px solid #FF9900 !important;
    border-radius: 10px !important;
    padding: 20px !important;
}
.inline-cta-banner p {
    font-size: 18px !important;
}
