/**
 * Road tax calculator page — Elementor compatibility helpers + spacing tweaks only.
 *
 * GOVERNANCE (dual-stack stabilisation)
 * ------------------------------------
 * Malaysia route is the CANONICAL behavioural reference. Authoritative layout values for this page
 * remain `--rtg-rtx-*`. The shared `_rtg-calculator-system.css` participates via `body.rtg-calculator-page`
 * and reads those same values through the CPS→RTX bridge block below (tokens only — no redesign).
 *
 * Owns: Hero/section ID-tied tuning, regional grid, resource cards, roadmap-specific modules.
 * Delegates: Generic chapter cadence + shell where shared system matches RTX (duplicate rules removed when safe).
 *
 * CONTROLLED CONVERGENCE (Phase notes)
 * Some generic typography/shell rules were removed here because `_rtg-calculator-system.css` already applies
 * under `.rtg-calculator-page` with CPS bridged to `--rtg-rtx-*`. Kept intentionally:
 * - Legacy section boxed prose (`section.elementor-section-boxed`) — shared does not mirror prose widgets there yet.
 * - Text-editor prose lane `:not(:has(.rtg-region-rate-grid))` — shared lacks grid exclusion; `max-width:100%` grid rule retained.
 * - `.elementor > .e-con-boxed { margin }` — broader than shared `.e-parent`; defer until DOM fully audited.
 * - Mobile: `.elementor-widget-* .elementor-widget-container { max-width:100% }` kept — broader than shared (scoped to `.e-con-boxed`); legacy `section.elementor-section-boxed` paths still rely on it.
 */

.rtg-road-tax-calculator {
	--rtg-rtx-module-radius: 12px;
	--rtg-rtx-module-border: #e5edf5;
	--rtg-rtx-module-tint: #fbfcfe;
	--rtg-rtx-text: #1f2f3f;
	--rtg-rtx-text-soft: #4a5f75;
	/* Single layout system: one shell width + one prose lane + shared module padding */
	--rtg-rtx-shell-max: min(1040px, calc(100% - 2rem));
	--rtg-rtx-prose-max: min(960px, 100%);
	--rtg-rtx-module-pad-x: 1.06rem;
	--rtg-rtx-module-pad-y: 1.02rem;
	--rtg-rtx-module-gap: 0.48rem;
}

/**
 * TOKEN BRIDGE — Road Tax only (reversible)
 * Maps shared `--rtg-cps-*` to existing Road `--rtg-rtx-*` so `_rtg-calculator-system.css` uses Malaysia
 * authoritative numbers without editing every RTX call site. CPS becomes a read-through façade on this route.
 */
.rtg-road-tax-calculator.rtg-calculator-page {
	/* Slightly more air between hero and intro (post-314 flex can feel cramped). */
	--rtg-cps-break-after-hero: 28px;
	--rtg-cps-shell-max: var(--rtg-rtx-shell-max);
	--rtg-cps-prose-max: var(--rtg-rtx-prose-max);
	--rtg-cps-calc-max: var(--rtg-rtx-shell-max);
	--rtg-cps-module-radius: var(--rtg-rtx-module-radius);
	--rtg-cps-module-border: var(--rtg-rtx-module-border);
	--rtg-cps-module-border-soft: #e2ecf6;
	--rtg-cps-module-tint: var(--rtg-rtx-module-tint);
	--rtg-cps-module-tint-deep: #eef4fb;
	--rtg-cps-module-pad-x: var(--rtg-rtx-module-pad-x);
	--rtg-cps-module-pad-y: var(--rtg-rtx-module-pad-y);
	--rtg-cps-module-gap: var(--rtg-rtx-module-gap);
	--rtg-cps-section-mt: 0.48rem;
	--rtg-cps-section-mb: 0.52rem;
	--rtg-cps-section-sibling-pt: 0.28rem;
	--rtg-cps-faq-mt: 0.75rem;
	--rtg-cps-faq-mb: 0.85rem;
	/* Calculator band: stronger vertical separation from intro + following chapters */
	--rtg-cps-calc-mt: 2.15rem;
	--rtg-cps-calc-mb: 1.45rem;
	--rtg-cps-calc-spacer: 26px;
	--rtg-cps-break-after-calc: 32px;
	/* Slightly deeper band padding so the white card reads as its own section */
	--rtg-cps-calc-pad-y: calc(var(--rtg-cps-module-pad-y) * 1.52);
	--rtg-cps-prose-line: 1.84;
	--rtg-cps-prose-mb: 0.92rem;
	--rtg-cps-text: var(--rtg-rtx-text);
	--rtg-cps-text-soft: var(--rtg-rtx-text-soft);
	--rtg-cps-link: #1969aa;
}

