/*
 * /diagnostico/ — "Qual EZbrew combina com você?"
 *
 * As cores e as fontes da marca (cobre, azul-marinho, Exo 2 e Diavlo), com
 * uma pergunta por tela. As respostas são botões grandes: no celular é um
 * polegar só, sem mirar.
 */

.dg {
	--dg-cobre-texto: var(--ez-cobre-texto, #A65628);
	--dg-cobre-fundo: var(--ez-cobre, #CA7441);
	--dg-azul: var(--ez-azul, #203954);
	--dg-creme: var(--ez-creme, #F5F3EF);
	--dg-borda: #e3ddd3;
	--dg-texto: #1a2b3b;
	--dg-texto-2: #5a6472;
	background: var(--dg-creme);
	color: var(--dg-texto);
	font-family: var(--ez-exo, "Exo 2", sans-serif);
}

.dg [hidden] {
	display: none !important;
}

.dg-tela {
	padding: clamp(40px, 7vw, 88px) 20px;
}

.dg-caixa {
	max-width: 760px;
	margin: 0 auto;
}

.dg-caixa--larga {
	max-width: 1080px;
}

.dg-olho {
	margin: 0 0 10px;
	color: var(--dg-cobre-texto);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.dg-titulo {
	margin: 0;
	font-family: var(--ez-diavlo, "Exo 2", sans-serif);
	font-size: clamp(30px, 5vw, 48px);
	font-weight: 700;
	line-height: 1.1;
	color: var(--dg-azul);
}

.dg-titulo:focus {
	outline: none;
}

.dg-sub {
	max-width: 620px;
	margin: 16px 0 0;
	color: var(--dg-texto-2);
	font-size: 18px;
	line-height: 1.55;
}

/* --- abertura ----------------------------------------------------------- */

.dg-abertura {
	text-align: center;
}

.dg-abertura .dg-sub {
	margin-inline: auto;
}

.dg-fatos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 24px;
	margin: 28px 0 32px;
	padding: 0;
	list-style: none;
	color: var(--dg-texto-2);
	font-size: 15px;
}

.dg-fatos li::before {
	content: "✓ ";
	color: var(--dg-cobre-texto);
	font-weight: 700;
}

.dg-vitrine__olho {
	margin: 44px 0 10px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--dg-texto-2);
}

/*
 * Nomes, e não fotos.
 *
 * A S30 e a S50 são a mesma máquina por fora, e as duas miniaturas lado a
 * lado pareciam erro de página. A foto volta no resultado, onde aparece um
 * equipamento por vez.
 */
.dg-vitrine {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	max-width: 620px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.dg-vitrine li {
	padding: 8px 16px;
	border: 1px solid rgba(32, 57, 84, .14);
	border-radius: 999px;
	background: #fff;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--dg-azul);
}

/* --- botões -------------------------------------------------------------- */

.dg-botao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 28px;
	border: 2px solid var(--dg-cobre-fundo);
	border-radius: 999px;
	background: var(--dg-cobre-fundo);
	color: #fff;
	font: 700 15px/1.2 var(--ez-exo, "Exo 2", sans-serif);
	text-decoration: none;
	cursor: pointer;
	transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.dg-botao:hover,
.dg-botao:focus-visible {
	border-color: #b0612f;
	background: #b0612f;
	color: #fff;
	transform: translateY(-1px);
}

.dg-botao:focus-visible,
.dg-resposta:focus-visible,
.dg-voltar:focus-visible,
.dg-refazer:focus-visible {
	outline: 3px solid var(--dg-azul);
	outline-offset: 3px;
}

.dg-botao--grande {
	padding: 18px 40px;
	font-size: 17px;
}

.dg-botao--vazado {
	background: transparent;
	color: var(--dg-cobre-texto);
}

.dg-botao--vazado:hover,
.dg-botao--vazado:focus-visible {
	background: var(--dg-cobre-fundo);
	color: #fff;
}

.dg-botao--largo {
	width: 100%;
}

.dg-botao:disabled {
	opacity: .6;
	cursor: default;
	transform: none;
}

/* --- pergunta ------------------------------------------------------------ */

.dg-progresso {
	margin-bottom: 32px;
}

.dg-progresso__barra {
	height: 6px;
	overflow: hidden;
	border-radius: 999px;
	background: #e6dfd4;
}

.dg-progresso__barra span {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: var(--dg-cobre-fundo);
	transition: width .35s ease;
}

.dg-progresso__texto {
	margin: 10px 0 0;
	color: var(--dg-texto-2);
	font-size: 13px;
	font-weight: 600;
}

.dg-pergunta__titulo {
	margin: 0;
	font-family: var(--ez-diavlo, "Exo 2", sans-serif);
	font-size: clamp(24px, 4vw, 34px);
	line-height: 1.2;
	color: var(--dg-azul);
}

.dg-pergunta__titulo:focus {
	outline: none;
}

.dg-pergunta__ajuda {
	margin: 10px 0 28px;
	color: var(--dg-texto-2);
	font-size: 16px;
	line-height: 1.5;
}

.dg-respostas {
	display: grid;
	gap: 12px;
}

.dg-resposta {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 18px 20px;
	border: 2px solid var(--dg-borda);
	border-radius: 14px;
	background: #fff;
	color: var(--dg-texto);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
	animation: dg-entra .3s ease both;
}

.dg-resposta:hover {
	border-color: var(--dg-cobre-fundo);
	box-shadow: 0 6px 18px rgba(26, 43, 59, .08);
	transform: translateY(-1px);
}

.dg-resposta.is-escolhida {
	border-color: var(--dg-cobre-fundo);
	background: #fbf3ec;
}

.dg-resposta__marca {
	display: grid;
	place-items: center;
	flex: none;
	width: 22px;
	height: 22px;
	border: 2px solid #cfc6b8;
	border-radius: 50%;
}

.dg-resposta.is-escolhida .dg-resposta__marca {
	border-color: var(--dg-cobre-fundo);
	background: var(--dg-cobre-fundo);
	box-shadow: inset 0 0 0 4px #fff;
}

.dg-resposta__texto {
	display: grid;
	gap: 2px;
}

.dg-resposta__texto strong {
	font-size: 17px;
	font-weight: 600;
}

.dg-resposta__texto small {
	color: var(--dg-texto-2);
	font-size: 14px;
}

.dg-voltar {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 28px;
	padding: 8px 4px;
	border: 0;
	background: none;
	color: var(--dg-texto-2);
	font: 600 14px var(--ez-exo, "Exo 2", sans-serif);
	cursor: pointer;
}

.dg-voltar:hover {
	color: var(--dg-azul);
}

@keyframes dg-entra {
	from { opacity: 0; transform: translateY(6px); }
}

@media (prefers-reduced-motion: reduce) {
	.dg-resposta,
	.dg-progresso__barra span {
		animation: none;
		transition: none;
	}
}

/* --- resultado ----------------------------------------------------------- */

.dg-resultado .dg-titulo {
	margin-bottom: 28px;
}

.dg-vencedor {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	align-items: center;
	gap: 32px;
	padding: clamp(20px, 4vw, 40px);
	border-radius: 22px;
	background: var(--dg-azul);
	color: #fff;
}

.dg-vencedor__foto {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	border-radius: 16px;
	background: #fff;
}

.dg-vencedor__foto img {
	width: 88%;
	height: 88%;
	object-fit: contain;
}

.dg-selo {
	display: inline-block;
	margin: 0 0 12px;
	padding: 6px 14px;
	border-radius: 999px;
	background: var(--dg-cobre-fundo);
	font-size: 14px;
	font-weight: 700;
}

.dg-vencedor__nome {
	margin: 0;
	font-family: var(--ez-diavlo, "Exo 2", sans-serif);
	font-size: clamp(30px, 4.5vw, 46px);
	line-height: 1.05;
	color: var(--ez-bege, #E8D5B7);
}

.dg-vencedor__resumo {
	margin: 14px 0 24px;
	color: #d7dde5;
	font-size: 17px;
	line-height: 1.55;
}

.dg-acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.dg-vencedor .dg-botao--vazado {
	border-color: rgba(255, 255, 255, .5);
	color: #fff;
}

.dg-vencedor .dg-botao--vazado:hover {
	border-color: #fff;
	background: #fff;
	color: var(--dg-azul);
}

.dg-duas {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 24px;
	margin-top: 24px;
}

.dg-lead,
.dg-outros {
	padding: clamp(20px, 3vw, 32px);
	border-radius: 18px;
	background: #fff;
}

.dg-lead h3,
.dg-outros h3 {
	margin: 0 0 6px;
	font-size: 20px;
	color: var(--dg-azul);
}

.dg-lead > p {
	margin: 0 0 18px;
	color: var(--dg-texto-2);
	font-size: 15px;
	line-height: 1.5;
}

.dg-campo {
	display: grid;
	gap: 6px;
	margin-bottom: 14px;
	font-size: 14px;
	font-weight: 600;
}

.dg-campo input {
	padding: 13px 14px;
	border: 1.5px solid #d8d1c5;
	border-radius: 10px;
	font: 400 16px var(--ez-exo, "Exo 2", sans-serif);
	color: var(--dg-texto);
}

.dg-campo input:focus {
	outline: none;
	border-color: var(--dg-cobre-fundo);
	box-shadow: 0 0 0 3px rgba(202, 116, 65, .18);
}

.dg-isca {
	position: absolute;
	left: -9999px;
}

.dg-lead__recado {
	min-height: 1.4em;
	margin: 12px 0 0;
	font-size: 15px;
	font-weight: 600;
}

.dg-lead__recado.is-ok {
	color: #1f7a45;
}

.dg-lead__recado.is-erro {
	color: #b3261e;
}

.dg-lead__lgpd {
	margin: 8px 0 0;
	color: var(--dg-texto-2);
	font-size: 12px;
	line-height: 1.5;
}

.dg-ranking {
	display: grid;
	gap: 14px;
	margin: 18px 0 24px;
	padding: 0;
	list-style: none;
}

.dg-ranking li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 6px 12px;
	font-size: 15px;
}

.dg-ranking strong {
	font-weight: 600;
}

.dg-ranking li.is-primeiro strong {
	color: var(--dg-cobre-texto);
}

.dg-ranking__barra {
	grid-column: 1 / -1;
	height: 8px;
	overflow: hidden;
	border-radius: 999px;
	background: #efe9df;
}

.dg-ranking__barra span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #b9c3cf;
	transition: width .6s ease;
}

.dg-ranking li.is-primeiro .dg-ranking__barra span {
	background: var(--dg-cobre-fundo);
}

.dg-ranking a {
	color: inherit;
}

.dg-respondido {
	border-top: 1px solid #efe9df;
	padding-top: 14px;
}

.dg-respondido summary {
	color: var(--dg-azul);
	font-weight: 600;
	cursor: pointer;
}

.dg-respondido dl {
	display: grid;
	gap: 10px;
	margin: 14px 0 0;
	font-size: 14px;
}

.dg-respondido dt {
	color: var(--dg-texto-2);
}

.dg-respondido dd {
	margin: 0;
	font-weight: 600;
}

.dg-refazer {
	margin-top: 20px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--dg-cobre-texto);
	font: 600 14px var(--ez-exo, "Exo 2", sans-serif);
	text-decoration: underline;
	cursor: pointer;
}

.dg-aviso {
	margin: 24px 0 16px;
	color: var(--dg-texto-2);
}

@media (max-width: 820px) {
	.dg-vencedor,
	.dg-duas {
		grid-template-columns: minmax(0, 1fr);
	}

	.dg-vencedor__foto {
		max-width: 320px;
		width: 100%;
		margin: 0 auto;
	}

	.dg-acoes .dg-botao {
		flex: 1 1 100%;
	}
}
