/* ═══════════════════════════════════════════════════════
   1. BRAND COLOR SYSTEM
   Override Astra blue #0170B9 → V3 navy
   NOTE: !important is invalid for custom properties; last-writer wins.
   ═══════════════════════════════════════════════════════ */
:root {
    --ast-global-color-0: #1a2847;
    --ast-global-color-1: #2d2d2d;
    --ast-global-color-2: #2d2d2d;
    --ast-global-color-3: #6b7280;
    --ast-global-color-4: #faf7f2;
    --ast-global-color-5: #ffffff;
    --ast-global-color-6: #e8e2d9;
    --ast-global-color-7: #4a4a4a;
    --ast-global-color-8: #0f1828;
    /* Sporeus design tokens — alias V3 vars */
    --sp-navy:      var(--navy);
    --sp-navy-dk:   #0f1828;
    --sp-gold:      var(--gold);
    --sp-gold-dk:   #a0783a;
    --sp-cream:     var(--cream);
    --sp-cream-2:   var(--cream2);
    --sp-charcoal:  #2d2d2d;
    --sp-muted:     var(--muted);
    --sp-red:       #c0392b;
}

/* Direct color overrides for elements Astra wires to --ast-global-color-0 */
a { color: var(--navy); }
.ast-highlight-color-text { color: var(--navy) !important; }
.ast-highlight-color-bg   { background-color: var(--navy) !important; }
button, input[type="submit"], input[type="button"] { background-color: var(--navy); }

/* ═══════════════════════════════════════════════════════
   2. NAVIGATION & HEADER — brand navy with gold accent
   ═══════════════════════════════════════════════════════ */
