/**
 * Single post: article typography, the core blocks a post uses, and the
 * table of contents beside it. Loaded only on single posts (and in the post
 * editor). Spacing and type follow the blog article design; colours are the
 * site's purple and slate tokens.
 *
 * Writers never need to type a class: every rule targets the classes core
 * blocks add themselves. Designs core has no block for (tip and note boxes,
 * checklist, comparison table, panel, card, call to action) are block styles
 * registered in includes/post-block-styles.php, picked from the block's
 * Styles panel.
 *
 * Ported from Logo Carousel Site Core; its rule order is the intended cascade.
 */
/* stylelint-disable no-descending-specificity */

/* ── Text ─────────────────────────────────────────────────────────── */
body .wp-block-post-content {
	--sr-art-gap: 18px;
	font-family: var(--sr-font);
	color: var(--sr-body);
}

/* Doubled class: outranks the theme's and Kadence's font rules. */
body .wp-block-post-content.wp-block-post-content :is(p, li, figcaption, cite, summary, td, th, dt, dd, a, mark, small, strong, code) {
	font-family: var(--sr-font);
}

body .wp-block-post-content > * {
	margin-block-start: var(--sr-art-gap);
	margin-block-end: 0;
}

body .wp-block-post-content > :first-child {
	margin-block-start: 0;
}

body .wp-block-post-content p {
	font-size: 18px;
	line-height: 1.75;
	letter-spacing: 0;
	color: var(--sr-body);
	text-wrap: pretty;
}

/* Lead: the opening paragraph of every post. */
body .wp-block-post-content > p:first-child {
	font-size: 20px;
	line-height: 1.7;
	font-weight: 500;
	color: var(--sr-title);
}

body .wp-block-post-content small {
	font-size: 14px;
	line-height: 1.6;
	color: var(--sr-caption);
}

body .wp-block-post-content a:not(.wp-element-button):not(.wp-block-file__button) {
	color: var(--sr-primary-dark);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 150ms;
}

body .wp-block-post-content a:not(.wp-element-button):not(.wp-block-file__button):hover {
	color: var(--sr-title);
}

/* Highlight (core text colour format): a soft purple marker by default. */
body .wp-block-post-content mark {
	padding: 0 3px;
	border-radius: 2px;
	background-color: var(--sr-primary-100);
	color: inherit;
}

body .wp-block-post-content strong {
	font-weight: 600;
	color: var(--sr-title);
}

body .wp-block-post-content.wp-block-post-content :is(code, kbd, pre) {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

body .wp-block-post-content :not(pre) > :is(code, kbd) {
	padding: 2px 6px;
	border-radius: 4px;
	background: var(--sr-bg-soft);
	font-size: 0.85em;
	color: var(--sr-title);
}

/* ── Headings ─────────────────────────────────────────────────────── */
body .wp-block-post-content :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--sr-font);
	font-weight: 600;
	color: var(--sr-title);
	text-wrap: pretty;
	scroll-margin-top: 120px;
}

body .wp-block-post-content h1 {
	font-size: clamp(30px, 3.4vw, 40px);
	line-height: 1.14;
	letter-spacing: -0.032em;
}

body .wp-block-post-content h2 {
	font-size: clamp(26px, 2.8vw, 32px);
	line-height: 1.2;
	letter-spacing: -0.028em;
}

body .wp-block-post-content h3 {
	font-size: clamp(20px, 2vw, 23px);
	line-height: 1.3;
	letter-spacing: -0.02em;
}

body .wp-block-post-content h4 {
	font-size: 20px;
	line-height: 1.35;
	letter-spacing: -0.015em;
}

body .wp-block-post-content h5 {
	font-size: 17px;
	line-height: 1.4;
	letter-spacing: -0.01em;
}

body .wp-block-post-content h6 {
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sr-caption);
}

body .wp-block-post-content > :is(h1, h2) {
	margin-block-start: 56px;
}

body .wp-block-post-content > h3 {
	margin-block-start: 34px;
}

body .wp-block-post-content > h4 {
	margin-block-start: 28px;
}

