/* ============================================================
   CONFIGURADOR v2 — layout K1 (o aprovado)
   ------------------------------------------------------------
   Trabalha junto com configurador.k1.js, que remonta a vista em
   cards e cria os dois controles que o markup do servidor não tem
   (select de tabela de preço e chips de cor). Aqui só o desenho.

   O HTML injetado por configurador/data/*.js NÃO é editado. Ele
   traz width/float/border INLINE em quase tudo, e o JS embutido
   escreve estilo inline ao selecionar — por isso os !important
   aparecem exatamente nesses pontos, e só neles.
   ============================================================ */

/* ── área de conteúdo ─────────────────────────────────────── */
#conteudo{display:block;max-width:none;margin:0;padding:0}
#loading{max-width:1140px;margin:0 auto}
#conteudo .k1-oculto{display:none!important}
/* o gif "Carregando Informações" do original é injetado pelo JS de cada
   marca ao trocar de veículo; os arquivos de dados não são editados, então
   ele some por aqui */
#conteudo img[src*="carregando"]{display:none!important}

/* ── carregando ────────────────────────────────────────────────
   No lugar do gif, o desenho dos próprios cards em cinza. Assim a
   página não "pisca" de vazia para cheia: o esqueleto já ocupa o
   espaço que o conteúdo vai ocupar, e a troca de marca fica calma. */
.k1-carregando{max-width:1140px;margin:0 auto;padding:14px 24px 26px;box-sizing:border-box}
.k1-carregando .bl{background:var(--v2-papel);border:1px solid #E5E9E9;border-radius:12px;
  box-shadow:0 1px 2px rgba(0,0,0,.05);padding:16px 18px;margin-bottom:10px}
.k1-carregando .ln{height:12px;border-radius:6px;margin-bottom:10px;
  background:linear-gradient(90deg,#EDF0F0 25%,#E3E8E8 37%,#EDF0F0 63%);
  background-size:400% 100%;animation:k1-brilho 1.4s ease-in-out infinite}
.k1-carregando .ln:last-child{margin-bottom:0}
.k1-carregando .ln.t{height:22px;width:46%}
.k1-carregando .ln.m{width:28%}
.k1-carregando .ln.g{height:190px;border-radius:10px}
.k1-carregando .duo{display:grid;grid-template-columns:minmax(0,1fr) 452px;gap:16px}
@keyframes k1-brilho{0%{background-position:100% 50%}100%{background-position:0 50%}}
/* quem pediu menos movimento recebe o esqueleto parado, não piscando */
@media (prefers-reduced-motion:reduce){
  .k1-carregando .ln{animation:none;background:#EAEEEE}
}

/* A "folha" e o bloco do veículo do markup original viram meros
   invólucros: quem desenha agora são os cards. Sem isto a largura
   fixa e os floats do original espremem o layout novo. */
#formCotacao.page{
  background:none!important;border:none!important;box-shadow:none!important;
  width:auto!important;max-width:none!important;min-height:0!important;
  margin:0!important;padding:0!important;float:none!important;overflow:visible!important}
#formCotacao div.veiculo{
  display:block;width:auto!important;height:auto!important;min-height:0!important;
  margin:0!important;padding:0!important;float:none!important;overflow:visible!important}
#formCotacao div.veiculo > *{float:none!important}

/* O markup do servidor foi escrito para content-box; o reset fica escopado
   ao que é nosso, senão max-width e width:100% somam o padding por fora
   (era isto que alargava a foto e jogava a caixa de texto para fora do card). */
.k1-palco,.k1-bloco,.k1-selbar,.k1-f,.k1-b,.k1-duo,.k1-col-foto,.k1-col-esc,
.k1-cores,.k1-cor,.k1-opc,.k1-tab,.k1-linha,.k1-acoes,
.k1-f input,.k1-f select,.k1-tab-sel,#conteudo textarea#anotacoes_texto,
#conteudo li.k1-opc-item{box-sizing:border-box}

/* ── 1. barra marca / família / versão ────────────────────── */
#conteudo h2.titulo.form{
  background:var(--v2-barra)!important;border:none!important;
  border-bottom:1px solid var(--v2-barra-linha)!important;border-radius:0!important;
  width:auto!important;margin:0!important;padding:0!important;text-indent:0!important;
  display:block;overflow:visible;height:auto!important;font-weight:400!important}
