/* Zloj Quotes — front-end callouts. Colors come from --zq-* variables set per block. */

.zloj-quote {
	--zq-accent: #2563eb;
	--zq-bg: #eff6ff;
	--zq-border: 4px;
	--zq-radius: 6px;
	--zq-icon: 28px;
	--zq-gap: 1em;

	box-sizing: border-box;
	display: flex;
	gap: var(--zq-gap);
	align-items: flex-start;
	margin-block: 1.5em;
	padding: 1em 1.25em;
	background: var(--zq-bg);
	color: var(--zq-text, inherit);
	border: 0 solid var(--zq-accent);
	border-radius: var(--zq-radius);
	quotes: none;
}

.zloj-quote--frame-start { border-inline-start-width: var(--zq-border); }
.zloj-quote--frame-top { border-block-start-width: var(--zq-border); }
.zloj-quote--frame-box { border-width: var(--zq-border); }

.zloj-quote--stack {
	flex-direction: column;
	align-items: stretch;
	--zq-gap: .5em;
}

.zloj-quote__icon {
	flex: 0 0 auto;
	display: inline-flex;
	color: var(--zq-accent);
	line-height: 0;
}

.zloj-quote__icon svg,
.zloj-quote__icon .zloj-glyph {
	width: var(--zq-icon);
	height: var(--zq-icon);
}

.zloj-quote__body {
	flex: 1 1 auto;
	min-width: 0;
}

.zloj-quote__title {
	margin: 0 0 .35em;
	font-weight: 700;
	color: var(--zq-text, inherit);
}

.zloj-quote__text > :first-child { margin-top: 0; }
.zloj-quote__text > :last-child { margin-bottom: 0; }

.zloj-quote__text a { color: var(--zq-link, var(--zq-accent)); }

.zloj-quote__cite {
	margin-top: .6em;
	font-size: .875em;
	opacity: .8;
}

.zloj-quote__cite cite { font-style: normal; }
.zloj-quote__cite cite::before { content: "— "; }

blockquote.zloj-quote::before,
blockquote.zloj-quote::after { content: none; }

.zloj-inline-icon {
	display: inline-flex;
	vertical-align: -.15em;
	line-height: 0;
}

.zloj-inline-icon svg {
	width: 1em;
	height: 1em;
}

@media print {
	.zloj-quote { break-inside: avoid; }
}
