/* =====================================================================
   DigitalRadar — Consentimento de cookies (ANPD/LGPD)
   Banner + modal de preferências + switches.
   ===================================================================== */

.dr-cookie[hidden] { display: none; }

/* ---------- Banner ---------- */
.dr-cookie__banner {
	position: fixed;
	left: clamp(1rem, 3vw, 2rem);
	right: clamp(1rem, 3vw, 2rem);
	bottom: clamp(1rem, 3vw, 2rem);
	z-index: 1000;
	display: flex;
	align-items: center;
	gap: clamp(1rem, 3vw, 2rem);
	flex-wrap: wrap;
	max-width: 1100px;
	margin-inline: auto;
	padding: clamp(1.1rem, 2.5vw, 1.6rem);
	background: rgba(13, 16, 22, .96);
	backdrop-filter: blur(14px);
	border: 1px solid var(--dr-border-neon);
	border-radius: var(--dr-r-lg);
	box-shadow: var(--dr-shadow-lg), var(--dr-glow-sm);
	transform: translateY(140%);
	opacity: 0;
	transition: transform var(--dr-dur-slow) var(--dr-ease-out), opacity var(--dr-dur) var(--dr-ease);
}
.dr-cookie.is-visible .dr-cookie__banner { transform: none; opacity: 1; }
.dr-cookie__text { flex: 1 1 320px; min-width: 0; }
.dr-cookie__text strong {
	display: block;
	font-family: var(--dr-font-head);
	color: var(--dr-heading);
	margin-bottom: .35rem;
}
.dr-cookie__text p { font-size: var(--dr-fs-sm); color: var(--dr-text-dim); margin: 0; }
.dr-cookie__text a { color: var(--dr-neon); text-decoration: underline; text-underline-offset: 2px; }
.dr-cookie__actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.dr-cookie__actions .dr-btn { white-space: nowrap; }

@media (max-width: 600px) {
	.dr-cookie__actions { width: 100%; }
	.dr-cookie__actions .dr-btn { flex: 1 1 auto; min-height: 44px; justify-content: center; }
}

/* ---------- Modal ---------- */
.dr-cookie__modal {
	position: fixed;
	inset: 0;
	z-index: 1001;
	display: grid;
	place-items: center;
	padding: 1.2rem;
	background: rgba(5, 6, 8, .8);
	backdrop-filter: blur(8px);
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--dr-dur) var(--dr-ease), visibility var(--dr-dur);
}
.dr-cookie__modal.is-open { opacity: 1; visibility: visible; }
.dr-cookie__dialog {
	position: relative;
	width: min(560px, 100%);
	max-height: 88vh;
	overflow-y: auto;
	padding: clamp(1.5rem, 4vw, 2.4rem);
	background: var(--dr-surface);
	border: 1px solid var(--dr-border-neon);
	border-radius: var(--dr-r-xl);
	box-shadow: var(--dr-shadow-lg), var(--dr-glow);
	transform: scale(.94);
	transition: transform var(--dr-dur) var(--dr-ease-out);
}
.dr-cookie__modal.is-open .dr-cookie__dialog { transform: none; }
.dr-cookie__close {
	position: absolute; top: .8rem; right: 1rem;
	font-size: 1.8rem; line-height: 1;
	background: none; border: none; color: var(--dr-text-dim); cursor: pointer;
}
.dr-cookie__close:hover { color: var(--dr-neon); }
.dr-cookie__title { font-size: var(--dr-fs-lg); margin-bottom: .5rem; }
.dr-cookie__intro { font-size: var(--dr-fs-sm); color: var(--dr-text-dim); margin-bottom: 1.3rem; }

.dr-cookie__group {
	padding: 1rem 0;
	border-top: 1px solid var(--dr-border);
}
.dr-cookie__group p { font-size: var(--dr-fs-sm); color: var(--dr-text-mute); margin: .4rem 0 0; }
.dr-cookie__group-head {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	cursor: pointer;
}
.dr-cookie__group-name { font-family: var(--dr-font-alt); font-weight: var(--dr-fw-semi); color: var(--dr-heading); }
.dr-cookie__badge {
	font-size: var(--dr-fs-xs); color: var(--dr-neon-2);
	border: 1px solid var(--dr-border-neon); border-radius: var(--dr-r-pill);
	padding: .2rem .6rem;
}
.dr-cookie__modal-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.5rem; }
.dr-cookie__modal-actions .dr-btn { flex: 1 1 auto; justify-content: center; }

/* ---------- Switch ---------- */
.dr-switch { position: relative; display: inline-block; width: 46px; height: 26px; flex: none; }
.dr-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.dr-switch__slider {
	position: absolute; inset: 0;
	background: var(--dr-surface-3);
	border: 1px solid var(--dr-border-2);
	border-radius: var(--dr-r-pill);
	transition: background var(--dr-dur) var(--dr-ease), border-color var(--dr-dur) var(--dr-ease);
}
.dr-switch__slider::before {
	content: "";
	position: absolute; top: 3px; left: 3px;
	width: 18px; height: 18px;
	background: var(--dr-text-dim);
	border-radius: 50%;
	transition: transform var(--dr-dur) var(--dr-ease), background var(--dr-dur) var(--dr-ease);
}
.dr-switch input:checked + .dr-switch__slider {
	background: var(--dr-grad-neon);
	border-color: transparent;
}
.dr-switch input:checked + .dr-switch__slider::before {
	transform: translateX(20px);
	background: var(--dr-on-neon);
}
.dr-switch input:focus-visible + .dr-switch__slider { outline: 2px solid var(--dr-neon); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
	.dr-cookie__banner, .dr-cookie__dialog, .dr-switch__slider::before { transition: none; }
}
