/**
 * Add Your Drop sizing & spacing overrides.
 *
 * Purely additive: every rule below re-declares an existing selector's
 * font-size or padding using calc() against a --ayd-*-scale custom property,
 * or a full padding value already computed by PHP per section. Defaults
 * (--ayd-title-scale/--ayd-subtitle-scale/--ayd-body-scale/--ayd-button-scale:
 * 1, and every --ayd-spacing-* variable set to that section's own current
 * padding) reduce every rule below to the exact literal value already used
 * by add-your-drop.css and the section stylesheets, so loading this file
 * changes nothing until a value is edited in Dashboard > Home Page Content >
 * Sizing & spacing.
 *
 * Values are printed as inline custom properties by PHP
 * (ayd_enqueue_sizing_styles() in includes/ayd-sizing-styles.php). This file
 * only defines the selectors that consume them. Loaded after every other
 * front-page stylesheet (priority 41) so these rules reliably win the
 * cascade at matching specificity.
 */

/* ---------- Typography: scale multipliers, default 1 (100%) = no change. ---------- */

.ayd-page__hero h1 {
	font-size: clamp(calc(60px * var(--ayd-title-scale)), calc(7vw * var(--ayd-title-scale)), calc(112px * var(--ayd-title-scale)));
}

.ayd-page__manifesto h2 {
	font-size: clamp(calc(52px * var(--ayd-title-scale)), calc(7.5vw * var(--ayd-title-scale)), calc(112px * var(--ayd-title-scale)));
}

.ayd-page__wins-copy h2 {
	font-size: clamp(calc(48px * var(--ayd-title-scale)), calc(5vw * var(--ayd-title-scale)), calc(78px * var(--ayd-title-scale)));
}

.ayd-page__final-cta h2 {
	font-size: clamp(calc(66px * var(--ayd-title-scale)), calc(9vw * var(--ayd-title-scale)), calc(136px * var(--ayd-title-scale)));
}

.ayd-page__faq-section > h2 {
	font-size: clamp(calc(58px * var(--ayd-title-scale)), calc(7vw * var(--ayd-title-scale)), calc(100px * var(--ayd-title-scale)));
}

.ayd-page .ayd-story__copy h2 {
	font-size: clamp(calc(44px * var(--ayd-title-scale)), calc(5.2vw * var(--ayd-title-scale)), calc(78px * var(--ayd-title-scale)));
}

.ayd-page .ayd-owe__copy h2 {
	font-size: clamp(calc(46px * var(--ayd-title-scale)), calc(5.5vw * var(--ayd-title-scale)), calc(82px * var(--ayd-title-scale)));
}

.ayd-page .ayd-partners h2 {
	font-size: clamp(calc(44px * var(--ayd-title-scale)), calc(6vw * var(--ayd-title-scale)), calc(82px * var(--ayd-title-scale)));
}

.ayd-campaign-video__header h2 {
	font-size: clamp(calc(44px * var(--ayd-title-scale)), calc(5.5vw * var(--ayd-title-scale)), calc(76px * var(--ayd-title-scale)));
}

.ayd-progress h2 {
	font-size: clamp(calc(48px * var(--ayd-title-scale)), calc(6vw * var(--ayd-title-scale)), calc(84px * var(--ayd-title-scale)));
}

@media (max-width: 640px) {
	.ayd-page__hero h1 {
		font-size: clamp(calc(56px * var(--ayd-title-scale)), calc(18vw * var(--ayd-title-scale)), calc(78px * var(--ayd-title-scale)));
	}

	.ayd-page__manifesto h2 {
		font-size: calc(48px * var(--ayd-title-scale));
	}

	.ayd-page__wins-copy h2 {
		font-size: calc(48px * var(--ayd-title-scale));
	}

	.ayd-page__final-cta h2 {
		font-size: calc(62px * var(--ayd-title-scale));
	}

	.ayd-page__faq-section > h2 {
		font-size: calc(58px * var(--ayd-title-scale));
	}

	.ayd-progress h2 {
		font-size: calc(50px * var(--ayd-title-scale));
	}
}

@media (max-width: 900px) {
	.ayd-page .ayd-owe__copy h2 {
		font-size: calc(48px * var(--ayd-title-scale));
	}
}

@media (max-width: 600px) {
	.ayd-page .ayd-story__copy h2 {
		font-size: calc(48px * var(--ayd-title-scale));
	}

	.ayd-campaign-video__header h2 {
		font-size: calc(46px * var(--ayd-title-scale));
	}
}

