/*
Theme Name: Schuelken Dark Tech
Theme URI: https://blog.schuelken.uk/
Description: Dark mode child theme for Astra — maximum visibility and readability.
Author: Schuelken Intelligence Architect
Version: 3.3.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: astra
Text Domain: schuelken-dark-tech
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
    /* Backgrounds - dark theme */
    --bg-base: #0a0d14;
    --bg-card: #141922;
    --bg-elevated: #1a202c;
    
    /* Text - HIGH VISIBILITY */
    --text-bright: #ffffff;
    --text-primary: #e8ecf2;
    --text-body: #c9d1dc;
    --text-muted: #8896a8;
    
    /* Accents */
    --accent-cyan: #22d3ee;
    --accent-purple: #a78bfa;
    --accent-pink: #f472b6;
    
    /* Borders */
    --border-color: #2a3444;
    
    /* Typography */
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
    --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
}

/* ============================================================
   GLOBAL DARK MODE - FORCE EVERYTHING DARK
   ============================================================ */

/* Master reset - make EVERYTHING dark by default */
html,
body,
body.search,
body.archive,
body.category,
body.tag,
body.author,
body.date,
body.home,
body.single,
body.page,
div,
main,
section,
article,
aside,
header,
footer,
.ast-separate-container,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-plain-container,
.ast-page-builder-template,
.ast-no-sidebar,
.ast-right-sidebar,
.ast-left-sidebar,
.ast-two-container,
#page,
#wrapper,
#content,
#primary,
#secondary,
#main,
.site-content,
.content-area,
.site-main,
.ast-container,
.ast-row,

/* Search & Archive Pages - the big white box */
.search .site-content,
.search #content,
.search #primary,
.search #main,
.search .ast-container,
.search .content-area,
.archive .site-content,
.archive #content,
.archive #primary,
.archive .ast-container,
.search-results,
.search-results .site-content,
.search-results #content,

/* Archive description / hero banner */
.ast-archive-description,
.search .ast-archive-description,
.archive .ast-archive-description,
.category .ast-archive-description,
section.ast-archive-description,
.ast-breadcrumbs-wrapper,
.ast-breadcrumbs-inner,
.ast-breadcrumbs,
.page-header,
.ast-page-header-section,

/* Hero/Banner sections */
.ast-hero-section,
.entry-header,
.ast-single-entry-banner,
.ast-archive-entry-banner,
#content,
#primary,
#secondary,
.site-content,
.content-area,
.ast-container {
    background: var(--bg-base) !important;
    background-color: var(--bg-base) !important;
}

body {
    color: var(--text-primary) !important;
    font-family: var(--font-sans) !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
}

/* ============================================================
   SEARCH & ARCHIVE PAGE - DARK HERO BANNER
   ============================================================ */
.search .ast-archive-description,
.archive .ast-archive-description,
.ast-archive-description,
.page-header,
.ast-page-header-section,
.search .page-header,
.archive .page-header,
.search-results .page-header,
.category .ast-archive-description,
.tag .ast-archive-description,
.author .ast-archive-description,
.date .ast-archive-description,
.ast-page-header-wrap,
.ast-page-header-content,
.ast-page-header-container,
.ast-breadcrumbs-wrapper,
.ast-breadcrumbs-container {
    background: var(--bg-card) !important;
    background-color: var(--bg-card) !important;
    border-bottom: 1px solid var(--border-color) !important;
    padding: 2rem !important;
    margin-bottom: 2rem !important;
}

/* Search/Archive title */
.ast-archive-description .ast-archive-title,
.ast-archive-title,
.page-title,
.search .page-title,
.archive .page-title,
.search-results .page-title,
.ast-page-header-content h1 {
    color: var(--text-bright) !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
}

/* Breadcrumbs */
.ast-breadcrumbs,
.ast-breadcrumbs a,
.ast-breadcrumbs span,
.trail-items,
.trail-items a,
.breadcrumb,
nav.breadcrumb {
    color: var(--text-muted) !important;
    background: transparent !important;
}

.ast-breadcrumbs a:hover,
.trail-items a:hover {
    color: var(--accent-cyan) !important;
}

/* Search form on search page */
.search-form,
.ast-search-box,
.search .search-form,
.search-field,
.search-submit {
    background: var(--bg-elevated) !important;
}

