/* =========================================================
   SHIELDS PAINTING — GLOBAL SITE ELEMENTS
   Custom global footer
   ========================================================= */

.sp-site-footer {
	position: relative;
	margin: 0 !important;
	background: #0d1721 !important;
	color: #c6d0d8 !important;
	border: 0 !important;
}

.sp-site-footer *,
.sp-site-footer *::before,
.sp-site-footer *::after {
	box-sizing: border-box;
}

.sp-site-footer .sp-footer-container {
	width: min(1280px, calc(100% - 48px));
	margin: 0 auto;
}


/* MAIN FOOTER */

.sp-site-footer .sp-footer-main {
	padding: 82px 0 70px;
	background:
		radial-gradient(
			circle at 10% 10%,
			rgba(0,161,255,.10),
			transparent 30%
		),
		#0d1721;
}

.sp-site-footer .sp-footer-grid {
	display: grid;
	grid-template-columns:
		minmax(280px, 1.25fr)
		minmax(180px, .72fr)
		minmax(300px, 1.05fr)
		minmax(180px, .72fr);
	gap: 60px;
	align-items: start;
}


/* BRAND */

.sp-site-footer .sp-footer-logo {
	display: inline-block;
	margin-bottom: 25px;
	text-decoration: none !important;
}

.sp-site-footer .sp-footer-logo img {
	display: block;
	width: auto;
	max-width: 220px;
	max-height: 75px;
}

.sp-site-footer .sp-footer-description {
	max-width: 390px;
	margin: 0 0 27px;
	color: #aeb9c2 !important;
	font-size: 15px;
	line-height: 1.75;
}

.sp-site-footer .sp-footer-contact {
	padding-top: 23px;
	border-top: 1px solid rgba(255,255,255,.11);
}

.sp-site-footer .sp-footer-phone {
	display: inline-block;
	margin-bottom: 14px;
	color: #fff !important;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none !important;
}

.sp-site-footer .sp-footer-phone:hover {
	color: #55c4ff !important;
}

.sp-site-footer address {
	margin: 0 0 17px;
	color: #aeb9c2 !important;
	font-size: 14px;
	font-style: normal;
	line-height: 1.65;
}

.sp-site-footer .sp-footer-hours {
	margin: 0;
	color: #aeb9c2 !important;
	font-size: 14px;
	line-height: 1.6;
}

.sp-site-footer .sp-footer-hours strong {
	color: #fff !important;
}

.sp-site-footer .sp-footer-estimate {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 49px;
	margin-top: 27px;
	padding: 13px 22px;
	border-radius: 6px;
	background: #00a1ff !important;
	color: #fff !important;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .02em;
	text-decoration: none !important;
}

.sp-site-footer .sp-footer-estimate:hover {
	background: #008bd8 !important;
	color: #fff !important;
}

.sp-site-footer .sp-footer-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 22px;
}

.sp-site-footer .sp-footer-socials a {
	color: #aeb9c2 !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
}

.sp-site-footer .sp-footer-socials a:hover {
	color: #55c4ff !important;
}


/* COLUMNS */

.sp-site-footer .sp-footer-column h2 {
	margin: 4px 0 26px !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	letter-spacing: .02em;
}

.sp-site-footer .sp-footer-column ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.sp-site-footer .sp-footer-column li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.sp-site-footer .sp-footer-column li::before {
	display: none !important;
}

.sp-site-footer .sp-footer-column li + li {
	margin-top: 12px !important;
}

.sp-site-footer .sp-footer-column a {
	color: #aeb9c2 !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	text-decoration: none !important;
}

.sp-site-footer .sp-footer-column a:hover {
	color: #55c4ff !important;
}


/* SERVICE AREAS */

.sp-site-footer .sp-footer-area-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 28px;
}

.sp-site-footer .sp-footer-area-columns li + li {
	margin-top: 11px !important;
}

.sp-site-footer .sp-footer-view-all {
	display: inline-block;
	margin-top: 25px;
	color: #55c4ff !important;
	font-weight: 800 !important;
}


/* COMPANY CALLOUT */

.sp-site-footer .sp-footer-callout {
	margin-top: 34px;
	padding: 22px;
	border: 1px solid rgba(255,255,255,.10);
	border-radius: 8px;
	background: rgba(255,255,255,.035);
}

.sp-site-footer .sp-footer-callout span {
	display: block;
	margin-bottom: 8px;
	color: #82909b !important;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.sp-site-footer .sp-footer-callout a {
	color: #fff !important;
	font-size: 16px;
	font-weight: 800;
}

.sp-site-footer .sp-footer-callout a:hover {
	color: #55c4ff !important;
}


/* COPYRIGHT BAR */

.sp-site-footer .sp-footer-bottom {
	border-top: 1px solid rgba(255,255,255,.08);
	background: #080f16;
}

.sp-site-footer .sp-footer-bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	min-height: 78px;
}

.sp-site-footer .sp-footer-bottom p {
	margin: 0 !important;
	color: #788590 !important;
	font-size: 13px;
	line-height: 1.5;
}

.sp-site-footer .sp-footer-bottom-links {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.sp-site-footer .sp-footer-bottom-links a {
	color: #99a6af !important;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none !important;
}

.sp-site-footer .sp-footer-bottom-links a:hover {
	color: #55c4ff !important;
}


/* REMOVE LEGACY FOOTER ELEMENTS IF A PLUGIN RE-INJECTS THEM */

.sp-site-footer .menu_footer_nav_area,
.sp-site-footer .lm-footer-menu,
.sp-site-footer .footer_copyright_inner {
	display: none !important;
}


/* TABLET */

@media (max-width: 1100px) {

	.sp-site-footer .sp-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 55px 50px;
	}

}


/* MOBILE */

