/* =============================================================================
 * Invictus Style — custom footer (.inv-footer-*) layout + styling.
 *
 * The footer markup is injected as a Woodmart HTML footer block (after
 * .wd-page-wrapper). Only the HTML shipped — no CSS existed, so the footer
 * rendered as an unstyled column of text. This file supplies a premium,
 * high-impact layout.
 *
 * Palette matches the homepage (front-page.css): dark charcoal surface,
 * white text, brand-red accent.
 * ========================================================================= */

:root {
	--inv-foot-accent: #d4272e;
	--inv-foot-accent-2: #ff3b43;
	--inv-foot-surface: #141416;
	--inv-foot-surface-2: #0f0f11;
	--inv-foot-text: #f2f2f2;
	--inv-foot-muted: rgba(242, 242, 242, .58);
	--inv-foot-border: rgba(255, 255, 255, .07);
	--inv-foot-maxw: 1280px;
}

.inv-footer-wrap {
	position: relative;
	background:
		radial-gradient(120% 140% at 15% 0%, rgba(212, 39, 46, .14) 0%, rgba(212, 39, 46, 0) 45%),
		radial-gradient(90% 120% at 90% 10%, rgba(212, 39, 46, .08) 0%, rgba(212, 39, 46, 0) 40%),
		linear-gradient(180deg, var(--inv-foot-surface) 0%, var(--inv-foot-surface-2) 100%);
	color: var(--inv-foot-text);
	font-size: 14px;
	line-height: 1.6;
	overflow: hidden;
}
/* Glowing red hairline across the very top. */
.inv-footer-wrap::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg,
		transparent 0%,
		var(--inv-foot-accent) 25%,
		var(--inv-foot-accent-2) 50%,
		var(--inv-foot-accent) 75%,
		transparent 100%);
	box-shadow: 0 0 18px rgba(212, 39, 46, .55);
}

/* --- Top grid: brand column + 3 link columns --- */
.inv-footer-inner {
	position: relative;
	z-index: 1;
	max-width: var(--inv-foot-maxw);
	margin: 0 auto;
	padding: 56px 20px 40px;
	display: grid;
	grid-template-columns: 1.7fr 1fr 1fr 1fr;
	gap: 44px;
}

.inv-footer-col {
	min-width: 0;
}

/* --- Brand column --- */
.inv-footer-logo {
	font-size: 26px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin: 0 0 6px;
	color: #fff;
	text-shadow: 0 0 24px rgba(212, 39, 46, .45);
}
.inv-footer-logo::after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	margin-top: 12px;
	background: linear-gradient(90deg, var(--inv-foot-accent), var(--inv-foot-accent-2));
	border-radius: 3px;
}
.inv-footer-hours {
	color: var(--inv-foot-muted);
	margin: 16px 0 18px;
}
.inv-footer-contacts {
	list-style: none;
	margin: 0;
	padding: 0;
}
.inv-footer-contacts li {
	position: relative;
	margin: 0 0 12px;
	padding-left: 26px;
}
/* Icon dots before each contact line. */
.inv-footer-contacts li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .35em;
	width: 14px;
	height: 14px;
	background: var(--inv-foot-accent);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}
/* address pin */
.inv-footer-contacts li.inv-contact--address::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
}
/* phone */
.inv-footer-contacts li.inv-contact--phone::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.3 1l-2.2 2.2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.3 1l-2.2 2.2z'/%3E%3C/svg%3E");
}
/* email */
.inv-footer-contacts li.inv-contact--email::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}
.inv-footer-contacts a {
	color: var(--inv-foot-text);
	text-decoration: none;
	transition: color .15s ease;
}
.inv-footer-contacts a:hover {
	color: var(--inv-foot-accent-2);
}

/* --- Link column headings --- */
.inv-footer-heading {
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .6px;
	margin: 0 0 20px;
	padding-bottom: 10px;
	position: relative;
	color: #fff;
}
.inv-footer-heading::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 34px;
	height: 2px;
	background: linear-gradient(90deg, var(--inv-foot-accent), var(--inv-foot-accent-2));
	border-radius: 2px;
}

/* --- Link lists --- */
.inv-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}
.inv-footer-links li {
	margin: 0 0 11px;
}
.inv-footer-links a {
	position: relative;
	display: inline-block;
	color: var(--inv-foot-muted);
	text-decoration: none;
	padding-left: 0;
	transition: color .18s ease, padding-left .18s ease;
}
/* Sliding red arrow on hover. */
.inv-footer-links a::before {
	content: "\203A";
	position: absolute;
	left: -12px;
	color: var(--inv-foot-accent-2);
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity .18s ease, transform .18s ease;
}
.inv-footer-links a:hover {
	color: #fff;
	padding-left: 14px;
}
.inv-footer-links a:hover::before {
	opacity: 1;
	transform: translateX(0);
}

