/**
 * OGC NewFinity — footer.
 * Tokens: style.css (:root). Prefix: .ogc-
 */

.ogc-footer {
	/* Lighter glass — starfield stays visibly present */
	background: rgba(10, 10, 10, 0.35);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	margin-top: auto;
}

@media (max-width: 599px) {
	.ogc-footer {
		backdrop-filter: blur(7px);
		-webkit-backdrop-filter: blur(7px);
	}
}

/* Keep copy readable over brighter starfield patches without raising opacity */
.ogc-footer__about,
.ogc-footer__heading,
.ogc-footer__contact-item,
.ogc-footer__wordmark,
.ogc-footer__copyright p {
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.65);
}

.ogc-footer__links a,
.ogc-footer__contact a,
.ogc-social__link {
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
}

.ogc-footer__main {
	max-width: var(--ogc-container);
	margin: 0 auto;
	padding: 3rem 1.25rem 2.5rem;
}

.ogc-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.25rem;
}

.ogc-footer__brand-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.ogc-footer__logo .ogc-logo__img {
	width: 54px;
	height: 52px;
	object-fit: contain;
}

.ogc-footer__wordmark {
	margin: 0;
	font-family: var(--ogc-font-heading);
	font-style: normal;
	font-size: 1.25rem;
	line-height: 1.2;
	font-weight: 700;
}

.ogc-footer__wordmark-ogc {
	color: var(--ogc-text-primary);
}

.ogc-footer__wordmark-new {
	color: var(--ogc-link-color);
}

.ogc-footer__about {
	margin: 0 0 1.25rem;
	font-family: var(--ogc-font-body);
	font-size: 0.9rem;
	line-height: 1.65;
	color: var(--ogc-text-primary);
	max-width: 34ch;
}

.ogc-footer__heading {
	margin: 0 0 1rem;
	font-family: var(--ogc-font-heading);
	font-size: 0.8rem;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ogc-text-primary);
}

.ogc-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.ogc-footer__links a {
	font-family: var(--ogc-font-body);
	font-size: 0.9rem;
	color: var(--ogc-link-color);
	transition: color 0.15s ease;
}

.ogc-footer__links a:hover,
.ogc-footer__links a:focus-visible {
	color: var(--ogc-link-hover);
}

.ogc-footer__contact {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.ogc-footer__contact-item {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-family: var(--ogc-font-body);
	font-size: 0.9rem;
	color: var(--ogc-text-primary);
}

.ogc-footer__contact-icon {
	display: inline-flex;
	color: var(--ogc-link-color);
	flex-shrink: 0;
	margin-top: 0.15rem;
}

.ogc-footer__contact a {
	color: var(--ogc-link-color);
	transition: color 0.15s ease;
	word-break: break-word;
}

.ogc-footer__contact a:hover,
.ogc-footer__contact a:focus-visible {
	color: var(--ogc-link-hover);
}

/* Social icons — embossed circular chips */
.ogc-social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ogc-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid rgba(var(--ogc-brand-rgb), 0.5);
	color: var(--ogc-link-color);
	background: linear-gradient(145deg, #1a1a1a, #0d0d0d);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.08),
		0 2px 6px rgba(0, 0, 0, 0.4);
	transition:
		box-shadow 0.2s ease,
		transform 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		background 0.2s ease;
}

.ogc-social__link:hover,
.ogc-social__link:focus-visible {
	color: var(--ogc-link-hover);
	border-color: rgba(var(--ogc-brand-hover-rgb), 0.9);
	background: linear-gradient(145deg, #1f1f1f, #101010);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.1),
		0 4px 12px rgba(0, 0, 0, 0.55),
		0 0 10px rgba(var(--ogc-brand-hover-rgb), 0.22);
	transform: translateY(-1px);
}

.ogc-social__link svg {
	display: block;
	width: 16px;
	height: 16px;
	filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.4));
}

.ogc-social__link:hover svg,
.ogc-social__link:focus-visible svg {
	filter: drop-shadow(0 0 4px rgba(var(--ogc-brand-hover-rgb), 0.5));
}

.ogc-footer__copyright {
	text-align: center;
	padding: 1rem 1.25rem 1.35rem;
	background-color: transparent;
}

.ogc-footer__copyright p {
	margin: 0;
	font-family: var(--ogc-font-body);
	font-size: 0.8rem;
	color: var(--ogc-text-primary);
	opacity: 0.75;
}

@media (min-width: 640px) {
	.ogc-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 992px) {
	.ogc-footer__grid {
		grid-template-columns: 1.4fr 1fr 1fr 1fr;
		gap: 2rem;
	}

	.ogc-footer__main {
		padding: 3.5rem 1.5rem 3rem;
	}
}
