/*
 * content.css — the standard WordPress blocks.
 *
 * Sibling of header.css and footer.css, and the documented exception to the
 * rule in sws-kit/docs/assets.md that visual styles live in the block's own
 * stylesheet: a core block has no block.json of ours to hang one on, so the
 * owner has to be declared somewhere, and this is it. Theme blocks are not
 * styled here — they keep their own sheets and this file steps around them.
 *
 * Loaded twice, one file, two contexts: wp_enqueue_style() on the front end
 * and add_editor_style() in the block editor.
 *
 * Two roots, and the split is load-bearing:
 *
 *   main.site-main > …                        geometry — column, alignments,
 *                                             rhythm. Inert in the editor,
 *                                             where <main> does not exist and
 *                                             settings.layout does the job.
 *   :is(.site-main, .editor-styles-wrapper) … appearance — surfaces, type,
 *                                             overflow. Identical both sides.
 *
 * The editor prefixes every selector it is given with :where(.editor-styles-
 * wrapper) and skips the ones that already mention it, which is why the second
 * root is written the way it is.
 *
 * Specificity, not source order, is what wins here. Measured on this install:
 * core prints its per-block sheets (wp-block-quote-theme-css and friends)
 * AFTER every theme sheet, so a rule that merely ties with core loses. The
 * :is() root supplies the one class that breaks the tie.
 *
 * Colours are always var(--wp--preset--color--*) with a literal fallback, so a
 * context that has not resolved :root still renders something sane.
 */

/*--------------------------------------------------------------
# Geometry — front end only
--------------------------------------------------------------*/

/*
 * The column, expressed once and reused by the alignments and the float
 * insets. Both widths come from theme.json rather than from a number written
 * here, so the editor canvas and the front end read the same source and cannot
 * drift apart.
 *
 * Percentages inside a custom property resolve where the property is used, so
 * 100% is the width of <main> for every child that reads them.
 *
 * The gutter is expressed as max-width arithmetic and never as padding: the
 * theme has no global box-sizing (css/base.css says why), and a formula built
 * from min() and a percentage does not care about the box model.
 */
main.site-main {
	--sws-col: min(var(--wp--style--global--content-size, 45rem), 100% - 2 * var(--sws-gutter, 0.75rem));
	--sws-col-wide: min(var(--wp--style--global--wide-size, 1116px), 100% - 2 * var(--sws-gutter, 0.75rem));
	--sws-col-inset: calc((100% - var(--sws-col)) / 2);
}

/*
 * Core blocks get border-box; theme blocks keep the content-box their rails are
 * built on. Block supports drop padding onto the very element that carries the
 * width — :where(.wp-block-group.has-background) is core's own example — so at
 * content-box a group with a background is wider than its column by its own
 * padding.
 *
 * Excluded by namespace, never by alignment: get_block_wrapper_attributes()
 * stamps wp-block-sws-theme-<slug> on every theme block, while alignfull is
 * absent from any block that declares "align": false, as spacer does.
 */
main.site-main > :not([class*="wp-block-sws-theme-"]),
main.site-main > :not([class*="wp-block-sws-theme-"]) *,
main.site-main > :not([class*="wp-block-sws-theme-"]) *::before,
main.site-main > :not([class*="wp-block-sws-theme-"]) *::after {
	box-sizing: border-box;
}

/*
 * Floats are excluded alongside wide and full: a floated figure has to keep its
 * intrinsic width, and core's own constrained rule excludes the same three.
 *
 * On archive, search and 404 templates the direct child is <article>, so the
 * same rule gives those templates a content column for free. Blocks inside
 * .entry-content then inherit the article's width rather than being capped a
 * second time, which would inset them by a second gutter.
 */
main.site-main > :where(:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright):not([class*="wp-block-sws-theme-"])) {
	max-width: var(--sws-col);
	margin-inline: auto;
}

main.site-main > .alignwide {
	max-width: var(--sws-col-wide);
	margin-inline: auto;
}

main.site-main > .alignfull:not([class*="wp-block-sws-theme-"]) {
	max-width: none;
	margin-inline: 0;
}

