/* VX538 — complete visual override */

:root {
  --vx-bg: #080808;
  --vx-surface: #101010;
  --vx-text: #dedede;
  --vx-muted: #888888;
  --vx-red: #ff3333;
  --vx-border: #292929;
}

/* Global reset */
*, *::before, *::after {
  box-sizing: border-box;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html, body,
.wp-site-blocks,
body .wp-site-blocks > * {
  background-color: var(--vx-bg) !important;
}

body {
  color: var(--vx-text) !important;
  font-family: monospace !important;
  font-size: 15px;
  line-height: 1.75;
}

.wp-site-blocks {
  min-height: 100vh;
}

/* Consistent page width */
.wp-site-blocks > header,
.wp-site-blocks > main,
.wp-site-blocks > footer {
  padding-left: clamp(20px, 5vw, 72px) !important;
  padding-right: clamp(20px, 5vw, 72px) !important;
}

/* VX538 top bar */
.wp-site-blocks > header {
  border-bottom: 1px solid var(--vx-border) !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  margin: 0 !important;
}

/* Typography */
h1, h2, h3, h4, h5, h6,
.wp-block-site-title,
.wp-block-site-title a {
  color: #ffffff !important;
  font-family: monospace !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em;
}

p, li, .wp-block-post-excerpt {
  color: var(--vx-text) !important;
}

a, .wp-block-post-excerpt__more-link {
  color: var(--vx-red) !important;
  text-decoration: none !important;
}

a:hover {
  color: #ff7777 !important;
  text-decoration: underline !important;
}

/* Navigation */
.wp-block-navigation a {
  color: var(--vx-text) !important;
  font-family: monospace !important;
}

.wp-block-navigation a:hover,
.wp-block-navigation .current-menu-item > a {
  color: var(--vx-red) !important;
}

/* Post listings */
.wp-block-post-template {
  gap: 0 !important;
}

.wp-block-post-template > li {
  border-bottom: 1px solid var(--vx-border) !important;
  padding: 24px 0 !important;
  margin: 0 !important;
}

.wp-block-post-title a {
  color: #ffffff !important;
}

.wp-block-post-date,
.wp-block-post-author,
.wp-block-post-terms,
.wp-block-post-navigation-link {
  color: var(--vx-muted) !important;
  font-size: 12px !important;
}

/* Images and code */
img {
  border-radius: 0 !important;
}

pre, code, .wp-block-code {
  background: var(--vx-surface) !important;
  color: var(--vx-red) !important;
  border: 1px solid var(--vx-border) !important;
  padding: 12px;
  overflow-x: auto;
}

/* Inputs and buttons */
button, input, textarea, select,
.wp-block-button__link {
  font-family: monospace !important;
  border-radius: 0 !important;
}

input, textarea, select {
  background: var(--vx-surface) !important;
  color: var(--vx-text) !important;
  border: 1px solid var(--vx-border) !important;
}

.wp-block-button__link {
  background: var(--vx-red) !important;
  color: #ffffff !important;
}

/* Remove common default WordPress/theme credits */
.wp-block-site-generator,
.site-generator,
.powered-by-wordpress,
a[href*="wordpress.org"],
a[href*="wordpress.com/themes"] {
  display: none !important;
}

/* Footer */
.wp-site-blocks > footer {
  border-top: 1px solid var(--vx-border) !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  color: var(--vx-muted) !important;
}

/* Prevent theme patterns from introducing rounded cards */
.wp-block-group,
.wp-block-columns,
.wp-block-column,
.wp-block-cover,
.wp-block-query,
.wp-block-post {
  border-radius: 0 !important;
}

::selection {
  background: var(--vx-red);
  color: white;
}

/* Remove Twenty Twenty-Five / WordPress theme credits */
.wp-block-site-generator,
.wp-block-site-generator a,
.site-info,
.site-generator,
.powered-by-wordpress,
footer .wp-block-paragraph a[href*="wordpress.org"],
footer a[href*="wordpress.org/themes"],
footer a[href*="wordpress.com/themes"] {
    display: none !important;
}


/* Hide only the two default Twenty Twenty-Five footer credits */
.wp-block-paragraph:has(+ .wp-block-paragraph a[href="https://wordpress.org"]) {
    display: none !important;
}

.wp-block-paragraph:has(> a[href="https://wordpress.org"]) {
    display: none !important;
}
