/* =========================================================
   Astraz Motors Theme — Hypercar Showroom Luxury
   Dark mode suave, iluminação focada de galeria privativa.
   ========================================================= */

:root {
	--canvas: #0B0F17;
	--grafite: #111827;
	--grafite-claro: #161F30;
	--linha: rgba(148, 163, 184, .16);
	--neve: #F8FAFC;
	--prata: #94A3B8;
	--crimson: #E11D48;
	--crimson-escuro: #9F1239;
	--ouro: #D4AF37;

	--fonte-titulo: "Bahnschrift", "DIN Alternate", "Eurostile", "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;
	--fonte-texto: "Segoe UI", Inter, -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;

	--raio: 4px;
	--raio-grande: 8px;
	--largura: 1280px;
	--largura-estreita: 860px;
	--transicao: 220ms cubic-bezier(.4, 0, .2, 1);
	--sombra-foco: 0 40px 80px -40px rgba(0, 0, 0, .9);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--canvas);
	color: var(--neve);
	font-family: var(--fonte-texto);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color var(--transicao);
}

button,
input,
select,
textarea {
	font: inherit;
	color: inherit;
}

h1, h2, h3, h4 {
	font-family: var(--fonte-titulo);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -.01em;
	margin: 0 0 .4em;
}

h1 { font-size: clamp(2.4rem, 5.4vw, 4.2rem); }
h2 { font-size: clamp(1.8rem, 3.4vw, 2.75rem); }
h3 { font-size: clamp(1.1rem, 1.8vw, 1.35rem); }

p { margin: 0 0 1.1em; }

ul, ol { margin: 0; padding: 0; list-style: none; }

em { font-style: normal; color: var(--ouro); }

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.pular-conteudo {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	background: var(--crimson);
	color: #fff;
	padding: 12px 20px;
}

.pular-conteudo:focus { left: 12px; top: 12px; }

:focus-visible {
	outline: 2px solid var(--ouro);
	outline-offset: 3px;
}

.container {
	width: min(100% - 40px, var(--largura));
	margin-inline: auto;
}

.container--estreito { width: min(100% - 40px, var(--largura-estreita)); }

.amt-icon {
	width: 20px;
	height: 20px;
	flex: none;
}

.sobretitulo {
	display: inline-block;
	font-family: var(--fonte-titulo);
	font-size: .78rem;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--prata);
	margin-bottom: 14px;
}

.sobretitulo--ouro { color: var(--ouro); }

/* ---------- Botões ---------- */

.botao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 22px;
	border: 1px solid transparent;
	border-radius: var(--raio);
	font-family: var(--fonte-titulo);
	font-size: .92rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background var(--transicao), border-color var(--transicao), color var(--transicao), transform var(--transicao);
	background: none;
}

.botao--primario {
	background: var(--crimson);
	color: #fff;
	box-shadow: 0 18px 40px -22px var(--crimson);
}

.botao--primario:hover { background: var(--crimson-escuro); transform: translateY(-2px); }

.botao--contorno {
	border-color: var(--linha);
	color: var(--neve);
}

.botao--contorno:hover { border-color: var(--ouro); color: var(--ouro); }

.botao--texto {
	padding: 6px 2px;
	color: var(--prata);
	letter-spacing: .1em;
	border-bottom: 1px solid transparent;
}

.botao--texto:hover { color: var(--ouro); border-bottom-color: var(--ouro); }

.botao--grande { padding: 17px 30px; }

.botao--bloco { width: 100%; }

.badge {
	position: absolute;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	font-family: var(--fonte-titulo);
	font-size: .72rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	backdrop-filter: blur(6px);
	border-radius: var(--raio);
}

.badge .amt-icon { width: 14px; height: 14px; }

.badge--ouro {
	top: 16px;
	left: 16px;
	background: rgba(212, 175, 55, .16);
	border: 1px solid rgba(212, 175, 55, .5);
	color: var(--ouro);
	max-width: calc(100% - 32px);
}

.badge--crimson {
	bottom: 16px;
	left: 16px;
	background: rgba(225, 29, 72, .9);
	color: #fff;
}

.badge--inline {
	position: static;
	margin-left: 10px;
}

/* ---------- Cabeçalho ---------- */

.cabecalho {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(11, 15, 23, .72);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid transparent;
	transition: background var(--transicao), border-color var(--transicao);
}

.cabecalho.is-fixo {
	background: rgba(11, 15, 23, .96);
	border-bottom-color: var(--linha);
}

