/*
 * WordPress integration bridge.
 *
 * theme.json emits global link and heading rules outside the component
 * layer. Keep these narrow overrides in their own file so the shared
 * components file only owns reusable UI.
 */
a.cal-button-primary,
a.cal-button-primary:visited {
	color: var(--cal-color-on-accent);
}

a.cal-button-primary:hover,
a.cal-button-primary:focus-visible {
	border-color: var(--cal-navy);
	background: var(--cal-navy);
	color: var(--cal-color-on-navy);
}

a.cal-button-secondary,
a.cal-button-secondary:visited {
	color: var(--cal-color-link-hover);
}

.cal-home-hero h1,
.cal-article-header h1 {
	color: var(--cal-color-on-navy);
}

.cal-site-header a.cal-header-cta,
.cal-site-header a.cal-header-cta:visited {
	border-color: var(--cal-accent-deep);
	background: var(--cal-accent-deep);
	color: var(--cal-surface);
}

.cal-site-header a.cal-header-cta:hover,
.cal-site-header a.cal-header-cta:focus-visible {
	border-color: var(--cal-navy);
	background: var(--cal-navy);
	color: var(--cal-surface);
}

.cal-site-nav > ul > li > a {
	color: var(--cal-color-text-subtle);
}

.cal-card__title a,
a.cal-card__action,
a.cal-text-link {
	color: var(--cal-color-link);
}

.cal-card__title a:hover,
a.cal-card__action:hover,
a.cal-text-link:hover {
	color: var(--cal-color-link-hover);
}

/* Tile homepage: keep the landing surface practical and tool-led. */
.cal-block--hero.cal-home-tile {
	background: var(--cal-paper);
	background-image: none;
	border-bottom: 0;
	color: var(--cal-ink);
}

.cal-home-tile .cal-home-hero__inner {
	grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr);
	gap: clamp(2rem, 6vw, 5rem);
	max-width: var(--cal-wide);
	padding-top: clamp(4rem, 8vw, 7rem);
	padding-bottom: clamp(4rem, 8vw, 6rem);
}

.cal-home-tile .cal-hero__copy {
	max-width: 44rem;
}

.cal-home-tile.cal-home-hero h1 {
	max-width: 12ch;
	margin: .7rem 0 1.25rem;
	color: var(--cal-ink);
	font-size: clamp(2.9rem, 5.6vw, 5.25rem);
	line-height: .98;
	letter-spacing: 0;
}

.cal-home-tile .cal-hero-kicker {
	color: var(--cal-accent-deep);
}

.cal-home-tile .cal-lede {
	max-width: 54ch;
	color: var(--cal-body-copy);
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	line-height: 1.55;
}

.cal-home-tile .cal-hero__proof {
	color: var(--cal-muted);
}

.cal-home-main .cal-section-heading {
	max-width: 48rem;
	margin-bottom: 1.75rem;
}

.cal-home-main .cal-section-heading-row {
	align-items: end;
}

.cal-home-main .cal-section-heading h2 {
	margin-top: .45rem;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	line-height: 1.05;
}

.cal-home-main .cal-home-section-intro {
	max-width: 58ch;
	margin: .85rem 0 0;
	color: var(--cal-muted);
	line-height: 1.6;
}

.cal-home-main .cal-grid--cards,
.cal-home-main .cal-grid--guides {
	gap: 1rem;
}

.cal-home-main .cal-grid--cards .cal-card {
	min-height: 17rem;
}

@media (max-width: 820px) {
	.cal-home-tile .cal-home-hero__inner {
		grid-template-columns: 1fr;
	}

}

@media (max-width: 560px) {
	.cal-home-tile.cal-home-hero h1 {
		max-width: 14ch;
		font-size: clamp(2.35rem, 10vw, 3.4rem);
	}

	.cal-home-main .cal-grid--cards .cal-card {
		min-height: 0;
	}
}

/* theme.json emits unlayered heading/link colours after the layered theme CSS. */
.cal-site-footer .cal-footer-nav__title {
	color: var(--cal-footer-text);
}

.cal-site-footer .cal-footer-nav a,
.cal-site-footer .cal-footer-nav a:visited,
.cal-site-footer .cal-site-footer__utility a,
.cal-site-footer .cal-site-footer__utility a:visited {
	color: var(--cal-footer-muted);
}

.cal-site-footer .cal-footer-nav a:hover,
.cal-site-footer .cal-footer-nav a:focus-visible,
.cal-site-footer .cal-site-footer__utility a:hover,
.cal-site-footer .cal-site-footer__utility a:focus-visible {
	color: var(--cal-accent);
}
