/*
 * t33 Footer — dark navy sitewide footer
 * Handle: t33-footer (dep: t33-theme)
 * Out-specifies parent .site-footer rules (style.css ~1145-1250).
 */

/* ---- Footer shell ------------------------------------------------------ */
/* .site-footer.t33-footer (0,2,1) beats parent .site-footer (0,1,1) */
.site-footer.t33-footer {
	position: relative;
	overflow: hidden;
	margin-top: 80px;
	background:
		radial-gradient(800px 400px at 90% 0%, rgba(108, 91, 123, .25), transparent 60%),
		linear-gradient(160deg, var(--t33-navy-2), var(--t33-navy-1));
	padding: 64px 0 28px;
	color: rgba(232, 238, 252, .72);
	font-family: inherit;
	text-align: left;
}

/* Parent: .single:not(.has-related-posts) .site-footer { margin-top: 35px; }
   has higher specificity than the base rule above — counter it. */
.single:not(.has-related-posts) .site-footer.t33-footer {
	margin-top: 80px;
}

/* Homepage seam: mission band above is already dark — merge the two bands. */
body.t33-home .site-footer.t33-footer {
	margin-top: 0;
	border-top: 1px solid rgba(255, 255, 255, .08);
}

/* Star layer (markup/animation from t33-theme) — soften it here */
.t33-footer .t33-stars {
	opacity: .5;
}

/* ---- Grid -------------------------------------------------------------- */
.t33-footer-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1fr;
	gap: 40px;
	text-align: left;
}

/* ---- Brand column ------------------------------------------------------ */
.t33-footer .t33-footer-logo {
	font-size: 1.5rem;
	font-weight: 900;
	color: #fff;
	text-decoration: none;
	letter-spacing: -0.02em;
}

.t33-footer-mission {
	color: rgba(232, 238, 252, .65);
	font-size: .92rem;
	line-height: 1.65;
	margin-top: 12px;
	margin-bottom: 0;
	max-width: 320px;
}

/* ---- Link columns ------------------------------------------------------ */
/* Scoped to defeat parent h2 sizing inside the footer */
.t33-footer h2.t33-footer-heading {
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--t33-cyan);
	margin: 4px 0 16px;
	line-height: 1.4;
}

.t33-footer .t33-footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.t33-footer .t33-footer-col li {
	margin: 0;
	padding: 0;
}

.t33-footer .t33-footer-col a {
	color: rgba(232, 238, 252, .72);
	font-size: .95rem;
	font-weight: 600;
	text-decoration: none;
	transition: color .2s ease;
}

.t33-footer .t33-footer-col a:hover,
.t33-footer .t33-footer-col a:focus {
	color: var(--t33-cyan);
}

/* ---- Bottom bar -------------------------------------------------------- */
.t33-footer-bottom {
	position: relative;
	z-index: 2;
	margin-top: 48px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	color: rgba(232, 238, 252, .5);
	font-size: .85rem;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
}

/* ---- Back-to-top restyle ------------------------------------------------ */
/* Parent .goto-top handles fixed positioning + visibility — only restyle
   colors, size and shape here. */
.goto-top.backtotop {
	width: 46px;
	height: 46px;
	background: linear-gradient(120deg, #0a90ae, #2bc8e8);
	color: #fff;
	box-shadow: 0 10px 24px rgba(10, 144, 174, .4);
}

.goto-top.backtotop:hover {
	color: #fff;
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(10, 144, 174, .5);
}

@media (prefers-reduced-motion: reduce) {
	.goto-top.backtotop,
	.goto-top.backtotop:hover {
		transform: none;
		transition: none;
	}
	.t33-footer .t33-footer-col a {
		transition: none;
	}
}

/* ---- Responsive -------------------------------------------------------- */
@media (max-width: 900px) {
	.t33-footer-grid {
		grid-template-columns: 1fr 1fr;
	}
	.t33-footer-brand {
		grid-column: span 2;
	}
}

@media (max-width: 560px) {
	.site-footer.t33-footer {
		padding: 48px 0 24px;
	}
	.t33-footer-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.t33-footer-brand {
		grid-column: auto;
	}
}
