/*
Theme Name: SMI Recycling Child
Theme URI: https://smi-recycling.local
Description: Child theme for Twenty Twenty-Five with dynamic, data-driven header and footer matching Joomla Zingbox theme.
Author: SMI Recycling
Template: twentytwentyfive
Version: 1.1.0
Text Domain: smi-recycling-child
*/

@font-face {
	font-family: 'zingbox-icon';
	src: url('fonts/zingbox-icon.eot?rjmlps');
	src: url('fonts/zingbox-icon.eot?rjmlps#iefix') format('embedded-opentype'),
		url('fonts/zingbox-icon.ttf?rjmlps') format('truetype'),
		url('fonts/zingbox-icon.woff?rjmlps') format('woff'),
		url('fonts/zingbox-icon.svg?rjmlps#zingbox-icon') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

[class^="zingbox-icon-"], [class*=" zingbox-icon-"] {
	font-family: 'zingbox-icon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.zingbox-icon-Solar-power-light:before {
	content: "\e973";
	color: #fff;
}

:root {
	--smi-primary: #00724e;
	--smi-primary-hover: #005a3e;
	--smi-secondary: #0c8e6c;
	--smi-text-color: #1f242c;
	--smi-text-muted: #666666;
	--smi-bg-white: #ffffff;
	--smi-header-height: 115px;
	--smi-font-body: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
	--smi-font-heading: "Teko", sans-serif;
}

:root :where(.is-layout-constrained) > :last-child {
	margin-block-start: 0;
}

body {
	color: var(--smi-text-color);
	font-family: var(--smi-font-body);
	background: #ffffff;
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.6;
}

/* Shared rectangular button treatment */
.wp-block-button__link,
.wp-element-button,
.smi-site-header a.as-button,
.smi-btn-sppb {
	border-radius: 7px !important;
	font-weight: 500 !important;
}

body.page-id-182 main.wp-block-group.has-global-padding,
body.page-id-128 main.wp-block-group.has-global-padding,
body.page-id-131 main.wp-block-group.has-global-padding,
body.page-careers main.wp-block-group.has-global-padding,
body.single-service main.wp-block-group.has-global-padding,
body:has(.smi-careers-page) main.wp-block-group.has-global-padding,
body:has(.smi-environment-page) main.wp-block-group.has-global-padding,
body:has(.smi-hero-banner) main.wp-block-group.has-global-padding,
body.page-id-143 main.wp-block-group.has-global-padding,
body.page-id-144 main.wp-block-group.has-global-padding,
body.page-id-145 main.wp-block-group.has-global-padding,
body.page-id-146 main.wp-block-group.has-global-padding,
body.page-id-147 main.wp-block-group.has-global-padding,
body.page-id-148 main.wp-block-group.has-global-padding,
body.page-id-153 main.wp-block-group.has-global-padding,
body.page-id-154 main.wp-block-group.has-global-padding {
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

body:has(.smi-hero-banner) .entry-content,
body.page-careers .entry-content,
body:has(.smi-careers-page) .entry-content,
body:has(.smi-environment-page) .entry-content,
body.page-id-131 .entry-content,
body.page-id-143 .entry-content,
body.page-id-144 .entry-content,
body.page-id-145 .entry-content,
body.page-id-146 .entry-content,
body.page-id-147 .entry-content,
body.page-id-148 .entry-content,
body.page-id-153 .entry-content,
body.page-id-154 .entry-content {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 !important;
}

body.page-id-128 .wp-block-post-title {
	display: none !important;
}

body:has(.smi-material-detail-page) .wp-block-post-title,
body:has(.smi-materials-hub-container) .wp-block-post-title,
body:has(.smi-environment-page) .wp-block-post-title,
body.page-id-131 .wp-block-post-title,
body.page-id-3226 .wp-block-post-title,
body.page-id-142 .wp-block-post-title,
body.page-id-143 .wp-block-post-title,
body.page-id-144 .wp-block-post-title,
body.page-id-145 .wp-block-post-title,
body.page-id-146 .wp-block-post-title,
body.page-id-147 .wp-block-post-title,
body.page-id-148 .wp-block-post-title,
body.page-id-153 .wp-block-post-title,
body.page-id-154 .wp-block-post-title {
	display: none !important;
}

/* The front page begins with the full-bleed Joomla-style hero, without a page title. */
body.home main.wp-block-group.has-global-padding {
	margin-top: 0 !important;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.home .wp-block-post-title {
	display: none !important;
}

body.home main > .wp-block-group.has-global-padding {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.page-careers main > .wp-block-group.has-global-padding,
body:has(.smi-careers-page) main > .wp-block-group.has-global-padding {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.page-careers #wp--skip-link--target,
body.page-careers #wp--skip-link--target > *:first-child,
body:has(.smi-careers-page) #wp--skip-link--target,
body:has(.smi-careers-page) #wp--skip-link--target > *:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.page-id-182 #wp--skip-link--target,
body.page-id-182 #wp--skip-link--target > *:first-child {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
}

body.page-id-182 main.wp-block-group.has-global-padding > .wp-block-group.alignfull > .wp-block-post-title {
	display: none;
}

body.page-id-182 main.wp-block-group.has-global-padding > .wp-block-group.alignfull {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.page-id-182 main.wp-block-group.has-global-padding > .wp-block-group.alignfull > .smi-pricing-page {
	margin-top: 0 !important;
}

body .entry-content.wp-block-post-content > :first-child {
	margin-block-start: 0 !important;
}

/* Careers: neutralize WP alignfull negative side offsets that shift content left */
body.page-careers .entry-content.alignfull.wp-block-post-content,
body:has(.smi-careers-page) .entry-content.alignfull.wp-block-post-content {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.page-careers .entry-content > .alignfull,
body:has(.smi-careers-page) .entry-content > .alignfull {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading {
	font-family: var(--smi-font-heading);
	font-weight: 500;
	letter-spacing: 0.01em;
	color: #1f242c;
	line-height: 1.1;
}

/* ==========================================================================
   HEADER STRUCTURE
   ========================================================================== */

.smi-site-header {
	background: #ffffff;
	border-bottom: 1px solid #eaeaea;
	position: relative;
	z-index: 1000;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
	width: 100%;
}

.smi-header-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 15px;
}

@media (min-width: 1400px) {
	.smi-header-container {
		max-width: 1320px;
	}
}

.smi-header-row {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	min-height: var(--smi-header-height);
}

/* --- Logo Column --- */
.smi-header-col-logo {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	padding: 10px 0;
}

.smi-header-col-logo .wp-block-site-logo {
	line-height: 0;
	margin: 0;
}

.smi-header-col-logo .custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.smi-header-col-logo .custom-logo {
	width: 158px !important;
	height: auto !important;
	max-height: 60px;
	max-width: 158px !important;
	display: block;
	object-fit: contain;
}

.smi-header-col-logo .wp-block-site-title {
	font-family: var(--smi-font-heading);
	font-size: 2rem;
	margin: 0;
	line-height: 1;
}

.smi-header-col-logo .wp-block-site-title a {
	color: #1f242c;
	text-decoration: none;
}

/* --- Menu Column --- */
.smi-header-col-menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: 1 1 auto;
	padding: 0 15px;
}

.sp-megamenu-wrapper {
	display: flex;
	align-items: center;
}

.sp-megamenu-parent {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0;
}

.sp-megamenu-parent > li.sp-menu-item {
	position: relative;
	margin: 0;
}

.sp-megamenu-parent > li.sp-menu-item > a {
	display: inline-flex;
	align-items: center;
	padding: 42px 11px;
	text-decoration: none;
	font-weight: 300;
	font-size: 16px;
	color: #252525;
	line-height: 23px;
	font-family: var(--smi-font-body);
	transition: color 0.2s ease, background 0.2s ease;
	position: relative;
	white-space: nowrap;
}

.sp-megamenu-parent > li.sp-menu-item > a:hover,
.sp-megamenu-parent > li.sp-menu-item > a:focus,
.sp-megamenu-parent > li.sp-menu-item.current-menu-item > a,
.sp-megamenu-parent > li.sp-menu-item.current-menu-ancestor > a {
	color: var(--smi-primary);
}

/* Caret indicator for dropdowns */
.smi-caret {
	display: inline-block;
	margin-left: 5px;
	width: 0;
	height: 0;
	vertical-align: middle;
	border-top: 4px solid currentColor;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	transition: transform 0.2s ease;
}

.sp-dropdown-items .sp-has-child > a .smi-caret {
	border-left: 4px solid currentColor;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-right: 0;
	margin-left: auto;
}

/* Get a Quote Button */
.sp-megamenu-parent .sp-menu-item a.as-button,
.smi-site-header a.as-button {
	border: 2px solid var(--smi-primary) !important;
	background-color: transparent !important;
	border-radius: 7px !important;
	padding: 8px 10px !important;
	margin-left: 8px;
	color: #1f242c !important;
	font-weight: 500 !important;
	font-size: 16px !important;
	line-height: 20px !important;
	text-transform: none !important;
	transition: all 0.3s ease !important;
	display: inline-flex;
	align-items: center;
}

.sp-megamenu-parent .sp-menu-item a.as-button:hover,
.sp-megamenu-parent .sp-menu-item a.as-button:focus,
.smi-site-header a.as-button:hover,
.smi-site-header a.as-button:focus {
	background-color: var(--smi-primary) !important;
	color: #ffffff !important;
	border-color: var(--smi-primary) !important;
}

/* --- Dropdown Menus --- */
.sp-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	min-width: 300px;
	width: 300px;
	background: #ffffff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	border-top: 3px solid var(--smi-primary);
	border-radius: 0 0 4px 4px;
	padding: 8px 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	pointer-events: none;
}

.sp-menu-item.sp-has-child:hover > .sp-dropdown,
.sp-menu-item.sp-has-child:focus-within > .sp-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

/* Nested Submenus */
.sp-dropdown-sub {
	top: 0;
	left: 100%;
	border-radius: 0 4px 4px 4px;
}

.sp-dropdown-items {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sp-dropdown-items > li.sp-menu-item {
	position: relative;
	margin: 0;
}

.sp-dropdown-items > li.sp-menu-item > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 20px;
	color: #252525;
	font-size: 14px;
	font-weight: 300;
	text-decoration: none;
	line-height: 1.4;
	transition: all 0.15s ease;
	border-bottom: 1px solid #f6f6f6;
}

.sp-dropdown-items > li.sp-menu-item:last-child > a {
	border-bottom: none;
}

.sp-dropdown-items > li.sp-menu-item > a:hover,
.sp-dropdown-items > li.sp-menu-item > a:focus,
.sp-dropdown-items > li.sp-menu-item.current-menu-item > a {
	background-color: #f4f8f6;
	color: var(--smi-primary);
	padding-left: 24px;
}

/* --- Yard Selector & Phone Column --- */
.smi-header-col-yard {
	flex: 0 0 240px;
	max-width: 240px;
	background-color: var(--smi-primary);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 14px 18px;
	position: relative;
}

.sppb-addon-locations-dropdown {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.sppb-addon-label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	line-height: 14px;
	color: #ffffff;
	margin-bottom: 5px;
	text-align: left;
	width: 100%;
	letter-spacing: 0.02em;
}

.sppb-addon-custom-dropdown {
	position: relative;
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	cursor: pointer;
	user-select: none;
}

.sppb-addon-custom-dropdown-selected {
	flex: 1 1 auto;
	max-width: calc(100% - 32px);
	font-size: 11px;
	font-weight: 400;
	font-style: italic;
	line-height: 14px;
	color: #888888;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	border: 1px solid #0c8e6c;
	background-color: #ffffff;
	padding: 7px 9px;
	border-radius: 2px 0 0 2px;
}

.sppb-addon-custom-dropdown-toggle {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 9px;
	color: #ffffff;
	background: linear-gradient(180deg, #2ae2b2 0%, #02af82 100%);
	border: 1px solid #0c8e6c;
	border-left: none;
	width: 32px;
	border-radius: 0 2px 2px 0;
	flex: 0 0 32px;
}

.sppb-addon-custom-dropdown-list {
	display: none;
	position: absolute;
	top: calc(100% + 2px);
	left: 0;
	width: 100%;
	z-index: 9999;
	max-height: 220px;
	overflow-y: auto;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25);
	background-color: #ffffff;
	border: 1px solid #d0d0d0;
	border-radius: 3px;
}

.sppb-addon-custom-dropdown-list.show {
	display: flex;
	flex-direction: column;
}

.sppb-addon-custom-dropdown-item {
	display: block;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.3;
	padding: 8px 10px;
	cursor: pointer;
	color: #1f242c;
	background-color: #ffffff;
	border-bottom: 1px solid #eeeeee;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}

.sppb-addon-custom-dropdown-item:last-child {
	border-bottom: none;
}

.sppb-addon-custom-dropdown-item:hover,
.sppb-addon-custom-dropdown-item.active {
	background-color: #eaf6f1;
	color: var(--smi-primary);
}

.sppb-addon-location-phone {
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
	color: #ffffff;
	text-align: center;
	margin-top: 6px;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.sppb-addon-location-phone:hover,
.sppb-addon-location-phone:focus {
	color: #ffffff;
	text-decoration: none;
	opacity: 0.9;
}

/* ==========================================================================
   STICKY HEADER
   ========================================================================== */

@keyframes smiFadeInDown {
	from {
		opacity: 0;
		transform: translateY(-12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.smi-site-header.is-stuck {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99999;
	background-color: #ffffff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
	animation: smiFadeInDown 0.35s ease;
}

.smi-site-header.is-stuck .smi-header-row {
	min-height: 78px;
}

.smi-site-header.is-stuck .sp-megamenu-parent > li.sp-menu-item > a {
	padding-top: 28px;
	padding-bottom: 28px;
}

.smi-site-header.is-stuck .smi-header-col-logo .custom-logo {
	height: 32px;
}

.smi-site-header.is-stuck .smi-header-col-yard {
	padding-top: 10px;
	padding-bottom: 10px;
}

body.smi-header-fixed {
	padding-top: var(--smi-header-height, 115px);
}

/* ==========================================================================
   MOBILE & OFFCANVAS NAVIGATION
   ========================================================================== */

.offcanvas-toggler {
	background: transparent;
	border: none;
	padding: 10px;
	cursor: pointer;
	display: none;
	align-items: center;
	justify-content: center;
}

.burger-icon {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 24px;
	height: 18px;
}

.burger-icon span {
	display: block;
	height: 2px;
	width: 100%;
	background-color: #1f242c;
	border-radius: 2px;
	transition: all 0.2s ease;
}

.smi-offcanvas-menu {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 999999;
	display: none;
	visibility: hidden;
	overflow: hidden;
	transition: visibility 0.3s ease;
}

.smi-offcanvas-menu.is-open {
	display: block;
	visibility: visible;
}

.smi-offcanvas-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.smi-offcanvas-menu.is-open .smi-offcanvas-overlay {
	opacity: 1;
}

.smi-offcanvas-inner {
	position: absolute;
	top: 0;
	right: 0;
	width: 320px;
	max-width: 85vw;
	height: 100%;
	background: #ffffff;
	box-shadow: -4px 0 16px rgba(0, 0, 0, 0.2);
	transform: translateX(100%);
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	display: flex;
	flex-direction: column;
	overflow-y: auto;
}

.smi-offcanvas-menu.is-open .smi-offcanvas-inner {
	transform: translateX(0);
}

.smi-offcanvas-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid #eeeeee;
	background: #f8f9fa;
}

.smi-offcanvas-title {
	font-family: var(--smi-font-heading);
	font-size: 1.4rem;
	color: var(--smi-primary);
	font-weight: 600;
}

.smi-offcanvas-close {
	background: transparent;
	border: none;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	color: #666;
}

.smi-offcanvas-body {
	padding: 15px 0;
}

.smi-offcanvas-body .sp-megamenu-parent {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.smi-offcanvas-body .sp-megamenu-parent > li.sp-menu-item {
	width: 100%;
	border-bottom: 1px solid #f0f0f0;
}

.smi-offcanvas-body .sp-megamenu-parent > li.sp-menu-item > a {
	padding: 12px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 16px;
}

.smi-offcanvas-body .sp-dropdown {
	position: static;
	opacity: 1;
	visibility: visible;
	transform: none;
	box-shadow: none;
	border-top: none;
	background: #f9fbf9;
	display: none;
	padding: 0;
	pointer-events: auto;
}

.smi-offcanvas-body .sp-has-child.is-expanded > .sp-dropdown {
	display: block;
}

.smi-offcanvas-body .sp-dropdown-items > li.sp-menu-item > a {
	padding: 10px 20px 10px 32px;
	font-size: 14px;
}

body.smi-offcanvas-active {
	overflow: hidden;
}

/* Prevent theme full-width negative margins from creating horizontal scroll */
.home .entry-content.alignfull.wp-block-post-content {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.home .entry-content > .alignfull,
.home .entry-content .smi-homepage > .alignfull {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
}

/* ==========================================================================
   RESPONSIVE BREAKPOINTS
   ========================================================================== */

@media (max-width: 1199px) {
	.sp-megamenu-parent {
		display: none !important;
	}

	.offcanvas-toggler {
		display: flex !important;
	}

	.smi-header-col-menu {
		flex: 0 0 auto;
	}

	.smi-header-col-yard {
		flex: 0 0 210px;
		max-width: 210px;
		padding: 10px 12px;
	}
}

@media (max-width: 767px) {
	.smi-header-row {
		min-height: 70px;
	}

	.smi-header-col-logo .custom-logo {
		height: 30px;
	}

	.smi-header-col-yard {
		display: none;
	}

	.smi-site-header.is-stuck .smi-header-row {
		min-height: 60px;
	}
}

/* ==========================================================================
   FOOTER STYLES
   ========================================================================== */

.smi-site-footer {
	background-image: url("/wp-content/uploads/2026/09/footer.jpg"), url("/images/footer.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	background-attachment: scroll;
	background-color: #ffffff;
	border-top: 14px solid var(--smi-primary);
	color: #1f242c;
	position: relative;
	margin-top: 0;
	padding-top: 80px;
	padding-bottom: 0;
	width: 100%;
	font-size: 16px;
}

.smi-site-footer a {
	text-decoration: none !important;
}

.smi-footer-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 15px;
	position: relative;
	z-index: 2;
}

/* --- Green Call-To-Action Bar --- */
.smi-footer-cta-bar {
	background-color: var(--smi-primary);
	border-radius: 6px;
	margin-top: 0;
	padding: 28px 40px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.smi-footer-cta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
}

.smi-footer-cta-item {
	display: flex;
	align-items: center;
	gap: 18px;
	flex: 1 1 260px;
	padding: 4px 0;
}

@media (min-width: 992px) {
	.smi-footer-cta-item:not(:last-child) {
		border-right: 1px solid rgba(255, 255, 255, 0.25);
		padding-right: 24px;
	}
}

.smi-footer-cta-icon {
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	border-radius: 400px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	transition: all 0.2s ease;
}

.smi-footer-cta-icon a {
	color: #ffffff !important;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-decoration: none !important;
}

.smi-footer-cta-icon i {
	font-size: 22px;
	line-height: 22px;
	color: #ffffff;
}

.smi-footer-cta-body {
	display: flex;
	flex-direction: column-reverse;
}

.smi-footer-cta-title {
	font-family: var(--smi-font-body);
	font-weight: 700;
	font-size: 18px;
	line-height: 26px;
}

.smi-footer-cta-title a {
	color: #ffffff !important;
	text-decoration: none !important;
	transition: opacity 0.2s ease;
}

.smi-footer-cta-title a:hover,
.smi-footer-cta-title a:focus {
	opacity: 0.85;
	text-decoration: none !important;
}

.smi-footer-cta-subtitle {
	font-size: 15px;
	color: #ffffff;
	line-height: 20px;
	font-weight: 400;
	opacity: 0.95;
	margin-bottom: 2px;
}

/* --- 4-Column Main Footer Area --- */
.smi-footer-main {
	padding-top: 85px;
	padding-bottom: 85px;
}

.smi-footer-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.95fr) minmax(0, 0.95fr) minmax(0, 0.85fr);
	gap: 30px;
}

.smi-footer-col {
	display: flex;
	flex-direction: column;
}

.smi-footer-col-mainmenu {
	padding-left: 50px;
}

@media (max-width: 1199px) {
	.smi-footer-col-mainmenu {
		padding-left: 0;
	}
}

.smi-footer-logo {
	margin-bottom: 17px;
}

.smi-footer-logo-img {
	width: 210px;
	max-width: 230px;
	height: auto;
	display: block;
	object-fit: contain;
}

.smi-footer-about-text {
	margin-bottom: 25px;
}

.smi-footer-desc {
	color: #1f242c !important;
	font-size: 16px;
	line-height: 26px;
	font-weight: 300;
	margin: 0;
	font-family: var(--smi-font-body);
}

.smi-footer-title {
	font-family: var(--smi-font-body);
	font-size: 22px;
	font-weight: 600;
	line-height: 32px;
	color: #1f242c;
	margin: 0 0 21px 0;
}

/* Connect With Us / Social Icons */
.smi-footer-connect .smi-footer-title {
	margin-bottom: 21px;
	font-size: 22px;
	font-weight: 600;
}

.smi-footer-social-icons {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0;
}

.smi-footer-social-icons a {
	background-color: #ffffff;
	border: 1px solid #e2e2e2;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin-right: 12px;
	margin-bottom: 10px;
	color: #707070;
	text-decoration: none !important;
	font-size: 18px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
	transition: all 0.25s ease;
}

.smi-footer-social-icons a:hover,
.smi-footer-social-icons a:focus {
	background-color: var(--smi-primary);
	color: #ffffff !important;
	border-color: var(--smi-primary);
	transform: translateY(-2px);
	text-decoration: none !important;
}

/* Footer Link Menus */
.smi-footer-menu {
	list-style: none;
	margin: 0 0 25px 0;
	padding: 0;
}

.smi-footer-menu ul,
.smi-footer-menu .smi-menu__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.smi-footer-menu li {
	margin: 0;
	padding: 0;
	line-height: 32px;
}

.smi-footer-menu a {
	color: #1f242c !important;
	font-size: 16px;
	font-weight: 400;
	text-decoration: none !important;
	line-height: 32px;
	transition: color 0.2s ease, padding-left 0.2s ease;
	display: inline-block;
}

.smi-footer-menu a:hover,
.smi-footer-menu a:focus {
	color: var(--smi-primary) !important;
	text-decoration: none !important;
	padding-left: 4px;
}

/* Footer Badges & Certifications */
.smi-footer-badge {
	margin-top: auto;
	padding-top: 15px;
}

.smi-footer-col-mainmenu .smi-badge-img {
	width: 160px;
	max-width: 180px;
	height: auto;
	display: block;
	object-fit: contain;
}

.smi-footer-col-useful .smi-badge-img {
	width: 105px;
	max-width: 115px;
	height: auto;
	display: block;
	object-fit: contain;
}

.smi-footer-col-contact .smi-badge-img {
	width: 135px;
	max-width: 145px;
	height: auto;
	display: block;
	object-fit: contain;
}

/* Contact Us Column */
.smi-footer-contact-body {
	margin-bottom: 25px;
}

.smi-footer-view-locations a {
	color: #1f242c !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 32px;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.smi-footer-view-locations a:hover,
.smi-footer-view-locations a:focus {
	color: var(--smi-primary) !important;
	text-decoration: none !important;
}

/* --- Bottom Copyright Bar --- */
.smi-footer-bottom {
	border-top: 1px solid #d9d9d9;
	padding: 22px 0;
	text-align: center;
}

.smi-footer-copyright {
	color: #1f242c;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
}

.smi-footer-copyright a {
	color: #1f242c;
	text-decoration: none !important;
}

.smi-copyright-divider {
	margin: 0 4px;
	opacity: 0.6;
}

/* --- Responsive Adjustments for Footer --- */
@media (max-width: 1199px) {
	.smi-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 40px;
	}

	.smi-footer-cta-row {
		justify-content: center;
	}

	.smi-footer-main {
		padding-top: 60px;
		padding-bottom: 60px;
	}
}

@media (max-width: 767px) {
	.smi-site-footer {
		padding-top: 40px;
	}

	.smi-footer-cta-bar {
		padding: 20px;
	}

	.smi-footer-cta-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.smi-footer-cta-item {
		width: 100%;
		border-right: none !important;
		padding-right: 0 !important;
	}

	.smi-footer-main {
		padding-top: 45px;
		padding-bottom: 40px;
	}

	.smi-footer-grid {
		grid-template-columns: 1fr;
		gap: 35px;
	}

	.smi-footer-badge {
		margin-top: 15px;
	}
}

/* ==========================================================================
   PAGE TITLE HERO BANNER (JOOMLA HELIX / ZINGBOX .sp-page-title 1:1 PARITY)
   ========================================================================== */
.sp-page-title {
	background: #00724e;
	padding: 130px 0;
	margin-block-start: 0 !important;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
	background-position: center;
	text-align: center;
	width: 100%;
}

.sp-page-title .container {
	max-width: 1140px;
	margin: 0 auto;
	padding-left: 15px;
	padding-right: 15px;
}

.sp-page-title-heading,
.sp-page-title .sp-page-title-heading,
.sp-page-title .wp-block-post-title {
	font-family: var(--smi-font-heading), 'Teko', sans-serif !important;
	color: #ffffff !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	font-size: 72px !important;
	letter-spacing: -1.5px !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center;
	text-transform: none;
}

/* Pricing page core-block layout */
.smi-pricing-page {
	color: #252525;
	width: 100%;
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
}

.smi-pricing-page > .smi-pricing-section,
.smi-pricing-page > .smi-pricing-process,
.smi-pricing-page > .smi-pricing-serving,
.smi-pricing-page > .smi-pricing-ready {
	width: 100%;
	max-width: 1320px;
	box-sizing: border-box;
}

.smi-pricing-page .smi-pricing-intro {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.smi-pricing-page .smi-pricing-hero {
	min-height: 650px;
	padding: 110px 30px;
	box-sizing: border-box;
	background-position: center;
	background-size: cover;
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.smi-pricing-page .smi-pricing-hero h1,
.smi-pricing-page .smi-pricing-hero p {
	color: #ffffff;
	text-align: center;
}

.smi-pricing-page .smi-pricing-hero h1 {
	font-family: var(--smi-font-heading) !important;
	font-size: 82px !important;
	line-height: 0.95 !important;
	font-weight: 400 !important;
	text-transform: uppercase;
	margin: 0 auto 24px !important;
}

.smi-pricing-page .smi-pricing-hero p {
	max-width: 760px;
	margin: 0 auto 28px;
	font-size: 16px;
	line-height: 1.65;
}

.smi-pricing-page .smi-pricing-hero .wp-block-cover__background {
	opacity: 0.18 !important;
}

.smi-pricing-page .smi-pricing-hero .wp-block-button__link {
	background: #ffffff !important;
	border-color: #ffffff !important;
	color: var(--smi-primary) !important;
}

.smi-pricing-page .smi-pricing-why {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 70px;
	align-items: center;
}

.smi-pricing-page .smi-pricing-why > .wp-block-column {
	margin: 0;
}

.smi-pricing-page .smi-pricing-why-section {
	padding-top: 70px;
	padding-bottom: 70px;
}

.smi-pricing-page .smi-pricing-why-section .smi-pricing-heading {
	font-weight: 400 !important;
}

.smi-pricing-page .smi-pricing-why-section .wp-block-image {
	margin: 0;
	text-align: center;
}

.smi-pricing-page .smi-pricing-why-section .wp-block-image img {
	width: 574px;
	max-width: 100%;
	height: 475px;
	object-fit: cover;
}

.smi-pricing-page .smi-pricing-why-section .wp-block-button__link {
	background: var(--smi-primary) !important;
	border-color: var(--smi-primary) !important;
	color: #ffffff !important;
	text-transform: uppercase;
}

.smi-pricing-page .smi-pricing-process {
	position: relative;
	left: 50%;
	background: var(--smi-primary);
	color: #ffffff;
	padding-top: 75px;
	padding-bottom: 75px;
	text-align: center;
	width: 100vw;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	transform: translateX(-50%);
}

.smi-pricing-page .smi-pricing-process h2,
.smi-pricing-page .smi-pricing-process p {
	color: #ffffff;
}

.smi-pricing-page .smi-pricing-process h2 {
	font-size: 64px !important;
	line-height: 1 !important;
	font-weight: 400 !important;
	margin: 0 0 18px !important;
	display: block !important;
	visibility: visible !important;
	color: #ffffff !important;
}

.smi-pricing-page .smi-pricing-process .wp-block-button__link {
	background: #ffffff !important;
	border-color: #ffffff !important;
	color: var(--smi-primary) !important;
}

.smi-pricing-page .smi-pricing-process > p {
	margin: 0 auto;
}

.smi-pricing-page .smi-pricing-process .smi-process-note {
	max-width: 760px;
	margin: 42px auto 34px;
	font-style: italic;
	text-align: center;
}

.smi-pricing-page .smi-pricing-process-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
	text-align: center;
	padding-top: 35px;
	padding-bottom: 35px;
}

.smi-pricing-page .smi-pricing-process-grid > .wp-block-column {
	margin: 0;
}

.smi-pricing-page .smi-pricing-process-grid img {
	width: 50px;
	height: 50px;
	margin-bottom: 16px;
}

.smi-pricing-page .smi-pricing-process-grid h3 {
	font-family: var(--smi-font-heading) !important;
	font-size: 26px !important;
	font-weight: 400 !important;
	line-height: 1.15 !important;
	margin: 0 0 8px !important;
	color: #ffffff !important;
}

.smi-pricing-page .smi-pricing-process-grid p {
	margin: 0;
	font-size: 16px;
	line-height: 1.35;
}

.smi-pricing-page .smi-pricing-material-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 360px);
	gap: 30px;
	align-items: center;
}

.smi-pricing-page .smi-pricing-material-heading > .wp-block-column {
	margin: 0;
}

.smi-pricing-page .smi-pricing-material-heading img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.smi-pricing-page .smi-pricing-card .wp-block-button__link {
	padding: 0;
	background: transparent;
	color: var(--smi-primary);
	font-weight: 500;
	text-transform: none;
	text-decoration: underline;
}

.smi-pricing-page .smi-pricing-serving {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	align-items: center;
	min-height: 500px;
	padding: 120px 30px;
	box-sizing: border-box;
	background-image: linear-gradient(rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0.32)), url('/wp-content/uploads/2026/08/image-1.jpg');
	background-position: center;
	background-size: cover;
	text-align: center;
}

.smi-pricing-page .smi-pricing-serving > .wp-block-column {
	margin: 0;
}

.smi-pricing-page .smi-pricing-serving > .wp-block-column:first-child {
	display: none;
}

.smi-pricing-page .smi-pricing-serving h2,
.smi-pricing-page .smi-pricing-serving p {
	color: #ffffff;
}

.smi-pricing-page .smi-pricing-serving img {
	width: 100%;
	height: auto;
}

.smi-pricing-page .smi-pricing-ready {
	padding-top: 70px;
	padding-bottom: 70px;
	text-align: center;
	background: #ffffff;
}

.smi-pricing-page .smi-pricing-reusable-cta-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
}

.smi-pricing-page .smi-pricing-reusable-cta-grid > .wp-block-column {
	margin: 0;
	padding: 35px;
	text-align: center;
	background: #f4f7f5;
}

.smi-pricing-page .smi-pricing-reusable-cta-grid img {
	width: 58px;
	height: 58px;
	object-fit: contain;
}

.smi-pricing-page .smi-pricing-kicker {
	font-family: var(--smi-font-heading);
	font-size: 26px;
	line-height: 1;
	color: var(--smi-primary);
	text-transform: uppercase;
}

.smi-pricing-page .smi-pricing-heading {
	font-family: var(--smi-font-heading) !important;
	font-size: 58px !important;
}

/* ==========================================================================
   HOMEPAGE STYLES
   ========================================================================== */

.smi-homepage {
	position: relative;
	width: 100%;
	max-width: none !important;
	left: 0 !important;
	transform: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.home .smi-homepage.alignfull,
body.home .smi-hero-video.alignfull {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

body.home .smi-homepage.alignfull {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.home .smi-homepage.alignfull > .smi-hero-video {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Hero Video Section */
.smi-hero-video {
	position: relative;
	width: 100%;
	max-width: none !important;
	min-height: 530px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 60px 0 !important;
	margin-block-start: 0 !important;
	border-bottom: 10px solid var(--smi-primary);
	box-sizing: border-box;
}

.smi-hero-video__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.smi-hero-video .wp-block-cover__background,
.smi-hero-video .wp-block-cover__inner-container {
	position: relative;
	z-index: 1;
}

.smi-hero-video .wp-block-cover__background {
	background: rgba(0, 0, 0, 0.12) !important;
}

.smi-hero-video .wp-block-cover__inner-container {
	width: 100%;
	max-width: 1320px !important;
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 28px;
}

.smi-hero-heading {
	font-family: var(--smi-font-heading) !important;
	font-size: 80px !important;
	font-weight: 400 !important;
	line-height: 61px !important;
	letter-spacing: -1px !important;
	color: #ffffff !important;
	text-align: left !important;
	max-width: 820px !important;
	margin: 0 !important;
	text-transform: uppercase;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.smi-hero-buttons {
	margin: 0 !important;
}

.smi-hero-buttons .wp-block-button__link {
	padding: 16px 46px !important;
	background: #c95400 !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #ffffff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.2;
	text-transform: uppercase;
}

.smi-hero-buttons .wp-block-button__link:hover,
.smi-hero-buttons .wp-block-button__link:focus {
	background: #a74300 !important;
	color: #ffffff !important;
}

/* Services Overview Section */
.smi-services-overview {
	max-width: 1360px;
	margin: 0 auto !important;
	padding: 86px 24px 92px !important;
}

.smi-services-heading {
	font-family: var(--smi-font-heading) !important;
	font-size: 78px !important;
	font-weight: 400 !important;
	line-height: 0.95 !important;
	letter-spacing: -1px !important;
	text-transform: uppercase;
	color: var(--smi-primary) !important;
	margin: 0 0 22px !important;
	text-align: left;
}

.smi-services-intro {
	font-size: 16px;
	line-height: 1.6;
	color: var(--smi-primary);
	margin: 0 0 42px !important;
	max-width: 1260px;
}

.smi-three-cards {
	margin: 0 !important;
	gap: 34px !important;
	align-items: stretch !important;
}

.smi-three-cards .wp-block-column {
	display: flex;
	margin: 0 !important;
}

.smi-three-cards .smi-card {
	flex: 1;
	padding: 40px 38px !important;
	text-align: left;
	background: #ffffff;
	box-shadow: 0 14px 30px rgba(13, 41, 57, 0.14);
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 560px;
}

.smi-card-icon {
	margin: 0 0 20px !important;
	text-align: center;
}

.smi-card-icon img {
	width: 210px;
	height: 210px;
	object-fit: contain;
}

.smi-card-title {
	font-family: var(--smi-font-heading) !important;
	font-size: 50px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	color: var(--smi-primary) !important;
	margin: 0 0 18px !important;
	text-transform: none;
}

.smi-card-text {
	font-size: 16px;
	line-height: 1.6;
	color: #1b1f23;
	margin: 0 0 24px !important;
}

.smi-card-link {
	margin: auto 0 0 !important;
	font-size: 16px;
	line-height: 1.4;
}

.smi-card-link a {
	color: #0a7d5a;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.smi-card-link a:hover,
.smi-card-link a:focus {
	color: #0c9369;
}

/* Sell Us Your Scrap Section */
.smi-sell-us-scrap {
	position: relative;
	width: 100%;
	max-width: 1380px;
	margin: 0 auto !important;
	padding: 84px 28px 70px !important;
	background-color: #ffffff !important;
	color: var(--smi-primary);
	text-align: center;
}

.smi-sell-heading {
	font-family: var(--smi-font-heading) !important;
	font-size: 78px !important;
	font-weight: 400 !important;
	line-height: 0.95 !important;
	letter-spacing: -1px !important;
	color: var(--smi-primary) !important;
	margin: 0 0 46px !important;
	text-transform: uppercase;
}

.smi-sell-buttons {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 34px 74px !important;
	max-width: 1280px;
	margin: 0 auto !important;
	justify-content: initial !important;
}

.smi-sell-us-scrap .wp-block-button {
	width: 100%;
	margin: 0 !important;
}

.smi-sell-us-scrap .wp-block-button__link {
	display: flex;
	width: 100%;
	min-height: 76px;
	padding: 0 24px !important;
	align-items: center;
	justify-content: center;
	background: var(--smi-primary) !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 9px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	text-align: center;
	white-space: nowrap;
}

.smi-sell-us-scrap .wp-block-button__link:hover,
.smi-sell-us-scrap .wp-block-button__link:focus {
	background: #0a9068 !important;
	color: #ffffff !important;
}

/* Map Section */
.smi-map-cover {
	margin: 0 !important;
	border-top: 18px solid #ffffff;
	position: relative;
	overflow: visible;
	z-index: 10;
	margin-bottom: 0 !important;
}

.smi-map-cover .wp-block-cover__background {
	opacity: 0.62 !important;
}

.smi-map-cover .wp-block-cover__inner-container {
	width: 100%;
	max-width: 1360px !important;
	margin: 0 auto;
	padding: 64px 24px 56px;
	box-sizing: border-box;
}

.smi-map-layout {
	gap: 30px !important;
	align-items: center !important;
}

.smi-map-graphic {
	margin: 0 !important;
	text-align: center;
}

.smi-map-cover .smi-map-graphic img {
	position: absolute;
	bottom: -170px;
	left: 0;
	z-index: 80;
	width: min(96%, 740px);
	height: auto;
	filter: drop-shadow(0 12px 25px rgba(0, 0, 0, 0.35));
}

.smi-map-heading {
	font-family: var(--smi-font-heading) !important;
	font-size: 74px !important;
	line-height: 0.95 !important;
	letter-spacing: -1px !important;
	text-transform: uppercase;
	color: #ffffff !important;
	margin: 0 0 22px !important;
	max-width: 620px;
}

.smi-map-text {
	color: #ffffff !important;
	font-size: 16px;
	line-height: 1.6;
	max-width: 620px;
	margin: 0 !important;
}

/* Location Selector Section */
.smi-location-selector {
	background: var(--smi-primary);
	color: #ffffff;
	padding: 78px 24px 78px !important;
	text-align: center;
	position: relative;
	z-index: 4;
	margin-top: -34px !important;
}

.smi-location-selector-intro {
	margin: 0 auto 16px !important;
	max-width: none;
	font-size: 16px;
	line-height: 30px;
	color: #ffffff;
	text-transform: uppercase;
	font-family: var(--smi-font-body) !important;
	font-weight: 400;
	letter-spacing: 0;
	white-space: nowrap;
}

.smi-location-selector-heading {
	font-family: var(--smi-font-heading) !important;
	font-size: 62px !important;
	font-weight: 400 !important;
	line-height: 61px !important;
	letter-spacing: -1px !important;
	color: #ffffff !important;
	text-transform: uppercase;
	margin: 25px 0 22px !important;
}

.smi-location-selector-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px 22px !important;
	max-width: 1280px;
	margin: 0 auto !important;
	justify-content: initial !important;
}

.smi-location-selector-grid .wp-block-button {
	width: 100%;
	margin: 0 !important;
}

.smi-location-selector-grid .wp-block-button:nth-child(9) {
	grid-column: 2;
}

.smi-location-selector-grid .wp-block-button:nth-child(10) {
	grid-column: 3;
}

.smi-location-selector-grid .wp-block-button__link {
	display: flex;
	width: 100%;
	min-height: 60px;
	padding: 19px 20px !important;
	align-items: center;
	justify-content: center;
	background: #ffffff !important;
	color: var(--smi-primary) !important;
	font-size: 15px !important;
	font-family: var(--smi-font-body) !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 18.75px !important;
	text-transform: uppercase;
	text-align: center;
	border: 0 !important;
	border-radius: 7px !important;
	white-space: normal;
	text-wrap: balance;
	box-sizing: border-box;
}

.smi-location-selector-grid .wp-block-button__link:hover,
.smi-location-selector-grid .wp-block-button__link:focus {
	background: #f3f7f5 !important;
	color: #0a9068 !important;
}

/* About + Careers Section */
.smi-about-careers,
.smi-about-careers.wp-block-group.alignfull {
	padding: 58px 24px 0 !important;
	width: min(100%, 1320px) !important;
	max-width: 1320px !important;
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.home .entry-content .smi-homepage > .smi-about-careers.alignfull {
	max-width: 1320px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.smi-about-row {
	gap: 36px !important;
	align-items: center !important;
	margin: 0 0 46px !important;
}

.smi-about-heading {
	font-family: var(--smi-font-heading) !important;
	font-size: 64px !important;
	font-weight: 400 !important;
	line-height: 61px !important;
	letter-spacing: -1px !important;
	text-transform: uppercase;
	color: var(--smi-primary) !important;
	margin: 25px 0 12px !important;
}

.smi-about-subheading {
	font-size: 24px !important;
	line-height: 30px !important;
	font-weight: 500 !important;
	font-family: var(--smi-font-body) !important;
	color: var(--smi-primary) !important;
	margin: 0 0 22px !important;
}

.smi-about-text {
	font-size: 16px;
	line-height: 30px;
	color: #1d2329;
	max-width: 690px;
	margin: 0 0 18px !important;
}

.smi-about-text:last-child {
	margin-bottom: 0 !important;
}

.smi-about-logo {
	text-align: center;
	margin: 0 !important;
}

.smi-about-logo img {
	width: min(100%, 200px);
	height: auto;
}

.smi-career-row {
	gap: 22px !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 0 34px;
}

.smi-career-heading {
	font-family: var(--smi-font-heading) !important;
	font-size: 64px !important;
	font-weight: 400 !important;
	line-height: 61px !important;
	letter-spacing: -1px !important;
	text-transform: uppercase;
	color: var(--smi-primary) !important;
	margin: 0 0 12px !important;
}

.smi-career-text {
	font-size: 16px;
	line-height: 30px;
	color: #1d2329;
	max-width: 520px;
	margin: 0 0 12px !important;
}

.smi-career-buttons {
	margin: 0 !important;
}

.smi-career-buttons .wp-block-button__link {
	min-width: 311px;
	min-height: 60px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--smi-primary) !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 7px !important;
	padding: 19px 56px !important;
	font-family: var(--smi-font-body) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 18.75px !important;
	text-transform: uppercase;
	letter-spacing: 0;
}

.smi-career-buttons .wp-block-button__link:hover,
.smi-career-buttons .wp-block-button__link:focus {
	background: #0a9068 !important;
	color: #ffffff !important;
}

.smi-workers-strip {
	margin: 0 !important;
	min-height: 650px;
}

.smi-workers-strip .wp-block-cover__image-background {
	object-fit: cover;
	object-position: center top;
}

.smi-workers-strip .wp-block-cover__inner-container {
	padding: 0;
	max-width: none !important;
}

.smi-careers-page {
	margin: 0 !important;
	padding: 0 !important;
}

/* Remove any default block-flow spacing between Careers sections */
.smi-careers-page.is-layout-flow > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.smi-careers-page > .wp-block-group {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* No top spacing between consecutive Careers block groups */
.smi-careers-page > .wp-block-group + .wp-block-group {
	padding-top: 0 !important;
}

.smi-careers-page h1,
.smi-careers-page h2,
.smi-careers-page h3,
.smi-careers-page h4 {
	margin-top: 0;
}

.smi-careers-hero,
.smi-careers-sustain,
.smi-careers-why,
.smi-careers-voice,
.smi-careers-cta,
.smi-careers-team-photo {
	padding-left: 16px;
	padding-right: 16px;
}

.smi-careers-hero-inner,
.smi-careers-sustain-inner,
.smi-careers-why-inner,
.smi-careers-voice-inner,
.smi-careers-cta-inner {
	max-width: 1200px;
	margin: 0 auto;
}

.smi-careers-hero {
	background: #232423;
	padding-top: 24px;
	padding-bottom: 30px;
}

.smi-careers-hero-title {
	font-family: var(--smi-font-heading) !important;
	font-size: clamp(40px, 6vw, 72px) !important;
	line-height: .95 !important;
	text-align: center;
	color: #fff !important;
	margin-bottom: 22px !important;
}

.smi-careers-jobs-frame-wrap {
	width: 100%;
	border: 1px solid #3b3f3f;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

.smi-careers-jobs-frame {
	width: 100%;
	height: 980px;
	border: 0;
	display: block;
}

.smi-careers-sustain {
	background: #00a886;
	padding-top: 35px;
	padding-bottom: 35px;
}

.smi-careers-sustain-title {
	font-family: var(--smi-font-heading) !important;
	font-size: clamp(36px, 5.2vw, 68px) !important;
	line-height: .96 !important;
	text-transform: uppercase;
	text-align: center;
	color: #fff !important;
	max-width: 980px;
	margin: 0 auto 24px !important;
}

.smi-careers-sustain-text {
	max-width: 980px;
	margin: 0 auto !important;
	text-align: center;
	font-size: 21px;
	line-height: 1.55;
	color: #f4f8f7;
}

.smi-careers-why {
	background: #9abcca;
	padding-top: 35px;
	padding-bottom: 35px;
}

.smi-careers-why p,
.smi-careers-why li,
.smi-careers-why strong {
	color: #162429;
}

.smi-careers-voice {
	background: #232423;
	padding-top: 35px;
	padding-bottom: 35px;
}

.smi-careers-voice h1,
.smi-careers-voice h2,
.smi-careers-voice h3,
.smi-careers-voice h4,
.smi-careers-voice p,
.smi-careers-voice strong {
	color: #fff !important;
}

.smi-careers-cta {
	padding-top: 35px;
	padding-bottom: 35px;
	background: #fff;
}

.smi-careers-cta-btn .wp-block-button__link {
	background: var(--smi-primary) !important;
	color: #fff !important;
	border-radius: 7px !important;
	padding: 15px 42px !important;
	text-transform: uppercase;
	font-weight: 600 !important;
}

.smi-careers-team-photo {
	padding-left: 0;
	padding-right: 0;
	background: #fff;
}

.smi-careers-team-photo img {
	width: 100%;
	height: auto;
	display: block;
}

@media (min-width: 769px) and (max-width: 1024px) {
	.smi-careers-hero,
	.smi-careers-sustain,
	.smi-careers-why,
	.smi-careers-voice,
	.smi-careers-cta {
		padding-left: 24px;
		padding-right: 24px;
	}

	.smi-careers-hero-title {
		font-size: 58px !important;
		line-height: .96 !important;
	}

	.smi-careers-sustain-title {
		font-size: 54px !important;
		line-height: .96 !important;
	}

	.smi-careers-sustain-text,
	.smi-careers-why p,
	.smi-careers-why li,
	.smi-careers-voice p,
	.smi-careers-cta p {
		font-size: 18px;
		line-height: 1.65;
	}

	.smi-careers-why .wp-block-columns {
		gap: 24px;
	}

	.smi-careers-why .wp-block-columns .wp-block-column {
		flex-basis: 100% !important;
	}

	.smi-careers-jobs-frame {
		height: 900px;
	}
}

/* Responsive: Tablets and Below */
@media (max-width: 768px) {
	.smi-careers-hero,
	.smi-careers-sustain,
	.smi-careers-why,
	.smi-careers-voice,
	.smi-careers-cta {
		padding-left: 12px;
		padding-right: 12px;
	}

	.smi-careers-hero-title {
		font-size: 42px !important;
		margin-bottom: 16px !important;
	}

	.smi-careers-sustain-title {
		font-size: 38px !important;
	}

	.smi-careers-sustain-text {
		font-size: 17px;
	}

	.smi-careers-jobs-frame-wrap {
		width: calc(100% - 24px);
		margin: 18px auto 30px;
		border-radius: 10px;
	}

	.smi-careers-jobs-frame {
		height: 860px;
	}

	.smi-hero-video {
		min-height: 460px;
		align-items: center;
		justify-content: center;
		padding: 40px 0 !important;
	}

	.smi-hero-video__media {
		object-position: center center;
	}

	.smi-hero-video .wp-block-cover__inner-container {
		padding: 0 20px;
		gap: 20px;
	}

	.smi-hero-heading {
		font-size: 34px !important;
		max-width: 100% !important;
	}

	.smi-three-cards {
		flex-direction: column;
		gap: 20px !important;
	}

	.smi-three-cards .wp-block-column {
		width: 100% !important;
	}

	.smi-services-overview {
		padding: 56px 16px 60px !important;
	}

	.smi-services-heading {
		font-size: 48px !important;
		line-height: 1 !important;
		margin-bottom: 16px !important;
	}

	.smi-services-intro {
		font-size: 16px;
		margin-bottom: 22px !important;
	}

	.smi-three-cards .smi-card {
		min-height: 0;
		padding: 28px 22px !important;
	}

	.smi-card-icon img {
		width: 140px;
		height: 140px;
	}

	.smi-card-title {
		font-size: 38px !important;
	}

	.smi-card-text {
		font-size: 16px;
		margin-bottom: 16px !important;
	}

	.smi-card-link {
		font-size: 16px;
	}

	.smi-sell-us-scrap {
		max-width: 100%;
		padding: 72px 18px 60px !important;
	}

	.smi-sell-heading {
		font-size: 52px !important;
		margin-bottom: 26px !important;
	}

	.smi-sell-buttons {
		grid-template-columns: 1fr !important;
		gap: 18px !important;
	}

	.smi-sell-us-scrap .wp-block-button__link {
		font-size: 16px !important;
		min-height: 72px;
		padding: 0 16px !important;
		white-space: normal;
	}

	.smi-map-cover {
		min-height: 640px !important;
		margin-bottom: 0 !important;
	}

	.smi-map-cover .wp-block-cover__inner-container {
		padding: 54px 16px 46px;
	}

	.smi-map-layout {
		flex-direction: column;
		gap: 24px !important;
	}

	.smi-map-heading {
		font-size: 44px !important;
		max-width: 100%;
	}

	.smi-map-text {
		font-size: 16px;
		max-width: 100%;
	}

	.smi-location-selector {
		margin-top: 0 !important;
		padding: 56px 16px 62px !important;
	}

	.smi-location-selector-intro {
		font-size: 16px;
		line-height: 26px;
		max-width: 100%;
		margin-bottom: 24px !important;
	}

	.smi-location-selector-heading {
		font-size: 52px !important;
		line-height: 1 !important;
		margin-bottom: 24px !important;
	}

	.smi-location-selector-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px !important;
	}

	.smi-location-selector-grid .wp-block-button__link {
		min-height: 56px;
		padding: 12px 12px !important;
		font-size: 15px !important;
		line-height: 1.2 !important;
	}

	.smi-about-careers {
		padding: 52px 16px 0 !important;
	}

	.smi-about-row {
		gap: 20px !important;
		margin-bottom: 36px !important;
	}

	.smi-about-heading {
		font-size: 56px !important;
		line-height: 1 !important;
		margin-bottom: 12px !important;
	}

	.smi-about-subheading {
		font-size: 24px !important;
		line-height: 1.3 !important;
		margin-bottom: 16px !important;
	}

	.smi-about-logo img {
		width: min(100%, 170px);
	}

	.smi-career-row {
		gap: 20px !important;
		padding-bottom: 36px;
	}

	.smi-career-heading {
		font-size: 56px !important;
		line-height: 1 !important;
	}

	.smi-career-buttons .wp-block-button__link {
		min-width: 100%;
		font-size: 15px !important;
		padding: 14px 22px !important;
	}

	.smi-workers-strip {
		min-height: 430px !important;
	}
}

@media (max-width: 480px) {
	.smi-hero-heading {
		font-size: 26px !important;
	}

	.smi-card-title {
		font-size: 30px !important;
	}

	.smi-services-heading {
		font-size: 38px !important;
	}

	.smi-services-intro {
		font-size: 16px;
	}

	.smi-card-text {
		font-size: 16px;
	}

	.smi-card-link {
		font-size: 16px;
	}

	.smi-sell-heading {
		font-size: 42px !important;
	}

	.smi-sell-us-scrap .wp-block-button__link {
		font-size: 16px !important;
		min-height: 68px;
		padding: 0 14px !important;
	}

	.smi-map-heading {
		font-size: 35px !important;
	}

	.smi-map-text {
		font-size: 18px;
	}

	.smi-location-selector-intro {
		font-size: 15px;
		line-height: 24px;
	}

	.smi-location-selector-heading {
		font-size: 42px !important;
	}

	.smi-location-selector-grid {
		grid-template-columns: 1fr;
	}

	.smi-location-selector-grid .wp-block-button__link {
		font-size: 15px !important;
		min-height: 54px;
	}

	.smi-about-heading {
		font-size: 42px !important;
	}

	.smi-about-subheading {
		font-size: 21px !important;
	}

	.smi-career-heading {
		font-size: 44px !important;
	}

	.smi-career-buttons .wp-block-button__link {
		font-size: 15px !important;
		padding: 10px 18px !important;
	}

	.smi-workers-strip {
		min-height: 320px !important;
	}
}

@media (max-width: 1200px) {
	.smi-location-selector-intro {
		white-space: normal;
	}

	.smi-location-selector-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 780px;
	}

	.smi-location-selector-grid .wp-block-button:nth-child(9),
	.smi-location-selector-grid .wp-block-button:nth-child(10) {
		grid-column: auto;
	}

	.smi-location-selector-grid .wp-block-button__link {
		min-height: 60px;
	}
}

.smi-pricing-page .smi-pricing-section {
	padding-top: 70px;
	padding-bottom: 70px;
}

.smi-pricing-page .smi-pricing-section--muted {
	background: #f4f7f5;
}

.smi-pricing-page .smi-pricing-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
}

.smi-pricing-page .smi-pricing-grid > .wp-block-column {
	margin: 0;
	min-width: 0;
}

.smi-pricing-page .smi-pricing-card {
	padding: 0 0 28px;
	border-bottom: 2px solid rgba(0, 114, 78, 0.18);
	height: 100%;
	box-sizing: border-box;
}

.smi-pricing-page .smi-pricing-card img {
	width: 100%;
	height: 182px;
	object-fit: cover;
	margin-bottom: 20px;
}

.smi-pricing-page .smi-pricing-card h3 {
	font-family: var(--smi-font-heading) !important;
	font-size: 31px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	color: var(--smi-primary) !important;
	margin: 0 0 12px !important;
}

.smi-pricing-page .smi-pricing-card p {
	margin-top: 0;
	margin-bottom: 20px;
}

.smi-pricing-page .smi-pricing-card .wp-block-button__link,
.smi-pricing-page .smi-pricing-cta .wp-block-button__link {
	border-radius: 7px;
	background: var(--smi-primary);
	color: #ffffff;
	font-family: var(--smi-font-body);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.smi-pricing-page .smi-pricing-cta {
	padding: 60px 30px;
	background: var(--smi-primary);
	color: #ffffff;
	text-align: center;
}

.smi-pricing-page .smi-pricing-cta h2,
.smi-pricing-page .smi-pricing-cta p {
	color: #ffffff;
}

.smi-materials-page {
	color: #252525;
}

.smi-materials-page .smi-materials-intro,
.smi-materials-page .smi-materials-section {
	padding-top: 70px;
	padding-bottom: 70px;
}

.smi-materials-page .smi-materials-intro {
	text-align: center;
}

.smi-materials-page .smi-materials-heading {
	font-family: var(--smi-font-heading) !important;
	font-size: 58px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	color: var(--smi-primary) !important;
}

.smi-materials-page .smi-material-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
}

.smi-materials-page .smi-material-grid > .wp-block-column {
	margin: 0;
	min-width: 0;
}

.smi-materials-page .smi-material-card {
	height: 100%;
	padding: 0 0 28px;
	border-bottom: 2px solid rgba(0, 114, 78, 0.18);
}

.smi-materials-page .smi-material-card img {
	width: 100%;
	height: 180px;
	object-fit: contain;
	margin-bottom: 18px;
}

.smi-materials-page .smi-material-card h3 {
	font-family: var(--smi-font-heading) !important;
	font-size: 30px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	color: var(--smi-primary) !important;
	margin: 0 0 12px !important;
}

.smi-materials-page .smi-material-rejection-row {
	display: grid;
	grid-template-columns: minmax(180px, 25%) minmax(0, 75%);
	gap: 30px;
	align-items: center;
	padding: 28px 0;
	border-bottom: 1px solid #e4e8e6;
}

.smi-materials-page .smi-material-rejection-row img {
	width: 100%;
	height: 150px;
	object-fit: contain;
}

.smi-materials-page .smi-material-rejection-row p {
	margin: 0;
	font-size: 20px;
	font-weight: 500;
}

@media (max-width: 781px) {
	.smi-pricing-page .smi-pricing-hero h1 {
		font-size: 56px !important;
	}

	.smi-pricing-page .smi-pricing-why,
	.smi-pricing-page .smi-pricing-serving,
	.smi-pricing-page .smi-pricing-reusable-cta-grid,
	.smi-pricing-page .smi-pricing-material-heading {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.smi-pricing-page .smi-pricing-process-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.smi-pricing-page .smi-pricing-section {
		padding-top: 45px;
		padding-bottom: 45px;
	}

	.smi-pricing-page .smi-pricing-heading {
		font-size: 45px !important;
	}

	.smi-pricing-page .smi-pricing-card img {
		height: auto;
	}

	.smi-pricing-page .smi-pricing-grid,
	.smi-materials-page .smi-material-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.smi-materials-page .smi-materials-intro,
	.smi-materials-page .smi-materials-section {
		padding-top: 45px;
		padding-bottom: 45px;
	}

	.smi-materials-page .smi-materials-heading {
		font-size: 45px !important;
	}

	.smi-materials-page .smi-material-rejection-row {
		grid-template-columns: 1fr;
		gap: 15px;
	}
}

@media (max-width: 560px) {
	.smi-pricing-page .smi-pricing-grid,
	.smi-materials-page .smi-material-grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   LOCATIONS DIRECTORY PAGE (EXACT 1:1 PARITY WITH JOOMLA SPPB PAGE 106)
   ========================================================================== */

.smi-locations-main-container {
	padding: 0;
	margin: 0;
}

.smi-locations-page {
	width: 100%;
	padding: 0;
}

.smi-location-section {
	padding-top: 45px;
	padding-bottom: 45px;
	position: relative;
}

.smi-location-section:first-child {
	padding-top: 45px;
}

.smi-location-section__row {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 0;
	margin-left: -15px;
	margin-right: -15px;
}

/* Image Column (25% on desktop matching Joomla) */
.smi-location-section__col-img {
	flex: 0 0 25%;
	max-width: 25%;
	padding: 0 15px;
	box-sizing: border-box;
}

.smi-location-image-container {
	width: 100%;
	line-height: 0;
}

.smi-location-img {
	width: 100%;
	height: auto;
	max-width: 408px;
	display: block;
	object-fit: cover;
	border-radius: 0;
}

/* Content Column (75% on desktop matching Joomla) */
.smi-location-section__col-content {
	flex: 0 0 75%;
	max-width: 75%;
	padding: 0 15px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}

.smi-location-header {
	margin-bottom: 10px;
}

.smi-location-title {
	font-family: var(--smi-font-body) !important;
	font-weight: 700 !important;
	font-size: 25px !important;
	line-height: 1.2 !important;
	color: #00724e !important;
	margin: 0 0 4px 0 !important;
	padding: 0 !important;
}

.smi-location-subtitle {
	font-family: var(--smi-font-body);
	font-weight: 400;
	font-size: 25px;
	line-height: 1.2;
	color: #00724e;
	margin: 0;
	padding: 0;
}

.smi-location-subtitle .dba {
	font-size: 12px !important;
	font-style: normal;
}

.smi-location-notice {
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 500;
	color: #252525;
}

/* 3-Column Info Row (Address / Days / Times) */
.smi-location-info-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: flex-start;
	gap: 20px;
	margin-top: 10px;
	margin-bottom: 25px;
	font-family: var(--smi-font-body);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	color: #252525;
}

.smi-location-info-col {
	min-width: 0;
}

.smi-location-address {
	grid-column: 1;
}

.smi-location-address a {
	color: #252525 !important;
	text-decoration: underline !important;
	transition: color 0.2s ease;
}

.smi-location-address a:hover {
	color: #00724e !important;
}

.smi-location-days {
	grid-column: 2;
}

.smi-location-times {
	grid-column: 3;
}

/* Button Row (SPPB three-column nested row) */
.smi-location-buttons-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: center;
	gap: 10px;
	margin-top: 5px;
}

.smi-btn-sppb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--smi-font-body);
	font-size: 16px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	white-space: nowrap;
	width: auto;
	box-sizing: border-box;
	border-radius: 7px;
	cursor: pointer;
	text-decoration: none !important;
	transition: all 0.2s ease;
	line-height: 1.25;
}

.smi-location-buttons-row > .smi-btn-sppb {
	justify-self: start;
}

.smi-btn-solid {
	background-color: #00724e !important;
	color: #ffffff !important;
	border: 1px solid #00724e !important;
	padding: 15px 32px !important;
}

.smi-btn-solid:hover,
.smi-btn-solid:focus {
	background-color: #008b5e !important;
	border-color: #008b5e !important;
	color: #ffffff !important;
}

.smi-btn-outline {
	background-color: transparent !important;
	border: 1px solid #00724e !important;
	color: #00724e !important;
	padding: 15px 28px !important;
}

.smi-btn-outline:hover,
.smi-btn-outline:focus {
	background-color: #00724e !important;
	color: #ffffff !important;
	border-color: #00724e !important;
}

/* Responsive Mobile Layout (matching Joomla sppb-hidden-xl sppb-hidden-lg sppb-hidden-md) */
@media (max-width: 991px) {
	.smi-location-section {
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.sp-page-title {
		padding: 30px 0 !important;
	}

	.sp-page-title-heading,
	.sp-page-title .sp-page-title-heading {
		font-size: 45px !important;
	}

	.smi-location-section__row {
		flex-direction: column;
		gap: 20px;
	}

	.smi-location-section__col-img {
		flex: 1 1 100%;
		max-width: 100%;
		display: none; /* In Joomla, images are hidden on mobile (< 992px) for page 106 */
	}

	.smi-location-section__col-content {
		flex: 1 1 100%;
		max-width: 100%;
	}

	.smi-location-title,
	.smi-location-subtitle {
		font-size: 22px !important;
	}

	.smi-location-info-row {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.smi-location-buttons-row {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.smi-btn-sppb {
		width: 100%;
		text-align: center;
		padding: 14px 20px !important;
	}

}

/* ==========================================================================
   LOCATION DETAIL PAGE PARITY (JOOMLA/SPPB CONTENT)
   ========================================================================== */

.single-location #sp-main-body {
	margin: 0 !important;
	padding: 0 !important;
}

.single-location #sp-main-body > .wp-block-post-content {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: none !important;
}

/* Keep header yard selector consistent on location detail pages. */
.single-location .smi-site-header .sppb-addon-locations-dropdown {
	width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}

.single-location .smi-site-header .sppb-addon-label {
	display: block !important;
	font-size: 12px !important;
	line-height: 14px !important;
	margin: 0 0 5px !important;
	width: 100% !important;
}

.single-location .smi-site-header .sppb-addon-custom-dropdown {
	position: relative !important;
	width: 100% !important;
	height: auto !important;
	display: flex !important;
	align-items: stretch !important;
	padding: 0 !important;
	margin: 0 !important;
}

.single-location .smi-site-header .sppb-addon-custom-dropdown-selected {
	flex: 1 1 auto !important;
	max-width: calc(100% - 32px) !important;
	padding: 7px 9px !important;
	border: 1px solid #0c8e6c !important;
	background: #ffffff !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
}

.single-location .smi-site-header .sppb-addon-custom-dropdown-toggle {
	width: 32px !important;
	flex: 0 0 32px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	border: 1px solid #0c8e6c !important;
	border-left: none !important;
}

.single-location .smi-site-header .sppb-addon-custom-dropdown-list {
	display: none !important;
	position: absolute !important;
	top: calc(100% + 2px) !important;
	left: 0 !important;
	right: auto !important;
	width: 100% !important;
	max-height: 220px !important;
	overflow-y: auto !important;
	background: #ffffff !important;
	border: 1px solid #d0d0d0 !important;
	z-index: 9999 !important;
}

.single-location .smi-site-header .sppb-addon-custom-dropdown-list.show {
	display: flex !important;
	flex-direction: column !important;
}

/* Ensure the green "Learn more..." panel links are readable on location pages. */
.single-location #sp-main-body .sppb-addon-text-block.bullets,
.single-location #sp-main-body .sppb-addon-text-block.bullets .sppb-addon-content,
.single-location #sp-main-body .sppb-addon-text-block.bullets p,
.single-location #sp-main-body .sppb-addon-text-block.bullets span {
	color: rgba(255, 255, 255, 0.92) !important;
}

.single-location #sp-main-body .sppb-addon-text-block.bullets a,
.single-location #sp-main-body .sppb-addon-text-block.bullets a span {
	color: #ffffff !important;
	text-decoration: underline !important;
	text-decoration-color: rgba(255, 255, 255, 0.85) !important;
}

.single-location #sp-main-body .sppb-addon-text-block.bullets a:hover,
.single-location #sp-main-body .sppb-addon-text-block.bullets a:focus,
.single-location #sp-main-body .sppb-addon-text-block.bullets a:hover span,
.single-location #sp-main-body .sppb-addon-text-block.bullets a:focus span {
	color: #ffffff !important;
	text-decoration-color: #ffffff !important;
}

/* ==========================================================================
   MATERIALS WE ACCEPT & DETAIL PAGES (1:1 PRODUCTION PARITY)
   ========================================================================== */

/* Page Hero Banner matching Helix Ultimate #sp-page-title */
.smi-hero-banner {
	width: 100%;
	background-color: #1f242c;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	padding: 60px 0;
	margin: 0 0 40px 0;
}

.smi-hero-banner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.45);
	z-index: 1;
}

.smi-hero-banner__inner {
	position: relative;
	z-index: 2;
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 15px;
}

.smi-hero-banner__container {
	max-width: 100%;
}

.smi-hero-banner__title {
	font-family: var(--smi-font-heading) !important;
	font-size: 55px !important;
	line-height: 1.1 !important;
	font-weight: 400 !important;
	color: #ffffff !important;
	margin: 0 0 6px 0 !important;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.smi-hero-banner__subtitle {
	font-family: var(--smi-font-body) !important;
	font-size: 20px !important;
	line-height: 1.4 !important;
	font-weight: 400 !important;
	color: #e2f2ec !important;
	margin: 0 !important;
}

.smi-material-page-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 15px 60px;
}

.smi-material-page-layout {
	display: grid;
	grid-template-columns: 360px 1fr;
	gap: 40px;
	align-items: flex-start;
}

/* Sidebar Navigation - 1:1 Match with Production */
.smi-sidebar-menu-section {
	margin-bottom: 35px;
}

.smi-sidebar-heading {
	font-family: var(--smi-font-body) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #1f242c !important;
	margin: 0 0 20px 0 !important;
	padding: 0 !important;
	border: none !important;
}

.smi-sidebar-button-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.smi-sidebar-price-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: transparent;
	border: 1px solid #e3e3e3;
	border-radius: 5px;
	padding: 8px 18px 9px 21px;
	margin: 0 0 15px 0;
	text-decoration: none !important;
	color: #00724e !important;
	font-family: var(--smi-font-body);
	font-weight: 500;
	font-size: 16px;
	line-height: 1.4;
	transition: all 0.2s ease;
	width: 100%;
	box-sizing: border-box;
}

.smi-sidebar-price-btn .smi-btn-label {
	text-decoration: underline !important;
	color: #00724e !important;
}

.smi-sidebar-price-btn i {
	color: #00724e;
	font-size: 15px;
	margin-left: 10px;
	transition: transform 0.2s ease;
}

.smi-sidebar-price-btn:hover {
	border-color: #00724e;
	background: #fcfcfc;
}

.smi-sidebar-price-btn:hover i {
	transform: translateX(3px);
}

.smi-sidebar-price-btn.is-active {
	border-color: #00724e;
	border-width: 1px;
	background: #fafafa;
}

/* Sidebar Widgets (Get a Quote & Locations) */
.smi-sidebar-widget {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	padding: 24px;
	margin-bottom: 30px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.smi-sidebar-widget-title {
	font-family: var(--smi-font-body) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #1f242c !important;
	margin: 0 0 16px 0 !important;
	padding-bottom: 10px !important;
	border-bottom: 2px solid #00724e !important;
}

.smi-sidebar-locations-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-bottom: 20px;
}

.smi-sidebar-loc-item {
	padding-bottom: 12px;
	border-bottom: 1px dashed #e2e8f0;
}

.smi-sidebar-loc-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.smi-sidebar-loc-name {
	font-weight: 700;
	font-size: 16px;
	color: #00724e !important;
	text-decoration: none !important;
	display: block;
	margin-bottom: 3px;
}

.smi-sidebar-loc-name:hover {
	color: #005a3e !important;
	text-decoration: underline !important;
}

.smi-sidebar-loc-addr {
	font-size: 13px;
	color: #64748b;
	line-height: 1.4;
}

.smi-sidebar-loc-addr .loc-label {
	font-weight: 600;
	color: #334155;
}

/* Fluent Forms Green Styling */
.fluentform .ff-btn-submit,
.fluentform button[type="submit"],
.fluentform input[type="submit"] {
	background-color: #00724e !important;
	border-color: #00724e !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	border-radius: 7px !important;
	padding: 12px 24px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.02em !important;
	transition: all 0.2s ease !important;
}

.fluentform .ff-btn-submit:hover,
.fluentform .ff-btn-submit:focus,
.fluentform button[type="submit"]:hover,
.fluentform button[type="submit"]:focus,
.fluentform input[type="submit"]:hover,
.fluentform input[type="submit"]:focus {
	background-color: #005a3e !important;
	border-color: #005a3e !important;
	color: #ffffff !important;
}

/* Main Content Typography */
.smi-material-main-col {
	min-width: 0;
}

.smi-content-heading {
	font-family: var(--smi-font-heading) !important;
	font-weight: 400 !important;
	color: #1f242c !important;
	line-height: 1.1 !important;
	text-transform: uppercase;
}

h1.smi-content-heading {
	font-size: 50px !important;
	line-height: 41px !important;
	letter-spacing: -1px;
	margin: 28px 0 20px 0 !important;
}

h2.smi-content-heading,
h3.smi-content-heading {
	font-size: 40px !important;
	line-height: 51px !important;
	letter-spacing: normal;
	margin: 30px 0 10px 0 !important;
}

h4.smi-content-heading {
	font-size: 24px !important;
	margin: 20px 0 10px 0 !important;
}

.smi-content-body {
	font-family: var(--smi-font-body);
	font-size: 16px;
	line-height: 30px;
	color: #565872;
	margin-bottom: 20px;
}

.smi-content-body p {
	margin: 0 0 20px 0;
}

.smi-content-body strong {
	color: #1f242c;
	font-weight: 600;
}

.smi-content-image-wrap {
	margin: 20px 0 25px;
}

.smi-content-img {
	max-width: 100%;
	height: auto;
	display: block;
	border-radius: 4px;
}

.smi-sppb-blocknumber {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	background: #f8fafc;
	border-left: 4px solid #00724e;
	padding: 16px 20px;
	margin-bottom: 14px;
	border-radius: 0 6px 6px 0;
}

.smi-sppb-blocknumber__num {
	font-family: var(--smi-font-heading);
	font-size: 26px;
	font-weight: 600;
	color: #00724e;
	line-height: 1;
	min-width: 32px;
}

.smi-sppb-blocknumber__content {
	flex: 1;
	font-family: var(--smi-font-body);
	font-size: 15px;
	line-height: 1.6;
	color: #475569;
}

.smi-sppb-blocknumber__title {
	font-family: var(--smi-font-body);
	font-size: 17px;
	font-weight: 600;
	color: #1e293b;
	margin: 0 0 4px 0;
}

/* Bottom 2 Service Boxes (Exact 1:1 Parity with Production) */
.smi-bottom-service-boxes {
	margin-top: 45px;
	margin-bottom: 20px;
	width: 100%;
}

.smi-bottom-service-grid {
	display: flex !important;
	gap: 30px !important;
	margin: 50px 0 20px !important;
	width: 100% !important;
}

.smi-bottom-service-grid > .wp-block-column,
.smi-bottom-service-grid .smi-bottom-box-col {
	flex: 1 1 calc(50% - 15px) !important;
	max-width: calc(50% - 15px) !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

.smi-box-service-detail {
	background-color: #F8F8F8 !important;
	padding: 38px 25px 35px !important;
	text-align: center !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	height: 100% !important;
}

.smi-box-icon {
	width: 95px !important;
	height: 95px !important;
	line-height: 95px !important;
	background-color: #00724e !important;
	color: #ffffff !important;
	border-radius: 5px !important;
	margin: 0 auto 31px !important;
	font-size: 50px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.smi-box-icon i {
	color: #ffffff !important;
	font-size: 50px !important;
}

.smi-box-title {
	font-family: var(--smi-font-body), 'Rubik', sans-serif !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #222222 !important;
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
}

.smi-box-text {
	font-family: var(--smi-font-body), 'Rubik', sans-serif !important;
	font-size: 16px !important;
	line-height: 28px !important;
	color: #565872 !important;
	margin: 0 0 25px 0 !important;
	padding: 0 10px !important;
	flex: 1 !important;
}

.smi-box-action {
	margin-top: auto !important;
}

.smi-btn-box {
	display: inline-block !important;
	background-color: #1f242c !important;
	color: #ffffff !important;
	border-radius: 5px !important;
	padding: 16px 30px !important;
	font-family: var(--smi-font-body), 'Rubik', sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	line-height: 1.25 !important;
}

.smi-btn-box:hover,
.smi-btn-box:focus {
	background-color: #00724e !important;
	color: #ffffff !important;
}

.smi-service-full-content {
	width: 100% !important;
	margin-bottom: 40px !important;
	clear: both !important;
}

.smi-service-full-content h2,
.smi-service-full-content h3 {
	font-family: var(--smi-font-heading), 'Teko', sans-serif !important;
	font-size: 40px !important;
	line-height: 51px !important;
	font-weight: 400 !important;
	color: #1f242c !important;
	margin: 30px 0 10px 0 !important;
	text-transform: none !important;
}

.smi-service-full-content p {
	font-family: var(--smi-font-body), 'Rubik', sans-serif !important;
	font-size: 16px !important;
	line-height: 30px !important;
	color: #565872 !important;
	margin-bottom: 20px !important;
}

.smi-service-full-content strong {
	color: #1f242c;
	font-weight: 600;
}

@media (max-width: 991px) {
	.smi-bottom-service-grid {
		flex-direction: column !important;
		gap: 20px !important;
	}

	.smi-bottom-service-grid > .wp-block-column,
	.smi-bottom-service-grid .smi-bottom-box-col {
		flex: 1 1 100% !important;
		max-width: 100% !important;
	}
}

/* ==========================================================================
   MATERIALS WE ACCEPT & DON'T ACCEPT DIRECTORY HUBS
   ========================================================================== */

.smi-materials-hub-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 40px 15px 60px;
}

.smi-hub-hero {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 45px;
}

.smi-hub-title {
	font-family: var(--smi-font-heading);
	font-size: 48px;
	color: #1f242c;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.smi-hub-intro {
	font-size: 18px;
	color: #475569;
	line-height: 1.6;
	margin: 0;
}

/* Materials Cards Grid */
.smi-materials-cards-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin-bottom: 50px;
}

.smi-mat-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: all 0.25s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.smi-mat-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
	border-color: #cbd5e1;
}

.smi-mat-card__image {
	position: relative;
	height: 190px;
	overflow: hidden;
	background: #e2e8f0;
}

.smi-mat-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.smi-mat-card:hover .smi-mat-card__image img {
	transform: scale(1.04);
}

.smi-mat-card__badge {
	position: absolute;
	top: 12px;
	right: 12px;
	background: #00724e;
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 4px 9px;
	border-radius: 4px;
	letter-spacing: 0.04em;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.smi-mat-card__badge.badge-nonferrous {
	background: #0284c7;
}

.smi-mat-card__badge.badge-automotive {
	background: #d97706;
}

.smi-mat-card__badge.badge-demolition {
	background: #dc2626;
}

.smi-mat-card__badge.badge-specialty {
	background: #7c3aed;
}

.smi-mat-card__body {
	padding: 20px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.smi-mat-card__title {
	font-family: var(--smi-font-heading);
	font-size: 24px;
	margin: 0 0 4px;
	line-height: 1.2;
}

.smi-mat-card__title a {
	color: #1e293b !important;
	text-decoration: none !important;
}

.smi-mat-card__title a:hover {
	color: #00724e !important;
}

.smi-mat-card__subtitle {
	font-size: 13px;
	color: #00724e;
	font-weight: 600;
	margin-bottom: 10px;
	line-height: 1.3;
}

.smi-mat-card__desc {
	font-size: 14px;
	color: #64748b;
	line-height: 1.5;
	margin: 0 0 16px;
	flex: 1;
}

.smi-mat-card__items {
	background: #f8fafc;
	border: 1px solid #f1f5f9;
	border-radius: 6px;
	padding: 10px 12px;
	font-size: 12px;
	color: #475569;
	line-height: 1.4;
	margin-bottom: 16px;
}

.smi-mat-card__items strong {
	display: block;
	color: #1e293b;
	margin-bottom: 4px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.smi-mat-card__action {
	margin-top: auto;
}

/* Rejected Materials Grid */
.smi-rejected-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-bottom: 50px;
}

.smi-rejected-card {
	background: #ffffff;
	border: 1px solid #fee2e2;
	border-top: 4px solid #ef4444;
	border-radius: 8px;
	padding: 22px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.smi-rejected-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}

.smi-rejected-card__icon {
	font-size: 24px;
	color: #ef4444;
}

.smi-rejected-card__badge {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 3px 8px;
	border-radius: 4px;
	background: #fee2e2;
	color: #991b1b;
}

.smi-rejected-card__title {
	font-family: var(--smi-font-heading);
	font-size: 24px;
	color: #1f242c;
	margin: 0 0 10px;
	line-height: 1.2;
}

.smi-rejected-card__reason {
	font-size: 13px;
	color: #475569;
	line-height: 1.5;
	margin-bottom: 12px;
}

.smi-rejected-card__reason strong,
.smi-rejected-card__disposal strong {
	display: block;
	color: #1e293b;
	font-size: 11px;
	text-transform: uppercase;
	margin-bottom: 2px;
	letter-spacing: 0.03em;
}

.smi-rejected-card__reason p,
.smi-rejected-card__disposal p {
	margin: 0;
}

.smi-rejected-card__disposal {
	background: #f8fafc;
	border-radius: 6px;
	padding: 10px 12px;
	font-size: 12px;
	color: #64748b;
	line-height: 1.4;
}

/* Hub Bottom CTA */
.smi-hub-cta-section {
	margin-top: 40px;
}

.smi-hub-cta-box {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 36px;
	text-align: center;
	max-width: 900px;
	margin: 0 auto;
}

.smi-hub-cta-box h2 {
	font-family: var(--smi-font-heading);
	font-size: 32px;
	color: #1e293b;
	margin: 0 0 10px;
}

.smi-hub-cta-box p {
	font-size: 16px;
	color: #64748b;
	max-width: 650px;
	margin: 0 auto 24px;
	line-height: 1.6;
}

.smi-hub-cta-buttons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
}

/* ==========================================================================
   RESPONSIVE LAYOUT FOR MATERIALS
   ========================================================================== */

@media (max-width: 1100px) {
	.smi-materials-cards-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	
	.smi-rejected-cards-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	.smi-material-page-layout {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.smi-material-sidebar-col {
		order: 2;
	}

	.smi-material-main-content {
		order: 1;
	}

	.smi-materials-cards-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.smi-features-grid,
	.smi-bottom-cta-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.smi-materials-cards-grid,
	.smi-rejected-cards-grid {
		grid-template-columns: 1fr;
	}

	.smi-material-title {
		font-size: 32px;
	}

	.smi-section-title {
		font-size: 26px;
	}

	.smi-step-box {
		flex-direction: column;
		gap: 12px;
	}

	.smi-inline-cta-buttons,
	.smi-hub-cta-buttons {
		flex-direction: column;
		width: 100%;
	}

	.smi-inline-cta-buttons .smi-btn-sppb,
	.smi-hub-cta-buttons .smi-btn-sppb {
		width: 100% !important;
	}
}


/* ==========================================================================
   SERVICES HUB PAGE (1:1 PARITY WITH PRODUCTION /SERVICES)
   ========================================================================== */

.smi-services-hub-page {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 15px 80px;
	box-sizing: border-box;
	color: var(--smi-text-color);
}

/* 1. Header / Hero Section */
.smi-services-hub-hero {
	text-align: center;
	padding: 60px 0 45px;
	max-width: 960px;
	margin: 0 auto;
}

.smi-services-hub-hero h1 {
	font-family: var(--smi-font-heading) !important;
	font-size: 72px !important;
	line-height: 1 !important;
	font-weight: 400 !important;
	letter-spacing: -1px;
	color: #1f242c !important;
	margin: 0 0 16px !important;
	text-transform: uppercase;
}

.smi-services-hub-hero p {
	font-family: var(--smi-font-body);
	font-size: 16px;
	line-height: 30px;
	color: #1f242c;
	margin: 0;
}

/* 2. 4-Column Services Grid */
.smi-services-hub-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
	margin-bottom: 55px;
}

.smi-services-hub-grid > .wp-block-column {
	margin: 0 !important;
	min-width: 0;
	display: flex;
}

.smi-service-hub-card {
	background: #ffffff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.07);
	display: flex;
	flex-direction: column;
	width: 100%;
	box-sizing: border-box;
	border-radius: 0;
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
}

.smi-service-hub-card:hover {
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.12);
	transform: translateY(-4px);
}

.smi-service-hub-card .smi-card-thumb {
	width: 100%;
	height: 200px;
	overflow: hidden;
	position: relative;
	margin: 0;
}

.smi-service-hub-card .smi-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.smi-service-hub-card:hover .smi-card-thumb img {
	transform: scale(1.05);
}

.smi-service-hub-card .smi-card-content {
	padding: 24px 22px 28px;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.smi-service-hub-card h2,
.smi-service-hub-card h3 {
	font-family: var(--smi-font-body) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 28px !important;
	color: #1f242c !important;
	margin: 0 0 12px 0 !important;
}

.smi-service-hub-card h2 a,
.smi-service-hub-card h3 a {
	color: #1f242c !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.smi-service-hub-card h2 a:hover,
.smi-service-hub-card h3 a:hover {
	color: var(--smi-primary) !important;
}

.smi-service-hub-card .smi-card-subtitle {
	font-family: var(--smi-font-body);
	font-size: 15px;
	line-height: 24px;
	color: #565872;
	margin: 0 0 16px 0;
}

.smi-service-hub-card .smi-subservices-list {
	list-style: none;
	margin: 0 0 10px 0;
	padding: 0;
}

.smi-service-hub-card .smi-subservices-list li {
	margin: 0 0 8px 0;
	padding: 0;
	font-size: 15px;
	line-height: 22px;
}

.smi-service-hub-card .smi-subservices-list a {
	color: var(--smi-text-color) !important;
	text-decoration: underline !important;
	transition: color 0.2s ease;
}

.smi-service-hub-card .smi-subservices-list a:hover {
	color: var(--smi-primary) !important;
}

.smi-service-hub-card .smi-card-btn {
	margin-top: auto;
	padding-top: 15px;
}

.smi-service-hub-card .smi-read-more-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--smi-font-body);
	font-size: 14px;
	font-weight: 700;
	color: #565872 !important;
	text-decoration: none !important;
	transition: all 0.2s ease;
}

.smi-service-hub-card .smi-read-more-link:hover {
	color: var(--smi-primary) !important;
	gap: 10px;
}

/* 3. Middle Full-Width Solutions Banner */
.smi-services-hub-banner {
	margin: 0 0 60px 0;
	width: 100%;
	border-radius: 0;
	overflow: hidden;
}

.smi-services-hub-banner img {
	width: 100%;
	height: auto;
	max-height: 380px;
	object-fit: cover;
	display: block;
}

/* 4. Split 2-Column Section (Locations Left | About Us Right) */
.smi-services-hub-split {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 48px;
	align-items: start;
	margin-bottom: 30px;
}

.smi-services-hub-split > .wp-block-column {
	margin: 0 !important;
}

/* Locations Box (Left) */
.smi-services-locations-box {
	background: #ffffff;
	border: 1px solid #eef0ee;
	padding: 34px 36px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
}

.smi-services-locations-box h3 {
	font-family: var(--smi-font-body) !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	color: var(--smi-primary) !important;
	margin: 0 0 20px 0 !important;
	text-transform: none;
}

.smi-services-locations-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 24px;
	margin-bottom: 26px;
}

.smi-location-item {
	font-size: 14px;
	line-height: 20px;
	color: #565872;
}

.smi-location-item strong {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: #1f242c;
	margin-bottom: 2px;
}

.smi-location-item a {
	color: #1f242c !important;
	text-decoration: underline !important;
	transition: color 0.2s ease;
}

.smi-location-item a:hover {
	color: var(--smi-primary) !important;
}

.smi-services-locations-box .wp-block-button__link {
	background: var(--smi-primary) !important;
	color: #ffffff !important;
	border: 1px solid var(--smi-primary) !important;
	border-radius: 7px !important;
	padding: 12px 28px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	transition: all 0.2s ease;
	display: inline-block;
}

.smi-services-locations-box .wp-block-button__link:hover {
	background: #008b5e !important;
	border-color: #008b5e !important;
}

/* About Us Box (Right) */
.smi-services-about-box {
	padding: 10px 0;
}

.smi-services-about-kicker {
	font-family: var(--smi-font-body);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--smi-primary);
	margin-bottom: 8px;
}

