/*
Theme Name: Theme 10 - Dark Wide Blog
Theme URI: https://pauinocencio.com/
Author: Pau Inocencio
Author URI: https://pauinocencio.com/
Description: A clean, elegant, typography-first dark WordPress theme inspired by Expa.com. Emphasizes white space, minimal design, and wide layouts for personal branding and blogs.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tripeak-main-ten
Tags: dark, wide, blog, minimal, typography, personal, portfolio
*/

:root {
  /* Color Palette */
  --bg-primary: #1a1a1a;
  --bg-secondary: #2a2a2a;
  --text-primary: #ffffff;
  --text-secondary: #b0b0b0;
  --text-tertiary: #808080;
  --accent-primary: #FFB800;
  --accent-hover: #E6A600;
  --border-color: #3a3a3a;

  /* Spacing Scale */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 4rem;
  --space-xl: 6rem;
  --space-xxl: 8rem;
  
  /* Layout */
  --container-width: 1200px;
}

/* Global Styles */
body {
  background: var(--bg-primary);
  color: var(--text-secondary);
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1.125rem;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  padding-top: 80px; /* Account for fixed header */
}

@media (max-width: 768px) {
  body {
    font-size: 1rem;
    line-height: 1.5;
  }
}

/* Typography Scale */
h1 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.1;
  color: var(--text-primary);
  font-family: 'Space Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
}

h2 {
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--text-primary);
  font-family: 'Space Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
}

h3 {
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.3;
  color: var(--text-primary);
  font-family: 'Space Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
}

h4 {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--text-primary);
  font-family: 'Space Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
}

h5 {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--text-primary);
  font-family: 'Space Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
}

h6 {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--text-primary);
  font-family: 'Space Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Layout Container */
.site-main {
  min-height: calc(100vh - 80px);
  padding-top: 60px; /* Account for fixed header height */
}

@media (max-width: 768px) {
  .site-main {
    padding-top: 12px; /* Minimal padding on mobile */
  }
}

.content-area,
.page-content,
.archive-content {
  max-width: var(--container-width);
  margin: 0 auto;
}

.single-post {
  max-width: 100%;
  margin: 0 auto;
}

/* Homepage content area specific styling */
.content-area {
}

/* Hide ALL page titles completely */
.page h1,
.page .entry-title,
.page .page-title,
.page h1.entry-title,
.page h1.page-title,
.page article .entry-title,
.page article .page-title,
.page article h1.entry-title,
.page article h1.page-title,
.page .entry-header .entry-title,
.page .entry-header .page-title,
.page .entry-header h1.entry-title,
.page .entry-header h1.page-title,
.page-article .page-article_title,
.page-article h1.page-article_title,
.page .page-article_title,
.page h1.page-article_title,
.page .entry-header,
.page .page-header {
  display: none !important;
}

@media (max-width: 768px) {
  .content-area,
  .page-content,
  .archive-content {
    margin-top: 5px;
    padding-top: 5px;
    padding-left: var(--space-md);
    padding-right: var(--space-md);
  }
}

/* Blog Page Styles */
.blog-header {
  margin-bottom: var(--space-lg);
  border-bottom: 1px solid var(--border-color);
}

.blog-title {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 2.5rem;
  font-weight: 400;
  color: var(--text-primary);
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

@media (max-width: 768px) {
  .blog-title {
    font-size: 2rem;
    margin-bottom: var(--space-md);
  }
}

.post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-lg);
  margin-bottom: var(--space-xl);
}

.post-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  transition: transform 0.2s;
  overflow: hidden;
}

.post-card:hover {
  transform: translateY(-4px);
}

.post-card__image {
  width: 100%;
  height: 240px;
  overflow: hidden;
  position: relative;
}

.post-card__image a {
  display: block;
  width: 100%;
  height: 100%;
}

.post-card__thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
  background-color: var(--bg-secondary);
}

.post-card:hover .post-card__thumbnail {
  transform: scale(1.05);
}

.post-card__content {
  padding: var(--space-md);
}

.post-card__meta {
  margin-bottom: var(--space-sm);
}

.post-card__date {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-tertiary);
}

.post-card__title {
  font-family: 'Space Mono', monospace;
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: var(--space-sm);
  text-transform: uppercase;
  letter-spacing: 1px;
}

@media (max-width: 768px) {
  .post-card__title {
    font-size: 1.125rem;
  }
}

.post-card__title a {
  color: var(--text-primary);
  text-decoration: none;
  transition: color 0.2s;
}

.post-card__title a:hover {
  color: var(--accent-primary);
}

.post-card__excerpt {
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: var(--space-md);
}

.post-card__action {
  margin-top: auto;
}

.post-card__read-more {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--accent-primary);
  text-decoration: none;
  transition: color 0.2s;
}

.post-card__read-more:hover {
  color: var(--accent-hover);
}

.post-card__read-more::after {
  content: ' >';
  margin-left: 0.25rem;
}

.blog-navigation {
  border-top: 1px solid var(--border-color);
  padding-top: var(--space-md);
  text-align: center;
}

/* Pagination Styles */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pagination-list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: var(--space-xs);
  align-items: center;
}

.pagination-item {
  margin: 0;
}

.pagination-item a,
.pagination-item span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 var(--space-sm);
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid var(--border-color);
  background: var(--bg-secondary);
  color: var(--text-secondary);
  transition: all 0.2s ease;
  border-radius: 0;
}

.pagination-item a:hover {
  background: var(--accent-primary);
  color: var(--bg-primary);
  border-color: var(--accent-primary);
  transform: translateY(-2px);
}

.pagination-item .current {
  background: var(--accent-primary);
  color: var(--bg-primary);
  border-color: var(--accent-primary);
}

.pagination-item .dots {
  border: none;
  background: transparent;
  color: var(--text-tertiary);
  cursor: default;
}

.pagination-item .dots:hover {
  background: transparent;
  color: var(--text-tertiary);
  transform: none;
}

.pagination-arrow {
  font-size: 1rem;
  font-weight: 600;
}

/* Homepage Articles Styles */
.homepage-articles {
  padding: var(--space-md) 0;
  background: var(--bg-primary);
  margin-top: var(--space-sm);
}

.homepage-articles__container {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0 var(--space-md);
}

.homepage-articles__header {
  margin-bottom: var(--space-lg);
  border-bottom: 1px solid var(--border-color);
  padding-bottom: var(--space-md);
}