@media (max-width: 700px) {

	.sp-site-footer .sp-footer-container {
		width: min(100% - 34px, 1280px);
	}

	.sp-site-footer .sp-footer-main {
		padding: 62px 0 52px;
	}

	.sp-site-footer .sp-footer-grid {
		grid-template-columns: 1fr;
		gap: 45px;
	}

	.sp-site-footer .sp-footer-logo img {
		max-width: 205px;
	}

	.sp-site-footer .sp-footer-description {
		max-width: none;
	}

	.sp-site-footer .sp-footer-phone {
		font-size: 22px;
	}

	.sp-site-footer .sp-footer-area-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px 22px;
	}

	.sp-site-footer .sp-footer-bottom-inner {
		display: block;
		padding-top: 24px;
		padding-bottom: 24px;
	}

	.sp-site-footer .sp-footer-bottom-links {
		margin-top: 13px;
	}

}


@media (max-width: 430px) {

	.sp-site-footer .sp-footer-area-columns {
		grid-template-columns: 1fr;
	}

}


/* =========================================================
   SHIELDS PAINTING — FINAL COMPACT FOOTER
   ========================================================= */


/*
 * Desktop strategy:
 *
 * Row 1 = horizontal business/contact band
 * Row 2 = balanced navigation
 *
 * This prevents the long company column from forcing
 * three short columns to sit beside a large empty area.
 */

.sp-site-footer .sp-footer-main {
	padding: 38px 0 30px !important;
}

.sp-site-footer .sp-footer-grid {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	gap: 26px 34px !important;
	align-items: start !important;
}


/* =========================================================
   COMPANY / CONTACT BAND
   ========================================================= */

.sp-site-footer .sp-footer-company {
	grid-column: 1 / -1 !important;

	display: grid !important;

	grid-template-columns:
		175px
		minmax(300px, 1.35fr)
		minmax(245px, .85fr)
		190px;

	grid-template-areas:
		"logo description contact estimate"
		"logo description contact socials";

	column-gap: 34px !important;
	row-gap: 9px !important;

	align-items: start !important;

	padding-bottom: 24px !important;

	border-bottom:
		1px solid rgba(255,255,255,.10) !important;
}


.sp-site-footer .sp-footer-logo {
	grid-area: logo;
	margin: 0 !important;
	padding: 0 !important;
}

.sp-site-footer .sp-footer-logo img {
	display: block !important;
	width: auto !important;
	max-width: 165px !important;
	max-height: 55px !important;
	margin: 0 !important;
}


.sp-site-footer .sp-footer-description {
	grid-area: description;

	max-width: 470px !important;

	margin: 0 !important;
	padding: 1px 0 0 !important;

	color: #aeb9c2 !important;

	font-size: 13px !important;
	line-height: 1.65 !important;
}


.sp-site-footer .sp-footer-contact {
	grid-area: contact;

	margin: 0 !important;
	padding: 0 0 0 26px !important;

	border-top: 0 !important;
	border-left:
		1px solid rgba(255,255,255,.10) !important;
}


.sp-site-footer .sp-footer-phone {
	display: block !important;

	margin: 0 0 7px !important;

	color: #fff !important;

	font-size: 19px !important;
	line-height: 1.2 !important;
}


.sp-site-footer address {
	margin: 0 0 7px !important;

	font-size: 12px !important;
	line-height: 1.5 !important;
}


.sp-site-footer .sp-footer-hours {
	margin: 0 !important;

	font-size: 12px !important;
	line-height: 1.5 !important;
}


.sp-site-footer .sp-footer-estimate {
	grid-area: estimate;

	width: 100% !important;
	min-height: 42px !important;

	margin: 0 !important;
	padding: 10px 13px !important;

	font-size: 12px !important;

	white-space: nowrap;
}


.sp-site-footer .sp-footer-socials {
	grid-area: socials;

	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	gap: 17px !important;

	margin: 0 !important;
}


.sp-site-footer .sp-footer-socials a {
	font-size: 12px !important;
}


/* =========================================================
   NAVIGATION ROW
   ========================================================= */


/* Painting Services */
.sp-site-footer .sp-footer-grid > nav:nth-of-type(1) {
	grid-column: 1 / 4 !important;
}


/* Service Areas gets more room */
.sp-site-footer .sp-footer-areas {
	grid-column: 4 / 10 !important;
}


/* Company */
.sp-site-footer .sp-footer-grid > nav:nth-of-type(3) {
	grid-column: 10 / 13 !important;
}


.sp-site-footer .sp-footer-column {
	padding-top: 1px !important;
}


.sp-site-footer .sp-footer-column h2 {
	margin: 0 0 13px !important;

	color: #fff !important;

	font-size: 14px !important;
	line-height: 1.3 !important;
}


.sp-site-footer .sp-footer-column li + li {
	margin-top: 6px !important;
}


.sp-site-footer .sp-footer-column a {
	font-size: 12.25px !important;
	line-height: 1.4 !important;
}


.sp-site-footer .sp-footer-area-columns {
	display: grid !important;

	grid-template-columns:
		repeat(2, minmax(0, 1fr)) !important;

	gap: 5px 34px !important;
}


.sp-site-footer .sp-footer-area-columns li + li {
	margin-top: 6px !important;
}


.sp-site-footer .sp-footer-view-all {
	display: inline-block !important;

	margin-top: 12px !important;

	font-size: 12px !important;
}


/*
 * Redundant because CTA + phone already appear
 * in the business band.
 */
.sp-site-footer .sp-footer-callout {
	display: none !important;
}


/* =========================================================
   COPYRIGHT
   ========================================================= */

.sp-site-footer .sp-footer-bottom-inner {
	min-height: 50px !important;
}


.sp-site-footer .sp-footer-bottom p {
	font-size: 11px !important;
}


.sp-site-footer .sp-footer-bottom-links {
	gap: 17px !important;
}


.sp-site-footer .sp-footer-bottom-links a {
	font-size: 11px !important;
}


