/* ==========================================================================
   Egittosì — Footer & floating WhatsApp button
   Deep Nile navy with a gold hairline and a faint warm glow.
   ========================================================================== */

.site-footer {
	position: relative;
	padding-block: clamp(4rem, 2.5rem + 5vw, 7rem) var(--space-6);
	background: var(--c-nile-950);
	color: rgba(255, 255, 255, 0.78);
	overflow: hidden;
	isolation: isolate;
}

.site-footer::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	block-size: 1px;
	background: linear-gradient(90deg, transparent, var(--c-gold-500) 20%, var(--c-gold-500) 80%, transparent);
	opacity: 0.7;
}

.site-footer__glow {
	position: absolute;
	inset: -40% -10% auto auto;
	z-index: -1;
	inline-size: 60vw;
	block-size: 60vw;
	max-inline-size: 900px;
	max-block-size: 900px;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(201, 161, 90, 0.14), transparent);
	pointer-events: none;
}

.site-footer a {
	color: rgba(255, 255, 255, 0.86);
	text-decoration: none;
}

.site-footer a:hover {
	color: var(--c-gold-300);
	text-decoration: none;
}

.site-footer__top {
	display: grid;
	gap: var(--space-8);
}

@media (min-width: 1024px) {
	.site-footer__top {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 2.1fr);
		gap: var(--space-9);
	}
}

.site-footer__logo {
	display: inline-flex;
}

.site-footer .logo__stacked {
	inline-size: 10.5rem;
	block-size: auto;
}

.site-footer__tagline {
	margin: var(--space-5) 0 var(--space-3);
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-style: italic;
	line-height: 1.3;
	color: var(--c-gold-300);
}

.site-footer__text {
	margin: 0 0 var(--space-5);
	max-inline-size: 26rem;
	font-size: var(--fs-small);
	line-height: 1.7;
}

.site-footer__columns {
	display: grid;
	gap: var(--space-7) var(--space-6);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 768px) {
	.site-footer__columns {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.site-footer__contact {
	grid-column: 1 / -1;
}

@media (min-width: 768px) {
	.site-footer__contact {
		grid-column: auto;
	}
}

.site-footer__heading {
	margin: 0 0 var(--space-4);
	font-family: var(--font-sans);
	font-size: var(--fs-eyebrow);
	font-weight: var(--fw-medium);
	letter-spacing: var(--tracking-eyebrow);
	text-transform: uppercase;
	color: var(--c-gold-400);
}

.footer-links {
	display: grid;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--fs-small);
}

.footer-links a {
	display: inline-block;
	transition: transform var(--dur-ui) var(--ease-out), color var(--dur-ui) var(--ease-out);
}

.footer-links a:hover {
	transform: translateX(3px);
}

.site-footer .contact-row__icon {
	inline-size: 2.25rem;
	block-size: 2.25rem;
	border-color: rgba(201, 161, 90, 0.4);
	color: var(--c-gold-400);
}

.site-footer .contact-row__value {
	color: rgba(255, 255, 255, 0.86);
	font-size: var(--fs-small);
}

.site-footer .contact-row__body {
	padding-block-start: 0.4rem;
}

.site-footer__contact-list {
	gap: var(--space-3);
}

.site-footer__contact-fallback {
	margin: 0;
}

/* Band: deposit + platforms + language */
.site-footer__band {
	display: grid;
	gap: var(--space-6);
	align-items: center;
	margin-block-start: var(--space-8);
	padding-block: var(--space-6);
	border-block: 1px solid rgba(255, 255, 255, 0.1);
}

@media (min-width: 1024px) {
	.site-footer__band {
		grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr) auto;
	}
}

.site-footer__payment {
	display: flex;
	align-items: flex-start;
	gap: var(--space-4);
}

.site-footer__payment-icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	border-radius: 50%;
	background: rgba(201, 161, 90, 0.14);
	color: var(--c-gold-400);
}

.site-footer__payment-title {
	margin: 0 0 var(--space-1);
	color: var(--c-white);
	font-weight: var(--fw-medium);
}

.site-footer__payment-text {
	margin: 0;
	font-size: var(--fs-small);
	line-height: 1.55;
}

.platforms--footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-3) var(--space-5);
}

.platforms--footer .platforms__label {
	margin: 0;
	font-size: var(--fs-eyebrow);
	letter-spacing: var(--tracking-eyebrow);
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}

.platforms--footer .platforms__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3) var(--space-5);
}

.platforms--footer .platforms__link {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
}

.platforms--footer .platforms__wordmark {
	font-size: 1.25rem;
}

.site-footer__lang .lang-switcher {
	color: var(--c-white);
}

.site-footer__lang .lang-switcher__icon {
	color: var(--c-gold-400);
}

/* Legal row */
.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	padding-block-start: var(--space-6);
	font-size: var(--fs-xs);
	color: rgba(255, 255, 255, 0.55);
}

.site-footer__copyright {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-1) var(--space-4);
	margin: 0;
}

.footer-legal__links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2) var(--space-5);
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__tricolor {
	flex-basis: 100%;
	inline-size: 3rem;
	max-inline-size: 3rem;
}

@media (min-width: 768px) {
	.site-footer__tricolor {
		flex-basis: auto;
	}
}

/* ---------------------------------------------------------------------------
   Floating WhatsApp button (mobile)
   ------------------------------------------------------------------------ */
.wa-float {
	position: fixed;
	inset: auto 1rem calc(1rem + env(safe-area-inset-bottom, 0px)) auto;
	z-index: var(--z-sticky);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 3.25rem;
	block-size: 3.25rem;
	border-radius: 50%;
	background: var(--c-whatsapp);
	color: var(--c-white);
	box-shadow: 0 12px 28px -12px rgba(18, 140, 75, 0.7);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px) scale(0.92);
	transition:
		opacity var(--dur-ui) var(--ease-out),
		transform var(--dur-ui) var(--ease-out),
		visibility 0s linear var(--dur-ui);
}

.wa-float:hover {
	color: var(--c-white);
	background: var(--c-whatsapp-hover);
}

.wa-float.is-visible,
.no-js .wa-float {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition-delay: 0s;
}

@media (min-width: 1024px) {
	.wa-float {
		inset-inline-end: 1.5rem;
		inset-block-end: 1.5rem;
	}
}