#conteudo h2.titulo.form form{float:none!important;margin:0!important}
.k1-selbar{max-width:1140px;margin:0 auto;padding:10px 24px 12px;
  display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}

/* campo = rótulo em cima, controle embaixo. Vale na barra e nos descontos. */
.k1-f{display:flex;flex-direction:column;gap:6px;min-width:0}
/* o JS embutido grava `border:1px solid #ddd` INLINE no <label> que antecede
   o #descontos_vd — no markup original era outro elemento. Só !important vence. */
.k1-f > label{font:600 11px 'Public Sans',sans-serif;color:var(--v2-ink2)!important;
  white-space:nowrap;border:none!important;background:none!important;padding:0!important}
.k1-f select,.k1-f input{
  appearance:none;-webkit-appearance:none;height:40px;
  background:var(--v2-papel)!important;border:1px solid var(--v2-hair2)!important;
  border-radius:8px!important;color:var(--v2-ink)!important;
  font:400 13.5px 'Public Sans',sans-serif!important;text-transform:none!important;
  box-shadow:var(--v2-sh1);margin:0!important;float:none!important;
  transition:border-color 150ms var(--v2-e),box-shadow 150ms var(--v2-e)}
.k1-f select{padding:0 34px 0 12px!important;cursor:pointer;max-width:100%;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0h10L5 6z' fill='%234F596B'/></svg>")!important;
  background-repeat:no-repeat!important;background-position:right 12px center!important}
.k1-f select:hover,.k1-f input:hover{border-color:var(--v2-ink3)!important}
.k1-f select:focus,.k1-f input:focus{outline:none;border-color:var(--v2-acc)!important;
  box-shadow:0 0 0 3px rgba(14,99,97,.14)}
.k1-s1 select{width:160px}
.k1-s2 select{width:190px}
.k1-s3 select{width:430px}

/* ── 2. os cards ──────────────────────────────────────────── */
.k1-palco{max-width:1140px;margin:0 auto;padding:14px 24px 26px}
.k1-bloco{background:var(--v2-papel);border:1px solid #E5E9E9;border-radius:12px;
  box-shadow:0 1px 2px rgba(0,0,0,.05),0 10px 26px -16px rgba(0,0,0,.22);
  padding:14px 18px;margin-bottom:10px}
/* o original tem `div.veiculo h2 { float:left; width:100% }`: sem anular o
   float, o título do card criava um gutter e a linha seguinte colapsava */
.k1-bloco > h2{
  display:block;float:none!important;width:auto!important;
  font:600 11px 'Public Sans',sans-serif!important;letter-spacing:.09em;text-transform:uppercase;
  color:var(--v2-ink3)!important;background:none!important;text-indent:0!important;
  height:auto!important;padding:0 0 7px!important;margin:0 0 11px!important;
  border-bottom:1px solid var(--v2-hair)}
.k1-ident h1{float:none!important;width:auto!important}

/* ── 3. identificação + tabela de preço ───────────────────── */
.k1-ident{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;flex-wrap:wrap}
.k1-ident-txt{min-width:0}
.k1-marca{font:600 10.5px 'Public Sans',sans-serif;letter-spacing:.12em;
  text-transform:uppercase;color:var(--v2-acc)}
.k1-ident h1{font:700 22px/1.2 'Public Sans',sans-serif;letter-spacing:-.02em;
  margin:5px 0;white-space:nowrap;color:var(--v2-ink)}
.k1-info{display:flex;flex-wrap:wrap;gap:6px 15px;font-size:12.5px;color:var(--v2-ink2)}
.k1-info b{color:var(--v2-ink);font-weight:600}
/* Dados Técnicos / Equipamentos / Diagrama: abrem painéis de verdade, então
   precisam parecer clicáveis. Botão discreto — filete e fundo neutro, sem
   competir com o select de tabela de preço, que é o comando principal do card. */
#conteudo div.especificacoes.k1-esp{
  position:static!important;margin:10px 0 0!important;width:auto!important;float:none!important;
  display:flex;flex-wrap:wrap;gap:8px}
#conteudo div.especificacoes.k1-esp a{
  display:inline-flex;align-items:center;height:30px;padding:0 12px!important;
  margin:0!important;float:none!important;
  background:var(--v2-papel)!important;border:1px solid var(--v2-hair2)!important;
  border-radius:7px!important;box-shadow:var(--v2-sh1);
  font:500 12px 'Public Sans',sans-serif!important;letter-spacing:-.004em;
  color:var(--v2-ink2)!important;text-decoration:none!important;text-transform:none!important;
  cursor:pointer;white-space:nowrap;
  transition:background 150ms var(--v2-e),border-color 150ms var(--v2-e),
             color 150ms var(--v2-e),transform 130ms var(--v2-e)}