/*
 * Request Estimate already appears above.
 */
.sp-site-footer .sp-footer-bottom-links a:last-child {
	display: none !important;
}


/* =========================================================
   TABLET FOOTER
   ========================================================= */

@media (max-width: 1100px) {

	.sp-site-footer .sp-footer-main {
		padding: 36px 0 28px !important;
	}


	.sp-site-footer .sp-footer-grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;

		grid-template-areas:
			"brand brand"
			"services company"
			"areas areas";

		gap: 30px 42px !important;
	}


	.sp-site-footer .sp-footer-company {
		grid-area: brand !important;
		grid-column: auto !important;

		grid-template-columns:
			minmax(0, 1fr)
			minmax(260px, .78fr) !important;

		grid-template-areas:
			"logo contact"
			"description contact"
			"estimate socials" !important;

		gap: 11px 34px !important;
	}


	.sp-site-footer .sp-footer-contact {
		padding-left: 26px !important;
	}


	.sp-site-footer .sp-footer-estimate {
		width: auto !important;
		justify-self: start !important;
	}


	.sp-site-footer .sp-footer-socials {
		justify-content: flex-start !important;
	}


	.sp-site-footer .sp-footer-grid > nav:nth-of-type(1) {
		grid-area: services !important;
		grid-column: auto !important;
	}


	.sp-site-footer .sp-footer-areas {
		grid-area: areas !important;
		grid-column: auto !important;
	}


	.sp-site-footer .sp-footer-grid > nav:nth-of-type(3) {
		grid-area: company !important;
		grid-column: auto !important;
	}

}


/* =========================================================
   MOBILE FOOTER
   ========================================================= */

@media (max-width: 700px) {

	.sp-site-footer .sp-footer-container {
		width: min(100% - 32px, 1280px) !important;
	}


	.sp-site-footer .sp-footer-main {
		padding: 30px 0 25px !important;
	}


	.sp-site-footer .sp-footer-grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;

		grid-template-areas:
			"brand brand"
			"services company"
			"areas areas" !important;

		gap: 28px 20px !important;
	}


	.sp-site-footer .sp-footer-company {
		grid-area: brand !important;

		grid-template-columns: 1fr !important;

		grid-template-areas:
			"logo"
			"description"
			"contact"
			"estimate"
			"socials" !important;

		gap: 10px !important;

		padding-bottom: 22px !important;
	}


	.sp-site-footer .sp-footer-logo img {
		max-width: 155px !important;
	}


	.sp-site-footer .sp-footer-description {
		max-width: none !important;

		font-size: 12.5px !important;
	}


	.sp-site-footer .sp-footer-contact {
		padding:
			13px 0 0 !important;

		border-left: 0 !important;

		border-top:
			1px solid rgba(255,255,255,.10) !important;
	}


	.sp-site-footer .sp-footer-estimate {
		width: auto !important;
		justify-self: start !important;

		margin-top: 1px !important;
	}


	.sp-site-footer .sp-footer-socials {
		justify-content: flex-start !important;
	}


	.sp-site-footer .sp-footer-grid > nav:nth-of-type(1) {
		grid-area: services !important;
	}


	.sp-site-footer .sp-footer-grid > nav:nth-of-type(3) {
		grid-area: company !important;
	}


	.sp-site-footer .sp-footer-areas {
		grid-area: areas !important;
	}


	.sp-site-footer .sp-footer-area-columns {
		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;

		gap: 5px 18px !important;
	}


	.sp-site-footer .sp-footer-bottom-inner {
		min-height: 46px !important;

		padding: 9px 0 !important;
	}

}


/* =========================================================
   CORRECT COMPACT MOBILE HEADER
   Actual theme structure:
   content_wrap
      > columns_wrap
         > logo column
         > menu column
   ========================================================= */

