.degmen-footer {
	box-sizing: border-box;
	inline-size: 100%;
	min-inline-size: 0;
	margin: 0;
	background: var(--degmen-primary-pressed, #0b1422);
	box-shadow: 0 0 0 100vmax var(--degmen-primary-pressed, #0b1422);
	clip-path: inset(0 -100vmax);
	color: #fff;
	container-name: degmen-footer;
	container-type: inline-size;
	font-family: inherit;
	text-align: start;
}

.degmen-footer *,
.degmen-footer *::before,
.degmen-footer *::after {
	box-sizing: border-box;
}

.degmen-footer__inner {
	inline-size: min(100%, 76rem);
	max-inline-size: 100%;
	min-inline-size: 0;
	margin-inline: auto;
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 4vw, 2rem) 1.25rem;
}

.degmen-footer__main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, auto) minmax(0, 1fr);
	align-items: center;
	inline-size: 100%;
	max-inline-size: 100%;
	min-inline-size: 0;
	gap: clamp(1.25rem, 3vw, 3rem);
}

.degmen-footer__brand {
	grid-column: 1;
	max-inline-size: 100%;
	min-inline-size: 0;
	justify-self: start;
}

.degmen-footer__logo-link {
	display: inline-flex;
	align-items: center;
	max-inline-size: min(100%, 15rem);
	border-radius: 0.25rem;
	color: #fff;
	text-decoration: none;
}

.degmen-footer__logo {
	display: block;
	inline-size: auto;
	max-inline-size: min(100%, 15rem);
	block-size: auto;
	max-block-size: 5rem;
	object-fit: contain;
}

.degmen-footer__wordmark {
	color: #fff;
	font-size: clamp(1.55rem, 2vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
}

.degmen-footer__wordmark::after {
	display: inline-block;
	inline-size: 0.35em;
	block-size: 0.35em;
	margin-inline-start: 0.16em;
	border-radius: 50%;
	background: var(--degmen-accent, #c8942f);
	content: "";
}

.degmen-footer__description {
	max-inline-size: 29rem;
	overflow-wrap: anywhere;
	margin: 1rem 0 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.95rem;
	line-height: 1.7;
}

.degmen-footer__social {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	grid-column: 2;
	max-inline-size: 100%;
	min-inline-size: 0;
	gap: 0.65rem;
	justify-self: center;
}

.degmen-footer__social-link {
	display: inline-flex;
	flex: 0 0 2.75rem;
	align-items: center;
	justify-content: center;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	border: 1px solid var(--degmen-accent, #c8942f);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.04);
	color: #fff;
	text-decoration: none;
	transition: none;
}

.degmen-footer__social-link:hover {
	border-color: var(--degmen-accent, #c8942f);
	background: var(--degmen-accent, #c8942f);
	color: var(--degmen-primary-pressed, #0b1422);
}

.degmen-footer__social-link:focus-visible,
.degmen-footer__logo-link:focus-visible,
.degmen-footer__legal a:focus-visible {
	outline: 3px solid var(--degmen-accent, #c8942f);
	outline-offset: 4px;
}

.degmen-footer__social-link svg {
	inline-size: 1.2rem;
	block-size: 1.2rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.degmen-footer__social-link .degmen-footer__icon-fill {
	fill: currentColor;
	stroke: none;
}

.degmen-footer__legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	grid-column: 3;
	max-inline-size: 100%;
	min-inline-size: 0;
	gap: 0.65rem 1.35rem;
	justify-self: end;
}

/* Keep Degmen-owned footer navigation visible inside the OnOrder app shell. */
body.oow-app-shell .degmen-footer .degmen-footer__social,
body.oow-app-shell .degmen-footer .degmen-footer__legal {
	display: flex !important;
}

.degmen-footer__legal a {
	max-inline-size: 100%;
	border-radius: 0.2rem;
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.5;
	overflow-wrap: anywhere;
	text-decoration: none;
}

.degmen-footer__legal a:hover {
	color: var(--degmen-accent, #c8942f);
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.degmen-footer__bottom {
	margin-block-start: clamp(1.75rem, 4vw, 2.75rem);
	padding-block-start: 1.1rem;
	border-block-start: 1px solid rgba(255, 255, 255, 0.13);
}

.degmen-footer__bottom p {
	margin: 0;
	color: rgba(255, 255, 255, 0.58);
	font-size: 0.82rem;
	line-height: 1.6;
	text-align: center;
}

@container degmen-footer (max-width: 52rem) {
	.degmen-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem;
	}

	.degmen-footer__brand {
		grid-column: 1 / -1;
		justify-self: center;
		text-align: center;
	}

	.degmen-footer__description {
		max-inline-size: 34rem;
	}

	.degmen-footer__social {
		grid-column: 1;
		justify-self: start;
	}

	.degmen-footer__legal {
		grid-column: 2;
		gap: 0.5rem 1rem;
	}
}

@container degmen-footer (max-width: 36rem) {
	.degmen-footer__inner {
		padding-block-start: 2.5rem;
	}

	.degmen-footer__main {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.5rem;
	}

	.degmen-footer__brand,
	.degmen-footer__social,
	.degmen-footer__legal {
		grid-column: 1;
		justify-self: center;
	}

	.degmen-footer__brand {
		text-align: center;
	}

	.degmen-footer__description {
		max-inline-size: 34rem;
	}

	.degmen-footer__legal {
		justify-content: center;
	}
}

@container degmen-footer (max-width: 30rem) {
	.degmen-footer__inner {
		padding-inline: 1rem;
	}

	.degmen-footer__legal {
		flex-direction: column;
		align-items: center;
	}
}

/* Viewport fallbacks keep the footer usable where container queries are unavailable. */
@supports not (container-type: inline-size) {
	@media (max-width: 52rem) {
		.degmen-footer__main {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 1.5rem;
		}

		.degmen-footer__brand {
			grid-column: 1 / -1;
			justify-self: center;
			text-align: center;
		}

		.degmen-footer__social {
			grid-column: 1;
			justify-self: start;
		}

		.degmen-footer__legal {
			grid-column: 2;
		}
	}

	@media (max-width: 36rem) {
		.degmen-footer__main {
			grid-template-columns: minmax(0, 1fr);
		}

		.degmen-footer__brand,
		.degmen-footer__social,
		.degmen-footer__legal {
			grid-column: 1;
			justify-self: center;
		}

		.degmen-footer__brand {
			text-align: center;
		}

		.degmen-footer__legal {
			justify-content: center;
		}
	}

	@media (max-width: 30rem) {
		.degmen-footer__legal {
			flex-direction: column;
			align-items: center;
		}
	}
}

@media (forced-colors: active) {
	.degmen-footer__social-link {
		border: 1px solid currentColor;
	}
}