body .wp-block-post-content > h5 {
	margin-block-start: 24px;
}

body .wp-block-post-content > h6 {
	margin-block-start: 22px;
}

body .wp-block-post-content > :is(h3, h4, h5, h6) + p {
	margin-block-start: 12px;
}

/* ── Lists ────────────────────────────────────────────────────────── */
body .wp-block-post-content :is(ul, ol).wp-block-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-block-end: 0;
	padding-left: 22px;
}

body .wp-block-post-content ol.wp-block-list {
	padding-left: 24px;
}

body .wp-block-post-content .wp-block-list li {
	margin: 0;
	padding-left: 2px;
	font-size: 18px;
	line-height: 1.7;
	color: var(--sr-body);
}

body .wp-block-post-content .wp-block-list li::marker {
	color: var(--sr-primary);
}

body .wp-block-post-content ol.wp-block-list > li::marker {
	font-weight: 600;
}

/* Nested list: smaller, hollow bullets, tighter. */
body .wp-block-post-content .wp-block-list .wp-block-list {
	gap: 6px;
	margin-top: 8px;
	list-style-type: circle;
}

body .wp-block-post-content .wp-block-list .wp-block-list li {
	font-size: 16px;
	line-height: 1.65;
}

/* Third level: small squares. Numbered lists nest as a, b, c, then i, ii. */
body .wp-block-post-content .wp-block-list .wp-block-list .wp-block-list {
	list-style-type: square;
}

body .wp-block-post-content ol.wp-block-list ol.wp-block-list {
	list-style-type: lower-alpha;
}

body .wp-block-post-content ol.wp-block-list ol.wp-block-list ol.wp-block-list {
	list-style-type: lower-roman;
}

body .wp-block-post-content .wp-block-list .wp-block-list > li::marker {
	font-weight: 400;
}

/* List styles "Checklist" (ticked boxes) and "To-do" (empty boxes). */
body .wp-block-post-content ul.wp-block-list:is(.is-style-sr-checklist, .is-style-sr-todo) {
	gap: 12px;
	padding: 20px 22px;
	border-radius: 10px;
	box-shadow: inset 0 0 0 1px var(--sr-border);
	list-style: none;
}

body .wp-block-post-content :is(.is-style-sr-checklist, .is-style-sr-todo) li {
	position: relative;
	padding-left: 32px;
	font-size: 17px;
	line-height: 1.55;
}

body .wp-block-post-content :is(.is-style-sr-checklist, .is-style-sr-todo) li::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	width: 20px;
	height: 20px;
	border-radius: 5px;
	background: #fff;
	box-shadow: inset 0 0 0 1.5px var(--sr-border-strong);
}

