/* ---------------------------------------------------------------------
   Review article: applies the v2 design to plain HTML bodies too.

   v2 scoped everything to Gutenberg block classes (.wp-block-heading,
   .wp-block-list, .wp-block-table). Any review whose body is plain HTML,
   which is every tool written by the patch scripts, matched none of it: no
   bullets, no list indent, no table card, headings falling back to the theme
   at 22px. This repeats each rule for the bare element so both markup styles
   render identically, and fixes the spacing problems the block bodies had too.

   Loads after tool-article-v2.css.
   --------------------------------------------------------------------- */

/* ---- section rhythm ---- */
.nsrt-panel .nsrt-art-sec {
	padding: 22px 24px 20px;   /* was 6px at the bottom: text sat on the edge */
	margin: 0 0 18px;
}

/* ---- headings: a clear step above body text ---- */
.nsrt-panel .nsrt-art-sec > h2,
.nsrt-panel .nsrt-art-sec > h2.wp-block-heading {
	font-size: 19px !important;
	line-height: 1.28 !important;
	font-weight: 800 !important;
	letter-spacing: -.012em;
	color: #0A0A0A;
	margin: 0 0 15px !important;
	padding: 0 0 12px !important;
	border-bottom: 1px solid rgba(10, 10, 10, .07) !important;
}
.nsrt-panel .nsrt-art-sec > h2::before,
.nsrt-panel .nsrt-art-sec > h2.wp-block-heading::before {
	content: "";
	display: block;
	width: 34px;
	height: 3px;
	border-radius: 3px;
	background: var(--pink, #F92FBB);
	margin: 0 0 10px;
}

.nsrt-panel .nsrt-art-sec h3 {
	font-size: 16px !important;
	line-height: 1.35 !important;
	font-weight: 800 !important;
	color: #0A0A0A;
	margin: 22px 0 9px !important;
	letter-spacing: -.005em;
}
.nsrt-panel .nsrt-art-sec h3:first-child { margin-top: 0 !important; }

/* ---- body copy: 96 characters per line was far past comfortable ---- */
.nsrt-panel .nsrt-art-sec > p,
.nsrt-panel .nsrt-art-sec > ul > li,
.nsrt-panel .nsrt-art-sec > ol > li {
	/* 74ch resolved to 884px in this typeface, wider than the column, so it
	   did nothing. A pixel measure is predictable here. */
	max-width: 580px;   /* measured: 74 characters per line at 16.5px */
}
.nsrt-panel .nsrt-art-sec p {
	margin: 0 0 15px !important;
	line-height: 1.65 !important;
	color: #3F3F46;
}
.nsrt-panel .nsrt-art-sec p:last-child { margin-bottom: 0 !important; }
.nsrt-panel .nsrt-art-sec p strong { color: #0A0A0A; font-weight: 800; }

/* A paragraph that opens with a bold label reads as a mini heading. */
.nsrt-panel .nsrt-art-sec p > strong:first-child { letter-spacing: -.005em; }

/* ---- lists: bare <ul>/<ol> got no marker, no indent, no gap ---- */
.nsrt-panel .nsrt-art-sec ul:not(.nsrt-takeaways):not(.nsrt-checks),
.nsrt-panel .nsrt-art-sec ol {
	margin: 0 0 16px !important;
	padding-left: 22px !important;
}
.nsrt-panel .nsrt-art-sec ul:not(.nsrt-takeaways):not(.nsrt-checks) { list-style: disc outside !important; }
.nsrt-panel .nsrt-art-sec ol { list-style: decimal outside !important; }
.nsrt-panel .nsrt-art-sec ul:not(.nsrt-takeaways):not(.nsrt-checks) > li,
.nsrt-panel .nsrt-art-sec ol > li {
	display: list-item !important;
	margin: 0 0 9px !important;
	padding-left: 4px !important;
	line-height: 1.6;
	color: #3F3F46;
}
.nsrt-panel .nsrt-art-sec li:last-child { margin-bottom: 0 !important; }
.nsrt-panel .nsrt-art-sec li strong { color: #0A0A0A; font-weight: 800; }
.nsrt-panel .nsrt-art-sec li::marker { color: var(--pink, #F92FBB); }

/* ---- bare tables get the same card as block tables ---- */
.nsrt-panel .nsrt-art-sec > table:not(.aihub-spec-table) {
	display: block;
	width: 100%;
	overflow-x: auto;
	margin: 0 0 18px !important;
	border: 1px solid rgba(10, 10, 10, .09);
	border-radius: 12px;
	border-collapse: collapse;
	font-size: 14.5px;
}
.nsrt-panel .nsrt-art-sec > table:not(.aihub-spec-table) th,
.nsrt-panel .nsrt-art-sec > table:not(.aihub-spec-table) td {
	padding: 11px 13px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid rgba(10, 10, 10, .07);
}
.nsrt-panel .nsrt-art-sec > table:not(.aihub-spec-table) thead th {
	background: #faf7fb;
	font-weight: 800;
	font-size: 11.5px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #5d5d66;
	white-space: nowrap;
}
.nsrt-panel .nsrt-art-sec > table:not(.aihub-spec-table) tbody tr:last-child td { border-bottom: 0; }
.nsrt-panel .nsrt-art-sec > table:not(.aihub-spec-table) tbody td:first-child { font-weight: 700; color: #0A0A0A; }

/* the spec sheet sits flush in its section, its own card supplies the frame */
.nsrt-panel .nsrt-art-sec > .aihub-spec-table { margin-bottom: 0; }

/* ---- phone ---- */
@media (max-width: 700px) {
	.nsrt-panel .nsrt-art-sec { padding: 17px 16px 16px; margin: 0 0 14px; }
	.nsrt-panel .nsrt-art-sec > h2,
	.nsrt-panel .nsrt-art-sec > h2.wp-block-heading { font-size: 17.5px !important; margin-bottom: 13px !important; }
	.nsrt-panel .nsrt-art-sec h3 { font-size: 15.5px !important; margin-top: 18px !important; }
	.nsrt-panel .nsrt-art-sec p { font-size: 15.5px; line-height: 1.62 !important; }
	.nsrt-panel .nsrt-art-sec > p,
	.nsrt-panel .nsrt-art-sec > ul > li,
	.nsrt-panel .nsrt-art-sec > ol > li { max-width: none; }
	.nsrt-panel .nsrt-art-sec ul:not(.nsrt-takeaways):not(.nsrt-checks),
	.nsrt-panel .nsrt-art-sec ol { padding-left: 19px !important; }
}
