/* Approved Home contact and footer reused on selected public pages. */
body.spc-master-contact-footer-page {
	--sp-home-bg: #171816;
	--sp-home-ink: #f3f0e9;
	--sp-home-gold: #c98234;
}

body.spc-master-contact-footer-page .sp-home-contact {
	position: relative;
	isolation: isolate;
	min-height: 0;
	padding-block: 48px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

body.spc-master-contact-footer-page .sp-home-contact::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(5, 7, 8, 0.48);
	pointer-events: none;
}

body.spc-master-contact-footer-page .sp-home-contact > .e-con-inner,
body.spc-master-contact-footer-page .sp-home-contact > .elementor-element {
	position: relative;
	z-index: 1;
}

body.spc-master-contact-footer-page .sp-home-contact > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(0, 0.45fr) minmax(0, 0.55fr);
	gap: 44px;
	align-items: center;
	width: min(calc(100% - 96px), 1200px);
	max-width: 1200px;
	margin-inline: auto;
	padding-block: 0;
}

body.spc-master-contact-footer-page .sp-home-contact > .e-con-inner > .e-con {
	width: 100%;
	max-width: none;
	padding: 0;
}

body.spc-master-contact-footer-page .sp-home-contact .elementor-element-dc3f3b6 .elementor-heading-title {
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 10.5px !important;
	font-weight: 500 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
}

body.spc-master-contact-footer-page .sp-home-contact .elementor-element-b287615 .elementor-heading-title {
	color: var(--sp-home-ink) !important;
	font-family: "Bodoni Moda", serif !important;
	font-size: 34px !important;
	font-weight: 400 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.02em !important;
}

body.spc-master-contact-footer-page .sp-home-contact .elementor-element-0048179,
body.spc-master-contact-footer-page .sp-home-contact .elementor-element-0048179 p {
	color: var(--sp-home-ink) !important;
	font-family: "Bodoni Moda", serif !important;
	font-size: 27px !important;
	font-style: italic !important;
	font-weight: 400 !important;
	line-height: 1.1 !important;
}

body.spc-master-contact-footer-page .sp-home-contact .elementor-element-1851d61,
body.spc-master-contact-footer-page .sp-home-contact .elementor-element-1851d61 a,
body.spc-master-contact-footer-page .sp-home-contact .elementor-element-1851d61 span {
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
}

body.spc-master-contact-footer-page .elementor-element-1851d61 .elementor-icon-list-icon {
	display: block;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

body.spc-master-contact-footer-page .elementor-element-1851d61 .elementor-icon-list-item:nth-child(1) .elementor-icon-list-icon {
	background-image: url("icons/home-location.svg");
}

body.spc-master-contact-footer-page .elementor-element-1851d61 .elementor-icon-list-item:nth-child(2) .elementor-icon-list-icon {
	background-image: url("icons/home-email.svg");
}

body.spc-master-contact-footer-page .elementor-element-1851d61 .elementor-icon-list-item:nth-child(3) .elementor-icon-list-icon {
	background-image: url("icons/home-phone.svg");
}

body.spc-master-contact-footer-page .elementor-element-1851d61 .elementor-icon-list-icon i,
body.spc-master-contact-footer-page .elementor-element-1851d61 .elementor-icon-list-icon svg {
	display: none;
}

body.spc-master-contact-footer-page #wpforms-19934 {
	margin-block: 0;
}

body.spc-master-contact-footer-page #wpforms-form-19934 .wpforms-field-container {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

body.spc-master-contact-footer-page #wpforms-form-19934 .wpforms-field {
	padding: 0;
}

body.spc-master-contact-footer-page #wpforms-19934-field_6-container {
	grid-column: 1 / -1;
}

body.spc-master-contact-footer-page #wpforms-form-19934 .wpforms-field-label {
	margin-bottom: 5px;
	color: var(--sp-home-ink);
	font-family: "Nunito Sans", sans-serif;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.25;
}

body.spc-master-contact-footer-page #wpforms-form-19934 input[type="text"],
body.spc-master-contact-footer-page #wpforms-form-19934 input[type="email"],
body.spc-master-contact-footer-page #wpforms-form-19934 input[type="tel"],
body.spc-master-contact-footer-page #wpforms-form-19934 textarea {
	box-sizing: border-box;
	border: 1px solid rgba(211, 144, 71, 0.55);
	border-radius: 6px;
	background: rgba(12, 13, 13, 0.55);
	box-shadow: none;
	color: var(--sp-home-ink);
	font-family: "Nunito Sans", sans-serif;
	font-size: 14px;
}

