/* Compositions share section tokens rather than creating separate page skins. */
.amp-library.amp-section {
	max-inline-size: none;
	margin-block: 0;
	padding-block: var(--amp-section-space);
	padding-inline: var(--wp--custom--layout--gutter);
}
.amp-intro { text-align: center; }
.amp-intro .is-style-amp-section-heading { margin-inline: auto; }
.amp-content-columns.wp-block-columns { gap: var(--wp--preset--spacing--70); margin-block: 0; align-items: center; }
.amp-content-columns > .wp-block-column { min-inline-size: 0; }
.amp-copy-column > :first-child { margin-block-start: 0; }
.amp-copy-column > :last-child { margin-block-end: 0; }
.amp-media-column:not(:has(img[src]:not([src=""]))) { display: none; }
.editor-styles-wrapper .amp-media-column:not(:has(img[src]:not([src=""]))) { display: block; }
.is-style-amp-content-image { margin-block: 0; }
.is-style-amp-content-image img { display: block; inline-size: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--wp--custom--radius--large); }
.is-style-amp-content-image:not(:has(img[src]:not([src=""]))) { display: none; }
.editor-styles-wrapper .is-style-amp-content-image:not(:has(img[src]:not([src=""]))) { display: block; }
.amp-statistics.wp-block-group { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--wp--preset--spacing--50); text-align: center; }
.amp-statistic.wp-block-group { min-inline-size: 0; margin-block: 0; padding-block: var(--wp--preset--spacing--30); }
.amp-statistic > * { margin-block: 0; }
.is-style-amp-stat-value { font-size: var(--wp--preset--font-size--heading); font-weight: 700; color: var(--amp-surface-heading, var(--wp--preset--color--primary)); line-height: 1.35; font-variant-numeric: tabular-nums; }
.amp-statistic + .amp-statistic { border-inline-start: 1px solid var(--wp--custom--border--color); }
.is-style-amp-faq summary { min-block-size: 44px; padding-block: var(--wp--preset--spacing--20); font-weight: 700; color: var(--amp-surface-heading, var(--wp--preset--color--primary)); cursor: pointer; overflow-wrap: anywhere; }
.amp-support-copy { max-inline-size: var(--wp--custom--layout--narrow); margin-inline: auto; text-align: center; }
.amp-support-copy > :first-child { margin-block-start: 0; }
.amp-support-copy .wp-block-buttons { justify-content: center; }
.amp-support-copy .wp-block-buttons:empty { display: none; }
.amp-support-actions:not(:has(.wp-block-button)) { display: none; }
.amp-contact-details { overflow-wrap: anywhere; }
@media (max-width: 48rem) {
	.amp-statistics.wp-block-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.amp-statistic:nth-child(odd) { border-inline-start: 0; }
}
@media (max-width: 24rem) {
	.amp-statistics.wp-block-group { grid-template-columns: minmax(0, 1fr); }
	.amp-statistic + .amp-statistic { border-inline-start: 0; border-block-start: 1px solid var(--wp--custom--border--color); }
}

/* D6 — polish common editorial sections without changing their semantics. */
.amp-content-columns {
	--amp-copy-max: 38rem;
}