/* Intro strip: beat Elementor post-314 (15px/400) so the H2 reads as a real chapter title */
.rtg-road-tax-calculator.rtg-calculator-page .elementor-element-eb9b30f .elementor-element-c0a484b h2.elementor-heading-title {
	border-top: none;
	padding-top: 0;
	margin-top: 0;
	margin-bottom: 0.38rem;
	text-align: center;
	font-family: "ABeeZee", sans-serif;
	font-size: clamp(1.12rem, 2.15vw, 1.42rem) !important;
	font-weight: 650 !important;
	letter-spacing: -0.02em;
	line-height: 1.28;
	color: #12263a !important;
	max-width: min(40rem, 100%);
	margin-left: auto;
	margin-right: auto;
}

.rtg-road-tax-calculator.rtg-calculator-page .rtg-calc-hero.rtg-calc-hero--editorial {
	padding-bottom: 0.45rem;
}

.rtg-road-tax-calculator.rtg-calculator-page .elementor-element-eb9b30f .elementor-element-c0a484b .elementor-widget-container {
	text-align: center;
	max-width: min(40rem, 100%);
	margin-left: auto;
	margin-right: auto;
}

/* Editorial prose lane — headings delegated to `_rtg-calculator-system.css`; editor excludes region-rate grid */
.rtg-road-tax-calculator
	.e-con-boxed:not(.faq-section)
	.elementor-widget-text-editor
	.elementor-widget-container:not(:has(.rtg-region-rate-grid)) {
	max-width: var(--rtg-rtx-prose-max);
	margin-left: 0;
	margin-right: 0;
}

.rtg-road-tax-calculator .elementor-widget-container:has(.rtg-region-rate-grid) {
	max-width: 100%;
}

/* Legacy boxed sections: prose lane only (module shell + width owned by `_rtg-calculator-system.css` via .rtg-calc-module) */
.rtg-road-tax-calculator section.elementor-section-boxed:not(.faq-section)
	.elementor-widget-heading
	.elementor-widget-container {
	max-width: var(--rtg-rtx-prose-max);
	margin-left: 0;
	margin-right: 0;
	text-align: left;
}

.rtg-road-tax-calculator
	section.elementor-section-boxed:not(.faq-section)
	.elementor-widget-text-editor
	.elementor-widget-container:not(:has(.rtg-region-rate-grid)) {
	max-width: var(--rtg-rtx-prose-max);
	margin-left: 0;
	margin-right: 0;
}

/* Hero band: bottom margin owned by shared `.rtg-calc-hero` */
.rtg-road-tax-calculator .elementor-section:first-of-type,
.rtg-road-tax-calculator .rtg-calc-hero {
	margin-bottom: 0;
}

/* Calculator band: inner shell reset so shared band is the single card surface */
.rtg-road-tax-calculator .rtg-calc-band .rtg-calculator {
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
	box-sizing: border-box;
}

.rtg-road-tax-calculator .rtg-calc-band .rtg-calculator__inner {
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
	box-sizing: border-box;
}

/* In-calculator title: match visual weight of field labels */
.rtg-road-tax-calculator.rtg-calculator-page .rtg-calc-band .rtg-calculator__title {
	font-weight: 700;
	letter-spacing: -0.02em;
}

/* Section vertical rhythm — top-level boxed blocks only */
.rtg-road-tax-calculator .elementor > .elementor-element.e-con-boxed {
	margin-top: 0.48rem;
	margin-bottom: 0.52rem;
}

/* Refine icon/list readability in the key explanatory sections */
.rtg-road-tax-calculator .elementor-element-df181e4 .elementor-image-box-wrapper,
.rtg-road-tax-calculator .elementor-element-4532140 .elementor-image-box-wrapper {
	display: flex;
	align-items: flex-start;
	gap: 0.78rem;
	padding: 0.22rem 0;
}

.rtg-road-tax-calculator .elementor-element-df181e4 .elementor-image-box-img,
.rtg-road-tax-calculator .elementor-element-4532140 .elementor-image-box-img {
	flex: 0 0 40px;
	width: 40px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
}

.rtg-road-tax-calculator .elementor-element-df181e4 .elementor-image-box-img img,
.rtg-road-tax-calculator .elementor-element-4532140 .elementor-image-box-img img {
	width: 40px;
	height: 40px;
	object-fit: contain;
}

.rtg-road-tax-calculator .elementor-element-df181e4 .elementor-image-box-content,
.rtg-road-tax-calculator .elementor-element-4532140 .elementor-image-box-content {
	flex: 1 1 auto;
	min-width: 0;
}

.rtg-road-tax-calculator .elementor-element-df181e4 .elementor-image-box-description,
.rtg-road-tax-calculator .elementor-element-4532140 .elementor-image-box-description {
	line-height: 1.6;
	color: #2a3949;
	margin-top: 0.12rem;
}

