/*
Theme Name: Sporeus Terminal
Theme URI: https://sporeus.com
Description: Editorial science platform design for Sporeus
Author: Huseyin Akbulut
Author URI: https://sporeus.com
Template: astra
Version: 2.0.0
Text Domain: sporeus-terminal
*/

/* === CSS VARIABLES === */

:root {
    --bg: #ffffff;
    --text: #1a1a1a;
    --text-secondary: #4a4a4a;
    --text-muted: #6b7280;
    --accent: #c0392b;
    --accent-hover: #a93226;
    --accent-light: #fdf2f2;
    --border: #f0f0f0;
    --border-medium: #e5e5e5;
    --surface: #fafafa;
    --shadow-subtle: 0 1px 3px rgba(0,0,0,0.04);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.06);
}

/* === GLOBAL === */

html {
    scroll-behavior: smooth;
}

html, body,
.ast-separate-container,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container .comment-respond,
.ast-separate-container .ast-comment-list li,
.ast-separate-container .ast-woocommerce-container,
.ast-separate-container.ast-two-container #secondary .widget,
.ast-page-builder-template .entry-header,
.ast-separate-container .ast-archive-description {
    background-color: var(--bg) !important;
}

body {
    font-family: 'Source Serif 4', Georgia, serif !important;
    color: var(--text) !important;
    background-color: var(--bg) !important;
    padding-top: 2px !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* 2px red top line */
body::before {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background: var(--accent);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
    pointer-events: none;
}

/* === TYPOGRAPHY === */

h1, h2, h3, h4, h5, h6,
.entry-title,
.entry-title a,
.page-title,
.ast-archive-description .ast-archive-title,
.comments-title,
.comment-reply-title,
body .entry-content h1,
body .entry-content h2,
body .entry-content h3,
body .entry-content h4,
body .entry-content h5,
body .entry-content h6 {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
    color: var(--text) !important;
    font-weight: 700 !important;
}

h1, .entry-title {
    font-weight: 900 !important;
    font-size: 2.2rem !important;
    line-height: 1.2 !important;
}

h2 {
    font-size: 1.6rem !important;
    line-height: 1.3 !important;
}

h3 {
    font-size: 1.3rem !important;
    line-height: 1.35 !important;
}

p, li, dd,
.entry-content p,
.entry-content li,
.ast-comment-list .comment-content {
    font-family: 'Source Serif 4', Georgia, serif !important;
    color: var(--text) !important;
    line-height: 1.85 !important;
}

.entry-content {
    font-size: 1.1rem !important;
    line-height: 1.85 !important;
}

.entry-content p {
    margin-bottom: 1.6em !important;
}

a,
.entry-content a {
    color: var(--accent) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

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

/* === SELECTION === */

::selection {
    background: #fce4ec;
    color: var(--text);
}
::-moz-selection {
    background: #fce4ec;
    color: var(--text);
}

/* === FOCUS === */

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

/* === HEADER === */

.ast-primary-header,
.site-header,
.ast-primary-header-bar,
.main-header-bar,
.ast-primary-header .ast-builder-menu,
.ast-primary-header .ast-builder-layout-element,
.ast-main-header-bar-alignment,
header.site-header,
.main-header-bar-wrap,
.main-header-bar-wrap .main-header-bar,
#ast-desktop-header,
.ast-desktop-header-content,
.ast-builder-header-row,
.ast-header-break-point .main-header-bar,
.ast-above-header-bar,
.ast-below-header-bar,
.ast-builder-row-1,
.ast-builder-row-2,
.ast-builder-row-3 {
    background: var(--bg) !important;
    border-bottom: 1px solid var(--border) !important;
    padding: 20px 0 !important;
}

/* Sticky header */
.ast-primary-header {
    position: sticky;
    top: 2px;
    z-index: 999;
    transition: box-shadow 0.3s ease;
}

/* Site title */
.ast-site-identity .site-title,
.ast-site-identity .site-title a,
.site-title a,
.site-title,
.ast-site-identity a {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 700 !important;
    font-size: 28px !important;
    color: var(--text) !important;
    text-transform: none !important;
    letter-spacing: -0.02em !important;
    text-decoration: none !important;
}

.ast-site-identity .site-title a:hover {
    color: var(--accent) !important;
}

/* Tagline */
.site-description,
.ast-site-identity .site-description {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12px !important;
    color: var(--text-muted) !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* === NAV === */

.main-header-menu .menu-item > a,
.main-header-menu .menu-item > .ast-menu-toggle,
.ast-header-break-point .main-header-menu .menu-item > a,
.ast-builder-menu .menu-item > a,
.ast-builder-menu .menu-item > .menu-link,
.ast-header-break-point .ast-builder-menu .menu-item > a,
nav .menu-item > a,
.ast-nav-menu .menu-item > a,
.main-navigation a,
.ast-header-custom-item a,
.ast-masthead-custom-menu-items a {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--text-secondary) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.main-header-menu .menu-item > a:hover,
.main-header-menu .menu-item:hover > a,
.main-header-menu .current-menu-item > a,
.main-header-menu .current-menu-ancestor > a,
.ast-builder-menu .menu-item > a:hover,
.ast-builder-menu .menu-item:hover > a,
.ast-builder-menu .current-menu-item > a,
nav .menu-item > a:hover,
.ast-nav-menu .menu-item:hover > a,
.main-navigation a:hover {
    color: var(--accent) !important;
}

.main-header-menu .sub-menu,
.ast-builder-menu .sub-menu {
    background-color: var(--bg) !important;
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow-md) !important;
}

.main-header-menu .sub-menu .menu-item > a,
.ast-builder-menu .sub-menu .menu-item > a {
    color: var(--text-secondary) !important;
    border-color: var(--border) !important;
}

.main-header-menu .sub-menu .menu-item > a:hover,
.ast-builder-menu .sub-menu .menu-item > a:hover {
    color: var(--accent) !important;
    background-color: var(--surface) !important;
}

/* === MOBILE MENU === */

.ast-header-break-point .ast-button-wrap .menu-toggle,
.ast-header-break-point .menu-toggle,
.ast-mobile-menu-trigger-minimal,
.ast-builder-menu-mobile .menu-toggle {
    color: var(--text) !important;
    background: transparent !important;
    border: 1px solid var(--border-medium) !important;
    border-radius: 4px !important;
}

.ast-mobile-menu-trigger-minimal .ast-mobile-svg,
.menu-toggle .ast-mobile-svg {
    fill: var(--text) !important;
}

.ast-header-break-point .main-header-menu,
.ast-header-break-point .ast-builder-menu,
.ast-header-break-point .main-navigation,
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-mobile-header-wrap .ast-mobile-header-content,
.ast-mobile-popup-content,
.ast-mobile-popup-drawer {
    background-color: var(--bg) !important;
}

.ast-header-break-point .main-header-menu .menu-item > a,
.ast-header-break-point .ast-builder-menu .menu-item > a,
.ast-mobile-popup-drawer .menu-item > a {
    color: var(--text) !important;
    border-color: var(--border) !important;
    border-bottom: 1px solid var(--border) !important;
}

.ast-header-break-point .main-header-menu .menu-item > a:hover,
.ast-mobile-popup-drawer .menu-item > a:hover {
    color: var(--accent) !important;
}

/* === POST CARDS (HOMEPAGE) — Side-by-side layout === */

.ast-separate-container .ast-article-post {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 32px !important;
    padding: 40px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--border) !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
}

.ast-separate-container .ast-article-post:hover {
    border-left: none !important;
}

/* Featured image container - left 40% */
.ast-separate-container .ast-article-post .post-thumb-img-content,
.ast-separate-container .ast-article-post .ast-blog-featured-section {
    flex: 0 0 40% !important;
    max-width: 40% !important;
}

.ast-separate-container .ast-article-post .post-thumb-img-content img {
    border-radius: 4px !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

/* Text content - right 60% */
.ast-separate-container .ast-article-post .ast-blog-featured-section + .entry-header,
.ast-separate-container .ast-article-post .entry-header,
.ast-separate-container .ast-article-post .entry-content {
    flex: 1 !important;
}

/* Post title in cards */
.ast-separate-container .ast-article-post .entry-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
    color: var(--text) !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 8px !important;
}

.blog .entry-title a,
.archive .entry-title a,
.search-results .entry-title a,
.ast-separate-container .entry-title a,
.ast-separate-container .ast-article-post .entry-title a {
    color: var(--text) !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.blog .entry-title a:hover,
.archive .entry-title a:hover,
.search-results .entry-title a:hover,
.ast-separate-container .entry-title a:hover,
.ast-separate-container .ast-article-post .entry-title a:hover {
    color: var(--accent) !important;
}

/* Category label above title */
.ast-blog-single-element.ast-taxonomy-container {
    margin-bottom: 8px !important;
}
.ast-blog-single-element.ast-taxonomy-container a {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--accent) !important;
    text-decoration: none !important;
    background: none !important;
    padding: 0 !important;
}

/* Post meta */
.entry-meta,
.entry-meta *,
.entry-meta a,
.ast-blog-single-element.ast-taxonomy-container,
.cat-links, .cat-links a,
.posted-on, .posted-on a,
.byline, .byline a,
.comments-link, .comments-link a {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #9ca3af !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

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

/* Excerpt */
.ast-article-post .entry-content p,
.ast-excerpt-container p,
.entry-summary p {
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-size: 0.95rem !important;
    color: var(--text-muted) !important;
    line-height: 1.65 !important;
}

/* Read more link */
.ast-read-more-container a,
.read-more a,
a.more-link,
.ast-button.read-more,
.ast-article-post .read-more a,
.ast-article-post .ast-read-more-container a {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--accent) !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    border: none !important;
    background: none !important;
    padding: 0 !important;
}

.ast-read-more-container a:hover,
a.more-link:hover,
.ast-article-post .read-more a:hover,
.ast-article-post .ast-read-more-container a:hover {
    text-decoration: underline !important;
    color: var(--accent-hover) !important;
}

/* Section spacing */
.ast-separate-container .ast-article-post:first-child {
    padding-top: 24px !important;
}
.ast-separate-container .ast-article-post:last-child {
    border-bottom: none !important;
}

/* === SINGLE POST LAYOUT === */

.single .site-content .ast-container {
    max-width: 1100px !important;
}

.single .entry-content {
    max-width: 720px !important;
}

.ast-separate-container .ast-article-single {
    background: var(--bg) !important;
    border: none !important;
    box-shadow: none !important;
    padding: 40px !important;
}

/* Single post title */
.single .entry-title,
.ast-separate-container .ast-article-single .entry-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 900 !important;
    font-size: 2.2rem !important;
    line-height: 1.2 !important;
    color: var(--text) !important;
    text-transform: none !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 16px !important;
}

