/* Tema Canteiro: ferramentas e construcao - amarelo (cor da loja) e preto de obra, faixas zebradas de sinalizacao,
   fundo de planta tecnica, bordas pretas e titulos condensados. Carregado depois do CSS do Vitrine. */

.tema-canteiro { --ca-preto: #111; --ca-aco: #e9e9e6; }
body.vitrine.tema-canteiro h1, body.vitrine.tema-canteiro h2, body.vitrine.tema-canteiro h3 { font-family: var(--fonte-titulos), var(--fonte), sans-serif; font-weight: 400 !important; letter-spacing: .02em; }
.ca-zebra { height: 12px; background: repeating-linear-gradient(-45deg, var(--loja) 0 14px, #111 14px 28px); }

/* titulos das secoes: condensados, grandes, com um bloco preto atras do link */
.tema-canteiro .vt-secao-cab { align-items: flex-end; margin-bottom: 18px; border-bottom: 3px solid var(--ca-preto); }
.tema-canteiro .vt-secao-cab h2 { margin-bottom: -3px; padding: 6px 16px 2px; background: var(--ca-preto); color: #fff; font-size: 32px; line-height: 1; }
.tema-canteiro .vt-secao-cab h2::before { content: none; }
.tema-canteiro .vt-secao-cab a { padding: 4px 0 8px; font-weight: 700; text-transform: uppercase; color: var(--ca-preto) !important; }
.tema-canteiro .vt-secao-cab a:hover { color: #000 !important; text-decoration: underline !important; text-decoration-color: var(--loja) !important; text-decoration-thickness: 3px !important; }

/* cartao: borda preta, sombra solida na cor da loja ao passar o mouse, botao amarelo com texto preto */
.tema-canteiro .vt-card { border: 2px solid var(--ca-preto); border-radius: 0; background: #fff; }
.tema-canteiro .vt-card:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--loja); }
.tema-canteiro .vt-card-img { background: #fff; border-bottom: 2px solid var(--ca-aco); }
.tema-canteiro .vt-card-img img { object-fit: contain; padding: 10px; }
.tema-canteiro .vt-card-nome { font-weight: 600; color: var(--ca-preto); }
.tema-canteiro .vt-card-preco strong { font-family: var(--fonte-titulos), sans-serif; font-size: 28px; font-weight: 400; color: var(--ca-preto); }
.tema-canteiro .vt-card-botao { border-radius: 0; background: var(--loja); color: var(--ca-preto); font-weight: 800; text-transform: uppercase; }
.tema-canteiro .vt-card:hover .vt-card-botao { background: var(--ca-preto); color: var(--loja); }
.tema-canteiro .vt-selo { border-radius: 0; background: var(--ca-preto); color: var(--loja); font-weight: 800; }
.tema-canteiro .vt-selo.cinza { background: #555; color: #fff; }

/* vantagens, faixa de orcamento (bloco HTML ca-orcamento) */
.tema-canteiro .vt-vantagens > * { border: 2px solid var(--ca-preto); border-radius: 0; background: #fff; }
.tema-canteiro .vt-vantagens i { border-radius: 0; background: var(--loja); color: var(--ca-preto); }
.ca-orcamento { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px 30px; border: 3px solid #111; background: var(--loja) repeating-linear-gradient(-45deg, transparent 0 22px, rgba(0, 0, 0, .05) 22px 44px); }
.ca-orcamento div { display: grid; gap: 4px; }
.ca-orcamento strong { font-family: var(--fonte-titulos), sans-serif; font-weight: 400; font-size: 36px; line-height: 1; color: #111; }
.ca-orcamento span { color: #2b2b2b; font-weight: 500; }
.ca-orcamento a { flex: none; padding: 15px 28px; background: #111; color: var(--loja) !important; font-weight: 800; text-transform: uppercase; text-decoration: none !important; box-shadow: 5px 5px 0 rgba(0, 0, 0, .25); }
.ca-orcamento a:hover { background: #fff; color: #111 !important; }

/* banners com texto, imagem e texto, blog, avaliacoes, newsletter */
.tema-canteiro .hdl-hero h2 { font-family: var(--fonte-titulos), sans-serif; font-weight: 400; font-size: 54px; line-height: 1; }
.tema-canteiro .hdl-hero .vt-botao { border-radius: 0; background: var(--loja) !important; color: #111 !important; font-weight: 800; text-transform: uppercase; }
.tema-canteiro .hdl-it-img img { border-radius: 0; border: 3px solid #111; box-shadow: 10px 10px 0 var(--loja); }
.tema-canteiro .hdl-it-txt h2 { font-size: 44px; line-height: 1; color: var(--ca-preto); }
.tema-canteiro .vt-blog a { border: 2px solid var(--ca-preto); border-radius: 0; }
.tema-canteiro .vt-blog strong { font-weight: 700; color: var(--ca-preto); }
.tema-canteiro .hdl-depo figure { border: 2px solid var(--ca-preto); border-radius: 0; background: #fff; }
.tema-canteiro .hdl-depo-nota { color: #e0a800; }
body.vitrine.tema-canteiro .vt-news { background: var(--loja); color: #111; }
body.vitrine.tema-canteiro .vt-news::before { display: none; }
body.vitrine.tema-canteiro .vt-news h3 { color: #111 !important; font-size: 34px; }
body.vitrine.tema-canteiro .vt-news p, body.vitrine.tema-canteiro .vt-news-aceite { color: #3a3a3a; }
body.vitrine.tema-canteiro .vt-news-ico { background: #111; color: var(--loja); border-radius: 0; }
body.vitrine.tema-canteiro .vt-news-campo { border-radius: 0; border: 3px solid #111; }
body.vitrine.tema-canteiro .vt-news-campo input, body.vitrine.tema-canteiro .vt-news-campo button { border-radius: 0; }
body.vitrine.tema-canteiro .vt-news-campo button { background: #111; color: var(--loja); font-weight: 800; text-transform: uppercase; }

/* ---------- topo proprio (topo.php) ---------- */
@media (min-width: 992px) {
	/* avisos todos lado a lado */
	.ca-topo .ca-avisos { display: flex; gap: 0; }
	.ca-topo .ca-avisos { justify-content: space-evenly; }
	.ca-topo .ca-avisos .vt-aviso-texto { opacity: 1; visibility: visible; transform: none; flex: 0 1 auto; min-width: 0; justify-content: center; padding: 0 14px; border-right: 1px solid rgba(255, 255, 255, .15); font-weight: 600; font-size: 11.5px; text-transform: uppercase; letter-spacing: .02em; }
	.ca-topo .ca-avisos .vt-aviso-texto:nth-child(n+5) { display: none; }
	.ca-topo .ca-avisos .vt-aviso-texto:nth-child(4) { border-right: 0; }
	.ca-topo .ca-avisos .vt-aviso-texto:last-child { border-right: 0; }
	.ca-topo .ca-avisos .vt-aviso-texto::before { content: ""; width: 7px; height: 7px; flex: none; background: var(--loja); transform: rotate(45deg); }
}
.ca-topo .vt-marca img { width: auto; height: var(--logo-altura, 48px); max-width: 240px; border: 0; border-radius: 0; background: none; object-fit: contain; }
body.vitrine .ca-topo .vt-busca input { height: 50px; border: 2px solid #111; border-radius: 0; background: #fff; }
body.vitrine .ca-topo .vt-busca button { height: 42px; border-radius: 0; background: #111 !important; color: var(--loja) !important; font-weight: 800; text-transform: uppercase; }
.ca-topo .vt-acao { border-radius: 0; }
.ca-orcar { background: var(--loja); border: 2px solid #111; color: #111 !important; }
.ca-orcar:hover { background: #111 !important; color: var(--loja) !important; }
.ca-orcar:hover small { color: #ddd !important; }
.ca-orcar small { color: #333 !important; }
.ca-topo .vt-sacola .counter { background: #111; color: var(--loja); border-color: var(--loja); }
@media (min-width: 992px) {
	body.vitrine .ca-topo .vt-menu { background: var(--loja); border: 0; }
	.ca-topo .vt-menu .container { gap: 0; }
	body.vitrine .ca-topo .vt-menu > .container > a, body.vitrine .ca-topo .vt-menu-cat > a, body.vitrine .ca-topo .vt-menu-dep-link { color: #111 !important; border-radius: 0; font-weight: 800; text-transform: uppercase; font-size: 12.5px; padding-left: 10px; padding-right: 10px; white-space: nowrap; }
	body.vitrine .ca-topo .vt-menu > .container > a:hover, body.vitrine .ca-topo .vt-menu-cat:hover > a, body.vitrine .ca-topo .vt-menu-dep-link { background: #111; color: var(--loja) !important; }
	body.vitrine .ca-topo .vt-menu a.vt-ofertas { margin-left: auto; background: #fff; }
	body.vitrine .ca-topo .vt-menu-cat > a > .lni-chevron-down { display: none; }
	body.vitrine .ca-topo .vt-mega-painel, body.vitrine .ca-topo .vt-menu-cat-lista, body.vitrine .ca-topo .vt-menu-dep-lista { border-radius: 0; border: 2px solid #111; }
	body.vitrine .ca-topo .vt-mega-painel a, body.vitrine .ca-topo .vt-menu-cat-lista a, body.vitrine .ca-topo .vt-menu-dep-lista a { color: #111 !important; text-transform: none; font-weight: 600; background: transparent; }
	body.vitrine .ca-topo .vt-mega-painel a:hover, body.vitrine .ca-topo .vt-menu-cat-lista a:hover, body.vitrine .ca-topo .vt-menu-dep-lista a:hover { background: var(--loja) !important; color: #111 !important; }
}

/* ---------- rodape proprio (rodape.php): zebra, planta tecnica e lista de conferido ---------- */
.ca-rodape { padding-top: 0; background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px); background-size: 28px 28px; }
.ca-rodape:not(.ca-rodape-escuro) { background-image: linear-gradient(rgba(0, 0, 0, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, .05) 1px, transparent 1px); }
.ca-checklist { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 30px; margin: 0 auto; padding: 26px 15px 24px; list-style: none; border-bottom: 1px dashed rgba(255, 255, 255, .15); }
.ca-checklist li { display: inline-flex; align-items: center; gap: 8px; color: var(--rodape-texto); font-weight: 600; text-transform: uppercase; font-size: 13px; letter-spacing: .03em; }
.ca-checklist i { display: grid; place-items: center; width: 22px; height: 22px; background: var(--loja); color: #111; font-size: 12px; }
.ca-rodape .vt-rodape-grade { padding-top: 34px; }
.ca-rodape h3 { font-family: var(--fonte-titulos), sans-serif !important; font-weight: 400 !important; font-size: 24px !important; letter-spacing: .04em; color: var(--loja) !important; }
.ca-rodape-escuro .vt-marca img { filter: brightness(0) invert(1); }
.ca-rodape .vt-redes a { border-radius: 0; }
.ca-rodape .vt-redes a:hover { background: var(--loja); color: #111 !important; }
.ca-rodape .vt-pags span { border-radius: 0; }

/* ---------- pagina do produto ---------- */
body.vitrine.tema-canteiro .rowtitle .title-icon { display: none; }
body.vitrine.tema-canteiro .single-produto { border-radius: 0; }
body.vitrine.tema-canteiro .single-produto .galeria { border: 2px solid #111; border-radius: 0 !important; background: #fff; }
body.vitrine.tema-canteiro .produto-detalhes .pd-nome { display: block !important; margin-bottom: 6px; }
body.vitrine.tema-canteiro .pd-nome .nome span { font-family: var(--fonte-titulos), sans-serif; font-size: 44px; font-weight: 400; line-height: 1; text-transform: uppercase; color: #111; }
body.vitrine.tema-canteiro .produto-detalhes .valor { display: inline-block; padding: 4px 16px; background: var(--loja); }
body.vitrine.tema-canteiro .produto-detalhes .valor, body.vitrine.tema-canteiro .produto-detalhes .valor span { font-family: var(--fonte-titulos), sans-serif; font-size: 44px !important; font-weight: 400 !important; color: #111 !important; }
body.vitrine.modo-loja.tema-canteiro .line-variacao .thelabel { font-weight: 800 !important; text-transform: uppercase; }
body.vitrine.modo-loja.tema-canteiro .line-variacao .opcao { border-radius: 0 !important; border: 2px solid #111 !important; }
body.vitrine.modo-loja.tema-canteiro .line-variacao .opcao.active { background: #111 !important; }
body.vitrine.modo-loja.tema-canteiro .line-variacao .opcao.active .titulo { color: var(--loja) !important; }
body.vitrine.tema-canteiro .subtotal-adicionar .col-md-6 { width: 100%; float: none; }
body.vitrine.tema-canteiro .sacola-adicionar { display: flex !important; align-items: center; justify-content: center; gap: 10px; float: none !important; width: 100%; height: 60px; margin-top: 12px; border-radius: 0 !important; border: 3px solid #111 !important;
	color: #111 !important; box-shadow: 6px 6px 0 #111 !important; font-size: 18px; font-weight: 800 !important; text-transform: uppercase; }
body.vitrine.tema-canteiro .sacola-adicionar:hover { transform: translate(3px, 3px); box-shadow: 3px 3px 0 #111 !important; }
body.vitrine.tema-canteiro .pa-abas { border-bottom: 3px solid #111; gap: 0; }
body.vitrine.tema-canteiro .pa-abas a, body.vitrine.tema-canteiro .pa-abas button { font-weight: 800; text-transform: uppercase; border-radius: 0; }
body.vitrine.tema-canteiro .pa-abas .ativa { background: #111 !important; color: var(--loja) !important; }

/* ---------- carrinho (carrinho.php) e finalizar compra ---------- */
body.vitrine.tema-canteiro .ck h1 { font-family: var(--fonte-titulos), sans-serif; font-size: 48px; line-height: 1; color: #111; }
body.vitrine.tema-canteiro .co-passos .atual { color: #111; background: var(--loja); padding: 2px 8px; }
body.vitrine.tema-canteiro .ck-item, body.vitrine.tema-canteiro .co-bloco { border: 2px solid #111; border-radius: 0; }
body.vitrine.tema-canteiro .co-bloco h2 { font-size: 30px; }
body.vitrine.tema-canteiro .co-bloco h2 span { border-radius: 0; background: #111; color: var(--loja); }
body.vitrine.tema-canteiro .ck-resumo { border: 3px solid #111; border-radius: 0; box-shadow: 8px 8px 0 var(--loja); }
body.vitrine.tema-canteiro .ck-resumo h2 { font-size: 30px; }
body.vitrine.tema-canteiro .ck-valores .ck-tot { font-family: var(--fonte-titulos), sans-serif; font-size: 30px; font-weight: 400; }
body.vitrine.tema-canteiro .ck-finalizar { border-radius: 0 !important; border: 3px solid #111 !important; color: #111 !important; font-weight: 800 !important; }
body.vitrine.tema-canteiro .ck-qtd, body.vitrine.tema-canteiro .ck-linha-form input, body.vitrine.tema-canteiro .ck-linha-form button, body.vitrine.tema-canteiro .co-campos input, body.vitrine.tema-canteiro .co-opcao, body.vitrine.tema-canteiro .ck-frete { border-radius: 0 !important; }
.ca-frete { display: flex; gap: 14px; align-items: center; padding: 14px 16px; border: 2px solid #111; background: #fff; }
.ca-frete > i { display: grid; place-items: center; width: 46px; height: 46px; flex: none; background: #111; color: var(--loja); font-size: 22px; }
.ca-frete > div { flex: 1; display: grid; gap: 8px; }
.ca-frete p { margin: 0; font-weight: 600; }
.ca-frete p b { background: var(--loja); padding: 0 4px; }
.ca-barra { height: 16px; border: 2px solid #111; background: #fff; }
.ca-barra i { display: block; height: 100%; background: repeating-linear-gradient(-45deg, var(--loja) 0 8px, #111 8px 16px); }
.ca-orcar-ck { display: flex; gap: 12px; align-items: center; margin-top: 14px; padding: 12px 14px; border: 2px dashed #111; color: #111 !important; text-decoration: none !important; font-size: 13.5px; }
.ca-orcar-ck i { font-size: 24px; color: #1f9d55; }
.ca-orcar-ck span { display: grid; }
.ca-orcar-ck:hover { background: var(--loja); border-style: solid; }

@media (max-width: 767px) {
	.tema-canteiro .vt-secao-cab h2 { font-size: 24px; }
	.ca-orcamento { flex-direction: column; align-items: flex-start; }
	.ca-orcamento strong { font-size: 28px; }
	body.vitrine.tema-canteiro .pd-nome .nome span { font-size: 32px; }
	.ca-checklist { justify-content: flex-start; }
}
