/* ==========================================================================
   Site Footer
   ========================================================================== */

.site-footer {
	position: relative;
	background: linear-gradient(180deg, #2a1306 0%, #1a0902 100%);
	color: var(--color-cream);
	padding-top: var(--section-padding-mobile);
	padding-bottom: 0;
	overflow: hidden;
}

.site-footer::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(233, 230, 225, 0.28), transparent);
}

.site-footer::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at top left, rgba(190, 98, 44, 0.12), transparent 26%);
	pointer-events: none;
}

.site-footer__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--grid-gap-lg);
	padding-bottom: var(--section-padding-mobile);
	position: relative;
	z-index: 1;
}

.site-footer__heading {
	font-family: var(--font-heading);
	font-size: var(--text-h5);
	font-weight: var(--font-weight-regular);
	letter-spacing: 0;
	text-transform: none;
	color: var(--color-cream);
	margin-bottom: var(--sp-20);
}

/* Logo column */
.site-footer__logo {
	color: var(--color-white);
	text-decoration: none;
	display: inline-block;
	transition: color var(--transition-smooth), transform var(--transition-smooth);
}

.site-footer__logo:hover {
	color: var(--color-cream);
	transform: translateY(-1px);
}

/* Logo image */
.site-footer__logo-img {
	display: block;
	width: 200px;
	height: auto;
	opacity: 0.92;
	transition: opacity var(--transition-smooth);
}

.site-footer__logo:hover .site-footer__logo-img {
	opacity: 1;
}

/* Address */
.site-footer__address {
	font-style: normal;
	line-height: var(--lh-body);
	margin-top: var(--sp-20);
	color: rgba(233, 230, 225, 0.9);
}

.site-footer__acknowledgement {
	font-size: var(--text-sm);
	line-height: var(--lh-body);
	color: rgba(233, 230, 225, 0.9);
	max-width: 32rem;
}

/* Contact */
.site-footer__detail {
	margin-bottom: var(--sp-8);
}

.site-footer__detail a {
	color: var(--color-cream);
	text-decoration: none;
	transition: color var(--transition-smooth), opacity var(--transition-smooth);
}

.site-footer__detail a:hover {
	color: var(--color-white);
}

/* Social links */
.site-footer__social {
	display: flex;
	flex-direction: column;
	gap: var(--sp-8);
	margin-top: var(--sp-20);
}

.site-footer__social-link {
	display: inline;
	color: var(--color-cream);
	text-decoration: none;
	font-size: var(--text-base);
	transition: color var(--transition-smooth), opacity var(--transition-smooth);
}

.site-footer__social-link:hover {
	color: var(--color-white);
}

/* Footer bottom */
.site-footer__bottom {
	border-top: 1px solid rgba(233, 230, 225, 0.2);
	padding: var(--sp-24) 0;
	position: relative;
	z-index: 1;
}

.site-footer__copyright {
	font-size: var(--text-sm);
	margin: 0;
	opacity: 0.64;
}

.site-footer__separator {
	margin: 0 var(--sp-8);
}

.site-footer__privacy-link {
	color: inherit;
	text-decoration: none;
	transition: opacity var(--transition-smooth);
}

.site-footer__privacy-link:hover {
	opacity: 0.8;
}

/* Responsive */
@media (min-width: 768px) {
	.site-footer__inner {
		grid-template-columns: 1fr 1fr 1fr;
	}

	.site-footer {
		padding-top: var(--sp-80);
	}
}
