/**
 * Markdown & Code Block Styles
 * Minimal, clean styling for outer voice content
 */

.markdown-content {
  font-size: 14px;
  line-height: 1.55;
  color: #0f1b33;
  /* Ensure long content wraps properly */
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* Headings - subtle, compact */
.markdown-content h1,
.markdown-content h2,
.markdown-content h3 {
  margin: 10px 0 5px 0;
  font-weight: 600;
  color: #0d1329;
  line-height: 1.35;
}

.markdown-content h1 {
  font-size: 15.5px;
}

.markdown-content h2 {
  font-size: 14.5px;
}

.markdown-content h3 {
  font-size: 14px;
}

/* Paragraphs - comfortable reading spacing */
.markdown-content p {
  margin: 12px 0;
}

/* Remove top margin from first element (any type) */
.markdown-content > *:first-child {
  margin-top: 0 !important;
}

/* Remove bottom margin from last element (any type) */
.markdown-content > *:last-child {
  margin-bottom: 0 !important;
}

/* Lists - clean and minimal */
.markdown-content ul,
.markdown-content ol {
  margin: 6px 0;
  padding-left: 18px;
}

.markdown-content li {
  margin: 2px 0;
}

/* Inline code */
.markdown-content code {
  font-family: 'Courier New', Courier, monospace;
  font-size: 13px;
  background: rgba(13, 19, 41, 0.04);
  padding: 2px 6px;
  border-radius: 4px;
  color: #2d3953;
}

/* Code blocks - inset window style */
.code-block-wrapper {
  position: relative;
  margin: 10px 0;
  background: rgba(13, 19, 41, 0.02);
  border: 1px solid rgba(13, 19, 41, 0.08);
  border-radius: 8px;
  overflow: hidden;
}

/* Code block header with language and copy button */
.code-block-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 10px;
  background: rgba(13, 19, 41, 0.04);
  border-bottom: 1px solid rgba(13, 19, 41, 0.06);
}

.code-block-language {
  font-size: 10px;
  text-transform: lowercase;
  letter-spacing: 0.02em;
  color: #5b6375;
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  line-height: 1;
}

.code-block-copy {
  padding: 0;
  font-size: 10px;
  background: transparent;
  border: none;
  color: #6b7280;
  cursor: pointer;
  font-family: 'DM Sans', sans-serif;
  transition: color 120ms ease;
  line-height: 1;
}

.code-block-copy:hover {
  color: #414d67;
}

.code-block-copy:active {
  color: #1e90ff;
}

.code-block-copy.copied {
  color: #1e90ff;
}

/* Code block content */
.code-block-wrapper pre {
  margin: 0;
  padding: 12px;
  background: transparent;
  border: none;
  border-radius: 0;
  overflow-x: auto;
  font-size: 13px;
  line-height: 1.5;
}

.code-block-wrapper pre code {
  background: none;
  padding: 0;
  border-radius: 0;
  font-family: 'Courier New', Courier, monospace;
  color: #0d1329;
}

/* Blockquotes */
.markdown-content blockquote {
  margin: 12px 0;
  padding-left: 16px;
  border-left: 3px solid rgba(13, 19, 41, 0.12);
  color: #414d67;
  font-style: italic;
}

/* Links */
.markdown-content a {
  color: #1e90ff;
  text-decoration: none;
  border-bottom: 1px solid rgba(30, 144, 255, 0.3);
  transition: border-color 120ms ease;
}

.markdown-content a:hover {
  border-bottom-color: #1e90ff;
}

/* Emphasis */
.markdown-content em {
  font-style: italic;
}

.markdown-content strong {
  font-weight: 600;
}

/* Horizontal rule */
.markdown-content hr {
  margin: 16px 0;
  border: none;
  border-top: 1px solid rgba(13, 19, 41, 0.08);
}

/* Mobile responsive */
@media (max-width: 640px) {
  .markdown-content {
    font-size: 12px;
  }

  .markdown-content h1 {
    font-size: 16px;
  }

  .markdown-content h2 {
    font-size: 14px;
  }

  .markdown-content h3 {
    font-size: 13px;
  }

  .markdown-content code,
  .markdown-content pre {
    font-size: 11px;
  }

  .markdown-content pre {
    padding: 10px;
  }
}