.site-header,
.main-header-bar,
.ast-header-break-point .ast-mobile-header-wrap {
    background-color: var(--navy) !important;
    border-bottom: 3px solid var(--gold) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.2) !important;
}
.site-title a,
.ast-site-identity .site-title a,
.ast-site-identity .site-title a:hover {
    color: var(--gold, #c9a961) !important;
    font-family: Arial, sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.4rem !important;
    letter-spacing: 0.04em !important;
}
.site-description { color: rgba(255,255,255,0.55) !important; font-size: 12px !important; }

.main-navigation a,
.main-navigation ul li a {
    color: rgba(255,255,255,0.85) !important;
    font-family: Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}
.main-navigation a:hover,
.main-navigation ul li a:hover { color: var(--gold) !important; }
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
    color: var(--gold) !important;
}
.main-navigation ul ul {
    background: #0f1828 !important;
    border-top: 2px solid var(--gold) !important;
}
.main-navigation ul ul li a {
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    padding: 10px 18px !important;
}
.ast-mobile-menu-buttons button,
.menu-toggle { color: #ffffff !important; }

/* ═══════════════════════════════════════════════════════
   3. ARTICLE TITLE
   ═══════════════════════════════════════════════════════ */
h1.entry-title, .entry-title, .ast-archive-title, .page-title {
    font-family: Arial, sans-serif !important;
    font-weight: 900 !important;
    color: var(--navy) !important;
    letter-spacing: -0.02em !important;
    line-height: 1.2 !important;
}
.single h1.entry-title {
    font-size: clamp(1.75rem, 4vw, 2.6rem) !important;
    margin-bottom: 0.25em !important;
}

/* ═══════════════════════════════════════════════════════
   4. ENTRY CONTENT — headings
   ═══════════════════════════════════════════════════════ */
.entry-content h2,
.ast-article-post h2 {
    font-family: Arial, sans-serif !important;
    font-weight: 700 !important;
    color: var(--navy) !important;
    font-size: clamp(1.25rem, 3vw, 1.65rem) !important;
    line-height: 1.25 !important;
    margin-top: 2.4em !important;
    margin-bottom: 0.6em !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid var(--border) !important;
    letter-spacing: -0.01em !important;
}
.entry-content h2::after {
    content: '';
    display: block;
    width: 44px;
    height: 3px;
    background: var(--gold);
    margin-top: 6px;
}
.entry-content h3,
.ast-article-post h3 {
    font-family: Arial, sans-serif !important;
    font-weight: 700 !important;
    color: var(--navy) !important;
    font-size: clamp(1.05rem, 2.5vw, 1.3rem) !important;
    line-height: 1.3 !important;
    margin-top: 1.8em !important;
    margin-bottom: 0.4em !important;
}
.entry-content h4 {
    font-family: Arial, sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #4a4a4a !important;
    margin-top: 1.4em !important;
}

/* Body text */
.entry-content p { font-size: 1.05rem !important; line-height: 1.82 !important; }
.entry-content > p:first-of-type { font-size: 1.12rem !important; line-height: 1.75 !important; color: var(--text) !important; }

/* ═══════════════════════════════════════════════════════
   5. SEE-ALSO BLOCK — intellectual inline callout
   ═══════════════════════════════════════════════════════ */
.sporeus-see-also {
    margin: 2em 0 !important;
    padding: 14px 20px 14px 52px !important;
    background: linear-gradient(135deg, var(--cream), #ffffff) !important;
    border: 1px solid var(--border) !important;
    border-left: 3px solid var(--gold) !important;
    border-radius: 0 6px 6px 0 !important;
    position: relative !important;
    box-shadow: 0 1px 4px rgba(26,40,71,0.06) !important;
    line-height: 1.5 !important;
}
.sporeus-see-also::before {
    content: '↗';
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: var(--gold) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
}
.sporeus-see-also strong {
    font-family: Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--muted) !important;
    display: block !important;
    margin-bottom: 3px !important;
}
.sporeus-see-also a,
.entry-content .sporeus-see-also a {
    color: var(--navy) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    border-bottom: 1px solid rgba(201,169,97,0.45) !important;
    transition: color 0.15s, border-color 0.15s !important;
}
.sporeus-see-also a:hover,
.entry-content .sporeus-see-also a:hover {
    color: var(--gold) !important;
    border-bottom-color: var(--gold) !important;
}

/* ═══════════════════════════════════════════════════════
   6. TOC — gold accent instead of red
   ═══════════════════════════════════════════════════════ */
.sporeus-toc-title { border-bottom-color: var(--gold) !important; }
.sporeus-toc-nav a:hover, .sporeus-toc-nav a.active {
    color: var(--navy) !important;
    border-left-color: var(--gold) !important;
}

/* ═══════════════════════════════════════════════════════
   7. ARTICLE CARDS (archive / homepage Astra layout)
   ═══════════════════════════════════════════════════════ */
.ast-article-post {
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
    background: #ffffff !important;
}
.ast-article-post:hover {
    box-shadow: 0 8px 28px rgba(26,40,71,0.12) !important;
    transform: translateY(-2px) !important;
}
.post-thumb-img-content { overflow: hidden !important; }
.post-thumb-img-content img { transition: transform 0.35s ease !important; }
.ast-article-post:hover .post-thumb-img-content img { transform: scale(1.04) !important; }
.ast-article-post .entry-title a {
    color: var(--navy) !important;
    font-family: Arial, sans-serif !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
.ast-article-post .entry-title a:hover { color: var(--gold) !important; }
.ast-article-post .read-more a,
.ast-article-post .more-link {
    color: var(--navy) !important;
    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    text-decoration: none !important;
    border-bottom: 1px solid var(--gold) !important;
}
.ast-article-post .read-more a:hover, .ast-article-post .more-link:hover { color: var(--gold) !important; }

/* ═══════════════════════════════════════════════════════
   8. RELATED POSTS
   ═══════════════════════════════════════════════════════ */
.sp-related-wrap {
    margin-top: 3em !important;
    padding-top: 2em !important;
    border-top: 2px solid var(--border) !important;
}
.sp-related-title {
    font-family: Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--navy) !important;
    display: inline-block !important;
    border-bottom: 2px solid var(--gold) !important;
    padding-bottom: 6px !important;
    margin-bottom: 20px !important;
}
.sp-related-card {
    border: 1px solid var(--border) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    transition: box-shadow 0.2s !important;
}
.sp-related-card:hover { box-shadow: 0 4px 16px rgba(26,40,71,0.1) !important; }
.sp-related-card-title { font-family: Arial, sans-serif !important; font-weight: 700 !important; }
.sp-related-card-title a { color: var(--navy) !important; text-decoration: none !important; }
.sp-related-card-title a:hover { color: var(--gold) !important; }

/* ═══════════════════════════════════════════════════════
   9. INTELLECTUAL TYPOGRAPHY DETAILS
   ═══════════════════════════════════════════════════════ */
/* Blockquote */
.entry-content blockquote {
    margin: 2em 0 !important;
    padding: 20px 28px 20px 24px !important;
    border-left: 4px solid var(--gold) !important;
    background: var(--cream) !important;
    border-radius: 0 6px 6px 0 !important;
    font-family: Arial, sans-serif !important;
    font-style: italic !important;
    font-size: 1.08rem !important;
    line-height: 1.65 !important;
    color: #2d2d2d !important;
}
.entry-content blockquote p {
    font-family: Arial, sans-serif !important;
    font-style: italic !important;
    font-size: 1.08rem !important;
    color: #2d2d2d !important;
}
.entry-content blockquote cite {
    display: block !important;
    font-family: Arial, sans-serif !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--muted) !important;
    margin-top: 12px !important;
}
/* Strong */
.entry-content strong { color: var(--text) !important; font-weight: 700 !important; }
/* Lists */
.entry-content ul { list-style: none !important; padding-left: 1.2em !important; }
.entry-content ul li::before {
    content: '—' !important;
    color: var(--gold) !important;
    font-weight: 700 !important;
    margin-left: -1.2em !important;
    margin-right: 0.5em !important;
}
.entry-content ul li { padding-left: 0.4em !important; margin-bottom: 0.4em !important; line-height: 1.7 !important; }
.entry-content ol { padding-left: 1.6em !important; }
.entry-content ol li { margin-bottom: 0.4em !important; line-height: 1.7 !important; }
/* Suppress list markers on WP blocks and internal components */
.entry-content .sporeus-toc-nav li::before,
.entry-content .sp-related-wrap li::before,
.entry-content .blocks-gallery-item::before,
.entry-content .wp-block-navigation-item::before { content: none !important; }
/* HR section divider */
.entry-content hr {
    border: none !important;
    height: 1px !important;
    background: linear-gradient(to right, transparent, var(--gold), transparent) !important;
    margin: 3em auto !important;
    max-width: 200px !important;
}
/* Image captions */
.entry-content figure img {
    border-radius: 4px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
}
.entry-content figcaption {
    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    color: var(--muted) !important;
    text-align: center !important;
    margin-top: 8px !important;
    font-style: italic !important;
}