body .wp-block-post-content .is-style-sr-checklist li::before {
	background: var(--sr-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.4l3 3 6.6-6.8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;
	box-shadow: none;
}

/* A list nested inside a checklist stays a plain list. */
body .wp-block-post-content :is(.is-style-sr-checklist, .is-style-sr-todo) .wp-block-list {
	padding: 0 0 0 22px;
	box-shadow: none;
	list-style: circle;
}

body .wp-block-post-content :is(.is-style-sr-checklist, .is-style-sr-todo) .wp-block-list li {
	padding-left: 2px;
}

body .wp-block-post-content :is(.is-style-sr-checklist, .is-style-sr-todo) .wp-block-list li::before {
	content: none;
}

/* ── Captions ─────────────────────────────────────────────────────── */
body .wp-block-post-content :is(figcaption, .wp-element-caption) {
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.6;
	font-style: italic;
	text-align: left;
	color: var(--sr-caption);
}

/* ── Image, gallery, media & text, cover ──────────────────────────── */
body .wp-block-post-content > :is(.wp-block-image, .wp-block-gallery, .wp-block-media-text, .wp-block-cover, .wp-block-video, .wp-block-embed, .wp-block-table, .wp-block-audio) {
	margin-block-start: 32px;
}

body .wp-block-post-content .wp-block-image img {
	display: block;
	border-radius: 10px;
	box-shadow: 0 0 0 1px var(--sr-border);
}

/* Images the writer rounded themselves (Styles → Rounded) keep that shape. */
body .wp-block-post-content .wp-block-image.is-style-rounded img {
	border-radius: 9999px;
}

body .wp-block-post-content .wp-block-gallery.has-nested-images {
	--wp--style--unstable-gallery-gap: 8px;
	gap: 8px;
}

body .wp-block-post-content .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image {
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 6px;
}

body .wp-block-post-content .wp-block-gallery.has-nested-images figure.wp-block-image img {
	border-radius: 6px;
	box-shadow: none;
}

body .wp-block-post-content .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image img {
	width: 100%;
	height: 100%;
	border-radius: 0;
	object-fit: cover;
}

body .wp-block-post-content .wp-block-gallery > .blocks-gallery-caption {
	flex-basis: 100%;
	margin-top: 4px;
}

body .wp-block-post-content .wp-block-media-text {
	gap: 0;
	overflow: hidden;
	border-radius: 10px;
	background: var(--sr-bg-alt);
	box-shadow: inset 0 0 0 1px var(--sr-border);
}

body .wp-block-post-content .wp-block-media-text__media img {
	display: block;
	border-radius: 0;
	box-shadow: none;
}

body .wp-block-post-content .wp-block-media-text__content {
	padding: 24px 28px;
}

body .wp-block-post-content .wp-block-media-text__content > * {
	margin: 0;
}

body .wp-block-post-content .wp-block-media-text__content > * + * {
	margin-top: 10px;
}

body .wp-block-post-content .wp-block-media-text__content p {
	font-size: 16px;
	line-height: 1.65;
}

body .wp-block-post-content .wp-block-cover {
	min-height: 320px;
	padding: 40px;
	overflow: hidden;
	border-radius: 10px;
}

body .wp-block-post-content .wp-block-cover :is(h2, h3, h4, h5, h6, p) {
	color: #fff;
}

body .wp-block-post-content .wp-block-cover p {
	color: rgba(255, 255, 255, 0.85);
}

body .wp-block-post-content .wp-block-cover__inner-container > * {
	margin: 0;
}

body .wp-block-post-content .wp-block-cover__inner-container > * + * {
	margin-top: 10px;
}

/* ── Quote and pull quote ─────────────────────────────────────────── */
body .wp-block-post-content .wp-block-quote {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-block-start: 36px;
	margin-inline: 0;
	padding: 4px 0 4px 24px;
	border: 0;
	background: none;
	box-shadow: inset 2px 0 0 0 var(--sr-primary);
}

body .wp-block-post-content .wp-block-quote > * {
	margin: 0;
}

body .wp-block-post-content .wp-block-quote p {
	font-size: 21px;
	line-height: 1.55;
	letter-spacing: -0.015em;
	font-weight: 500;
	font-style: normal;
	color: var(--sr-title);
}

body .wp-block-post-content .wp-block-quote cite {
	font-size: 14px;
	font-style: normal;
	color: var(--sr-caption);
}

body .wp-block-post-content .wp-block-pullquote {
	margin-block-start: 40px;
	padding: 36px 8px;
	border: 0;
	box-shadow: inset 0 1px 0 0 var(--sr-border), inset 0 -1px 0 0 var(--sr-border);
	text-align: center;
}

body .wp-block-post-content .wp-block-pullquote blockquote {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	margin: 0;
}

body .wp-block-post-content .wp-block-pullquote p {
	max-width: 30ch;
	margin: 0;
	font-size: clamp(22px, 2.6vw, 28px);
	line-height: 1.35;
	letter-spacing: -0.022em;
	font-weight: 600;
	color: var(--sr-title);
	text-wrap: balance;
}

body .wp-block-post-content .wp-block-pullquote cite {
	font-size: 13px;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sr-caption);
}

/* ── Tables ───────────────────────────────────────────────────────── */
body .wp-block-post-content .wp-block-table {
	overflow-x: auto;
}

body .wp-block-post-content .wp-block-table table {
	width: 100%;
	min-width: 520px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border: 1px solid var(--sr-border);
	border-radius: 10px;
}