.cabecalho__interno {
	display: flex;
	align-items: center;
	gap: 28px;
	min-height: 82px;
}

.marca { display: inline-flex; align-items: center; }

.marca__texto { display: flex; flex-direction: column; line-height: 1; }

.marca__nome {
	font-family: var(--fonte-titulo);
	font-size: 1.5rem;
	letter-spacing: .34em;
	font-weight: 700;
}

.marca__complemento {
	font-family: var(--fonte-titulo);
	font-size: .56rem;
	letter-spacing: .3em;
	color: var(--prata);
	margin-top: 6px;
}

.marca__logo { height: 40px; width: auto; }

.cabecalho__nav { margin-left: auto; }

.menu-principal {
	display: flex;
	align-items: center;
	gap: 30px;
}

.menu-principal a {
	font-family: var(--fonte-titulo);
	font-size: .82rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--prata);
	padding: 8px 0;
	border-bottom: 1px solid transparent;
}

.menu-principal a:hover,
.menu-principal .current-menu-item > a {
	color: var(--neve);
	border-bottom-color: var(--crimson);
}

.cabecalho__acoes { display: flex; align-items: center; gap: 14px; }

.moeda__select {
	background: transparent;
	border: 1px solid var(--linha);
	border-radius: var(--raio);
	padding: 9px 10px;
	font-family: var(--fonte-titulo);
	font-size: .78rem;
	letter-spacing: .12em;
	color: var(--prata);
	cursor: pointer;
}

.moeda__select option { background: var(--grafite); color: var(--neve); }

.cabecalho__toggle {
	display: none;
	background: none;
	border: 1px solid var(--linha);
	border-radius: var(--raio);
	padding: 10px;
	cursor: pointer;
}

.cabecalho__toggle .icone-fechar { display: none; }
.cabecalho__toggle[aria-expanded="true"] .icone-menu { display: none; }
.cabecalho__toggle[aria-expanded="true"] .icone-fechar { display: block; }

.menu-mobile {
	border-top: 1px solid var(--linha);
	padding: 20px;
	display: grid;
	gap: 14px;
	background: var(--grafite);
}

.menu-mobile__lista { display: grid; gap: 12px; }

.menu-mobile__lista a {
	font-family: var(--fonte-titulo);
	letter-spacing: .14em;
	text-transform: uppercase;
	font-size: .9rem;
	padding: 8px 0;
	border-bottom: 1px solid var(--linha);
	display: block;
}

/* ---------- Hero ---------- */

.hero {
	position: relative;
	padding: clamp(90px, 14vh, 160px) 0 clamp(70px, 10vh, 120px);
	isolation: isolate;
	overflow: hidden;
}

.hero__fundo {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: linear-gradient(180deg, rgba(11, 15, 23, .58) 0%, rgba(11, 15, 23, .86) 55%, var(--canvas) 100%), var(--hero-imagem, none);
	background-size: cover;
	background-position: center;
	background-color: var(--grafite);
}

.hero__fundo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 50% 0%, rgba(212, 175, 55, .12), transparent 62%);
}

.hero__titulo { max-width: 16ch; margin-bottom: 24px; }

.hero__texto {
	max-width: 62ch;
	color: var(--prata);
	font-size: 1.06rem;
	margin-bottom: 38px;
}

.busca-hero {
	display: grid;
	grid-template-columns: 1.2fr 1.2fr .7fr .7fr auto;
	gap: 12px;
	padding: 18px;
	background: rgba(17, 24, 39, .82);
	border: 1px solid var(--linha);
	border-radius: var(--raio-grande);
	backdrop-filter: blur(10px);
	box-shadow: var(--sombra-foco);
}

.busca-hero__campo { display: flex; flex-direction: column; gap: 6px; }

.busca-hero__campo label,
.filtros__campo label,
.campo label {
	font-family: var(--fonte-titulo);
	font-size: .72rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--prata);
}

.busca-hero select,
.busca-hero input,
.filtros select,
.filtros input[type="number"],
.campo input,
.campo select,
.campo textarea {
	width: 100%;
	background: var(--canvas);
	border: 1px solid var(--linha);
	border-radius: var(--raio);
	padding: 12px 13px;
	color: var(--neve);
	transition: border-color var(--transicao);
}

.busca-hero select:focus,
.busca-hero input:focus,
.filtros select:focus,
.filtros input:focus,
.campo input:focus,
.campo select:focus,
.campo textarea:focus { border-color: var(--ouro); outline: none; }

