/**
 * AIFORYA Consent Analytics — bannière frontend.
 * Léger, non intrusif, accessible. Couleur d'accent injectée via --ca-accent.
 */
.aiforya-ca-banner {
	position: fixed;
	z-index: 999999;
	left: 50%;
	transform: translateX( -50% );
	width: min( 960px, calc( 100% - 32px ) );
	background: #ffffff;
	color: #1e293b;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	box-shadow: 0 12px 40px rgba( 15, 23, 42, .18 );
	padding: 20px 22px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.6;
	box-sizing: border-box;
}
.aiforya-ca-banner--bottom { bottom: 16px; }
.aiforya-ca-banner--top { top: 16px; }
.aiforya-ca-banner--center { top: 50%; transform: translate( -50%, -50% ); }
.aiforya-ca-banner[hidden] { display: none; }

.aiforya-ca-banner__title { margin: 0 0 6px; font-size: 17px; font-weight: 700; color: #0f172a; }
.aiforya-ca-banner__msg { margin: 0 0 4px; color: #475569; }

.aiforya-ca-banner__actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 16px;
	justify-content: flex-end;
	align-items: center;
}
.aiforya-ca-btn {
	appearance: none;
	border: 1px solid transparent;
	border-radius: 9px;
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	line-height: 1;
	transition: filter .15s ease, background .15s ease;
}
.aiforya-ca-btn--primary { background: var( --ca-accent, #4f46e5 ); color: #fff; }
.aiforya-ca-btn--primary:hover { filter: brightness( 1.08 ); }
.aiforya-ca-btn--ghost { background: #f1f5f9; color: #334155; border-color: #e2e8f0; }
.aiforya-ca-btn--ghost:hover { background: #e2e8f0; }

.aiforya-ca-banner__prefs { margin-top: 14px; display: flex; flex-direction: column; gap: 10px; }
.aiforya-ca-banner__prefs[hidden] { display: none; }
.aiforya-ca-cat {
	display: flex; align-items: center; justify-content: space-between;
	gap: 12px; padding: 10px 14px; background: #f8fafc;
	border: 1px solid #e2e8f0; border-radius: 9px;
}
.aiforya-ca-cat span { font-weight: 600; color: #334155; }
.aiforya-ca-cat input { width: 18px; height: 18px; accent-color: var( --ca-accent, #4f46e5 ); }
.aiforya-ca-cat--locked { opacity: .7; }
.aiforya-ca-banner__prefs .aiforya-ca-btn { align-self: flex-end; margin-top: 4px; }

@media ( max-width: 600px ) {
	.aiforya-ca-banner { padding: 16px; width: calc( 100% - 16px ); }
	.aiforya-ca-banner__actions { justify-content: stretch; }
	.aiforya-ca-btn { flex: 1; text-align: center; }
}

@media ( prefers-color-scheme: dark ) {
	.aiforya-ca-banner { background: #1e293b; color: #e2e8f0; border-color: #334155; }
	.aiforya-ca-banner__title { color: #f1f5f9; }
	.aiforya-ca-banner__msg { color: #94a3b8; }
	.aiforya-ca-btn--ghost { background: #334155; color: #e2e8f0; border-color: #475569; }
	.aiforya-ca-cat { background: #0f172a; border-color: #334155; }
	.aiforya-ca-cat span { color: #cbd5e1; }
}
