/* Admonition styles for markdown-generated content */

.admonition {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  border-left: 4px solid;
  border-radius: 0.5rem;
  line-height: 1.6;
}

.admonition > *:first-child {
  margin-top: 0;
}

.admonition > *:last-child {
  margin-bottom: 0;
}

.admonition-title {
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.5rem;
  margin-top: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-transform: capitalize;
}

/* Add icon support - optional, can add icons via ::before */
.admonition-title::before {
  content: "";
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  line-height: 1;
}

/* Note - Blue */
.admonition.note {
  background-color: #eff6ff;
  border-color: #3b82f6;
  color: #1e3a8a;
}

.admonition.note .admonition-title {
  color: #1e40af;
}

.admonition.note .admonition-title::before {
  content: "ℹ️";
}

/* Info - Cyan */
.admonition.info {
  background-color: #ecfeff;
  border-color: #06b6d4;
  color: #164e63;
}

.admonition.info .admonition-title {
  color: #155e75;
}

.admonition.info .admonition-title::before {
  content: "ℹ️";
}

/* Tip - Green */
.admonition.tip {
  background-color: #f0fdf4;
  border-color: #22c55e;
  color: #14532d;
}

.admonition.tip .admonition-title {
  color: #166534;
}

.admonition.tip .admonition-title::before {
  content: "💡";
}

/* Success - Emerald */
.admonition.success {
  background-color: #ecfdf5;
  border-color: #10b981;
  color: #064e3b;
}

.admonition.success .admonition-title {
  color: #065f46;
}

.admonition.success .admonition-title::before {
  content: "✅";
}

/* Warning - Yellow/Amber */
.admonition.warning {
  background-color: #fefce8;
  border-color: #eab308;
  color: #713f12;
}

.admonition.warning .admonition-title {
  color: #854d0e;
}

.admonition.warning .admonition-title::before {
  content: "⚠️";
}

/* Caution - Orange */
.admonition.caution {
  background-color: #fff7ed;
  border-color: #f97316;
  color: #7c2d12;
}

.admonition.caution .admonition-title {
  color: #9a3412;
}

.admonition.caution .admonition-title::before {
  content: "⚠️";
}

/* Danger/Error - Red */
.admonition.danger,
.admonition.error {
  background-color: #fef2f2;
  border-color: #ef4444;
  color: #7f1d1d;
}

.admonition.danger .admonition-title,
.admonition.error .admonition-title {
  color: #991b1b;
}

.admonition.danger .admonition-title::before,
.admonition.error .admonition-title::before {
  content: "🚫";
}

/* Bug - Pink */
.admonition.bug {
  background-color: #fdf2f8;
  border-color: #ec4899;
  color: #831843;
}

.admonition.bug .admonition-title {
  color: #9f1239;
}

.admonition.bug .admonition-title::before {
  content: "🐛";
}

/* Example - Purple */
.admonition.example {
  background-color: #faf5ff;
  border-color: #a855f7;
  color: #581c87;
}

.admonition.example .admonition-title {
  color: #6b21a8;
}

.admonition.example .admonition-title::before {
  content: "📝";
}

/* Quote - Gray */
.admonition.quote {
  background-color: #f9fafb;
  border-color: #6b7280;
  color: #1f2937;
}

.admonition.quote .admonition-title {
  color: #374151;
}

.admonition.quote .admonition-title::before {
  content: "💬";
}

/* Abstract/Summary - Indigo */
.admonition.abstract,
.admonition.summary,
.admonition.tldr {
  background-color: #eef2ff;
  border-color: #6366f1;
  color: #312e81;
}

.admonition.abstract .admonition-title,
.admonition.summary .admonition-title,
.admonition.tldr .admonition-title {
  color: #3730a3;
}

.admonition.abstract .admonition-title::before,
.admonition.summary .admonition-title::before,
.admonition.tldr .admonition-title::before {
  content: "📋";
}