/* Single post meta */
.single .entry-meta,
.single .entry-meta * {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 13px !important;
    color: #9ca3af !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

/* Body content */
.single .entry-content {
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-size: 1.1rem !important;
    line-height: 1.85 !important;
    color: var(--text) !important;
}

.single .entry-content p {
    margin-bottom: 1.6em !important;
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-size: 1.1rem !important;
    line-height: 1.85 !important;
    color: var(--text) !important;
}

/* Drop cap */
.single .entry-content > p:first-of-type::first-letter {
    font-family: 'Playfair Display', serif !important;
    font-weight: 900 !important;
    font-size: 3.8em !important;
    float: left !important;
    line-height: 0.8 !important;
    margin-right: 8px !important;
    margin-top: 4px !important;
    color: var(--accent) !important;
}

/* Headings in content */
.single .entry-content h2 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 700 !important;
    font-size: 1.6rem !important;
    line-height: 1.3 !important;
    color: var(--text) !important;
    margin-top: 2.5em !important;
    margin-bottom: 0.8em !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
}

.single .entry-content h3 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 700 !important;
    font-size: 1.3rem !important;
    line-height: 1.35 !important;
    color: var(--text) !important;
    margin-top: 2em !important;
    margin-bottom: 0.6em !important;
    text-transform: none !important;
}

