/**
 * Irish Club of Luxembourg · 352 Consent presentation layer
 * Scoped to the consent UI so it cannot affect the site or concurrent theme work.
 */

:root,
#tc-consent-banner {
	--tcc-primary: #123b2a;
	--tcc-primary-hover: #0c2a1d;
	--tcc-secondary: #a94712;
	--tcc-secondary-hover: #87380f;
	--tcc-bg: rgba(246, 242, 233, 0.98);
	--tcc-text: #123b2a;
	--tcc-border: #cfc1aa;
	--tcc-focus: #a94712;
	--tcc-radius: 12px;
	--tcc-shadow: 0 -18px 50px rgba(18, 59, 42, 0.16);
}

#tc-consent-banner {
	border-top: 4px solid #a94712;
	background:
		radial-gradient(circle at 7% -120%, rgba(169, 71, 18, 0.16) 0, transparent 34%),
		linear-gradient(135deg, rgba(246, 242, 233, 0.99), rgba(255, 255, 255, 0.98));
	box-shadow: var(--tcc-shadow);
	color: var(--tcc-text);
}

#tc-consent-banner .tc-consent-banner__container {
	max-width: 1180px;
	padding-block: 22px;
}

#tc-consent-banner .tc-consent-banner__content {
	max-width: 720px;
}

#tc-consent-banner .tc-consent-banner__title {
	font-size: clamp(1.125rem, 1rem + 0.35vw, 1.375rem);
	line-height: 1.2;
	letter-spacing: -0.015em;
}

#tc-consent-banner .tc-consent-banner__description {
	font-size: 0.9375rem;
	line-height: 1.65;
	opacity: 0.82;
}

#tc-consent-banner .tc-consent-banner__actions {
	gap: 10px;
}

#tc-consent-banner .tc-consent-btn {
	min-height: 44px;
	padding: 10px 20px;
	border-radius: 999px;
	font-weight: 700;
	letter-spacing: 0.005em;
}

#tc-consent-banner .tc-consent-btn--primary {
	box-shadow: 0 5px 16px rgba(18, 59, 42, 0.18);
}

#tc-consent-banner .tc-consent-btn--secondary {
	background-color: var(--tcc-secondary);
	border-color: var(--tcc-secondary);
	color: #fff;
}

#tc-consent-banner .tc-consent-btn--tertiary {
	border-color: rgba(18, 59, 42, 0.35);
	color: var(--tcc-primary);
}

#tc-consent-banner .tc-consent-btn--tertiary:hover {
	border-color: var(--tcc-primary);
	background-color: rgba(18, 59, 42, 0.07);
}

#tc-consent-banner .tc-consent-preferences {
	border-top-color: rgba(18, 59, 42, 0.2);
}

#tc-consent-banner .tc-consent-category {
	border-color: rgba(18, 59, 42, 0.12);
	background-color: rgba(255, 255, 255, 0.58);
}

#tc-consent-banner .tc-consent-category:hover {
	background-color: rgba(255, 255, 255, 0.82);
}

#tc-consent-banner .tc-consent-category__always {
	background-color: rgba(18, 59, 42, 0.1);
	color: var(--tcc-primary);
}

#tc-consent-settings-link {
	border-color: rgba(18, 59, 42, 0.28);
	background-color: rgba(246, 242, 233, 0.94);
	box-shadow: 0 6px 20px rgba(18, 59, 42, 0.14);
	color: #123b2a;
}

#tc-consent-settings-link:visited,
#tc-consent-settings-link:hover,
#tc-consent-settings-link:focus,
#tc-consent-settings-link:active {
	color: #123b2a;
}

#tc-consent-settings-link:hover {
	border-color: rgba(18, 59, 42, 0.5);
	background-color: #f6f2e9;
}

@media (max-width: 768px) {
	#tc-consent-banner {
		border-top-width: 3px;
	}

	#tc-consent-banner .tc-consent-banner__container {
		gap: 16px;
		padding: 18px;
	}

	#tc-consent-banner .tc-consent-banner__actions {
		gap: 8px;
	}

	#tc-consent-banner .tc-consent-btn {
		min-height: 46px;
	}
}

@media (prefers-contrast: high) {
	#tc-consent-banner {
		background: #f6f2e9;
		border-top-color: #a94712;
	}

	#tc-consent-banner .tc-consent-btn,
	#tc-consent-settings-link {
		border-width: 2px;
	}
}