body.spc-master-contact-footer-page #wpforms-form-19934 input[type="text"],
body.spc-master-contact-footer-page #wpforms-form-19934 input[type="email"],
body.spc-master-contact-footer-page #wpforms-form-19934 input[type="tel"] {
	height: 42px;
	min-height: 42px;
	padding: 8px 12px;
}

body.spc-master-contact-footer-page #wpforms-form-19934 input::placeholder,
body.spc-master-contact-footer-page #wpforms-form-19934 textarea::placeholder {
	color: rgba(255, 255, 255, 0.55);
	opacity: 1;
}

body.spc-master-contact-footer-page #wpforms-form-19934 input[type="text"]:focus,
body.spc-master-contact-footer-page #wpforms-form-19934 input[type="email"]:focus,
body.spc-master-contact-footer-page #wpforms-form-19934 input[type="tel"]:focus,
body.spc-master-contact-footer-page #wpforms-form-19934 textarea:focus {
	border-color: #d39047;
	background: rgba(12, 13, 13, 0.62);
	box-shadow: 0 0 0 2px rgba(211, 144, 71, 0.14);
	outline: 0;
}

body.spc-master-contact-footer-page #wpforms-form-19934 textarea {
	height: 116px;
	min-height: 116px;
	padding: 10px 12px;
	resize: vertical;
}

body.spc-master-contact-footer-page #wpforms-form-19934 .wpforms-submit-container {
	margin: 0;
	padding-top: 6px;
}

body.spc-master-contact-footer-page #wpforms-form-19934 .wpforms-submit {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	gap: 12px;
	height: 42px;
	min-height: 42px;
	max-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--sp-home-gold);
	border-radius: 4px;
	background: var(--sp-home-gold);
	box-shadow: none;
	color: var(--sp-home-bg);
	font-family: "Nunito Sans", sans-serif;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

body.spc-master-contact-footer-page #wpforms-form-19934 .wpforms-submit::after {
	content: "→";
	font-size: 12px;
	line-height: 1;
}

body.spc-master-contact-footer-page #wpforms-form-19934 .wpforms-submit:hover,
body.spc-master-contact-footer-page #wpforms-form-19934 .wpforms-submit:focus {
	border-color: #d39047;
	background: #d39047;
	color: var(--sp-home-bg);
	box-shadow: 0 0 0 2px rgba(211, 144, 71, 0.14);
	outline: 0;
}

body.spc-master-contact-footer-page .elementor-element-4d1fd71 > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(120px, 1fr) auto minmax(260px, 1fr);
	align-items: center;
	flex-direction: initial !important;
	flex-wrap: nowrap !important;
	gap: 32px !important;
	height: auto !important;
	min-height: 0 !important;
	width: min(calc(100% - 96px), 1200px);
	padding-block: 22px;
}

body.spc-master-contact-footer-page .elementor-element-4d1fd71,
body.spc-master-contact-footer-page .elementor-element-4d1fd71 a,
body.spc-master-contact-footer-page .elementor-element-4d1fd71 p {
	font-size: 12px !important;
}

body.spc-master-contact-footer-page .elementor-element-4d1fd71 {
	background: var(--sp-home-bg) !important;
}

body.spc-master-contact-footer-page .elementor-element-b98ede1 {
	display: flex;
	flex: 0 0 120px !important;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	justify-self: start;
	width: 120px !important;
	max-width: 120px !important;
	gap: 0;
}

/* Neutralize the legacy Product Content footer sizing when this master is reused. */
body.spc-master-contact-footer-page .spc-reused-elementor--footer .elementor-element-b98ede1 {
	flex: 0 0 120px !important;
	width: 120px !important;
	max-width: 120px !important;
}

body.spc-master-contact-footer-page .elementor-element-b98ede1 .elementor-element-e3d67d1 {
	flex: 0 0 46px;
	width: 46px;
}

