/* ══════════════════════════════════════════════════════
   Footer — CoLabs-style: upper 2-col + dark rounded card
   ══════════════════════════════════════════════════════ */

.gm-site-footer {
	--gm-footer-tag-blue: #3B82F6;
	--gm-footer-tag-blue-hover: #2563EB;
	--gm-footer-tag-red: #EA5E5B;
	--gm-footer-tag-red-hover: #d95350;
	--gm-footer-tag-yellow: #FFD700;
	--gm-footer-tag-yellow-hover: #E6C200;

	padding: 0 0 20px;
	background: transparent;
	color: var(--gm-color-ink);
}

/* ═══════════════════════════════════════════
   Playground (physics tags) — inside lower-left
   ═══════════════════════════════════════════ */

.gm-footer-matter {
	width: 100%;
	flex: 1;
	min-height: 420px;
	position: relative;
	overflow: hidden;
	background: var(--gm-color-white);
	box-sizing: border-box;
}

/* Physics tag bars */
.gm-footer-matter__tag {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 26px;
	border-radius: 1rem;
	font-family: var(--gm-font-body);
	font-size: 20px;
	font-weight: 400;
	white-space: nowrap;
	cursor: grab;
	user-select: none;
	transition: box-shadow 0.2s;
}

.gm-footer-matter__tag:active {
	cursor: grabbing;
}

.gm-footer-matter__tag--blue {
	background: var(--gm-footer-tag-blue);
	color: var(--gm-color-white);
}

.gm-footer-matter__tag--red {
	background: var(--gm-footer-tag-red);
	color: var(--gm-color-white);
}

.gm-footer-matter__tag--yellow {
	background: var(--gm-footer-tag-yellow);
	color: var(--gm-color-ink);
}

/* ═══════════════════════════════════════════
   Lower: Dark rounded card (CoLabs-style)
   ═══════════════════════════════════════════ */

.gm-footer-lower {
	background: var(--gm-color-white);
	color: var(--gm-color-ink);
	border-radius: 28px;
	padding: 36px 28px;
	width: var(--gm-shell);
	max-width: 100%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5%;
}

/* Left column: brand statement + credits */
.gm-footer-lower__left {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.gm-footer-lower__statement {
	font-family: 'Manrope', var(--gm-font-body);
	font-size: 25px;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -1.26px;
	color: var(--gm-color-ink);
	margin: 0;
	max-width: 80%;
	position: relative;
	z-index: 2;
	pointer-events: none;
}

/* Right column: info + nav + bottom */
.gm-footer-lower__right {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.gm-footer-lower__info-grid {
	display: grid;
	grid-template-columns: 190px 190px;
	gap: 20px;
}

.gm-footer-lower__info {
	font-family: var(--gm-font-body);
	font-size: 16px;
	line-height: 1.5;
	color: rgba(42, 44, 45, 0.7);
}

.gm-footer-lower__info strong {
	display: block;
	color: var(--gm-color-ink);
	font-weight: 500;
	margin-bottom: 2px;
}

.gm-footer-lower__nav {
	display: grid;
	grid-template-columns: 190px 190px;
	gap: 5px 20px;
}

.gm-footer-lower__nav a {
	font-family: var(--gm-font-body);
	font-size: 16px;
	font-weight: 400;
	color: rgba(42, 44, 45, 0.7);
	text-decoration: none;
	transition: color 0.2s;
}

.gm-footer-lower__nav a:hover {
	color: var(--gm-color-ink);
}

/* Bottom bar inside right column */
.gm-footer-lower__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 60px;
	gap: 20px;
}

.gm-footer-lower__logo {
	height: 24px;
	width: auto;
}

.gm-footer-lower__social {
	display: flex;
	gap: 20px;
	align-items: center;
}

.gm-footer-lower__social a {
	color: var(--gm-color-ink);
	transition: opacity 0.2s;
}

.gm-footer-lower__social a:hover {
	opacity: 0.6;
}

.gm-footer-lower__copy {
	font-family: var(--gm-font-body);
	font-size: 13px;
	color: rgba(42, 44, 45, 0.5);
}

/* ═══════════════════════════════════════════
   Responsive
   ═══════════════════════════════════════════ */

@media (max-width: 989px) {
	.gm-footer-matter {
		min-height: 350px;
	}

	.gm-footer-lower {
		grid-template-columns: 1fr;
		margin: 0 20px;
		gap: 40px;
	}
}

@media (max-width: 639px) {
	.gm-footer-lower {
		margin: 0 12px;
		padding: 30px 20px;
	}

	.gm-footer-lower__info-grid {
		grid-template-columns: 1fr;
	}

	.gm-footer-lower__nav {
		grid-template-columns: 1fr;
	}

	.gm-footer-lower__bottom {
		flex-wrap: wrap;
		gap: 16px;
	}
}