body .wp-block-post-content .wp-block-table :is(thead, tfoot) {
	border: 0;
}

body .wp-block-post-content .wp-block-table :is(th, td) {
	padding: 14px 16px;
	border: 0;
	box-shadow: inset 0 -1px 0 0 var(--sr-border);
	vertical-align: top;
	text-align: left;
	font-size: 15px;
	line-height: 1.55;
	color: var(--sr-body);
}

body .wp-block-post-content .wp-block-table th {
	padding-block: 12px;
	background: var(--sr-bg-alt);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--sr-title);
}

/* First column names the row. */
body .wp-block-post-content .wp-block-table tbody td:first-child {
	font-weight: 600;
	color: var(--sr-title);
}

body .wp-block-post-content .wp-block-table tbody tr:last-child td {
	box-shadow: none;
}

/* Core "Stripes" style: tinted every other row, no row rules. */
body .wp-block-post-content .wp-block-table.is-style-stripes {
	border: 0;
}

body .wp-block-post-content .wp-block-table.is-style-stripes :is(th, td) {
	box-shadow: none;
}

body .wp-block-post-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background: var(--sr-bg-alt);
}

/* Table style "Comparison": options centred, the last column tinted. */
body .wp-block-post-content .is-style-sr-comparison :is(th, td):not(:first-child) {
	text-align: center;
	vertical-align: middle;
}

body .wp-block-post-content .is-style-sr-comparison td:not(:first-child) {
	font-size: 18px;
	font-weight: 700;
}

body .wp-block-post-content .is-style-sr-comparison th:last-child {
	background: var(--sr-primary-50);
	color: var(--sr-primary-dark);
}

body .wp-block-post-content .is-style-sr-comparison td:last-child {
	background: #f6fbf8;
}

/* ── Code, preformatted and verse ─────────────────────────────────── */
body .wp-block-post-content :is(.wp-block-code, .wp-block-preformatted, .wp-block-verse) {
	margin-block-start: 28px;
	padding: 18px 20px;
	overflow-x: auto;
	border: 0;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.7;
}

body .wp-block-post-content :is(.wp-block-code, .wp-block-preformatted) {
	white-space: pre;
}

body .wp-block-post-content .wp-block-code {
	background: #101b16;
	color: #d4ebde;
}

body .wp-block-post-content .wp-block-code code {
	padding: 0;
	background: none;
	font-size: inherit;
	color: inherit;
}

body .wp-block-post-content :is(.wp-block-preformatted, .wp-block-verse) {
	margin-block-start: 18px;
	background: var(--sr-bg-alt);
	box-shadow: inset 0 0 0 1px var(--sr-border);
	color: var(--sr-body);
}

body .wp-block-post-content .wp-block-verse {
	font-family: var(--sr-font);
	font-size: 17px;
	font-style: italic;
	white-space: pre-wrap;
}

/* ── Boxes: Group styles "Tip", "Note", "Panel" and "Card" ─────────── */

/* Inside a box: an H6 is the small label, any other heading is the title,
   paragraphs are body text. */
body .wp-block-post-content .wp-block-group:is(.is-style-sr-tip, .is-style-sr-note, .is-style-sr-panel, .is-style-sr-card) {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-block-start: 32px;
	padding: 20px 22px;
	border-radius: 10px;
}

body .wp-block-post-content .wp-block-group:is(.is-style-sr-tip, .is-style-sr-note, .is-style-sr-panel, .is-style-sr-card) > * {
	margin: 0;
}

body .wp-block-post-content .wp-block-group:is(.is-style-sr-tip, .is-style-sr-note, .is-style-sr-panel, .is-style-sr-card) h6 {
	font-size: 11px;
	letter-spacing: 0.08em;
}

body .wp-block-post-content .wp-block-group:is(.is-style-sr-tip, .is-style-sr-note, .is-style-sr-card) :is(h2, h3, h4, h5) {
	font-size: 17px;
	line-height: 1.45;
	letter-spacing: 0;
}

body .wp-block-post-content .wp-block-group:is(.is-style-sr-tip, .is-style-sr-note, .is-style-sr-card) p {
	font-size: 16px;
	line-height: 1.65;
}