#conteudo div.especificacoes.k1-esp a:hover{
  background:var(--v2-sunken)!important;border-color:var(--v2-ink3)!important;
  color:var(--v2-ink)!important}
#conteudo div.especificacoes.k1-esp a:active{transform:scale(.97)}
#conteudo div.especificacoes.k1-esp a:focus-visible{
  outline:2px solid var(--v2-acc);outline-offset:2px}

.k1-tab{display:flex;flex-direction:column;gap:6px;flex:0 0 auto}
.k1-tab > label{font:600 11px 'Public Sans',sans-serif;color:var(--v2-ink2)}
.k1-tab-sel{appearance:none;-webkit-appearance:none;height:44px;width:352px;max-width:100%;
  background:var(--v2-acc-wash);border:1px solid var(--v2-acc);border-radius:8px;
  padding:0 36px 0 13px;font:700 15px 'Public Sans',sans-serif;color:var(--v2-acc);
  cursor:pointer;box-shadow:var(--v2-sh1);font-variant-numeric:tabular-nums;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0h10L5 6z' fill='%230E6361'/></svg>");
  background-repeat:no-repeat;background-position:right 13px center}
.k1-tab-sel:focus{outline:none;box-shadow:0 0 0 3px rgba(14,99,97,.16)}

/* ── 4. descontos de venda direta ─────────────────────────── */
.k1-linha{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.k1-faixa{width:330px}
.k1-b{position:relative;display:flex;align-items:center}
.k1-b .k1-u{position:absolute;left:12px;font-size:12px;color:var(--v2-ink3);pointer-events:none}
.k1-b input{padding:0 12px 0 32px!important;width:118px;text-align:right;
  font:600 14px 'Public Sans',sans-serif!important;font-variant-numeric:tabular-nums}
.k1-q .k1-b input{padding-left:12px!important;width:72px}
/* o JS embutido pinta #desc_perc de amarelo ao escolher a faixa:
   o sinal fica, num tom que conversa com o resto */
#conteudo input#desc_perc[style*="255, 242, 0"],
#conteudo input#desc_perc[style*="#FFF200"]{
  background:#FFFBEA!important;border-color:#D9C36B!important}

/* ── 5. foto | cores + opcionais ──────────────────────────── */
.k1-duo{display:grid;grid-template-columns:minmax(0,1fr) 452px;gap:16px;align-items:stretch}
.k1-col-foto{display:flex;flex-direction:column;min-width:0}
.k1-col-esc{min-width:0}
#conteudo div.foto-veiculo{
  flex:1;width:auto!important;height:auto!important;min-height:206px!important;
  margin:0!important;padding:0!important;float:none!important;overflow:hidden;
  border:1px solid var(--v2-hair);border-radius:10px;background:var(--v2-sunken);
  display:grid;place-items:center}
#conteudo div.foto-veiculo img{width:88%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.k1-foto-cap{margin:7px 0 0;font-size:11.5px;color:var(--v2-ink3)}

