/* =========================================================================
   IME Motors: child theme styles for the August 2026 change request.
   Uses the theme's own brand variable (--color-primary, #ec2329).
   ====================================================================== */

:root {
	--ime-red: var(--color-primary, #ec2329);
	--ime-ink: #111827;
	--ime-fab: 52px;
	--ime-gap: 20px;
}

/* ---------- Main navigation (slide 2) ----------------------------------
   The parent theme centres .uc-navbar-center absolutely across the whole bar,
   which slid the nine menu items underneath the logo. Keep it in the flow,
   right-aligned after the logo, with one consistent type size. */

/* Header content uses the same 1320px container and 15px gutter as the
   footer and the page sections, so logo and menu line up with them. */
.uc-header .uc-navbar-main > .container {
	width: 100% !important;
	max-width: 1320px !important;
	padding-left: 15px !important;
	padding-right: 15px !important;
}
@media (min-width: 1200px) {
	.uc-header .uc-navbar-left { flex: 0 0 auto; }
	.uc-header .uc-logo img { width: 92px; height: auto; }
	.uc-header .uc-navbar-center {
		position: static !important;
		transform: none !important;
		inset: auto !important;
		flex: 1 1 auto;
		display: flex;
		justify-content: flex-end;
		margin-left: 32px;
		min-width: 0;
	}
	.uc-header .uc-navbar-nav {
		gap: 0 !important;
		align-items: center;
	}
	.uc-header .uc-navbar-nav > li {
		display: flex;
		align-items: center;
	}
	.uc-header .uc-navbar-nav > li > a.nav-links {
		text-transform: uppercase;
		letter-spacing: .02em;
		white-space: nowrap;
		font-size: 14px;
		font-weight: 700;
		padding-left: 14px;
		padding-right: 14px;
	}
	.uc-header .uc-navbar-nav > li:last-child > a.nav-links { padding-right: 0; }
	.uc-header .uc-navbar-nav > li + li::before {
		content: "";
		width: 1px;
		height: 14px;
		background: currentColor;
		opacity: .2;
	}
}
@media (min-width: 1200px) and (max-width: 1399px) {
	.uc-header .uc-navbar-center { margin-left: 20px; }
	.uc-header .uc-navbar-nav > li > a.nav-links { font-size: 13px; padding-left: 10px; padding-right: 10px; letter-spacing: 0; }
}
/* Nine items do not fit beside the logo below 1200px: use the mobile menu. */
@media (min-width: 1024px) and (max-width: 1199px) {
	.uc-header .uc-navbar-nav { display: none !important; }
	.uc-header .uc-navbar-toggle-icon { display: inline-flex !important; }
}

/* ---------- Home hero: full-width background image (slide 12) ---------- */
/* Slides carry the class .ime-hero-full (added by the deploy script). The
   picture column becomes a full-bleed background; the text is centred on it.
   One capped height for every slide, so the hero never outgrows the screen. */

:root {
	--ime-header-h: 96px;
	--ime-hero-h: 100vh;
}
/* Mobile browsers: 100svh excludes the address bar, so the slide fits the screen. */
@supports (height: 100svh) {
	:root { --ime-hero-h: 100svh; }
}

.ime-hero-full {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	height: auto !important;
	min-height: var(--ime-hero-h) !important;
	/* Text block centred vertically in the space below the fixed header. */
	padding: var(--ime-header-h) 16px clamp(2.5rem, 6vh, 4rem) !important;
	justify-content: center !important;
	align-items: center !important;
}
.ime-hero-full .ime-hero-media {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 0;
}
.ime-hero-full .ime-hero-media .e-con,
.ime-hero-full .ime-hero-media .elementor-widget-image,
.ime-hero-full .ime-hero-media .elementor-widget-container {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.ime-hero-full .ime-hero-media img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center 25%;
	border-radius: 0 !important;
}
/* Overlay: light at the top behind the dark and red headline, fading through
   clear to a dark base so the vehicles gain depth and the slider dots stay visible. */
.ime-hero-full .ime-hero-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg,
		rgba(255, 255, 255, .88) 0%,
		rgba(255, 255, 255, .7) 34%,
		rgba(255, 255, 255, 0) 58%,
		rgba(17, 24, 39, .25) 76%,
		rgba(17, 24, 39, .72) 100%);
	pointer-events: none;
}
.ime-hero-full .ime-hero-text {
	position: relative;
	z-index: 1;
	width: 100% !important;
	max-width: 900px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	align-items: center !important;
	text-align: center !important;
	padding: 0 !important;
	gap: 16px !important;
}
.ime-hero-full .ime-hero-text > * {
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
	justify-content: center !important;
}
.ime-hero-full .ime-hero-text .e-con {
	justify-content: center !important;
}
.ime-hero-row {
	justify-content: center !important;
}
.ime-hero-full .ime-hero-text .elementor-widget-tg-heading :is(h1, h2) {
	font-size: clamp(2rem, 4.2vw, 3.75rem) !important;
	line-height: 1.08 !important;
}
/* The sentence sits over the vehicles once the text is centred: white on a soft
   dark strip keeps it readable (WCAG AA) on light and dark photos alike. */