.amp-content-columns .amp-copy-column {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.amp-content-columns .amp-copy-column > p {
	max-inline-size: var(--amp-copy-max);
	line-height: 1.9;
}

.amp-content-columns .amp-copy-column > h2 {
	max-inline-size: 18ch;
}

.amp-content-columns .is-style-amp-content-image img {
	box-shadow: var(--wp--preset--shadow--raised);
}

.is-style-amp-faq.wp-block-details {
	margin-block: 0;
	padding: 0;
	border: 1px solid var(--wp--custom--border--color);
	border-radius: var(--wp--custom--radius--small);
	background: var(--wp--preset--color--white);
	overflow: clip;
}

.is-style-amp-faq.wp-block-details + .is-style-amp-faq.wp-block-details {
	margin-block-start: var(--wp--preset--spacing--30);
}

.is-style-amp-faq summary {
	padding: 1rem 1.15rem;
}

.is-style-amp-faq[open] summary {
	background: var(--wp--custom--surface--purple-soft);
}

.is-style-amp-faq > :not(summary) {
	margin-inline: 1.15rem;
}

.is-style-amp-faq > :last-child {
	margin-block-end: 1.15rem;
}

/* Only the step composition positions its number over the image. */
.amp-step-card .amp-step-number {
	position: absolute;
	inset-block-start: var(--wp--preset--spacing--20);
	inset-inline-end: var(--wp--preset--spacing--20);
}

@media (min-width: 64.01rem) {
	.amp-steps-grid > .amp-step-card:has(img[src]:not([src=""])):not(:last-child):has(+ .amp-step-card img[src]:not([src=""]))::after {
		content: "";
		position: absolute;
		z-index: 1;
		inset-inline-end: calc(-1 * var(--wp--preset--spacing--50));
		inset-block-start: clamp(7rem, 13vw, 12rem);
		inline-size: var(--wp--preset--spacing--50);
		border-block-start: 2px dashed color-mix(in srgb, var(--wp--preset--color--primary-hover) 25%, transparent);
		pointer-events: none;
	}
}

/* Core Details keeps native keyboard and expanded-state behavior. */
.amp-reference-faq.wp-block-group { display: grid; gap: var(--wp--preset--spacing--40); }
.amp-reference-details.wp-block-details {
	margin-block: 0;
	border: 1px solid var(--wp--custom--border--color);
	border-radius: var(--wp--custom--radius--large);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
}
.amp-reference-details summary {
	position: relative;
	min-block-size: 3.5rem;
	padding: var(--wp--preset--spacing--50);
	padding-inline-end: calc(var(--wp--preset--spacing--50) + 2.5rem);
	list-style: none;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	line-height: 1.5;
	cursor: pointer;
}
.amp-reference-details summary::-webkit-details-marker { display: none; }
.amp-reference-details summary::after {
	content: "";
	position: absolute;
	inset-inline-end: var(--wp--preset--spacing--50);
	inset-block-start: 1.75rem;
	inline-size: .65rem;
	block-size: .65rem;
	border-inline-end: 2px solid currentColor;
	border-block-end: 2px solid currentColor;
	transform: rotate(45deg);
}
.amp-reference-details[open] { background: var(--wp--custom--surface--orange-soft); }
.amp-reference-details[open] summary::after { transform: rotate(225deg); }
.amp-reference-details summary:dir(rtl)::after { transform: rotate(-45deg); }
.amp-reference-details[open] summary:dir(rtl)::after { transform: rotate(135deg); }
.amp-reference-details > :not(summary) {
	margin-block: 0 var(--wp--preset--spacing--50);
	margin-inline: var(--wp--preset--spacing--50);
	color: var(--wp--custom--surface--muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.9;
}
.amp-reference-details summary:focus-visible { outline: 3px solid var(--wp--preset--color--primary); outline-offset: 3px; border-radius: inherit; }

/* Flexible native CTA: colors chosen in Gutenberg take precedence over defaults. */
.amp-cta-banner.amp-reference-split {
 --amp-cta-ink: var(--wp--preset--color--white);
 --amp-cta-fill: linear-gradient(120deg, var(--wp--preset--color--primary), var(--wp--preset--color--dark));
 grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
 gap: var(--wp--preset--spacing--60); align-items: center;
 padding: clamp(1.5rem, 4vw, 3.5rem);
 border-radius: var(--wp--custom--radius--large); box-shadow: var(--wp--preset--shadow--soft);
}
.amp-cta-banner.is-style-amp-cta-soft { --amp-cta-ink: var(--wp--preset--color--primary); --amp-cta-fill: var(--wp--preset--color--soft); }
.amp-cta-banner.is-style-amp-cta-impact { --amp-cta-fill: linear-gradient(120deg, var(--wp--preset--color--dark), var(--wp--preset--color--primary), var(--wp--preset--color--primary-hover)); }
.amp-cta-banner:not(.has-background) { background: var(--amp-cta-fill); }
.amp-cta-banner:not(.has-text-color) { color: var(--amp-cta-ink); }
.amp-cta-copy > h2:not(.has-text-color), .amp-cta-copy > p:not(.has-text-color) { color: inherit; }
.amp-cta-copy > h2 { margin: 0; font-size: var(--wp--preset--font-size--heading); line-height: 1.4; }
.amp-cta-copy > p:not(.amp-reference-kicker) { font-size: var(--wp--preset--font-size--large); line-height: 1.8; }
.amp-cta-copy .amp-reference-kicker { align-self: flex-start; display: inline-flex; padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50); border-radius: var(--wp--custom--radius--pill); font-size: var(--wp--preset--font-size--medium); font-weight: 700; }
.amp-cta-copy .amp-reference-kicker:not(.has-background) { background: color-mix(in srgb, currentColor 10%, transparent); }
.amp-cta-copy .amp-reference-kicker:not(.has-text-color) { color: inherit; }
.amp-cta-banner .amp-reference-actions { margin-block-start: 0; padding-block-start: 0; }
.amp-cta-actions .wp-block-button__link { min-block-size: 48px; border-radius: var(--wp--custom--radius--small); padding: .9rem 1.5rem; white-space: normal; }
.amp-cta-actions .amp-cta-primary .wp-block-button__link:not(.has-background) { background: var(--wp--preset--color--accent); }
.amp-cta-actions .amp-cta-primary .wp-block-button__link:not(.has-text-color) { color: var(--wp--preset--color--dark); }
.amp-cta-actions .amp-cta-secondary .wp-block-button__link:not(.has-background) { background: transparent; }
.amp-cta-actions .amp-cta-secondary .wp-block-button__link:not(.has-text-color) { color: inherit; }
.amp-cta-actions .amp-cta-secondary .wp-block-button__link { border: 1px solid currentColor; }
.amp-cta-actions .wp-block-button__link:hover { filter: brightness(.95); }
.amp-cta-actions .wp-block-button__link:focus-visible { outline-color: currentColor; }
.amp-cta-media .amp-reference-image { aspect-ratio: 4 / 3; margin: 0; box-shadow: none; }
.wp-site-blocks .amp-cta-banner:not(:has(.amp-cta-media img[src]:not([src=""]))) { grid-template-columns: minmax(0, 1fr); }
.wp-site-blocks .amp-cta-banner:not(:has(.amp-cta-media img[src]:not([src=""]))) .amp-cta-copy { max-inline-size: var(--wp--custom--layout--narrow); margin-inline: auto; text-align: center; }
.wp-site-blocks .amp-cta-banner:not(:has(.amp-cta-media img[src]:not([src=""]))) .amp-reference-kicker { align-self: center; }
@media (max-width: 52rem) {
 .amp-cta-banner.amp-reference-split { grid-template-columns: minmax(0, 1fr); }
 .amp-cta-media { order: 2; }
}
