/* footer.css — 5-column grid, 7-logo compliance row, disclaimer strip, bottom bar. */

.footer {
	background: var(--c-surface);
	border-top: 2px solid var(--c-accent);
	color: var(--c-text-dim);
	font-size: 0.875rem;
	padding-top: var(--s-64);
	margin-top: var(--s-128);
}

.footer__inner {
	max-width: var(--max-w);
	margin: 0 auto;
	padding: 0 var(--s-24);
}

@media (min-width: 768px) {
	.footer__inner {
		padding: 0 var(--s-32);
	}
}

/* ----- 5 columns ----- */

.footer__cols {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s-48);
	padding-bottom: var(--s-64);
}

@media (min-width: 768px) {
	.footer__cols {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 1024px) {
	.footer__cols {
		grid-template-columns: 1.4fr 1fr 1fr 1fr 1.2fr;
	}
}

.footer__col h4 {
	font-family: var(--f-body);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--c-accent-sec);
	margin-bottom: var(--s-24);
}

.footer__col ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--s-8);
}

.footer__col li a {
	color: var(--c-text-dim);
	text-decoration: none;
	transition: color var(--dur) var(--ease);
	font-size: 0.875rem;
}

.footer__col li a:hover,
.footer__col li a:focus-visible {
	color: var(--c-accent);
}

/* Brand column */
.footer__brand-wordmark {
	font-family: var(--f-heading);
	font-style: italic;
	font-weight: 500;
	font-size: 1.375rem;
	color: var(--c-text);
	display: inline-block;
	margin-bottom: var(--s-8);
}

.footer__brand-wordmark .ph {
	color: var(--c-accent);
}

.footer__tagline {
	font-family: var(--f-body);
	font-size: 0.6875rem;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--c-accent-sec);
	margin-bottom: var(--s-24);
}

.footer__brand-contact p {
	margin-bottom: var(--s-4);
	color: var(--c-text-dim);
}

.footer__brand-contact a {
	color: var(--c-text);
	text-decoration: none;
}

.footer__brand-contact a:hover {
	color: var(--c-accent);
}

.footer__brand-legal {
	margin-top: var(--s-16);
	font-size: 0.75rem;
	color: var(--c-text-dim);
}

.footer__brand-legal p {
	margin-bottom: var(--s-4);
}

/* ----- Compliance column ----- */

.footer__compliance-col {
	display: flex;
	flex-direction: column;
	gap: var(--s-16);
}

.footer__compliance-logos {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s-16) var(--s-20, 20px);
	align-items: center;
}

.footer__compliance-logos img {
	height: 32px;
	width: auto;
	display: block;
	max-width: 80px;
	object-fit: contain;
}

.footer__compliance-logos .compliance-logo {
	display: inline-block;
	line-height: 0;
}

.footer__age-plus {
	width: 40px;
	height: 40px;
	border: 1.5px solid var(--c-accent);
	border-radius: var(--r-sm);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--f-heading);
	font-weight: 600;
	font-size: 0.75rem;
	color: var(--c-text);
	text-decoration: none;
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}

.footer__age-plus:hover,
.footer__age-plus:focus-visible {
	background: var(--c-accent);
	color: var(--c-white);
}

/* Text-badge fallback for logos not yet sourced (TTT, GAMSTOP). */
.text-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--s-8) var(--s-12);
	border: 1px solid var(--c-accent);
	border-radius: var(--r-sm);
	font-family: var(--f-body);
	font-weight: 600;
	font-size: 0.6875rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--c-text);
	line-height: 1;
	background: transparent;
	text-decoration: none;
	height: 32px;
}

.text-badge:hover,
.text-badge:focus-visible {
	background: var(--c-accent);
	color: var(--c-white);
}

.footer__helpline {
	font-size: 0.8125rem;
	color: var(--c-text);
	margin-top: var(--s-8);
}

.footer__helpline strong {
	color: var(--c-white);
}

/* ----- Disclaimer strip (full-width) ----- */

.footer__disclaimer {
	border-top: 1px solid var(--c-border);
	padding: var(--s-24) var(--s-24);
	text-align: center;
	font-size: 0.75rem;
	color: var(--c-text-dim);
	line-height: 1.6;
}

.footer__disclaimer strong {
	color: var(--c-text);
}

.footer__disclaimer a {
	color: var(--c-accent-sec);
	border-bottom: 1px solid transparent;
	transition: border-color var(--dur) var(--ease);
}

.footer__disclaimer a:hover {
	border-bottom-color: var(--c-accent-sec);
}

/* ----- Bottom bar ----- */

.footer__bottom {
	border-top: 1px solid var(--c-border);
	padding: var(--s-16) var(--s-24);
	text-align: center;
	font-size: 0.6875rem;
	color: var(--c-text-dim);
	opacity: 0.85;
}

.footer__bottom p {
	margin: 0;
}

.footer__cookie-link {
	display: inline-block;
	margin-top: var(--s-4);
	color: var(--c-text-dim);
	border-bottom: 1px dotted var(--c-border);
	cursor: pointer;
	background: transparent;
	font: inherit;
	padding: 0;
}

.footer__cookie-link:hover,
.footer__cookie-link:focus-visible {
	color: var(--c-accent);
	border-bottom-color: var(--c-accent);
}