.homepage-articles__title {
  font-family: 'Space Mono', monospace;
  font-size: 2rem;
  font-weight: 400;
  color: var(--text-primary);
  margin-bottom: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.homepage-articles__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-lg);
  margin-bottom: var(--space-lg);
}

.homepage-article-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  transition: transform 0.2s;
  overflow: hidden;
}

.homepage-article-card:hover {
  transform: translateY(-4px);
}

.homepage-article-card__image {
  width: 100%;
  height: 240px;
  overflow: hidden;
  position: relative;
}

.homepage-article-card__image a {
  display: block;
  width: 100%;
  height: 100%;
}

.homepage-article-card__thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
  background-color: var(--bg-secondary);
}

.homepage-article-card:hover .homepage-article-card__thumbnail {
  transform: scale(1.05);
}

.homepage-article-card__content {
  padding: var(--space-md);
}

.homepage-article-card__meta {
  margin-bottom: var(--space-sm);
}

.homepage-article-card__date {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-tertiary);
}

.homepage-article-card__title {
  font-family: 'Space Mono', monospace;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: var(--space-sm);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.homepage-article-card__title a {
  color: var(--text-primary);
  text-decoration: none;
  transition: color 0.2s;
}

.homepage-article-card__title a:hover {
  color: var(--accent-primary);
}

.homepage-article-card__excerpt {
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: var(--space-md);
}

.homepage-article-card__action {
  margin-top: auto;
}

.homepage-article-card__read-more {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--accent-primary);
  text-decoration: none;
  transition: color 0.2s;
}

.homepage-article-card__read-more:hover {
  color: var(--accent-hover);
}

.homepage-article-card__read-more::after {
  content: ' >';
  margin-left: 0.25rem;
}

.homepage-articles__footer {
  text-align: center;
  border-top: 1px solid var(--border-color);
  padding-top: var(--space-md);
}

.homepage-articles__view-all {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--accent-primary);
  text-decoration: none;
  transition: color 0.2s;
}

.homepage-articles__view-all:hover {
  color: var(--accent-hover);
}

.homepage-articles__view-all::after {
  content: ' >';
  margin-left: 0.25rem;
}

/* Single Post Styles */
.single-post__meta {
  margin-bottom: var(--space-sm);
}

.single-post__date {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--accent-primary);
}

.single-post__title {
  font-family: 'Space Mono', monospace;
  font-size: 3rem;
  font-weight: 300;
  color: var(--text-primary);
  margin-bottom: var(--space-md);
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 1px;
}

@media (max-width: 768px) {
  .single-post__title {
    font-size: 2.25rem;
    line-height: 1.2;
  }
}

.single-post__featured-image {
  margin-bottom: var(--space-md);
}

.single-post__featured-image img {
  width: 100%;
  height: auto;
  border-radius: 0;
}

.single-post__content {
  line-height: 1.7;
  margin-top: 0;
}

.single-post__content h1,
.single-post__content h2,
.single-post__content h3,
.single-post__content h4,
.single-post__content h5,
.single-post__content h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

.single-post__content p {
  margin-bottom: 1.5rem;
}

.single-post__content p:last-child {
  margin-bottom: 0;
}

.single-post__nav {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--border-color);
}

.single-post__nav-prev,
.single-post__nav-next {
  flex: 1;
  max-width: 45%;
}

.single-post__nav-prev a,
.single-post__nav-next a {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  color: var(--text-secondary);
  text-decoration: none;
  transition: all 0.3s ease;
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: relative;
  overflow: hidden;
}

.single-post__nav-prev a::before,
.single-post__nav-next a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--accent-primary);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.single-post__nav-prev a::before {
  transform-origin: left;
}

.single-post__nav-next a::before {
  transform-origin: right;
}

.single-post__nav-prev a:hover,
.single-post__nav-next a:hover {
  background: var(--accent-primary);
  color: var(--bg-primary);
  border-color: var(--accent-primary);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 184, 0, 0.2);
}

.single-post__nav-prev a:hover::before,
.single-post__nav-next a:hover::before {
  transform: scaleX(1);
}

.single-post__nav-prev a {
  text-align: left;
}

.single-post__nav-next a {
  text-align: right;
}

.single-post__nav-prev a::after {
  content: '← Previous';
  font-size: 0.625rem;
  opacity: 0.7;
  margin-bottom: 0.5rem;
}

.single-post__nav-next a::after {
  content: 'Next →';
  font-size: 0.625rem;
  opacity: 0.7;
  margin-bottom: 0.5rem;
}

.single-post__nav-prev a span,
.single-post__nav-next a span {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-primary);
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.4;
  margin-top: 0.5rem;
}

.single-post__nav-prev a:hover span,
.single-post__nav-next a:hover span {
  color: var(--bg-primary);
}

@media (max-width: 768px) {
  .single-post__nav {
    flex-direction: column;
    gap: var(--space-sm);
  }
  
  .single-post__nav-prev,
  .single-post__nav-next {
    max-width: 100%;
  }
  
  .single-post__nav-prev a,
  .single-post__nav-next a {
    padding: var(--space-sm);
  }
  
  .single-post__nav-prev a,
  .single-post__nav-next a {
    text-align: center;
  }
}

/* Gutenberg Block Styles */
.wp-block {
  max-width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}

/* Typography Blocks */
.wp-block-heading h1,
.wp-block-heading h2,
.wp-block-heading h3,
.wp-block-heading h4,
.wp-block-heading h5,
.wp-block-heading h6 {
  color: var(--text-primary);
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: 1.2;
  font-family: 'Space Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.wp-block-heading h1 {
  font-size: 3.5rem;
  font-weight: 300;
}

.wp-block-heading h2 {
  font-size: 2.5rem;
  font-weight: 400;
}

.wp-block-heading h3 {
  font-size: 1.875rem;
  font-weight: 500;
}

.wp-block-heading h4 {
  font-size: 1.5rem;
  font-weight: 500;
}

.wp-block-heading h5 {
  font-size: 1.25rem;
  font-weight: 600;
}

.wp-block-heading h6 {
  font-size: 1rem;
  font-weight: 600;
}

/* Paragraph Block */
.wp-block-paragraph {
  color: var(--text-secondary);
  line-height: 1.7;
  margin-bottom: var(--space-md);
  font-size: 1.125rem;
}

.wp-block-paragraph:last-child {
  margin-bottom: 0;
}

/* Image Block */
.wp-block-image {
  margin: 1.5rem 0;
  text-align: left;
}

.wp-block-image img {
  width: 100%;
  height: auto;
  border-radius: 0;
  display: block;
}