.busca-hero option,
.filtros option,
.campo option { background: var(--grafite); }

.busca-hero__enviar { align-self: end; height: 46px; }

.hero__provas {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	margin-top: 34px;
	color: var(--prata);
	font-size: .9rem;
}

.hero__provas li { display: flex; align-items: center; gap: 10px; }
.hero__provas .amt-icon { color: var(--ouro); }

/* ---------- Seções ---------- */

.secao { padding: clamp(64px, 9vw, 118px) 0; }

.secao--acervo { background: linear-gradient(180deg, var(--canvas), var(--grafite)); }
.secao--importacao { background: var(--grafite); }
.secao--procedencia { background: var(--canvas); }
.secao--catalogo { background: linear-gradient(180deg, var(--canvas), var(--grafite)); }
.secao--build { background: var(--canvas); }
.secao--faq { background: var(--grafite); }
.secao--relacionados { background: var(--grafite); }

.secao__cabecalho { max-width: 68ch; margin-bottom: 48px; }
.secao__texto { color: var(--prata); font-size: 1.02rem; }
.secao__acao { display: flex; justify-content: center; margin-top: 48px; }

.pagina-topo {
	padding: clamp(70px, 10vw, 120px) 0 clamp(30px, 5vw, 56px);
	border-bottom: 1px solid var(--linha);
	background: radial-gradient(ellipse at 20% 0%, rgba(225, 29, 72, .1), transparent 60%), var(--canvas);
}

.pagina-topo--imagem {
	background-image: linear-gradient(180deg, rgba(11, 15, 23, .72), var(--canvas) 92%), var(--topo-imagem, none);
	background-size: cover;
	background-position: center;
}

.pagina-topo__titulo { max-width: 20ch; }
.pagina-topo__texto { max-width: 66ch; color: var(--prata); font-size: 1.04rem; }

/* ---------- Cards de veículo ---------- */

.acervo-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 26px;
}

.card-veiculo {
	position: relative;
	background: var(--grafite-claro);
	border: 1px solid var(--linha);
	border-radius: var(--raio-grande);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform var(--transicao), border-color var(--transicao), box-shadow var(--transicao);
}

.card-veiculo:hover {
	transform: translateY(-6px);
	border-color: rgba(212, 175, 55, .45);
	box-shadow: var(--sombra-foco);
}

.card-veiculo__midia {
	position: relative;
	display: block;
	aspect-ratio: 3 / 2;
	background: var(--grafite);
	overflow: hidden;
}

.card-veiculo__imagem {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms cubic-bezier(.2, .8, .2, 1);
}

.card-veiculo:hover .card-veiculo__imagem { transform: scale(1.06); }

.card-veiculo__corpo {
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	flex: 1;
}

.card-veiculo__marca {
	margin: 0;
	font-family: var(--fonte-titulo);
	font-size: .74rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--ouro);
}

.card-veiculo__titulo { margin: 0; font-size: 1.32rem; }
.card-veiculo__titulo a:hover { color: var(--ouro); }

.card-veiculo__specs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	padding: 16px 0;
	border-top: 1px solid var(--linha);
	border-bottom: 1px solid var(--linha);
}

.card-veiculo__specs li {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: 9px;
	align-items: center;
}

.card-veiculo__specs .amt-icon { grid-row: span 2; width: 18px; height: 18px; color: var(--crimson); }
.spec__valor { font-family: var(--fonte-titulo); font-size: .98rem; }
.spec__nota { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--prata); }

.card-veiculo__rodape {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
}

.card-veiculo__preco {
	margin: 0;
	font-family: var(--fonte-titulo);
	font-size: 1.16rem;
	color: var(--neve);
}

/* ---------- Catálogo e filtros ---------- */

.filtros {
	display: grid;
	gap: 18px;
	padding: 24px;
	margin-bottom: 34px;
	background: var(--grafite-claro);
	border: 1px solid var(--linha);
	border-radius: var(--raio-grande);
}