/* ═══════════════════════════════════════════════════════
   10. HOMEPAGE / CUSTOM CARD COMPONENTS
   ═══════════════════════════════════════════════════════ */
.sp-section-title, .sp-section > h2, .sp-section > h3 {
    font-family: Arial, sans-serif !important;
    font-weight: 700 !important;
    color: var(--navy) !important;
    border-bottom: 2px solid var(--gold) !important;
    padding-bottom: 8px !important;
    display: inline-block !important;
    margin-bottom: 24px !important;
}
.sp-tool-card {
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    overflow: hidden !important;
    transition: box-shadow 0.2s, transform 0.2s !important;
}
.sp-tool-card:hover {
    box-shadow: 0 6px 24px rgba(26,40,71,0.1) !important;
    transform: translateY(-2px) !important;
}
.sp-latest-card {
    border-bottom: 1px solid var(--cream2) !important;
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
}
.sp-latest-card:last-child { border-bottom: none !important; }
.sp-latest-card a {
    font-family: Arial, sans-serif !important;
    font-weight: 600 !important;
    color: var(--navy) !important;
    text-decoration: none !important;
    line-height: 1.35 !important;
}
.sp-latest-card a:hover { color: var(--gold) !important; }
.sp-post-info, .sp-post-meta {
    font-family: Arial, sans-serif !important;
    font-size: 11px !important;
    color: var(--muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* ═══════════════════════════════════════════════════════
   11. NEWSLETTER FORM — dark brand
   ═══════════════════════════════════════════════════════ */
.sporeus-nl-form, .sp-nl-box {
    background: linear-gradient(135deg, var(--navy) 0%, #0f1828 100%) !important;
    border-radius: 10px !important;
    padding: 36px 32px !important;
}
.sporeus-nl-form h3, .sp-nl-box h3 {
    font-family: Arial, sans-serif !important;
    font-weight: 700 !important;
    color: #ffffff !important;
}
.sporeus-nl-form p, .sp-nl-box p { color: rgba(255,255,255,0.7) !important; font-size: 0.9rem !important; }
.sporeus-nl-form input[type="email"], .sp-nl-box input[type="email"] {
    background: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(201,169,97,0.4) !important;
    color: #ffffff !important;
}
.sporeus-nl-form button, .sp-nl-box button, .sporeus-nl-form input[type="submit"] {
    background: var(--gold) !important;
    color: var(--navy) !important;
    font-weight: 700 !important;
    border: none !important;
    font-family: Arial, sans-serif !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* ═══════════════════════════════════════════════════════
   12. ARCHIVE / CATEGORY HEADER
   ═══════════════════════════════════════════════════════ */
.ast-archive-header, .taxonomy-description {
    background: var(--cream) !important;
    padding: 32px 20px !important;
    border-bottom: 3px solid var(--gold) !important;
    margin-bottom: 2em !important;
}

/* ═══════════════════════════════════════════════════════
   13. FOOTER — gold gradient + dark navy
   ═══════════════════════════════════════════════════════ */
.site-footer::before {
    content: '';
    display: block;
    height: 3px;
    background: linear-gradient(90deg, var(--gold), var(--navy), var(--gold));
}
.ast-small-footer,
.ast-small-footer .ast-container {
    background-color: #07101e !important;
    border-top: 1px solid rgba(201,169,97,0.2) !important;
}
.ast-small-footer a:hover { color: var(--gold) !important; }

/* ═══════════════════════════════════════════════════════
   14. GLOSSARY LINKS
   ═══════════════════════════════════════════════════════ */
.sporeus-glossary-term, a.sporeus-glossary-link {
    color: inherit !important;
    border-bottom: 1px dashed var(--gold) !important;
    text-decoration: none !important;
    cursor: help !important;
}

/* ═══════════════════════════════════════════════════════
   15. MOBILE
   ═══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    .sporeus-see-also { padding: 12px 16px 12px 44px !important; }
    .entry-content h2::after { display: none; }
    .site-header { border-bottom-width: 2px !important; }
}