/* Shared footer for the homepage and Halloween gallery. */
.site-footer {
	--font-body: Inter, sans-serif;
	--font-display: "Gemunu Libre", sans-serif;
	--color-cyan: #ff912e;
	font-family: var(--font-display);
	background: #0b080e;
	border-top: 0.12vh solid #d5b0e021;
}

.site-footer .container {
	width: min(150vh, 94vw);
	margin-inline: auto;
	padding-inline: 3vh;
}

.site-footer .social-links {
	display: flex;
	align-items: center;
	gap: 1vh;
}

.site-footer .social-link {
	display: flex;
	color: #ffffffb8;
	font-size: 2.8vh;
	opacity: 0.7;
	text-decoration: none;
	transition: color 0.25s ease, opacity 0.25s ease;
}

.site-footer .social-link:hover { color: #ff912e; opacity: 1; }
.site-footer iconify-icon { flex: 0 0 auto; }
.site-footer :is(a, button):focus-visible { outline: 0.25vh solid #ff912e; outline-offset: 0.6vh; }

.site-footer .footer-home-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.8vh;
	min-height: 4.8vh;
	margin-top: 2vh;
	padding: 1.2vh 1.8vh;
	border: 0.12vh solid #ff912e66;
	border-radius: 0.7vh;
	background: #ff912e14;
	color: #fff5e9;
	font-family: var(--font-body);
	font-size: 1.3vh;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	transition: background 0.25s ease, transform 0.25s ease;
}

.site-footer .footer-home-link:hover { background: #ff912e29; transform: translateY(-0.2vh); }
/* Footer */
.site-footer {
	position: relative;
	z-index: 1;
	padding: 7.2vh 0 8.4vh;
	scroll-snap-align: end;
}

.site-footer__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 4.8vh;
}

.site-footer__legal {
	display: flex;
	align-items: flex-start;
	gap: 2vh;
}

.site-footer__legal img {
	width: auto;
	height: 5.6vh;
	flex: 0 0 auto;
	opacity: 0.55;
}

.site-footer__legal p {
	max-width: 40vh;
	margin: 0;
	color: rgba(255, 255, 255, 0.34);
	font-family: var(--font-body);
	font-size: 1.3vh;
	font-weight: 600;
	line-height: 1.6;
}

.site-footer__legal small {
	display: block;
	margin-top: 0.8vh;
	color: rgba(255, 255, 255, 0.22);
	font-family: var(--font-body);
	font-size: 1.1vh;
}

.site-footer__social {
	min-width: 32vh;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-self: end;
}

.site-footer__social h2 {
	width: 100%;
	padding-bottom: 1vh;
	color: rgba(255, 255, 255, 0.28);
	font-family: var(--font-body);
	font-size: 2vh;
	font-style: italic;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-align: right;
	text-transform: uppercase;
	margin: 0;
}

.site-footer__social .social-links {
	justify-content: flex-end;
}

@media (max-width: 900px) {
	.site-footer__inner { grid-template-columns: 1fr; }
	.site-footer__social { min-width: 0; align-items: flex-start; justify-self: start; margin-left: 5.6vh; }
	.site-footer__social h2 { text-align: left; }
	.site-footer__social .social-links { justify-content: flex-start; }
}

@media (max-width: 560px) {
	.site-footer .container { width: 100%; padding-inline: 3.4vh; }
	.site-footer__legal { gap: 1.4vh; }
}

@media (prefers-reduced-motion: reduce) {
	.site-footer *, .site-footer *::before, .site-footer *::after { animation: none !important; transition: none !important; }
}

