/* --- DR Astra Article System: lean site CSS, no external framework --- */
:root {
  --dr-purple: #7c3aed;
  --dr-purple-dark: #4c1d95;
  --dr-purple-soft: #f3e8ff;
  --dr-blue: #2563eb;
  --dr-green: #16a34a;
  --dr-ink: #172033;
  --dr-muted: #475569;
  --dr-line: #e9d5ff;
  --dr-card-shadow: 0 22px 70px rgba(15, 23, 42, .10);
}

body.single-post .site-content,
body.page .site-content {
  background: linear-gradient(180deg, #fbf7ff 0%, #ffffff 360px);
}

body.single-post .site-content .elementor:not(.elementor-68) {
  --container-max-width: 1100px;
}

body.single-post .site-content .elementor:not(.elementor-68) > .elementor-element.e-con-boxed > .e-con-inner,
body.single-post .site-content .elementor:not(.elementor-68) .e-con.e-con-boxed > .e-con-inner {
  max-width: min(100%, 1100px) !important;
  width: 100%;
}

.site-content .full-width-container {
  width: min(100%, 1040px);
  margin: clamp(20px, 4vw, 44px) auto;
  padding: clamp(22px, 4vw, 46px);
  background: rgba(255, 255, 255, .97);
  border: 1px solid rgba(124, 58, 237, .14);
  border-radius: clamp(18px, 2.2vw, 30px);
  box-shadow: var(--dr-card-shadow);
}

.site-content .prose {
  max-width: 900px;
  margin: 0 auto;
  color: var(--dr-muted);
  font-size: clamp(1rem, .94rem + .25vw, 1.08rem);
  line-height: 1.78;
}

.site-content .prose > :first-child { margin-top: 0; }
.site-content .prose > :last-child { margin-bottom: 0; }

.site-content .prose h1,
.site-content .prose h2,
.site-content .prose h3,
.site-content .prose h4 {
  color: var(--dr-ink);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.18;
}

.site-content .prose h1 {
  font-size: clamp(2rem, 4vw, 3.35rem);
  margin: 0 0 1.15rem;
  max-width: 13ch;
}

.site-content .prose h1::after {
  content: "";
  display: block;
  width: 76px;
  height: 5px;
  margin-top: 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--dr-purple), #22c55e);
}

.site-content .prose h2 {
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  margin: 2.15em 0 .85em;
  padding-left: 16px;
  border-left: 5px solid var(--dr-purple);
}

.site-content .prose h3 {
  font-size: clamp(1.18rem, 1.7vw, 1.45rem);
  margin: 1.7em 0 .7em;
}

.site-content .prose h4 {
  font-size: 1.08rem;
  margin: 1.35em 0 .55em;
}

.site-content .prose p,
.site-content .prose ul,
.site-content .prose ol,
.site-content .prose blockquote,
.site-content .prose table {
  margin-top: 0;
  margin-bottom: 1.22rem;
}