.wp-block-image figcaption {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-tertiary);
  margin-top: var(--space-sm);
  text-align: left;
  line-height: 1.4;
}

/* Gallery Block */
.wp-block-gallery {
  margin: 1.5rem 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: var(--space-md);
}

.wp-block-gallery .blocks-gallery-item,
.wp-block-gallery .wp-block-image {
  margin: 0;
}

.wp-block-gallery figcaption {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-tertiary);
  margin-top: var(--space-sm);
  text-align: left;
}

/* Quote Block */
.wp-block-quote {
  margin: var(--space-md) 0;
  padding: var(--space-md);
  background: var(--bg-secondary);
  border-left: 3px solid var(--accent-primary);
  border-radius: 0;
}

.wp-block-quote p {
  font-family: 'Space Mono', monospace;
  font-size: 1.125rem;
  font-style: italic;
  color: var(--text-primary);
  margin-bottom: var(--space-sm);
  line-height: 1.6;
}

.wp-block-quote cite {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-tertiary);
  font-style: normal;
}

/* Pullquote Block */
.wp-block-pullquote {
  margin: 2rem 0;
  padding: 1.5rem;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  text-align: center;
}

.wp-block-pullquote blockquote {
  margin: 0;
  padding: 0;
  border: none;
}

.wp-block-pullquote p {
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--text-primary);
  line-height: 1.4;
  margin-bottom: var(--space-md);
}

.wp-block-pullquote cite {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-tertiary);
  font-style: normal;
}

/* Code Block */
.wp-block-code {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  padding: var(--space-md);
  margin: var(--space-md) 0;
  border-radius: 0;
  overflow-x: auto;
}

.wp-block-code code {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  color: var(--text-secondary);
  background: none;
  padding: 0;
  border: none;
}

/* Inline Code */
code:not(.wp-block-code code) {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  background: var(--bg-secondary);
  color: var(--accent-primary);
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--border-color);
  border-radius: 0;
  display: inline-block;
}

/* Standardized Captions */
.wp-block-image figcaption,
.wp-block-gallery figcaption,
.wp-block-embed figcaption,
.wp-block-video figcaption,
.wp-block-audio figcaption,
.wp-block-file figcaption,
.wp-block-cover figcaption,
.wp-block-media-text figcaption {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-tertiary);
  margin-top: var(--space-sm);
  text-align: left;
  line-height: 1.4;
}

/* Preformatted Block */
.wp-block-preformatted {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  padding: var(--space-md);
  margin: 1.5rem 0;
  border-radius: 0;
  overflow-x: auto;
}

.wp-block-preformatted pre {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  color: var(--text-secondary);
  margin: 0;
  white-space: pre-wrap;
}

/* List Blocks */
.wp-block-list {
  margin: 1.5rem 0;
  padding-left: var(--space-lg);
}

.wp-block-list li {
  color: var(--text-secondary);
  line-height: 1.7;
  margin-bottom: var(--space-sm);
  font-size: 1.125rem;
}

.wp-block-list li:last-child {
  margin-bottom: 0;
}

.wp-block-list ul,
.wp-block-list ol {
  margin-top: var(--space-sm);
  margin-bottom: var(--space-sm);
}

/* Separator Block */
.wp-block-separator {
  margin: 2.5rem 0;
  border: none;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent-primary), transparent);
  position: relative;
}

.wp-block-separator::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 4px;
  background: var(--accent-primary);
  border-radius: 2px;
}

/* Wide Line Style */
.wp-block-separator.is-style-wide {
  height: 3px;
  background: var(--accent-primary);
  margin: 3rem 0;
}

.wp-block-separator.is-style-wide::before {
  display: none;
}

/* Dots Style */
.wp-block-separator.is-style-dots {
  background: none;
  text-align: center;
  height: auto;
  margin: 2rem 0;
}

.wp-block-separator.is-style-dots::before {
  content: '●●●';
  color: var(--accent-primary);
  font-size: 1.25rem;
  letter-spacing: 1rem;
  line-height: 1;
  display: inline-block;
  position: static;
  transform: none;
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
}

/* Short Line Style */
.wp-block-separator.is-style-short {
  width: 60px;
  margin: 2rem auto;
  height: 2px;
  background: var(--accent-primary);
}

.wp-block-separator.is-style-short::before {
  display: none;
}

/* Thick Line Style */
.wp-block-separator.is-style-thick {
  height: 4px;
  background: var(--accent-primary);
  margin: 3rem 0;
}

.wp-block-separator.is-style-thick::before {
  display: none;
}

/* Dashed Line Style */
.wp-block-separator.is-style-dashed {
  background: repeating-linear-gradient(
    90deg,
    var(--accent-primary) 0,
    var(--accent-primary) 8px,
    transparent 8px,
    transparent 16px
  );
  height: 2px;
  margin: 2.5rem 0;
}

.wp-block-separator.is-style-dashed::before {
  display: none;
}

/* Double Line Style */
.wp-block-separator.is-style-double {
  height: 6px;
  background: 
    linear-gradient(90deg, transparent, var(--accent-primary), transparent) 0 0,
    linear-gradient(90deg, transparent, var(--accent-primary), transparent) 0 4px;
  background-size: 100% 2px;
  background-repeat: no-repeat;
  margin: 2.5rem 0;
}

.wp-block-separator.is-style-double::before {
  display: none;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .wp-block-separator {
    margin: 2rem 0;
  }
  
  .wp-block-separator.is-style-wide {
    margin: 2.5rem 0;
  }
  
  .wp-block-separator.is-style-thick {
    margin: 2.5rem 0;
  }
  
  .wp-block-separator.is-style-dots::before {
    font-size: 1rem;
    letter-spacing: 0.75rem;
  }
}

/* Button Block */
.wp-block-button {
  margin: 1.5rem 0;
}

.wp-block-button__link {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  display: inline-block;
  padding: 1rem 2rem;
  border: 2px solid var(--accent-primary);
  cursor: pointer;
  transition: all 0.2s;
  background: transparent;
  color: var(--accent-primary);
  border-radius: 0;
}

.wp-block-button__link:hover {
  background: var(--accent-primary);
  color: var(--bg-primary);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 184, 0, 0.3);
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--text-primary);
  border: 1px solid var(--border-color);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--bg-secondary);
  border-color: var(--accent-primary);
}

/* Columns Block */
.wp-block-columns {
  margin: 1.5rem 0;
  gap: 1.5rem;
}

