/*
Theme Name: SparkOn Child
Description: Performance, locale, and Yoast schema extensions for SparkOn Driving Academy.
Author: SparkOn Driving Academy
Template: hostinger-ai-theme
Version: 1.1.7
Text Domain: sparkon-child
*/

/*
 * Elementor pages are rendered inside WordPress's constrained post-content
 * wrapper. Keep the Elementor canvas full-width instead of inheriting the
 * global 700px content width.
 */
.wp-block-post-content.is-layout-constrained > .elementor {
	width: 100%;
	max-width: none;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

/* The homepage uses direct sections rather than an Elementor canvas. Remove
 * the parent theme's 700px block constraint while preserving each section's
 * own inner max-width for readable content. */
body.home .wp-block-post-content.is-layout-constrained > section {
	width: 100%;
	max-width: none;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

/* Elementor adds a default 10px gap around the homepage canvas. Remove it so full-bleed homepage bands align with the viewport. */
body.home .elementor > .e-con {
	padding: 0 !important;
}

body.home .elementor > .e-con > .e-con-inner {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
}

/* About uses the older Elementor section layout. Match the full-width canvas
 * used by the current homepage and Services page while leaving its inner
 * content widths unchanged. */
body.page-id-6 .elementor-section-stretched.elementor-section-boxed > .elementor-container {
	width: 100%;
	max-width: none;
}

body.page-id-6 .elementor-section-stretched.elementor-section-boxed > .elementor-container > .elementor-column > .elementor-widget-wrap {
	padding-right: 0;
	padding-left: 0;
}

/* The BDE landing page owns its full-width section backgrounds. Override the
 * parent theme's 700px post-content cap without stretching its inner shell. */
body.page-id-762 .wp-block-post-content > .spk-bde-page {
	width: 100vw;
	max-width: none !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
}

@media (max-width: 560px) {
	body.page-id-762 .spk-bde-shell {
		width: calc(100% - 36px);
	}
}

/* Location landing pages use direct sections rather than an Elementor canvas.
 * Let their section backgrounds span the viewport while their inline content
 * wrappers keep the readable inner width. */
body.page-id-209 .wp-block-post-content.is-layout-constrained > section,
body.page-id-210 .wp-block-post-content.is-layout-constrained > section,
body.page-id-211 .wp-block-post-content.is-layout-constrained > section,
body.page-id-212 .wp-block-post-content.is-layout-constrained > section,
body.page-id-213 .wp-block-post-content.is-layout-constrained > section {
	width: 100vw;
	max-width: none !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
}

body.page-id-209 .wp-block-post-content.is-layout-constrained > section > *,
body.page-id-210 .wp-block-post-content.is-layout-constrained > section > *,
body.page-id-211 .wp-block-post-content.is-layout-constrained > section > *,
body.page-id-212 .wp-block-post-content.is-layout-constrained > section > *,
body.page-id-213 .wp-block-post-content.is-layout-constrained > section > * {
	width: min(100%, 900px) !important;
	max-width: 900px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

/* Citation-friendly guide additions rendered below existing page content. */
.sparkon-guide-additions {
	width: min(100% - 32px, 1120px);
	max-width: 1120px !important;
	margin: 40px auto 64px !important;
	color: #24231f;
	font-family: "Poppins", sans-serif;
}

.sparkon-guide-meta {
	margin: 0 0 28px;
	padding: 14px 18px;
	border-left: 4px solid #d4a72c;
	background: #f7f3e8;
	font-size: 14px;
	line-height: 1.6;
}

.sparkon-guide-additions h2 {
	margin: 0 0 12px;
	color: #171611;
	font-size: clamp(26px, 4vw, 38px);
	line-height: 1.2;
}

.sparkon-comparison > p {
	max-width: 780px;
	margin: 0 0 22px;
	line-height: 1.7;
}

.sparkon-table-scroll {
	overflow-x: auto;
	border: 1px solid #ded7c5;
	border-radius: 12px;
	background: #fff;
	-webkit-overflow-scrolling: touch;
}

.sparkon-table-scroll:focus {
	outline: 3px solid rgba(212, 167, 44, 0.4);
	outline-offset: 3px;
}

.sparkon-comparison table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	font-size: 15px;
	line-height: 1.55;
}

.sparkon-comparison caption {
	padding: 14px 18px;
	color: #5d5543;
	font-weight: 600;
	text-align: left;
}

.sparkon-comparison th,
.sparkon-comparison td {
	padding: 16px 18px;
	border-top: 1px solid #e8e1d1;
	text-align: left;
	vertical-align: top;
}

.sparkon-comparison thead th {
	border-top: 0;
	background: #171611;
	color: #fff;
}

.sparkon-comparison tbody th {
	width: 24%;
	background: #f7f3e8;
	color: #171611;
}

.sparkon-guide-source {
	margin-top: 16px !important;
	color: #5d5543;
	font-size: 13px;
}

.sparkon-guide-faq {
	margin-top: 44px;
}

.sparkon-guide-faq details {
	border-top: 1px solid #ded7c5;
}

.sparkon-guide-faq details:last-child {
	border-bottom: 1px solid #ded7c5;
}

.sparkon-guide-faq summary {
	padding: 17px 4px;
	cursor: pointer;
	font-weight: 700;
}

.sparkon-guide-faq details p {
	max-width: 820px;
	margin: 0;
	padding: 0 4px 18px;
	line-height: 1.7;
}

/* Poppins files are hosted with the site to remove render-blocking Google Fonts requests. */
@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/poppins-latin-400-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Poppins";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/poppins-latin-400-italic.woff2") format("woff2");
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("assets/fonts/poppins-latin-500-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/poppins-latin-600-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("assets/fonts/poppins-latin-700-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("assets/fonts/poppins-latin-800-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url("assets/fonts/poppins-latin-900-normal.woff2") format("woff2");
}

/*
 * Preserve the shortcode heading designs when their primary headings are
 * promoted from H2 to H1 for a correct page outline.
 */
.spk-team-head h1 {
	font-size: clamp(26px, 3.5vw, 44px);
	font-weight: 800;
	color: #17130c;
	line-height: 1.15;
	margin: 0 0 18px;
	letter-spacing: 0;
}

.spk-success-head h1 {
	font-size: clamp(28px, 3.5vw, 44px);
	font-weight: 800;
	color: #0b0b0b;
	line-height: 1.15;
	margin: 0 0 18px;
	letter-spacing: 0;
}

@media (max-width: 640px) {
	.spk-team-sec.alignfull {
		width: 100%;
		max-width: 100%;
		margin-right: 0 !important;
		margin-left: 0 !important;
		box-sizing: border-box;
	}

	.spk-team-head h1 {
		font-size: 28px;
	}
}