/* Regional Road Tax Rates Comparison -> responsive visual card grid */
.rtg-road-tax-calculator .rtg-region-rate-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.7rem;
	margin-top: 0.15rem;
}

.rtg-road-tax-calculator .rtg-region-rate-card {
	border: 1px solid #e2eaf3;
	border-radius: 11px;
	padding: 0.72rem 0.72rem 0.76rem;
	background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.055);
}

.rtg-road-tax-calculator .rtg-region-rate-card__title {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 0.4rem;
	font-size: 0.9rem;
	line-height: 1.3;
	color: #12314d;
}

.rtg-road-tax-calculator .rtg-region-rate-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 22px;
	padding: 0 0.36rem;
	border-radius: 999px;
	border: 1px solid #cddced;
	background: #f4f8fd;
	color: #24507a;
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.rtg-road-tax-calculator .rtg-region-rate-card p {
	margin: 0;
	font-size: 0.84rem;
	line-height: 1.55;
	color: #334a60;
}

/* Tighten "How to use" section rhythm */
.rtg-road-tax-calculator .elementor-element-4532140 .elementor-widget-text-editor p {
	margin-bottom: 0.72rem;
}

.rtg-road-tax-calculator .elementor-element-4532140 .elementor-widget-image-box {
	margin-bottom: 0.24rem;
}

/* Pro Tip / Note highlight blocks */
.rtg-road-tax-calculator .elementor-element-a8343b2 .elementor-heading-title,
.rtg-road-tax-calculator .elementor-element-18f7d75 .elementor-heading-title {
	margin: 0;
	padding: 0.85rem 1rem;
	border: 1px solid #d9e5f2;
	border-left: 4px solid #2b6cb0;
	border-radius: 10px;
	background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
	line-height: 1.6;
}

/* Resource cards and "read more" links */
.rtg-road-tax-calculator .elementor-posts--skin-cards .elementor-post {
	border: 1px solid #e2eaf3;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.055);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.rtg-road-tax-calculator .elementor-posts--skin-cards .elementor-post:hover {
	transform: translateY(-1px);
	border-color: #cfdae8;
	box-shadow: 0 9px 20px rgba(15, 23, 42, 0.09);
}

.rtg-road-tax-calculator .elementor-posts--skin-cards .elementor-post__read-more {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

/* Standalone centered resource links */
.rtg-road-tax-calculator .elementor-widget-text-editor p[style*="text-align: center;"] a {
	display: inline-block;
	padding: 0.48rem 0.8rem;
	border-radius: 999px;
	border: 1px solid #d6e3f0;
	background: #f9fbff;
	color: #17466f;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.rtg-road-tax-calculator .elementor-widget-text-editor p[style*="text-align: center;"] a:hover {
	background: #f1f7fd;
	border-color: #b9cee4;
	transform: translateY(-1px);
}

/* Merge micro-spacer fatigue between module sections */
.rtg-road-tax-calculator :is(
	.elementor-element-bf32194,
	.elementor-element-a4c1aae,
	.elementor-element-e3ed6ed,
	.elementor-element-6a93245,
	.elementor-element-889fa47,
	.elementor-element-1f80d30,
	.elementor-element-1234c0a,
	.elementor-element-f0e4375,
	.elementor-element-219ff14,
	.elementor-element-5b6abc1,
	.elementor-element-1e2e7b4,
	.elementor-element-5849e31,
	.elementor-element-64490f6,
	.elementor-element-c24885d,
	.elementor-element-09ba037,
	.elementor-element-47a41e9
) {
	display: none;
}

/* Module 3: process treatment for "How to use" */
.rtg-road-tax-calculator .elementor-element-4532140 .e-con-inner {
	counter-reset: rtg-step;
}

.rtg-road-tax-calculator .elementor-element-4532140 .elementor-widget-image-box .elementor-image-box-wrapper {
	position: relative;
	padding-left: 2rem;
	min-height: 2rem;
	margin-bottom: 0.08rem;
}

.rtg-road-tax-calculator .elementor-element-4532140 .elementor-widget-image-box .elementor-image-box-img {
	display: none;
}

.rtg-road-tax-calculator .elementor-element-4532140 .elementor-widget-image-box .elementor-image-box-wrapper::before {
	counter-increment: rtg-step;
	content: counter(rtg-step);
	position: absolute;
	left: 0;
	top: 0.02rem;
	width: 1.35rem;
	height: 1.35rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #1f4f7a;
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 700;
}

/* Module 4: vehicle ownership costs as responsive utility cards */
.rtg-road-tax-calculator .elementor-element-b663108 .e-con-inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.65rem;
	align-items: start;
}

.rtg-road-tax-calculator .elementor-element-b663108 .elementor-element-ce38607,
.rtg-road-tax-calculator .elementor-element-b663108 .elementor-element-e838752 {
	grid-column: 1 / -1;
}

