/* ============================================================
   reveal.js — RedHat Dark Theme Overrides
   ============================================================ */

:root {
  --r-background-color: #151515;
  --r-main-font: 'Red Hat Text', 'Inter', 'Segoe UI', sans-serif;
  --r-main-font-size: 28px;
  --r-main-color: #E0E0E0;
  --r-block-margin: 20px;
  --r-heading-margin: 0 0 20px 0;
  --r-heading-font: 'Red Hat Display', 'Inter', sans-serif;
  --r-heading-color: #FFFFFF;
  --r-heading-line-height: 1.2;
  --r-heading-letter-spacing: -0.02em;
  --r-heading-text-transform: none;
  --r-heading-text-shadow: none;
  --r-heading-font-weight: 800;
  --r-heading1-text-shadow: none;
  --r-heading1-size: 2.5em;
  --r-heading2-size: 1.8em;
  --r-heading3-size: 1.4em;
  --r-heading4-size: 1.1em;
  --r-code-font: 'Red Hat Mono', 'Cascadia Code', monospace;
  --r-link-color: #EE0000;
  --r-link-color-dark: #BE0000;
  --r-link-color-hover: #FF4444;
  --r-selection-background-color: #EE0000;
  --r-selection-color: #FFFFFF;
}

/* Slide backgrounds */
.reveal .slides section {
  background: #151515;
}

/* Title slide special */
.reveal .slides .title-slide {
  background: linear-gradient(135deg, #151515 0%, #1a0a0a 100%);
}

.reveal .slides .title-slide h1 {
  color: #EE0000;
  font-weight: 900;
  font-size: 3em;
}

/* Progress bar */
.reveal .progress {
  background: rgba(255,255,255,0.1);
  height: 4px;
}

.reveal .progress span {
  background: #EE0000;
}

/* Controls */
.reveal .controls {
  color: #EE0000;
}

/* Code blocks */
.reveal pre {
  background: #0d1117;
  border: 1px solid #383838;
  border-radius: 8px;
  box-shadow: none;
}

.reveal pre code {
  color: #c9d1d9;
  font-size: 0.65em;
  line-height: 1.6;
}

/* Tables */
.reveal table {
  border-collapse: collapse;
  margin: 20px 0;
}

.reveal table th {
  background: #292929;
  color: #EE0000;
  font-weight: 700;
  border-bottom: 2px solid #EE0000;
  padding: 8px 16px;
}

.reveal table td {
  border-bottom: 1px solid #383838;
  padding: 8px 16px;
}

.reveal table tr:nth-child(even) {
  background: #1F1F1F;
}

/* Lists */
.reveal ul, .reveal ol {
  text-align: left;
}

.reveal li {
  margin-bottom: 8px;
}

/* Blockquote */
.reveal blockquote {
  border-left: 4px solid #EE0000;
  padding: 10px 20px;
  background: #1F1F1F;
  font-style: italic;
  color: #A3A3A3;
  border-radius: 0 4px 4px 0;
}

/* Images */
.reveal img {
  border-radius: 8px;
  border: 2px solid #383838;
}

/* Speaker notes */
.reveal .speaker-notes {
  background: #1F1F1F;
  border: 1px solid #383838;
  color: #A3A3A3;
}