.ime-hero-full .ime-hero-text p {
	display: inline-block;
	max-width: 100%;
	margin: 0;
	padding: 8px 18px;
	border-radius: 999px;
	font-size: clamp(1rem, 1.2vw, 1.2rem);
	font-weight: 500;
	line-height: 1.5;
	color: #fff !important;
	background: rgba(17, 24, 39, .72);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	text-shadow: none;
}
@media (max-width: 767px) {
	.ime-hero-full .ime-hero-text p { border-radius: 14px; padding: 10px 16px; }
}
/* The rating line ("Excellent · 20K+ vehicles") is not part of the full-width hero design. */
.ime-hero-full .ime-hero-text .e-con:has(> .elementor-widget-rating) { display: none !important; }

/* Hero call to action: a solid button, so it stays readable over any photo. */
.ime-hero-full .ime-hero-text .elementor-widget-tg-btn a {
	background: var(--ime-red) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 8px !important;
	padding: 12px 26px !important;
	box-shadow: 0 6px 18px rgba(236, 35, 41, .28);
	text-decoration: none !important;
}
.ime-hero-full .ime-hero-text .elementor-widget-tg-btn a * { color: #fff !important; }
.ime-hero-full .ime-hero-text .elementor-widget-tg-btn a:hover { background: #b01920 !important; }

@media (max-width: 1023px) {
	:root { --ime-header-h: 64px; }
}
@media (max-width: 767px) {
	.ime-hero-full .ime-hero-media img { object-position: center bottom; }
	.ime-hero-full .ime-hero-media::after {
		background: linear-gradient(180deg,
			rgba(255, 255, 255, .92) 0%,
			rgba(255, 255, 255, .78) 45%,
			rgba(255, 255, 255, 0) 65%,
			rgba(17, 24, 39, .55) 100%);
	}
}

/* Product page banners (Dost XL layout): white and red headline over a photo.
   A soft dark halo keeps "Introducing the …" readable on busy backgrounds. */
.elementor > .e-con.e-parent:first-child:has(.elementor-widget-image-carousel) :is(.tg-element-title, .elementor-widget-text-editor, .elementor-widget-tg-heading p) {
	text-shadow: 0 2px 14px rgba(0, 0, 0, .55), 0 1px 3px rgba(0, 0, 0, .45);
}

/* ---------- Mega menus: every card image the same shape ------------------ */
/* Source photos range from a 179 x 162 cut-out to 1440 x 620 banners; crop them
   all to one frame so Trucks, Buses and LCV cards line up identically. */
/* The card row splits evenly by count; fix it at four per row in every menu,
   so groups of four (e.g. Buses > Fully Built) fill one line with no orphan. */
.elementor-widget-tg-megamenu-demos .row.child-cols {
	--bs-gutter-x: 16px;
	--bs-gutter-y: 16px;
	row-gap: 16px;
}
.elementor-widget-tg-megamenu-demos .row.child-cols > * {
	flex: 0 0 25%;
	max-width: 25%;
}
.elementor-widget-tg-megamenu-demos .featured-image {
	aspect-ratio: 16 / 9;
	background: #f3f4f6;
}
.elementor-widget-tg-megamenu-demos .featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* ---------- Floating buttons ------------------------------------------ */

.ime-fab {
	width: var(--ime-fab);
	height: var(--ime-fab);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	padding: 0;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(17, 24, 39, .18);
	transition: transform .15s ease, box-shadow .15s ease;
	text-decoration: none;
}
.ime-fab:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(17, 24, 39, .22); }
.ime-fab:focus-visible { outline: 3px solid var(--ime-ink); outline-offset: 3px; }
.ime-fab .ime-icon { width: 24px; height: 24px; }

/* Bottom left: Messenger above the chat bubble (slide 11). */
.ime-float--left {
	position: fixed;
	left: var(--ime-gap);
	bottom: var(--ime-gap);
	z-index: 998;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
/* With Crisp enabled its own bubble sits bottom-left; lift Messenger above it. */
.ime-float--crisp { bottom: calc(var(--ime-gap) + 76px); }

.ime-fab--messenger { background: #fff; color: #0866ff; }
.ime-fab--messenger .ime-icon { width: 30px; height: 30px; }
.ime-fab--chat { background: var(--ime-red); color: #fff; }
.ime-fab--chat .ime-fab__close { display: none; }
.ime-fab--chat[aria-expanded="true"] .ime-fab__open { display: none; }
.ime-fab--chat[aria-expanded="true"] .ime-fab__close { display: inline-flex; }

.ime-chat-panel {
	position: absolute;
	left: 0;
	bottom: calc(var(--ime-fab) + 12px);
	width: min(320px, calc(100vw - 2 * var(--ime-gap)));
	background: #fff;
	color: var(--ime-ink);
	border-radius: 14px;
	box-shadow: 0 18px 40px rgba(17, 24, 39, .22);
	padding: 18px;
}
.ime-chat-panel[hidden] { display: none; }
.ime-chat-panel__title { font-weight: 700; font-size: 1.05rem; margin: 0 0 4px; }
.ime-chat-panel__text { font-size: .9rem; margin: 0 0 12px; opacity: .75; }
.ime-chat-panel__link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 12px;
	margin-top: 8px;
	border: 1px solid rgba(17, 24, 39, .12);
	border-radius: 10px;
	color: var(--ime-ink);
	text-decoration: none;
	font-weight: 600;
	font-size: .95rem;
}
a.ime-chat-panel__link:hover { border-color: var(--ime-red); color: var(--ime-red); }
.ime-chat-panel__link .ime-icon { flex: 0 0 auto; color: var(--ime-red); }

/* Bottom right: search button, stacked above dark-mode and back-to-top (slide 10). */
.ime-fab--search {
	background: #fff;
	color: var(--ime-ink);
	position: fixed;
	right: var(--ime-gap);
	bottom: 150px;
	z-index: 998;
}
.backtotop-wrap .ime-fab--search {
	position: static;
	width: 40px;
	height: 40px;
	margin-bottom: 8px;
}
.backtotop-wrap .ime-fab--search .ime-icon { width: 20px; height: 20px; }

/* The reCAPTCHA badge (contact and brochure forms) sits bottom-right at 14px;
   lift the theme's search / dark-mode / back-to-top stack clear of it. */
body:has(.grecaptcha-badge) .backtotop-wrap { bottom: 76px !important; }

/* The Font Awesome TikTok glyph fills its box; the theme's icon font leaves a
   margin. Match it to the Facebook / Instagram / YouTube icons beside it. */
a.icon-2 svg.e-fab-tiktok { width: 18px; height: 18px; margin: 3px; }

/* ---------- Search dialog ---------------------------------------------- */

.ime-search { position: fixed; inset: 0; z-index: 100000; }
.ime-search[hidden] { display: none; }
.ime-search__backdrop { position: absolute; inset: 0; background: rgba(17, 24, 39, .55); }
.ime-search__box {
	position: relative;
	max-width: 720px;
	margin: 12vh auto 0;
	padding: 0 16px;
	display: flex;
	gap: 10px;
	align-items: center;
}
.ime-search__form {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	border-radius: 14px;
	padding: 8px 8px 8px 16px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .25);
	color: var(--ime-ink);
}
.ime-search__form input[type="search"] {
	flex: 1;
	min-width: 0;
	border: 0;
	outline: 0;
	font-size: 1.1rem;
	padding: 10px 4px;
	background: transparent;
	color: inherit;
	box-shadow: none;
}
.ime-search__submit {
	border: 0;
	border-radius: 10px;
	padding: 12px 20px;
	background: var(--ime-red);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}
.ime-search__close {
	width: 44px;
	height: 44px;
	flex: 0 0 auto;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--ime-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
body.ime-search-open { overflow: hidden; }

/* ---------- Footer column titles ---------------------------------------- */

.ime-footer-title .tg-element-title,
.ime-footer-title :is(h1, h2, h3, h4, h5, h6, p) {
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ime-red) !important;
	margin: 0 !important;
}
.e-con:has(> .ime-footer-title) { gap: 14px !important; }
.ime-footer-title > .elementor-widget-container { margin: 0 !important; height: auto !important; }

/* ---------- Footer toll-free (slide 13) --------------------------------- */

.ime-tollfree {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
}
.ime-tollfree .ime-icon { width: 18px; height: 18px; color: var(--ime-red); }
a.ime-tollfree:hover { color: var(--ime-red); }

/* ---------- Dark mode ---------------------------------------------------- */

.uc-dark .ime-fab--search,
.uc-dark .ime-search__form,
.uc-dark .ime-search__close,
.uc-dark .ime-chat-panel { background: #1f2937; color: #f9fafb; }
.uc-dark .ime-chat-panel__link { color: #f9fafb; border-color: rgba(255, 255, 255, .15); }

@media (max-width: 767px) {
	:root { --ime-fab: 48px; --ime-gap: 14px; }
}

@media (prefers-reduced-motion: reduce) {
	.ime-fab { transition: none; }
	.ime-fab:hover { transform: none; }
}

/* ---------- Specification tables ---------------------------------------- */
/* Wide model-range tables (6+ columns, e.g. LEYPOWER) scroll sideways on small
   screens instead of squeezing every cell; the model column stays in view. */
.table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 1023px) {
	.table-wrapper table:has(thead th:nth-child(6)) { min-width: 960px; }
	.table-wrapper table:has(thead th:nth-child(6)) td:not([colspan]) { white-space: nowrap; }
	.table-wrapper table:has(thead th:nth-child(6)) :is(th, td):first-child {
		position: sticky;
		left: 0;
		z-index: 1;
		min-width: 120px;
	}
	.table-wrapper table:has(thead th:nth-child(6)) td:first-child { background: #f7efe9; }
	.table-wrapper table:has(thead th:nth-child(6)) th:first-child { background: var(--ime-red); }
}

/* Visually hidden, still read by screen readers and search engines. */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Older spec tables sit straight in an HTML widget: let the widget scroll, not the page. */
.elementor-widget-html > .elementor-widget-container { overflow-x: auto; -webkit-overflow-scrolling: touch; }
/* Nothing (reCAPTCHA badge, off-canvas pieces) may widen the page on phones.
   clip, unlike hidden, keeps position: sticky working. */
html, body { overflow-x: clip; }

/* ---------- Home: network call to action (replaces the store-locator map) ---- */
.ime-network-cta {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
	color: #fff;
}
.ime-network-cta p { font-size: 1.125rem; line-height: 1.6; opacity: .85; margin: 0 0 32px; }
.ime-network-cta__stats {
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
	display: flex;
	justify-content: center;
	gap: clamp(24px, 6vw, 72px);
}
.ime-network-cta__stats li { display: flex; flex-direction: column; gap: 4px; }
.ime-network-cta__stats strong { font-size: clamp(2.25rem, 4vw, 3rem); line-height: 1; color: var(--ime-red); }
.ime-network-cta__stats span { font-size: .875rem; text-transform: uppercase; letter-spacing: .06em; opacity: .75; }
.ime-network-cta__btn {
	display: inline-block;
	background: var(--ime-red);
	color: #fff !important;
	font-weight: 700;
	padding: 14px 30px;
	border-radius: 8px;
	text-decoration: none;
	transition: background .15s ease;
}
.ime-network-cta__btn:hover { background: #b01920; }

/* Blog cards: titles end with an ellipsis instead of being cut mid-line. */
.elementor-widget-tg-blogpost :is(h1, h2, h3, h4, h5, h6) {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Headings break into even lines instead of leaving one word on the last line. */
:is(h1, h2, h3, .tg-element-title) { text-wrap: balance; }

/* Services page: the "Services" label sat under the transparent header. */
.elementor-element-755b699 { padding-top: calc(var(--ime-header-h) + 24px) !important; }

/* ---------- Careers (WP Job Openings plugin) --------------------------- */
/* Listing on /career/ and the single job page, in the site's card style. */

.ime-careers { margin-top: 40px; }

/* Search and filters */
.ime-careers .awsm-filter-wrap { margin-bottom: 24px; }
.ime-careers .awsm-job-form-control,
.ime-careers .awsm-filter-wrap .awsm-selectric,
.ime-careers .awsm-filter-wrap select {
	height: 48px;
	border: 1px solid #e5e7eb !important;
	border-radius: 8px !important;
	background: #fff;
	font-size: .95rem;
}
.ime-careers .awsm-job-form-control { padding: 0 44px 0 16px !important; }
.ime-careers .awsm-job-form-control:focus { border-color: var(--ime-red) !important; outline: none; box-shadow: 0 0 0 3px rgba(236, 35, 41, .12); }
.ime-careers .awsm-filter-wrap .awsm-selectric .label { line-height: 46px; height: 46px; font-size: .95rem; color: var(--ime-ink); }

/* Job cards */
.ime-careers .awsm-grid-item { padding: 0 8px; margin-bottom: 16px; }
.ime-careers .awsm-grid-item .awsm-job-item {
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 24px !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px;
	background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.ime-careers .awsm-grid-item .awsm-job-item:hover {
	border-color: var(--ime-red) !important;
	box-shadow: 0 12px 28px rgba(17, 24, 39, .08);
	transform: translateY(-2px);
}
.ime-careers .awsm-job-post-title { margin: 0 0 14px; font-size: 1.2rem; line-height: 1.3; color: var(--ime-ink); }
.ime-careers .awsm-grid-right-col { display: flex; flex-direction: column; flex: 1; }
.ime-careers .awsm-job-specification-wrapper { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; }
.ime-careers .awsm-job-specification-item { margin: 0 !important; }
.ime-careers .awsm-job-specification-term {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	background: #f3f4f6;
	font-size: .8rem;
	line-height: 1.4;
	color: var(--ime-ink);
}
.ime-careers .awsm-job-specification-job-category .awsm-job-specification-term { background: #fdf3ef; color: var(--ime-red); font-weight: 600; }
.ime-careers .awsm-job-more-container { margin-top: auto; }
.ime-careers .awsm-job-more { color: var(--ime-red); font-weight: 600; font-size: .9rem; }

/* Single job page: full-width content without the blog sidebar and post meta. */
.single-awsm_job_openings .blog__post-meta,
.single-awsm_job_openings .blog__inner-wrap .row > :not(:first-child) { display: none !important; }
.single-awsm_job_openings .blog__inner-wrap .row > :first-child { flex: 0 0 100%; max-width: 860px; margin-inline: auto; }
.ime-job-back { display: inline-block; margin-bottom: 12px; font-size: .9rem; font-weight: 600; color: var(--ime-red); text-decoration: none; }
.ime-job-back:hover { text-decoration: underline; }
.ime-job-title { margin: 0 0 16px; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.15; }
.single-awsm_job_openings .blog__details-content h3 { margin: 28px 0 10px; font-size: 1.25rem; }
.single-awsm_job_openings .blog__details-content ul li { margin-bottom: 6px; }
.single-awsm_job_openings .awsm-job-specifications-container {
	margin: 28px 0;
	padding: 20px 24px;
	border-radius: 12px;
	background: #fdf3ef;
}
.single-awsm_job_openings .awsm-job-specification-item { margin-bottom: 4px; }

/* Application form */
.single-awsm_job_openings .awsm-job-form-inner {
	padding: clamp(20px, 4vw, 40px) !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(17, 24, 39, .06);
}
.single-awsm_job_openings .awsm-job-form-inner h2 { margin-top: 0; font-size: 1.6rem; }
.single-awsm_job_openings .awsm-job-form-group { margin-bottom: 18px; }
.single-awsm_job_openings .awsm-job-form-group label { display: block; margin-bottom: 6px; font-weight: 600; font-size: .9rem; color: var(--ime-ink); }
.single-awsm_job_openings .awsm-job-form-group .awsm-job-form-field {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid #d1d5db !important;
	border-radius: 8px !important;
	background: #fff;
	font-size: 1rem;
}
.single-awsm_job_openings .awsm-job-form-group textarea.awsm-job-form-field { min-height: 140px; }
.single-awsm_job_openings .awsm-job-form-group .awsm-job-form-field:focus { border-color: var(--ime-red) !important; outline: none; box-shadow: 0 0 0 3px rgba(236, 35, 41, .12); }
.single-awsm_job_openings .awsm-job-form-group input[type="file"] { padding: 10px; border: 1px dashed #d1d5db; border-radius: 8px; width: 100%; background: #f9fafb; }
.single-awsm_job_openings .awsm-job-form-group input[type="checkbox"] { width: 18px; height: 18px; margin-right: 8px; vertical-align: -3px; accent-color: var(--ime-red); }
.single-awsm_job_openings .awsm-application-submit-btn {
	padding: 12px 32px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: var(--ime-red) !important;
	color: #fff !important;
	font-weight: 600;
	font-size: 1rem;
	cursor: pointer;
}
.single-awsm_job_openings .awsm-application-submit-btn:hover { background: #b01920 !important; }

@media (max-width: 767px) {
	.ime-careers .awsm-grid-item { padding: 0; }
}

/* Contact and Careers: on tablets and phones the page heading ran under the
   fixed header (the section's top padding drops to ~0 there). */
@media (max-width: 1023px) {
	.page-id-1025 [data-elementor-type="wp-page"] > .e-con:first-child,
	[data-elementor-type="wp-page"] > .e-con:first-child:has(.ime-careers) {
		padding-top: calc(var(--ime-header-h) + 32px) !important;
	}
}

/* Job application consent: checkbox and its label on one line. */
.single-awsm_job_openings .awsm-job-inline-group { display: flex; align-items: flex-start; gap: 10px; }
.single-awsm_job_openings .awsm-job-inline-group input[type="checkbox"].awsm-job-form-field {
	flex: none;
	width: 18px;
	min-height: 0;
	height: 18px;
	margin: 3px 0 0;
	padding: 0;
}
.single-awsm_job_openings .awsm-job-inline-group label { margin: 0; font-weight: 400; line-height: 1.5; }

/* Spec tables placed straight in a widget (older truck pages: 2832, 3532,
   6x2, 8x2) had no scroll wrapper and ran off the right edge on phones. */
.elementor-widget:has(> table),
.elementor-widget:has(> .elementor-widget-container > table) {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* Network page: "Service" / "Spare Parts" labels were 10px. */
.network-section .contact-label { font-size: 12px !important; }
