/**
 * Smart Driving School — Marketing / landing shortcodes CSS
 *
 * Loaded lazily only on pages that include one of our marketing shortcodes.
 * Styled to look good out of the box but minimally opinionated so themes
 * and builders can override easily.
 */

/* ==========================================================
   Layout shell (applied to pages using the landing template)
   ========================================================== */

body.page-template-page-sds-landing {
	background: #f4efe6;
}
.sds-landing-page {
	margin: 0;
	padding: 0;
	max-width: 100%;
}
.sds-landing-page .sds-marketing-section,
.sds-landing-page > * {
	box-sizing: border-box;
}

/* ==========================================================
   Hero
   ========================================================== */

.sds-hero {
	padding: 100px 24px;
	text-align: center;
	position: relative;
}
.sds-hero-inner {
	max-width: 720px;
	margin: 0 auto;
}
.sds-hero-title {
	font-size: 48px;
	font-weight: 800;
	line-height: 1.1;
	margin: 0 0 16px;
	letter-spacing: -0.02em;
}
.sds-hero-subtitle {
	font-size: 18px;
	line-height: 1.5;
	margin: 0 0 32px;
	opacity: 0.9;
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}
.sds-hero-cta {
	display: inline-block;
	background: #C85A1E;
	color: #fff;
	padding: 16px 32px;
	border-radius: 10px;
	font-size: 17px;
	font-weight: 600;
	text-decoration: none;
	min-height: 44px;
	box-sizing: border-box;
	transition: transform 0.15s, background-color 0.15s;
}
.sds-hero-cta:hover,
.sds-hero-cta:focus {
	background: #a84a14;
	transform: translateY(-1px);
	color: #fff;
}

@media (max-width: 640px) {
	.sds-hero { padding: 70px 18px; }
	.sds-hero-title { font-size: 34px; }
	.sds-hero-subtitle { font-size: 16px; }
}

/* ==========================================================
   Section wrappers + grid
   ========================================================== */

.sds-marketing-section {
	padding: 72px 24px;
	max-width: 1160px;
	margin: 0 auto;
}
.sds-marketing-heading {
	text-align: center;
	font-size: 32px;
	font-weight: 700;
	margin: 0 0 40px;
	letter-spacing: -0.01em;
	color: #17150f;
}
.sds-marketing-empty {
	text-align: center;
	color: #6b6558;
	padding: 40px 20px;
	font-style: italic;
}

.sds-grid {
	display: grid;
	gap: 24px;
}
.sds-grid-2 { grid-template-columns: repeat(2, 1fr); }
.sds-grid-3 { grid-template-columns: repeat(3, 1fr); }

@media (max-width: 900px) {
	.sds-grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.sds-grid-2, .sds-grid-3 { grid-template-columns: 1fr; }
	.sds-marketing-section { padding: 48px 16px; }
	.sds-marketing-heading { font-size: 26px; margin-bottom: 28px; }
}

/* ==========================================================
   Instructor card
   ========================================================== */

.sds-card-instructor {
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0,0,0,0.04);
	display: flex;
	flex-direction: column;
	transition: transform 0.15s, box-shadow 0.15s;
}
.sds-card-instructor:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}
.sds-card-instructor-photo {
	aspect-ratio: 4 / 3;
	background-size: cover;
	background-position: center;
	background-color: #e5ddcb;
}
.sds-card-instructor-photo--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 64px;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(135deg, #C85A1E 0%, #a84a14 100%);
}
.sds-card-instructor-body {
	padding: 20px;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.sds-card-instructor-name {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 4px;
	color: #17150f;
}
.sds-card-instructor-title {
	font-size: 13px;
	color: #6b6558;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 10px;
}
.sds-card-instructor-bio {
	font-size: 14px;
	line-height: 1.55;
	color: #3f3c33;
	margin: 0;
}

/* ==========================================================
   Package card
   ========================================================== */

.sds-card-package {
	background: #fff;
	border-radius: 14px;
	padding: 28px 24px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.04);
	display: flex;
	flex-direction: column;
	position: relative;
	transition: transform 0.15s, box-shadow 0.15s;
}
.sds-card-package:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}
.sds-card-package.is-featured {
	background: #17150f;
	color: #fff;
	transform: translateY(-4px);
}
.sds-card-package.is-featured .sds-card-package-name,
.sds-card-package.is-featured .sds-card-package-price-value {
	color: #fff;
}
.sds-card-package.is-featured .sds-card-package-desc {
	color: rgba(255,255,255,0.8);
}
.sds-card-package-badge {
	position: absolute;
	top: -12px;
	right: 20px;
	background: #C85A1E;
	color: #fff;
	padding: 4px 12px;
	border-radius: 99px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.sds-card-package-name {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 8px;
	color: #17150f;
}
.sds-card-package-price {
	margin: 0 0 18px;
}
.sds-card-package-price-value {
	font-size: 36px;
	font-weight: 800;
	color: #17150f;
	letter-spacing: -0.02em;
}
.sds-card-package-price-per {
	display: block;
	font-size: 13px;
	color: #6b6558;
	margin-top: 2px;
}
.sds-card-package.is-featured .sds-card-package-price-per {
	color: rgba(255,255,255,0.7);
}
.sds-card-package-desc {
	font-size: 14px;
	line-height: 1.55;
	color: #3f3c33;
	margin: 0 0 20px;
	flex: 1;
}
.sds-card-package-cta {
	display: inline-block;
	background: #C85A1E;
	color: #fff;
	padding: 12px 22px;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
	min-height: 44px;
	box-sizing: border-box;
	transition: background-color 0.15s;
}
.sds-card-package-cta:hover,
.sds-card-package-cta:focus {
	background: #a84a14;
	color: #fff;
}
.sds-card-package.is-featured .sds-card-package-cta {
	background: #fff;
	color: #17150f;
}
.sds-card-package.is-featured .sds-card-package-cta:hover {
	background: #f0e8d4;
}

/* ==========================================================
   Review card
   ========================================================== */

.sds-card-review {
	background: #fff;
	border-radius: 14px;
	padding: 28px 26px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.04);
	display: flex;
	flex-direction: column;
}
.sds-card-review-stars {
	color: #f59e0b;
	font-size: 18px;
	letter-spacing: 0.08em;
	margin-bottom: 14px;
}
.sds-card-review-body {
	font-size: 16px;
	line-height: 1.6;
	color: #17150f;
	margin: 0 0 18px;
	padding: 0;
	border: 0;
	flex: 1;
	font-style: italic;
}
.sds-card-review-body::before { content: '"'; }
.sds-card-review-body::after  { content: '"'; }
.sds-card-review-footer {
	font-size: 14px;
	color: #17150f;
}
.sds-card-review-meta {
	color: #6b6558;
	margin-left: 6px;
}