.wp-block-column {
  margin: 0;
}

/* Group Block */
.wp-block-group {
  margin: 1.5rem 0;
}

.wp-block-group.has-background {
  padding: 1.5rem;
  border-radius: 0;
}

/* Cover Block */
.wp-block-cover {
  margin: 1.5rem 0;
  border-radius: 0;
  min-height: 400px;
}

.wp-block-cover__inner-container {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0 var(--space-md);
}

.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover h3,
.wp-block-cover h4,
.wp-block-cover h5,
.wp-block-cover h6 {
  color: var(--text-primary);
  margin-bottom: var(--space-md);
}

.wp-block-cover p {
  color: var(--text-secondary);
  font-size: 1.125rem;
  line-height: 1.6;
}

/* Media & Text Block */
.wp-block-media-text {
  margin: 1.5rem 0;
  border-radius: 0;
  overflow: hidden;
}

.wp-block-media-text__media {
  background: var(--bg-secondary);
}

.wp-block-media-text__content {
  padding: 1.5rem;
  background: var(--bg-secondary);
}

/* Table Block */
.wp-block-table {
  margin: 1.5rem 0;
  border: 1px solid var(--border-color);
  border-radius: 0;
  overflow: hidden;
}

.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}

.wp-block-table th {
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-weight: 600;
  padding: var(--space-sm) var(--space-md);
  border-bottom: 1px solid var(--border-color);
  text-align: left;
}

.wp-block-table td {
  padding: var(--space-sm) var(--space-md);
  border-bottom: 1px solid var(--border-color);
  color: var(--text-secondary);
}

.wp-block-table tr:last-child td {
  border-bottom: none;
}

/* Video Block */
.wp-block-video {
  margin: 1.5rem 0;
  text-align: left;
}

.wp-block-video video {
  width: 100%;
  height: auto;
  border-radius: 0;
}

/* Audio Block */
.wp-block-audio {
  margin: 1.5rem 0;
  text-align: left;
}

.wp-block-audio audio {
  width: 100%;
}

/* File Block */
.wp-block-file {
  margin: 1.5rem 0;
  padding: var(--space-md);
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 0;
}

.wp-block-file a {
  color: var(--accent-primary);
  text-decoration: none;
  font-weight: 500;
}

.wp-block-file a:hover {
  color: var(--accent-hover);
}

.wp-block-file__button {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: var(--accent-primary);
  color: var(--bg-primary);
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 0;
  margin-left: var(--space-sm);
  cursor: pointer;
  transition: background 0.2s;
}

.wp-block-file__button:hover {
  background: var(--accent-hover);
}

/* Spacer Block */
.wp-block-spacer {
  margin: 0;
}

/* Latest Posts Block */
.wp-block-latest-posts {
  margin: 1.5rem 0;
  list-style: none;
  padding: 0;
}

.wp-block-latest-posts li {
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--border-color);
}

.wp-block-latest-posts li:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.wp-block-latest-posts a {
  color: var(--text-primary);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s;
}

.wp-block-latest-posts a:hover {
  color: var(--accent-primary);
}

.wp-block-latest-posts__post-date {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-tertiary);
  margin-top: var(--space-xs);
  display: block;
}

/* Categories Block */
.wp-block-categories {
  margin: 1.5rem 0;
  list-style: none;
  padding: 0;
}

.wp-block-categories li {
  margin-bottom: var(--space-sm);
}

.wp-block-categories a {
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.2s;
}

.wp-block-categories a:hover {
  color: var(--accent-primary);
}

/* Search Block */
.wp-block-search {
  margin: 1.5rem 0;
}

.wp-block-search__input {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
  padding: 0.75rem 1rem;
  border-radius: 0;
  outline: none;
  transition: border-color 0.2s;
}

.wp-block-search__input:focus {
  border-color: var(--accent-primary);
}

.wp-block-search__button {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: var(--accent-primary);
  color: var(--bg-primary);
  border: none;
  padding: 0.75rem 1.5rem;
  cursor: pointer;
  transition: background 0.2s;
  border-radius: 0;
}

.wp-block-search__button:hover {
  background: var(--accent-hover);
}

/* Additional Text Blocks */
/* Verse Block */
.wp-block-verse {
  font-family: 'Inter', Arial, sans-serif;
  font-style: italic;
  color: var(--text-secondary);
  line-height: 1.8;
  margin: 1.5rem 0;
  padding: var(--space-md);
  background: var(--bg-secondary);
  border-left: 4px solid var(--accent-primary);
  border-radius: 0;
}

/* Design/Layout Blocks */
/* Row Block */
.wp-block-row {
  margin: 1.5rem 0;
  display: flex;
  gap: var(--space-md);
  flex-wrap: wrap;
}

.wp-block-row > * {
  flex: 1;
  min-width: 250px;
}

/* Stack Block */
.wp-block-stack {
  margin: 1.5rem 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

/* More Block */
.wp-block-more {
  margin: 1.5rem 0;
  text-align: center;
}

.wp-block-more a {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--accent-primary);
  text-decoration: none;
  padding: 0.75rem 1.5rem;
  border: 1px solid var(--accent-primary);
  transition: all 0.2s;
  display: inline-block;
}

.wp-block-more a:hover {
  background: var(--accent-primary);
  color: var(--bg-primary);
}

/* Page Break */
.wp-block-page-break {
  margin: 2rem 0;
  border: none;
  height: 1px;
  background: var(--border-color);
}

/* Reusable Block */
.wp-block-block {
  margin: 1.5rem 0;
}

/* Pattern Block */
.wp-block-pattern {
  margin: 1.5rem 0;
}

/* Widget Blocks */
/* Shortcode Block */
.wp-block-shortcode {
  margin: 1.5rem 0;
  padding: var(--space-md);
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 0;
}

/* Archives Block */
.wp-block-archives {
  margin: 1.5rem 0;
  list-style: none;
  padding: 0;
}

.wp-block-archives li {
  margin-bottom: var(--space-sm);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--border-color);
}

.wp-block-archives li:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.wp-block-archives a {
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.2s;
}

.wp-block-archives a:hover {
  color: var(--accent-primary);
}

/* Calendar Block */
.wp-block-calendar {
  margin: 1.5rem 0;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 0;
  overflow: hidden;
}

.wp-block-calendar table {
  width: 100%;
  border-collapse: collapse;
}