.single .entry-content h4,
.single .entry-content h5,
.single .entry-content h6 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: var(--text) !important;
    text-transform: none !important;
    margin-top: 2em !important;
    margin-bottom: 0.6em !important;
}

/* Links in single */
.single .entry-content a {
    color: var(--accent) !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent !important;
    transition: border-color 0.2s ease !important;
}
.single .entry-content a:hover {
    border-bottom-color: var(--accent) !important;
}

/* Blockquotes */
blockquote,
.entry-content blockquote,
.wp-block-quote {
    border-left: 3px solid var(--accent) !important;
    border-right: none !important;
    border-top: none !important;
    border-bottom: none !important;
    padding: 16px 0 16px 24px !important;
    margin: 2em 0 !important;
    background: transparent !important;
    font-style: italic !important;
    color: var(--text-secondary) !important;
}

blockquote p,
.wp-block-quote p,
.single .entry-content blockquote p {
    color: var(--text-secondary) !important;
    font-style: italic !important;
}

blockquote cite,
.wp-block-quote cite {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12px !important;
    color: var(--text-muted) !important;
    text-transform: uppercase !important;
    font-style: normal !important;
    letter-spacing: 0.04em !important;
}

/* Lists */
.single .entry-content ul,
.single .entry-content ol {
    margin-bottom: 1.6em !important;
    padding-left: 1.5em !important;
}
.single .entry-content li {
    margin-bottom: 0.5em !important;
    line-height: 1.75 !important;
}