.k1-cores{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.k1-cor{display:flex;align-items:center;gap:8px;padding:5px 8px;min-width:0;
  border:1px solid var(--v2-hair);border-radius:7px;background:var(--v2-papel);
  text-align:left;cursor:pointer;font:inherit;
  transition:border-color 150ms var(--v2-e),transform 130ms var(--v2-e)}
.k1-cor:hover{border-color:var(--v2-hair2)}
.k1-cor:active{transform:scale(.985)}
.k1-chip{width:22px;height:22px;border-radius:5px;flex:0 0 auto;background:var(--v2-hair);
  box-shadow:inset 0 0 0 1px rgba(16,24,40,.14)}
.k1-cor-txt{min-width:0}
.k1-cor .k1-n{display:block;font-size:12px;font-weight:600;line-height:1.2;color:var(--v2-ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k1-cor .k1-t{display:block;font-size:10.5px;color:var(--v2-ink3);white-space:nowrap;margin-top:1px}
.k1-cor .k1-v{font-size:10.5px;font-weight:600;color:var(--v2-ink2)}
.k1-cor[aria-pressed=true]{border-color:var(--v2-acc);background:var(--v2-acc-wash)}
.k1-cor[aria-pressed=true] .k1-v{color:var(--v2-acc)}

.k1-opc{margin-top:10px;padding-top:9px;border-top:1px solid var(--v2-hair)}
.k1-opc h3{font:600 10.5px 'Public Sans',sans-serif;letter-spacing:.09em;
  text-transform:uppercase;color:var(--v2-ink3);margin-bottom:7px}
#conteudo ul.k1-opc-lista{width:auto!important;margin:0!important;padding:0!important;
  float:none!important;list-style:none}
#conteudo li.k1-opc-item{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;
  width:auto!important;float:none!important;margin:0 0 5px!important;padding:6px 9px!important;
  border:1px solid var(--v2-hair)!important;border-radius:7px!important;
  background:var(--v2-papel);overflow:visible!important;cursor:pointer;
  transition:border-color 150ms var(--v2-e)}
#conteudo li.k1-opc-item:hover{border-color:var(--v2-hair2)!important}
#conteudo li.k1-opc-item:has(input:checked){border-color:var(--v2-acc)!important;background:var(--v2-acc-wash)}
/* achata só o invólucro sem classe que o servidor põe em volta dos campos.
   Sem o :not(), o display:contents pegava também a descrição, que perdia
   caixa, recuo e filete — era o que deixava o bloco confuso. */
#conteudo li.k1-opc-item > div:not(.k1-opc-desc):not([id^="listaopc"]){display:contents}
#conteudo li.k1-opc-item input{width:15px!important;height:15px!important;margin:0!important;
  accent-color:var(--v2-acc);flex:0 0 auto;float:none!important}
#conteudo li.k1-opc-item span.iten{
  display:block;margin:0!important;float:none!important;flex:1 1 auto;min-width:0;
  font:400 12px 'Public Sans',sans-serif!important;text-transform:none!important}
#conteudo li.k1-opc-item span.iten .k1-n{display:block;font-size:12px;font-weight:600;
  line-height:1.25;color:var(--v2-ink)}
#conteudo li.k1-opc-item span.iten .k1-c{display:block;font-size:10.5px;color:var(--v2-ink3)}
#conteudo li.k1-opc-item span.valor{
  margin:0 0 0 auto!important;float:none!important;flex:0 0 auto;white-space:nowrap;
  font:600 11.5px 'Public Sans',sans-serif!important;color:var(--v2-ink)!important}
#conteudo li.k1-opc-item:has(input:checked) span.valor{color:var(--v2-acc)!important}
#conteudo li.k1-opc-item span.detalhes,
#conteudo li.k1-opc-item span.proibe,#conteudo li.k1-opc-item span.obriga{
  flex:0 0 auto;float:none!important;margin:0!important;padding:1px 7px!important;
  font:600 10px 'Public Sans',sans-serif!important;border-radius:5px!important}
/* a descrição fica DENTRO do card, em linha própria — o markup traz
   width:780px e float:left inline, daí os !important */
#conteudo .k1-opc-desc{
  flex-basis:100%;width:auto!important;float:none!important;clear:none!important;
  margin:3px 0 0 23px!important;padding-top:3px!important;border-top:1px solid var(--v2-hair);
  font:400 10.5px/1.45 'Public Sans',sans-serif!important;color:var(--v2-ink3)!important}
#conteudo .k1-opc-desc p{margin:0!important;padding:0!important;float:none!important;
  width:auto!important;font:inherit!important;color:inherit!important;text-transform:none!important}
/* A frase "sem opcionais" chega de duas formas conforme a marca: um <p> nosso,
   quando a seção não vem no markup, ou o <ul><li> do próprio servidor. A caixa
   tem de ficar num elemento SÓ — antes o <ul> e o <li> ganhavam moldura cada
   um, e o <li> ainda trazia largura do style.css, o que o jogava para fora
   do card. */
#conteudo ul.k1-opc-vazio{
  display:block;width:auto!important;height:auto!important;margin:0!important;padding:0!important;
  border:none!important;background:none!important;float:none!important;
  list-style:none;overflow:visible!important}
#conteudo p.k1-opc-vazio,
#conteudo ul.k1-opc-vazio > li{
  display:block;width:auto!important;height:auto!important;float:none!important;
  margin:0!important;padding:11px 14px!important;
  border:1px dashed var(--v2-hair2)!important;border-radius:8px!important;
  background:none!important;font:400 12.5px 'Public Sans',sans-serif!important;
  text-transform:none!important;color:var(--v2-ink3)!important;text-align:left!important;
  list-style:none;overflow:visible!important}