.search-field {
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
    padding: 0.75rem 1rem !important;
    border-radius: 8px 0 0 8px !important;
}

.search-submit {
    border-radius: 0 8px 8px 0 !important;
}

/* ============================================================
   ALL TEXT - FORCE VISIBILITY
   ============================================================ */
p,
.entry-content p,
.ast-article-post p,
article p,
.post-content p,
div p {
    color: var(--text-body) !important;
    font-size: 1rem !important;
    line-height: 1.8 !important;
}

/* ============================================================
   CARDS - DARK BACKGROUND, VISIBLE TEXT
   ============================================================ */
.ast-article-post,
.ast-article-single,
article.post,
article.page,
.type-post,
.type-page,
.ast-separate-container article,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-row article,
.ast-blog-layout-1 article,
.ast-blog-layout-2 article,
.ast-blog-layout-3 article,
.ast-blog-layout-4 article,
.ast-blog-layout-5 article,
.ast-blog-layout-6 article,
.ast-grid-common article,
.ast-grid-common-col,
.hentry {
    background: var(--bg-card) !important;
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin-bottom: 2rem !important;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s !important;
}

/* Article inner wrappers */
.ast-article-inner,
.ast-post-format-,
.ast-no-thumb,
.blog-layout-4,
.post-content,
.post-content.ast-grid-common-col {
    background: transparent !important;
}

/* Card hover effect */
.ast-article-post:hover,
article.post:hover,
.ast-row article:hover {
    transform: translateY(-4px) !important;
    border-color: var(--accent-cyan) !important;
    box-shadow: 0 8px 30px rgba(34, 211, 238, 0.15) !important;
}

/* Excerpt container */
.ast-excerpt-container,
.ast-excerpt-container p,
.ast-blog-single-element.ast-excerpt-container,
.ast-blog-single-element.ast-excerpt-container p {
    color: var(--text-body) !important;
    background: transparent !important;
}

/* Card content area */
.ast-article-post .entry-content,
.ast-article-post .post-content,
.ast-article-post .ast-excerpt-container,
.ast-excerpt-container,
article .entry-content,
article .post-content {
    background: transparent !important;
    padding: 1.25rem 1.5rem !important;
}

/* CARD EXCERPT TEXT - MAXIMUM VISIBILITY */
.ast-article-post .entry-content p,
.ast-article-post .post-content p,
.ast-article-post .ast-excerpt-container p,
.ast-excerpt-container p,
.entry-content .ast-the-content-class p,
article.post .entry-content p,
article .excerpt p,
.excerpt,
.ast-blog-single-element.ast-taxonomy-container + .entry-content p {
    color: #d0d8e4 !important;
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
    opacity: 1 !important;
}

/* ============================================================
   HEADINGS - VISIBLE
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.entry-title,
.entry-title a,
article h1,
article h2,
article h3,
article h4,
.ast-article-post .entry-title,
.ast-article-post .entry-title a,
.ast-article-single .entry-title {
    color: var(--text-bright) !important;
    font-weight: 700 !important;
}

/* Card title styling */
.ast-article-post .entry-title,
.ast-article-post .entry-title a {
    color: var(--accent-cyan) !important;
    font-size: 1.35rem !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    border-left: 3px solid var(--accent-cyan) !important;
    padding-left: 0.75rem !important;
    display: block !important;
}

.ast-article-post .entry-title a:hover {
    color: var(--accent-purple) !important;
}

/* ============================================================
   HEADER & NAVIGATION
   ============================================================ */
.site-header,
.ast-header,
.main-header-bar,
.ast-primary-header-bar,
#masthead {
    background: rgba(10, 13, 20, 0.95) !important;
    border-bottom: 1px solid var(--border-color) !important;
    backdrop-filter: blur(12px) !important;
}

.main-header-bar-navigation a,
.ast-header-sections-navigation a,
nav a,
.menu-item a {
    color: var(--text-primary) !important;
    font-weight: 500 !important;
}

.main-header-bar-navigation a:hover,
.menu-item a:hover {
    color: var(--accent-cyan) !important;
}

.site-title a,
.ast-site-identity .site-title a {
    color: var(--text-bright) !important;
    font-weight: 800 !important;
}

/* ============================================================
   SINGLE POST
   ============================================================ */
