/*
====================================
  AZTMM RESEARCH & ANALYTICS
  Complete Dark Premium Design v3.0
  Trading Academy Design System
  March 2026
====================================
*/

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

/* === DESIGN TOKENS === */
:root {
  --bg-primary: #0a0e17;
  --bg-secondary: #111827;
  --bg-card: #111827;
  --bg-card-hover: #1a2332;
  --bg-surface: #1a2332;
  --accent: #00d4aa;
  --accent-hover: #00e8bb;
  --accent-dim: rgba(0, 212, 170, 0.15);
  --accent-glow: rgba(0, 212, 170, 0.3);
  --amber: #f59e0b;
  --green: #22c55e;
  --red: #ef4444;
  --text-primary: #e2e8f0;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;
  --border-subtle: rgba(255,255,255,0.06);
  --border-accent: rgba(0, 212, 170, 0.3);
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-heading: 'Poppins', 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
}

/* === GLOBAL RESET & BASE === */
html { scroll-behavior: smooth; }

html, body, .site, .site-wrapper {
  background-color: var(--bg-primary) !important;
}

body {
  color: var(--text-primary) !important;
  font-family: var(--font-body) !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* === SELECTION === */
::selection {
  background: var(--accent) !important;
  color: var(--bg-primary) !important;
}

/* === TYPOGRAPHY === */
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.entry-title,
.page-title,
.post-title {
  font-family: var(--font-heading) !important;
  color: var(--text-primary) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
}

h1, .entry-title { font-size: 2.5rem !important; }
h2 { font-size: 2rem !important; }
h3 { font-size: 1.5rem !important; }
h4 { font-size: 1.25rem !important; }

p, li, td, th, span, div {
  color: var(--text-primary);
}

a {
  color: var(--accent) !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}

a:hover {
  color: var(--accent-hover) !important;
  text-shadow: 0 0 12px var(--accent-glow) !important;
}

/* === SITE HEADER === */
.site-header,
header.wp-block-template-part,
.wp-block-group.site-header {
  background: var(--bg-primary) !important;
  border-bottom: 1px solid var(--border-subtle) !important;
  padding: 1.5rem 0 !important;
}

/* === SITE TITLE === */
.site-title,
.site-title a,
.wp-block-site-title,
.wp-block-site-title a {
  font-family: var(--font-heading) !important;
  font-weight: 800 !important;
  font-size: 3rem !important;
  font-style: italic !important;
  color: var(--accent) !important;
  text-shadow: 0 0 40px var(--accent-glow), 0 0 80px rgba(0, 212, 170, 0.1) !important;
  transition: text-shadow 0.3s ease !important;
  text-decoration: none !important;
  letter-spacing: -0.02em !important;
}

.site-title a:hover,
.wp-block-site-title a:hover {
  text-shadow: 0 0 60px var(--accent-glow), 0 0 120px rgba(0, 212, 170, 0.2) !important;
  color: var(--accent-hover) !important;
}

/* === TAGLINE === */
.site-description,
.wp-block-site-tagline {
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  font-size: 1rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--text-secondary) !important;
  margin-top: 8px !important;
}

/* === NAVIGATION === */
.wp-block-navigation-item a,
.main-navigation a,
nav a,
.primary-menu a,
.menu-item a {
  color: var(--text-secondary) !important;
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 0.5rem 0 !important;
  position: relative !important;
  transition: color 0.3s ease !important;
}

.wp-block-navigation-item a:hover,
.main-navigation a:hover,
nav a:hover,
.primary-menu a:hover,
.menu-item a:hover {
  color: var(--accent) !important;
  text-shadow: 0 0 20px var(--accent-glow) !important;
}

/* Active nav item */
.current-menu-item > a,
.current_page_item > a {
  color: var(--accent) !important;
}

/* === BUTTONS === */
.wp-block-button__link,
.wp-element-button,
button,
input[type="submit"],
.btn,
.button {
  background: var(--accent) !important;
  color: var(--bg-primary) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 0.85rem 2rem !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
button:hover,
input[type="submit"]:hover {
  background: var(--accent-hover) !important;
  box-shadow: 0 0 30px var(--accent-glow), 0 4px 15px rgba(0,0,0,0.3) !important;
  transform: translateY(-1px) !important;
  color: var(--bg-primary) !important;
}

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

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

/* === CARDS & CONTENT BLOCKS === */
.wp-block-group,
.wp-block-column,
.entry-content > .wp-block-group {
  border-radius: 12px;
}

/* Cards with background */
.wp-block-group.has-background,
.wp-block-cover {
  background-color: var(--bg-card) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 12px !important;
  transition: all 0.3s ease !important;
}

.wp-block-group.has-background:hover {
  border-color: var(--border-accent) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3) !important;
}

/* === MAIN CONTENT AREA === */
.entry-content,
.page-content,
.post-content,
.site-main {
  background: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}

/* === HERO SECTION (Homepage) === */
.home .entry-content > .wp-block-cover:first-child,
.home .wp-block-cover {
  background-color: var(--bg-primary) !important;
  min-height: 60vh !important;
}

.wp-block-cover__inner-container {
  color: var(--text-primary) !important;
}