.wp-block-calendar th {
  background: var(--bg-primary);
  color: var(--text-primary);
  font-weight: 600;
  padding: var(--space-sm);
  border-bottom: 1px solid var(--border-color);
  text-align: center;
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.wp-block-calendar td {
  padding: var(--space-sm);
  border-bottom: 1px solid var(--border-color);
  color: var(--text-secondary);
  text-align: center;
}

.wp-block-calendar td a {
  color: var(--accent-primary);
  text-decoration: none;
  font-weight: 500;
}

.wp-block-calendar td a:hover {
  color: var(--accent-hover);
}

/* Latest Comments Block */
.wp-block-latest-comments {
  margin: 1.5rem 0;
  list-style: none;
  padding: 0;
}

.wp-block-latest-comments li {
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--border-color);
}

.wp-block-latest-comments li:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.wp-block-latest-comments__comment-author {
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: var(--space-xs);
}

.wp-block-latest-comments__comment-date {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-tertiary);
  margin-bottom: var(--space-xs);
}

.wp-block-latest-comments__comment-excerpt {
  color: var(--text-secondary);
  line-height: 1.6;
}

/* RSS Block */
.wp-block-rss {
  margin: 1.5rem 0;
  list-style: none;
  padding: 0;
}

.wp-block-rss li {
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--border-color);
}

.wp-block-rss li:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.wp-block-rss a {
  color: var(--text-primary);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s;
}

.wp-block-rss a:hover {
  color: var(--accent-primary);
}

.wp-block-rss__item-author,
.wp-block-rss__item-date {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-tertiary);
  margin-top: var(--space-xs);
  display: block;
}

/* Tag Cloud Block */
.wp-block-tag-cloud {
  margin: 1.5rem 0;
}

.wp-block-tag-cloud a {
  display: inline-block;
  margin: 0.25rem;
  padding: 0.5rem 1rem;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  color: var(--text-secondary);
  text-decoration: none;
  border-radius: 0;
  transition: all 0.2s;
  font-size: 0.875rem;
}

.wp-block-tag-cloud a:hover {
  background: var(--accent-primary);
  color: var(--bg-primary);
  border-color: var(--accent-primary);
}

/* Custom HTML Block */
.wp-block-html {
  margin: 1.5rem 0;
  padding: var(--space-md);
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 0;
  overflow-x: auto;
}

/* Site Blocks */
.wp-block-site-logo {
  margin: 1.5rem 0;
  text-align: left;
}

.wp-block-site-logo img {
  max-height: 60px;
  width: auto;
}

.wp-block-site-title {
  font-family: 'Space Mono', monospace;
  font-size: 2rem;
  font-weight: 600;
  color: var(--text-primary);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.wp-block-site-tagline {
  margin: 1.5rem 0;
  font-size: 1.125rem;
  color: var(--text-secondary);
  font-style: italic;
}

/* Login/Logout Block */
.wp-block-loginout {
  margin: 1.5rem 0;
}

.wp-block-loginout a {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--accent-primary);
  text-decoration: none;
  transition: color 0.2s;
}

.wp-block-loginout a:hover {
  color: var(--accent-hover);
}

/* Navigation Block */
.wp-block-navigation {
  margin: 1.5rem 0;
}

.wp-block-navigation .wp-block-navigation-item {
  margin: 0;
}

.wp-block-navigation .wp-block-navigation-item__content {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.2s;
  padding: 0.5rem 0;
}

.wp-block-navigation .wp-block-navigation-item__content:hover {
  color: var(--accent-primary);
}

.wp-block-navigation .wp-block-navigation-item__content:focus {
  color: var(--accent-primary);
}

/* Page List Block */
.wp-block-page-list {
  margin: 1.5rem 0;
  list-style: none;
  padding: 0;
}

.wp-block-page-list li {
  margin-bottom: var(--space-sm);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--border-color);
}

.wp-block-page-list li:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.wp-block-page-list a {
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.2s;
}

.wp-block-page-list a:hover {
  color: var(--accent-primary);
}

/* Theme Blocks */
.wp-block-post-title {
  font-family: 'Space Mono', monospace;
  font-size: 3.5rem;
  font-weight: 300;
  color: var(--text-primary);
  margin-bottom: var(--space-md);
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.wp-block-post-content {
  color: var(--text-secondary);
  line-height: 1.7;
  font-size: 1.125rem;
}

.wp-block-post-excerpt {
  color: var(--text-secondary);
  line-height: 1.6;
  font-size: 1.125rem;
  font-style: italic;
  margin: 1.5rem 0;
  padding: var(--space-md);
  background: var(--bg-secondary);
  border-left: 4px solid var(--accent-primary);
  border-radius: 0;
}

.wp-block-post-author {
  margin: 1.5rem 0;
  display: flex;
  align-items: center;
  gap: var(--space-md);
}

.wp-block-post-author__avatar {
  border-radius: 50%;
}

.wp-block-post-author__name {
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: var(--space-xs);
}

.wp-block-post-author__bio {
  color: var(--text-secondary);
  font-size: 0.875rem;
  line-height: 1.5;
}

.wp-block-post-date {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--accent-primary);
  margin-bottom: var(--space-sm);
}

.wp-block-post-categories {
  margin: 1.5rem 0;
}