.ast-single-post .entry-header,
.single .entry-header {
    background: linear-gradient(145deg, var(--bg-card), var(--bg-elevated)) !important;
    padding: 2.5rem 2rem !important;
    border-radius: 12px !important;
    border: 1px solid var(--border-color) !important;
    margin-bottom: 2rem !important;
}

.ast-single-post .entry-title,
.single .entry-title {
    font-size: 2.25rem !important;
    color: var(--text-bright) !important;
    border: none !important;
    padding: 0 !important;
    background: linear-gradient(135deg, var(--text-bright), var(--accent-cyan)) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

/* Single post content */
.ast-single-post .entry-content,
.single .entry-content {
    background: var(--bg-card) !important;
    padding: 2.5rem !important;
    border-radius: 12px !important;
    border: 1px solid var(--border-color) !important;
}

.ast-single-post .entry-content p,
.single .entry-content p {
    color: var(--text-body) !important;
    font-size: 1.0625rem !important;
    line-height: 1.85 !important;
    margin-bottom: 1.5rem !important;
}

/* ============================================================
   KEY TAKEAWAYS BOX
   ============================================================ */
.ast-single-post .entry-content > h2:first-of-type,
.single .entry-content > h2:first-of-type {
    background: var(--bg-elevated) !important;
    color: var(--accent-cyan) !important;
    font-size: 1.1rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    padding: 1rem 1.5rem !important;
    margin: -2.5rem -2.5rem 0 -2.5rem !important;
    border-bottom: 2px solid var(--accent-cyan) !important;
    border-left: none !important;
}

.ast-single-post .entry-content > h2:first-of-type + ul,
.single .entry-content > h2:first-of-type + ul {
    background: rgba(34, 211, 238, 0.08) !important;
    padding: 1.5rem 2rem !important;
    margin: 0 -2.5rem 2rem -2.5rem !important;
    border-left: 4px solid var(--accent-cyan) !important;
    list-style: none !important;
}

.ast-single-post .entry-content > h2:first-of-type + ul li,
.single .entry-content > h2:first-of-type + ul li {
    color: var(--text-primary) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    padding: 0.75rem 0 0.75rem 1.5rem !important;
    border-bottom: 1px solid var(--border-color) !important;
    position: relative !important;
}

.ast-single-post .entry-content > h2:first-of-type + ul li::before,
.single .entry-content > h2:first-of-type + ul li::before {
    content: '→' !important;
    position: absolute !important;
    left: 0 !important;
    color: var(--accent-cyan) !important;
    font-weight: 700 !important;
}

.ast-single-post .entry-content > h2:first-of-type + ul li:last-child,
.single .entry-content > h2:first-of-type + ul li:last-child {
    border-bottom: none !important;
}

/* Regular headings in post */
.ast-single-post .entry-content h2,
.single .entry-content h2 {
    color: var(--text-bright) !important;
    font-size: 1.75rem !important;
    margin-top: 2.5rem !important;
    padding-left: 1rem !important;
    border-left: 4px solid var(--accent-cyan) !important;
}

.ast-single-post .entry-content h3,
.single .entry-content h3 {
    color: var(--accent-cyan) !important;
    font-size: 1.4rem !important;
    margin-top: 2rem !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 1px solid var(--border-color) !important;
}

/* ============================================================
   LISTS
   ============================================================ */
ul, ol,
.entry-content ul,
.entry-content ol,
.wp-block-list {
    background: var(--bg-elevated) !important;
    padding: 1.5rem 1.5rem 1.5rem 2.5rem !important;
    border-radius: 8px !important;
    border: 1px solid var(--border-color) !important;
    margin: 1.5rem 0 !important;
}

ul li, ol li,
.entry-content ul li,
.entry-content ol li,
.wp-block-list li {
    color: var(--text-body) !important;
    padding: 0.5rem 0 !important;
    line-height: 1.7 !important;
}

ul li::marker,
.entry-content ul li::marker {
    color: var(--accent-cyan) !important;
}

ol li::marker,
.entry-content ol li::marker {
    color: var(--accent-purple) !important;
    font-weight: 600 !important;
}

/* ============================================================
   LINKS
   ============================================================ */
a {
    color: var(--accent-cyan) !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}

a:hover {
    color: var(--accent-purple) !important;
}

.entry-content a {
    border-bottom: 1px solid rgba(34, 211, 238, 0.3) !important;
}

.entry-content a:hover {
    border-bottom-color: var(--accent-purple) !important;
}

/* ============================================================
   META INFO (dates, author, categories)
   ============================================================ */
.entry-meta,
.post-meta,
.posted-on,
.byline,
.cat-links,
.tags-links,
.ast-blog-meta-container,
.ast-blog-single-element {
    color: var(--text-muted) !important;
    font-size: 0.875rem !important;
}

.entry-meta a,
.post-meta a,
.cat-links a,
.tags-links a {
    color: var(--text-muted) !important;
}

.entry-meta a:hover,
.cat-links a:hover {
    color: var(--accent-cyan) !important;
}

/* Category badge on cards */
.ast-blog-single-element.ast-taxonomy-container a,
.cat-links a {
    background: var(--bg-elevated) !important;
    color: var(--accent-cyan) !important;
    padding: 0.25rem 0.75rem !important;
    border-radius: 4px !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    border: none !important;
}

/* ============================================================
   CODE BLOCKS
   ============================================================ */
pre, code, kbd, samp {
    font-family: var(--font-mono) !important;
    background: #0d1117 !important;
    color: var(--text-primary) !important;
    border-radius: 6px !important;
}

pre {
    padding: 1.5rem !important;
    border: 1px solid var(--border-color) !important;
    border-left: 3px solid var(--accent-purple) !important;
    overflow-x: auto !important;
}

code {
    padding: 0.2rem 0.5rem !important;
    font-size: 0.875em !important;
}

pre code {
    padding: 0 !important;
    background: transparent !important;
}

/* ============================================================
   BLOCKQUOTES
   ============================================================ */
blockquote {
    background: linear-gradient(135deg, rgba(167, 139, 250, 0.1), rgba(244, 114, 182, 0.05)) !important;
    border-left: 4px solid var(--accent-purple) !important;
    padding: 1.5rem 2rem !important;
    margin: 2rem 0 !important;
    border-radius: 0 8px 8px 0 !important;
}

blockquote p {
    color: var(--text-primary) !important;
    font-style: italic !important;
    font-size: 1.1rem !important;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.wp-block-button__link,
button,
input[type="submit"],
input[type="button"],
.button,
.btn,
.ast-button {
    background: linear-gradient(135deg, var(--accent-cyan), var(--accent-purple)) !important;
    color: #0a0d14 !important;
    border: none !important;
    padding: 0.875rem 1.75rem !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}

.wp-block-button__link:hover,
button:hover,
input[type="submit"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(34, 211, 238, 0.3) !important;
}

/* Read more link */
.read-more-link,
.ast-read-more-container a,
a.more-link {
    color: var(--accent-cyan) !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    border: none !important;
}

.read-more-link:hover,
.ast-read-more-container a:hover {
    color: var(--accent-purple) !important;
}

/* ============================================================
   FEATURED IMAGES
   ============================================================ */
.post-thumb img,
.wp-post-image,
.attachment-post-thumbnail {
    border-radius: 8px 8px 0 0 !important;
    border: none !important;
}

.ast-article-post .post-thumb,
.ast-blog-featured-section {
    margin: 0 !important;
    padding: 0 !important;
}

/* ============================================================
   SIDEBAR
   ============================================================ */
#secondary,
.widget-area,
aside {
    background: var(--bg-card) !important;
    border-radius: 12px !important;
    border: 1px solid var(--border-color) !important;
    padding: 1.5rem !important;
}

.widget-title {
    color: var(--text-bright) !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding-bottom: 0.75rem !important;
    margin-bottom: 1rem !important;
    border-bottom: 2px solid var(--accent-cyan) !important;
}

.widget ul {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.widget ul li {
    padding: 0.5rem 0 !important;
    border-bottom: 1px solid var(--border-color) !important;
}

.widget ul li:last-child {
    border-bottom: none !important;
}

.widget ul li a {
    color: var(--text-body) !important;
    border: none !important;
}

.widget ul li a:hover {
    color: var(--accent-cyan) !important;
}

/* ============================================================
   COMMENTS
   ============================================================ */
#comments,
.comment-respond,
#respond {
    background: var(--bg-card) !important;
    border-radius: 12px !important;
    padding: 2rem !important;
    margin-top: 2rem !important;
    border: 1px solid var(--border-color) !important;
}

.comments-title,
.comment-reply-title {
    color: var(--text-bright) !important;
    font-size: 1.4rem !important;
    margin-bottom: 1.5rem !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 2px solid var(--accent-cyan) !important;
}

.comment-content p {
    color: var(--text-body) !important;
}

.comment-meta,
.comment-metadata {
    color: var(--text-muted) !important;
}

.comment-author .fn {
    color: var(--accent-cyan) !important;
    font-weight: 600 !important;
}

/* Comment form inputs */
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    background: var(--bg-elevated) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
    padding: 0.875rem 1rem !important;
    border-radius: 8px !important;
    font-family: var(--font-sans) !important;
}

.comment-form input:focus,
.comment-form textarea:focus {
    border-color: var(--accent-cyan) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.15) !important;
}

