/**
 * ReturnCars hub card grid — RC-SPRINT 8 visual foundation
 *
 * Breakpoints:
 *   mobile  — default, 1 column (< 600px)
 *   tablet  — 2 columns (600px – 959px)
 *   desktop — 3 columns (≥ 960px)
 *
 * Spacing scale: 0.5rem (8px), 0.75rem (12px), 1rem (16px), 1.5rem (24px)
 */

.rc-hub-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin: 1.5rem 0;
}

@media (min-width: 600px) {
	.rc-hub-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.25rem;
	}
}

@media (min-width: 960px) {
	.rc-hub-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 1.5rem;
	}
}

.rc-hub-card {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1.25rem 1.5rem;
	border: 1px solid #d8dee6;
	border-radius: 8px;
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

a.rc-hub-card:hover,
a.rc-hub-card:focus-visible {
	border-color: #2c5282;
	box-shadow: 0 2px 8px rgba(44, 82, 130, 0.12);
	text-decoration: none;
}

a.rc-hub-card:focus-visible {
	outline: 2px solid #2c5282;
	outline-offset: 2px;
}

.rc-hub-card__title {
	display: block;
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.35;
	color: #1a365d;
}

a.rc-hub-card:hover .rc-hub-card__title,
a.rc-hub-card:focus-visible .rc-hub-card__title {
	color: #2c5282;
}

.rc-hub-card__desc {
	display: block;
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.5;
	color: #4a5568;
}

/* Planned / not-yet-published items — muted, non-interactive */
.rc-hub-card--geplant {
	background: #f7f8fa;
	border-color: #e2e8f0;
	border-style: dashed;
	cursor: default;
	pointer-events: none;
}

.rc-hub-card--geplant .rc-hub-card__title {
	color: #718096;
	font-weight: 600;
}

.rc-hub-card--geplant .rc-hub-card__desc {
	color: #a0aec0;
}

/**
 * Homepage hero — clearance under Astra transparent header (page 725 only).
 * Scoped to .home / .page-id-725 so hub pages are unaffected.
 */
.home.ast-theme-transparent-header #content.site-content,
.page-id-725.ast-theme-transparent-header #content.site-content {
	padding-top: 7rem;
}

@media (max-width: 921px) {
	.home.ast-theme-transparent-header #content.site-content,
	.page-id-725.ast-theme-transparent-header #content.site-content {
		padding-top: 6.5rem;
	}
}

.home .entry-content > .rc-home-eyebrow:first-child,
.page-id-725 .entry-content > .rc-home-eyebrow:first-child {
	display: block;
	line-height: 1.5;
	margin-top: 0;
	margin-bottom: 0.75rem;
}

.home .entry-content > .rc-home-eyebrow + h1,
.page-id-725 .entry-content > .rc-home-eyebrow + h1 {
	margin-top: 0;
}

/**
 * Homepage content width — align with header .ast-container (page-builder template
 * strips default horizontal padding). Scoped to .home / .page-id-725 only.
 */
.home #content.site-content > .ast-container,
.page-id-725 #content.site-content > .ast-container {
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}

@media (max-width: 921px) {
	.home #content.site-content > .ast-container,
	.page-id-725 #content.site-content > .ast-container {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}