/* Subtitle / eyebrow text: single shared selector, default 11px. */

.ayd-page__eyebrow {
	font-size: calc(11px * var(--ayd-subtitle-scale));
}

/* Body / paragraph text. */

.ayd-page__hero-description {
	font-size: calc(17px * var(--ayd-body-scale));
}

.ayd-page__manifesto > p:last-child {
	font-size: calc(18px * var(--ayd-body-scale));
}

.ayd-page__wins-copy > p:not(.ayd-page__eyebrow) {
	font-size: calc(16px * var(--ayd-body-scale));
}

.ayd-page__final-cta > p:not(.ayd-page__eyebrow) {
	font-size: calc(17px * var(--ayd-body-scale));
}

.ayd-progress__supporting {
	font-size: calc(17px * var(--ayd-body-scale));
}

.ayd-page .ayd-story__body {
	font-size: calc(17px * var(--ayd-body-scale));
}

.ayd-page .ayd-owe__body {
	font-size: calc(17px * var(--ayd-body-scale));
}

.ayd-campaign-video__text {
	font-size: calc(17px * var(--ayd-body-scale));
}

.ayd-campaign-video__person p {
	font-size: calc(14px * var(--ayd-body-scale));
}

.ayd-page__faq-answer-content {
	font-size: calc(16px * var(--ayd-body-scale));
}

@media (max-width: 640px) {
	.ayd-page__hero-description {
		font-size: calc(15px * var(--ayd-body-scale));
	}
}

@media (max-width: 600px) {
	.ayd-campaign-video__text {
		font-size: calc(16px * var(--ayd-body-scale));
	}
}

/* Button text. */

.ayd-page__button {
	font-size: calc(14px * var(--ayd-button-scale));
}

.ayd-page__button-large {
	font-size: calc(15px * var(--ayd-button-scale));
}

/* ---------- Section spacing ----------
 * Each --ayd-spacing-* variable already carries a complete padding shorthand
 * value (computed by PHP from the section's own current units), so these
 * rules only need to assign it. "Normal" reproduces the section's existing
 * padding exactly at every breakpoint below.
 */

.ayd-progress {
	padding: var(--ayd-spacing-progress);
}

.ayd-page .ayd-story__copy {
	padding: var(--ayd-spacing-story);
}

.ayd-page__manifesto {
	padding: var(--ayd-spacing-manifesto);
}

.ayd-campaign-video {
	padding: var(--ayd-spacing-video);
}

.ayd-page__wins-copy {
	padding: var(--ayd-spacing-water);
}

.ayd-page .ayd-owe__copy {
	padding: var(--ayd-spacing-owe);
}

.ayd-page__final-cta {
	padding: var(--ayd-spacing-final);
}

.ayd-page__faq-section {
	padding: var(--ayd-spacing-faq);
}

.ayd-page .ayd-partners {
	padding: var(--ayd-spacing-partners);
}

.ayd-page__hero {
	padding-bottom: var(--ayd-spacing-hero-bottom, 0);
}

@media (max-width: 980px) {
	.ayd-page__wins-copy {
		padding: var(--ayd-spacing-water-980);
	}

	.ayd-page__faq-section {
		padding-inline: var(--ayd-spacing-faq-inline-980);
	}
}

@media (max-width: 900px) {
	.ayd-page .ayd-owe__copy {
		padding: var(--ayd-spacing-owe-900);
	}
}

@media (max-width: 640px) {
	.ayd-page__hero {
		padding-bottom: var(--ayd-spacing-hero-bottom-640, 80px);
	}

	.ayd-page__manifesto {
		padding: var(--ayd-spacing-manifesto-640);
	}

	.ayd-page__wins-copy {
		padding: var(--ayd-spacing-water-640);
	}

	.ayd-page__final-cta {
		padding: var(--ayd-spacing-final-640);
	}

	.ayd-page__faq-section {
		padding: var(--ayd-spacing-faq-640);
	}

	.ayd-progress {
		padding: var(--ayd-spacing-progress-640);
	}
}

@media (max-width: 600px) {
	.ayd-page .ayd-story__copy {
		padding: var(--ayd-spacing-story-600);
	}

	.ayd-page .ayd-owe__copy {
		padding: var(--ayd-spacing-owe-600);
	}

	.ayd-campaign-video {
		padding: var(--ayd-spacing-video-600);
	}

	.ayd-page .ayd-partners {
		padding-inline: var(--ayd-spacing-partners-inline-600);
	}
}
