/* Roupeiro Editorial Blocks — front-end styles.
   Colours, fonts and spacing inherit from the active WordPress theme wherever possible. */

.roupeiro-infobox,
.roupeiro-do-dont,
.roupeiro-citation {
	box-sizing: border-box;
	color: inherit;
	font-family: inherit;
	margin-block: var(--wp--style--block-gap, 2rem);
}

.roupeiro-infobox {
	border: 1px solid var(--wp--preset--color--contrast-3, color-mix(in srgb, currentColor 16%, transparent));
	border-radius: 8px;
	padding: clamp(1rem, 2.5vw, 1.5rem);
	background: var(--wp--preset--color--base-2, transparent);
}

.roupeiro-infobox__title,
.roupeiro-do-dont__title {
	font: inherit;
	font-size: var(--wp--preset--font-size--large, 1.25rem);
	font-weight: 600;
	line-height: 1.25;
	margin: 0 0 .75rem;
}

.roupeiro-infobox__intro {
	margin: 0 0 1rem;
	opacity: .82;
}

.roupeiro-infobox__list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: .8rem 1.5rem;
	margin: 0;
}

.roupeiro-infobox__item {
	display: grid;
	grid-template-columns: minmax(6.5rem, .7fr) minmax(0, 1.5fr);
	gap: .75rem;
	border-top: 1px solid var(--wp--preset--color--contrast-3, color-mix(in srgb, currentColor 12%, transparent));
	padding-top: .75rem;
}

.roupeiro-infobox__item dt {
	font-weight: 600;
	margin: 0;
}

.roupeiro-infobox__item dd {
	margin: 0;
	overflow-wrap: anywhere;
}

.roupeiro-infobox__icon {
	display: inline-block;
	margin-inline-end: .4em;
	opacity: .72;
}

.roupeiro-infobox.is-style-compact {
	padding: 1rem;
}
.roupeiro-infobox.is-style-compact .roupeiro-infobox__item {
	grid-template-columns: minmax(5.5rem, .6fr) minmax(0, 1.6fr);
	gap: .5rem;
}

.roupeiro-do-dont__columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.roupeiro-do-dont__column {
	border: 1px solid var(--wp--preset--color--contrast-3, color-mix(in srgb, currentColor 14%, transparent));
	border-radius: 8px;
	padding: clamp(.9rem, 2vw, 1.25rem);
	min-width: 0;
}

.roupeiro-do-dont__column h3 {
	font: inherit;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--medium, 1.05rem);
	margin: 0 0 .8rem;
}

.roupeiro-do-dont__column.is-do h3::before {
	content: "＋";
	margin-inline-end: .45em;
	opacity: .7;
}
.roupeiro-do-dont__column.is-dont h3::before {
	content: "−";
	margin-inline-end: .45em;
	opacity: .7;
}

.roupeiro-do-dont__list {
	margin: 0;
	padding-inline-start: 1.2em;
}
.roupeiro-do-dont__list li + li {
	margin-block-start: .45em;
}

.roupeiro-citation {
	padding: .25rem 0 .25rem 1.25rem;
	border-inline-start: 2px solid var(--wp--preset--color--contrast-3, color-mix(in srgb, currentColor 28%, transparent));
}

.roupeiro-citation__quote {
	border: 0;
	margin: 0;
	padding: 0;
	font: inherit;
	font-size: clamp(1.1rem, 2.2vw, 1.45rem);
	line-height: 1.45;
	font-weight: 500;
	font-style: italic;
}

.roupeiro-citation__quote p {
	margin: 0;
}

.roupeiro-citation__caption {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem .65rem;
	margin-block-start: .85rem;
	font-size: var(--wp--preset--font-size--small, .875rem);
	line-height: 1.5;
	opacity: .78;
}

.roupeiro-citation__attribution {
	font-weight: 600;
	opacity: 1;
}
.roupeiro-citation__source::before {
	content: "·";
	margin-inline-end: .65rem;
}
.roupeiro-citation__source a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: .15em;
}

.roupeiro-citation.is-style-feature {
	padding-inline-start: 1.5rem;
	border-inline-start-width: 3px;
}
.roupeiro-citation.is-style-feature .roupeiro-citation__quote {
	font-size: clamp(1.35rem, 3vw, 1.8rem);
}
.roupeiro-citation.is-style-source {
	font-size: .95em;
	padding-block: .8rem;
}

/* Bring native Gutenberg quote blocks into the same editorial family.
   This styles existing quotes without converting or changing their content. */
.entry-content > .wp-block-quote,
.entry-content > .wp-block-pullquote,
.wp-block-post-content > .wp-block-quote,
.wp-block-post-content > .wp-block-pullquote,
.wp-block-quote,
.wp-block-pullquote {
	font-family: inherit;
	color: inherit;
	border: 0;
	border-inline-start: 2px solid var(--wp--preset--color--contrast-3, color-mix(in srgb, currentColor 28%, transparent));
	padding: .25rem 0 .25rem 1.25rem;
	margin-block: var(--wp--style--block-gap, 2rem);
	background: transparent;
	text-align: start;
}

.wp-block-quote p,
.wp-block-pullquote p {
	font: inherit;
	font-size: clamp(1.1rem, 2.2vw, 1.45rem);
	line-height: 1.45;
	font-weight: 500;
	font-style: italic;
	margin-block: 0 .5rem;
}

.wp-block-quote cite,
.wp-block-quote footer,
.wp-block-pullquote cite {
	font-size: var(--wp--preset--font-size--small, .875rem);
	font-style: normal;
	opacity: .75;
}

.wp-block-pullquote blockquote {
	margin: 0;
	padding: 0;
	border: 0;
}

@media (max-width: 640px) {
	.roupeiro-do-dont__columns {
		grid-template-columns: 1fr;
	}
	.roupeiro-infobox__item {
		grid-template-columns: 1fr;
		gap: .2rem;
	}
}