body .wp-block-post-content .wp-block-group:is(.is-style-sr-tip, .is-style-sr-note, .is-style-sr-panel, .is-style-sr-card) .wp-block-list li {
	font-size: 16px;
	line-height: 1.65;
}

body .wp-block-post-content .wp-block-group.is-style-sr-tip {
	background: var(--sr-primary-50);
	box-shadow: inset 0 0 0 1px var(--sr-primary-border);
}

body .wp-block-post-content .wp-block-group.is-style-sr-tip h6 {
	color: var(--sr-primary-dark);
}

body .wp-block-post-content .wp-block-group.is-style-sr-note {
	background: var(--sr-bg-alt);
	box-shadow: inset 0 0 0 1px var(--sr-border);
}

body .wp-block-post-content .wp-block-group.is-style-sr-note h6 {
	color: var(--sr-title);
}

/* Panel: a soft box for a heading plus columns, images or a comparison. */
body .wp-block-post-content .wp-block-group.is-style-sr-panel {
	gap: 6px;
	margin-block-start: 48px;
	padding: 28px;
	background: var(--sr-bg-alt);
	box-shadow: inset 0 0 0 1px var(--sr-border);
}

body .wp-block-post-content .wp-block-group.is-style-sr-panel > h6 {
	color: var(--sr-primary-dark);
}

body .wp-block-post-content .wp-block-group.is-style-sr-panel > :is(h2, h3, h4, h5) {
	font-size: 19px;
	line-height: 1.35;
	letter-spacing: -0.018em;
}

body .wp-block-post-content .wp-block-group.is-style-sr-panel > .wp-block-columns {
	gap: 18px;
	margin-top: 14px;
}

body .wp-block-post-content .wp-block-group.is-style-sr-panel .wp-block-column > * {
	margin: 0;
}

body .wp-block-post-content .wp-block-group.is-style-sr-panel .wp-block-column > h6 {
	margin-bottom: 10px;
	font-size: 12px;
}

/* In a panel of columns, the last column is the "after" / recommended one. */
body .wp-block-post-content .wp-block-group.is-style-sr-panel .wp-block-column:last-child:not(:first-child) > h6 {
	color: var(--sr-primary-dark);
}

body .wp-block-post-content .wp-block-group.is-style-sr-panel .wp-block-column:last-child:not(:first-child) .wp-block-image img {
	box-shadow: 0 0 0 1px var(--sr-primary-border);
}

body .wp-block-post-content .wp-block-group.is-style-sr-panel .wp-block-columns .wp-block-image img {
	aspect-ratio: 4 / 3;
	background: #fff;
	object-fit: cover;
}

body .wp-block-post-content .wp-block-group.is-style-sr-panel :is(figcaption, p) {
	font-size: 14px;
	line-height: 1.6;
}

/* Card: a plain white box, e.g. a quoted social post or a short aside. */
body .wp-block-post-content .wp-block-group.is-style-sr-card {
	gap: 12px;
	max-width: 520px;

	/* Line up with the paragraphs instead of being centred in the column. */
	margin-left: max(0px, (100% - var(--wp--style--global--content-size, 100%)) / 2) !important;
	padding: 18px 20px;
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--sr-border);
}

body .wp-block-post-content .wp-block-group.is-style-sr-card p {
	font-size: 15px;
	line-height: 1.6;
}

/* ── Two-column content ───────────────────────────────────────────── */
body .wp-block-post-content > .wp-block-columns {
	gap: 32px;
	margin-block-start: 24px;
}

body .wp-block-post-content > .wp-block-columns .wp-block-column > * {
	margin: 0;
}

body .wp-block-post-content > .wp-block-columns .wp-block-column > * + * {
	margin-top: 10px;
}

body .wp-block-post-content > .wp-block-columns p {
	font-size: 17px;
	line-height: 1.7;
}

/* ── Definition list (Custom HTML block with <dl>) ────────────────── */
body .wp-block-post-content dl {
	display: flex;
	flex-direction: column;
	margin: 18px 0 0;
	padding: 0;
	border-radius: 10px;
	box-shadow: inset 0 0 0 1px var(--sr-border);
}