.site-content .prose strong,
.site-content .prose b { color: #1f2937; font-weight: 800; }
.site-content .prose em { color: #5b21b6; }

.site-content .prose a {
  color: var(--dr-purple);
  font-weight: 700;
  text-decoration-thickness: 2px;
  text-underline-offset: .2em;
}

.site-content .prose a:hover { color: var(--dr-purple-dark); }

.site-content .prose ul,
.site-content .prose ol {
  padding-left: 1.35rem;
}

.site-content .prose li { margin: .45rem 0; }
.site-content .prose li::marker { color: var(--dr-purple); font-weight: 800; }

.site-content .prose blockquote {
  padding: 1rem 1.2rem;
  border-left: 5px solid var(--dr-green);
  border-radius: 16px;
  background: #f0fdf4;
  color: #14532d;
}

.site-content .prose table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid var(--dr-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(76, 29, 149, .08);
}

.site-content .prose th,
.site-content .prose td {
  padding: .85rem 1rem;
  border-bottom: 1px solid #f1e7ff;
  vertical-align: top;
  text-align: left;
}

.site-content .prose th {
  background: var(--dr-purple-soft);
  color: #581c87;
  font-weight: 800;
}

.site-content .prose tr:last-child td { border-bottom: 0; }
.site-content .prose tr:nth-child(even) td { background: #fbf7ff; }

.site-content .prose img:not(.emoji) {
  max-width: 100%;
  height: auto;
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .12);
}

.site-content .prose :where(.clinical-card, .note-card, .key-point, .exam-tip, .definition-card, .summary-card, .mnemonic-card, .important-note, .callout, .content-card, .info-card) {
  margin: 1.45rem 0;
  padding: clamp(1rem, 2.5vw, 1.35rem);
  border-radius: 20px;
  background: linear-gradient(135deg, #f5f3ff 0%, #ffffff 100%);
  border: 1px solid rgba(124, 58, 237, .18);
  box-shadow: 0 18px 45px rgba(76, 29, 149, .09);
}

.site-content .prose :where(.clinical-card, .exam-tip, .important-note) {
  border-left: 6px solid var(--dr-green);
}

.site-content .prose :where(.definition-card, .key-point, .summary-card, .mnemonic-card) {
  border-left: 6px solid var(--dr-purple);
}

.site-content .prose hr {
  border: 0;
  height: 1px;
  margin: 2rem 0;
  background: linear-gradient(90deg, transparent, var(--dr-line), transparent);
}

/* Tiny Tailwind replacement for existing quiz/exam pages. Keep this small and only cover classes in use. */
.site-content .quiz-container,
.site-content .exam-container {
  max-width: 900px;
  margin: 32px auto;
  color: #1f2937;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.site-content :where(.quiz-container, .exam-container) .hidden { display: none !important; }
.site-content :where(.quiz-container, .exam-container) .flex { display: flex !important; }
.site-content :where(.quiz-container, .exam-container) .items-center { align-items: center !important; }
.site-content :where(.quiz-container, .exam-container) .justify-between { justify-content: space-between !important; }
.site-content :where(.quiz-container, .exam-container) .justify-center { justify-content: center !important; }
.site-content :where(.quiz-container, .exam-container) .justify-end { justify-content: flex-end !important; }
.site-content :where(.quiz-container, .exam-container) .gap-2 { gap: .5rem !important; }
.site-content :where(.quiz-container, .exam-container) .w-full { width: 100% !important; }
.site-content :where(.quiz-container, .exam-container) .w-5 { width: 1.25rem !important; }
.site-content :where(.quiz-container, .exam-container) .h-5 { height: 1.25rem !important; }
.site-content :where(.quiz-container, .exam-container) .w-24 { width: 6rem !important; }
.site-content :where(.quiz-container, .exam-container) .h-24 { height: 6rem !important; }
.site-content :where(.quiz-container, .exam-container) .mx-auto { margin-left: auto !important; margin-right: auto !important; }
.site-content :where(.quiz-container, .exam-container) .mt-4 { margin-top: 1rem !important; }
.site-content :where(.quiz-container, .exam-container) .mt-6 { margin-top: 1.5rem !important; }
.site-content :where(.quiz-container, .exam-container) .mb-2 { margin-bottom: .5rem !important; }
.site-content :where(.quiz-container, .exam-container) .mb-4 { margin-bottom: 1rem !important; }
.site-content :where(.quiz-container, .exam-container) .mb-6 { margin-bottom: 1.5rem !important; }
.site-content :where(.quiz-container, .exam-container) .my-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; }
.site-content :where(.quiz-container, .exam-container) .my-6 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
.site-content :where(.quiz-container, .exam-container) .p-4 { padding: 1rem !important; }
.site-content :where(.quiz-container, .exam-container) .p-6 { padding: 1.5rem !important; }
.site-content :where(.quiz-container, .exam-container) .p-8 { padding: 2rem !important; }
.site-content :where(.quiz-container, .exam-container) .px-4 { padding-left: 1rem !important; padding-right: 1rem !important; }
.site-content :where(.quiz-container, .exam-container) .px-6 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.site-content :where(.quiz-container, .exam-container) .px-8 { padding-left: 2rem !important; padding-right: 2rem !important; }
.site-content :where(.quiz-container, .exam-container) .py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.site-content :where(.quiz-container, .exam-container) .py-3 { padding-top: .75rem !important; padding-bottom: .75rem !important; }
.site-content :where(.quiz-container, .exam-container) .rounded-lg { border-radius: .5rem !important; }
.site-content :where(.quiz-container, .exam-container) .rounded-xl { border-radius: .75rem !important; }
.site-content :where(.quiz-container, .exam-container) .rounded-2xl { border-radius: 1rem !important; }
.site-content :where(.quiz-container, .exam-container) .shadow-md { box-shadow: 0 8px 18px rgba(15, 23, 42, .12) !important; }
.site-content :where(.quiz-container, .exam-container) .shadow-xl { box-shadow: 0 20px 45px rgba(15, 23, 42, .16) !important; }
.site-content :where(.quiz-container, .exam-container) .border { border: 1px solid #d1d5db !important; }
.site-content :where(.quiz-container, .exam-container) .border-2 { border-width: 2px !important; }
.site-content :where(.quiz-container, .exam-container) .border-gray-300 { border-color: #d1d5db !important; }
.site-content :where(.quiz-container, .exam-container) .border-indigo-200 { border-color: #c7d2fe !important; }
.site-content :where(.quiz-container, .exam-container) .bg-white { background: #ffffff !important; }
.site-content :where(.quiz-container, .exam-container) .bg-indigo-100 { background: #e0e7ff !important; }
.site-content :where(.quiz-container, .exam-container) .bg-indigo-600 { background: #4f46e5 !important; }
.site-content :where(.quiz-container, .exam-container) .bg-blue-600 { background: #2563eb !important; }
.site-content :where(.quiz-container, .exam-container) .bg-green-600 { background: #16a34a !important; }
.site-content :where(.quiz-container, .exam-container) .bg-gray-800 { background: #1f2937 !important; }
.site-content :where(.quiz-container, .exam-container) .text-center { text-align: center !important; }
.site-content :where(.quiz-container, .exam-container) .text-white { color: #fff !important; }
.site-content :where(.quiz-container, .exam-container) .text-gray-500 { color: #6b7280 !important; }
.site-content :where(.quiz-container, .exam-container) .text-gray-600 { color: #4b5563 !important; }
.site-content :where(.quiz-container, .exam-container) .text-gray-800 { color: #1f2937 !important; }
.site-content :where(.quiz-container, .exam-container) .text-indigo-500 { color: #6366f1 !important; }
.site-content :where(.quiz-container, .exam-container) .text-indigo-600 { color: #4f46e5 !important; }
.site-content :where(.quiz-container, .exam-container) .text-indigo-800 { color: #3730a3 !important; }
.site-content :where(.quiz-container, .exam-container) .text-lg { font-size: 1.125rem !important; line-height: 1.55 !important; }
.site-content :where(.quiz-container, .exam-container) .text-xl { font-size: 1.25rem !important; line-height: 1.45 !important; }
.site-content :where(.quiz-container, .exam-container) .text-3xl { font-size: 1.875rem !important; line-height: 1.2 !important; }
.site-content :where(.quiz-container, .exam-container) .text-5xl { font-size: 3rem !important; line-height: 1 !important; }
.site-content :where(.quiz-container, .exam-container) .font-medium { font-weight: 500 !important; }
.site-content :where(.quiz-container, .exam-container) .font-semibold { font-weight: 600 !important; }
.site-content :where(.quiz-container, .exam-container) .font-bold { font-weight: 700 !important; }
.site-content :where(.quiz-container, .exam-container) .font-extrabold { font-weight: 800 !important; }
.site-content :where(.quiz-container, .exam-container) .space-y-3 > * + * { margin-top: .75rem !important; }
.site-content :where(.quiz-container, .exam-container) .max-w-md { max-width: 28rem !important; }
.site-content :where(.quiz-container, .exam-container) .btn,
.site-content :where(.quiz-container, .exam-container) button.btn {
  border: 0;
  cursor: pointer;
  font-weight: 700;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.site-content :where(.quiz-container, .exam-container) .btn:hover,
.site-content :where(.quiz-container, .exam-container) button.btn:hover {
  transform: translateY(-1px);
}
.site-content :where(.quiz-container, .exam-container) .hover\:bg-indigo-700:hover { background: #4338ca !important; }
.site-content :where(.quiz-container, .exam-container) .hover\:bg-blue-700:hover { background: #1d4ed8 !important; }
.site-content :where(.quiz-container, .exam-container) .hover\:bg-green-700:hover { background: #15803d !important; }
.site-content :where(.quiz-container, .exam-container) .hover\:bg-gray-900:hover { background: #111827 !important; }
.site-content :where(.quiz-container, .exam-container) input:focus,
.site-content :where(.quiz-container, .exam-container) select:focus,
.site-content :where(.quiz-container, .exam-container) textarea:focus {
  outline: 2px solid #6366f1;
  outline-offset: 2px;
}

@media (min-width: 768px) {
  .site-content :where(.quiz-container, .exam-container) .md\:p-8 { padding: 2rem !important; }
  .site-content :where(.quiz-container, .exam-container) .md\:text-4xl { font-size: 2.25rem !important; line-height: 1.15 !important; }
  .site-content :where(.quiz-container, .exam-container) .md\:text-xl { font-size: 1.25rem !important; line-height: 1.45 !important; }
}

@media (max-width: 768px) {
  .site-content .full-width-container {
    margin: 16px auto 32px;
    padding: 18px;
    border-radius: 20px;
  }
  .site-content .prose h1 { max-width: none; }
  .site-content .prose table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}

/* Post canvas width under Astra. Keeps pages untouched while giving article tables/cards room. */
body.single-post.ast-narrow-container .site-content > .ast-container,
body.single-post.ast-separate-container .site-content > .ast-container {
  max-width: 1180px !important;
  padding-left: clamp(16px, 3vw, 32px) !important;
  padding-right: clamp(16px, 3vw, 32px) !important;
}