.comment-form label {
    color: var(--text-body) !important;
    font-weight: 500 !important;
}

/* ============================================================
   FOOTER - FORCE DARK BACKGROUND
   ============================================================ */
.site-footer,
.ast-footer-overlay,
.ast-small-footer,
.ast-footer-copyright,
.ast-small-footer-wrap,
.ast-footer-html-inner,
.ast-builder-footer-grid-columns,
.site-below-footer-wrap,
.ast-builder-grid-row,
footer,
#colophon,
.site-footer .site-below-footer-wrap,
.ast-footer-copyright-wrapper,
.ast-builder-layout-element,
.ast-footer-widget-area {
    background: var(--bg-base) !important;
    background-color: var(--bg-base) !important;
    border-top: 1px solid var(--border-color) !important;
}

.site-footer,
footer,
#colophon {
    padding: 2rem !important;
    margin-top: 3rem !important;
}

/* Footer text */
.site-footer *,
.ast-small-footer *,
.ast-footer-copyright *,
.ast-small-footer-wrap *,
.ast-footer-html-inner *,
footer *,
.ast-builder-footer-grid-columns *,
.site-below-footer-wrap *,
.ast-footer-copyright-wrapper *,
.ast-copyright,
.ast-footer-copyright p,
.ast-builder-layout-element.ast-footer-copyright {
    color: var(--text-muted) !important;
    background: transparent !important;
}

