/* Content-level styles that must survive a theme switch: callouts, steps, scrollable tables. */
.is-style-vraja-note, .is-style-vraja-tip, .is-style-vraja-warning, .is-style-vraja-important {
	--vraja-callout: #3165c5;
	margin-block: 1.5em;
	padding: 14px 18px;
	border: 1px solid color-mix(in srgb, var(--vraja-callout) 35%, transparent);
	border-inline-start: 4px solid var(--vraja-callout);
	border-radius: 6px;
	background: color-mix(in srgb, var(--vraja-callout) 8%, #fff);
	color: #1f2937;
}
.is-style-vraja-tip { --vraja-callout: #15803d; }
.is-style-vraja-warning { --vraja-callout: #b45309; }
.is-style-vraja-important { --vraja-callout: #b91c1c; }
:is(.is-style-vraja-note, .is-style-vraja-tip, .is-style-vraja-warning, .is-style-vraja-important) > :first-child { margin-top: 0; }
:is(.is-style-vraja-note, .is-style-vraja-tip, .is-style-vraja-warning, .is-style-vraja-important) > :last-child { margin-bottom: 0; }

ol.is-style-vraja-steps { list-style: none; counter-reset: vraja-step; padding-inline-start: 0; }
ol.is-style-vraja-steps > li { counter-increment: vraja-step; position: relative; padding-inline-start: 44px; margin: 0 0 14px; min-height: 30px; }
ol.is-style-vraja-steps > li::before {
	content: counter(vraja-step); position: absolute; inset-inline-start: 0; top: -1px;
	width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
	background: var(--wp--preset--color--accent, #3165c5); color: #fff; font-weight: 700; font-size: 0.875rem;
}

/* Wide tables scroll inside their own region instead of the page. */
.wp-block-table.vraja-table-scroll, .vraja-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
.wp-block-table.vraja-table-scroll table { min-width: 520px; }
.wp-block-table.vraja-table-scroll:focus-visible { outline: 2px solid var(--wp--preset--color--accent-strong, #234c99); outline-offset: 2px; }

/* Long code tokens wrap or scroll within the block. */
.wp-block-code { overflow-x: auto; max-width: 100%; }
.wp-block-code code { white-space: pre; }