@media (max-width: 959px) {

	.top_panel.top_panel_default {
		height: auto !important;
		min-height: 0 !important;
	}


	.top_panel .top_panel_navi {
		height: auto !important;
		min-height: 0 !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	.top_panel .top_panel_navi > .content_wrap {
		width: 100% !important;
		max-width: none !important;

		margin: 0 !important;
		padding: 0 17px !important;
	}


	/*
	 * This is the actual horizontal row.
	 */
	.top_panel .top_panel_navi .columns_wrap {
		display: grid !important;

		grid-template-columns:
			minmax(0, 1fr) auto !important;

		align-items: center !important;

		width: 100% !important;

		height: 66px !important;
		min-height: 66px !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	.top_panel .top_panel_navi .columns_wrap::before,
	.top_panel .top_panel_navi .columns_wrap::after {
		display: none !important;
		content: none !important;
	}


	/*
	 * Logo column.
	 */
	.top_panel .top_panel_navi
	.columns_wrap > .sc_layouts_column:first-child {

		display: flex !important;
		align-items: center !important;

		float: none !important;

		width: auto !important;
		max-width: none !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	/*
	 * Menu-button column.
	 */
	.top_panel .top_panel_navi
	.columns_wrap > .sc_layouts_column:nth-child(2) {

		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;

		float: none !important;

		width: auto !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	.top_panel .top_panel_navi .sc_layouts_item {
		margin: 0 !important;
		padding: 0 !important;
	}


	/*
	 * Header logo only.
	 */
	.top_panel .top_panel_navi .sc_layouts_logo {
		display: flex !important;
		align-items: center !important;

		position: static !important;

		width: auto !important;
		height: auto !important;

		margin: 0 !important;
		padding: 0 !important;

		transform: none !important;
	}


	.top_panel .top_panel_navi .sc_layouts_logo img {
		display: block !important;

		width: auto !important;
		height: auto !important;

		max-width: 155px !important;
		max-height: 44px !important;

		margin: 0 !important;
		padding: 0 !important;

		transform: none !important;
	}


	/*
	 * Hide desktop navigation in the compact header.
	 */
	.top_panel .top_panel_navi
	.menu_main_nav_area {

		display: none !important;
	}


	/*
	 * Mobile hamburger.
	 */
	.top_panel .top_panel_navi
	.sc_layouts_menu_mobile_button {

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		position: static !important;

		float: none !important;

		width: 42px !important;
		height: 42px !important;

		margin: 0 !important;
		padding: 0 !important;

		transform: none !important;
	}


	.top_panel .top_panel_navi
	.sc_layouts_menu_mobile_button > a {

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 42px !important;
		height: 42px !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	.top_panel .top_panel_navi
	.sc_layouts_menu_mobile_button
	.sc_layouts_item_icon {

		margin: 0 !important;

		font-size: 27px !important;
		line-height: 1 !important;
	}


	/*
	 * Search is already present inside the opened
	 * fullscreen mobile menu.
	 */
	.top_panel .top_panel_navi .header_search {
		display: none !important;
	}

}


/* Phones */

@media (max-width: 480px) {

	.top_panel .top_panel_navi > .content_wrap {
		padding: 0 13px !important;
	}


	.top_panel .top_panel_navi .columns_wrap {
		height: 60px !important;
		min-height: 60px !important;
	}


	.top_panel .top_panel_navi .sc_layouts_logo img {
		max-width: 145px !important;
		max-height: 41px !important;
	}


	.top_panel .top_panel_navi
	.sc_layouts_menu_mobile_button,
	.top_panel .top_panel_navi
	.sc_layouts_menu_mobile_button > a {

		width: 38px !important;
		height: 38px !important;
	}

}



/* =========================================================
   SHIELDS PAINTING — TABLET FOOTER CORRECTION
   701px–1100px only
   Desktop + phone layouts remain unchanged
   ========================================================= */

@media (min-width: 701px) and (max-width: 1100px) {

	.sp-site-footer .sp-footer-main {
		padding: 32px 0 26px !important;
	}


	/* -----------------------------------------------------
	   OVERALL TABLET FOOTER

	   Row 1: business/contact band
	   Row 2: services | service areas | company
	   ----------------------------------------------------- */

	.sp-site-footer .sp-footer-grid {
		display: grid !important;

		grid-template-columns:
			minmax(0, .82fr)
			minmax(0, 1.36fr)
			minmax(0, .82fr) !important;

		grid-template-areas:
			"brand brand brand"
			"services areas company" !important;

		gap: 26px 28px !important;

		align-items: start !important;
	}


	/* -----------------------------------------------------
	   TOP BUSINESS BAND

	   Logo       Description        Contact
	   CTA        Socials            Contact
	   ----------------------------------------------------- */

	.sp-site-footer .sp-footer-company {
		grid-area: brand !important;
		grid-column: 1 / -1 !important;

		display: grid !important;

		grid-template-columns:
			155px
			minmax(0, 1fr)
			205px !important;

		grid-template-areas:
			"logo description contact"
			"estimate socials contact" !important;

		column-gap: 24px !important;
		row-gap: 10px !important;

		align-items: start !important;

		padding-bottom: 22px !important;

		border-bottom:
			1px solid rgba(255,255,255,.10) !important;
	}


	/* Logo */

	.sp-site-footer .sp-footer-logo {
		grid-area: logo !important;

		margin: 0 !important;
		padding: 0 !important;
	}

	.sp-site-footer .sp-footer-logo img {
		display: block !important;

		width: auto !important;

		max-width: 150px !important;
		max-height: 52px !important;

		margin: 0 !important;
	}


	/* Description */

	.sp-site-footer .sp-footer-description {
		grid-area: description !important;

		width: auto !important;
		max-width: none !important;

		margin: 0 !important;
		padding: 0 !important;

		font-size: 12.75px !important;
		line-height: 1.6 !important;
	}


	/* Contact */

	.sp-site-footer .sp-footer-contact {
		grid-area: contact !important;

		width: auto !important;

		margin: 0 !important;

		padding:
			0 0 0 22px !important;

		border-top: 0 !important;

		border-left:
			1px solid rgba(255,255,255,.10) !important;
	}

	.sp-site-footer .sp-footer-phone {
		margin-bottom: 7px !important;

		font-size: 18px !important;
	}

	.sp-site-footer address {
		margin-bottom: 7px !important;

		font-size: 11.75px !important;
		line-height: 1.45 !important;
	}

	.sp-site-footer .sp-footer-hours {
		font-size: 11.75px !important;
		line-height: 1.45 !important;
	}


	/* Estimate */

	.sp-site-footer .sp-footer-estimate {
		grid-area: estimate !important;

		width: 155px !important;
		min-height: 40px !important;

		margin: 0 !important;

		padding:
			9px 10px !important;

		font-size: 11.5px !important;

		justify-self: start !important;
	}


	/* Social links */

	.sp-site-footer .sp-footer-socials {
		grid-area: socials !important;

		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;

		gap: 16px !important;

		margin: 0 !important;
		padding: 0 !important;
	}

	.sp-site-footer .sp-footer-socials a {
		font-size: 11.75px !important;
	}


	/* -----------------------------------------------------
	   NAVIGATION ROW
	   ----------------------------------------------------- */

	.sp-site-footer .sp-footer-grid > nav:nth-of-type(1) {
		grid-area: services !important;
		grid-column: auto !important;
	}


	.sp-site-footer .sp-footer-areas {
		grid-area: areas !important;
		grid-column: auto !important;
	}


	.sp-site-footer .sp-footer-grid > nav:nth-of-type(3) {
		grid-area: company !important;
		grid-column: auto !important;
	}


	.sp-site-footer .sp-footer-column {
		padding: 0 !important;
	}


	.sp-site-footer .sp-footer-column h2 {
		margin:
			0 0 12px !important;

		font-size: 13.5px !important;
	}


	.sp-site-footer .sp-footer-column li + li {
		margin-top: 6px !important;
	}


	.sp-site-footer .sp-footer-column a {
		font-size: 11.75px !important;
		line-height: 1.4 !important;
	}


	/* Service Areas remains two columns */

	.sp-site-footer .sp-footer-area-columns {
		display: grid !important;

		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;

		gap:
			5px 22px !important;
	}


	.sp-site-footer .sp-footer-area-columns li + li {
		margin-top: 6px !important;
	}


	.sp-site-footer .sp-footer-view-all {
		margin-top: 11px !important;

		font-size: 11.5px !important;
	}


	/* -----------------------------------------------------
	   BOTTOM BAR

	   Privacy is already in Company column, so don't let
	   it collide with the floating back-to-top button.
	   ----------------------------------------------------- */

	.sp-site-footer .sp-footer-bottom-inner {
		min-height: 46px !important;

		padding:
			8px 0 !important;
	}


	.sp-site-footer .sp-footer-bottom p {
		font-size: 10.75px !important;
	}


	.sp-site-footer .sp-footer-bottom-links {
		display: none !important;
	}

}



/* =========================================================
   SHIELDS PAINTING — GLOBAL HEADER CTA
   Permanent Book Now button on every device
   ========================================================= */


/*
 * The normal menu's Book Now item is replaced by the
 * dedicated CTA on the desktop header.
 */
@media (min-width: 1101px) {

	.top_panel .menu_main_nav_area #menu-item-1370 {
		display: none !important;
	}

}


/* Holder containing nav + CTA + mobile menu control */

.top_panel .top_panel_navi .sp-header-actions-holder {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;

	gap: 14px !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* Main button */

.top_panel .sp-header-book-now {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 auto !important;

	min-width: 104px;
	min-height: 42px;

	padding: 10px 18px !important;

	border:
		1px solid #00a1ff !important;
	border-radius: 6px !important;

	background:
		#00a1ff !important;

	color:
		#fff !important;

	font-size: 12px !important;
	font-weight: 900 !important;
	line-height: 1 !important;

	letter-spacing: .035em !important;
	text-transform: uppercase;

	text-decoration: none !important;

	box-shadow:
		0 6px 18px rgba(0,161,255,.18);

	transition:
		background .2s ease,
		border-color .2s ease,
		transform .2s ease,
		box-shadow .2s ease;
}


.top_panel .sp-header-book-now:hover,
.top_panel .sp-header-book-now:focus {
	background: #008bd8 !important;
	border-color: #008bd8 !important;

	color: #fff !important;

	transform: translateY(-1px);

	box-shadow:
		0 9px 23px rgba(0,161,255,.28);
}


/* =========================================================
   DESKTOP HEADER
   ========================================================= */

@media (min-width: 1101px) {

	.top_panel .top_panel_navi
	.sp-header-actions-holder {

		flex-wrap: nowrap !important;
	}


	.top_panel .top_panel_navi
	.menu_main_nav_area {

		flex: 0 1 auto !important;
	}


	.top_panel .top_panel_navi
	.sp-header-book-now {

		margin-left: 6px !important;
	}

}


/* =========================================================
   TABLET / MOBILE HEADER

   At <=1100:
   Logo left
   Book Now + hamburger right

   This deliberately avoids the theme's "More" / three-dot
   overflow menu shown on iPad Pro.
   ========================================================= */

@media (max-width: 1100px) {

	.top_panel.top_panel_default {
		height: auto !important;
		min-height: 0 !important;
	}


	.top_panel .top_panel_navi {
		height: auto !important;
		min-height: 0 !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	.top_panel .top_panel_navi > .content_wrap {
		width: 100% !important;
		max-width: none !important;

		margin: 0 !important;
		padding:
			0 18px !important;
	}


	.top_panel .top_panel_navi .columns_wrap {
		display: grid !important;

		grid-template-columns:
			minmax(0, 1fr)
			auto !important;

		align-items: center !important;

		width: 100% !important;

		height: 66px !important;
		min-height: 66px !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	.top_panel .top_panel_navi
	.columns_wrap::before,
	.top_panel .top_panel_navi
	.columns_wrap::after {

		display: none !important;
		content: none !important;
	}


	/* Logo column */

	.top_panel .top_panel_navi
	.columns_wrap > .sc_layouts_column:first-child {

		display: flex !important;
		align-items: center !important;

		float: none !important;

		width: auto !important;
		max-width: none !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	/* Actions column */

	.top_panel .top_panel_navi
	.columns_wrap > .sc_layouts_column:nth-child(2) {

		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;

		float: none !important;

		width: auto !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	.top_panel .top_panel_navi .sc_layouts_item {
		margin: 0 !important;
		padding: 0 !important;
	}


	/* Hide full desktop navigation */

	.top_panel .top_panel_navi
	.menu_main_nav_area {

		display: none !important;
	}


	/* Header logo */

	.top_panel .top_panel_navi
	.sc_layouts_logo {

		display: flex !important;
		align-items: center !important;

		position: static !important;

		width: auto !important;
		height: auto !important;

		margin: 0 !important;
		padding: 0 !important;

		transform: none !important;
	}


	.top_panel .top_panel_navi
	.sc_layouts_logo img {

		display: block !important;

		width: auto !important;
		height: auto !important;

		max-width: 155px !important;
		max-height: 44px !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	/* CTA + hamburger share right side */

	.top_panel .top_panel_navi
	.sp-header-actions-holder {

		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;

		gap: 9px !important;
	}


	.top_panel .top_panel_navi
	.sp-header-book-now {

		min-width: 94px !important;
		min-height: 38px !important;

		padding:
			9px 14px !important;

		font-size: 11px !important;
	}


	/* Show mobile menu button */

	.top_panel .top_panel_navi
	.sc_layouts_menu_mobile_button {

		position: static !important;

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 40px !important;
		height: 40px !important;

		margin: 0 !important;
		padding: 0 !important;

		transform: none !important;
	}


	.top_panel .top_panel_navi
	.sc_layouts_menu_mobile_button > a {

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 40px !important;
		height: 40px !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	.top_panel .top_panel_navi
	.sc_layouts_menu_mobile_button
	.sc_layouts_item_icon {

		margin: 0 !important;

		font-size: 27px !important;
		line-height: 1 !important;
	}


	/*
	 * Search remains available in the opened
	 * fullscreen mobile menu.
	 */
	.top_panel .top_panel_navi .header_search {
		display: none !important;
	}

}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 480px) {

	.top_panel .top_panel_navi > .content_wrap {
		padding:
			0 12px !important;
	}


	.top_panel .top_panel_navi .columns_wrap {
		height: 60px !important;
		min-height: 60px !important;
	}


	.top_panel .top_panel_navi
	.sc_layouts_logo img {

		max-width: 135px !important;
		max-height: 40px !important;
	}


	.top_panel .top_panel_navi
	.sp-header-actions-holder {

		gap: 7px !important;
	}


	.top_panel .top_panel_navi
	.sp-header-book-now {

		min-width: 82px !important;
		min-height: 36px !important;

		padding:
			8px 11px !important;

		border-radius: 5px !important;

		font-size: 10px !important;
	}


	.top_panel .top_panel_navi
	.sc_layouts_menu_mobile_button,
	.top_panel .top_panel_navi
	.sc_layouts_menu_mobile_button > a {

		width: 36px !important;
		height: 36px !important;
	}

}


/* =========================================================
   BOOK NOW INSIDE OPEN MOBILE MENU
   Keep as a second conversion opportunity.
   ========================================================= */

.menu_mobile #menu_mobile-item-1370 > a {
	margin-top: 12px !important;

	border-radius: 5px !important;

	background: #00a1ff !important;

	color: #fff !important;

	font-weight: 900 !important;

	text-align: center !important;
}


.menu_mobile #menu_mobile-item-1370 > a:hover {
	background: #008bd8 !important;
	color: #fff !important;
}



/* =========================================================
   SHIELDS PAINTING — COMPACT HEADER BOOK NOW BUTTON
   ========================================================= */

/* Desktop */
.top_panel .sp-header-book-now {
	height: 34px !important;
	min-height: 34px !important;
	min-width: 96px !important;

	padding: 0 16px !important;

	border-radius: 4px !important;

	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 34px !important;

	letter-spacing: .04em !important;

	box-shadow:
		0 4px 12px rgba(0,161,255,.16) !important;
}


/* Tablet */
@media (max-width: 1100px) {

	.top_panel .top_panel_navi
	.sp-header-book-now {

		height: 32px !important;
		min-height: 32px !important;
		min-width: 88px !important;

		padding: 0 13px !important;

		font-size: 10.5px !important;
		line-height: 32px !important;

		border-radius: 4px !important;
	}

}


/* Phones */
@media (max-width: 480px) {

	.top_panel .top_panel_navi
	.sp-header-book-now {

		height: 30px !important;
		min-height: 30px !important;
		min-width: 78px !important;

		padding: 0 10px !important;

		font-size: 9.5px !important;
		line-height: 30px !important;

		border-radius: 4px !important;

		letter-spacing: .03em !important;
	}

}
/* =========================================================
   SHIELDS PAINTING — REVIEWS PAGE
   ========================================================= */

.sp-reviews-page {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	overflow-x: clip;
	background: #fff;
	color: #17202a;
}

.sp-reviews-page *,
.sp-reviews-page *::before,
.sp-reviews-page *::after {
	box-sizing: border-box;
}

.sp-reviews-page .sp-reviews-container {
	width: min(1280px, calc(100% - 48px));
	margin: 0 auto;
}

.sp-reviews-page .sp-reviews-eyebrow {
	margin: 0 0 13px;
	color: #00a1ff !important;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: .13em;
	text-transform: uppercase;
}


/* Hero */

.sp-reviews-page .sp-reviews-hero {
	padding: 86px 0 82px;
	background:
		radial-gradient(circle at 84% 25%, rgba(0,161,255,.14), transparent 32%),
		#101c27;
	color: #fff;
}

.sp-reviews-page .sp-reviews-hero h1 {
	max-width: 850px;
	margin: 0 0 22px;
	color: #fff !important;
	font-size: clamp(48px, 5.5vw, 72px);
	line-height: 1;
	letter-spacing: -.045em;
}

.sp-reviews-page .sp-reviews-hero-copy {
	max-width: 720px;
	margin: 0;
	color: rgba(255,255,255,.72);
	font-size: 18px;
	line-height: 1.7;
}

.sp-reviews-page .sp-reviews-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin-top: 30px;
}

.sp-reviews-page .sp-reviews-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 13px 22px;
	border-radius: 6px;
	background: #00a1ff;
	color: #fff !important;
	font-size: 13px;
	font-weight: 900;
	text-decoration: none !important;
}

.sp-reviews-page .sp-reviews-phone {
	color: #fff !important;
	font-size: 15px;
	font-weight: 900;
	text-decoration: none !important;
}


/* Headings */

.sp-reviews-page .sp-reviews-heading {
	max-width: 760px;
	margin: 0 auto 46px;
	text-align: center;
}

.sp-reviews-page .sp-reviews-heading h2 {
	margin: 0 0 15px;
	color: #17202a !important;
	font-size: clamp(36px, 4vw, 52px);
	line-height: 1.06;
	letter-spacing: -.035em;
}

.sp-reviews-page .sp-reviews-heading > p:last-child {
	margin: 0;
	color: #65717c;
	font-size: 16px;
	line-height: 1.7;
}


/* Featured */

.sp-reviews-page .sp-reviews-featured {
	padding: 92px 0;
	background: #f5f8fb;
}

.sp-reviews-page .sp-reviews-featured-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}


/* Cards */

.sp-reviews-page .sp-review-card {
	display: flex;
	flex-direction: column;
	padding: 30px;
	border: 1px solid #dce5eb;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(17,40,61,.05);
}

.sp-reviews-page .sp-review-featured {
	min-height: 365px;
	padding: 34px;
}

.sp-reviews-page .sp-review-stars {
	margin-bottom: 20px;
	color: #f5ad00;
	font-size: 18px;
	letter-spacing: .08em;
}

.sp-reviews-page .sp-review-card blockquote {
	margin: 0;
	padding: 0;
	border: 0;
}

.sp-reviews-page .sp-review-card blockquote p {
	margin: 0;
	color: #3f4a54;
	font-size: 15px;
	line-height: 1.75;
}

.sp-reviews-page .sp-review-featured blockquote p {
	font-size: 16px;
}

.sp-reviews-page .sp-review-card footer {
	margin-top: auto;
	padding-top: 25px;
}

.sp-reviews-page .sp-review-card footer strong,
.sp-reviews-page .sp-review-card footer span {
	display: block;
}

.sp-reviews-page .sp-review-card footer strong {
	margin-bottom: 4px;
	color: #17202a;
	font-size: 15px;
}

.sp-reviews-page .sp-review-card footer span {
	color: #87939d;
	font-size: 12px;
}


/* All reviews */

.sp-reviews-page .sp-reviews-all {
	padding: 92px 0;
	background: #fff;
}

.sp-reviews-page .sp-reviews-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.sp-reviews-page .sp-reviews-grid .sp-review-card {
	min-height: 330px;
}


/* Trust */

.sp-reviews-page .sp-reviews-trust {
	padding: 90px 0;
	background: #101c27;
	color: #fff;
}

.sp-reviews-page .sp-reviews-trust-grid {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: 75px;
	align-items: start;
}

.sp-reviews-page .sp-reviews-trust h2 {
	max-width: 560px;
	margin: 0;
	color: #fff !important;
	font-size: clamp(38px, 4vw, 52px);
	line-height: 1.06;
	letter-spacing: -.035em;
}

.sp-reviews-page .sp-reviews-trust-points {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(255,255,255,.12);
	border-left: 1px solid rgba(255,255,255,.12);
}

.sp-reviews-page .sp-reviews-trust-points > div {
	padding: 25px;
	border-right: 1px solid rgba(255,255,255,.12);
	border-bottom: 1px solid rgba(255,255,255,.12);
}

.sp-reviews-page .sp-reviews-trust-points strong,
.sp-reviews-page .sp-reviews-trust-points span {
	display: block;
}

.sp-reviews-page .sp-reviews-trust-points strong {
	margin-bottom: 7px;
	color: #fff;
	font-size: 16px;
}

.sp-reviews-page .sp-reviews-trust-points span {
	color: rgba(255,255,255,.60);
	font-size: 13px;
	line-height: 1.6;
}


/* Final */

.sp-reviews-page .sp-reviews-final {
	padding: 70px 0;
	background: #00a1ff;
	color: #fff;
}

.sp-reviews-page .sp-reviews-final-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
	gap: 60px;
	align-items: center;
}

.sp-reviews-page .sp-reviews-final .sp-reviews-eyebrow {
	color: rgba(255,255,255,.72) !important;
}

.sp-reviews-page .sp-reviews-final h2 {
	max-width: 700px;
	margin: 0 0 12px;
	color: #fff !important;
	font-size: clamp(36px, 4vw, 52px);
	line-height: 1.05;
}

.sp-reviews-page .sp-reviews-final p:last-child {
	margin: 0;
	color: rgba(255,255,255,.82);
	line-height: 1.7;
}

.sp-reviews-page .sp-reviews-final .sp-reviews-actions {
	justify-content: flex-end;
	margin-top: 0;
}

.sp-reviews-page .sp-reviews-btn-light {
	background: #fff;
	color: #008bd8 !important;
}

.sp-reviews-page .sp-reviews-phone-light {
	color: #fff !important;
}


/* Tablet */

@media (max-width: 1024px) {

	.sp-reviews-page .sp-reviews-featured-grid,
	.sp-reviews-page .sp-reviews-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sp-reviews-page .sp-reviews-trust-grid,
	.sp-reviews-page .sp-reviews-final-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.sp-reviews-page .sp-reviews-final .sp-reviews-actions {
		justify-content: flex-start;
	}

}


/* Mobile */

@media (max-width: 700px) {

	.sp-reviews-page .sp-reviews-container {
		width: min(100% - 32px, 1280px);
	}

	.sp-reviews-page .sp-reviews-hero {
		padding: 62px 0;
	}

	.sp-reviews-page .sp-reviews-hero h1 {
		font-size: 45px;
	}

	.sp-reviews-page .sp-reviews-featured,
	.sp-reviews-page .sp-reviews-all,
	.sp-reviews-page .sp-reviews-trust {
		padding: 68px 0;
	}

	.sp-reviews-page .sp-reviews-heading {
		margin-bottom: 34px;
		text-align: left;
	}

	.sp-reviews-page .sp-reviews-featured-grid,
	.sp-reviews-page .sp-reviews-grid {
		grid-template-columns: 1fr;
	}

	.sp-reviews-page .sp-review-featured,
	.sp-reviews-page .sp-reviews-grid .sp-review-card {
		min-height: 0;
	}

	.sp-reviews-page .sp-review-card {
		padding: 26px;
	}

	.sp-reviews-page .sp-reviews-trust-points {
		grid-template-columns: 1fr;
	}

	.sp-reviews-page .sp-reviews-final {
		padding: 58px 0;
	}

}
/* Homepage real review cards */

.sp-home-page .sp-home-reviews {
	padding: 92px 0;
	background: #f5f8fb;
}

.sp-home-page .sp-home-review-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.sp-home-page .sp-home-review-quote {
	display: flex;
	flex-direction: column;
	min-height: 300px;
	padding: 30px;
	border: 1px solid #dce5eb;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(17,40,61,.05);
}

.sp-home-page .sp-home-review-stars {
	margin-bottom: 20px;
	color: #f5ad00;
	font-size: 17px;
	letter-spacing: .07em;
}

.sp-home-page .sp-home-review-quote > p {
	margin: 0;
	color: #3f4a54;
	font-size: 15px;
	line-height: 1.75;
}

.sp-home-page .sp-home-review-quote footer {
	margin-top: auto;
	padding-top: 24px;
}

.sp-home-page .sp-home-review-quote footer strong,
.sp-home-page .sp-home-review-quote footer span {
	display: block;
}

.sp-home-page .sp-home-review-quote footer strong {
	margin-bottom: 4px;
	color: #17202a;
	font-size: 14px;
}

.sp-home-page .sp-home-review-quote footer span {
	color: #87939d;
	font-size: 11px;
}

.sp-home-page .sp-home-review-footer {
	margin-top: 28px;
	text-align: center;
}

.sp-home-page .sp-home-review-footer a {
	color: #008bd8 !important;
	font-weight: 900;
	text-decoration: none !important;
}

@media (max-width: 900px) {

	.sp-home-page .sp-home-review-grid {
		grid-template-columns: 1fr;
	}

	.sp-home-page .sp-home-review-quote {
		min-height: 0;
	}

}


/* ==========================================================
   SHIELDS FOOTER META GRID INTEGRATION V3

   Business Hours + Service Area are explicitly assigned
   to the footer company grid.

   This prevents CSS Grid auto-placement from creating an
   extra implicit row with large unused desktop space.
   ========================================================== */

.sp-site-footer .sp-footer-meta-row {
    font-size: 12px !important;
    line-height: 1.55 !important;
}

.sp-site-footer .sp-footer-meta-item {
    margin: 0 !important;
}

.sp-site-footer .sp-footer-meta-item strong {
    margin: 0 !important;
    font: inherit !important;
    font-weight: 700 !important;
}

.sp-site-footer .sp-footer-meta-item span {
    margin: 0 !important;
}

.sp-site-footer .sp-footer-meta-separator {
    opacity: .35 !important;
}


/*
 * Full desktop.
 *
 * Existing second row is reused:
 *
 * logo | description | contact | estimate
 * meta | meta        | contact | socials
 *
 * No third implicit grid row.
 */

@media (min-width: 1101px) {

    .sp-site-footer .sp-footer-company {
        grid-template-areas:
            "logo description contact estimate"
            "meta meta contact socials" !important;

        row-gap: 10px !important;
        padding-bottom: 18px !important;
    }

    .sp-site-footer .sp-footer-meta-row {
        grid-area: meta !important;

        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: baseline !important;
        justify-self: start !important;
        align-self: start !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;

        gap: 7px 13px !important;

        margin: 0 !important;
        padding: 1px 0 0 !important;

        white-space: nowrap !important;
    }

    .sp-site-footer .sp-footer-meta-item {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        flex-flow: row nowrap !important;
        align-items: baseline !important;

        width: auto !important;

        gap: 5px !important;

        padding: 0 !important;

        white-space: nowrap !important;
    }

    .sp-site-footer .sp-footer-meta-item strong,
    .sp-site-footer .sp-footer-meta-item span {
        display: inline !important;
        width: auto !important;
        padding: 0 !important;
        white-space: nowrap !important;
    }

    .sp-site-footer .sp-footer-meta-separator {
        display: inline-block !important;
        flex: 0 0 auto !important;

        width: auto !important;
        margin: 0 1px !important;

        white-space: nowrap !important;
    }
}


/*
 * Tablet / smaller desktop.
 *
 * Keep metadata explicit rather than allowing browser
 * auto-placement.
 */

@media (min-width: 701px) and (max-width: 1100px) {

    .sp-site-footer .sp-footer-company {
        grid-template-areas:
            "logo contact"
            "description contact"
            "meta meta"
            "estimate socials" !important;

        row-gap: 10px !important;
    }

    .sp-site-footer .sp-footer-meta-row {
        grid-area: meta !important;

        display: flex !important;
        flex-flow: row wrap !important;
        align-items: baseline !important;

        width: auto !important;
        max-width: 100% !important;

        gap: 6px 12px !important;

        margin: 1px 0 0 !important;
        padding: 0 !important;
    }

    .sp-site-footer .sp-footer-meta-item {
        display: inline-flex !important;
        flex-flow: row wrap !important;
        align-items: baseline !important;

        gap: 5px !important;
    }

    .sp-site-footer .sp-footer-meta-separator {
        display: inline-block !important;
    }
}


/*
 * Mobile.
 */

@media (max-width: 700px) {

    .sp-site-footer .sp-footer-company {
        grid-template-areas:
            "logo"
            "description"
            "meta"
            "contact"
            "estimate"
            "socials" !important;
    }

    .sp-site-footer .sp-footer-meta-row {
        grid-area: meta !important;

        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 5px !important;

        width: 100% !important;

        margin: 2px 0 1px !important;
        padding: 0 !important;
    }

    .sp-site-footer .sp-footer-meta-item {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: baseline !important;

        gap: 5px !important;
    }

    .sp-site-footer .sp-footer-meta-separator {
        display: none !important;
    }
}


@media (max-width: 480px) {

    .sp-site-footer .sp-footer-meta-item {
        display: block !important;
    }

    .sp-site-footer .sp-footer-meta-item strong {
        display: block !important;
        margin-bottom: 1px !important;
    }
}

/* END SHIELDS FOOTER META GRID INTEGRATION V3 */