/* Images */
.single .entry-content img {
    border-radius: 4px !important;
    margin: 2em 0 !important;
}

/* Captions */
.single .entry-content figcaption,
.single .entry-content .wp-caption-text,
figcaption {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12px !important;
    color: #9ca3af !important;
    text-align: center !important;
    margin-top: 8px !important;
    text-transform: none !important;
}

/* === CODE BLOCKS === */

code, pre, kbd, samp,
.entry-content code,
.entry-content pre,
.wp-block-code,
.wp-block-preformatted {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace !important;
    background: var(--surface) !important;
    color: var(--text) !important;
    border: 1px solid var(--border-medium) !important;
    border-radius: 3px !important;
}

code, .entry-content code {
    padding: 2px 6px !important;
    font-size: 0.9em !important;
}

pre, .entry-content pre, .wp-block-code {
    padding: 20px !important;
    overflow-x: auto !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* === SIDEBAR === */

#secondary,
.ast-separate-container.ast-two-container #secondary,
.widget-area {
    background: transparent !important;
    padding: 0 0 0 25px !important;
}

.widget,
.ast-separate-container .widget,
#secondary .widget {
    background: transparent !important;
    padding: 0 0 32px 0 !important;
    margin-bottom: 32px !important;
    box-shadow: none !important;
    border: none !important;
    border-bottom: 1px solid var(--border) !important;
}

.widget-title,
#secondary .widget-title,
.ast-separate-container .widget-title {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--text) !important;
    border-bottom: 2px solid var(--accent) !important;
    padding-bottom: 10px !important;
    margin-bottom: 20px !important;
    display: inline-block !important;
    position: relative !important;
}

/* Remove old orange underline pseudo-element */
.widget-title::after,
#secondary .widget-title::after {
    content: none !important;
    display: none !important;
}

.widget ul li {
    border-bottom: 1px solid var(--border) !important;
    padding: 10px 0 !important;
    list-style: none !important;
}

