@tailwind base;
@tailwind components;
@tailwind utilities;


/* Base article container */
.article-content {
  @apply max-w-prose mx-auto;
}

/* Typography */
.article-content h1 {
  @apply text-4xl font-bold mb-8 text-gray-900;
}

.article-content > *:first-child {
  @apply !mt-0;
}

.article-content h2 {
  @apply text-3xl font-semibold mt-12 mb-6 text-gray-900;
}

.article-content h3 {
  @apply text-2xl font-semibold mt-8 mb-4 text-gray-900;
}

.article-content h4 {
  @apply text-xl font-semibold mt-6 mb-4 text-gray-900;
}

.article-content p {
  @apply text-lg leading-relaxed mb-6 text-gray-700;
}

/* Lists */
.article-content ul {
  @apply list-disc list-outside ml-6 mb-6 text-gray-700;
}

.article-content ol {
  @apply list-decimal list-outside ml-6 mb-6 text-gray-700;
}

.article-content li {
  @apply text-lg leading-relaxed mb-2;
}

/* Links */
.article-content a {
  @apply text-blue-600 hover:text-blue-800 underline;
}

/* Blockquotes */
.article-content blockquote {
  @apply pl-4 border-l-4 border-gray-300 italic my-6 text-gray-700;
}

/* Code blocks */
.article-content pre {
  @apply bg-gray-100 rounded-lg p-4 mb-6 overflow-x-auto;
}

.article-content code {
  @apply bg-gray-100 rounded px-1 py-0.5 text-sm font-mono;
}

/* Images */
.article-content img {
  @apply rounded-lg max-w-full h-auto my-8;
}

/* Tables */
.article-content table {
  @apply w-full border-collapse mb-6;
}

.article-content th {
  @apply bg-gray-100 border border-gray-300 px-4 py-2 text-left font-semibold;
}

.article-content td {
  @apply border border-gray-300 px-4 py-2;
}

/* Horizontal rule */
.article-content hr {
  @apply my-12 border-t border-gray-300;
}

/* Article content figures with captions */
.article-content figure {
  @apply my-8;
}

.article-content figcaption {
  @apply text-sm text-gray-600 text-center mt-2;
}

/* Definition lists */
.article-content dl {
  @apply mb-6;
}

.article-content dt {
  @apply font-semibold text-lg mb-2;
}

.article-content dd {
  @apply ml-4 mb-4 text-gray-700;
}

/* Ensure proper spacing for nested lists */
.article-content ul ul,
.article-content ul ol,
.article-content ol ul,
.article-content ol ol {
  @apply mb-0 mt-2;
}

/* Add styles for small text and subscript/superscript */
.article-content small {
  @apply text-sm text-gray-600;
}

.article-content sub,
.article-content sup {
  @apply text-sm;
}

/* Style for marking text */
.article-content mark {
  @apply bg-yellow-200 px-1;
}

.align-top {
  align-self: flex-start;
}