/* Pairs may be wrapped in <div> or written straight into the <dl>. */
body .wp-block-post-content dl > div,
body .wp-block-post-content dl > dt {
	padding: 16px 20px 0;
}

body .wp-block-post-content dl > div {
	padding-bottom: 16px;
	box-shadow: inset 0 -1px 0 0 var(--sr-border);
}

body .wp-block-post-content dl > dd {
	padding: 0 20px 16px;
	box-shadow: inset 0 -1px 0 0 var(--sr-border);
}

body .wp-block-post-content dl > :last-child {
	box-shadow: none;
}

body .wp-block-post-content dt {
	font-size: 16px;
	font-weight: 600;
	color: var(--sr-title);
}

body .wp-block-post-content dd {
	margin: 4px 0 0;
	font-size: 16px;
	line-height: 1.65;
	color: var(--sr-body);
}

/* ── Video, audio, embed, file ────────────────────────────────────── */
body .wp-block-post-content .wp-block-video video {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 10px;
	background: var(--sr-heading);
	object-fit: cover;
}

body .wp-block-post-content .wp-block-embed__wrapper {
	overflow: hidden;
	border-radius: 10px;
}

/* Audio sits in a bordered card; its caption reads as the title under it. */
body .wp-block-post-content .wp-block-audio {
	padding: 16px 20px;
	border-radius: 10px;
	box-shadow: inset 0 0 0 1px var(--sr-border);
}

body .wp-block-post-content .wp-block-audio audio {
	display: block;
	width: 100%;
	min-width: 0;
}

body .wp-block-post-content .wp-block-audio figcaption {
	margin-top: 10px;
}

body .wp-block-post-content .wp-block-file {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px;
	border-radius: 10px;
	box-shadow: inset 0 0 0 1px var(--sr-border);
	font-size: 16px;
}

body .wp-block-post-content .wp-block-file .wp-block-file__button {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 10px 18px;
	border-radius: 6px;
	background: var(--sr-primary);
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	transition: background 150ms;
}

body .wp-block-post-content .wp-block-file .wp-block-file__button:hover {
	background: var(--sr-primary-dark);
}

/* ── FAQ (Details blocks) ─────────────────────────────────────────── */
body .wp-block-post-content > .wp-block-details {
	margin-block-start: 0;
	padding: 18px 0;
	border: 0;
	box-shadow: inset 0 -1px 0 0 var(--sr-border);
}

body .wp-block-post-content > :not(.wp-block-details) + .wp-block-details {
	margin-block-start: 18px;
	box-shadow: inset 0 1px 0 0 var(--sr-border), inset 0 -1px 0 0 var(--sr-border);
}

body .wp-block-post-content .wp-block-details summary {
	position: relative;
	padding-right: 32px;
	list-style: none;
	cursor: pointer;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--sr-title);
}

body .wp-block-post-content .wp-block-details summary::-webkit-details-marker {
	display: none;
}

body .wp-block-post-content .wp-block-details summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 4px;
	width: 9px;
	height: 9px;
	border-right: 2px solid var(--sr-caption);
	border-bottom: 2px solid var(--sr-caption);
	transform: translateY(-70%) rotate(45deg);
	transition: transform 200ms var(--sr-ease);
}

body .wp-block-post-content .wp-block-details[open] summary::after {
	transform: translateY(-20%) rotate(-135deg);
}

body .wp-block-post-content .wp-block-details summary:hover {
	color: var(--sr-primary-dark);
}

body .wp-block-post-content .wp-block-details > :not(summary) {
	margin: 10px 0 0;
}

body .wp-block-post-content .wp-block-details p {
	font-size: 16px;
	line-height: 1.65;
}

/* ── Separator ────────────────────────────────────────────────────── */
body .wp-block-post-content .wp-block-separator {
	margin-block: 48px 0;
	border: 0;
	border-top: 1px solid var(--sr-border);
	opacity: 1;
}