body.spc-master-contact-footer-page .elementor-element-b98ede1 .elementor-element-e3d67d1 img {
	display: block;
	width: 46px;
	height: 50px;
	object-fit: contain;
}

body.spc-master-contact-footer-page .elementor-element-b98ede1 .elementor-element-f191917 {
	flex: 1 1 auto;
	min-width: 0;
}

body.spc-master-contact-footer-page .elementor-element-b98ede1 .elementor-element-f191917 img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
}

body.spc-master-contact-footer-page .elementor-element-4c1887e {
	justify-self: center;
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto !important;
}

body.spc-master-contact-footer-page .spc-reused-elementor--footer .elementor-element-4c1887e,
body.spc-master-contact-footer-page .spc-reused-elementor--footer .elementor-element-a3973ef {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
}

body.spc-master-contact-footer-page .elementor-element-633b2e0 .elementor-social-icons-wrapper {
	display: flex;
	align-items: center;
	gap: 16px;
}

body.spc-master-contact-footer-page .elementor-element-633b2e0 .elementor-social-icon {
	width: auto;
	height: auto;
	padding: 0;
	font-size: 14px;
	background: transparent;
	color: rgba(255, 255, 255, 0.82);
}

body.spc-master-contact-footer-page .elementor-element-633b2e0 .elementor-social-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

body.spc-master-contact-footer-page .elementor-element-a3973ef {
	justify-self: end;
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto !important;
}

body.spc-master-contact-footer-page .elementor-element-95699c6,
body.spc-master-contact-footer-page .elementor-element-95699c6 p {
	margin: 0;
	text-align: right;
	color: rgba(255, 255, 255, 0.56);
}

body.spc-master-contact-footer-page .elementor-element-279c24b {
	display: none;
}

@media (max-width: 767px) {
	body.spc-master-contact-footer-page .sp-home-contact {
		min-height: auto;
		padding-block: 48px;
	}

	body.spc-master-contact-footer-page .sp-home-contact > .e-con-inner {
		grid-template-columns: 1fr;
		gap: 32px;
		width: min(calc(100% - 40px), 1200px);
	}

	body.spc-master-contact-footer-page #wpforms-form-19934 .wpforms-field-container {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	body.spc-master-contact-footer-page #wpforms-19934-field_6-container {
		grid-column: auto;
	}

	body.spc-master-contact-footer-page .sp-home-contact .elementor-element-b287615 .elementor-heading-title {
		font-size: 30px !important;
	}

	body.spc-master-contact-footer-page .sp-home-contact .elementor-element-0048179,
	body.spc-master-contact-footer-page .sp-home-contact .elementor-element-0048179 p {
		font-size: 24px !important;
	}

	body.spc-master-contact-footer-page .elementor-element-4d1fd71 > .e-con-inner {
		grid-template-columns: 1fr;
		flex-direction: initial !important;
		flex-wrap: nowrap !important;
		justify-items: center;
		gap: 14px;
		width: min(calc(100% - 40px), 1200px);
		padding-block: 20px;
	}

	body.spc-master-contact-footer-page .elementor-element-b98ede1,
	body.spc-master-contact-footer-page .elementor-element-4c1887e,
	body.spc-master-contact-footer-page .elementor-element-a3973ef {
		justify-self: center;
	}

	body.spc-master-contact-footer-page .elementor-element-b98ede1 {
		flex-basis: 110px !important;
		width: 110px !important;
		max-width: 110px !important;
	}

	body.spc-master-contact-footer-page .spc-reused-elementor--footer .elementor-element-b98ede1 {
		flex-basis: 110px !important;
		width: 110px !important;
		max-width: 110px !important;
	}

	body.spc-master-contact-footer-page .elementor-element-b98ede1 .elementor-element-f191917 {
		flex: 0 0 55px;
		width: 55px;
		max-width: 55px;
	}

	body.spc-master-contact-footer-page .elementor-element-b98ede1 .elementor-element-f191917 img {
		width: 50px;
	}

	body.spc-master-contact-footer-page .elementor-element-95699c6,
	body.spc-master-contact-footer-page .elementor-element-95699c6 p {
		text-align: center;
	}
}

@media (max-width: 480px) {
	body.spc-master-contact-footer-page .sp-home-contact > .e-con-inner {
		width: min(calc(100% - 32px), 1200px);
	}
}
