/* ============================================================
   ORBIT2D DEVELOPMENT TRANSMISSION NETWORK
   Terminal / Mission-Control Theme
   v2.0.0
   ============================================================ */

/* --- Fonts --- */
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700;800;900&display=swap');

:root {
  /* Core palette */
  --o2d-bg:         #06080d;
  --o2d-surface:    #0c1018;
  --o2d-panel:      #111620;
  --o2d-border:     #1a2030;
  --o2d-border-hi:  #243040;
  
  /* Accent colors */
  --o2d-green:      #00ff88;
  --o2d-green-dim:  #00cc6a;
  --o2d-green-glow: rgba(0,255,136,0.08);
  --o2d-blue:       #4A90E2;
  --o2d-cyan:       #00d4ff;
  --o2d-amber:      #ffb800;
  --o2d-red:        #ff3344;
  --o2d-purple:     #a78bfa;
  
  /* Text */
  --o2d-text:       #c8d6e5;
  --o2d-text-dim:   #6b7a8d;
  --o2d-text-bright:#e8f0f8;
  --o2d-white:      #ffffff;
  
  /* Typography */
  --font-mono:  'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
  --font-sans:  'Inter', -apple-system, sans-serif;
}

/* --- Global Reset & Base --- */
html { scroll-behavior: smooth; }

body, body.o2d-terminal {
  background: var(--o2d-bg) !important;
  color: var(--o2d-text) !important;
  font-family: var(--font-sans) !important;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

/* Subtle grid background */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(rgba(0,255,136,0.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,255,136,0.015) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
  z-index: 0;
}

/* --- Scrollbar --- */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--o2d-bg); }
::-webkit-scrollbar-thumb { background: var(--o2d-border-hi); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--o2d-green-dim); }

/* --- Header / Site Nav --- */
header.wp-block-template-part,
.wp-block-template-part[data-type="core/template-part"] {
  background: var(--o2d-surface) !important;
  border-bottom: 1px solid var(--o2d-border) !important;
  position: relative;
  z-index: 100;
}

/* Site title - terminal style */
.wp-block-site-title a,
.wp-block-site-title {
  font-family: var(--font-mono) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  letter-spacing: 4px !important;
  color: var(--o2d-green) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}
.wp-block-site-title a:hover {
  color: var(--o2d-green) !important;
  text-shadow: 0 0 20px rgba(0,255,136,0.4);
}

/* Navigation links */
.wp-block-navigation a,
.wp-block-navigation-item a {
  font-family: var(--font-mono) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--o2d-text-dim) !important;
  text-decoration: none !important;
  transition: color 0.2s, text-shadow 0.2s;
}
.wp-block-navigation a:hover,
.wp-block-navigation-item a:hover {
  color: var(--o2d-green) !important;
  text-shadow: 0 0 12px rgba(0,255,136,0.3);
}

/* --- Footer --- */
footer.wp-block-template-part,
footer {
  background: var(--o2d-surface) !important;
  border-top: 1px solid var(--o2d-border) !important;
}
footer * { color: var(--o2d-text-dim) !important; }
footer a { color: var(--o2d-green-dim) !important; }
footer a:hover { color: var(--o2d-green) !important; }

/* --- Page Titles (Blog, Archive) --- */
.wp-block-query-title,
h1.wp-block-post-title,
h2.wp-block-post-title,
.wp-block-post-title a {
  font-family: var(--font-mono) !important;
  color: var(--o2d-green) !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
}
.wp-block-post-title a:hover {
  text-shadow: 0 0 20px rgba(0,255,136,0.3);
}

/* Archive / Blog heading */
.wp-block-query-title {
  font-family: var(--font-mono) !important;
  font-size: 14px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: var(--o2d-text-dim) !important;
}

/* --- Post Content --- */
.wp-block-post-content p,
.entry-content p {
  color: var(--o2d-text);
  font-size: 16px;
  line-height: 1.8;
}

.wp-block-post-content a,
.entry-content a {
  color: var(--o2d-cyan) !important;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,212,255,0.3);
  transition: all 0.2s;
}
.wp-block-post-content a:hover,
.entry-content a:hover {
  color: var(--o2d-green) !important;
  border-bottom-color: var(--o2d-green);
}

/* Post headings */
.wp-block-post-content h2,
.entry-content h2 {
  font-family: var(--font-mono) !important;
  color: var(--o2d-green) !important;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-size: 22px !important;
  margin-top: 2.5em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid var(--o2d-border);
}
.wp-block-post-content h3,
.entry-content h3 {
  font-family: var(--font-sans) !important;
  color: var(--o2d-white) !important;
  font-weight: 600;
  font-size: 18px !important;
}