.wp-block-post-categories a {
  display: inline-block;
  margin: 0.25rem;
  padding: 0.5rem 1rem;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  color: var(--text-secondary);
  text-decoration: none;
  border-radius: 0;
  transition: all 0.2s;
  font-size: 0.75rem;
  font-family: 'Space Mono', monospace;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.wp-block-post-categories a:hover {
  background: var(--accent-primary);
  color: var(--bg-primary);
  border-color: var(--accent-primary);
}

.wp-block-post-tags {
  margin: 1.5rem 0;
}

.wp-block-post-tags a {
  display: inline-block;
  margin: 0.25rem;
  padding: 0.5rem 1rem;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  color: var(--text-secondary);
  text-decoration: none;
  border-radius: 0;
  transition: all 0.2s;
  font-size: 0.75rem;
  font-family: 'Space Mono', monospace;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.wp-block-post-tags a:hover {
  background: var(--accent-primary);
  color: var(--bg-primary);
  border-color: var(--accent-primary);
}

.wp-block-post-featured-image {
  margin: 1.5rem 0;
}

.wp-block-post-featured-image img {
  width: 100%;
  height: auto;
  border-radius: 0;
}

/* Query Loop Block */
.wp-block-query-loop {
  margin: 1.5rem 0;
}

.wp-block-query-title {
  font-family: 'Space Mono', monospace;
  font-size: 2.5rem;
  font-weight: 400;
  color: var(--text-primary);
  margin-bottom: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Pagination Block */
.wp-block-query-pagination {
  margin: 1.5rem 0;
  display: flex;
  justify-content: center;
  gap: var(--space-xs);
}

.wp-block-query-pagination-numbers {
  display: flex;
  gap: var(--space-xs);
}

.wp-block-query-pagination-numbers a,
.wp-block-query-pagination-numbers span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 var(--space-sm);
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid var(--border-color);
  background: var(--bg-secondary);
  color: var(--text-secondary);
  transition: all 0.2s ease;
  border-radius: 0;
}

.wp-block-query-pagination-numbers a:hover {
  background: var(--accent-primary);
  color: var(--bg-primary);
  border-color: var(--accent-primary);
  transform: translateY(-2px);
}

.wp-block-query-pagination-numbers .current {
  background: var(--accent-primary);
  color: var(--bg-primary);
  border-color: var(--accent-primary);
}

/* Next/Previous Page Block */
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 var(--space-sm);
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid var(--border-color);
  background: var(--bg-secondary);
  color: var(--text-secondary);
  transition: all 0.2s ease;
  border-radius: 0;
}

.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover {
  background: var(--accent-primary);
  color: var(--bg-primary);
  border-color: var(--accent-primary);
  transform: translateY(-2px);
}

/* Comments Block */
.wp-block-comments {
  margin: 1.5rem 0;
}

.wp-block-comments-title {
  font-family: 'Space Mono', monospace;
  font-size: 2rem;
  font-weight: 400;
  color: var(--text-primary);
  margin-bottom: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.wp-block-comment-template {
  margin-bottom: 1.5rem;
  padding: var(--space-md);
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 0;
}

.wp-block-comment-author-name {
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: var(--space-xs);
}

.wp-block-comment-date {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-tertiary);
  margin-bottom: var(--space-sm);
}

.wp-block-comment-content {
  color: var(--text-secondary);
  line-height: 1.6;
}

/* Embed Blocks */
.wp-block-embed {
  margin: 1.5rem 0;
  text-align: left;
}

.wp-block-embed iframe {
  width: 100%;
  border-radius: 0;
}

.wp-block-embed figcaption {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-tertiary);
  margin-top: var(--space-sm);
  text-align: left;
  line-height: 1.4;
}

/* Specific Embed Styles */
.wp-block-embed-youtube,
.wp-block-embed-vimeo,
.wp-block-embed-spotify,
.wp-block-embed-soundcloud,
.wp-block-embed-instagram,
.wp-block-embed-facebook,
.wp-block-embed-twitter,
.wp-block-embed-tiktok,
.wp-block-embed-wordpress,
.wp-block-embed-reddit,
.wp-block-embed-slideshare,
.wp-block-embed-tumblr,
.wp-block-embed-kickstarter,
.wp-block-embed-dailymotion {
  margin: 1.5rem 0;
  text-align: left;
}

/* Responsive Block Adjustments */
@media (max-width: 768px) {
  .wp-block-heading h1 {
    font-size: 2rem;
  }
  
  .wp-block-heading h2 {
    font-size: 1.75rem;
  }
  
  .wp-block-heading h3 {
    font-size: 1.5rem;
  }
  
  .wp-block-heading h4 {
    font-size: 1.25rem;
  }
  
  .wp-block-heading h5 {
    font-size: 1.125rem;
  }
  
  .wp-block-heading h6 {
    font-size: 1rem;
  }
  
  .wp-block-paragraph {
    font-size: 1rem;
    line-height: 1.6;
  }
  
  .wp-block-columns {
    gap: var(--space-md);
  }
  
  .wp-block-gallery {
    grid-template-columns: 1fr;
  }
  
  .wp-block-pullquote p {
    font-size: 1.125rem;
  }
  
  .wp-block-post-title {
    font-size: 2rem;
  }
  
  .wp-block-query-title {
    font-size: 1.75rem;
  }
  
  .wp-block-row {
    flex-direction: column;
  }
  
  .wp-block-row > * {
    min-width: auto;
  }
  
  .wp-block-tag-cloud a,
  .wp-block-post-categories a,
  .wp-block-post-tags a {
    font-size: 0.75rem;
    padding: 0.4rem 0.8rem;
  }
  
  .wp-block-table th,
  .wp-block-table td {
    font-size: 0.875rem;
    padding: 0.5rem;
  }
  
  .wp-block-code code {
    font-size: 0.875rem;
  }
  
  .wp-block-list li {
    font-size: 1rem;
  }
  
  .wp-block-image figcaption {
    font-size: 0.875rem;
  }
}

/* Button Styles */
.btn {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  display: inline-block;
  padding: 1rem 2rem;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  background: var(--accent-primary);
  color: var(--bg-primary);
}

.btn:hover {
  background: var(--accent-hover);
  transform: translateY(-2px);
}

.btn--secondary {
  background: transparent;
  color: var(--text-primary);
  border: 1px solid var(--border-color);
}

.btn--secondary:hover {
  background: var(--bg-secondary);
  border-color: var(--accent-primary);
}

/* Link Styles */
.link {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--accent-primary);
  text-decoration: none;
  transition: color 0.2s;
}

.link:hover {
  color: var(--accent-hover);
}

.link::after {
  content: ' >';
  margin-left: 0.25rem;
}

/* Meta Text Styles */
.meta {
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-tertiary);
}

/* Responsive Typography */
@media (max-width: 768px) {
  h1 {
    font-size: 2rem;
  }
  
  h2 {
    font-size: 1.75rem;
  }
  
  h3 {
    font-size: 1.5rem;
  }
  
  h4 {
    font-size: 1.25rem;
  }
  
  h5 {
    font-size: 1.125rem;
  }
  
  h6 {
    font-size: 1rem;
  }
}

h1, h2, h3, h4, h5, h6 {
  color: var(--text-primary);
  font-family: 'Inter', Arial, sans-serif;
  margin-top: 0;
}

a {
  color: var(--accent-primary);
  text-decoration: none;
  transition: color 0.2s;
}

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

/* Header/Navigation Styles */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(26, 26, 26, 0.95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border-color);
  z-index: 1000;
}