.filtros__linha {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.filtros__campo { display: flex; flex-direction: column; gap: 7px; }

.filtros__campo--range output {
	font-family: var(--fonte-titulo);
	color: var(--ouro);
}

.filtros input[type="range"] {
	width: 100%;
	accent-color: var(--crimson);
	background: transparent;
}

.filtros__barra {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
	padding-top: 18px;
	border-top: 1px solid var(--linha);
}

.filtros__resultado {
	margin: 0;
	font-family: var(--fonte-titulo);
	letter-spacing: .1em;
	text-transform: uppercase;
	font-size: .84rem;
	color: var(--prata);
}

.filtros__controles { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }

.filtros__ordem select {
	background: var(--canvas);
	border: 1px solid var(--linha);
	border-radius: var(--raio);
	padding: 11px 13px;
	color: var(--neve);
}

.alternador { display: inline-flex; border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }

.alternador__botao {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 15px;
	background: none;
	border: 0;
	cursor: pointer;
	font-family: var(--fonte-titulo);
	font-size: .76rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--prata);
	transition: background var(--transicao), color var(--transicao);
}

.alternador__botao.is-ativo { background: var(--crimson); color: #fff; }

.catalogo__resultados[aria-busy="true"] { opacity: .35; pointer-events: none; transition: opacity var(--transicao); }

.catalogo__carregando {
	display: flex;
	align-items: center;
	gap: 14px;
	justify-content: center;
	padding: 30px 0;
	color: var(--prata);
	font-family: var(--fonte-titulo);
	letter-spacing: .14em;
	text-transform: uppercase;
	font-size: .8rem;
}

.pulso {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--crimson);
	animation: pulso 1s infinite ease-in-out;
}

@keyframes pulso {
	0%, 100% { transform: scale(.7); opacity: .5; }
	50% { transform: scale(1); opacity: 1; }
}

.acervo-vazio {
	text-align: center;
	padding: 70px 20px;
	border: 1px dashed var(--linha);
	border-radius: var(--raio-grande);
	background: var(--grafite-claro);
}

.acervo-vazio__icone { width: 42px; height: 42px; margin: 0 auto 18px; color: var(--ouro); }
.acervo-vazio p { max-width: 56ch; margin: 0 auto 24px; color: var(--prata); }

/* ---------- Tabela de performance ---------- */

.tabela-performance__wrap { overflow-x: auto; border: 1px solid var(--linha); border-radius: var(--raio-grande); }

.tabela-performance { width: 100%; border-collapse: collapse; min-width: 900px; }

.tabela-performance th,
.tabela-performance td {
	padding: 15px 16px;
	text-align: left;
	border-bottom: 1px solid var(--linha);
	font-size: .92rem;
	white-space: nowrap;
}

.tabela-performance thead th {
	background: var(--grafite);
	font-family: var(--fonte-titulo);
	font-size: .74rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--prata);
}

.tabela-performance tbody tr:hover { background: rgba(212, 175, 55, .05); }
.tabela-performance .destaque { color: var(--ouro); font-family: var(--fonte-titulo); }

.link-seta { display: inline-flex; align-items: center; gap: 6px; color: var(--crimson); }
.link-seta:hover { color: var(--ouro); }

/* ---------- Importação / passos ---------- */

.importacao__grid,
.duplo {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}

.duplo--invertido .duplo__texto { order: 2; }
.duplo--invertido .duplo__formulario { order: 1; }

.importacao__midia { margin: 0; position: sticky; top: 110px; }

.importacao__imagem {
	width: 100%;
	border-radius: var(--raio-grande);
	border: 1px solid var(--linha);
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.importacao__midia figcaption {
	margin-top: 12px;
	font-size: .84rem;
	color: var(--prata);
}

.passos { display: grid; gap: 26px; margin-bottom: 38px; }

.passos li {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 18px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--linha);
}

.passos__numero {
	grid-row: span 2;
	font-family: var(--fonte-titulo);
	font-size: 1.5rem;
	color: var(--crimson);
	letter-spacing: .06em;
}

.passos h3 { margin: 0 0 6px; }
.passos p { margin: 0; color: var(--prata); }
.passos--compacto li { padding-bottom: 16px; }

.procedencia__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 22px;
}

.cartao-procedencia,
.grade-icones article {
	padding: 28px 24px;
	background: var(--grafite-claro);
	border: 1px solid var(--linha);
	border-radius: var(--raio-grande);
	transition: border-color var(--transicao), transform var(--transicao);
}

.cartao-procedencia:hover,
.grade-icones article:hover { border-color: rgba(212, 175, 55, .45); transform: translateY(-4px); }

.cartao__icone { width: 30px; height: 30px; color: var(--ouro); margin-bottom: 16px; }

.cartao-procedencia p,
.grade-icones p { margin: 0; color: var(--prata); font-size: .95rem; }

.grade-icones { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }

