/* Shared WordPress Core block treatment for single-post frontend and editor. */

.p42-protocol-content > .wp-block {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}

.p42-protocol-content > .wp-block:first-child {
	margin-top: 0;
}

.p42-protocol-content > .alignwide {
	width: min(73.75rem, calc(100vw - 2.5rem));
	max-width: 73.75rem;
	margin-left: 50%;
	transform: translateX(-50%);
}

.p42-protocol-content > .alignfull {
	width: min(90rem, calc(100vw - 2rem));
	max-width: 90rem;
	margin-left: 50%;
	transform: translateX(-50%);
}

/* Loaded on single posts and transformed into the editor canvas by add_editor_style(). */
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(.wp-block-image, .wp-block-gallery, .wp-block-cover, .wp-block-media-text, .wp-block-group, .wp-block-columns, .wp-block-pullquote, .wp-block-table, .wp-block-embed):not(.alignwide):not(.alignfull) { max-width: 100%; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(.wp-block-image, .wp-block-gallery) img { max-width: 100%; height: auto; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-gallery { gap: 0.75rem; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-gallery :is(.blocks-gallery-item, .wp-block-image) { margin: 0; }

:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-cover { min-height: clamp(16rem, 45vw, 34rem); padding: clamp(1.25rem, 4vw, 3rem); color: var(--p42-paper); }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-cover a { color: inherit; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(.wp-block-media-text, .wp-block-columns) { gap: clamp(1rem, 3vw, 2.5rem); }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(.wp-block-media-text__content, .wp-block-column) { min-width: 0; }

:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-file { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; padding: 1rem; border: 1px solid var(--p42-line-dark); }

:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(.wp-block-file__button, .wp-block-button__link) {
	border: 1px solid var(--p42-sand);
	border-radius: 0;
	color: var(--p42-ink);
	background: var(--p42-sand);
	font-family: var(--p42-font-body);
	font-weight: 600;
	line-height: 1.4;
	text-align: left;
	overflow-wrap: anywhere;
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}

:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(.wp-block-file__button, .wp-block-button__link):is(:hover, :active) { border-color: var(--p42-paper); color: var(--p42-night); background: var(--p42-paper); }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(.wp-block-file__button, .wp-block-button__link):focus-visible { outline: 0.1875rem solid var(--p42-paper); outline-offset: 0.1875rem; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(.wp-block-file__button, .wp-block-button__link)[aria-disabled='true'],
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(.wp-block-file__button, .wp-block-button__link):disabled { cursor: not-allowed; opacity: 0.6; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .is-style-outline > .wp-block-button__link { color: var(--p42-paper); background: transparent; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .is-style-outline > .wp-block-button__link:is(:hover, :active) { color: var(--p42-night); background: var(--p42-paper); }

:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-pullquote { padding: clamp(1.5rem, 4vw, 3rem) 0; border-block: 1px solid var(--p42-muted-gold); border-inline: 0; text-align: left; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-quote { margin-inline: 0; padding: 0.25rem 0 0.25rem 1.25rem; border-left: 0.1875rem solid var(--p42-muted-gold); color: var(--p42-paper-soft); font-family: var(--p42-font-display); font-size: clamp(1.5rem, 3vw, 2.125rem); font-weight: 500; line-height: 1.25; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-pullquote :is(blockquote, p) { margin: 0; padding: 0; border: 0; font-family: var(--p42-font-display); font-size: clamp(1.75rem, 4vw, 3rem); font-weight: 500; line-height: 1.18; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(cite, .wp-block-pullquote cite) { display: block; margin-top: 0.75rem; color: var(--p42-paper-muted); font-family: var(--p42-font-mono); font-size: 0.75rem; font-style: normal; letter-spacing: 0.04em; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(.wp-block-verse, .wp-block-preformatted) { font-family: var(--p42-font-mono); white-space: pre-wrap; overflow-wrap: anywhere; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-code { min-width: 0; max-width: 100%; padding: 1rem; overflow-x: auto; border: 1px solid var(--p42-line-soft); background: var(--p42-deep-navy); font-family: var(--p42-font-mono); font-size: 0.8125rem; line-height: 1.6; }

:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) details { padding: 1rem; border: 1px solid var(--p42-line-soft); background: color-mix(in srgb, var(--p42-deep-navy) 82%, transparent); }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) summary { cursor: pointer; font-weight: 700; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) summary:focus-visible { outline: 0.1875rem solid var(--p42-sand); outline-offset: 0.1875rem; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) details > :last-child { margin-bottom: 0; }

:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-separator { width: min(8rem, 35%); margin-inline: 0; border-color: var(--p42-muted-gold); }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-separator.is-style-dots::before { color: var(--p42-muted-gold); }

:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-table { min-width: 0; max-width: 100%; overflow-x: auto; border: 1px solid var(--p42-line-dark); }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-table table { display: table; width: max-content; min-width: 100%; margin: 0; border: 0; white-space: normal; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-table :is(figcaption, caption) { caption-side: bottom; padding: 0.75rem; text-align: left; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-table th { color: var(--p42-paper); background: var(--p42-deep-navy); }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: color-mix(in srgb, var(--p42-line-dark) 35%, transparent); }

:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-footnotes { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--p42-line-dark); color: var(--p42-paper-muted); font-family: var(--p42-font-mono); font-size: 0.875rem; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-footnotes :target { outline: 0.1875rem solid var(--p42-sand); outline-offset: 0.25rem; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(.wp-block-embed, .wp-block-video, .wp-block-audio) { overflow: hidden; }
:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(.wp-block-embed iframe, .wp-block-video video, .wp-block-audio audio) { display: block; max-width: 100%; }

@media (width < 48rem) {
	:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-media-text.is-stacked-on-mobile { grid-template-columns: minmax(0, 1fr); }
	:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media { grid-column: 1; grid-row: 1; }
	:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content { grid-column: 1; grid-row: 2; }
	:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right .wp-block-media-text__content { grid-row: 1; }
	:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right .wp-block-media-text__media { grid-row: 2; }
}

@media (forced-colors: active) {
	:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(details, .wp-block-table, .wp-block-pullquote) { border-color: CanvasText; }
	:is(.p42-protocol-content, .p42-page__content, .p42-protocol-archive__intro, .editor-styles-wrapper) :is(.wp-block-file__button, .wp-block-button__link) { border-color: ButtonText; color: ButtonText; background: ButtonFace; }
}