.site-footer a,
.ast-small-footer a,
.ast-footer-copyright a,
footer a {
    color: var(--accent-cyan) !important;
}

.site-footer a:hover,
.ast-small-footer a:hover,
footer a:hover {
    color: var(--accent-purple) !important;
}

/* ============================================================
   FORMS
   ============================================================ */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea,
select {
    background: var(--bg-elevated) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
    padding: 0.875rem 1rem !important;
    border-radius: 8px !important;
    font-family: var(--font-sans) !important;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--accent-cyan) !important;
    outline: none !important;
}

input::placeholder,
textarea::placeholder {
    color: var(--text-muted) !important;
}

/* ============================================================
   TABLES
   ============================================================ */
table {
    background: var(--bg-card) !important;
    border-radius: 8px !important;
    border: 1px solid var(--border-color) !important;
    overflow: hidden !important;
}

table th {
    background: var(--bg-elevated) !important;
    color: var(--accent-cyan) !important;
    font-weight: 600 !important;
    padding: 1rem !important;
    text-align: left !important;
}

table td {
    padding: 1rem !important;
    border-bottom: 1px solid var(--border-color) !important;
    color: var(--text-body) !important;
}

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination,
.nav-links,
.ast-pagination {
    display: flex !important;
    gap: 0.5rem !important;
    justify-content: center !important;
    margin: 2rem 0 !important;
}

.pagination .page-numbers,
.nav-links a,
.nav-links span,
.ast-pagination a,
.ast-pagination span {
    background: var(--bg-card) !important;
    color: var(--text-body) !important;
    padding: 0.75rem 1rem !important;
    border-radius: 8px !important;
    border: 1px solid var(--border-color) !important;
}

.pagination .page-numbers:hover,
.nav-links a:hover,
.ast-pagination a:hover {
    border-color: var(--accent-cyan) !important;
    color: var(--accent-cyan) !important;
}