.faixa-numeros {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 24px;
	margin-top: 56px;
	padding: 38px 30px;
	border-top: 1px solid var(--linha);
	border-bottom: 1px solid var(--linha);
	background: linear-gradient(120deg, rgba(225, 29, 72, .07), transparent 60%);
}

.faixa-numeros__item { text-align: center; }

.faixa-numeros strong {
	display: block;
	font-family: var(--fonte-titulo);
	font-size: clamp(2.2rem, 4vw, 3rem);
	color: var(--ouro);
	line-height: 1;
	margin-bottom: 8px;
}

.faixa-numeros span { font-size: .86rem; color: var(--prata); }

/* ---------- CTA final ---------- */

.secao--cta {
	background:
		radial-gradient(ellipse at 50% 120%, rgba(225, 29, 72, .18), transparent 65%),
		var(--canvas);
	border-top: 1px solid var(--linha);
}

.cta-final { text-align: center; max-width: 720px; margin-inline: auto; }
.cta-final p { color: var(--prata); }
.cta-final__acoes { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-top: 28px; }

/* ---------- Listas de checagem ---------- */

.lista-check { display: grid; gap: 12px; margin-bottom: 28px; }

.lista-check li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 12px;
	align-items: start;
	color: var(--prata);
}

.lista-check .amt-icon { color: var(--crimson); margin-top: 3px; }
.lista-check strong { color: var(--neve); }
.lista-check--grande li { font-size: 1rem; }

.cartao-destaque {
	display: flex;
	gap: 18px;
	padding: 24px;
	background: rgba(212, 175, 55, .07);
	border: 1px solid rgba(212, 175, 55, .32);
	border-radius: var(--raio-grande);
}

.cartao-destaque p { margin: 0; color: var(--prata); }
.cartao-destaque--largo { margin-top: 46px; align-items: center; }
.cartao-destaque--largo h3 { margin-bottom: 6px; }
.cartao-destaque--largo .botao { margin-top: 16px; }

/* ---------- Formulários ---------- */

.formulario {
	padding: 28px;
	background: var(--grafite-claro);
	border: 1px solid var(--linha);
	border-radius: var(--raio-grande);
}

.formulario__cabecalho { margin-bottom: 22px; }
.formulario__titulo { font-size: 1.35rem; margin-bottom: 8px; }
.formulario__texto { margin: 0; color: var(--prata); font-size: .93rem; }

.formulario__campos {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin-bottom: 22px;
}

.campo { display: flex; flex-direction: column; gap: 7px; }
.campo--largo { grid-column: 1 / -1; }
.campo textarea { resize: vertical; min-height: 110px; }

.campo--consentimento .consentimento {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 10px;
	align-items: start;
	font-size: .84rem;
	color: var(--prata);
	text-transform: none;
	letter-spacing: 0;
	font-family: var(--fonte-texto);
}

.consentimento input { accent-color: var(--crimson); width: 18px; height: 18px; margin-top: 2px; }
.consentimento a { color: var(--ouro); text-decoration: underline; }

.campo-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.formulario__aviso {
	margin: 16px 0 0;
	font-size: .9rem;
	min-height: 1px;
}

.formulario__aviso.is-erro { color: #FDA4AF; }
.formulario__aviso.is-sucesso { color: #86EFAC; }

.formulario__rodape {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 18px 0 0;
	font-size: .76rem;
	color: var(--prata);
}

.formulario__rodape .amt-icon { width: 15px; height: 15px; color: var(--ouro); }

.campo input:invalid:not(:placeholder-shown) { border-color: var(--crimson); }

/* ---------- Ficha do veículo ---------- */

.migalhas {
	padding: 20px 0;
	border-bottom: 1px solid var(--linha);
	font-size: .82rem;
	color: var(--prata);
}

.migalhas .container { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.migalhas .amt-icon { width: 14px; height: 14px; }
.migalhas a:hover { color: var(--ouro); }

.ficha__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: clamp(30px, 4vw, 56px);
	padding: clamp(36px, 6vw, 70px) 0;
	align-items: start;
}

.ficha__cabecalho { margin-bottom: 32px; }

.ficha__marca {
	font-family: var(--fonte-titulo);
	font-size: .8rem;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--ouro);
}

.ficha__titulo { font-size: clamp(2rem, 4vw, 3.2rem); }

.ficha__destaques {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 16px;
	margin-top: 26px;
	padding: 20px;
	background: var(--grafite-claro);
	border: 1px solid var(--linha);
	border-radius: var(--raio-grande);
}

.ficha__destaques li { display: grid; justify-items: start; gap: 3px; }
.ficha__destaques .amt-icon { color: var(--crimson); }
.ficha__destaques strong { font-family: var(--fonte-titulo); font-size: 1.16rem; }
.ficha__destaques span { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--prata); }