/* ── 6. resumo e valores finais ───────────────────────────── */
#conteudo div.valores-finais{width:auto!important;margin:0!important;float:none!important}
#conteudo div.valores-finais section{
  display:flex;flex-wrap:wrap;border:1px solid var(--v2-hair);border-radius:10px;overflow:hidden}
#conteudo div.valores-finais label{
  flex:1 1 150px;width:auto!important;height:auto!important;min-height:0;
  float:none!important;margin:0!important;padding:9px 15px 10px!important;
  border:none!important;border-right:1px solid var(--v2-hair)!important;border-radius:0!important;
  background:var(--v2-papel)!important;
  display:flex;flex-direction:column;justify-content:center;
  font:600 10.5px 'Public Sans',sans-serif!important;letter-spacing:.08em;
  text-transform:uppercase;color:var(--v2-ink3)!important}
#conteudo div.valores-finais label:last-child{border-right:none!important}
/* ">" é obrigatório: sem ele o .k1-cur (span dentro do span) também virava
   bloco e o "R$" caía para uma linha só dele */
#conteudo div.valores-finais label > span{
  display:block;margin-top:3px!important;letter-spacing:-.015em;
  font:700 16px 'Public Sans',sans-serif!important;color:var(--v2-ink)!important;
  text-transform:none;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
#conteudo div.valores-finais label span.k1-cur{
  display:inline;font:400 12px 'Public Sans',sans-serif!important;
  color:var(--v2-ink3);margin:0 3px 0 0!important}
#conteudo div.valores-finais label.label-desconto span,
#conteudo div.valores-finais label.label-desconto span .k1-cur{color:var(--v2-neg)!important}
#conteudo div.valores-finais label.label-preco-final{
  flex:1.18 1 176px;background:var(--v2-acc)!important;color:rgba(255,255,255,.75)!important;
  border-right:none!important}
#conteudo div.valores-finais label.label-preco-final span{color:#fff!important;font-size:19px!important}
#conteudo div.valores-finais label.label-preco-final span .k1-cur{
  font-size:13px!important;color:rgba(255,255,255,.75)}

/* ── 7. observações e ações ───────────────────────────────── */
#conteudo textarea#anotacoes_texto{
  width:100%!important;height:70px!important;margin:0!important;
  padding:12px 14px!important;border:1px solid var(--v2-hair2)!important;border-radius:8px!important;
  background:var(--v2-papel)!important;color:var(--v2-ink)!important;
  font:400 13.5px/1.55 'Public Sans',sans-serif!important;resize:vertical;box-shadow:var(--v2-sh1)}
#conteudo textarea#anotacoes_texto:focus{outline:none;border-color:var(--v2-acc)!important;
  box-shadow:0 0 0 3px rgba(14,99,97,.14)!important}
#conteudo textarea#anotacoes_texto::placeholder{color:var(--v2-ink3)}

#conteudo .k1-acoes{display:flex;justify-content:center;gap:12px;margin-top:16px;
  width:auto!important;float:none!important}
#conteudo .k1-btn{
  display:flex;align-items:center;justify-content:center;min-width:216px;height:46px;
  padding:0 24px!important;border:none!important;border-radius:8px!important;
  font:600 13.5px 'Public Sans',sans-serif!important;letter-spacing:-.008em;cursor:pointer;
  float:none!important;margin:0!important;width:auto!important;text-transform:none!important;
  transition:background 150ms var(--v2-e),transform 130ms var(--v2-e)}
#conteudo .k1-btn:active{transform:scale(.978)}
#conteudo .k1-btn-p{background:var(--v2-acc)!important;color:#fff!important;
  box-shadow:0 8px 18px -10px rgba(14,99,97,.7)}
#conteudo .k1-btn-p:hover{background:#0C5B58!important}
#conteudo .k1-btn-g{background:var(--v2-papel)!important;color:var(--v2-ink)!important;
  border:1px solid var(--v2-hair2)!important;box-shadow:var(--v2-sh1)}
#conteudo .k1-btn-g:hover{background:var(--v2-sunken)!important}
/* confirmação da gravação, no próprio botão */
#conteudo .k1-btn.k1-ok{background:var(--v2-acc)!important;color:#fff!important;
  border-color:var(--v2-acc)!important}
