/* ==========================================================================
   RS Driving — landing page templates
   Tokens (--rsd-*) come from the RS Driving Core plugin.
   ========================================================================== */

.rsd-landing {
	--rsd-measure: 68ch;
	color: var(--rsd-ink, #14203a);
}

.rsd-wrap {
	max-width: 1120px;
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 32px);
}

.rsd-section {
	padding-block: clamp(36px, 7vw, 68px);
}

.rsd-section--tint {
	background: var(--rsd-navy-soft, #eef1f7);
}

.rsd-section h2 {
	font-size: clamp(1.4rem, 4vw, 2rem);
	color: var(--rsd-navy, #0e2148);
	margin-block: 0 clamp(16px, 3vw, 26px);
	line-height: 1.35;
}

.rsd-prose {
	max-width: var(--rsd-measure);
	line-height: 1.9;
}

.rsd-prose p { margin-block: 0 1.1em; }

.rsd-center { text-align: center; margin-top: 26px; }

.rsd-small {
	font-size: .9em;
	color: var(--rsd-slate, #5b6880);
	margin-top: 16px;
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.rsd-hero {
	background:
		radial-gradient(1200px 400px at 15% -10%, rgba(208, 33, 43, .28), transparent 60%),
		linear-gradient(135deg, var(--rsd-navy, #0e2148) 0%, var(--rsd-navy-deep, #071328) 100%);
	color: #fff;
	padding-block: clamp(34px, 8vw, 76px);
}

.rsd-hero__inner {
	max-width: 1120px;
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 32px);
}

.rsd-hero h1 {
	font-size: clamp(1.65rem, 5.5vw, 2.9rem);
	line-height: 1.28;
	margin-block: 14px 16px;
	color: #fff;
	max-width: 20ch;
}

.rsd-hero__sub {
	font-size: clamp(1rem, 2.4vw, 1.15rem);
	line-height: 1.85;
	opacity: .93;
	max-width: 56ch;
	margin-block: 0 26px;
}

.rsd-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 26px;
}

.rsd-hero .rsd-btn--ghost {
	color: #fff;
	border-color: rgba(255, 255, 255, .55);
}

.rsd-hero .rsd-btn--ghost:hover {
	background: #fff;
	color: var(--rsd-navy, #0e2148);
}

/* Breadcrumbs */
.rsd-crumbs {
	font-size: .85em;
	opacity: .78;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
}

.rsd-crumbs a { color: #fff; text-decoration: none; }
.rsd-crumbs a:hover { text-decoration: underline; }

/* Trust badges */
.rsd-badges {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.rsd-badges li {
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 999px;
	padding: 7px 15px;
	font-size: .85em;
	font-weight: 600;
	backdrop-filter: blur(2px);
}

/* Price badge on course pages */
.rsd-price-badge {
	display: inline-flex;
	flex-direction: column;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: var(--rsd-radius, 14px);
	padding: 14px 26px;
	margin-bottom: 24px;
}

.rsd-price-badge__amount {
	font-size: clamp(1.8rem, 6vw, 2.6rem);
	font-weight: 700;
	line-height: 1.15;
}

.rsd-price-badge__meta { font-size: .9em; opacity: .85; }

/* --------------------------------------------------------------------------
   Table
   -------------------------------------------------------------------------- */

.rsd-table {
	width: 100%;
	max-width: 620px;
	border-collapse: collapse;
	background: #fff;
	border-radius: var(--rsd-radius, 14px);
	overflow: hidden;
	box-shadow: var(--rsd-shadow, 0 8px 24px rgba(14, 33, 72, .08));
}

.rsd-table th,
.rsd-table td {
	padding: 14px 18px;
	text-align: start;
	border-bottom: 1px solid var(--rsd-navy-soft, #eef1f7);
}

.rsd-table th {
	font-weight: 600;
	color: var(--rsd-slate, #5b6880);
	width: 62%;
}

.rsd-table td {
	font-weight: 700;
	color: var(--rsd-navy, #0e2148);
}

.rsd-table tr:last-child th,
.rsd-table tr:last-child td { border-bottom: 0; }

/* --------------------------------------------------------------------------
   Note box + map
   -------------------------------------------------------------------------- */

.rsd-note {
	background: #fff;
	border-inline-start: 4px solid var(--rsd-red, #d0212b);
	border-radius: var(--rsd-radius, 14px);
	padding: 22px 26px;
	box-shadow: var(--rsd-shadow, 0 8px 24px rgba(14, 33, 72, .08));
	max-width: var(--rsd-measure);
}

.rsd-note h2 { margin-top: 0; font-size: 1.25rem; }

.rsd-map-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 26px;
	align-items: start;
}

@media (min-width: 860px) {
	.rsd-map-grid { grid-template-columns: 1fr 1.25fr; }
}

.rsd-map {
	border-radius: var(--rsd-radius, 14px);
	overflow: hidden;
	box-shadow: var(--rsd-shadow, 0 8px 24px rgba(14, 33, 72, .08));
	aspect-ratio: 16 / 10;
	background: var(--rsd-navy-soft, #eef1f7);
}

.rsd-map iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* --------------------------------------------------------------------------
   Reduced motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.rsd-landing * {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
}
