/**
 * Blog / page content typography.
 *
 * The theme's global reset (`* { margin:0; padding:0; }`, `ul, ol { padding:0; margin:0; }`)
 * is meant for layout components (nav menus, footer lists, etc.), not for
 * rich text. The original static demo's own content-typography rules were
 * scoped to bespoke classes like `.section-details .title` that only exist
 * in the hardcoded HTML demo — real Gutenberg output never has those
 * classes, so none of it applied. Everything here is scoped to
 * `.entry-content` (already wrapping the_content() in single.php/page.php)
 * using plain tag selectors, which safely out-specifies the global reset
 * without needing !important anywhere.
 */

.entry-content {
	color: var(--secondary, #555555);
	font-size: 16px;
	line-height: 1.75;
}

/* ---- Paragraphs ---- */
.entry-content p {
	margin: 0 0 20px;
	line-height: 1.75;
}

.entry-content p:last-child {
	margin-bottom: 0;
}

/* ---- Headings ---- */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	color: var(--primary, #111111);
	margin: 40px 0 28px;
	line-height: 1.3;
}

.entry-content h1 { font-size: 36px; }
.entry-content h2 { font-size: 32px; }
.entry-content h3 { font-size: 24px; }
.entry-content h4 { font-size: 20px; }
.entry-content h5,
.entry-content h6 { font-size: 16px; }

.entry-content > h1:first-child,
.entry-content > h2:first-child,
.entry-content > h3:first-child {
	margin-top: 0;
}

/* ---- Lists (including the Table of Contents block) ---- */
.entry-content ul,
.entry-content ol,
.entry-content ul.wp-block-list,
.entry-content ol.wp-block-list {
	margin: 0 0 20px;
	padding-left: 22px !important;
	list-style-position: outside;
}

.entry-content ul,
.entry-content ul.wp-block-list {
	list-style: disc !important;
}

.entry-content ol,
.entry-content ol.wp-block-list {
	list-style: decimal !important;
}

/* The theme has a global `li { list-style: none; }` rule that targets
   the <li> element directly — a direct declaration on an element always
   wins over an inherited value from its parent, no matter how the
   parent's rule is specified. So we must also target li directly here,
   not just its parent ul/ol. */
.entry-content ul li {
	list-style: disc !important;
	display: list-item !important;
}

.entry-content ol li {
	list-style: decimal !important;
	display: list-item !important;
}

.entry-content ul li::marker,
.entry-content ol li::marker {
	color: currentColor;
}

.entry-content li {
	margin-bottom: 10px;
	line-height: 1.7;
	font-size: inherit !important;
}

.entry-content li:last-child {
	margin-bottom: 0;
}

.entry-content li > ul,
.entry-content li > ol {
	margin-top: 10px;
	margin-bottom: 0;
}

/* Neutralize an editor-applied font-size preset (e.g. "Small") that some
   list blocks may have picked up, so list text always matches paragraphs. */
.entry-content .has-small-font-size,
.entry-content .has-regular-font-size,
.entry-content .has-medium-font-size {
	font-size: inherit !important;
}

/* ---- Links ---- */
.entry-content a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.entry-content a:hover {
	opacity: 0.8;
}

/* ---- Emphasis ---- */
.entry-content strong,
.entry-content b {
	color: var(--primary, #111111);
	font-weight: 700;
}

/* ---- Images / figures ---- */
.entry-content img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}

.entry-content figure {
	margin: 30px 0;
}

.entry-content figcaption {
	font-size: 14px;
	color: var(--secondary, #555555);
	margin-top: 8px;
}

/* ---- Tables (Gutenberg wp-block-table) ---- */
/* Scroll horizontally instead of squishing columns into the viewport —
   the figure wrapper (added by Gutenberg around every table block) is
   what actually scrolls; the table itself keeps a sane minimum width. */
.entry-content .wp-block-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 0 0 30px;
}

.entry-content table {
	width: 100%;
	min-width: 600px;
	border-collapse: collapse;
	margin: 0;
}

.entry-content table td,
.entry-content table th {
	border: 1px solid var(--border, rgba(17, 17, 17, 0.1));
	padding: 12px 16px;
	text-align: left;
	vertical-align: top;
	white-space: normal;
}

.entry-content table th {
	font-weight: 700;
	color: var(--primary, #111111);
}

/* ---- Blockquotes ---- */
.entry-content blockquote {
	margin: 30px 0;
	padding: 20px 28px;
	border-left: 3px solid var(--action, #FF6A3A);
	font-style: italic;
	color: var(--primary, #111111);
}

/* ---- Rank Math FAQ block ---- */
.entry-content .wp-block-rank-math-faq-block {
	margin: 0 0 20px;
}

.entry-content .rank-math-faq-item {
	margin-bottom: 24px;
}

.entry-content .rank-math-faq-item:last-child {
	margin-bottom: 0;
}

.entry-content .rank-math-question {
	margin-bottom: 10px;
	font-size: 20px;
	color: var(--primary, #111111);
}

.entry-content .rank-math-answer {
	line-height: 1.75;
}

/* ---- Responsive tightening (values match the current live theme, per request) ---- */
@media only screen and (max-width: 1199px) {
	.entry-content h1,
	.entry-content h2,
	.entry-content h3,
	.entry-content h4,
	.entry-content h5,
	.entry-content h6 {
		margin-bottom: 23px;
	}

	.entry-content h2 { font-size: 28px; }
	.entry-content h3 { font-size: 22px; }
}

@media only screen and (max-width: 767px) {
	.entry-content { font-size: 15px; }

	.entry-content h2 { font-size: 24px; }
	.entry-content h3 { font-size: 20px; }

	.entry-content table td,
	.entry-content table th {
		padding: 8px 10px;
	}
}
