/*
 * Aviso de cookies (Real Cookie Banner) no visual da loja.
 * Cores, fonte, tamanhos, bordas e botões vêm das opções do plugin (scripts/prod/cookies.sh). Aqui só o que o
 * plugin não oferece: caixa alta como .cv-btn/.cv-eyebrow, foco do site, movimento reduzido e, abaixo de 1024px,
 * a barra inferior do tema (.cv-bottombar) escondida enquanto o aviso está aberto.
 * O plugin troca os nomes de classe a cada instalação (proteção contra bloqueador de anúncio): os seletores usam
 * só o <dialog data-nosnippet> dele e atributos ARIA, que não mudam. Ele também zera o estilo de tudo dentro do
 * aviso com um seletor de id sorteado a cada página ("#id *"), por isso as poucas regras abaixo usam !important.
 */

body.cv dialog[data-nosnippet] [role="heading"] {
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
}

body.cv dialog[data-nosnippet] a[role="button"] {
	min-height: 48px !important;
	text-underline-offset: 3px !important;
	transition: background-color .2s, color .2s, border-color .2s !important;
}

body.cv dialog[data-nosnippet] a[role="button"] > span {
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
}

body.cv dialog[data-nosnippet] a:focus-visible {
	outline: 2px solid var(--cv-vermelho) !important;
	outline-offset: 2px !important;
}

/*
 * Abaixo de 1024px a barra inferior (.cv-bottombar) some enquanto o aviso está aberto: o plugin calcula a altura
 * máxima da caixa pela altura da tela inteira, então qualquer recuo empurrava o título (ou o link da política)
 * para fora da tela em 320px. Sem suporte a :has(), a caixa sobe acima da barra como antes.
 */
@media (max-width: 1023px) {
	body.cv:has(dialog[data-nosnippet][open]) .cv-bottombar { display: none; }
	body.cv dialog[data-nosnippet] { padding-bottom: env(safe-area-inset-bottom) !important; }

	@supports not selector(:has(*)) {
		body.cv dialog[data-nosnippet] {
			padding-bottom: calc(var(--cv-bottombar-h) + env(safe-area-inset-bottom)) !important;
		}
	}
}

@media (prefers-reduced-motion: reduce) {
	body.cv dialog[data-nosnippet] .animate__animated {
		animation: none !important;
	}
}
