/**
 * Article body typography fix for .article .detail_text_container
 * (lists, tables, headings, spacing).
 *
 * Connected via local/fixes/article_content.php — see local/ADMIN_CHANGES.md
 */

/* Base text inside detail (override inherited 1.8em quirks) */
.article .detail_text_container {
	font-size: 18px;
	line-height: 1.55;
	color: #000;
}

.article .detail_text_container > *:first-child {
	margin-top: 0 !important;
}

.article .detail_text_container > *:last-child {
	margin-bottom: 0 !important;
}

/* Paragraphs */
.article .detail_text_container p {
	margin: 0 0 1em;
	padding: 0;
	font-size: 18px;
	line-height: 1.55;
	font-weight: 400;
	text-align: left;
}

/* Subheadings: one style (light + center), differ only by size; never smaller than body */
/* h2 base from design: PF DinDisplay Pro Light, 36/36, weight 400 */
.article .detail_text_container h2,
.article .detail_text_container h3,
.article .detail_text_container h4,
.article .detail_text_container h5,
.article .detail_text_container h6 {
	display: block;
	margin: 1.45em 0 0.75em;
	padding: 0;
	color: #000;
	font-family: 'pf_dindisplay_prolight', Arial, Helvetica, sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: normal;
	text-align: center;
	text-transform: none;
}

.article .detail_text_container h2 { font-size: 36px; line-height: 36px; }
.article .detail_text_container h3 { font-size: 28px; line-height: 28px; }
.article .detail_text_container h4 { font-size: 24px; line-height: 24px; }
.article .detail_text_container h5 { font-size: 22px; line-height: 22px; }
.article .detail_text_container h6 { font-size: 18px; line-height: 22px; }

/* Lists — restore markers (global reset sets ul li { list-style: none }) */
.article .detail_text_container ul,
.article .detail_text_container ol {
	margin: 0.85em 0 1.25em;
	padding: 0 0 0 1.6em;
}

.article .detail_text_container ul {
	list-style: disc outside;
}

.article .detail_text_container ol {
	list-style: decimal outside;
}

.article .detail_text_container ul ul {
	list-style-type: circle;
	margin: 0.35em 0;
}

.article .detail_text_container ol ol {
	list-style-type: lower-alpha;
	margin: 0.35em 0;
}

.article .detail_text_container li {
	margin: 0 0 0.45em;
	padding: 0;
	font-size: 18px;
	line-height: 1.55;
	list-style: inherit;
}

.article .detail_text_container li:last-child {
	margin-bottom: 0;
}

/* Tables — scroll on narrow screens instead of clipping under #wrapper overflow */
.article .detail_text_container table {
	width: 100%;
	max-width: 100%;
	margin: 1.25em 0;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 16px;
	line-height: 1.4;
	display: block;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.article .detail_text_container thead,
.article .detail_text_container tbody,
.article .detail_text_container tr {
	border: 0;
}

.article .detail_text_container th,
.article .detail_text_container td {
	border: 1px solid #c8c8c8;
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
}

.article .detail_text_container th {
	font-family: 'pf_dindisplay_probold', Arial, Helvetica, sans-serif;
	font-weight: 700;
	background: #f4f4f4;
}

/* Images inside article body */
.article .detail_text_container img {
	display: block;
	max-width: 100%;
	width: auto !important;
	height: auto;
	margin: 1.25em auto 0.35em;
}

/* Do not stretch tiny icons under global .article img{width:100%!important} */
.article img.icon-view,
.article img.icon-comment,
.article .news-views img,
.article .news-comment img {
	width: auto !important;
	max-width: none;
	height: auto;
	display: inline;
	margin: 0;
}

.article .detail_text_container .article-img-caption {
	display: block;
	margin: 0 0 1.25em;
	padding: 0;
	color: #888;
	font-size: 14px;
	line-height: 1.4;
	font-weight: 400;
	font-style: normal;
	text-align: center;
}


/* Blockquotes / hr inside body */
.article .detail_text_container blockquote {
	margin: 1.25em 0;
}

.article .detail_text_container hr {
	margin: 1.5em 0;
	border: 0;
	border-top: 1px solid #e2e2e2;
}

/* Heading right after a list/table: keep clear gap (margin-top already on headings) */
.article .detail_text_container ul + h2,
.article .detail_text_container ul + h3,
.article .detail_text_container ul + h4,
.article .detail_text_container ul + h5,
.article .detail_text_container ul + h6,
.article .detail_text_container ol + h2,
.article .detail_text_container ol + h3,
.article .detail_text_container ol + h4,
.article .detail_text_container ol + h5,
.article .detail_text_container ol + h6,
.article .detail_text_container table + h2,
.article .detail_text_container table + h3,
.article .detail_text_container table + h4,
.article .detail_text_container table + h5,
.article .detail_text_container table + h6,
.article .detail_text_container p + h2,
.article .detail_text_container p + h3,
.article .detail_text_container p + h4,
.article .detail_text_container p + h5,
.article .detail_text_container p + h6 {
	margin-top: 1.6em;
}

@media screen and (max-width: 640px) {
	.article .detail_text_container {
		font-size: 16px;
		line-height: 1.5;
	}

	.article .detail_text_container p,
	.article .detail_text_container li {
		font-size: 16px;
		line-height: 1.5;
	}

	.article .detail_text_container h2 { font-size: 26px; line-height: 1.2; }
	.article .detail_text_container h3 { font-size: 22px; line-height: 1.25; }
	.article .detail_text_container h4 { font-size: 20px; line-height: 1.3; }
	.article .detail_text_container h5 { font-size: 18px; line-height: 1.35; }
	.article .detail_text_container h6 { font-size: 16px; line-height: 1.4; }

	.article .detail_text_container th,
	.article .detail_text_container td {
		padding: 8px 10px;
		font-size: 14px;
	}
}