.galeria { margin-bottom: 40px; }

.galeria__principal { margin: 0; }

.galeria__zoom {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 1px solid var(--linha);
	border-radius: var(--raio-grande);
	overflow: hidden;
	background: var(--grafite);
	cursor: zoom-in;
}

.galeria__imagem { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }

.galeria__lupa {
	position: absolute;
	right: 16px;
	bottom: 16px;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(11, 15, 23, .78);
	border: 1px solid var(--linha);
	color: var(--neve);
}

.galeria__miniaturas {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
	gap: 12px;
	margin-top: 12px;
}

.galeria__miniatura {
	width: 100%;
	padding: 0;
	border: 1px solid var(--linha);
	border-radius: var(--raio);
	overflow: hidden;
	background: none;
	cursor: pointer;
	transition: border-color var(--transicao), opacity var(--transicao);
	opacity: .65;
}

.galeria__miniatura.is-ativa,
.galeria__miniatura:hover { border-color: var(--ouro); opacity: 1; }

.galeria__miniatura-img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }

.ronco {
	padding: 24px;
	margin-bottom: 40px;
	background: var(--grafite-claro);
	border: 1px solid var(--linha);
	border-radius: var(--raio-grande);
}

.ronco__texto { display: flex; gap: 16px; align-items: start; margin-bottom: 18px; }
.ronco__icone { width: 28px; height: 28px; color: var(--crimson); }
.ronco__texto h2 { font-size: 1.15rem; margin-bottom: 4px; }
.ronco__texto p { margin: 0; color: var(--prata); font-size: .9rem; }

.ronco__controles { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }

.ronco__botao {
	padding: 9px 16px;
	background: none;
	border: 1px solid var(--linha);
	border-radius: var(--raio);
	color: var(--prata);
	cursor: pointer;
	font-family: var(--fonte-titulo);
	font-size: .76rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	transition: border-color var(--transicao), color var(--transicao);
}

.ronco__botao.is-ativo { border-color: var(--crimson); color: var(--neve); }

.ronco__onda {
	display: flex;
	align-items: flex-end;
	gap: 3px;
	height: 64px;
}

.ronco__onda span {
	flex: 1;
	height: 12%;
	background: linear-gradient(180deg, var(--crimson), rgba(225, 29, 72, .25));
	border-radius: 2px;
	transition: height 180ms ease;
}

.ronco.is-tocando .ronco__onda span {
	animation: onda 900ms ease-in-out infinite alternate;
	animation-delay: calc(var(--i) * 18ms);
}

@keyframes onda {
	from { height: 14%; }
	to { height: 92%; }
}

.ficha__descricao,
.ficha__tabela,
.ficha__itens,
.ficha__historico { margin-bottom: 44px; }

.tabela-specs { width: 100%; border-collapse: collapse; }

.tabela-specs th,
.tabela-specs td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--linha);
	text-align: left;
	font-size: .95rem;
}

.tabela-specs th {
	width: 40%;
	font-family: var(--fonte-titulo);
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-size: .78rem;
	color: var(--prata);
}

.tabela-specs tr:nth-child(odd) { background: rgba(148, 163, 184, .04); }

.linha-tempo { display: grid; gap: 18px; margin-bottom: 22px; }

.linha-tempo li {
	position: relative;
	padding-left: 26px;
	color: var(--prata);
}

.linha-tempo li::before {
	content: "";
	position: absolute;
	left: 5px;
	top: 20px;
	bottom: -20px;
	width: 1px;
	background: var(--linha);
}

.linha-tempo li:last-child::before { display: none; }

.linha-tempo__ponto {
	position: absolute;
	left: 0;
	top: 8px;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--crimson);
}

.linha-tempo p { margin: 0; }

.ficha__laudo {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 18px;
	background: rgba(212, 175, 55, .08);
	border: 1px solid rgba(212, 175, 55, .32);
	border-radius: var(--raio);
	color: var(--ouro);
	font-family: var(--fonte-titulo);
	letter-spacing: .06em;
}

.painel-sticky { position: sticky; top: 104px; display: grid; gap: 16px; }