/* --- Social column: turn the plain links into round buttons --- */
.inv-footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.inv-footer-social li {
	margin: 0;
}
.inv-footer-social a.inv-social {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	border: 1px solid var(--inv-foot-border);
	border-radius: 40px;
	background: rgba(255, 255, 255, .03);
	color: var(--inv-foot-text);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: background .18s ease, border-color .18s ease, transform .18s ease, color .18s ease;
}
.inv-footer-social a.inv-social::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
}
.inv-social--fb::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 12a10 10 0 1 0-11.6 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.4v7A10 10 0 0 0 22 12z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 12a10 10 0 1 0-11.6 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.4v7A10 10 0 0 0 22 12z'/%3E%3C/svg%3E");
}
.inv-social--ig::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.2c3.2 0 3.6 0 4.9.1 1.2.1 1.8.3 2.2.4.6.2 1 .5 1.4.9.4.4.7.8.9 1.4.2.4.4 1 .4 2.2.1 1.3.1 1.7.1 4.9s0 3.6-.1 4.9c-.1 1.2-.3 1.8-.4 2.2-.2.6-.5 1-.9 1.4-.4.4-.8.7-1.4.9-.4.2-1 .4-2.2.4-1.3.1-1.7.1-4.9.1s-3.6 0-4.9-.1c-1.2-.1-1.8-.3-2.2-.4-.6-.2-1-.5-1.4-.9-.4-.4-.7-.8-.9-1.4-.2-.4-.4-1-.4-2.2C2.2 15.6 2.2 15.2 2.2 12s0-3.6.1-4.9c.1-1.2.3-1.8.4-2.2.2-.6.5-1 .9-1.4.4-.4.8-.7 1.4-.9.4-.2 1-.4 2.2-.4C8.4 2.2 8.8 2.2 12 2.2zm0 3.1A6.7 6.7 0 1 0 12 18.7 6.7 6.7 0 0 0 12 5.3zm0 11a4.3 4.3 0 1 1 0-8.6 4.3 4.3 0 0 1 0 8.6zm6.9-11.3a1.6 1.6 0 1 1-3.2 0 1.6 1.6 0 0 1 3.2 0z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.2c3.2 0 3.6 0 4.9.1 1.2.1 1.8.3 2.2.4.6.2 1 .5 1.4.9.4.4.7.8.9 1.4.2.4.4 1 .4 2.2.1 1.3.1 1.7.1 4.9s0 3.6-.1 4.9c-.1 1.2-.3 1.8-.4 2.2-.2.6-.5 1-.9 1.4-.4.4-.8.7-1.4.9-.4.2-1 .4-2.2.4-1.3.1-1.7.1-4.9.1s-3.6 0-4.9-.1c-1.2-.1-1.8-.3-2.2-.4-.6-.2-1-.5-1.4-.9-.4-.4-.7-.8-.9-1.4-.2-.4-.4-1-.4-2.2C2.2 15.6 2.2 15.2 2.2 12s0-3.6.1-4.9c.1-1.2.3-1.8.4-2.2.2-.6.5-1 .9-1.4.4-.4.8-.7 1.4-.9.4-.2 1-.4 2.2-.4C8.4 2.2 8.8 2.2 12 2.2zm0 3.1A6.7 6.7 0 1 0 12 18.7 6.7 6.7 0 0 0 12 5.3zm0 11a4.3 4.3 0 1 1 0-8.6 4.3 4.3 0 0 1 0 8.6zm6.9-11.3a1.6 1.6 0 1 1-3.2 0 1.6 1.6 0 0 1 3.2 0z'/%3E%3C/svg%3E");
}
.inv-social--tt::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.6 5.8a4.3 4.3 0 0 1-1-2.8h-3v12.2a2.5 2.5 0 1 1-2.5-2.5c.3 0 .5 0 .7.1V9.7a5.6 5.6 0 0 0-.7-.1 5.5 5.5 0 1 0 5.5 5.5V9.4a7.3 7.3 0 0 0 4.3 1.4V7.8a4.3 4.3 0 0 1-3.3-2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.6 5.8a4.3 4.3 0 0 1-1-2.8h-3v12.2a2.5 2.5 0 1 1-2.5-2.5c.3 0 .5 0 .7.1V9.7a5.6 5.6 0 0 0-.7-.1 5.5 5.5 0 1 0 5.5 5.5V9.4a7.3 7.3 0 0 0 4.3 1.4V7.8a4.3 4.3 0 0 1-3.3-2z'/%3E%3C/svg%3E");
}
.inv-footer-social a.inv-social:hover {
	background: var(--inv-foot-accent);
	border-color: var(--inv-foot-accent);
	color: #fff;
	transform: translateY(-2px);
}

/* --- Bottom bar: copyright + payment icons --- */
.inv-footer-bottom {
	position: relative;
	z-index: 1;
	background: rgba(0, 0, 0, .35);
	border-top: 1px solid var(--inv-foot-border);
}
.inv-footer-bottom-inner {
	max-width: var(--inv-foot-maxw);
	margin: 0 auto;
	padding: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}
.inv-footer-bottom-inner small {
	color: var(--inv-foot-muted);
	font-size: 13px;
}
.inv-footer-bottom-inner img {
	height: 24px;
	width: auto;
	max-width: 100%;
	opacity: .85;
	filter: grayscale(.2);
	transition: opacity .2s ease, filter .2s ease;
}
.inv-footer-bottom-inner img:hover {
	opacity: 1;
	filter: grayscale(0);
}

/* -------------------------------------------------------------------------
 * Responsive
 * ---------------------------------------------------------------------- */
@media (max-width: 1024px) {
	.inv-footer-inner {
		grid-template-columns: 1fr 1fr;
		gap: 34px;
	}
	.inv-footer-col--brand {
		grid-column: 1 / -1;
	}
}
@media (max-width: 560px) {
	.inv-footer-inner {
		grid-template-columns: 1fr;
		padding: 40px 20px 30px;
	}
	.inv-footer-bottom-inner {
		flex-direction: column;
		text-align: center;
	}
}