.site-header__container {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0 var(--space-md);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.site-header__branding {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.site-header__title {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
  text-decoration: none;
  transition: color 0.2s;
  text-transform: uppercase;
}

.site-header__title:hover {
  color: var(--accent-primary);
}

.site-header__nav {
  display: flex;
  align-items: center;
  width: 100%;
}

.site-header__menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: var(--space-md);
  flex-wrap: wrap;
}

.site-header__menu li {
  margin: 0;
}

.site-header__menu a {
  font-family: 'Space Mono', monospace;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.2s;
  padding: 0.5rem 0;
}

.site-header__menu a:hover {
  color: var(--accent-primary);
}



/* Mobile Navigation */
@media (max-width: 768px) {
  .site-header__container {
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
  }
  
  .site-header__branding {
    margin-bottom: var(--space-xs);
  }
  
  .site-header__menu {
    gap: var(--space-sm);
  }
  
  .site-header__menu a {
    font-size: 0.75rem;
    padding: var(--space-xs) 0;
  }
}

/* Add more base styles and BEM structure as needed */

/* Font Face: Inter */
@font-face {
  font-family: 'Inter';
  src: url('assets/fonts/Inter-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('assets/fonts/Inter-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('assets/fonts/Inter-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('assets/fonts/Inter-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Font Face: Space Mono */
@font-face {
  font-family: 'Space Mono';
  src: url('assets/fonts/SpaceMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Space Mono';
  src: url('assets/fonts/SpaceMono-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Space Mono';
  src: url('assets/fonts/SpaceMono-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Space Mono';
  src: url('assets/fonts/SpaceMono-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Footer Styles */
.site-footer {
  background: var(--bg-primary);
  border-top: 1px solid var(--border-color);
  padding: 35px 0;
  margin-top: 35px;
}

.site-footer__container {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0 var(--space-md);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--space-lg);
  align-items: start;
}

.site-footer__col {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.site-footer__branding {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin: 0;
  padding: 0;
}

.site-footer__title {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0 0 var(--space-xs) 0;
  padding: 0;
  text-transform: uppercase;
  line-height: 1.2;
}

.site-footer__desc {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.5;
  margin: 0;
  padding: 0;
}

.site-footer__section-title {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0 0 var(--space-sm) 0;
  padding: 0;
  line-height: 1.2;
}

.site-footer__section-desc {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.5;
  margin: 0 0 var(--space-sm) 0;
  padding: 0;
}

.site-footer__nav {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
}

.site-footer__menu {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: var(--space-xs);
}

.site-footer__menu li {
  margin: 0;
  padding: 0;
}

.site-footer__menu a {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 0.875rem;
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.2s;
  margin: 0;
  padding: 0;
}

.site-footer__menu a:hover {
  color: var(--accent-primary);
}

.site-footer__newsletter {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.site-footer__newsletter-input {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
  font-family: 'Inter', Arial, sans-serif;
  font-size: 0.875rem;
  padding: 0.75rem 1rem;
  border-radius: 0;
  outline: none;
  transition: border-color 0.2s;
}

.site-footer__newsletter-input:focus {
  border-color: var(--accent-primary);
}

.site-footer__newsletter-btn {
  background: var(--accent-primary);
  color: var(--bg-primary);
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  border: none;
  padding: 0.75rem 1.5rem;
  cursor: pointer;
  transition: background-color 0.2s;
  align-self: flex-start;
}

.site-footer__newsletter-btn:hover {
  background: var(--accent-hover);
}

.site-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  margin-top: var(--space-sm);
}

.site-footer__social-link {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  text-decoration: none;
  color: var(--text-secondary);
  transition: color 0.2s;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 0.875rem;
}

.site-footer__social-link:hover {
  color: var(--accent-primary);
}

.site-footer__social-icon {
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.site-footer__social-icon svg {
  width: 100%;
  height: 100%;
}

.site-footer__social-text {
  font-weight: 400;
}

/* Mobile Footer */
@media (max-width: 768px) {
  .site-footer__container {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
  
  .site-footer__col {
    text-align: center;
  }
  
  .site-footer__social {
    justify-content: center;
  }
}

/* Update font-family stacks if needed below */ 

/* Table of Contents Styles */
.wp-block-table-of-contents,
#ez-toc-container,
.toc-container,
.table-of-contents,
.wp-block-toc,
.toc {
  margin: 1.5rem 0;
  padding: var(--space-md);
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 0;
  max-width: var(--container-width);
}

/* Table of Contents Header */
.wp-block-table-of-contents__header,
.ez-toc-title,
.toc-title,
.table-of-contents__title,
.wp-block-toc__title,
.toc__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--border-color);
}

.wp-block-table-of-contents__title,
.ez-toc-title,
.toc-title,
.table-of-contents__title,
.wp-block-toc__title,
.toc__title {
  font-family: 'Space Mono', monospace;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 5px 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Toggle Button */
.wp-block-table-of-contents__toggle,
.ez-toc-toggle,
.toc-toggle,
.table-of-contents__toggle,
.wp-block-toc__toggle,
.toc__toggle {
  background: var(--bg-primary);
  border: 1px solid var(--border-color);
  color: var(--text-secondary);
  padding: 0.5rem;
  border-radius: 0;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.wp-block-table-of-contents__toggle:hover,
.ez-toc-toggle:hover,
.toc-toggle:hover,
.table-of-contents__toggle:hover,
.wp-block-toc__toggle:hover,
.toc__toggle:hover {
  background: var(--accent-primary);
  color: var(--bg-primary);
  border-color: var(--accent-primary);
}

/* Toggle Icon */
.wp-block-table-of-contents__toggle-icon,
.ez-toc-icon,
.toc-icon,
.table-of-contents__toggle-icon,
.wp-block-toc__toggle-icon,
.toc__toggle-icon {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s;
}

.wp-block-table-of-contents__toggle-icon svg,
.ez-toc-icon svg,
.toc-icon svg,
.table-of-contents__toggle-icon svg,
.wp-block-toc__toggle-icon svg,
.toc__toggle-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

/* Toggle Icon Animation */
.wp-block-table-of-contents.is-collapsed .wp-block-table-of-contents__toggle-icon,
.ez-toc-container.collapsed .ez-toc-icon,
.toc-container.collapsed .toc-icon,
.table-of-contents.is-collapsed .table-of-contents__toggle-icon,
.wp-block-toc.is-collapsed .wp-block-toc__toggle-icon,
.toc.is-collapsed .toc__toggle-icon {
  transform: rotate(180deg);
}

/* Table of Contents List */
.wp-block-table-of-contents__list,
.ez-toc-list,
.toc-list,
.table-of-contents__list,
.wp-block-toc__list,
.toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: toc-counter;
}

/* Table of Contents Items */
.wp-block-table-of-contents__list-item,
.ez-toc-list li,
.toc-list li,
.table-of-contents__list-item,
.wp-block-toc__list-item,
.toc__list-item {
  counter-increment: toc-counter;
  margin-bottom: var(--space-sm);
  padding: 0;
  position: relative;
}

.wp-block-table-of-contents__list-item:last-child,
.ez-toc-list li:last-child,
.toc-list li:last-child,
.table-of-contents__list-item:last-child,
.wp-block-toc__list-item:last-child,
.toc__list-item:last-child {
  margin-bottom: 0;
}

/* Table of Contents Links */
.wp-block-table-of-contents__list-item a,
.ez-toc-list a,
.toc-list a,
.table-of-contents__list-item a,
.wp-block-toc__list-item a,
.toc__list-item a {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1.5;
  padding: 0.5rem 0;
  transition: all 0.2s;
  position: relative;
}

.wp-block-table-of-contents__list-item a:hover,
.ez-toc-list a:hover,
.toc-list a:hover,
.table-of-contents__list-item a:hover,
.wp-block-toc__list-item a:hover,
.toc__list-item a:hover {
  color: var(--accent-primary);
  transform: translateX(4px);
}

/* Numbered Items */
.wp-block-table-of-contents__list-item a::before,
.ez-toc-list a::before,
.toc-list a::before,
.table-of-contents__list-item a::before,
.wp-block-toc__list-item a::before,
.toc__list-item a::before {
  content: counter(toc-counter);
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--text-tertiary);
  min-width: 1.5rem;
  text-align: center;
}

/* Active/Current Item */
.wp-block-table-of-contents__list-item.is-active a,
.ez-toc-list .active a,
.toc-list .active a,
.table-of-contents__list-item.is-active a,
.wp-block-toc__list-item.is-active a,
.toc__list-item.is-active a {
  color: var(--accent-primary);
  font-weight: 500;
}

.wp-block-table-of-contents__list-item.is-active a::before,
.ez-toc-list .active a::before,
.toc-list .active a::before,
.table-of-contents__list-item.is-active a::before,
.wp-block-toc__list-item.is-active a::before,
.toc__list-item.is-active a::before {
  color: var(--accent-primary);
}

/* Nested Items (Sub-headings) */
.wp-block-table-of-contents__list-item .wp-block-table-of-contents__list,
.ez-toc-list ul,
.toc-list ul,
.table-of-contents__list-item .table-of-contents__list,
.wp-block-toc__list-item .wp-block-toc__list,
.toc__list-item .toc__list {
  margin-left: var(--space-md);
  margin-top: var(--space-xs);
  padding-left: var(--space-sm);
  border-left: 1px solid var(--border-color);
}

.wp-block-table-of-contents__list-item .wp-block-table-of-contents__list-item a,
.ez-toc-list ul a,
.toc-list ul a,
.table-of-contents__list-item .table-of-contents__list-item a,
.wp-block-toc__list-item .wp-block-toc__list-item a,
.toc__list-item .toc__list-item a {
  font-size: 0.8rem;
  padding: 0.25rem 0;
}

/* Collapsed State */
.wp-block-table-of-contents.is-collapsed .wp-block-table-of-contents__list,
.ez-toc-container.collapsed .ez-toc-list,
.toc-container.collapsed .toc-list,
.table-of-contents.is-collapsed .table-of-contents__list,
.wp-block-toc.is-collapsed .wp-block-toc__list,
.toc.is-collapsed .toc__list {
  display: none;
}

/* Responsive Design */
@media (max-width: 768px) {
  .wp-block-table-of-contents,
  #ez-toc-container,
  .toc-container,
  .table-of-contents,
  .wp-block-toc,
  .toc {
    margin: 0.75rem 0;
    padding: var(--space-xs);
  }
  
  .wp-block-table-of-contents__title,
  .ez-toc-title,
  .toc-title,
  .table-of-contents__title,
  .wp-block-toc__title,
  .toc__title {
    font-size: 1rem;
  }
  
  .wp-block-table-of-contents__list-item a,
  .ez-toc-list a,
  .toc-list a,
  .table-of-contents__list-item a,
  .wp-block-toc__list-item a,
  .toc__list-item a {
    font-size: 0.75rem;
  }
}

/* Specific Plugin Styles */
/* Easy Table of Contents Plugin */
#ez-toc-container {
  margin: 1.5rem 0;
}

#ez-toc-container .ez-toc-title {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--border-color);
}

#ez-toc-container .ez-toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: ez-toc-counter;
}

#ez-toc-container .ez-toc-list li {
  counter-increment: ez-toc-counter;
  margin-bottom: var(--space-sm);
}

#ez-toc-container .ez-toc-list a {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1.5;
  padding: 0.5rem 0;
  transition: all 0.2s;
}

#ez-toc-container .ez-toc-list a::before {
  content: counter(ez-toc-counter);
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--text-tertiary);
  min-width: 1.5rem;
  text-align: center;
}

#ez-toc-container .ez-toc-list a:hover {
  color: var(--accent-primary);
  transform: translateX(4px);
}

#ez-toc-container .ez-toc-list .active a {
  color: var(--accent-primary);
  font-weight: 500;
}

#ez-toc-container .ez-toc-list .active a::before {
  color: var(--accent-primary);
}

/* WordPress Core Table of Contents Block */
.wp-block-table-of-contents {
  margin: 1.5rem 0;
  padding: var(--space-md);
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 0;
}

.wp-block-table-of-contents__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--border-color);
}

.wp-block-table-of-contents__title {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

.wp-block-table-of-contents__list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: wp-toc-counter;
}

.wp-block-table-of-contents__list-item {
  counter-increment: wp-toc-counter;
  margin-bottom: var(--space-sm);
}

.wp-block-table-of-contents__list-item a {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1.5;
  padding: 0.5rem 0;
  transition: all 0.2s;
}

.wp-block-table-of-contents__list-item a::before {
  content: counter(wp-toc-counter);
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--text-tertiary);
  min-width: 1.5rem;
  text-align: center;
}

.wp-block-table-of-contents__list-item a:hover {
  color: var(--accent-primary);
  transform: translateX(4px);
}

.wp-block-table-of-contents__list-item.is-active a {
  color: var(--accent-primary);
  font-weight: 500;
}

.wp-block-table-of-contents__list-item.is-active a::before {
  color: var(--accent-primary);
}