.painel-sticky__preco {
	padding: 20px 24px;
	background: linear-gradient(120deg, rgba(225, 29, 72, .16), transparent 70%), var(--grafite-claro);
	border: 1px solid var(--linha);
	border-radius: var(--raio-grande);
}

.painel-sticky__rotulo {
	display: block;
	font-family: var(--fonte-titulo);
	font-size: .72rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--prata);
	margin-bottom: 6px;
}

.painel-sticky__preco strong { font-family: var(--fonte-titulo); font-size: 1.7rem; }

.lightbox {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: grid;
	place-items: center;
	padding: 5vh 4vw;
	background: rgba(4, 6, 11, .95);
}

.lightbox__imagem { max-height: 90vh; width: auto; border-radius: var(--raio); }

.lightbox__fechar {
	position: absolute;
	top: 20px;
	right: 20px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	background: none;
	border: 1px solid var(--linha);
	border-radius: 50%;
	color: var(--neve);
	cursor: pointer;
}

/* ---------- Conteúdo legal / acordeão ---------- */

.conteudo-legal { font-size: 1rem; }
.conteudo-legal p, .conteudo-legal li { color: var(--prata); }

.bloco-legal {
	padding: 30px 0;
	border-bottom: 1px solid var(--linha);
}

.bloco-legal h2 { display: flex; align-items: center; gap: 12px; font-size: 1.6rem; }
.bloco-legal h2 .amt-icon { width: 26px; height: 26px; color: var(--ouro); }
.bloco-legal h3 { margin-top: 26px; font-size: 1.05rem; color: var(--neve); }
.conteudo-legal a { color: var(--ouro); text-decoration: underline; }

.acordeao { display: grid; gap: 12px; }

.acordeao details {
	background: var(--grafite-claro);
	border: 1px solid var(--linha);
	border-radius: var(--raio-grande);
	padding: 18px 22px;
}

.acordeao summary {
	cursor: pointer;
	font-family: var(--fonte-titulo);
	font-size: 1.02rem;
	list-style: none;
	position: relative;
	padding-right: 28px;
}

.acordeao summary::-webkit-details-marker { display: none; }

.acordeao summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: -2px;
	color: var(--crimson);
	font-size: 1.4rem;
	line-height: 1;
}

.acordeao details[open] summary::after { content: "–"; }
.acordeao p { margin: 14px 0 0; color: var(--prata); }

.erro-404 { text-align: center; }
.erro-404 p { color: var(--prata); max-width: 54ch; margin-inline: auto; }

.paginacao { margin-top: 44px; display: flex; justify-content: center; }
.paginacao .page-numbers { padding: 10px 15px; border: 1px solid var(--linha); border-radius: var(--raio); margin: 0 4px; }
.paginacao .current { background: var(--crimson); border-color: var(--crimson); color: #fff; }

/* ---------- Rodapé ---------- */

.rodape {
	background: var(--grafite);
	border-top: 1px solid var(--linha);
	padding-top: clamp(52px, 7vw, 84px);
}

.rodape__grid {
	display: grid;
	grid-template-columns: 1.4fr .8fr 1.1fr 1.2fr;
	gap: 40px;
	padding-bottom: 54px;
}

.rodape__titulo {
	font-size: .82rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--neve);
	margin-bottom: 20px;
}

.rodape__texto { color: var(--prata); font-size: .92rem; margin-top: 20px; }
.rodape__registro { color: var(--prata); font-size: .78rem; opacity: .8; }

.rodape__lista { display: grid; gap: 12px; }
.rodape__lista a { color: var(--prata); font-size: .92rem; }
.rodape__lista a:hover { color: var(--ouro); }

.rodape__lista--contato li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 11px;
	align-items: start;
	color: var(--prata);
	font-size: .9rem;
}

.rodape__lista--contato .amt-icon { color: var(--ouro); margin-top: 2px; width: 17px; height: 17px; }
.rodape__nota { margin-top: 18px; font-size: .78rem; color: var(--prata); opacity: .8; }

.selos { display: grid; gap: 14px; }

.selo {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 13px;
	align-items: center;
	padding: 13px 15px;
	background: var(--grafite-claro);
	border: 1px solid var(--linha);
	border-radius: var(--raio);
	transition: border-color var(--transicao);
}

.selo:hover { border-color: rgba(212, 175, 55, .45); }

.selo__icone {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(212, 175, 55, .1);
	border: 1px solid rgba(212, 175, 55, .35);
	color: var(--ouro);
}