.pagination .page-numbers.current,
.nav-links .current,
.ast-pagination .current {
    background: var(--accent-cyan) !important;
    color: var(--bg-base) !important;
    border-color: var(--accent-cyan) !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 921px) {
    .ast-single-post .entry-content,
    .single .entry-content {
        padding: 1.5rem !important;
    }
    
    .ast-single-post .entry-content > h2:first-of-type {
        margin: -1.5rem -1.5rem 0 -1.5rem !important;
        padding: 1rem !important;
    }
    
    .ast-single-post .entry-content > h2:first-of-type + ul {
        margin: 0 -1.5rem 1.5rem -1.5rem !important;
        padding: 1rem 1.5rem !important;
    }
}

@media (max-width: 768px) {
    body {
        font-size: 16px !important;
    }
    
    .ast-single-post .entry-title,
    .single .entry-title {
        font-size: 1.75rem !important;
    }
    
    .ast-single-post .entry-header {
        padding: 1.5rem !important;
    }
    
    .ast-article-post .entry-title,
    .ast-article-post .entry-title a {
        font-size: 1.15rem !important;
    }
}

@media (max-width: 544px) {
    .ast-single-post .entry-content,
    .single .entry-content {
        padding: 1rem !important;
    }
    
    .ast-single-post .entry-content > h2:first-of-type {
        margin: -1rem -1rem 0 -1rem !important;
    }
    
    .ast-single-post .entry-content > h2:first-of-type + ul {
        margin: 0 -1rem 1rem -1rem !important;
    }
}

/* ============================================================
   ACCESSIBILITY
   ============================================================ */
:focus-visible {
    outline: 2px solid var(--accent-cyan) !important;
    outline-offset: 2px !important;
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

/* ============================================================
   WP ADMIN BAR (when logged in)
   ============================================================ */
#wpadminbar {
    background: var(--bg-base) !important;
    border-bottom: 1px solid var(--border-color) !important;
}

#wpadminbar * {
    color: var(--text-body) !important;
}

#wpadminbar a:hover,
#wpadminbar .ab-item:hover {
    color: var(--accent-cyan) !important;
}

/* ============================================================
   NO RESULTS PAGE
   ============================================================ */
.no-results,
.not-found,
.error-404,
.search .no-results,
.search-no-results,
section.no-results,
section.not-found,
.no-results .page-content,
.not-found .page-content {
    background: var(--bg-card) !important;
    padding: 3rem !important;
    border-radius: 12px !important;
    text-align: center !important;
    border: 1px solid var(--border-color) !important;
}

.no-results .page-title,
.not-found .page-title,
.error-404 .page-title,
.no-results h1,
.not-found h1 {
    color: var(--text-bright) !important;
}

.no-results p,
.not-found p,
.error-404 p,
.no-results .page-content p {
    color: var(--text-body) !important;
}

/* Search form in no-results */
.no-results .search-form,
.not-found .search-form,
.search-form {
    background: transparent !important;
    display: flex !important;
    max-width: 500px !important;
    margin: 1.5rem auto !important;
}

.no-results .search-field,
.search-form .search-field {
    flex: 1 !important;
    background: var(--bg-elevated) !important;
    border: 1px solid var(--border-color) !important;
    border-right: none !important;
    color: var(--text-primary) !important;
    padding: 0.875rem 1rem !important;
    border-radius: 8px 0 0 8px !important;
    font-size: 1rem !important;
}

.no-results .search-submit,
.search-form .search-submit {
    border-radius: 0 8px 8px 0 !important;
    padding: 0.875rem 1.5rem !important;
}

/* ============================================================
   CATEGORY BADGES ON CARDS
   ============================================================ */
.cat-links,
.ast-blog-single-element.ast-taxonomy-container,
.entry-meta .cat-links,
.post-categories {
    margin-bottom: 0.75rem !important;
}

.cat-links a,
.ast-blog-single-element.ast-taxonomy-container a,
.entry-meta .cat-links a {
    display: inline-block !important;
    background: var(--accent-cyan) !important;
    color: var(--bg-base) !important;
    padding: 0.25rem 0.75rem !important;
    border-radius: 4px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border: none !important;
}

.cat-links a:hover,
.ast-blog-single-element.ast-taxonomy-container a:hover {
    background: var(--accent-purple) !important;
    color: var(--bg-base) !important;
}

/* ============================================================
   PRINT
   ============================================================ */
@media print {
    body {
        background: white !important;
        color: black !important;
    }
    
    .site-header,
    .site-footer,
    #comments,
    .widget-area {
        display: none !important;
    }
}