.rtg-road-tax-calculator .elementor-element-b663108 .elementor-widget-image-box .elementor-image-box-wrapper {
	border: 1px solid #e7edf5;
	border-radius: 10px;
	padding: 0.58rem 0.64rem;
	background: #ffffff;
}

/* Module 5: compact resource/admin block cards */
.rtg-road-tax-calculator :is(
	.elementor-element-9742d9c,
	.elementor-element-4f631ab,
	.elementor-element-71c1642,
	.elementor-element-cfb6369,
	.elementor-element-9631e05
) .elementor-widget-text-editor .elementor-widget-container {
	border: 1px solid #e8eef6;
	border-radius: 10px;
	padding: var(--rtg-rtx-module-pad-y) var(--rtg-rtx-module-pad-x);
	background: #ffffff;
}

/* Fact-style readability accent inside dense utility paragraphs */
.rtg-road-tax-calculator :is(.elementor-element-29efab4, .elementor-element-41b90da, .elementor-element-78da1b4) .elementor-widget-text-editor .elementor-widget-container {
	border-left: 3px solid #d7e4f1;
	padding-left: 0.78rem;
}

@media (max-width: 767px) {
	.rtg-road-tax-calculator {
		--rtg-rtx-shell-max: min(1040px, calc(100% - 1.2rem));
	}

	/* Outrank shared system's mobile CPS shell reassignment so CPS continues to track RTX. */
	.rtg-road-tax-calculator.rtg-calculator-page {
		--rtg-cps-shell-max: var(--rtg-rtx-shell-max);
		--rtg-cps-shell-max-sm: var(--rtg-rtx-shell-max);
		--rtg-cps-prose-line-sm: 1.76;
		--rtg-cps-prose-mb-sm: 0.82rem;
	}

	.rtg-road-tax-calculator .rtg-calc-hero.rtg-calc-hero--editorial > .elementor-container {
		max-width: var(--rtg-rtx-shell-max);
		padding-left: max(0.6rem, env(safe-area-inset-left));
		padding-right: max(0.6rem, env(safe-area-inset-right));
	}

	.rtg-road-tax-calculator .elementor-widget-text-editor .elementor-widget-container,
	.rtg-road-tax-calculator .elementor-widget-heading .elementor-widget-container {
		max-width: 100%;
	}

	.rtg-road-tax-calculator .elementor-element-df181e4 .elementor-image-box-wrapper,
	.rtg-road-tax-calculator .elementor-element-4532140 .elementor-image-box-wrapper {
		gap: 0.62rem;
		padding: 0.16rem 0;
	}

	.rtg-road-tax-calculator .elementor-element-df181e4 .elementor-image-box-img,
	.rtg-road-tax-calculator .elementor-element-4532140 .elementor-image-box-img {
		flex-basis: 40px;
		width: 40px;
	}

	.rtg-road-tax-calculator .elementor-element-df181e4 .elementor-image-box-img img,
	.rtg-road-tax-calculator .elementor-element-4532140 .elementor-image-box-img img {
		width: 40px;
		height: 40px;
	}

	.rtg-road-tax-calculator .elementor-element-a8343b2 .elementor-heading-title,
	.rtg-road-tax-calculator .elementor-element-18f7d75 .elementor-heading-title {
		padding: 0.72rem 0.78rem;
		font-size: 0.95rem;
	}

	.rtg-road-tax-calculator .elementor-widget-text-editor p[style*="text-align: center;"] a {
		display: block;
		width: 100%;
		padding: 0.58rem 0.7rem;
	}

	.rtg-road-tax-calculator .rtg-region-rate-grid {
		grid-template-columns: 1fr;
		gap: 0.55rem;
	}

	.rtg-road-tax-calculator .rtg-region-rate-card {
		padding: 0.66rem 0.64rem 0.7rem;
	}

	.rtg-road-tax-calculator .rtg-region-rate-card__title {
		font-size: 0.88rem;
		margin-bottom: 0.3rem;
	}

	.rtg-road-tax-calculator .rtg-calc-hero.rtg-calc-hero--editorial h1.elementor-heading-title {
		white-space: normal;
	}

	.rtg-road-tax-calculator .elementor-element-b663108 .e-con-inner {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}

	.rtg-road-tax-calculator .elementor-element-4532140 .elementor-widget-image-box .elementor-image-box-wrapper {
		padding-left: 1.7rem;
	}

	.rtg-road-tax-calculator .elementor-element-4532140 .elementor-widget-image-box .elementor-image-box-wrapper::before {
		width: 1.25rem;
		height: 1.25rem;
		font-size: 0.66rem;
	}
}

@media (max-width: 1024px) and (min-width: 768px) {
	.rtg-road-tax-calculator .rtg-region-rate-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