/* Lists */
.wp-block-post-content li,
.entry-content li {
  color: var(--o2d-text);
}
.wp-block-post-content li strong,
.entry-content li strong {
  color: var(--o2d-cyan) !important;
}

/* Separators */
.wp-block-separator {
  border-color: var(--o2d-border) !important;
  opacity: 1 !important;
}

/* --- Status Labels (for custom content) --- */
.status-online { color: var(--o2d-green) !important; }
.status-dev    { color: var(--o2d-amber) !important; }
.status-locked { color: var(--o2d-text-dim) !important; }

/* --- Cover blocks on homepage --- */
.wp-block-cover {
  border: none !important;
}

/* --- Terminal Panel Styling (via custom classes) --- */
/* Panels with border */
.wp-block-group.has-background {
  border: 1px solid var(--o2d-border) !important;
}

/* --- Buttons --- */
.wp-block-button__link {
  font-family: var(--font-mono) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border: 1px solid var(--o2d-green) !important;
  background: transparent !important;
  color: var(--o2d-green) !important;
  transition: all 0.3s !important;
}
.wp-block-button__link:hover {
  background: var(--o2d-green) !important;
  color: var(--o2d-bg) !important;
  box-shadow: 0 0 20px rgba(0,255,136,0.3) !important;
}

/* Primary/filled buttons */
.wp-block-button.is-style-fill .wp-block-button__link {
  background: var(--o2d-green) !important;
  color: var(--o2d-bg) !important;
  border-color: var(--o2d-green) !important;
}
.wp-block-button.is-style-fill .wp-block-button__link:hover {
  background: var(--o2d-green-dim) !important;
}

/* --- Blockquotes / Terminal Output --- */
blockquote, .wp-block-quote {
  border-left: 2px solid var(--o2d-green) !important;
  background: var(--o2d-panel) !important;
  padding: 16px 20px !important;
  margin: 1.5em 0 !important;
  font-family: var(--font-mono) !important;
  font-size: 14px !important;
  color: var(--o2d-green) !important;
}
blockquote p, .wp-block-quote p {
  color: var(--o2d-green) !important;
  font-family: var(--font-mono) !important;
  font-size: 14px !important;
}

/* --- Code / Preformatted --- */
code, pre, .wp-block-code, .wp-block-preformatted {
  font-family: var(--font-mono) !important;
  background: var(--o2d-panel) !important;
  color: var(--o2d-green) !important;
  border: 1px solid var(--o2d-border);
  border-radius: 2px;
}

/* --- Post Meta --- */
.wp-block-post-date, .wp-block-post-date a,
.wp-block-post-terms, .wp-block-post-terms a,
.wp-block-post-author, .wp-block-post-author a {
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
  color: var(--o2d-text-dim) !important;
  text-transform: uppercase !important;
}

/* --- Pagination --- */
.wp-block-query-pagination a {
  font-family: var(--font-mono) !important;
  color: var(--o2d-green-dim) !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
}
.wp-block-query-pagination a:hover {
  color: var(--o2d-green) !important;
}

/* --- Homepage specific --- */
/* Remove gaps for full-bleed homepage */
.home .wp-site-blocks { padding-top: 0 !important; }
.home .wp-site-blocks > * { margin-top: 0 !important; }
.home .wp-block-cover.alignfull { margin-top: 0 !important; }
.home main { margin-top: 0 !important; padding-top: 0 !important; }

/* Single post title override — make it green mono */
.single .wp-block-post-title {
  font-family: var(--font-mono) !important;
  color: var(--o2d-green) !important;
  letter-spacing: 2px !important;
  font-size: 28px !important;
}

/* --- Responsive --- */
@media (max-width: 768px) {
  .wp-block-site-title a { font-size: 14px !important; letter-spacing: 3px !important; }
  .wp-block-navigation a { font-size: 11px !important; }
  .wp-block-post-content h2,
  .entry-content h2 { font-size: 18px !important; letter-spacing: 2px !important; }
}

/* --- CookieAdmin overlay fix --- */
#CookieAdmin { z-index: 9999; }

/* --- Selection color --- */
::selection {
  background: rgba(0,255,136,0.2);
  color: var(--o2d-white);
}

/* --- Scanline subtle effect on hero --- */
.home .wp-block-cover::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0,0,0,0.03) 2px,
    rgba(0,0,0,0.03) 4px
  );
  pointer-events: none;
  z-index: 1;
}
