/**
 * ACAART Article Design - editorial modules.
 *
 * Answer box, steps, highlights, FAQ, CTA and notes. Loaded only when at least
 * one module is enabled. Logical properties throughout, so every module mirrors
 * correctly in RTL without an override sheet.
 */

/* --------------------------------------------------------------------------
 * Answer box
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-answer {
	margin-block: 0 var(--acaart-gap);
	padding-block: 1.5rem 1.4rem;
	border-block-start: 2px solid var(--acaart-accent);
	border-block-end: 1px solid var(--acaart-border);
}

.acaart-pad-article .acaart-pad-answer__body p {
	margin-block-end: 0.9em;
	color: var(--acaart-primary);
	font-size: 1.08em;
	line-height: 1.68;
	text-align: start;
}

.acaart-pad-article .acaart-pad-answer__body p:last-child {
	margin-block-end: 0;
}

/* --------------------------------------------------------------------------
 * Steps
 * Numbers are printed by PHP; no counters are used here either.
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-steps__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.acaart-pad-article .acaart-pad-steps__item {
	position: relative;
	list-style: none;
	margin: 0;
	padding-inline-start: 3.4rem;
	padding-block-end: 1.75rem;
}

.acaart-pad-article .acaart-pad-steps__item::marker {
	content: "";
}

.acaart-pad-article .acaart-pad-steps__item:last-child {
	padding-block-end: 0;
}

.acaart-pad-article .acaart-pad-steps__item::before {
	content: "";
	position: absolute;
	inset-inline-start: 1.1rem;
	inset-block: 2.5rem 0.25rem;
	inline-size: 1px;
	background: var(--acaart-border);
}

.acaart-pad-article .acaart-pad-steps__item:last-child::before {
	content: none;
}

.acaart-pad-article .acaart-pad-steps__marker {
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: 0.1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	inline-size: 2.25rem;
	block-size: 2.25rem;
	border: 1px solid var(--acaart-accent);
	border-radius: 50%;
	background: var(--acaart-background);
	color: var(--acaart-primary);
	font-size: 0.82rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: 1;
}

.acaart-pad-article .acaart-pad-steps__title {
	margin-block: 0.35rem 0.5rem;
	font-size: 1.1rem;
	line-height: 1.35;
}

.acaart-pad-article .acaart-pad-steps__body p {
	margin-block-end: 0.75em;
	text-align: start;
}

.acaart-pad-article .acaart-pad-steps__body p:last-child {
	margin-block-end: 0;
}

/* --------------------------------------------------------------------------
 * Highlights
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-highlights__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.1rem;
}

.acaart-pad-article .acaart-pad-highlights__card {
	padding: 1.35rem;
	border: 1px solid var(--acaart-border);
	border-block-start: 2px solid var(--acaart-accent);
	border-radius: var(--acaart-radius);
	background: var(--acaart-surface);
	box-shadow: var(--acaart-shadow);
}

.acaart-pad-article .acaart-pad-highlights__index {
	display: block;
	margin-block-end: 0.55rem;
	color: var(--acaart-accent);
	font-size: 0.75rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.12em;
}

.acaart-pad-article .acaart-pad-highlights__title {
	margin-block: 0 0.55rem;
	font-size: 1.06rem;
	line-height: 1.35;
}

.acaart-pad-article .acaart-pad-highlights__card p {
	margin-block-end: 0.7em;
	font-size: 0.96rem;
	line-height: 1.65;
	text-align: start;
}

.acaart-pad-article .acaart-pad-highlights__card p:last-child {
	margin-block-end: 0;
}

.acaart-pad-article .acaart-pad-highlights__meta {
	margin-block: 0.9rem 0;
	padding-block-start: 0.8rem;
	border-block-start: 1px solid var(--acaart-border);
	font-size: 0.9rem;
}

.acaart-pad-article .acaart-pad-highlights__meta-row {
	display: flex;
	gap: 0.75rem;
	justify-content: space-between;
	padding-block: 0.28rem;
}

.acaart-pad-article .acaart-pad-highlights__meta dt {
	margin: 0;
	color: var(--acaart-muted);
	font-weight: 400;
}

.acaart-pad-article .acaart-pad-highlights__meta dd {
	margin: 0;
	color: var(--acaart-primary);
	font-weight: 700;
	text-align: end;
}

.acaart-pad-article .acaart-pad-highlights__badge {
	display: inline-block;
	margin-block: 1rem 0;
	padding-inline: 0.7rem;
	padding-block: 0.28rem;
	border: 1px solid var(--acaart-accent);
	border-radius: 2px;
	color: var(--acaart-accent);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.4;
	text-transform: uppercase;
}

/* --------------------------------------------------------------------------
 * FAQ
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-faq__list {
	border-block-start: 1px solid var(--acaart-border);
}

.acaart-pad-article .acaart-pad-faq__item {
	border-block-end: 1px solid var(--acaart-border);
}

.acaart-pad-article .acaart-pad-faq__question {
	position: relative;
	display: block;
	padding-inline-end: 2.5rem;
	padding-block: 1.05rem;
	cursor: pointer;
	list-style: none;
	color: var(--acaart-primary);
	font-family: var(--acaart-font-heading);
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.45;
}

.acaart-pad-article .acaart-pad-faq__question::-webkit-details-marker {
	display: none;
}

.acaart-pad-article .acaart-pad-faq__question::marker {
	content: "";
}

.acaart-pad-article .acaart-pad-faq__question::after {
	content: "+";
	position: absolute;
	inset-inline-end: 0.15rem;
	inset-block-start: 50%;
	transform: translateY(-50%);
	color: var(--acaart-accent);
	font-family: var(--acaart-font-body);
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1;
}

.acaart-pad-article .acaart-pad-faq__item[open] > .acaart-pad-faq__question::after {
	content: "\2013";
}

.acaart-pad-article .acaart-pad-faq__item[open] > .acaart-pad-faq__question {
	color: var(--acaart-accent);
}

.acaart-pad-article .acaart-pad-faq__answer {
	padding-inline-end: 2.5rem;
	padding-block-end: 1.25rem;
}

.acaart-pad-article .acaart-pad-faq__answer p {
	margin-block-end: 0.8em;
	font-size: 0.98rem;
	text-align: start;
}

.acaart-pad-article .acaart-pad-faq__answer p:last-child {
	margin-block-end: 0;
}

/* --------------------------------------------------------------------------
 * CTA and notes
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-cta {
	padding-inline: 1.6rem;
	padding-block: 1.9rem;
	border-block-start: 2px solid var(--acaart-accent);
	border-radius: var(--acaart-radius);
	background: var(--acaart-surface);
	box-shadow: var(--acaart-shadow);
	text-align: center;
}

.acaart-pad-article .acaart-pad-cta__text p {
	margin-block-end: 0.8em;
	color: var(--acaart-primary);
	font-family: var(--acaart-font-heading);
	font-size: 1.1rem;
	line-height: 1.55;
	text-align: center;
}

.acaart-pad-article .acaart-pad-cta__text p:last-child {
	margin-block-end: 0;
}

.acaart-pad-article .acaart-pad-cta__action {
	margin-block: 1.35rem 0;
}

.acaart-pad-article .acaart-pad-cta__button {
	display: inline-block;
	padding-inline: 1.9rem;
	padding-block: 0.85rem;
	border: 1px solid var(--acaart-primary);
	border-radius: 2px;
	background: var(--acaart-primary);
	color: var(--acaart-background);
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.acaart-pad-article .acaart-pad-cta__button:hover,
.acaart-pad-article .acaart-pad-cta__button:focus-visible {
	background: var(--acaart-accent);
	border-color: var(--acaart-accent);
	color: var(--acaart-background);
}

.acaart-pad-article .acaart-pad-note {
	padding-inline: 1.35rem;
	padding-block: 1.2rem;
	border: 1px solid var(--acaart-border);
	border-inline-start: 3px solid var(--acaart-accent);
	border-radius: var(--acaart-radius);
	background: var(--acaart-surface);
}

.acaart-pad-article .acaart-pad-note--warning {
	border-inline-start-color: #c0562f;
}

.acaart-pad-article .acaart-pad-note--tip {
	border-inline-start-color: var(--acaart-secondary);
}

.acaart-pad-article .acaart-pad-note__title {
	margin-block: 0 0.4rem;
	color: var(--acaart-primary);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.acaart-pad-article .acaart-pad-note__body p {
	margin-block-end: 0.7em;
	font-size: 0.97rem;
	text-align: start;
}

.acaart-pad-article .acaart-pad-note__body p:last-child {
	margin-block-end: 0;
}

/* --------------------------------------------------------------------------
 * Quick facts
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-facts__list {
	margin: 0;
	font-size: 0.96rem;
}

.acaart-pad-article .acaart-pad-facts__row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1rem;
	justify-content: space-between;
	padding-block: 0.5rem;
	border-block-end: 1px solid var(--acaart-border);
}

.acaart-pad-article .acaart-pad-facts__row:last-child {
	border-block-end: 0;
}

.acaart-pad-article .acaart-pad-facts__row.is-note {
	color: var(--acaart-muted);
}

.acaart-pad-article .acaart-pad-facts__label {
	margin: 0;
	color: var(--acaart-muted);
	font-weight: 400;
}

.acaart-pad-article .acaart-pad-facts__value {
	margin: 0;
	color: var(--acaart-primary);
	font-weight: 600;
	text-align: end;
}

/* --------------------------------------------------------------------------
 * Verdict
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-verdict {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 1.25rem;
	padding-inline: 1.4rem;
	padding-block: 1.35rem;
	border: 1px solid var(--acaart-border);
	border-block-start: 2px solid var(--acaart-accent);
	border-radius: var(--acaart-radius);
	background: var(--acaart-surface);
	box-shadow: var(--acaart-shadow);
}

.acaart-pad-article .acaart-pad-verdict__body {
	flex: 1 1 16rem;
	min-inline-size: 0;
}

.acaart-pad-article .acaart-pad-verdict__title {
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border: 0;
	padding-block-end: 0;
	margin-block-end: 0.6rem;
}

.acaart-pad-article .acaart-pad-verdict__title::after {
	content: none;
}

.acaart-pad-article .acaart-pad-verdict__body p {
	margin-block-end: 0.6em;
	text-align: start;
}

.acaart-pad-article .acaart-pad-verdict__body p:last-child {
	margin-block-end: 0;
}

.acaart-pad-article .acaart-pad-verdict__score {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	padding-inline: 1rem;
	padding-block: 0.6rem;
	border-inline-start: 1px solid var(--acaart-border);
	line-height: 1.1;
}

.acaart-pad-article .acaart-pad-verdict__score-value {
	color: var(--acaart-accent);
	font-size: 2.1rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.acaart-pad-article .acaart-pad-verdict__score-max {
	margin-block-start: 0.25rem;
	color: var(--acaart-muted);
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* --------------------------------------------------------------------------
 * Pros and cons
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-proscons__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.1rem;
}

.acaart-pad-article .acaart-pad-proscons__column {
	padding-inline: 1.2rem;
	padding-block: 1.1rem;
	border: 1px solid var(--acaart-border);
	border-radius: var(--acaart-radius);
	background: var(--acaart-surface);
}

.acaart-pad-article .acaart-pad-proscons__column--pros {
	border-block-start: 2px solid var(--acaart-secondary);
}

.acaart-pad-article .acaart-pad-proscons__column--cons {
	border-block-start: 2px solid var(--acaart-muted);
}

.acaart-pad-article .acaart-pad-proscons__heading {
	margin-block: 0 0.7rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.acaart-pad-article .acaart-pad-proscons__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.acaart-pad-article .acaart-pad-proscons__item {
	display: flex;
	align-items: flex-start;
	gap: 0.55em;
	margin-block-end: 0.55em;
	padding: 0;
	font-size: 0.96rem;
	line-height: 1.55;
}

.acaart-pad-article .acaart-pad-proscons__item::marker {
	content: "";
}

.acaart-pad-article .acaart-pad-proscons__item:last-child {
	margin-block-end: 0;
}

.acaart-pad-article .acaart-pad-proscons__icon {
	flex: 0 0 auto;
	margin-block-start: 0.28em;
}

.acaart-pad-article .acaart-pad-proscons__column--pros .acaart-pad-proscons__icon {
	color: var(--acaart-secondary);
}

.acaart-pad-article .acaart-pad-proscons__column--cons .acaart-pad-proscons__icon {
	color: var(--acaart-muted);
}

/* --------------------------------------------------------------------------
 * Checklist
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-checklist__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.acaart-pad-article .acaart-pad-checklist__item {
	display: flex;
	align-items: flex-start;
	gap: 0.6em;
	margin-block-end: 0.6em;
	padding: 0;
	line-height: 1.6;
}

.acaart-pad-article .acaart-pad-checklist__item::marker {
	content: "";
}

.acaart-pad-article .acaart-pad-checklist__icon {
	flex: 0 0 auto;
	margin-block-start: 0.3em;
	color: var(--acaart-accent);
}

@media (max-width: 640px) {
	.acaart-pad-article .acaart-pad-proscons__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.acaart-pad-article .acaart-pad-verdict {
		gap: 0.9rem;
		padding-inline: 1.1rem;
	}

	.acaart-pad-article .acaart-pad-verdict__score {
		padding-inline: 0;
		padding-block-start: 0.9rem;
		border-inline-start: 0;
		border-block-start: 1px solid var(--acaart-border);
		flex-direction: row;
		align-items: baseline;
		gap: 0.5rem;
		inline-size: 100%;
	}

	.acaart-pad-article .acaart-pad-facts__value {
		text-align: start;
	}
}

/* --------------------------------------------------------------------------
 * Quick answer
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-quick-answer {
	padding-inline: 1.35rem;
	padding-block: 1.25rem;
	border-inline-start: 3px solid var(--acaart-accent);
	border-radius: var(--acaart-radius);
	background: var(--acaart-surface);
}

.acaart-pad-article .acaart-pad-quick-answer__title {
	margin-block: 0 0.5rem;
	padding: 0;
	border: 0;
	color: var(--acaart-accent);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.acaart-pad-article .acaart-pad-quick-answer__title::after {
	content: none;
}

.acaart-pad-article .acaart-pad-quick-answer__body p {
	margin-block-end: 0.7em;
	font-size: 1.06em;
	line-height: 1.65;
	color: var(--acaart-primary);
	text-align: start;
}

.acaart-pad-article .acaart-pad-quick-answer__body p:last-child {
	margin-block-end: 0;
}

/* --------------------------------------------------------------------------
 * Key takeaways
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-takeaways {
	padding-inline: 1.35rem;
	padding-block: 1.25rem;
	border: 1px solid var(--acaart-border);
	border-block-start: 2px solid var(--acaart-accent);
	border-radius: var(--acaart-radius);
	background: var(--acaart-surface);
	box-shadow: var(--acaart-shadow);
}

.acaart-pad-article .acaart-pad-takeaways__title {
	margin-block: 0 0.75rem;
	padding: 0;
	border: 0;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.acaart-pad-article .acaart-pad-takeaways__title::after {
	content: none;
}

.acaart-pad-article .acaart-pad-takeaways__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.acaart-pad-article .acaart-pad-takeaways__item {
	display: flex;
	align-items: flex-start;
	gap: 0.6em;
	margin-block-end: 0.55em;
	padding: 0;
	line-height: 1.6;
}

.acaart-pad-article .acaart-pad-takeaways__item::marker {
	content: "";
}

.acaart-pad-article .acaart-pad-takeaways__item:last-child {
	margin-block-end: 0;
}

.acaart-pad-article .acaart-pad-takeaways__icon {
	flex: 0 0 auto;
	margin-block-start: 0.3em;
	color: var(--acaart-accent);
}

/* --------------------------------------------------------------------------
 * Author box
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-author {
	padding-inline: 1.35rem;
	padding-block: 1.2rem;
	border: 1px solid var(--acaart-border);
	border-radius: var(--acaart-radius);
	background: var(--acaart-surface);
}

.acaart-pad-article .acaart-pad-author__name {
	margin: 0;
	color: var(--acaart-primary);
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.4;
}

.acaart-pad-article .acaart-pad-author__role {
	margin-block: 0.15rem 0.7rem;
	color: var(--acaart-muted);
	font-size: 0.82rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.acaart-pad-article .acaart-pad-author__body p {
	font-size: 0.96rem;
	text-align: start;
}

.acaart-pad-article .acaart-pad-author__meta {
	margin-block: 0.8rem 0;
	padding-block-start: 0.7rem;
	border-block-start: 1px solid var(--acaart-border);
	font-size: 0.9rem;
}

.acaart-pad-article .acaart-pad-author__meta-row {
	display: flex;
	gap: 0.75rem;
	justify-content: space-between;
	padding-block: 0.25rem;
}

.acaart-pad-article .acaart-pad-author__meta dt {
	margin: 0;
	color: var(--acaart-muted);
	font-weight: 400;
}

.acaart-pad-article .acaart-pad-author__meta dd {
	margin: 0;
	color: var(--acaart-primary);
	font-weight: 600;
	text-align: end;
}

.acaart-pad-article .acaart-pad-author__updated {
	margin-block: 0.8rem 0;
	color: var(--acaart-muted);
	font-size: 0.8rem;
}

/* --------------------------------------------------------------------------
 * Smart internal links
 * The link inherits the article link style; only a faint underline offset
 * distinguishes it, so an automated link never looks like an advert.
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-smart-link {
	text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
 * Editor-only linking report
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-link-report {
	padding-inline: 1.1rem;
	padding-block: 0.9rem;
	border: 1px dashed var(--acaart-border);
	border-radius: var(--acaart-radius);
	background: transparent;
	font-size: 0.82rem;
}

.acaart-pad-article .acaart-pad-link-report__title {
	margin-block: 0 0.5rem;
	color: var(--acaart-muted);
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.acaart-pad-article .acaart-pad-link-report__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.acaart-pad-article .acaart-pad-link-report__list li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 0.2rem;
	color: var(--acaart-muted);
}

.acaart-pad-article .acaart-pad-link-report__list li::marker {
	content: "";
}

/* --------------------------------------------------------------------------
 * Related reading
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-related {
	padding-block-start: 1.4rem;
	border-block-start: 1px solid var(--acaart-border);
}

.acaart-pad-article .acaart-pad-related__title {
	margin-block: 0 0.8rem;
	padding: 0;
	border: 0;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.acaart-pad-article .acaart-pad-related__title::after {
	content: none;
}

.acaart-pad-article .acaart-pad-related__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.acaart-pad-article .acaart-pad-related__item {
	margin: 0;
	padding: 0;
	border-block-end: 1px solid var(--acaart-border);
}

.acaart-pad-article .acaart-pad-related__item::marker {
	content: "";
}

.acaart-pad-article .acaart-pad-related__item:last-child {
	border-block-end: 0;
}

.acaart-pad-article .acaart-pad-related__link {
	display: block;
	padding-block: 0.65rem;
	color: var(--acaart-primary);
	font-size: 0.98rem;
	line-height: 1.5;
	text-decoration: none;
}

.acaart-pad-article .acaart-pad-related__link:hover,
.acaart-pad-article .acaart-pad-related__link:focus-visible {
	color: var(--acaart-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
 * Article summary
 * ----------------------------------------------------------------------- */

.acaart-pad-article .acaart-pad-summary {
	padding-inline: 1.35rem;
	padding-block: 1.25rem;
	border: 1px solid var(--acaart-border);
	border-radius: var(--acaart-radius);
	background: var(--acaart-surface);
}

.acaart-pad-article .acaart-pad-summary__title {
	margin-block: 0 0.6rem;
	padding: 0;
	border: 0;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.acaart-pad-article .acaart-pad-summary__title::after {
	content: none;
}

.acaart-pad-article .acaart-pad-summary__body p {
	margin-block-end: 0.7em;
	font-size: 1.02em;
	line-height: 1.68;
	text-align: start;
}

.acaart-pad-article .acaart-pad-summary__body p:last-child {
	margin-block-end: 0;
}
