/* Custom CSS for OULY Documentation */

/* Improve code block styling */
.highlight {
  background: #f8f8f8;
  border: 1px solid #e1e4e5;
  border-radius: 4px;
  margin: 1em 0;
}

.highlight pre {
  margin: 0;
  padding: 12px;
  font-size: 13px;
  line-height: 1.4;
  overflow-x: auto;
}

/* Performance callout boxes */
.performance-tip {
  background-color: #e8f5e8;
  border-left: 4px solid #4caf50;
  padding: 12px 16px;
  margin: 16px 0;
  border-radius: 4px;
}

.performance-tip .admonition-title {
  color: #2e7d32;
  font-weight: bold;
}

/* API reference improvements */
.cpp-signature {
  background: #f0f0f0;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 8px 12px;
  margin: 8px 0;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  font-size: 14px;
}

/* Table styling improvements */
table.docutils {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  margin: 1em 0;
}

table.docutils th,
table.docutils td {
  padding: 8px 12px;
  border: 1px solid #e1e4e5;
}

table.docutils th {
  background-color: #f8f9fa;
  font-weight: bold;
}

/* Navigation improvements */
.wy-nav-content {
  max-width: 1200px;
}

.wy-nav-content-wrap {
  margin-left: 300px;
}

/* Code highlighting for C++ */
.highlight-cpp .k {
  color: #0000ff;
}

/* keyword */
.highlight-cpp .kt {
  color: #0000ff;
}

/* keyword.type */
.highlight-cpp .nc {
  color: #2b91af;
}

/* name.class */
.highlight-cpp .nf {
  color: #000000;
}

/* name.function */
.highlight-cpp .s {
  color: #a31515;
}

/* string */
.highlight-cpp .c1 {
  color: #008000;
}

/* comment */
.highlight-cpp .cm {
  color: #008000;
}

/* comment.multiline */

/* Tutorial navigation */
.tutorial-nav {
  background: #e3f2fd;
  border: 1px solid #2196f3;
  border-radius: 4px;
  padding: 12px 16px;
  margin: 16px 0;
}

.tutorial-nav h4 {
  margin: 0 0 8px 0;
  color: #1976d2;
}

.tutorial-nav ul {
  margin: 0;
  padding-left: 20px;
}

/* Responsive improvements */
@media screen and (max-width: 768px) {
  .wy-nav-content-wrap {
    margin-left: 0;
  }

  .wy-nav-side {
    left: -300px;
  }
}

/* Print styles */
@media print {

  .wy-nav-side,
  .wy-nav-top,
  .rst-versions {
    display: none !important;
  }

  .wy-nav-content-wrap {
    margin-left: 0 !important;
  }
}