.widget ul {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.widget ul li a,
.widget a,
#secondary .widget a {
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-size: 14px !important;
    color: var(--text-secondary) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

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

/* === FOOTER === */

.ast-small-footer,
.site-footer,
.ast-footer-overlay,
footer.site-footer,
.ast-small-footer .ast-container,
.ast-footer-copyright,
.ast-builder-footer-row,
.site-below-footer-wrap,
.site-above-footer-wrap,
.ast-footer-row-1,
.ast-footer-row-2,
.site-primary-footer-wrap,
.site-above-footer-bar,
.site-below-footer-bar,
.ast-builder-footer-grid-columns,
.ast-builder-footer-grid-column {
    background: var(--surface) !important;
    border-top: 1px solid var(--border) !important;
    padding: 40px 0 !important;
}

.ast-small-footer .ast-footer-site-title,
.ast-small-footer .ast-footer-copyright,
.site-footer p,
.site-footer span,
.site-footer .ast-footer-copyright,
.ast-footer-copyright p,
footer p,
footer span,
.ast-builder-footer-grid-column p,
.ast-builder-footer-grid-column span,
.ast-builder-footer-grid-column .ast-builder-html-element,
.ast-builder-footer-grid-column .ast-builder-html-element p,
.site-footer .site-info {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12px !important;
    color: #9ca3af !important;
}

.site-footer a,
.ast-small-footer a,
footer a,
.ast-builder-footer-grid-column a {
    color: var(--text-muted) !important;
    text-decoration: none !important;
}

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

.footer-widget-area .widget-title,
.site-footer .widget-title {
    color: var(--text) !important;
}

.footer-widget-area .widget a,
.site-footer .widget a {
    color: var(--text-muted) !important;
}

.footer-widget-area .widget a:hover,
.site-footer .widget a:hover {
    color: var(--accent) !important;
}

/* === BUTTONS === */

.ast-button,
.button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.wp-block-button__link,
.ast-custom-button,
.ast-search-submit,
#submit {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    background: var(--accent) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 3px !important;
    padding: 10px 24px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    transition: background 0.2s ease, box-shadow 0.2s ease !important;
    cursor: pointer !important;
    line-height: 1.5 !important;
}

.ast-button:hover,
.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
#submit:hover {
    background: var(--accent-hover) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(192,57,43,0.2) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent !important;
    color: var(--accent) !important;
    border: 2px solid var(--accent) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: var(--accent) !important;
    color: #ffffff !important;
}

/* Don't style the menu toggle as a button */
button.menu-toggle,
.ast-header-break-point .ast-button-wrap .menu-toggle {
    background: transparent !important;
    padding: 8px !important;
}

/* === PAGINATION === */

.ast-pagination {
    margin-top: 48px !important;
    padding-top: 32px !important;
    border-top: 1px solid var(--border) !important;
}

.ast-pagination .page-numbers,
.nav-links .page-numbers {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 14px !important;
    color: var(--text-muted) !important;
}

.ast-pagination .page-numbers.current,
.nav-links .page-numbers.current {
    color: var(--accent) !important;
    font-weight: 600 !important;
    background: transparent !important;
    border-color: transparent !important;
}

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

/* === COMMENTS === */

.comments-area {
    background: var(--bg) !important;
}

.comments-title,
.comment-reply-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: var(--text) !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
    font-size: 1.3rem !important;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    background: var(--bg) !important;
    border: 1px solid var(--border-medium) !important;
    color: var(--text) !important;
    border-radius: 3px !important;
    padding: 10px !important;
}

.comment-form input:focus,
.comment-form textarea:focus {
    border-color: var(--accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 1px var(--accent) !important;
}

.comment-form label {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: var(--text-muted) !important;
}

/* === HR === */

hr,
.wp-block-separator {
    border: none !important;
    border-top: 1px solid var(--border) !important;
    margin: 3em 0 !important;
}

/* === SEARCH === */

.search-form input[type="search"],
.search-field {
    background: var(--bg) !important;
    border: 1px solid var(--border-medium) !important;
    color: var(--text) !important;
    border-radius: 3px !important;
}

.ast-search-menu-icon .search-form {
    background: var(--bg) !important;
}

.ast-search-menu-icon .search-field {
    background: var(--surface) !important;
    color: var(--text) !important;
    border: 1px solid var(--border-medium) !important;
}

.ast-search-icon svg,
.ast-search-menu-icon svg {
    fill: var(--text-muted) !important;
}

/* === FORMS === */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
    background: var(--bg) !important;
    border: 1px solid var(--border-medium) !important;
    color: var(--text) !important;
    font-family: 'Source Serif 4', Georgia, serif !important;
    border-radius: 3px !important;
    padding: 10px 12px !important;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 1px var(--accent) !important;
}