/* === SEPARATOR / DIVIDER === */
.wp-block-separator,
hr {
  border-color: var(--border-subtle) !important;
  opacity: 1 !important;
}

/* === TABLES === */
table, .wp-block-table {
  border-collapse: collapse !important;
}

table th {
  background: var(--bg-surface) !important;
  color: var(--accent) !important;
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 1rem !important;
  border-bottom: 2px solid var(--accent) !important;
}

table td {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
  padding: 0.85rem 1rem !important;
  border-bottom: 1px solid var(--border-subtle) !important;
  font-size: 0.95rem !important;
}

table tr:hover td {
  background: var(--bg-card-hover) !important;
}

/* === IMAGES === */
.wp-block-image img,
.entry-content img {
  border-radius: 12px !important;
  border: 1px solid var(--border-subtle) !important;
}

/* === BLOCKQUOTE === */
blockquote,
.wp-block-quote {
  background: var(--bg-card) !important;
  border-left: 4px solid var(--accent) !important;
  padding: 1.5rem !important;
  margin: 1.5rem 0 !important;
  border-radius: 0 8px 8px 0 !important;
  color: var(--text-primary) !important;
  font-style: italic !important;
}

blockquote cite {
  color: var(--accent) !important;
  font-style: normal !important;
  font-weight: 600 !important;
}

/* === CODE BLOCKS === */
code, pre, .wp-block-code {
  font-family: var(--font-mono) !important;
  background: var(--bg-card) !important;
  color: var(--accent) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 8px !important;
  padding: 0.2em 0.5em !important;
}

pre {
  padding: 1.5rem !important;
  overflow-x: auto !important;
}

/* === LISTS === */
ul li::marker,
ol li::marker {
  color: var(--accent) !important;
}

/* === FOOTER === */
.site-footer,
footer,
.wp-block-template-part:last-child {
  background: var(--bg-secondary) !important;
  border-top: 1px solid var(--border-subtle) !important;
  color: var(--text-secondary) !important;
  padding: 3rem 0 !important;
}

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

/* === WIDGETS / SIDEBAR === */
.widget,
.wp-block-widget-group {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.widget-title,
.wp-block-heading {
  color: var(--accent) !important;
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
}

/* === FORMS / INPUTS === */
input[type="text"],
input[type="email"],
input[type="search"],
input[type="url"],
input[type="password"],
textarea,
select {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 8px !important;
  color: var(--text-primary) !important;
  padding: 0.75rem 1rem !important;
  font-family: var(--font-body) !important;
  transition: border-color 0.3s ease !important;
}

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

/* === COMMENTS === */
.comments-area,
#comments {
  background: var(--bg-primary) !important;
}

.comment-body {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  margin-bottom: 1rem !important;
}

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

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

/* === SCROLL BAR === */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--bg-primary);
}

::-webkit-scrollbar-thumb {
  background: var(--bg-surface);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--accent);
}

/* === EMBEDDED CONTENT (TradingView, iframes) === */
iframe {
  border-radius: 12px !important;
  border: 1px solid var(--border-subtle) !important;
}

/* === WP SPECIFIC OVERRIDES === */
.has-background {
  background-color: var(--bg-card) !important;
}

.has-primary-color {
  color: var(--accent) !important;
}

.has-secondary-color {
  color: var(--text-secondary) !important;
}

.has-foreground-color {
  color: var(--text-primary) !important;
}

.has-background-color {
  color: var(--bg-primary) !important;
}

/* Force dark on all wrapper/container divs */
.wp-site-blocks,
.is-layout-constrained,
.is-layout-flow {
  background-color: var(--bg-primary) !important;
}

/* === PAGINATION === */
.pagination a,
.nav-links a,
.page-numbers {
  background: var(--bg-card) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 8px !important;
  padding: 0.5rem 1rem !important;
}

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

.page-numbers.current {
  background: var(--accent) !important;
  color: var(--bg-primary) !important;
  border-color: var(--accent) !important;
}

/* === SEARCH === */
.search-form {
  background: var(--bg-card) !important;
  border-radius: 12px !important;
  border: 1px solid var(--border-subtle) !important;
}

/* === SPECIFIC BANTRY THEME OVERRIDES === */
.bantry-site-title a {
  color: var(--accent) !important;
}

/* Post meta */
.entry-meta,
.post-meta,
.entry-footer {
  color: var(--text-muted) !important;
}

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

/* Category/Tag badges */
.cat-links a,
.tag-links a,
.post-categories a,
.wp-block-post-terms a {
  background: var(--accent-dim) !important;
  color: var(--accent) !important;
  padding: 0.25rem 0.75rem !important;
  border-radius: 20px !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* === LOADING / TRANSITION ANIMATIONS === */
.site-main > * {
  animation: fadeInUp 0.4s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
  .site-title, .site-title a, .wp-block-site-title a {
    font-size: 2rem !important;
  }

  h1, .entry-title { font-size: 1.8rem !important; }
  h2 { font-size: 1.5rem !important; }

  .wp-block-navigation-item a,
  .menu-item a {
    font-size: 0.8rem !important;
  }
}

/* === PRINT === */
@media print {
  body { background: white !important; color: black !important; }
  a { color: black !important; }
}