/*
 * Analytics Track — bandeau de consentement cookies.
 * S'affiche sur le site public, aux couleurs de la marque.
 */
.at-cc, .at-cc * { box-sizing: border-box; }
.at-cc {
	--cc-bg: #25282a;
	--cc-ink: #ffffff;
	--cc-muted: rgba(255,255,255,.62);
	--cc-line: rgba(255,255,255,.14);
	--cc-accent: #e0613f;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Bandeau bas */
.at-cc-bar {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 2147483000;
	background: var(--cc-bg); color: var(--cc-ink);
	border-top: 1px solid var(--cc-line);
	box-shadow: 0 -8px 30px rgba(0,0,0,.35);
	padding: 20px 24px calc(20px + env(safe-area-inset-bottom));
	display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; justify-content: space-between;
}
.at-cc-bar-text { flex: 1 1 420px; min-width: 260px; }
.at-cc-bar-text p { margin: 0 0 8px; font-size: 14px; line-height: 1.5; color: var(--cc-ink); }
.at-cc-bar-text a { color: var(--cc-muted); text-decoration: underline; font-size: 13px; }
.at-cc-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.at-cc-btn {
	border: 0; border-radius: 8px; padding: 11px 18px; font-size: 14px; font-weight: 600;
	cursor: pointer; font-family: inherit; transition: filter .15s ease, opacity .15s ease;
}
.at-cc-btn:hover { filter: brightness(1.08); }
.at-cc-btn.ghost { background: #fff; color: #1d2327; }
.at-cc-btn.reject { background: #c0392b; color: #fff; }
.at-cc-btn.accept { background: #3d7a52; color: #fff; }
.at-cc-btn.primary { background: var(--cc-accent); color: #fff; }

/* Fenetre de preferences */
.at-cc-overlay {
	position: fixed; inset: 0; z-index: 2147483001;
	background: rgba(0,0,0,.55); display: flex; align-items: center; justify-content: center;
	padding: 20px;
}
.at-cc-modal {
	background: var(--cc-bg); color: var(--cc-ink); width: 100%; max-width: 640px;
	max-height: 90vh; overflow-y: auto; border-radius: 14px; border: 1px solid var(--cc-line);
	box-shadow: 0 30px 80px rgba(0,0,0,.55); padding: 26px;
}
.at-cc-modal h2 { margin: 0 0 6px; font-size: 22px; }
.at-cc-modal .at-cc-lead { margin: 0 0 18px; color: var(--cc-muted); font-size: 14px; line-height: 1.5; }
.at-cc-cat { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 16px 0; border-top: 1px solid var(--cc-line); }
.at-cc-cat:first-of-type { border-top: 0; }
.at-cc-cat h3 { margin: 0 0 4px; font-size: 15px; }
.at-cc-cat p { margin: 0; font-size: 13px; color: var(--cc-muted); line-height: 1.45; }

/* Interrupteur */
.at-cc-switch { flex: 0 0 auto; position: relative; width: 46px; height: 26px; }
.at-cc-switch input { opacity: 0; width: 0; height: 0; position: absolute; }
.at-cc-slider { position: absolute; inset: 0; background: rgba(255,255,255,.18); border-radius: 999px; transition: background .2s ease; cursor: pointer; }
.at-cc-slider::before { content: ''; position: absolute; width: 20px; height: 20px; left: 3px; top: 3px; background: #fff; border-radius: 50%; transition: transform .2s ease; }
.at-cc-switch input:checked + .at-cc-slider { background: var(--cc-accent); }
.at-cc-switch input:checked + .at-cc-slider::before { transform: translateX(20px); }
.at-cc-switch input:disabled + .at-cc-slider { opacity: .6; cursor: not-allowed; }

.at-cc-modal-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; justify-content: flex-end; }

/* Onglet de reouverture */
.at-cc-tab {
	position: fixed; left: 16px; bottom: 16px; z-index: 2147482000;
	background: var(--cc-bg); color: var(--cc-ink); border: 1px solid var(--cc-line);
	border-radius: 999px; width: 42px; height: 42px; cursor: pointer;
	display: flex; align-items: center; justify-content: center; font-size: 18px;
	box-shadow: 0 8px 24px rgba(0,0,0,.3);
}
.at-cc-tab:hover { border-color: var(--cc-accent); }

@media (max-width: 700px) {
	.at-cc-bar { padding: 16px; }
	.at-cc-actions { width: 100%; }
	.at-cc-actions .at-cc-btn { flex: 1 1 auto; }
	.at-cc-modal { padding: 20px; }
}