#conteudo .k1-btn.k1-ruim{background:var(--v2-neg)!important;color:#fff!important;
  border-color:var(--v2-neg)!important}

/* ── popup promocional (jquery.simplePopup) ───────────────────
   Vem dos dados capturados de 15 marcas. Hoje ele é bloqueado em
   configurador.k1.js (PROMO.ativa = false); o estilo abaixo fica de
   pé para quando o banner novo entrar. */
.simplePopupBackground{background:rgba(16,24,40,.58)!important}
#conteudo div.popup-dve{
  background:var(--v2-papel)!important;border:1px solid var(--v2-hair)!important;
  border-radius:14px!important;box-shadow:0 30px 70px -24px rgba(16,24,40,.55)!important;
  padding:14px!important;overflow:hidden}
#conteudo div.popup-dve img{max-width:100%;height:auto;border-radius:8px;display:block}
.simplePopupClose{
  background:var(--v2-papel)!important;color:var(--v2-ink)!important;
  border:1px solid var(--v2-hair2)!important;border-radius:50%!important;
  font:600 13px/25px 'Public Sans',sans-serif!important;text-align:center;
  box-shadow:var(--v2-sh2);cursor:pointer;
  transition:background 150ms var(--v2-e),transform 130ms var(--v2-e)}
.simplePopupClose:hover{background:var(--v2-sunken)!important}
.simplePopupClose:active{transform:scale(.94)}

/* ── popups de dados técnicos / equipamentos ──────────────── */
#conteudo div.dados-tecnicos,#conteudo div.equipamentos,
#conteudo div.popup-itens,#conteudo div.popup-ficha-tecnica,#conteudo div.ficha-tecnica{
  border:1px solid var(--v2-hair2)!important;border-radius:14px!important;
  box-shadow:0 24px 60px -20px rgba(16,24,40,.4)!important;padding:24px!important}
#conteudo div.dados-tecnicos h2,#conteudo div.equipamentos h2,
#conteudo div.popup-itens h2,#conteudo div.popup-ficha-tecnica h2{
  background:none!important;font:700 15px 'Public Sans',sans-serif!important;
  color:var(--v2-ink)!important;letter-spacing:-.014em;text-transform:none!important;
  padding:0 0 10px!important;margin:0 0 12px!important;border-bottom:1px solid var(--v2-hair)}
#conteudo div.dados-tecnicos li,#conteudo div.equipamentos li,#conteudo div.popup-itens li{
  font:400 12px/1.6 'Public Sans',sans-serif!important;color:var(--v2-ink2)!important}

/* ── responsivo ───────────────────────────────────────────── */




/* ── cortina da volta da cotação ───────────────────────────────
   Ao voltar de uma cotação a tela é remontada peça por peça (carro,
   tabela, cor, opcionais, desconto). A cortina segura o mesmo esqueleto
   de carregamento na frente até a configuração estar inteira: a pessoa
   vê carregando e depois a tela pronta, nunca a montagem. */
#conteudo.k1-atras{visibility:hidden}
.k1-cortina{max-width:1140px;margin:0 auto;padding:22px 24px 26px;box-sizing:border-box}
.k1-cortina .k1-carregando{margin:0}


/* ── banner de campanha das marcas ─────────────────────────────
   Enquanto a promoção está desligada (PROMO.ativa em configurador.k1.js),
   o bloco não aparece nem por um quadro, seja qual for o caminho que
   tentar abri-lo. A cortina cinza do plugin continua valendo para os
   popups legítimos: dados técnicos, equipamentos e salvar cotação. */
html:not(.k1-com-promo) .popup-dve{display:none !important}


/* ── descrição básica ──────────────────────────────────────────
   Algumas marcas mandam uma lista solta com o conteúdo de série do
   veículo. Ela vem com font e float inline do sistema de origem — os
   estilos inline saem no JS, aqui fica a leitura do desenho. */
/* o <style> injetado com os dados põe caixa alta na lista inteira; o texto
   já vem em caixa de frase do JS, então aqui é só desligar a transformação */
#conteudo .k1-descr ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;
  text-transform:none}
#conteudo .k1-descr li{margin:0;padding:0;float:none;width:auto;overflow:visible;
  text-transform:none;
  font:400 13px/1.65 'Public Sans',sans-serif;color:var(--v2-ink2);text-align:left;
  overflow-wrap:anywhere}
#conteudo .k1-descr li + li{padding-top:8px;border-top:1px solid var(--v2-hair)}