/* Links inside admonitions */
.admonition a {
  text-decoration: underline;
  font-weight: 500;
}

.admonition a:hover {
  opacity: 0.8;
}

/* Code blocks inside admonitions */
.admonition code {
  background-color: rgba(0, 0, 0, 0.05);
  padding: 0.125rem 0.25rem;
  border-radius: 0.25rem;
  font-size: 0.9em;
}

.admonition pre {
  background-color: rgba(0, 0, 0, 0.05);
  padding: 0.75rem;
  border-radius: 0.375rem;
  overflow-x: auto;
}

.admonition pre code {
  background-color: transparent;
  padding: 0;
}

/* Lists inside admonitions */
.admonition ul,
.admonition ol {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding-left: 1.5rem;
}

.admonition li {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
  .admonition.note {
    background-color: rgba(59, 130, 246, 0.1);
    border-color: #3b82f6;
    color: #bfdbfe;
  }

  .admonition.note .admonition-title {
    color: #93c5fd;
  }

  .admonition.info {
    background-color: rgba(6, 182, 212, 0.1);
    border-color: #06b6d4;
    color: #a5f3fc;
  }

  .admonition.info .admonition-title {
    color: #67e8f9;
  }

  .admonition.tip {
    background-color: rgba(34, 197, 94, 0.1);
    border-color: #22c55e;
    color: #bbf7d0;
  }

  .admonition.tip .admonition-title {
    color: #86efac;
  }

  .admonition.success {
    background-color: rgba(16, 185, 129, 0.1);
    border-color: #10b981;
    color: #a7f3d0;
  }

  .admonition.success .admonition-title {
    color: #6ee7b7;
  }

  .admonition.warning {
    background-color: rgba(234, 179, 8, 0.1);
    border-color: #eab308;
    color: #fef08a;
  }

  .admonition.warning .admonition-title {
    color: #fde047;
  }

  .admonition.caution {
    background-color: rgba(249, 115, 22, 0.1);
    border-color: #f97316;
    color: #fed7aa;
  }

  .admonition.caution .admonition-title {
    color: #fdba74;
  }

  .admonition.danger,
  .admonition.error {
    background-color: rgba(239, 68, 68, 0.1);
    border-color: #ef4444;
    color: #fecaca;
  }

  .admonition.danger .admonition-title,
  .admonition.error .admonition-title {
    color: #fca5a5;
  }

  .admonition.bug {
    background-color: rgba(236, 72, 153, 0.1);
    border-color: #ec4899;
    color: #fbcfe8;
  }

  .admonition.bug .admonition-title {
    color: #f9a8d4;
  }

  .admonition.example {
    background-color: rgba(168, 85, 247, 0.1);
    border-color: #a855f7;
    color: #e9d5ff;
  }

  .admonition.example .admonition-title {
    color: #d8b4fe;
  }

  .admonition.quote {
    background-color: rgba(107, 114, 128, 0.1);
    border-color: #6b7280;
    color: #d1d5db;
  }

  .admonition.quote .admonition-title {
    color: #9ca3af;
  }

  .admonition.abstract,
  .admonition.summary,
  .admonition.tldr {
    background-color: rgba(99, 102, 241, 0.1);
    border-color: #6366f1;
    color: #c7d2fe;
  }

  .admonition.abstract .admonition-title,
  .admonition.summary .admonition-title,
  .admonition.tldr .admonition-title {
    color: #a5b4fc;
  }

  /* Dark mode code blocks */
  .admonition code {
    background-color: rgba(255, 255, 255, 0.1);
  }

  .admonition pre {
    background-color: rgba(255, 255, 255, 0.05);
  }
}

/* Responsive adjustments */
@media (max-width: 640px) {
  .admonition {
    padding: 0.75rem 1rem;
    margin: 1rem 0;
  }

  .admonition-title {
    font-size: 0.95rem;
  }
}
