/* ==========================================================================
   Single Post - Clean & Readable
   ========================================================================== */

/* Define variables at root level for single posts */
body.single-post {
    --sp-primary: #1a1a1a;
    --sp-text: #374151;
    --sp-text-light: #6b7280;
    --sp-accent: #d4a574;
    --sp-border: #e5e7eb;
    --sp-bg: #ffffff;
    --sp-bg-alt: #f9fafb;
    --sp-link: #2c1810;
}

/* ==========================================================================
   Single Post - Clean & Readable
   NUCLEAR SPECIFICITY - Override GeneratePress inline styles
   ========================================================================== */

/* Use #page for maximum specificity */
body.single-post #page .sp,
body.single-post #page article.sp {
    width: 100%;
}

body.single-post #page .sp .container {
    max-width: 720px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body.single-post #page .sp .container--wide {
    max-width: 1000px !important;
}

/* Reset GP containers with #page specificity */
body.single-post #page .site-content,
body.single-post #page #content,
body.single-post #page #primary,
body.single-post #page .content-area {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}

body.single-post #page .grid-container {
    max-width: 100% !important;
    padding: 0 !important;
}

/* Hide sidebar */
body.single-post #page #right-sidebar,
body.single-post #page #left-sidebar,
body.single-post #page .sidebar {
    display: none !important;
}

/* ==========================================================================
   Header
   ========================================================================== */

body.single-post #page .sp-header {
    padding: 40px 0 !important;
    background: #ffffff !important;
}

body.single-post #page .sp-header__cat {
    display: inline-block !important;
    padding: 6px 14px !important;
    margin-bottom: 16px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #2c1810 !important;
    background: #d4a574 !important;
    border-radius: 4px !important;
    text-decoration: none !important;
}

body.single-post #page .sp-header__title {
    font-size: clamp(28px, 4vw, 40px) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: #1a1a1a !important;
    margin: 0 0 16px !important;
}

body.single-post #page .sp-header__meta {
    font-size: 14px !important;
    color: #6b7280 !important;
}

body.single-post #page .sp-header__grid {
    display: grid !important;
    grid-template-columns: 1fr 280px !important;
    gap: 32px !important;
    align-items: start !important;
}

body.single-post #page .sp-header__image {
    border-radius: 12px !important;
    overflow: hidden !important;
}

body.single-post #page .sp-header__img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 12px !important;
}

/* ==========================================================================
   TOC
   ========================================================================== */

body.single-post #page .sp-toc {
    background: #f9fafb !important;
    border-radius: 12px !important;
    padding: 24px !important;
    position: sticky !important;
    top: 100px !important;
}

body.single-post #page .sp-toc__title {
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #6b7280 !important;
    margin: 0 0 16px !important;
}

body.single-post #page .sp-toc__list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-post #page .sp-toc__item {
    margin-bottom: 12px !important;
}

body.single-post #page .sp-toc__item a {
    font-size: 14px !important;
    color: #374151 !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    display: block !important;
}

body.single-post #page .sp-toc__item a:hover {
    color: #d4a574 !important;
}

body.single-post #page .sp-toc__item--h3 {
    padding-left: 16px !important;
}

/* ==========================================================================
   Content
   ========================================================================== */

body.single-post #page .sp-body {
    padding: 48px 0 !important;
    background: #ffffff !important;
}

body.single-post #page .sp-content {
    font-size: 18px !important;
    line-height: 1.8 !important;
    color: #374151 !important;
}

body.single-post #page .sp-content h2 {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 48px 0 20px !important;
    line-height: 1.3 !important;
    scroll-margin-top: 80px !important;
}

body.single-post #page .sp-content h3 {
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    margin: 36px 0 16px !important;
    line-height: 1.4 !important;
}

body.single-post #page .sp-content p {
    margin: 0 0 24px !important;
}

body.single-post #page .sp-content a {
    color: #2c1810 !important;
    text-decoration: underline !important;
    text-decoration-color: #d4a574 !important;
    text-underline-offset: 3px !important;
}

body.single-post #page .sp-content a:hover {
    background-color: #d4a574 !important;
    text-decoration: none !important;
}

body.single-post #page .sp-content img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    margin: 32px 0 !important;
}

body.single-post #page .sp-content ul,
body.single-post #page .sp-content ol {
    margin: 0 0 24px !important;
    padding-left: 24px !important;
}

body.single-post #page .sp-content li {
    margin-bottom: 12px !important;
}

body.single-post #page .sp-content blockquote {
    margin: 32px 0 !important;
    padding: 24px 28px !important;
    background: #f9fafb !important;
    border-left: 4px solid #d4a574 !important;
    border-radius: 0 8px 8px 0 !important;
    font-style: italic !important;
}

/* ==========================================================================
   Footer
   ========================================================================== */

body.single-post #page .sp-footer {
    padding: 24px 0 32px !important;
    border-top: 1px solid #e5e7eb !important;
    background: #ffffff !important;
}

body.single-post #page .sp-footer__row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

body.single-post #page .sp-tags {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

body.single-post #page .sp-tags__item {
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #374151 !important;
    background: #f9fafb !important;
    border-radius: 6px !important;
    text-decoration: none !important;
}

body.single-post #page .sp-share {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

body.single-post #page .sp-share__btn {
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    background: #f9fafb !important;
    color: #374151 !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
}

/* ==========================================================================
   Navigation
   ========================================================================== */

body.single-post #page .sp-nav {
    padding: 32px 0 !important;
    background: #f9fafb !important;
}

body.single-post #page .sp-nav__pills {
    display: flex !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 12px !important;
}

body.single-post #page .sp-nav__pill {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 20px !important;
    background: white !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 50px !important;
    text-decoration: none !important;
}

body.single-post #page .sp-nav__pill--all {
    background: #1a1a1a !important;
    border-color: #1a1a1a !important;
    color: white !important;
}

/* ==========================================================================
   Related Posts
   ========================================================================== */

body.single-post #page .sp-related {
    padding: 48px 0 !important;
    background: white !important;
}

body.single-post #page .sp-related__title {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    text-align: center !important;
    margin: 0 0 32px !important;
}

body.single-post #page .sp-related__grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
}

body.single-post #page .sp-related__card {
    background: #f9fafb !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

body.single-post #page .sp-related__img {
    display: block !important;
    aspect-ratio: 16/10 !important;
    overflow: hidden !important;
}

body.single-post #page .sp-related__img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body.single-post #page .sp-related__content {
    padding: 20px !important;
}

body.single-post #page .sp-related__card-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    margin: 0 0 8px !important;
}

body.single-post #page .sp-related__card-title a {
    color: #1a1a1a !important;
    text-decoration: none !important;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 900px) {
    body.single-post #page .sp-header__grid {
        grid-template-columns: 1fr !important;
    }
    
    body.single-post #page .sp-toc {
        position: static !important;
        margin-top: 24px !important;
    }
    
    body.single-post #page .sp-nav__pills {
        flex-direction: column !important;
    }
    
    body.single-post #page .sp-related__grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 600px) {
    body.single-post #page .sp-related__grid {
        grid-template-columns: 1fr !important;
    }
}