/*
 * Gutenberg blocks: shared by the article/page content and the block editor (add_editor_style), so what an editor sees
 * is what visitors get. Only theme.json presets are used here, since the editor has no other CSS variables.
 * Loaded on single posts and pages only.
 */

/* Text */
.has-drop-cap.has-drop-cap:not(:focus)::first-letter { float: left; margin: 0.06em 0.12em 0 0; color: var(--wp--preset--color--primary); font-size: 4.2em; font-weight: 900; line-height: 0.8; }
.has-drop-cap { text-align: left; }
.wp-block-paragraph.has-background, p.has-background { padding: 1.1rem 1.25rem; }
.wp-block-code, .wp-block-preformatted { padding: 1rem 1.25rem; overflow-x: auto; border-radius: 4px; background: var(--wp--preset--color--gray-100); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.9em; line-height: 1.6; text-align: left; }
.wp-block-code code { background: none; padding: 0; }
.wp-block-verse { padding-left: 1rem; border-left: 3px solid var(--wp--preset--color--primary); font-family: inherit; white-space: pre-wrap; text-align: left; }

/* Quotes */
.wp-block-quote { margin: 1.75rem 0; padding: 1rem 1.25rem; border: 0; border-left: 4px solid var(--wp--preset--color--primary); background: var(--wp--preset--color--gray-100); }
.wp-block-quote p { margin: 0 0 0.5rem; font-size: 1.1875em; font-style: italic; line-height: 1.55; text-align: left; }
.wp-block-quote :last-child { margin-bottom: 0; }
.wp-block-quote cite, .wp-block-quote .wp-block-quote__citation { display: block; margin-top: 0.6rem; color: var(--wp--preset--color--gray-600); font-size: 0.875em; font-style: normal; font-weight: 700; }
.wp-block-quote cite::before { content: '— '; }
.wp-block-pullquote.wp-block-pullquote { margin: 2.25rem 0; padding: 1.25rem 1rem; border-top: 4px solid var(--wp--preset--color--dark); border-bottom: 4px solid var(--wp--preset--color--dark); text-align: center; }
.wp-block-pullquote blockquote { margin: 0; padding: 0; border: 0; background: none; }
.wp-block-pullquote.wp-block-pullquote p { margin: 0; font-size: 1.6em; font-weight: 800; font-style: normal; line-height: 1.3; text-align: center; }
.wp-block-pullquote cite { display: block; margin-top: 0.8rem; color: var(--wp--preset--color--primary); font-size: 0.875em; font-style: normal; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.wp-block-pullquote cite::before { content: none; }

/* Images, galleries, media */
.wp-block-image, .wp-block-video, .wp-block-audio, .wp-block-gallery { margin-block: 1.75rem; }
.wp-block-image img, .wp-block-video video { max-width: 100%; height: auto; }
.wp-block-image figcaption, .wp-block-video figcaption, .wp-block-gallery figcaption, .wp-block-table figcaption, .wp-element-caption { margin-top: 0.5rem; color: var(--wp--preset--color--gray-600); font-size: 0.875rem; line-height: 1.5; text-align: center; }
.wp-block-image.alignleft, .wp-block-image .alignleft { float: left; margin: 0.25rem 1.5rem 1rem 0; max-width: 50%; }
.wp-block-image.alignright, .wp-block-image .alignright { float: right; margin: 0.25rem 0 1rem 1.5rem; max-width: 50%; }
.wp-block-image.aligncenter { text-align: center; }
.wp-block-image.aligncenter img { margin-inline: auto; }
.wp-block-audio audio, .wp-block-video video { display: block; width: 100%; }
.wp-block-embed { margin-block: 1.75rem; }
.wp-block-embed iframe { max-width: 100%; }
.wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper { position: relative; }
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before { content: ''; display: block; padding-top: 56.25%; }
.wp-block-embed.wp-embed-aspect-16-9 iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.wp-block-media-text { display: grid; grid-template-columns: 50% 1fr; align-items: center; margin-block: 1.75rem; background: var(--wp--preset--color--gray-100); }
.wp-block-media-text.has-media-on-the-right { grid-template-columns: 1fr 50%; }
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 2; }
.wp-block-media-text__media { margin: 0; }
.wp-block-media-text__media img { display: block; width: 100%; height: auto; }
.wp-block-media-text__content { padding: 1.5rem; }
.wp-block-media-text__content > :first-child { margin-top: 0; }
.wp-block-media-text__content > :last-child { margin-bottom: 0; }
.wp-block-cover { margin-block: 1.75rem; min-height: 320px; }
.wp-block-cover .wp-block-cover__inner-container { width: 100%; padding: 1.5rem; color: #fff; text-align: center; }
.wp-block-cover .wp-block-cover__inner-container p { text-align: center; }

/* Layout blocks */
.wp-block-columns { display: flex; flex-wrap: wrap; gap: 1.5rem 2rem; margin-block: 1.75rem; }
.wp-block-column { flex: 1 1 0; min-width: 0; }
.wp-block-column > :first-child { margin-top: 0; }
.wp-block-column > :last-child { margin-bottom: 0; }
.wp-block-group { margin-block: 1.75rem; }
.wp-block-group.has-background { padding: 1.5rem; }
.wp-block-group > :first-child { margin-top: 0; }
.wp-block-group > :last-child { margin-bottom: 0; }
.wp-block-separator { width: 100%; max-width: 100%; margin: 2rem 0; border: 0; border-top: 2px solid #d9d9d9; }
.wp-block-separator.is-style-dots { border: 0; text-align: center; line-height: 1; }
.wp-block-separator.is-style-dots::before { content: '···'; color: var(--wp--preset--color--gray-600); font-size: 1.5rem; letter-spacing: 1em; padding-left: 1em; }
.wp-block-spacer { clear: both; }

/* Tables */
.wp-block-table { margin-block: 1.75rem; overflow-x: auto; }
.wp-block-table table { width: 100%; border-collapse: collapse; font-size: 0.9375em; }
.wp-block-table th, .wp-block-table td { padding: 0.65rem 0.85rem; border: 1px solid #d9d9d9; text-align: left; }
.wp-block-table thead th { border-bottom: 3px solid var(--wp--preset--color--dark); background: var(--wp--preset--color--gray-100); font-weight: 800; }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--wp--preset--color--gray-100); }

/* Buttons, files, details */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-block: 1.75rem; }
.wp-block-button__link { display: inline-block; padding: 0.7rem 1.4rem; border: 2px solid var(--wp--preset--color--primary); border-radius: 4px; background: var(--wp--preset--color--primary); color: #fff; font-weight: 700; text-decoration: none; }
.wp-block-button__link:hover, .wp-block-button__link:focus-visible { background: var(--wp--preset--color--primary-dark); border-color: var(--wp--preset--color--primary-dark); color: #fff; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--wp--preset--color--primary); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--primary); color: #fff; }
.wp-block-file { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; margin-block: 1.5rem; padding: 0.85rem 1rem; border: 1px solid #d9d9d9; }
.wp-block-file__button { padding: 0.4rem 1rem; border-radius: 4px; background: var(--wp--preset--color--dark); color: #fff; font-size: 0.875rem; font-weight: 700; text-decoration: none; }
.wp-block-details { margin-block: 1.5rem; padding: 0.85rem 1.1rem; border: 1px solid #d9d9d9; }
.wp-block-details summary { font-weight: 800; cursor: pointer; }
.wp-block-details[open] summary { margin-bottom: 0.6rem; }

/* Query blocks in content */
.wp-block-latest-posts, .wp-block-categories, .wp-block-archives { margin-block: 1.5rem; padding-left: 1.2rem; }
.wp-block-latest-posts__post-date { display: block; color: var(--wp--preset--color--gray-600); font-size: 0.8125em; }

@media (max-width: 781px) {
	.wp-block-columns { flex-direction: column; }
	.wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
	.wp-block-media-text, .wp-block-media-text.has-media-on-the-right { grid-template-columns: 1fr; }
	.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 0; }
}
@media (max-width: 600px) {
	.wp-block-image.alignleft, .wp-block-image.alignright { float: none; max-width: 100%; margin-inline: 0; }
	.wp-block-pullquote p { font-size: 1.35em; }
}

/* Short lines read better left-aligned than justified. */
.wp-block-column p, .wp-block-media-text__content p, .wp-block-details p, .wp-block-file p { text-align: left; }