/* ==================================================================
   Package price list (v1.21.4)
   ------------------------------------------------------------------
   A stacked ledger rather than a grid of cards. Reading four packages
   is a price comparison, and a single column with the figures aligned
   on one right edge lets the eye run straight down them. Card grids
   scatter those figures across three columns and make you hunt.

   Highlighted rows carry a tint plus a badge; unhighlighted rows stay
   plain so the emphasis means something.
   ================================================================== */

.sds-pricelist-section {
	/* The section wrapper adds page padding elsewhere; inside a builder
	   column the list supplies its own frame, so keep this transparent. */
	padding: 0;
	background: none;
}

.sds-pricelist {
	--sds-pl-ink:     #17150F;
	--sds-pl-muted:   #6B6558;
	--sds-pl-surface: #FDFBF7;
	--sds-pl-rule:    #DED6C8;
	--sds-pl-tint-1:  #FAE9E5;   /* first highlighted row  */
	--sds-pl-tint-2:  #FBF1DD;   /* second highlighted row */
	--sds-pl-pill-1:  #17150F;
	--sds-pl-pill-2:  #E0362A;
    background:transparent;
	border-radius: 22px;
	overflow: hidden;                 /* clips row tints to the corners */
	
}

/* ---- Row ---- */

.sds-pricelist .sds-pricerow {
	text-decoration: none;
	color: var(--sds-pl-ink);
	transition: background-color 0.15s ease;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 16px;
	border-bottom: 1px dashed var(--line);
	gap: 20px;
}

/* Dotted rules between rows only — not above the first or below the last.
   A border rather than an inset shadow, because only a border can be
   dotted, and the dotted rule is what keeps this reading as a printed
   price list rather than a table. */
.sds-pricelist .sds-pricerow + .sds-pricerow {
	border-top: 1px dotted var(--sds-pl-rule);
}

.sds-pricelist .sds-pricerow.is-accent-1 {
    background: linear-gradient(180deg, rgba(223, 46, 46, .12), transparent);
    margin: 8px 0px;
    padding: 22px 16px;
    border-radius: 14px;
    border-bottom: 1px dashed transparent;
}
.sds-pricelist .sds-pricerow.is-accent-2 {
	background: linear-gradient(180deg, rgba(244, 197, 66, .18), transparent);
	margin: 8px 0px;
	padding: 22px 16px;
	border-radius: 14px;
	border-bottom: 1px dashed transparent;
}

.sds-pricelist .sds-pricerow:hover,
.sds-pricelist .sds-pricerow:focus-visible {
/* 	background: #F3EDE1; */
	text-decoration: none;
	color: var(--sds-pl-ink);
}
.sds-pricelist .sds-pricerow.is-accent-1:hover { background: #F6DED8; }
.sds-pricelist .sds-pricerow.is-accent-2:hover { background: #F7E8CB; }

.sds-pricelist .sds-pricerow:focus-visible {
	outline: 2px solid var(--sds-pl-ink);
	outline-offset: -3px;
}

/* ---- Row content ---- */

.sds-pricelist .sds-pricerow-main {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 12px;
}

.sds-pricelist .sds-pricerow-name {
    font-family: 'Bricolage Grotesque';
    font-weight: 600;
    font-size: 19px;
    letter-spacing: -.01em;
    color: var(--ink);
    font-variation-settings: "opsz" 96;
}

.sds-pricelist .sds-pricerow-meta {
    line-height: 1.45;
    color: var(--sds-pl-muted);
    font-size: 14px;
    opacity: .6;
}

.sds-pricelist .sds-pricerow-price {
	flex: 0 0 auto;
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum" 1;
	font-family: 'Bricolage Grotesque';
	font-weight: 700;
	font-size: 26px;
	letter-spacing: -.025em;
	color: #0d2620;
	white-space: nowrap;
}

/* ---- Badge ---- */

.sds-pricelist .sds-pricerow-badge {
	flex: 0 0 auto;
	display: inline-block;
	padding: 5px 11px;
	border-radius: 999px;
	background: var(--sds-pl-pill-1);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	white-space: nowrap;
}
.sds-pricelist .sds-pricerow.is-accent-2 .sds-pricerow-badge {
	background: var(--sds-pl-pill-2);
}

/* ---- Small screens ---- */

@media (max-width: 600px) {
	.sds-pricelist .sds-pricerow {
		align-items: flex-start;
		gap: 4px 16px;
		padding: 18px 20px;
	}
	.sds-pricelist .sds-pricerow-price { font-size: 22px; }
	.sds-pricelist .sds-pricerow-name  { font-size: 16px; }
	.sds-pricelist .sds-pricerow-meta  { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
	.sds-pricelist .sds-pricerow { transition: none; }
}
