/* Victor Site Shell — native global footer. */
body.victor-shell-native-footer-enabled footer.elementor-location-footer {
	display: none !important;
}

/* Hello's built-in Footer is independent of the Elementor Theme Builder location. */
body.victor-shell-native-footer-enabled footer.site-footer.dynamic-footer:not( .victor-shell-footer ) {
	display: none !important;
}

.victor-shell-footer {
	--victor-footer-ink: var( --victor-ink, #1f2329 );
	--victor-footer-muted: var( --victor-text-muted, #6f747d );
	--victor-footer-line: rgba( 31, 35, 41, .1 );
	--victor-footer-action: var( --victor-action, #155eef );
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	border-block-start: 1px solid var( --victor-footer-line );
	background: var( --victor-surface-elevated );
	color: var( --victor-footer-ink );
	font-family: var( --victor-font-family, Peyda, Arial, sans-serif );
	text-align: start;
}

/* Continue the native homepage surface without carrying its section track into the Footer. */
body:has( .victor-home-v2-preview ) .victor-shell-footer {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		linear-gradient( 112deg, rgb( 255 255 255 / 74% ) 0%, rgb( 255 255 255 / 18% ) 24%, rgb( 21 94 239 / 7% ) 49%, rgb( 255 255 255 / 14% ) 73%, rgb( 255 255 255 / 70% ) 100% ),
		linear-gradient( 180deg, #fbfdff 0%, #f3f8ff 9%, #e9f2ff 20%, #e5efff 31%, #f7faff 43%, #eaf3ff 56%, #f9fcff 69%, #e4efff 84%, #edf5ff 93%, #fbfdff 100% );
}

body:has( .victor-home-v2-preview ) .victor-shell-footer::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		linear-gradient( 92deg, transparent 0 8%, rgb( 255 255 255 / 34% ) 31%, transparent 58% ),
		linear-gradient( 266deg, transparent 0 12%, rgb( 21 94 239 / 4% ) 45%, transparent 78% );
	content: '';
	pointer-events: none;
}

.victor-shell-footer *,
.victor-shell-footer *::before,
.victor-shell-footer *::after {
	box-sizing: border-box;
}

.victor-shell-footer__inner {
	display: grid;
	grid-template-columns: minmax( 210px, 1.1fr ) minmax( 0, 2.5fr ) minmax( 150px, .7fr );
	gap: clamp( 32px, 5vw, 76px );
	align-items: start;
	width: min( 100% - 48px, 1200px );
	margin-inline: auto;
	padding-block: clamp( 44px, 6vw, 76px );
}

.victor-shell-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var( --victor-space-6 );
}

.victor-shell-footer__logo {
	display: inline-flex;
	align-items: center;
	min-height: 50px;
	color: var( --victor-footer-ink );
	text-decoration: none;
}

.victor-shell-footer__logo-image {
	display: block;
	width: clamp( 184px, 16vw, 210px );
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.victor-shell-footer__wordmark {
	font-size: 27px;
	font-weight: var( --victor-font-weight-extrabold );
	letter-spacing: .16em;
}

.victor-shell-footer__brand > p {
	max-width: 250px;
	margin: 0;
	color: var( --victor-footer-muted );
	font-size: 13px;
	font-weight: var( --victor-font-weight-regular );
	line-height: 1.9;
}

.victor-shell-footer__socials {
	display: flex;
	gap: var( --victor-space-4 );
	align-items: center;
}

.victor-shell-footer__socials a {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid var( --victor-footer-line );
	border-radius: var( --victor-radius-round );
	background: rgba( 255, 255, 255, .58 );
	color: var( --victor-footer-ink );
	transition: border-color var( --victor-motion-fast ) ease, color var( --victor-motion-fast ) ease, transform var( --victor-motion-fast ) ease, background-color var( --victor-motion-fast ) ease;
}

.victor-shell-footer__socials a:hover {
	border-color: var( --victor-footer-action );
	background: var( --victor-surface-elevated );
	color: var( --victor-footer-action );
	transform: translateY( -2px );
}

.victor-shell-footer__socials svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.victor-shell-footer__navigation--desktop {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: clamp( 24px, 4vw, 58px );
}

.victor-shell-footer__navigation section,
.victor-shell-footer__navigation details {
	margin: 0;
	padding: 0;
}

.victor-shell-footer__navigation h2,
.victor-shell-footer__navigation summary {
	margin: 0 0 18px;
	color: var( --victor-footer-ink );
	font-size: 15px;
	font-weight: var( --victor-font-weight-bold );
	line-height: 1.6;
}

.victor-shell-footer__menu {
	display: flex;
	flex-direction: column;
	gap: 9px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.victor-shell-footer__menu li {
	margin: 0;
	padding: 0;
}

.victor-shell-footer__menu a {
	display: inline-flex;
	padding-block: 3px;
	color: var( --victor-footer-muted );
	font-size: var( --victor-type-body-small-size );
	font-weight: var( --victor-font-weight-regular );
	line-height: 1.65;
	text-decoration: none;
	transition: color var( --victor-motion-fast ) ease, transform var( --victor-motion-fast ) ease;
}

.victor-shell-footer__menu a:hover {
	color: var( --victor-footer-action );
	transform: translateX( -2px );
}

.victor-shell-footer a:focus {
	outline: none;
}

.victor-shell-footer a:focus-visible,
.victor-shell-footer summary:focus-visible {
	border-radius: 7px;
	outline: 2px solid var( --victor-footer-action );
	outline-offset: 3px;
}

.victor-shell-footer__trust {
	display: flex;
	justify-content: flex-end;
}

.victor-shell-footer__trust a {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 9px 14px;
	border: 1px solid var( --victor-footer-line );
	border-radius: var( --victor-radius-pill );
	background: rgba( 255, 255, 255, .58 );
	color: var( --victor-footer-muted );
	font-size: 12px;
	font-weight: var( --victor-font-weight-medium );
	line-height: 1.6;
	text-align: center;
	text-decoration: none;
	transition: border-color var( --victor-motion-fast ) ease, color var( --victor-motion-fast ) ease, background-color var( --victor-motion-fast ) ease;
}

.victor-shell-footer__trust a:hover {
	border-color: var( --victor-footer-action );
	background: var( --victor-surface-elevated );
	color: var( --victor-footer-action );
}

.victor-shell-footer__navigation--mobile {
	display: none;
}

.victor-shell-footer__legal {
	border-block-start: 1px solid var( --victor-footer-line );
}

.victor-shell-footer__legal p {
	width: min( 100% - 48px, 1200px );
	margin: 0 auto;
	padding-block: 18px;
	color: var( --victor-footer-muted );
	font-size: 11px;
	font-weight: var( --victor-font-weight-regular );
	line-height: 1.8;
	text-align: center;
}

@media ( max-width: 900px ) {
	.victor-shell-footer__inner {
		grid-template-columns: 1fr 2fr;
	}

	.victor-shell-footer__trust {
		grid-column: 1 / -1;
		justify-content: flex-start;
	}

}

@media ( max-width: 768px ) {
	.victor-shell-footer {
		padding-block-end: calc( 88px + env( safe-area-inset-bottom ) );
	}

	.victor-shell-footer__inner {
		display: flex;
		flex-direction: column;
		gap: 28px;
		width: min( 100% - 32px, 560px );
		padding-block: 38px 30px;
	}

	.victor-shell-footer__brand {
		align-items: center;
		width: 100%;
		text-align: center;
	}

	.victor-shell-footer__brand > p {
		max-width: 310px;
	}

	.victor-shell-footer__navigation--desktop {
		display: none;
	}

	.victor-shell-footer__navigation--mobile {
		display: block;
		width: 100%;
		border-block: 1px solid var( --victor-footer-line );
	}

	.victor-shell-footer__navigation details {
		border-block-end: 1px solid var( --victor-footer-line );
	}

	.victor-shell-footer__navigation details:last-child {
		border-block-end: 0;
	}

	.victor-shell-footer__navigation summary {
		position: relative;
		margin: 0;
		padding: 16px 2px;
		cursor: pointer;
		list-style: none;
	}

	.victor-shell-footer__navigation summary::-webkit-details-marker {
		display: none;
	}

	.victor-shell-footer__navigation summary::after {
		position: absolute;
		inset-inline-end: 4px;
		top: 50%;
		width: 8px;
		height: 8px;
		border-inline-end: 1.5px solid currentColor;
		border-block-end: 1.5px solid currentColor;
		content: '';
		transform: translateY( -65% ) rotate( 45deg );
		transition: transform var( --victor-motion-fast ) ease;
	}

	.victor-shell-footer__navigation details[open] summary::after {
		transform: translateY( -25% ) rotate( 225deg );
	}

	.victor-shell-footer__navigation .victor-shell-footer__menu {
		gap: 5px;
		padding-block: 0 17px;
	}

	.victor-shell-footer__navigation .victor-shell-footer__menu a {
		display: flex;
		min-height: 42px;
		align-items: center;
		font-size: 14px;
	}

	.victor-shell-footer__trust {
		width: 100%;
		justify-content: center;
	}

	.victor-shell-footer__legal p {
		width: min( 100% - 32px, 560px );
		padding-block: 16px;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.victor-shell-footer *,
	.victor-shell-footer *::before,
	.victor-shell-footer *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