/* === SCROLLBAR === */

::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--surface);
}
::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--accent);
}

/* === BREADCRUMBS === */

.ast-breadcrumbs, .ast-breadcrumbs a {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--text-muted) !important;
}

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

/* === POST NAV === */

.post-navigation, .ast-single-post-navigation {
    border-top: 1px solid var(--border) !important;
    border-bottom: 1px solid var(--border) !important;
    padding: 20px 0 !important;
    margin-top: 30px !important;
}

.post-navigation a, .ast-single-post-navigation a {
    color: var(--accent) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 13px !important;
    text-transform: none !important;
}

.post-navigation a:hover {
    color: var(--accent-hover) !important;
}

/* === TAGS === */

.tagcloud a, .tag-links a, .tags-links a {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: var(--text-muted) !important;
    border: 1px solid var(--border-medium) !important;
    padding: 4px 10px !important;
    background: var(--surface) !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin: 2px !important;
}

.tagcloud a:hover, .tag-links a:hover {
    color: #ffffff !important;
    background: var(--accent) !important;
    border-color: var(--accent) !important;
}

/* === GUTENBERG BLOCKS === */

.wp-block-table th {
    background: var(--surface) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 0.04em !important;
    border: 1px solid var(--border-medium) !important;
}

.wp-block-table td {
    border: 1px solid var(--border-medium) !important;
}

.wp-block-list li::marker {
    color: var(--accent) !important;
}

.wp-block-pullquote {
    border-top: 3px solid var(--accent) !important;
    border-bottom: 3px solid var(--accent) !important;
    border-left: none !important;
    border-right: none !important;
}

/* === ASTRA OVERRIDES === */

.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-comment-list li,
.ast-separate-container .comment-respond {
    box-shadow: none !important;
}

.ast-container {
    max-width: 1200px !important;
}

.ast-separate-container .ast-article-post .ast-article-inner {
    padding: 0 !important;
}

.ast-header-break-point .site-header {
    background-color: var(--bg) !important;
}

/* Admin bar adjustment */
.admin-bar body::before {
    top: 32px !important;
}
@media screen and (max-width: 782px) {
    .admin-bar body::before {
        top: 46px !important;
    }
}

/* === RESPONSIVE === */

@media (max-width: 768px) {
    .ast-separate-container .ast-article-post {
        flex-direction: column !important;
    }
    .ast-separate-container .ast-article-post .post-thumb-img-content,
    .ast-separate-container .ast-article-post .ast-blog-featured-section {
        flex: none !important;
        max-width: 100% !important;
        width: 100% !important;
        margin-bottom: 16px !important;
    }
}

@media (max-width: 921px) {
    .ast-separate-container .ast-article-post {
        padding: 24px 0 !important;
    }
    .ast-separate-container .ast-article-single {
        padding: 20px !important;
    }
    .single .entry-title {
        font-size: 1.6rem !important;
    }
    #secondary, .widget-area {
        padding: 20px 0 !important;
        margin-top: 30px !important;
    }
    .entry-content {
        font-size: 1rem !important;
    }
}

@media (max-width: 544px) {
    .ast-separate-container .ast-article-post {
        padding: 20px 0 !important;
    }
    .single .entry-title,
    h1, .entry-title {
        font-size: 1.5rem !important;
    }
    h2, .entry-content h2 {
        font-size: 1.3rem !important;
    }
    h3, .entry-content h3 {
        font-size: 1.1rem !important;
    }
    .single .entry-content > p:first-of-type::first-letter {
        font-size: 3em !important;
    }
}

/* === PRINT === */

@media print {
    body::before {
        display: none !important;
    }
    .site-header, .site-footer, #secondary, .ast-pagination, .comments-area, .post-navigation {
        display: none !important;
    }
    body, .entry-content {
        color: #000000 !important;
        background: #ffffff !important;
    }
}