/*
 * Top-level floats are a case core never has to solve. In a block theme an
 * .alignleft sits inside .is-layout-constrained and floats against the column;
 * here there is no such wrapper, so it would float against the viewport while
 * the paragraph beside it stays in the column — text wrapping around something
 * parked far to its left. The inset pins the float to the column edge instead.
 */
main.site-main > .alignleft {
	float: left;
	max-width: calc(var(--sws-col) / 2);
	margin-block: 0 1.5rem;
	margin-inline: var(--sws-col-inset) 2em;
}

main.site-main > .alignright {
	float: right;
	max-width: calc(var(--sws-col) / 2);
	margin-block: 0 1.5rem;
	margin-inline: 2em var(--sws-col-inset);
}

main.site-main > .aligncenter {
	margin-inline: auto;
}

/* Nothing full-bleed may start beside a leftover float. */
main.site-main > .alignfull,
main.site-main > .alignwide,
main.site-main > [class*="wp-block-sws-theme-"] {
	clear: both;
}

/*
 * A float and a readable line cannot share a row on a phone. This is the one
 * behaviour that is not intrinsic — no min() or clamp() cancels a float — so it
 * takes a media query, and the threshold is one core declares itself (600px,
 * the busiest in this release) rather than a number invented here.
 */
@media (max-width: 600px) {

	main.site-main > .alignleft,
	main.site-main > .alignright {
		float: none;
		max-width: var(--sws-col);
		margin-inline: auto;
	}
}

/*
 * Rhythm, from the single number in theme.json.
 *
 * Owl form is required: a margin-block-start on every child would collapse out
 * of <main>, which has neither padding nor border, and push the whole content
 * area down instead of separating the blocks.
 *
 * The :not() on the second element is this project's own condition. Theme
 * sections are designed to sit flush — the home page runs hero straight into
 * the section below it — so an unqualified `* + *` would insert a gap at every
 * joint and move every production page. This way: theme→theme 0, core→theme 0
 * (the section brings its own padding-block), theme→core and core→core get the
 * gap.
 *
 * The variable is --wp--style--block-gap. The --wp--style--global--block-gap
 * form quoted in the kit docs is not emitted by WordPress 7.1 — verified on
 * this install — and using it would silently pin the rhythm to the literal.
 */
main.site-main > :not([class*="wp-block-sws-theme-"]) {
	margin-block-end: 0;
}

main.site-main > * + :not([class*="wp-block-sws-theme-"]) {
	margin-block-start: var(--wp--style--block-gap, 1.5rem);
}

/*
 * A leading <h2> or <p> would otherwise collapse its UA margin out of <main>.
 *
 * Namespaced like the rest: a theme section as the first child sets its own
 * leading space and this file has no business zeroing it. With this exclusion
 * the only rule in the whole stylesheet that still reaches a theme block is the
 * clear above, which is deliberate — a float must not run into a section.
 */
main.site-main > :first-child:not([class*="wp-block-sws-theme-"]) {
	margin-block-start: 0;
}

/*--------------------------------------------------------------
# Appearance — front end and editor canvas
--------------------------------------------------------------*/

/*
 * Every rule below that targets a bare element rather than a .wp-block-* class
 * carries :not([class*="wp-block-sws-theme-"] *), which keeps it out of the
 * theme blocks' own markup.
 *
 * This is not belt and braces. The contact form is Contact Form 7 inside a
 * theme block, so its fields are plain <input> and <textarea>; the form-control
 * rule below out-specifies .sws-contact-form__control and silently restyled the
 * live Contact page — measured as an eight-pixel height change against the
 * before/after snapshot. The guard is what keeps this file to core blocks.
 */

/*
 * anywhere, not break-word. Only `anywhere` lowers the element's contribution
 * to min-content, and that is what stops a single 300-character token from
 * forcing a flex or grid track open.
 */
:is(.site-main, .editor-styles-wrapper) :is(p, li, dt, dd, cite, figcaption, blockquote, td, th, h1, h2, h3, h4, h5, h6, .wp-element-caption):not([class*="wp-block-sws-theme-"] *) {
	overflow-wrap: anywhere;
}

/* min-width: auto is the floor a flex or grid track cannot shrink below. */
:is(.site-main, .editor-styles-wrapper) :is(.is-layout-flex, .is-layout-grid) > *,
:is(.site-main, .editor-styles-wrapper) .wp-block-columns > .wp-block-column,
:is(.site-main, .editor-styles-wrapper) .wp-block-media-text > * {
	min-width: 0;
}