.smi-services-about-box h2 {
	font-family: var(--smi-font-heading) !important;
	font-size: 52px !important;
	line-height: 1 !important;
	font-weight: 400 !important;
	letter-spacing: -0.5px;
	color: #1f242c !important;
	margin: 0 0 18px 0 !important;
	text-transform: uppercase;
}

.smi-services-about-box p {
	font-family: var(--smi-font-body);
	font-size: 16px;
	line-height: 28px;
	color: #565872;
	margin: 0 0 28px 0;
}

.smi-services-checklist {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.smi-services-checklist li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--smi-font-body);
	font-size: 16px;
	font-weight: 500;
	color: #1f242c;
	margin: 0;
	padding: 0;
}

.smi-services-checklist li i,
.smi-services-checklist li .smi-check-icon {
	color: var(--smi-primary);
	font-size: 18px;
	flex-shrink: 0;
}

/* Responsive Styles for Services Hub */
@media (max-width: 1199px) {
	.smi-services-hub-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.smi-services-hub-split {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media (max-width: 767px) {
	.smi-services-hub-hero {
		padding: 40px 0 30px;
	}

	.smi-services-hub-hero h1 {
		font-size: 46px !important;
	}

	.smi-services-hub-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.smi-services-locations-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.smi-services-locations-box {
		padding: 24px 20px;
	}

	.smi-services-about-box h2 {
		font-size: 38px !important;
	}

	.smi-services-checklist {
		grid-template-columns: 1fr;
		gap: 12px;
	}
}

/* ==========================================================================
   SINGLE SERVICE DETAIL PAGE (1:1 PARITY WITH JOOMLA /SERVICES/*)
   ========================================================================== */

.smi-service-detail-main {
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
	padding: 60px 15px 80px;
	box-sizing: border-box;
}

/* =====================================================================
   NEWS & INFORMATION PAGE (GUTENBERG QUERY LOOP)
   ===================================================================== */

.smi-news-main {
	max-width: 1320px;
	margin: 0 auto;
	padding: 45px 15px 80px;
	box-sizing: border-box;
}

.smi-news-page {
	max-width: 1140px;
	margin: 0 auto;
}

.smi-news-title {
	font-family: var(--smi-font-heading) !important;
	font-size: 64px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	text-transform: uppercase;
	margin: 0 0 28px !important;
	color: #1f242c !important;
}

.smi-news-loop {
	margin-top: 0 !important;
}

.smi-news-cards {
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.smi-news-card {
	background: #ffffff;
	border: 1px solid #e6ece8;
	border-radius: 8px;
	overflow: hidden;
	margin: 0 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.smi-news-card-media {
	padding: 0 !important;
}

.smi-news-card-media .wp-block-post-featured-image,
.smi-news-card-media .wp-block-post-featured-image a,
.smi-news-card-media .wp-block-post-featured-image img {
	display: block;
	height: 100%;
	width: 100%;
	margin: 0;
}

.smi-news-card-media .wp-block-post-featured-image img {
	object-fit: cover;
	min-height: 220px;
}

.smi-news-card-content {
	padding: 22px 24px !important;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.smi-news-card-content .wp-block-post-title {
	font-size: 38px !important;
	line-height: 1.05 !important;
	margin: 0 !important;
	font-family: var(--smi-font-heading) !important;
	font-weight: 500 !important;
}

.smi-news-card-content .wp-block-post-title a {
	text-decoration: none;
	color: #1f242c;
}

.smi-news-card-content .wp-block-post-title a:hover {
	color: var(--smi-primary);
}

.smi-news-card-content .wp-block-post-excerpt {
	margin: 0;
	color: #565872;
	font-size: 16px;
	line-height: 1.75;
}

.smi-news-card-content .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.smi-news-read-more {
	margin-top: auto !important;
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--smi-primary);
	text-decoration: none;
	font-family: var(--smi-font-body);
}

.smi-news-read-more:hover {
	color: var(--smi-primary-hover);
}

.smi-news-loop .wp-block-query-pagination {
	margin-top: 28px;
	padding-top: 16px;
	border-top: 1px solid #e8ece9;
	font-family: var(--smi-font-body);
	font-size: 14px;
	gap: 10px;
	flex-wrap: wrap;
}

.smi-news-loop .wp-block-query-pagination a,
.smi-news-loop .wp-block-query-pagination span {
	padding: 7px 12px;
	border: 1px solid #d9e4de;
	border-radius: 4px;
	text-decoration: none;
	color: #1f242c;
}

.smi-news-loop .wp-block-query-pagination .current {
	background: var(--smi-primary);
	border-color: var(--smi-primary);
	color: #ffffff;
}

.smi-news-single-main {
	max-width: 1320px;
	margin: 0 auto;
	padding: 45px 15px 80px;
	box-sizing: border-box;
}

.smi-news-single-inner {
	max-width: 900px;
	margin: 0 auto;
	gap: 18px;
}

.smi-news-single-title {
	font-family: var(--smi-font-heading) !important;
	font-size: 58px !important;
	line-height: 1 !important;
	text-transform: uppercase;
	margin-bottom: 0 !important;
}

.smi-news-single-date {
	font-family: var(--smi-font-body);
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #5c6772;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.smi-news-single-image {
	margin: 8px 0 6px !important;
}

.smi-news-single-image img {
	border-radius: 8px;
}

.smi-news-single-main .wp-block-post-content {
	font-size: 17px;
	line-height: 1.8;
	color: #2b3440;
}

.smi-news-single-main .wp-block-post-content h2,
.smi-news-single-main .wp-block-post-content h3 {
	font-family: var(--smi-font-heading);
	line-height: 1.08;
	margin-top: 28px;
	margin-bottom: 10px;
}

.smi-news-single-main .wp-block-post-content a {
	color: var(--smi-primary);
}

.smi-news-single-main .wp-block-post-content a:hover {
	color: var(--smi-primary-hover);
}

@media (max-width: 991px) {
	.smi-news-title {
		font-size: 48px !important;
	}

	.smi-news-card {
		display: block;
	}

	.smi-news-card .wp-block-columns {
		flex-wrap: wrap !important;
	}

	.smi-news-card-media,
	.smi-news-card-content {
		flex-basis: 100% !important;
	}

	.smi-news-card-content .wp-block-post-title {
		font-size: 32px !important;
	}

	.smi-news-single-title {
		font-size: 44px !important;
	}
}

/* Neutralize the full-width post-content alignment inside the service template. */
.smi-service-detail-main > .wp-block-post-content.alignfull {
	width: calc(100% - 30px) !important;
	max-width: 1320px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-top: 60px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Service Top 2-Column Row (Sidebar Left, Content Right) */
.smi-service-top-row {
	display: flex;
	gap: 30px;
	align-items: flex-start;
	margin-bottom: 40px;
}

.smi-service-top-row > .smi-service-sidebar-col {
	flex: 0 0 calc(33.333% - 20px) !important;
	max-width: calc(33.333% - 20px) !important;
	min-width: 0;
}

.smi-service-top-row > .smi-service-content-col {
	flex: 0 0 calc(66.667% - 10px) !important;
	max-width: calc(66.667% - 10px) !important;
	min-width: 0;
}

/* --- Service & Material Sidebar (1:1 Production Parity) --- */
.smi-service-sidebar {
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 100%;
}

.smi-service-sidebar-widget {
	background: transparent;
	border: none;
	padding: 0;
	box-shadow: none;
	box-sizing: border-box;
	width: 100%;
}

.smi-sidebar-title {
	font-family: var(--smi-font-body), 'Rubik', sans-serif !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #1f242c !important;
	margin: 0 0 20px 0 !important;
	text-transform: none;
	position: static !important;
	padding-bottom: 0 !important;
	border-bottom: none !important;
	max-width: 100% !important;
	transform: none !important;
}

/* Sidebar Menu */
.smi-service-sidebar-nav {
	list-style: none !important;
	margin: 0 0 25px 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

.smi-service-sidebar-nav li {
	margin: 0 0 15px 0 !important;
	padding: 0 !important;
	width: 100%;
	list-style: none !important;
}

.smi-service-sidebar-nav li a {
	display: block !important;
	position: relative !important;
	padding: 8px 42px 9px 21px !important;
	font-family: var(--smi-font-body), 'Rubik', sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 30px !important;
	color: #00724e !important;
	border: 1px solid #e3e3e3 !important;
	border-radius: 5px !important;
	text-decoration: underline !important;
	transition: all 0.25s ease !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

.smi-service-sidebar-nav li a::after {
	content: "\f0da" !important;
	position: absolute !important;
	top: 50% !important;
	right: 21px !important;
	transform: translateY(-50%) !important;
	font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome" !important;
	font-size: 16px !important;
	font-weight: 900 !important;
	text-decoration: none !important;
	color: #00724e !important;
}

.smi-service-sidebar-nav li a:hover,
.smi-service-sidebar-nav li.is-active a {
	background: #fafafa !important;
	color: #00724e !important;
	border-color: #00724e !important;
	box-shadow: none;
}

/* Sidebar Fluent Form Quote Widget */
.smi-sidebar-quote-widget .fluentform .ff-el-group {
	margin-bottom: 12px;
}

.smi-sidebar-quote-widget .fluentform {
	width: 100% !important;
	margin-left: 0 !important;
}

.smi-sidebar-quote-widget .fluentform .ff-el-form-control,
.smi-sidebar-quote-widget .fluentform input[type="text"],
.smi-sidebar-quote-widget .fluentform input[type="email"],
.smi-sidebar-quote-widget .fluentform input[type="tel"],
.smi-sidebar-quote-widget .fluentform textarea {
	width: 100%;
	border: 1px solid #e3e3e3;
	border-radius: 4px;
	padding: 10px 14px;
	font-family: var(--smi-font-body);
	font-size: 14px;
	color: #1f242c;
	background: #ffffff;
	box-sizing: border-box;
}

.smi-sidebar-quote-widget .fluentform .ff-el-form-control:focus,
.smi-sidebar-quote-widget .fluentform input:focus,
.smi-sidebar-quote-widget .fluentform textarea:focus {
	border-color: #00724e;
	outline: none;
}

.smi-sidebar-quote-widget .fluentform .ff_upload_btn {
	background: #f1f5f3;
	border: 1px dashed #00724e;
	color: #00724e;
	font-weight: 500;
}

.smi-sidebar-quote-widget .fluentform .ff-btn-submit {
	background-color: #00724e !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 5px !important;
	font-family: var(--smi-font-body), 'Rubik', sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	width: 100% !important;
	padding: 14px 24px !important;
	cursor: pointer;
	transition: all 0.2s ease !important;
}

.smi-sidebar-quote-widget .fluentform .ff-btn-submit:hover,
.smi-sidebar-quote-widget .fluentform .ff-btn-submit:focus {
	background-color: #005a3e !important;
}

/* Service Detail Typography & Content Blocks */
.smi-service-detail-main h2 {
	font-family: var(--smi-font-heading), 'Teko', sans-serif !important;
	font-size: 50px !important;
	line-height: 1 !important;
	font-weight: 400 !important;
	letter-spacing: -0.5px;
	color: #1f242c !important;
	margin: 25px 0 18px 0 !important;
	text-transform: uppercase;
}

.smi-service-detail-main h3 {
	font-family: var(--smi-font-body), 'Rubik', sans-serif !important;
	font-size: 20px !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
	color: #1f242c !important;
	margin: 25px 0 12px 0 !important;
}

.smi-service-detail-main h4 {
	font-family: var(--smi-font-body), 'Rubik', sans-serif !important;
	font-size: 17px !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
	color: #1f242c !important;
	margin: 18px 0 8px 0 !important;
}

.smi-service-detail-main .smi-service-section-heading {
	font-family: var(--smi-font-heading), 'Teko', sans-serif !important;
	font-size: 50px !important;
	line-height: 61px !important;
	font-weight: 400 !important;
	color: #1f242c !important;
	margin: 28px 0 20px !important;
	text-transform: none;
}

.smi-service-detail-main p {
	font-family: var(--smi-font-body), 'Rubik', sans-serif;
	font-size: 16px;
	line-height: 28px;
	color: #565872;
	margin: 0 0 20px 0;
}

.smi-service-detail-main ul,
.smi-service-detail-main ol {
	font-family: var(--smi-font-body), 'Rubik', sans-serif;
	font-size: 16px;
	line-height: 28px;
	color: #565872;
	margin: 0 0 25px 25px;
}

.smi-service-detail-main img {
	width: 100%;
	height: auto;
	border-radius: 4px;
	display: block;
	margin-bottom: 20px;
}

.smi-service-row-50-50,
.smi-service-row-66-33 {
	display: flex;
	gap: 30px;
	align-items: center;
	margin: 35px 0;
}

.smi-service-how-we-work {
	gap: 0;
	align-items: center;
	margin: 0 0 35px;
}

.smi-service-how-we-work > .wp-block-column:first-child {
	padding-right: 30px;
}

.smi-service-how-we-work-title {
	color: #00724e !important;
	margin-bottom: 20px !important;
}

.smi-service-summary-panel {
	background: #f1f1f1;
	margin: 0 15px 30px;
	padding: 20px;
	box-sizing: border-box;
}

.smi-service-summary-panel img {
	width: auto;
	max-width: 100%;
	margin-bottom: 20px;
}

.smi-feature-item {
	margin-bottom: 22px;
}

.smi-feature-title {
	font-family: var(--smi-font-body), 'Rubik', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #1f242c !important;
	margin-bottom: 8px !important;
}

.smi-feature-num {
	color: #00724e;
	font-weight: 700;
	margin-right: 4px;
}

/* Materials We Don't Accept: production image-and-copy rows */
.smi-rejected-materials-page {
	width: calc(100% - 30px);
	max-width: 1320px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 8px 15px 0;
}

body.page-id-142 main > .wp-block-group.alignfull {
	padding-top: 0 !important;
}

.smi-rejected-materials-page > h1 {
	font-family: var(--smi-font-heading), 'Teko', sans-serif !important;
	font-size: 72px !important;
	font-weight: 400 !important;
	line-height: 68px !important;
	color: #1f242c !important;
	margin: 0 !important;
	text-transform: uppercase;
}

.smi-rejected-materials-intro {
	font-family: var(--smi-font-body), 'Rubik', sans-serif !important;
	font-size: 16px !important;
	line-height: 30px !important;
	color: #1f242c !important;
	margin: 12px 0 20px !important;
}

.smi-rejected-material-item {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 20px;
	padding: 20px;
	border: 1px solid #d6d4d4;
	border-radius: 10px;
}

.smi-rejected-material-row {
	display: flex;
	min-height: 176.5px;
	margin: 0 -15px;
	align-items: flex-start;
}

.smi-rejected-material-image-col,
.smi-rejected-material-copy-col {
	box-sizing: border-box;
	padding: 0 15px;
}

.smi-rejected-material-image-col {
	flex: 0 0 25%;
	max-width: 25%;
}

.smi-rejected-material-image-col img {
	width: 250px;
	max-width: 100%;
	height: auto;
	margin: 0;
}

.smi-rejected-material-copy-col {
	flex: 0 0 75%;
	max-width: 75%;
}

.smi-rejected-material-copy {
	font-family: var(--smi-font-body), 'Rubik', sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 30px !important;
	color: #565872 !important;
}

.smi-rejected-material-contact {
	font-family: var(--smi-font-body), 'Rubik', sans-serif !important;
	font-size: 16px !important;
	line-height: 30px !important;
	color: #565872 !important;
	margin: 0 !important;
	text-align: center;
}

.smi-rejected-material-contact-wrap {
	padding: 20px;
}

.smi-rejected-material-ctas {
	display: flex;
	margin: 0;
}

.smi-rejected-material-cta-col {
	box-sizing: border-box;
	flex: 0 0 50%;
	max-width: 50%;
	padding: 0 15px;
}

.smi-rejected-material-cta {
	box-sizing: border-box;
	min-height: 355px;
	padding: 38px 0 11px;
	background: #f8f8f8;
	text-align: center;
}

.smi-rejected-material-cta-icon {
	display: flex;
	width: 95px;
	height: 95px;
	align-items: center;
	justify-content: center;
	margin: 0 auto 31px;
	border-radius: 50%;
	background: #00724e;
	color: #fff;
	font-size: 42px;
}

.smi-rejected-material-cta-title {
	margin: 0 0 14px;
	padding: 0 6px 0 0;
	color: #222;
	font-family: var(--smi-font-body), 'Rubik', sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 30px;
}

.smi-rejected-material-cta p {
	margin: 0 0 20px;
	padding: 0 5px;
	color: #565872;
	font-size: 16px;
	line-height: 30px;
}

.smi-rejected-material-cta .smi-btn-sppb {
	display: inline-block;
	padding: 19px 30px 17px;
	border-radius: 5px;
	background: #1f242c;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 20px;
	text-decoration: none;
}

@media (max-width: 767px) {
	.smi-rejected-materials-page {
		width: calc(100% + 30px);
		max-width: none;
		margin-right: -15px !important;
		margin-left: -15px !important;
		padding: 55px 0 0;
	}

	.smi-rejected-materials-page > h1 {
		font-size: 48px !important;
		line-height: 48px !important;
	}

	.smi-rejected-material-row {
		flex-direction: column;
	min-height: 0;
		gap: 15px;
	}

	.smi-rejected-material-image-col,
	.smi-rejected-material-copy-col {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.smi-rejected-material-image-col img {
		width: 250px;
	}

	.smi-rejected-material-ctas {
		flex-direction: column;
		gap: 20px;
	}

	.smi-rejected-material-cta-col {
		flex-basis: 100%;
		max-width: 100%;
	}
}

/* Bottom CTA Cards (1:1 Match with Joomla #sppb-addon-wrapper-1673563359985) */
.smi-bottom-cta-cards {
	display: flex;
	gap: 0;
	padding: 0 15px;
	box-sizing: border-box;
	margin-top: 50px;
	margin-bottom: 20px;
}

.smi-cta-card {
	background-color: #f8f8f8;
	border-radius: 0;
	margin: 0 15px;
	min-height: 325px;
	padding: 38px 0 11px;
	text-align: center;
	box-sizing: border-box;
}

.smi-cta-card::before {
	display: block;
	width: 95px;
	height: 95px;
	margin: 0 auto 31px;
	border-radius: 5px;
	background: #00724e;
	color: #ffffff;
	font-family: "Font Awesome 6 Free";
	font-size: 60px;
	font-weight: 900;
	line-height: 95px;
}

.smi-cta-quote::before {
	content: "\f0e0";
}

.smi-cta-call::before {
	content: "\f095";
}

.smi-cta-card h3 {
	font-family: var(--smi-font-body), 'Rubik', sans-serif !important;
	font-size: 20px !important;
	line-height: 30px !important;
	font-weight: 700 !important;
	color: #222222 !important;
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
}

.smi-cta-card p {
	font-size: 16px;
	color: #565872;
	line-height: 30px;
	margin: 0 0 20px 0;
	padding: 0 5px;
}

.smi-cta-card .wp-block-buttons {
	justify-content: center;
}

.smi-cta-card .smi-btn-sppb a,
.smi-cta-card .wp-block-button__link {
	display: inline-block;
	background-color: #1f242c !important;
	color: #ffffff !important;
	padding: 19px 30px 17px !important;
	border-radius: 5px !important;
	font-weight: 500 !important;
	font-size: 16px !important;
	line-height: 20px !important;
	text-decoration: none !important;
	border: none !important;
	transition: background-color 0.2s ease;
}

.smi-cta-card .smi-btn-sppb a:hover,
.smi-cta-card .wp-block-button__link:hover {
	background-color: #00724e !important;
	color: #ffffff !important;
}

/* Responsive Styles for Single Services */
@media (max-width: 991px) {
	.smi-service-top-row,
	.smi-service-row-50-50,
	.smi-service-row-66-33,
	.smi-bottom-cta-cards {
		flex-direction: column;
		gap: 30px;
	}

	.smi-service-top-row > .smi-service-sidebar-col,
	.smi-service-top-row > .smi-service-content-col {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}

	.smi-service-sidebar-col {
		order: 2;
	}

	.smi-service-content-col {
		order: 1;
	}
}

@media (max-width: 767px) {
	.smi-service-detail-main {
		padding: 40px 15px 60px;
	}

	.smi-service-detail-main h2 {
		font-size: 38px !important;
	}
}

/* ======================================================================
   ABOUT PAGE
   ====================================================================== */

body.page-id-127 main.wp-block-group.has-global-padding,
body.page-id-130 main.wp-block-group.has-global-padding,
body:has(.smi-about-page) main.wp-block-group.has-global-padding,
body:has(.smi-why-page) main.wp-block-group.has-global-padding {
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

body.page-id-127 .entry-content,
body.page-id-130 .entry-content,
body:has(.smi-about-page) .entry-content,
body:has(.smi-why-page) .entry-content {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 !important;
}

body.page-id-127 .wp-site-blocks > main > .wp-block-group.alignfull.has-global-padding,
body.page-id-130 .wp-site-blocks > main > .wp-block-group.alignfull.has-global-padding,
body:has(.smi-about-page) .wp-site-blocks > main > .wp-block-group.alignfull.has-global-padding,
body:has(.smi-why-page) .wp-site-blocks > main > .wp-block-group.alignfull.has-global-padding {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.page-id-127 .wp-block-post-title,
body.page-id-130 .wp-block-post-title,
body:has(.smi-about-page) .wp-block-post-title,
body:has(.smi-why-page) .wp-block-post-title {
	display: none !important;
}

.smi-about-page {
	background: #ffffff;
}

.smi-about-magazine-strip {
	padding: 44px 0 14px;
	background: #ffffff;
}

.smi-about-magazine-inner {
	max-width: 1220px !important;
	padding-left: 18px;
	padding-right: 18px;
	margin-left: auto;
	margin-right: auto;
}

.smi-about-magazine-columns {
	align-items: flex-start;
	gap: 24px;
}

.smi-about-magazine-image {
	margin: 0;
}

.smi-about-magazine-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
}

.smi-about-magazine-dots {
	min-height: 360px;
	background-image: radial-gradient(circle, rgba(241, 98, 89, 0.95) 2px, transparent 2px);
	background-size: 30px 30px;
	background-position: 0 0;
}

.smi-about-hero {
	padding: 110px 0;
	background: #ffffff;
}

.smi-about-hero-inner,
.smi-about-leadership-inner,
.smi-about-values-inner,
.smi-about-testimonials-inner {
	max-width: 1320px !important;
	padding-left: 15px;
	padding-right: 15px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.smi-about-hero-columns {
	align-items: center;
	gap: 0;
}

.smi-about-hero-columns > .smi-about-hero-left,
.smi-about-hero-columns > .smi-about-hero-right {
	flex-basis: 50% !important;
	max-width: 50%;
}

.smi-about-hero-left {
	position: relative;
	height: 786px;
}

.smi-about-left-image {
	position: absolute;
	margin: 0;
}

.smi-about-left-image img {
	width: 100%;
	border-radius: 0;
	display: block;
}

.smi-about-hero-left > .smi-about-left-image:nth-of-type(1) {
	width: 300px;
	top: -7%;
	left: 48.5%;
	z-index: 0;
}

.smi-about-hero-left > .smi-about-left-image:nth-of-type(2) {
	width: 250px;
	left: -6%;
	bottom: -7%;
	z-index: 0;
}

.smi-about-hero-left > .smi-about-left-image:nth-of-type(3) {
	width: calc(100% - 44px);
	top: 26px;
	left: 22px;
	z-index: 1;
}

.smi-about-years-label {
	position: absolute;
	z-index: 2;
	left: 55px;
	bottom: -20px;
	width: 245px;
	min-height: 126px;
	display: flex;
	align-items: flex-end;
	padding: 24px 25px;
	box-sizing: border-box;
	background: #ffffff;
	border-radius: 4px;
	font-family: var(--smi-font-heading);
	font-size: 22px;
	line-height: 1.2;
	font-weight: 600;
	color: #1f242c;
}

.smi-about-main-title {
	font-size: 72px;
	line-height: 68px;
	letter-spacing: -1.5px;
	color: #1f242c;
	margin: 0;
}

.smi-about-hero-right {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 24px;
	row-gap: 76px;
	align-items: start;
	padding-left: 15px;
	box-sizing: border-box;
}

.smi-about-hero-right > .smi-about-main-title,
.smi-about-hero-right > p {
	grid-column: 1 / -1;
}

.smi-about-hero-right p {
	color: #3d4c56;
	font-size: 1rem;
	line-height: 30px;
	margin: 0;
}

.smi-about-focus-title {
	width: 100%;
	font-size: 72px;
	line-height: 68px;
	letter-spacing: -1.5px;
	margin: 0;
}

.smi-about-focus-accordion {
	margin: 0;
}

.smi-about-focus-detail {
	border: 1px solid #e1e1e1;
	border-radius: 6px;
	margin: 0 0 12px;
	background: #ffffff;
	overflow: hidden;
	transition: all 0.2s ease;
}

.smi-about-focus-detail[open] {
	border-color: #00724e;
}

.smi-about-focus-button {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 16px;
	font-family: var(--smi-font-body);
	font-weight: 500;
	color: #1f242c;
	background: #ffffff;
	cursor: pointer;
	list-style: none;
	user-select: none;
}

.smi-about-focus-button::-webkit-details-marker {
	display: none;
}

.smi-about-focus-detail p {
	padding: 0 16px 14px;
	color: #565872;
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}

.smi-about-focus-detail[open] .smi-focus-right {
	transform: rotate(90deg);
}

.smi-focus-left {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.smi-focus-icon {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	color: #00724e;
	font-size: 15px;
}

.smi-focus-right {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	color: #7a7f87;
	font-size: 13px;
	transition: transform 0.2s ease;
}

/* --- Leadership Section --- */
.smi-about-leadership {
	padding: 90px 0 110px;
	background: #f6f6f6;
}

.smi-about-leadership-grid {
	display: flex !important;
	flex-direction: column !important;
	gap: 100px !important;
	margin: 0;
}

.smi-about-leadership-inner > .wp-block-columns.smi-about-leadership-grid:nth-of-type(2) {
	margin-top: 100px;
}

.smi-about-leadership-inner > .wp-block-columns.smi-about-leadership-grid:nth-of-type(3) {
	margin-top: 100px;
}

.smi-about-profile {
	display: grid !important;
	grid-template-columns: minmax(0, 25%) minmax(0, 75%);
	column-gap: 30px;
	align-items: start;
	width: 100% !important;
	flex: 0 0 100% !important;
	max-width: none !important;
	margin: 0;
}

.smi-about-profile-reverse {
	grid-template-columns: minmax(0, 75%) minmax(0, 25%);
}

.smi-about-profile-reverse > .smi-about-profile-copy {
	grid-column: 1;
	grid-row: 1;
}

.smi-about-profile-reverse > .smi-about-leader-photo {
	grid-column: 2;
	grid-row: 1;
}

.smi-about-profile-copy {
	max-width: none !important;
	width: 100%;
}

.smi-about-role {
	display: inline-block;
	padding: 6px 10px;
	border-radius: 5px;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	color: #00724e;
	background: #e6f4ef;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.smi-about-leadership h1,
.smi-about-leadership h2 {
	font-size: 72px;
	line-height: 68px;
	letter-spacing: -1.5px;
	margin: 0 0 12px;
	text-transform: uppercase;
	color: #1f242c;
}

.smi-about-leadership p {
	color: #3d4c56;
	line-height: 30px;
}

.smi-about-leader-photo {
	margin: 0;
}

.smi-about-leader-photo img {
	width: 100%;
	height: auto;
	border-radius: 0;
	object-fit: cover;
}

/* --- Vision, Mission, Values Section --- */
.smi-about-values {
	padding: 100px 0 90px;
	background: #1f242c !important;
	color: #ffffff !important;
}

.smi-about-values h2 {
	font-size: 72px;
	line-height: 68px;
	letter-spacing: -1.5px;
	color: #ffffff !important;
	margin: 0 0 20px;
}

.smi-about-values p {
	color: #ffffff !important;
	font-size: 16px;
	line-height: 30px;
}

.smi-about-values-inner > p {
	margin-bottom: 50px;
}

.smi-about-value-card,
.service-inner-text {
	border: 2px solid #343c4a !important;
	border-radius: 5px !important;
	padding: 24px 28px !important;
	margin: 0 0 30px !important;
	display: flex !important;
	align-items: flex-start !important;
	gap: 32px !important;
	background: transparent !important;
	box-sizing: border-box;
}

.smi-about-value-card .icon,
.service-inner-text .icon {
	font-size: 75px !important;
	line-height: 1 !important;
	color: #ffffff !important;
	width: 120px !important;
	flex-shrink: 0 !important;
	display: flex !important;
	align-items: flex-start !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 10px 0 0 0 !important;
}

.smi-about-value-card .text-wrap,
.service-inner-text .text-wrap {
	flex: 1 1 auto !important;
	padding: 0 !important;
	color: #ffffff !important;
	width: auto !important;
}

.smi-about-value-card .heading,
.service-inner-text .heading {
	color: #ffffff !important;
	font-family: var(--smi-font-body) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 30px !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
	letter-spacing: normal !important;
}

.smi-about-value-card .sub-heading,
.service-inner-text .sub-heading {
	color: #ffffff !important;
	font-size: 16px !important;
	line-height: 30px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.smi-value-letter-heading {
	font-family: var(--smi-font-body) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin: 16px 0 6px !important;
}

.smi-value-letter {
	color: #ffffff !important;
	font-weight: 900 !important;
}

.smi-value-word {
	color: #ffffff !important;
	font-weight: 400 !important;
}

.smi-value-list {
	list-style-type: square !important;
	color: #ffffff !important;
	margin: 0 0 16px 24px !important;
	padding: 0 !important;
}

.smi-value-list li {
	color: #ffffff !important;
	font-size: 16px !important;
	line-height: 28px !important;
	margin-bottom: 4px !important;
}

/* --- Testimonials Section --- */
.smi-about-testimonials {
	padding: 110px 0 100px;
	background: #ffffff;
}

.smi-about-testimonials-layout {
	display: flex !important;
	align-items: center;
	gap: 50px;
}

.smi-about-testimonials-content-col {
	flex: 1 1 50% !important;
	max-width: 50% !important;
}

.smi-about-testimonials-image-col {
	flex: 1 1 50% !important;
	max-width: 50% !important;
}

.smi-about-testimonials-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.07);
}

.smi-about-testimonials-title {
	font-family: var(--smi-font-heading);
	font-size: 72px;
	line-height: 61px;
	letter-spacing: -1px;
	color: #1f242c;
	margin: 0 0 8px;
}

.smi-about-testimonials-subtitle {
	font-size: 16px;
	line-height: 30px;
	color: #3d4c56;
	margin: 0 0 28px;
}

.smi-about-testimonials-cta {
	margin-bottom: 40px;
}

.smi-about-testimonials-cta .wp-block-button__link {
	background: #00724e !important;
	color: #ffffff !important;
	font-weight: 500 !important;
	padding: 18px 42px !important;
	border-radius: 7px !important;
	font-size: 16px !important;
	text-decoration: none !important;
	display: inline-block !important;
	transition: background-color 0.2s ease;
}

.smi-about-testimonials-cta .wp-block-button__link:hover {
	background: #005a3e !important;
}

/* Testimonial Carousel Container */
.smi-about-testimonials-carousel {
	position: relative;
	width: 100%;
	max-width: 440px;
}

.smi-carousel-nav {
	position: absolute;
	top: 50%;
	left: -24px;
	right: -24px;
	transform: translateY(-50%);
	display: flex;
	justify-content: space-between;
	pointer-events: none;
	z-index: 10;
}

.smi-carousel-prev,
.smi-carousel-next {
	pointer-events: auto;
	width: 52px;
	height: 50px;
	background: #00724e;
	color: #ffffff;
	border: none;
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.smi-carousel-prev:hover,
.smi-carousel-next:hover {
	background: #005a3e;
}

.smi-carousel-slides {
	position: relative;
	min-height: 250px;
}

.smi-about-testimonial-slide {
	display: none;
	animation: smiFadeIn 0.4s ease;
}

.smi-about-testimonial-slide.active {
	display: block;
}

@keyframes smiFadeIn {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.smi-testimonial-bubble {
	position: relative;
	background: #f8f8f8;
	border-radius: 20px;
	padding: 30px;
	margin: 0 0 27px;
}

.smi-testimonial-bubble::before {
	content: "";
	position: absolute;
	border-top: 15px solid #f8f8f8;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	bottom: -15px;
	left: 36px;
	width: 0;
	height: 0;
}

.smi-testimonial-bubble p {
	font-family: var(--smi-font-body);
	font-size: 16px;
	line-height: 30px;
	color: #565872;
	margin: 0;
}

.smi-testimonial-author-meta {
	padding-left: 20px;
}

.smi-testimonial-yard {
	font-family: var(--smi-font-heading);
	font-size: 22px;
	line-height: 28px;
	color: #021f4b;
	font-weight: 600;
}

.smi-testimonial-author {
	font-family: var(--smi-font-body);
	font-size: 16px;
	line-height: 30px;
	color: #565872;
}
}

/* Page-level width and alignment helpers */
body.page-id-127 main.wp-block-group.has-global-padding,
body:has(.smi-about-page) main.wp-block-group.has-global-padding {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.page-id-127 .smi-about-page,
body.page-id-127 .smi-about-page > .wp-block-group.alignfull,
body:has(.smi-about-page) .smi-about-page,
body:has(.smi-about-page) .smi-about-page > .wp-block-group.alignfull {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.page-id-127 .entry-content.alignfull.wp-block-post-content,
body:has(.smi-about-page) .entry-content.alignfull.wp-block-post-content {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.page-id-127 .wp-block-group.alignfull.has-global-padding,
body:has(.smi-about-page) .wp-block-group.alignfull.has-global-padding {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

@media (max-width: 900px) {
	.smi-about-hero,
	.smi-about-leadership,
	.smi-about-values,
	.smi-about-testimonials {
		padding-top: 54px;
		padding-bottom: 54px;
	}

	.smi-about-hero-columns,
	.smi-about-testimonials-layout {
		flex-direction: column !important;
	}

	.smi-about-hero-columns > .smi-about-hero-left,
	.smi-about-hero-columns > .smi-about-hero-right,
	.smi-about-testimonials-image-col,
	.smi-about-testimonials-content-col {
		flex-basis: 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.smi-about-hero-left {
		height: min(112vw, 680px);
		margin-bottom: 60px;
	}

	.smi-about-hero-left > .smi-about-left-image:nth-of-type(1) {
		width: 180px;
		left: 45%;
	}

	.smi-about-hero-left > .smi-about-left-image:nth-of-type(2) {
		width: 180px;
	}

	.smi-about-years-label {
		left: 20px;
		width: 210px;
		min-height: 96px;
		bottom: -10px;
	}

	.smi-about-hero-right {
		display: block;
		padding-left: 0;
	}

	.smi-about-main-title,
	.smi-about-focus-title,
	.smi-about-values h2,
	.smi-about-testimonials-title {
		font-size: clamp(42px, 8vw, 64px);
		line-height: 0.95;
	}

	.smi-about-profile,
	.smi-about-profile-reverse {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.smi-about-profile-reverse > .smi-about-profile-copy,
	.smi-about-profile-reverse > .smi-about-leader-photo {
		grid-column: 1;
		grid-row: auto;
	}

	.smi-about-profile-reverse > .smi-about-leader-photo {
		grid-row: 1;
	}

	.smi-about-value-card,
	.service-inner-text {
		flex-direction: column !important;
		gap: 16px !important;
	}

	.smi-about-value-card .icon,
	.service-inner-text .icon {
		width: auto !important;
		padding: 0 !important;
	}
}

/* ==========================================================================
   Safety Page Styles
   ========================================================================== */

body:has(.smi-safety-page) main.wp-block-group.has-global-padding {
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

body:has(.smi-safety-page) .entry-content {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 !important;
}

body:has(.smi-safety-page) .wp-site-blocks > main > .wp-block-group.alignfull.has-global-padding {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body:has(.smi-safety-page) .wp-block-post-title {
	display: none !important;
}

.smi-safety-page {
	background: #ffffff;
}

.smi-safety-hero {
	position: relative;
	background-color: #232423;
	background-image: url("/wp-content/uploads/2026/08/header-safety.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 0;
	padding: 160px 0 160px;
}

.smi-safety-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(18, 24, 21, 0.68);
	pointer-events: none;
}

.smi-safety-hero-inner {
	position: relative;
	z-index: 1;
	max-width: 1220px !important;
	padding-left: 24px;
	padding-right: 24px;
	margin-left: auto;
	margin-right: auto;
}

.smi-safety-hero-title {
	font-family: var(--smi-font-heading);
	font-size: clamp(3rem, 5.5vw, 4.8rem);
	line-height: 0.95;
	text-transform: uppercase;
	color: #ffffff !important;
	letter-spacing: -0.02em;
	margin-bottom: 20px;
	max-width: 800px;
}

.smi-safety-hero-text {
	color: #ffffff !important;
	font-size: 1.15rem;
	line-height: 1.7;
	max-width: 780px;
	margin: 0;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

.smi-safety-standards {
	padding: 80px 0 70px;
	background: #ffffff;
}

.smi-safety-standards-inner,
.smi-safety-culture-inner {
	max-width: 1220px !important;
	padding-left: 24px;
	padding-right: 24px;
	margin-left: auto;
	margin-right: auto;
}

.smi-safety-standards-columns {
	align-items: center;
	gap: 48px;
}

.smi-safety-crane-image {
	margin: 0;
}

.smi-safety-crane-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 12px 32px rgba(18, 30, 24, 0.12);
}

.smi-safety-standards-main-heading {
	font-family: var(--smi-font-heading);
	font-size: clamp(2.4rem, 4vw, 3.8rem);
	line-height: 0.98;
	text-transform: uppercase;
	color: #1f242c;
	letter-spacing: -0.02em;
	margin-bottom: 24px;
}

.smi-safety-subheading {
	font-size: 1.28rem;
	font-weight: 700;
	color: #00724e;
	line-height: 1.35;
	margin-top: 24px;
	margin-bottom: 10px;
}

.smi-safety-standards p {
	color: #3d4c56;
	font-size: 1rem;
	line-height: 1.75;
	margin-bottom: 12px;
}

.smi-safety-compliance-focus {
	font-weight: 600;
	color: #1f242c !important;
	margin-bottom: 8px !important;
}

.smi-safety-list,
.smi-safety-culture-list {
	list-style: none !important;
	padding-left: 0 !important;
	margin: 12px 0 20px !important;
}

.smi-safety-list li,
.smi-safety-culture-list li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 10px;
	color: #3d4c56;
	font-size: 1rem;
	line-height: 1.65;
}

.smi-safety-list li::before,
.smi-safety-culture-list li::before {
	content: "\2022";
	position: absolute;
	left: 6px;
	top: 0;
	color: #00724e;
	font-size: 1.4rem;
	line-height: 1.2;
	font-weight: 900;
}

.smi-safety-culture {
	padding: 70px 0 90px;
	background: #f8fbfa;
	border-top: 1px solid #eaf2ed;
}

.smi-safety-culture-heading {
	font-family: var(--smi-font-heading);
	font-size: clamp(2.4rem, 4vw, 3.8rem);
	line-height: 1.02;
	text-transform: uppercase;
	color: #1f242c;
	letter-spacing: -0.02em;
	margin-bottom: 16px;
}

.smi-safety-culture-intro {
	color: #3d4c56;
	font-size: 1.05rem;
	line-height: 1.75;
	margin-bottom: 24px;
}

.smi-safety-culture-list li {
	margin-bottom: 14px;
}

@media (max-width: 900px) {
	.smi-safety-hero {
		padding: 80px 0 80px;
	}

	.smi-safety-hero-title {
		font-size: clamp(2.4rem, 8vw, 3.2rem);
	}

	.smi-safety-hero-text {
		font-size: 1.05rem;
	}

	.smi-safety-standards {
		padding: 50px 0 40px;
	}

	.smi-safety-standards-columns {
		gap: 32px;
	}

	.smi-safety-culture {
		padding: 50px 0 60px;
	}
}

@media (max-width: 600px) {
	.smi-safety-hero {
		padding: 50px 0 50px;
	}

	.smi-safety-hero-inner,
	.smi-safety-standards-inner,
	.smi-safety-culture-inner {
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* ======================================================================
   WHY CHOOSE US PAGE
   ====================================================================== */

.smi-why-page {
	background: #ffffff;
}

.smi-why-hero {
	padding: 54px 0 32px;
	background: linear-gradient(180deg, #f7fbf9 0%, #ffffff 100%);
	border-bottom: 1px solid #edf4f0;
}

.smi-why-inner {
	max-width: 1220px !important;
	padding-left: 18px;
	padding-right: 18px;
	margin-left: auto;
	margin-right: auto;
}

.smi-why-main-title {
	font-family: var(--smi-font-heading, 'Teko', sans-serif);
	font-size: clamp(2.4rem, 4.5vw, 3.8rem);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: #1f242c;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.smi-why-subheading {
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1.15rem;
	line-height: 1.75;
	color: #2b3940;
	margin-bottom: 16px;
}

.smi-why-subheading strong {
	color: #00724e;
	font-weight: 600;
}

.smi-why-lead {
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1.05rem;
	font-weight: 500;
	color: #4a5568;
	margin-bottom: 0;
}

.smi-why-reasons-section {
	padding: 24px 0 40px;
	background: #ffffff;
}

.smi-why-reason-item {
	display: flex;
	align-items: flex-start;
	gap: 28px;
	padding: 32px 0;
	border-bottom: 1px solid #edf2f0;
}

.smi-why-reason-item:last-child {
	border-bottom: none;
}

.smi-why-badge-col {
	flex: 0 0 72px !important;
	max-width: 72px;
}

.smi-why-badge-col .wp-block-image {
	margin: 0;
}

.smi-why-badge-col img {
	width: 64px;
	height: auto;
	display: block;
	object-fit: contain;
}

.smi-why-content-col {
	flex: 1 1 auto !important;
}

.smi-why-reason-title {
	font-family: var(--smi-font-heading, 'Teko', sans-serif);
	font-size: 2rem;
	line-height: 1.1;
	letter-spacing: 0.01em;
	color: #00724e;
	margin-top: 0;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.smi-why-content-col p {
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1rem;
	line-height: 1.75;
	color: #3d4c56;
	margin: 0;
}

.smi-why-facility-intro {
	margin-bottom: 12px !important;
}

.smi-why-facility-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 12px;
	margin-top: 14px;
	align-items: center;
}

.smi-why-facility-links a {
	display: inline-flex;
	align-items: center;
	padding: 7px 16px;
	background: #f3f8f5;
	border: 1px solid #d0e5dc;
	border-radius: 4px;
	color: #00724e;
	font-weight: 500;
	font-size: 0.95rem;
	text-decoration: none;
	transition: all 0.2s ease-in-out;
}

.smi-why-facility-links a:hover {
	background: #00724e;
	border-color: #00724e;
	color: #ffffff;
}

.smi-why-cta-section {
	padding: 10px 0 64px;
}

.smi-why-callout-box {
	background: linear-gradient(135deg, #f0f8f4 0%, #e8f4ed 100%);
	border-left: 5px solid #00724e;
	border-radius: 0 8px 8px 0;
	padding: 26px 32px;
	box-shadow: 0 6px 18px rgba(0, 114, 78, 0.06);
}

.smi-why-callout-box p {
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1.05rem;
	line-height: 1.75;
	color: #2b3940;
	font-style: italic;
	margin: 0;
}

.smi-why-callout-box strong {
	font-style: normal;
	color: #00724e;
	font-weight: 600;
}

.smi-why-callout-box a {
	color: #00724e;
	font-weight: 600;
	text-decoration: underline;
	font-style: normal;
}

.smi-why-callout-box a:hover {
	color: #005a3e;
}

@media (max-width: 768px) {
	.smi-why-hero {
		padding: 36px 0 24px;
	}

	.smi-why-main-title {
		font-size: clamp(2rem, 8vw, 2.8rem);
	}

	.smi-why-reason-item {
		flex-direction: column;
		gap: 12px;
		padding: 20px 0;
	}

	.smi-why-badge-col {
		flex: 0 0 auto !important;
		max-width: 100%;
	}

	.smi-why-badge-col img {
		width: 48px;
	}

	.smi-why-callout-box {
		padding: 20px 20px;
	}
}

/* ======================================================================
   ENVIRONMENT PAGE
   ====================================================================== */

body.page-id-131 main.wp-block-group.has-global-padding,
body:has(.smi-environment-page) main.wp-block-group.has-global-padding {
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

body.page-id-131 .entry-content,
body:has(.smi-environment-page) .entry-content {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 !important;
}

body.page-id-131 .wp-site-blocks > main > .wp-block-group.alignfull.has-global-padding,
body:has(.smi-environment-page) .wp-site-blocks > main > .wp-block-group.alignfull.has-global-padding {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.page-id-131 .wp-block-post-title,
body:has(.smi-environment-page) .wp-block-post-title {
	display: none !important;
}

.smi-environment-page {
	background: #ffffff;
	padding: 60px 0 80px;
}

.smi-environment-inner {
	max-width: 1220px !important;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: auto;
	margin-right: auto;
}

.smi-environment-columns {
	align-items: flex-start;
	gap: 48px;
}

.smi-environment-title {
	font-family: var(--smi-font-heading, 'Teko', sans-serif);
	font-size: clamp(2.8rem, 5vw, 4.2rem);
	line-height: 0.95;
	text-transform: uppercase;
	color: #1f242c;
	letter-spacing: -0.02em;
	margin-top: 0;
	margin-bottom: 24px;
}

.smi-environment-intro,
.smi-environment-subheading,
.smi-environment-outro,
.smi-environment-content-col p {
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1.05rem;
	line-height: 1.75;
	color: #3d4c56;
	margin-bottom: 18px;
}

.smi-environment-content-col a {
	color: #00724e;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s ease;
}

.smi-environment-content-col a:hover {
	color: #005a3e;
	text-decoration: underline;
}

.smi-environment-list {
	list-style: none !important;
	padding-left: 0 !important;
	margin: 18px 0 24px !important;
}

.smi-environment-list li {
	position: relative;
	padding-left: 26px;
	margin-bottom: 12px;
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1.05rem;
	line-height: 1.65;
	color: #3d4c56;
}

.smi-environment-list li::before {
	content: "\2022";
	position: absolute;
	left: 6px;
	top: 0;
	color: #00724e;
	font-size: 1.4rem;
	line-height: 1.2;
	font-weight: 900;
}

.smi-environment-image-col {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.smi-environment-image {
	margin: 0;
	width: 100%;
}

.smi-environment-image img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border-radius: 6px;
}

@media (max-width: 860px) {
	.smi-environment-page {
		padding: 40px 0 60px;
	}

	.smi-environment-columns {
		gap: 32px;
	}

	.smi-environment-title {
		font-size: clamp(2.2rem, 7vw, 3.2rem);
	}

	.smi-environment-image-col {
		margin-top: 16px;
	}
}

@media (max-width: 600px) {
	.smi-environment-page {
		padding: 30px 0 50px;
	}

	.smi-environment-inner {
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* ======================================================================
   SUBMIT TESTIMONIAL PAGE
   ====================================================================== */

body.page-id-157 main.wp-block-group.has-global-padding,
body:has(.smi-submit-testimonial-page) main.wp-block-group.has-global-padding {
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

body.page-id-157 .entry-content,
body:has(.smi-submit-testimonial-page) .entry-content {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 !important;
}

body.page-id-157 .wp-site-blocks > main > .wp-block-group.alignfull.has-global-padding,
body:has(.smi-submit-testimonial-page) .wp-site-blocks > main > .wp-block-group.alignfull.has-global-padding {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.page-id-157 .wp-block-post-title,
body:has(.smi-submit-testimonial-page) .wp-block-post-title {
	display: none !important;
}

.smi-submit-testimonial-page {
	background: #ffffff;
	padding: 80px 0 90px;
}

.smi-submit-testimonial-inner {
	max-width: 1320px !important;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: auto;
	margin-right: auto;
}

.smi-testimonial-main-heading {
	font-family: var(--smi-font-heading, 'Teko', sans-serif);
	font-size: clamp(3rem, 6vw, 4.5rem);
	line-height: 0.95;
	text-transform: uppercase;
	color: #1f242c;
	letter-spacing: -0.01em;
	margin-top: 0;
	margin-bottom: 16px;
}

.smi-testimonial-intro-text {
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1rem;
	line-height: 1.85;
	color: #1f242c;
	margin-bottom: 28px;
}

/* Fluent Form Styling on Submit Testimonial Page */
.smi-submit-testimonial-page .fluentform {
	max-width: 100%;
}

.smi-submit-testimonial-page .fluentform .ff-el-group {
	margin-bottom: 18px;
}

.smi-submit-testimonial-page .fluentform .ff-el-input-label {
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1rem;
	font-weight: 400;
	color: #565872;
	margin-bottom: 6px;
	display: inline-block;
}

.smi-submit-testimonial-page .fluentform .ff-el-input-label.ff-el-is-required::after {
	content: " (*)";
	color: #e02b20;
	font-weight: 700;
}

.smi-submit-testimonial-page .fluentform .ff-el-form-control,
.smi-submit-testimonial-page .fluentform input[type="text"],
.smi-submit-testimonial-page .fluentform input[type="email"],
.smi-submit-testimonial-page .fluentform select,
.smi-submit-testimonial-page .fluentform textarea {
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1rem;
	color: #495057;
	background-color: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 4px;
	padding: 10px 14px;
	width: 100%;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.smi-submit-testimonial-page .fluentform select {
	height: 46px;
	line-height: 1.5;
	background-image: url("data:image/svg+xml;utf8,<svg fill='%23495057' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 18px;
	appearance: none;
	-webkit-appearance: none;
	padding-right: 36px;
	cursor: pointer;
}

.smi-submit-testimonial-page .fluentform textarea {
	min-height: 180px;
	resize: vertical;
}

.smi-submit-testimonial-page .fluentform .ff-el-form-control:focus,
.smi-submit-testimonial-page .fluentform input[type="text"]:focus,
.smi-submit-testimonial-page .fluentform input[type="email"]:focus,
.smi-submit-testimonial-page .fluentform select:focus,
.smi-submit-testimonial-page .fluentform textarea:focus {
	outline: none;
	border-color: #00724e;
	box-shadow: 0 0 0 3px rgba(0, 114, 78, 0.12);
}

.smi-submit-testimonial-page .fluentform .ff-el-help-message,
.smi-submit-testimonial-page .smi-testimonial-form-description {
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1rem;
	color: #565872;
	margin-top: 4px;
	margin-bottom: 20px;
}

.smi-submit-testimonial-page .fluentform .ff-btn-submit {
	font-family: var(--smi-font-heading, 'Teko', sans-serif);
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 8px 30px;
	background: #ffb703;
	color: #1f242c;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 6px;
	cursor: pointer;
	transition: all 0.25s ease-in-out;
	margin-top: 10px;
}

.smi-submit-testimonial-page .fluentform .ff-btn-submit:hover {
	background: #e0a100;
	color: #000000;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(255, 183, 3, 0.35);
}

.smi-submit-testimonial-page .ff-message-success {
	background-color: #eaf6ef;
	border: 1px solid #c3e6cb;
	border-left: 4px solid #00724e;
	color: #0f5132;
	padding: 16px 20px;
	border-radius: 4px;
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1.05rem;
	margin-top: 15px;
	margin-bottom: 25px;
}

@media (max-width: 768px) {
	.smi-submit-testimonial-page {
		padding: 40px 0 60px;
	}

	.smi-submit-testimonial-inner {
		padding-left: 16px;
		padding-right: 16px;
	}

	.smi-testimonial-main-heading {
		font-size: clamp(2.4rem, 8vw, 3.2rem);
	}
}

/* ==========================================================================
   Quote Page (/quote) Styles
   ========================================================================== */

body.page-id-150 main.wp-block-group,
body.page-id-150 main.wp-block-group.has-global-padding,
body:has(.smi-quote-page) main.wp-block-group,
body:has(.smi-quote-page) main.wp-block-group.has-global-padding {
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

body.page-id-150 .entry-content,
body:has(.smi-quote-page) .entry-content {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 !important;
}

body.page-id-150 .wp-site-blocks > main > .wp-block-group.alignfull,
body.page-id-150 .wp-site-blocks > main > .wp-block-group.alignfull.has-global-padding,
body:has(.smi-quote-page) .wp-site-blocks > main > .wp-block-group.alignfull,
body:has(.smi-quote-page) .wp-site-blocks > main > .wp-block-group.alignfull.has-global-padding {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.page-id-150 .wp-block-post-title,
body:has(.smi-quote-page) .wp-block-post-title {
	display: none !important;
}

.smi-quote-page {
	background: #ffffff;
	padding: 30px 0 80px;
}

.smi-quote-inner {
	max-width: 1320px !important;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: auto;
	margin-right: auto;
}

.smi-quote-main-heading {
	font-family: var(--smi-font-heading, 'Teko', sans-serif);
	font-size: clamp(3rem, 6vw, 4.5rem);
	font-weight: 400 !important;
	line-height: 0.95;
	text-transform: uppercase;
	color: #1f242c;
	letter-spacing: -0.01em;
	margin-top: 0;
	margin-bottom: 20px;
}

.smi-quote-sub-heading {
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1.125rem;
	line-height: 1.5;
	color: #1f242c;
	margin-top: 0;
	margin-bottom: 16px;
}

.smi-quote-sub-heading strong {
	font-weight: 700;
	color: #1f242c;
}

.smi-quote-intro-text {
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1rem;
	line-height: 1.75;
	color: #1f242c;
	margin-top: 0;
	margin-bottom: 32px;
}

/* Fluent Form Styling on Quote Page */
.smi-quote-page .fluentform {
	max-width: 100%;
}

.smi-quote-page .fluentform .ff-el-group {
	margin-bottom: 18px;
}

.smi-quote-page .fluentform .ff-el-input-label {
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1rem;
	font-weight: 400;
	color: #565872;
	margin-bottom: 6px;
	display: inline-block;
}

.smi-quote-page .fluentform .ff-el-input-label.ff-el-is-required::after {
	content: " (*)";
	color: #e02b20;
	font-weight: 700;
}

.smi-quote-page .fluentform .ff-el-form-control,
.smi-quote-page .fluentform input[type="text"],
.smi-quote-page .fluentform input[type="email"],
.smi-quote-page .fluentform input[type="tel"],
.smi-quote-page .fluentform select,
.smi-quote-page .fluentform textarea {
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1rem;
	color: #495057;
	background-color: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 4px;
	padding: 10px 14px;
	width: 100%;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.smi-quote-page .fluentform textarea {
	min-height: 140px;
	resize: vertical;
}

.smi-quote-page .fluentform .ff-el-form-control:focus,
.smi-quote-page .fluentform input[type="text"]:focus,
.smi-quote-page .fluentform input[type="email"]:focus,
.smi-quote-page .fluentform input[type="tel"]:focus,
.smi-quote-page .fluentform select:focus,
.smi-quote-page .fluentform textarea:focus {
	outline: none;
	border-color: #00724e;
	box-shadow: 0 0 0 3px rgba(0, 114, 78, 0.12);
}

.smi-quote-page .fluentform .ff-btn-submit {
	font-family: var(--smi-font-heading, 'Teko', sans-serif);
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 8px 30px;
	background: #ffb703;
	color: #1f242c;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 6px;
	cursor: pointer;
	transition: all 0.25s ease-in-out;
	margin-top: 10px;
}

.smi-quote-page .fluentform .ff-btn-submit:hover {
	background: #e0a100;
	color: #000000;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(255, 183, 3, 0.35);
}

.smi-quote-page .ff-message-success {
	background-color: #eaf6ef;
	border: 1px solid #c3e6cb;
	border-left: 4px solid #00724e;
	color: #0f5132;
	padding: 16px 20px;
	border-radius: 4px;
	font-family: var(--smi-font-body, 'Rubik', sans-serif);
	font-size: 1.05rem;
	margin-top: 15px;
	margin-bottom: 25px;
}

@media (max-width: 768px) {
	.smi-quote-page {
		padding: 20px 0 50px;
	}

	.smi-quote-inner {
		padding-left: 16px;
		padding-right: 16px;
	}

	.smi-quote-main-heading {
		font-size: clamp(2.4rem, 8vw, 3.2rem);
	}
}