/* ── Buttons (any Buttons block in a post) ────────────────────────── */
body .wp-block-post-content .wp-block-buttons {
	gap: 10px;
}

body .wp-block-post-content .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border: 0;
	border-radius: 6px;
	background: var(--sr-primary);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	color: #fff;
	text-decoration: none;
	transition: background 150ms, box-shadow 150ms;
}

body .wp-block-post-content .wp-block-button__link:hover {
	background: var(--sr-primary-dark);
	color: #fff;
}

body .wp-block-post-content .wp-block-button.is-style-outline .wp-block-button__link {
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--sr-border);
	color: var(--sr-title);
}

body .wp-block-post-content .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--sr-title);
	color: var(--sr-title);
}

/* ── Call to action: Group style "Call to action" ─────────────────── */
body .wp-block-post-content .wp-block-group.is-style-sr-cta {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-block-start: 24px;
	padding: 28px;
	border-radius: 10px;
	background: var(--sr-primary-50);
	box-shadow: inset 0 0 0 1px var(--sr-primary-border);
}

body .wp-block-post-content .wp-block-group.is-style-sr-cta > * {
	margin: 0;
}

body .wp-block-post-content .wp-block-group.is-style-sr-cta > :is(h2, h3, h4, h5) {
	font-size: 22px;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

body .wp-block-post-content .wp-block-group.is-style-sr-cta > p {
	font-size: 15px;
	line-height: 1.6;
}

body .wp-block-post-content .wp-block-group.is-style-sr-cta > .wp-block-buttons {
	margin-top: 14px;
}

/* ── Phones ───────────────────────────────────────────────────────── */
@media (max-width: 600px) {

	body .wp-block-post-content p,
	body .wp-block-post-content .wp-block-list li {
		font-size: 17px;
	}

	body .wp-block-post-content > p:first-child {
		font-size: 18px;
	}

	body .wp-block-post-content .wp-block-group.is-style-sr-panel,
	body .wp-block-post-content .wp-block-group.is-style-sr-cta {
		padding: 22px 20px;
	}

	body .wp-block-post-content .wp-block-buttons,
	body .wp-block-post-content .wp-block-button {
		width: 100%;
	}

	body .wp-block-post-content .wp-block-button__link {
		width: 100%;
	}

	body .wp-block-post-content .wp-block-cover {
		padding: 28px 22px;
	}
}

/* ── Table of contents (Kadence block, class sr-toc) ──────────────── */

/* Each entry is a padded row; the section in view gets a tinted row with a
   purple rule on the left. Colours, sizes and spacing are block settings. */
body .sr-toc .kb-table-of-content-list {
	gap: 2px;
}

body .sr-toc .kb-table-of-content-list li {
	margin: 0;
	padding: 0;
	border-radius: 6px;
}

body .sr-toc .kb-table-of-contents__entry {
	display: block;
	padding: 8px 12px;
	border-radius: 6px;
	text-decoration: none;
	transition: color 150ms, background 150ms, box-shadow 150ms;
}

body .sr-toc .kb-table-of-contents__entry:hover {
	background: var(--sr-bg-alt);
}

body .sr-toc .kb-table-of-content-list li.active {
	background: none;
}

body .sr-toc .kb-table-of-content-list li.active > .kb-table-of-contents__entry,
body .sr-toc .kb-table-of-contents__entry.active {
	background: var(--sr-primary-50);
	box-shadow: inset 2px 0 0 0 var(--sr-primary);
	font-weight: 600;
}

/* Nested entries (if H3s are ever listed) indent under their H2. */
body .sr-toc .kb-table-of-content-list ul {
	margin: 2px 0 0;
	padding-left: 12px;
}

/* ── Comments (the template's Comments block) ───────────────────── */
body .wp-block-comments {
	font-family: var(--sr-font);
}

body .sr-comment-form .form-submit .wp-block-button__link {
	background: var(--sr-primary);
}

/* ── Post header: a dot between author, date and reading time ─────── */
body .sr-single-meta .sr-meta-sep::before {
	content: "·";
	margin-right: 8px;
	color: var(--sr-faint);
}