.selo__texto { display: grid; gap: 2px; }
.selo__titulo { font-family: var(--fonte-titulo); font-size: .84rem; letter-spacing: .04em; }
.selo__subtitulo { font-size: .74rem; color: var(--prata); }

.rodape__base { border-top: 1px solid var(--linha); padding: 22px 0; }

.rodape__base-interno {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	font-size: .8rem;
	color: var(--prata);
}

.rodape__base p { margin: 0; }
.rodape__legal a:hover { color: var(--ouro); }

.whatsapp-flutuante {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 90;
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: var(--crimson);
	color: #fff;
	box-shadow: 0 18px 40px -16px rgba(225, 29, 72, .8);
	transition: transform var(--transicao);
}

.whatsapp-flutuante:hover { transform: scale(1.08); }
.whatsapp-flutuante .amt-icon { width: 25px; height: 25px; }

/* ---------- Responsivo ---------- */

@media (max-width: 1100px) {
	.ficha__layout { grid-template-columns: 1fr; }
	.painel-sticky { position: static; }
	.rodape__grid { grid-template-columns: repeat(2, 1fr); }
	.busca-hero { grid-template-columns: repeat(2, 1fr); }
	.busca-hero__enviar { grid-column: 1 / -1; }
	.filtros__linha { grid-template-columns: repeat(2, 1fr); }
	.importacao__grid,
	.duplo { grid-template-columns: 1fr; }
	.duplo--invertido .duplo__texto,
	.duplo--invertido .duplo__formulario { order: initial; }
	.importacao__midia { position: static; }
}

@media (max-width: 860px) {
	.cabecalho__nav { display: none; }
	.cabecalho__toggle { display: block; }
	.cabecalho__interno { justify-content: space-between; }
	.cabecalho__cta span { display: none; }
	.cabecalho__cta { padding: 12px; }
	.grade-icones { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
	.busca-hero,
	.filtros__linha,
	.formulario__campos { grid-template-columns: 1fr; }
	.rodape__grid { grid-template-columns: 1fr; }
	.card-veiculo__specs { grid-template-columns: 1fr 1fr; }
	.acervo-grid { grid-template-columns: 1fr; }
	.filtros__barra { flex-direction: column; align-items: stretch; }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

@media print {
	.cabecalho, .rodape, .whatsapp-flutuante, .painel-sticky { display: none; }
	body { background: #fff; color: #000; }
}

/* ---------- Correções de exibição ---------- */

[hidden] { display: none !important; }

.menu-mobile { display: none; }

.menu-principal a { white-space: nowrap; }

@media (max-width: 860px) {
	.menu-mobile { display: grid; }
}

.hero__fundo { background-position: 50% 72%; }

.badge--ouro {
	background: rgba(11, 15, 23, .82);
	border-color: rgba(212, 175, 55, .55);
	max-width: calc(100% - 32px);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: block;
	line-height: 1.5;
}

.badge--crimson { background: rgba(159, 18, 57, .92); }

/* Sliders no tom do painel, não no branco padrão do sistema */

.filtros input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	height: 4px;
	border-radius: 2px;
	background: var(--linha);
	margin: 12px 0;
}

.filtros input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--crimson);
	border: 2px solid var(--canvas);
	cursor: pointer;
	box-shadow: 0 0 0 1px var(--crimson);
}

.filtros input[type="range"]::-moz-range-track {
	height: 4px;
	border-radius: 2px;
	background: var(--linha);
}

.filtros input[type="range"]::-moz-range-thumb {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--crimson);
	border: 2px solid var(--canvas);
	cursor: pointer;
}

/* Erro só depois que a pessoa interage — campo vazio não nasce vermelho */

.campo input:invalid:not(:placeholder-shown) { border-color: var(--linha); }
.campo input:user-invalid,
.campo textarea:user-invalid { border-color: var(--crimson); }

/* Cabeçalho no celular: nada pode espremer o botão de menu */

@media (max-width: 860px) {
	.cabecalho__interno { gap: 12px; }
	.cabecalho__acoes { flex: none; gap: 10px; }
	.marca { flex: 1 1 auto; min-width: 0; }
	.marca__complemento { white-space: nowrap; font-size: .5rem; letter-spacing: .24em; }

	.cabecalho__toggle {
		flex: none;
		display: grid;
		place-items: center;
		width: 42px;
		height: 42px;
		padding: 0;
	}

	.cabecalho__cta { flex: none; width: 42px; height: 42px; padding: 0; }
	.moeda__select { padding: 9px 6px; }
}