/*
 * Scroll containers. Core gives .wp-block-table its own overflow-x, but
 * .wp-block-preformatted gets only white-space: pre-wrap and .wp-block-code
 * only overflow-wrap on its inner <code> — neither survives a token with no
 * break opportunity in it.
 */
/*
 * No max-width here, deliberately. It reads as harmless belt and braces and is
 * not: this selector is (0,2,0) and the column rule above is (0,1,1), so a
 * max-width of 100% would beat the column and let every top-level table, code
 * and pre block run the full width of the viewport.
 *
 * Nothing in the harness catches that — the overflow check measures against the
 * viewport, and the column check only verifies alignwide against the rail — so
 * it was found by looking at a screenshot. Worth remembering the next time a
 * rule here needs a width.
 */
:is(.site-main, .editor-styles-wrapper) :is(.wp-block-table, .wp-block-code, .wp-block-preformatted, .wp-block-verse) {
	overflow-x: auto;
	overscroll-behavior-x: contain;
}

:is(.site-main, .editor-styles-wrapper) :is(iframe, embed, object):not([class*="wp-block-sws-theme-"] *) {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

/*
 * Captions. styles.elements.caption in theme.json cannot win this on its own:
 * it emits :root :where(.wp-element-caption) and core emits :root
 * :where(.wp-block-image figcaption) — the same specificity, and core prints
 * later. The declaration exists in both places on purpose, theme.json for the
 * editor sidebar and this for the front end.
 */
:is(.site-main, .editor-styles-wrapper) :is(figcaption, .wp-element-caption):not([class*="wp-block-sws-theme-"] *) {
	margin-block: 0.625rem 0;
	color: var(--wp--preset--color--text, #4a6f8a);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	line-height: 1.6;
	text-align: center;
}

/* Inline code is unstyled by core, and a bare monospace run reads as a typo. */
:is(.site-main, .editor-styles-wrapper) :not(pre) > code:not([class*="wp-block-sws-theme-"] *) {
	padding: 0.15em 0.35em;
	border-radius: var(--sws-radius, 4px);
	background-color: var(--wp--preset--color--surface-alt, #f7fafd);
	color: var(--wp--preset--color--heading, #0e314c);
	font-size: 0.9em;
	overflow-wrap: anywhere;
}

/*--------------------------------------------------------------
# Quotes and separators
--------------------------------------------------------------*/

/*
 * border-color rather than border-left-color: only one side carries a width,
 * and the shorthand stays direction-agnostic, so core's RTL sheet keeps working
 * without a second rule here.
 */
:is(.site-main, .editor-styles-wrapper) .wp-block-quote:not(.has-text-color) {
	border-color: var(--wp--preset--color--accent, #44ce6f);
	color: var(--wp--preset--color--heading, #0e314c);
}

:is(.site-main, .editor-styles-wrapper) .wp-block-pullquote:not(.has-text-color):not(.has-background) {
	border-color: var(--wp--preset--color--line, #dbeefd);
	color: var(--wp--preset--color--heading, #0e314c);
}

:is(.site-main, .editor-styles-wrapper) :is(.wp-block-quote, .wp-block-pullquote) :is(cite, footer, .wp-block-pullquote__citation) {
	color: var(--wp--preset--color--text, #4a6f8a);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-style: normal;
}

/*
 * The separator draws itself in currentColor and core then dims it to 40%. The
 * palette's hairline tint is already pale, so at 40% it disappears entirely;
 * the opacity goes back to 1 and the colour is stated instead.
 */
:is(.site-main, .editor-styles-wrapper) .wp-block-separator:not(.has-text-color):not(.has-background) {
	color: var(--wp--preset--color--line, #dbeefd);
}

:is(.site-main, .editor-styles-wrapper) .wp-block-separator.has-css-opacity {
	opacity: 1;
}

/*--------------------------------------------------------------
# Tables
--------------------------------------------------------------*/

/*
 * Core's cell border is `1px solid` with no colour, which resolves to
 * currentColor — a data grid drawn in body-text blue. The stripe is #f0f0f0, a
 * neutral grey among blue-tinted surfaces. Neither is a contrast failure; both
 * are palette failures, and the static colour audit is not built to see them.
 */
:is(.site-main, .editor-styles-wrapper) :is(.wp-block-table, .wp-block-calendar) :is(table, thead, tfoot, th, td),
:is(.site-main, .editor-styles-wrapper) table:not([class*="wp-block-sws-theme-"] *) :is(th, td) {
	border: 1px solid var(--wp--preset--color--line, #dbeefd);
}

:is(.site-main, .editor-styles-wrapper) .wp-block-table :is(th, td),
:is(.site-main, .editor-styles-wrapper) table:not([class*="wp-block-sws-theme-"] *) :is(th, td) {
	padding: 0.625rem 0.75rem;
}

:is(.site-main, .editor-styles-wrapper) .wp-block-table :is(thead, tfoot) :is(th, td),
:is(.site-main, .editor-styles-wrapper) table:not([class*="wp-block-sws-theme-"] *) th {
	background-color: var(--wp--preset--color--surface-alt, #f7fafd);
	color: var(--wp--preset--color--heading, #0e314c);
	font-weight: 600;
	text-align: start;
}

:is(.site-main, .editor-styles-wrapper) .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: var(--wp--preset--color--surface-alt, #f7fafd);
}

:is(.site-main, .editor-styles-wrapper) .wp-block-table.is-style-stripes {
	border-bottom-color: var(--wp--preset--color--line, #dbeefd);
}

/*
 * A table authored through the classic block arrives with no figure wrapper, so
 * it gets neither core's scroll container nor core's cell borders — it needs
 * both, and the rules above hand it the same ones .wp-block-table gets.
 */
:is(.site-main, .editor-styles-wrapper) table:not(.wp-block-table table):not([class*="wp-block-sws-theme-"] *) {
	display: block;
	overflow-x: auto;
	border-collapse: collapse;
}

/*--------------------------------------------------------------
# Code surfaces
--------------------------------------------------------------*/

/*
 * Kept here rather than in theme.json styles.blocks: core sets
 * .wp-block-code { border: 1px solid #ccc } at (0,1,0), theme.json would emit
 * :root :where(.wp-block-code) at the same weight, and core prints later — the
 * border would never land.
 */
:is(.site-main, .editor-styles-wrapper) :is(.wp-block-code, .wp-block-preformatted, .wp-block-verse) {
	padding: 1rem 1.25rem;
	border: 1px solid var(--wp--preset--color--line, #dbeefd);
	border-radius: var(--sws-radius, 4px);
	background-color: var(--wp--preset--color--surface-alt, #f7fafd);
	color: var(--wp--preset--color--heading, #0e314c);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	line-height: 1.7;
}

:is(.site-main, .editor-styles-wrapper) .wp-block-verse {
	font-family: inherit;
}

/*--------------------------------------------------------------
# Details, accordion, tabs
--------------------------------------------------------------*/

/*
 * Core ships all three with no surface whatever — details/style.css is
 * box-sizing plus a pointer cursor, accordion/style.css and tabs/style.css are
 * box-sizing alone. On a white page a collapsed accordion is invisible.
 *
 * The toggle padding is restored explicitly rather than by moving the spacing
 * scale. Core writes padding: var(--wp--preset--spacing--20, 1em) 0, and this
 * project defines slug 20 as 0.5rem — half of core's fallback — so the toggle
 * would read cramped. The scale is read by the theme's own blocks too and is
 * not moved to suit core.
 */
:is(.site-main, .editor-styles-wrapper) :is(.wp-block-details, .wp-block-accordion-item) {
	border: 1px solid var(--wp--preset--color--line, #dbeefd);
	border-radius: var(--sws-radius, 4px);
	background-color: var(--wp--preset--color--surface, #ffffff);
}

:is(.site-main, .editor-styles-wrapper) .wp-block-details > summary {
	padding: 0.75rem 1rem;
	color: var(--wp--preset--color--heading, #0e314c);
	font-weight: 600;
}

:is(.site-main, .editor-styles-wrapper) .wp-block-details[open] > summary {
	border-bottom: 1px solid var(--wp--preset--color--line, #dbeefd);
}

:is(.site-main, .editor-styles-wrapper) .wp-block-details > :not(summary) {
	margin-inline: 1rem;
}

:is(.site-main, .editor-styles-wrapper) .wp-block-details > :last-child:not(summary) {
	margin-block-end: 1rem;
}

:is(.site-main, .editor-styles-wrapper) .wp-block-accordion-item + .wp-block-accordion-item {
	margin-block-start: 0.5rem;
}

:is(.site-main, .editor-styles-wrapper) .wp-block-accordion-heading__toggle {
	padding: 0.75rem 1rem;
	color: var(--wp--preset--color--heading, #0e314c);
	font-weight: 600;
}

:is(.site-main, .editor-styles-wrapper) .wp-block-accordion-panel {
	padding: 0 1rem 1rem;
}

:is(.site-main, .editor-styles-wrapper) .wp-block-tab-list {
	border-bottom: 1px solid var(--wp--preset--color--line, #dbeefd);
}

/* Core's own selector here is :where(…), i.e. zero specificity. */
:is(.site-main, .editor-styles-wrapper) .wp-block-tab-list button {
	padding: 0.625rem 1rem;
	border: 0;
	background: none;
	color: var(--wp--preset--color--text, #4a6f8a);
	font: inherit;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	cursor: pointer;
}

:is(.site-main, .editor-styles-wrapper) .wp-block-tab-list button[aria-selected="true"] {
	box-shadow: inset 0 -2px 0 0 var(--wp--preset--color--accent, #44ce6f);
	color: var(--wp--preset--color--heading, #0e314c);
	font-weight: 600;
}

:is(.site-main, .editor-styles-wrapper) .wp-block-tab-panel {
	padding-block: 1rem;
}

/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/

/*
 * The filled button comes from styles.elements.button in theme.json, which
 * reaches every .wp-element-button at once — core/button, the search submit,
 * the file download, the comment form. Only the outline variant needs a rule:
 * core paints it in currentColor, which here inherits body text.
 */
:is(.site-main, .editor-styles-wrapper) .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) {
	border-color: currentColor;
	color: var(--wp--preset--color--heading, #0e314c);
}

:is(.site-main, .editor-styles-wrapper) .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background):is(:hover, :focus-visible) {
	background-color: var(--wp--preset--color--heading, #0e314c);
	color: var(--wp--preset--color--surface, #ffffff);
}

/*--------------------------------------------------------------
# Form controls
--------------------------------------------------------------*/

/*
 * Nothing in this theme styles a control: blocks/contact-form/style.css does it
 * for its own markup and stops there. Core adds only a border and padding to
 * .wp-block-search__button and nothing at all to inputs, so core/search,
 * core/post-comments-form and the comment form render in raw browser chrome.
 *
 * <button> is deliberately absent from this list: the accordion toggle and the
 * tab buttons are <button>s and must not look like calls to action.
 */
:is(.site-main, .editor-styles-wrapper) :is(
	input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
	select,
	textarea
):not([class*="wp-block-sws-theme-"] *) {
	max-width: 100%;
	padding: 0.625rem 0.75rem;
	border: 1px solid var(--wp--preset--color--line, #dbeefd);
	border-radius: var(--sws-radius, 4px);
	background-color: var(--wp--preset--color--surface, #ffffff);
	color: var(--wp--preset--color--heading, #0e314c);
	font: inherit;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	line-height: 1.5;
}

:is(.site-main, .editor-styles-wrapper) :is(textarea, .wp-block-search__input):not([class*="wp-block-sws-theme-"] *) {
	width: 100%;
}

:is(.site-main, .editor-styles-wrapper) .comment-form :is(input[type="text"], input[type="email"], input[type="url"], textarea) {
	width: 100%;
}

:is(.site-main, .editor-styles-wrapper) :is(input, select, textarea):focus:not([class*="wp-block-sws-theme-"] *) {
	border-color: var(--wp--preset--color--accent, #44ce6f);
	outline: none;
}

:is(.site-main, .editor-styles-wrapper) :not([class*="wp-block-sws-theme-"] *)::placeholder {
	color: var(--wp--preset--color--text, #4a6f8a);
	opacity: 0.7;
}

/* Windows draws the select popup from <option>, not from <select>. */
:is(.site-main, .editor-styles-wrapper) option:not([class*="wp-block-sws-theme-"] *) {
	background-color: var(--wp--preset--color--surface, #ffffff);
	color: var(--wp--preset--color--heading, #0e314c);
}

/*
 * Submit controls that are <input> rather than <a>, so styles.elements.button
 * never reaches them. Matches the contact form's own button in
 * blocks/contact-form/style.css: same padding, radius, weight and case.
 */
:is(.site-main, .editor-styles-wrapper) :is(input[type="submit"], input[type="button"], input[type="reset"], .wp-block-search__button):not([class*="wp-block-sws-theme-"] *) {
	padding: 0.9375rem 2.5rem;
	border: 0;
	border-radius: var(--sws-radius, 4px);
	background-color: var(--wp--preset--color--accent, #44ce6f);
	color: #ffffff;
	font: inherit;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 600;
	line-height: 1.5;
	text-transform: uppercase;
	cursor: pointer;
	appearance: none;
	transition: background-color var(--sws-transition, 0.3s ease);
}

:is(.site-main, .editor-styles-wrapper) :is(input[type="submit"], input[type="button"], input[type="reset"], .wp-block-search__button):not([class*="wp-block-sws-theme-"] *):is(:hover, :focus-visible) {
	background-color: var(--wp--preset--color--heading, #0e314c);
}

/* The icon-only search button carries an SVG, so the wide padding is wrong. */
:is(.site-main, .editor-styles-wrapper) .wp-block-search__button.has-icon {
	padding: 0.5rem 0.75rem;
}

:is(.site-main, .editor-styles-wrapper) .wp-block-search__button svg {
	fill: currentColor;
}

/*--------------------------------------------------------------
# Widget and dynamic blocks
--------------------------------------------------------------*/

/*
 * These render as bare lists. Core styles almost none of them, and on a page
 * with no surface at all they read as an undifferentiated run of links.
 */
:is(.site-main, .editor-styles-wrapper) :is(.wp-block-archives-list, .wp-block-categories-list, .wp-block-page-list, .wp-block-latest-posts__list, .wp-block-latest-comments) {
	padding-inline-start: 0;
	list-style: none;
}

:is(.site-main, .editor-styles-wrapper) :is(.wp-block-archives-list, .wp-block-categories-list, .wp-block-page-list) li {
	padding-block: 0.375rem;
	border-bottom: 1px solid var(--wp--preset--color--line, #dbeefd);
}

:is(.site-main, .editor-styles-wrapper) .wp-block-calendar table :is(th, td) {
	border-color: var(--wp--preset--color--line, #dbeefd);
	padding: 0.375rem;
}

:is(.site-main, .editor-styles-wrapper) .wp-block-calendar th {
	background-color: var(--wp--preset--color--surface-alt, #f7fafd);
	color: var(--wp--preset--color--heading, #0e314c);
}

:is(.site-main, .editor-styles-wrapper) .wp-block-calendar :is(table caption, tfoot td) {
	color: var(--wp--preset--color--text, #4a6f8a);
}

:is(.site-main, .editor-styles-wrapper) .wp-block-tag-cloud.is-style-outline a {
	border-color: var(--wp--preset--color--line, #dbeefd);
	color: var(--wp--preset--color--heading, #0e314c);
}

:is(.site-main, .editor-styles-wrapper) .wp-block-latest-comments__comment-meta {
	color: var(--wp--preset--color--heading, #0e314c);
}

:is(.site-main, .editor-styles-wrapper) :is(.wp-block-latest-comments__comment-date, .wp-block-latest-posts__post-date, .wp-block-post-date, .wp-block-comment-date, .wp-block-post-time-to-read, .wp-block-query-total) {
	color: var(--wp--preset--color--text, #4a6f8a);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
}

/* The comment list is a bare <ol> with core's own indentation and no surface. */
:is(.site-main, .editor-styles-wrapper) .wp-block-comment-template {
	padding-inline-start: 0;
	list-style: none;
}

:is(.site-main, .editor-styles-wrapper) .wp-block-comment-template > li {
	padding-block: 1rem;
	border-top: 1px solid var(--wp--preset--color--line, #dbeefd);
}
