/* Article body typography. The Tailwind reset strips default styling from
   headings, lists, tables and figures; this restores a readable layout. */
.entry-content { font-size: 16px; line-height: 1.75; color: #374151; overflow-wrap: break-word; }
.entry-content > * + * { margin-top: 1rem; }

.entry-content h2,
.entry-content h3,
.entry-content h4 { font-weight: 600; color: #111827; line-height: 1.3; margin-top: 2rem; margin-bottom: .75rem; }
.entry-content h2 { font-size: 26px; padding-bottom: .4rem; border-bottom: 1px solid #e5e7eb; }
.entry-content h3 { font-size: 22px; }
.entry-content h4 { font-size: 18px; }
.entry-content h2 a,
.entry-content h3 a,
.entry-content h4 a { color: inherit; text-decoration: none; }

.entry-content p { margin: 0 0 1rem; }
.entry-content a { color: #5296d5; text-decoration: underline; text-underline-offset: 2px; }
.entry-content a:hover { color: #2f74b5; }
.entry-content strong { font-weight: 600; color: #111827; }

.entry-content ol,
.entry-content ul { margin: 0 0 1.25rem; padding-left: 1.75rem; }
.entry-content ol { list-style: decimal; }
.entry-content ul { list-style: disc; }
.entry-content li { margin: .35rem 0; padding-left: .25rem; }
.entry-content li > ul,
.entry-content li > ol { margin: .35rem 0 0; }

.entry-content figure { margin: 1.5rem 0; }
.entry-content img { max-width: 100%; height: auto; border-radius: 6px; }
.entry-content figure.wp-block-image img,
.entry-content p > img.aligncenter { border: 1px solid #e5e7eb; box-shadow: 0 1px 4px rgba(0, 0, 0, .08); }
.entry-content .aligncenter,
.entry-content figure.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.entry-content figcaption { margin-top: .5rem; font-size: 14px; color: #6b7280; text-align: center; }

/* Plain tables only: ~45 posts carry their own inline-styled tables/callouts, left untouched */
.entry-content table:not([style]) { display: block; max-width: 100%; overflow-x: auto; width: auto !important; border-collapse: collapse; margin: 1.5rem 0; font-size: 15px; line-height: 1.55; }
.entry-content table:not([style]) col { width: auto !important; }
.entry-content table:not([style]) th,
.entry-content table:not([style]) td { border: 1px solid #d1d5db; padding: .6rem .85rem; vertical-align: top; text-align: left; }
.entry-content table:not([style]) thead th,
.entry-content table:not([style]) thead td,
.entry-content table:not([style]) tr:first-child > th { background: #f3f4f6; font-weight: 600; color: #111827; }
.entry-content table:not([style]) tbody tr:nth-child(even) td { background: #fafafa; }
.entry-content table[style] { max-width: 100%; }

.entry-content blockquote { margin: 1.5rem 0; padding: .5rem 1rem; border-left: 4px solid #5296d5; background: #f5f9fd; color: #4b5563; }
.entry-content pre,
.entry-content code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 14px; }
.entry-content code { background: #f3f4f6; padding: .1rem .35rem; border-radius: 4px; }
.entry-content pre { background: #1f2937; color: #f9fafb; padding: 1rem; border-radius: 6px; overflow-x: auto; }
.entry-content pre code { background: none; padding: 0; }
.entry-content iframe,
.entry-content video { max-width: 100%; }
.entry-content .wp-block-embed__wrapper { position: relative; padding-top: 56.25%; }
.entry-content .wp-block-embed__wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

@media (max-width: 640px) {
	.entry-content h2 { font-size: 22px; }
	.entry-content h3 { font-size: 19px; }
}
