/* ==========================================================================
   Closing CTA (UI-13)
   Figma node 95:206. Consumes tokens from tokens.css only.
   No dedicated mobile Figma frame exists for this section -- doc flags
   this explicitly as a question for Byrne/Lynette to confirm. The
   @media block below is an interim fluid-scaling treatment, not a
   distinct mobile design; revisit once confirmed.
   Ghost-link arrow icon (Figma node 95:220) BLOCKED by this sandbox's
   network allowlist -- .loa-closing-cta__link-icon is a reserved empty
   slot until Byrne supplies the asset.
   ========================================================================== */

.loa-closing-cta {
	border-top: var(--loa-closing-cta-border-top);
	padding: var(--loa-closing-cta-pad-top) var(--loa-closing-cta-pad-x) var(--loa-closing-cta-pad-bottom);
	max-width: var(--loa-closing-cta-max);
	margin: 0 auto;
}

.loa-closing-cta__inner {
	max-width: var(--loa-closing-cta-inner-max);
	margin: 0 auto;
	text-align: center;
}

.loa-closing-cta__eyebrow {
	margin: 0 0 var(--loa-closing-cta-eyebrow-gap);
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: var(--loa-closing-cta-eyebrow-size);
	text-transform: uppercase;
	letter-spacing: var(--loa-closing-cta-eyebrow-tracking);
	color: var(--loa-closing-cta-eyebrow-color);
}

.loa-closing-cta__heading {
	margin: 0 0 var(--loa-closing-cta-heading-gap);
	font-family: 'Playfair Display', serif;
	font-size: var(--loa-closing-cta-heading-size);
	line-height: var(--loa-closing-cta-heading-line);
	color: var(--loa-closing-cta-heading-color);
	font-weight: 500;
}

.loa-closing-cta__heading-line--2 {
	display: block;
	font-style: italic;
}

.loa-closing-cta__body {
	margin: 0 auto var(--loa-closing-cta-body-gap);
	max-width: var(--loa-closing-cta-body-max);
	font-family: 'Inter', sans-serif;
	font-weight: 300;
	font-size: var(--loa-closing-cta-body-size);
	line-height: var(--loa-closing-cta-body-line);
	color: var(--loa-closing-cta-body-color);
}

.loa-closing-cta__ctas {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--loa-closing-cta-row-gap);
	padding-top: var(--loa-closing-cta-row-pad-top);
	flex-wrap: wrap;
}

.loa-closing-cta__primary {
	/* v0.25.0 (UI-22): this can now be an <a> (Calendly) as well as a
	   <button> (modal fallback). Buttons are border-box by default and
	   links are not, so without this the <a> grew from 64px to 88px tall
	   on mobile (min-height + 12px padding). Pinning it keeps both
	   elements pixel-identical. */
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: var(--loa-closing-cta-btn-height);
	padding: 0 var(--loa-closing-cta-btn-pad-x);
	background: var(--loa-closing-cta-btn-bg);
	color: var(--loa-closing-cta-btn-color);
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: var(--loa-closing-cta-btn-size);
	text-transform: uppercase;
	letter-spacing: var(--loa-closing-cta-btn-tracking);
	border: none;
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
}

.loa-closing-cta__secondary {
	display: inline-flex;
	align-items: center;
	gap: var(--loa-closing-cta-link-icon-gap);
	color: var(--loa-closing-cta-link-color);
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: var(--loa-closing-cta-link-size);
	text-transform: uppercase;
	letter-spacing: var(--loa-closing-cta-link-tracking);
	text-decoration: none;
	white-space: nowrap;
}

.loa-closing-cta__link-icon {
	/* BLOCKED asset (Figma node 95:220) -- reserved empty slot, spec size */
	display: inline-block;
	width: var(--loa-closing-cta-link-icon-w);
	height: var(--loa-closing-cta-link-icon-h);
	flex: 0 0 auto;
}

@media (max-width: 1024px) {
	.loa-closing-cta {
		padding: var(--loa-closing-cta-m-pad-top) var(--loa-closing-cta-m-pad-x) var(--loa-closing-cta-m-pad-bottom);
	}

	.loa-closing-cta__heading {
		font-size: var(--loa-closing-cta-m-heading-size);
		line-height: var(--loa-closing-cta-m-heading-line);
	}

	.loa-closing-cta__body {
		font-size: var(--loa-closing-cta-m-body-size);
		line-height: var(--loa-closing-cta-m-body-line);
	}

	/* 2026-09-25 (found verifying UI-18): at 320w the nowrap label plus
	   40px side padding made this button 318px wide inside a 272px
	   column, so every page carrying the closing CTA (home, Programs,
	   Properties) scrolled sideways on the narrowest phones. The button
	   may now never exceed its column, and if a label ever cannot fit it
	   wraps inside the button instead of overflowing it. min-height
	   keeps the 64px mobile height, so nothing changes at normal phone
	   widths. */
	.loa-closing-cta__primary {
		height: auto;
		min-height: var(--loa-closing-cta-m-btn-height);
		max-width: 100%;
		padding: 12px var(--loa-closing-cta-m-btn-pad-x);
		white-space: normal;
		text-align: center;
	}

	.loa-closing-cta__ctas {
		flex-direction: column;
	}
}

/* The closing CTA's secondary can be flagged 'modal' => true in
   inc/content.php, in which case index.php emits a <button> carrying the
   same class instead of an <a> (2026-09-08). Chrome reset only:
   background, border and colour stay owned by the class rule above, since
   an element+class selector would otherwise outrank it. */
button.loa-closing-cta__secondary {
	appearance: none;
	-webkit-appearance: none;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
}

/* Narrowest phones (320-360w): tighten the primary button's side padding
   so "Schedule Consultation" still fits on one line instead of wrapping.
   See the note in the mobile block above. */
@media (max-width: 360px) {
	.loa-closing-cta__primary {
		padding-inline: 16px;
	}
}
