/* Tema Brasa: tabacaria e clube de charuto - carvao (cor do topo), cobre de brasa (cor da loja), creme, titulos com
   serifa, fumaca que sobe, linha de brasa acesa e confirmacao de maioridade. Carregado depois do CSS do Vitrine. */

.tema-brasa { --br-carvao: var(--topo, #1b1714); --br-creme: #f1e8dc; --br-linha: #e2d9cd; --br-tinta: var(--titulos, #1b1714); }
body.vitrine.tema-brasa h1, body.vitrine.tema-brasa h2, body.vitrine.tema-brasa h3 { font-family: var(--fonte-titulos), Georgia, serif; font-weight: 400 !important; }
.br-brasa { height: 3px; background: linear-gradient(90deg, transparent, #7a2a0e 10%, var(--loja) 30%, #ffd08a 50%, var(--loja) 70%, #7a2a0e 90%, transparent); background-size: 200% 100%; box-shadow: 0 0 12px color-mix(in srgb, var(--loja) 70%, transparent); animation: br-arde 6s linear infinite; }
@keyframes br-arde { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .br-brasa { animation: none; } }

/* titulos das secoes: serifa, com um ponto de brasa e filete */
.tema-brasa .vt-secao-cab { align-items: flex-end; margin-bottom: 22px; padding-bottom: 12px; border-bottom: 1px solid var(--br-linha); }
.tema-brasa .vt-secao-cab h2 { display: flex; align-items: center; gap: 12px; font-size: 32px; color: var(--br-tinta); }
.tema-brasa .vt-secao-cab h2::before { content: ""; width: 10px; height: 10px; flex: none; border-radius: 50%; background: var(--loja); box-shadow: 0 0 0 4px color-mix(in srgb, var(--loja) 22%, transparent), 0 0 12px var(--loja); }
.tema-brasa .vt-secao-cab a { font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--br-tinta) !important; }
.tema-brasa .vt-secao-cab a:hover { color: var(--loja) !important; }

/* cartao: foto em fundo cinza quente, nome em serifa, botao carvao que acende em cobre */
.tema-brasa .vt-card { border: 1px solid var(--br-linha); border-radius: 2px; background: #fff; }
.tema-brasa .vt-card:hover { border-color: var(--loja); box-shadow: 0 0 0 1px var(--loja), 0 16px 30px rgba(27, 23, 20, .14); }
.tema-brasa .vt-card-img { background: #ece8e3; }
.tema-brasa .vt-card-img img { object-fit: contain; padding: 12px; mix-blend-mode: multiply; }
.tema-brasa .vt-card-nome { font-family: var(--fonte-titulos), Georgia, serif; font-size: 17px; color: var(--br-tinta); }
.tema-brasa .vt-card-preco strong { font-size: 19px; font-weight: 700; color: var(--br-tinta); }
.tema-brasa .vt-card-botao { border-radius: 0; background: var(--br-carvao); color: var(--br-creme); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; font-size: 12px; }
.tema-brasa .vt-card:hover .vt-card-botao { background: var(--loja); color: var(--br-carvao); }
.tema-brasa .vt-selo { border-radius: 0; background: var(--loja); color: var(--br-carvao); font-weight: 800; letter-spacing: .04em; }
.tema-brasa .vt-selo.cinza { background: var(--br-carvao); color: var(--br-creme); }

/* vantagens; o ritual (bloco HTML br-ritual) */
.tema-brasa .vt-vantagens > * { border: 1px solid var(--br-linha); border-radius: 2px; background: #fff; }
.tema-brasa .vt-vantagens i { border-radius: 50%; background: var(--br-carvao); color: var(--loja); }
.br-ritual { display: grid; grid-template-columns: 280px 1fr; gap: 34px; align-items: center; padding: 36px 40px; background: radial-gradient(420px 200px at 10% 120%, color-mix(in srgb, var(--loja) 30%, transparent), transparent 70%), var(--topo, #1b1714); color: #f1e8dc; }
.br-ritual-tit { margin: 0; font-family: var(--fonte-titulos), Georgia, serif; font-size: 30px; line-height: 1.15; color: #fff; }
.br-ritual-tit small { display: block; margin-bottom: 8px; font-family: var(--fonte), sans-serif; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--loja); }
.br-ritual ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: br; }
.br-ritual li { position: relative; display: grid; gap: 4px; padding: 6px 20px 6px 58px; border-left: 1px solid rgba(241, 232, 220, .14); counter-increment: br; }
.br-ritual li::before { content: counter(br); position: absolute; left: 18px; top: 4px; font-family: var(--fonte-titulos), Georgia, serif; font-size: 32px; line-height: 1; color: var(--loja); }
.br-ritual b { font-family: var(--fonte-titulos), Georgia, serif; font-weight: 400; font-size: 20px; color: #fff; }
.br-ritual span { color: #b8ab9c; font-size: 14px; }

/* banners com texto, imagem e texto, blog, avaliacoes, newsletter */
.tema-brasa .hdl-hero h2 { font-family: var(--fonte-titulos), Georgia, serif; font-weight: 400; }
.tema-brasa .hdl-hero .vt-botao { border-radius: 0; background: var(--loja) !important; color: var(--br-carvao) !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; font-size: 13px; }
.tema-brasa .hdl-it-img img { border-radius: 0; filter: saturate(.95); }
.tema-brasa .hdl-it-txt h2 { font-size: 40px; color: var(--br-tinta); }
.tema-brasa .vt-blog a { border: 1px solid var(--br-linha); border-radius: 2px; }
.tema-brasa .vt-blog strong { font-family: var(--fonte-titulos), Georgia, serif; font-weight: 400; font-size: 20px; color: var(--br-tinta); }
.tema-brasa .hdl-depo figure { border: 0; border-radius: 0; background: #fff; box-shadow: inset 0 3px 0 var(--loja); }
.tema-brasa .hdl-depo-nota { color: var(--loja); }
body.vitrine.tema-brasa .vt-news { background: var(--br-carvao); }
body.vitrine.tema-brasa .vt-news h3 { font-family: var(--fonte-titulos), Georgia, serif; font-weight: 400; }
body.vitrine.tema-brasa .vt-news-ico { border-radius: 50%; background: var(--loja); color: var(--br-carvao); }
body.vitrine.tema-brasa .vt-news-campo, body.vitrine.tema-brasa .vt-news-campo input, body.vitrine.tema-brasa .vt-news-campo button { border-radius: 0; }
body.vitrine.tema-brasa .vt-news-campo button { background: var(--loja); color: var(--br-carvao); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

/* ---------- topo proprio (topo.php): carvao com fumaca e linha de brasa ---------- */
.br-topo { position: relative; }
.br-topo .vt-aviso { font-weight: 700; letter-spacing: .04em; }
.br-fumaca { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.br-fumaca i { position: absolute; bottom: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(241, 232, 220, .09), transparent 65%); filter: blur(8px); animation: br-sobe 14s ease-in-out infinite; }
.br-fumaca i:nth-child(1) { left: 8%; }
.br-fumaca i:nth-child(2) { left: 46%; animation-delay: -5s; width: 300px; height: 300px; }
.br-fumaca i:nth-child(3) { left: 78%; animation-delay: -9s; }
@keyframes br-sobe { 0% { transform: translate(0, 40px) scale(.8); opacity: 0; } 30% { opacity: 1; } 100% { transform: translate(40px, -160px) scale(1.4); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .br-fumaca { display: none; } }
.br-topo > *:not(.br-fumaca):not(.vt-menu) { position: relative; z-index: 1; }
@media (min-width: 992px) { .br-topo > .vt-menu { position: relative; z-index: 2; } }
.br-topo .vt-barra { background: transparent; }
.br-topo { background: var(--topo, #1b1714); }
.br-topo .vt-marca img { width: auto; height: var(--logo-altura, 42px); max-width: 240px; border: 0; border-radius: 0; background: none; object-fit: contain; }
body.vitrine .br-topo .vt-barra .vt-acao, body.vitrine .br-topo .vt-barra .vt-icone { color: var(--topo-texto, #f1e8dc) !important; }
body.vitrine .br-topo .vt-barra .vt-acao small { color: rgba(241, 232, 220, .6) !important; }
body.vitrine .br-topo .vt-barra .vt-acao:hover { background: rgba(255, 255, 255, .06); }
body.vitrine .br-topo .vt-sacola .shop-bag i { color: var(--topo-texto, #f1e8dc) !important; }
.br-topo .vt-sacola .counter { color: var(--br-carvao); border-color: var(--topo, #1b1714); }
body.vitrine .br-topo .vt-busca input { height: 46px; border: 1px solid rgba(241, 232, 220, .2); border-radius: 0; background: rgba(255, 255, 255, .05); color: var(--br-creme); }
body.vitrine .br-topo .vt-busca input::placeholder { color: rgba(241, 232, 220, .5); }
body.vitrine .br-topo .vt-busca input:focus { border-color: var(--loja); box-shadow: 0 0 0 3px color-mix(in srgb, var(--loja) 25%, transparent); background: rgba(255, 255, 255, .08); }
body.vitrine .br-topo .vt-busca i { color: rgba(241, 232, 220, .55); }
body.vitrine .br-topo .vt-busca button { border-radius: 0; color: var(--br-carvao) !important; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
@media (min-width: 992px) {
	body.vitrine .br-topo .vt-menu { background: transparent; border-top: 1px solid rgba(241, 232, 220, .08); }
	.br-topo .vt-menu .container { justify-content: center; gap: 4px; }
	body.vitrine .br-topo .vt-menu > .container > a, body.vitrine .br-topo .vt-menu-cat > a, body.vitrine .br-topo .vt-menu-dep-link { color: #e6dccf !important; font-size: 12.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; border-radius: 0; white-space: nowrap; }
	body.vitrine .br-topo .vt-menu > .container > a:hover, body.vitrine .br-topo .vt-menu-cat:hover > a { color: var(--loja) !important; background: transparent; text-shadow: 0 0 12px color-mix(in srgb, var(--loja) 60%, transparent); }
	body.vitrine .br-topo .vt-menu-dep-link { border: 1px solid color-mix(in srgb, var(--loja) 60%, transparent); }
	body.vitrine .br-topo .vt-menu a.vt-ofertas { color: var(--loja) !important; }
	body.vitrine .br-topo .vt-menu-cat > a > .lni-chevron-down { display: none; }
	body.vitrine .br-topo .vt-mega-painel, body.vitrine .br-topo .vt-menu-cat-lista, body.vitrine .br-topo .vt-menu-dep-lista { border-radius: 0; border-top: 2px solid var(--loja); }
	body.vitrine .br-topo .vt-mega-painel a, body.vitrine .br-topo .vt-menu-cat-lista a, body.vitrine .br-topo .vt-menu-dep-lista a { color: var(--br-tinta) !important; letter-spacing: 0; text-transform: none; text-shadow: none; }
}
/* confirmacao de maioridade */
html.br-travado { overflow: hidden; }
.br-idade { position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; padding: 20px; background: radial-gradient(600px 400px at 50% 110%, rgba(224, 112, 58, .35), transparent 70%), rgba(18, 15, 13, .94); }
.br-idade[hidden] { display: none; }
.br-idade-caixa { width: min(460px, 100%); text-align: center; color: #f1e8dc; }
.br-idade-18 { display: inline-grid; place-items: center; width: 92px; height: 92px; margin-bottom: 20px; border-radius: 50%; border: 2px solid var(--loja, #e0703a); color: var(--loja, #e0703a); font-family: var(--fonte-titulos), Georgia, serif; font-size: 34px; box-shadow: 0 0 30px rgba(224, 112, 58, .35); }
.br-idade-t { margin: 0 0 10px; font-family: var(--fonte-titulos), Georgia, serif; font-size: 30px; color: #fff; }
.br-idade-s { margin: 0 0 26px; color: #b8ab9c; }
.br-idade-bts { display: grid; gap: 10px; }
.br-idade-bts button { height: 50px; border: 1px solid var(--loja, #e0703a); background: var(--loja, #e0703a); color: #1b1714; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: 13px; cursor: pointer; }
.br-idade-bts button + button { background: transparent; color: #f1e8dc; border-color: rgba(241, 232, 220, .3); }
.br-idade-nao { margin: 0; font-family: var(--fonte-titulos), Georgia, serif; font-size: 20px; color: var(--loja, #e0703a); }

/* ---------- rodape proprio (rodape.php): brasa, frase grande e aviso legal ---------- */
.br-rodape { padding-top: 0; }
.br-frase { display: grid; justify-items: center; gap: 18px; padding: 44px 15px 34px; text-align: center; border-bottom: 1px solid rgba(241, 232, 220, .08); }
.br-frase img { max-width: 200px; max-height: 56px; object-fit: contain; }
.br-rodape-escuro .br-frase img, .br-rodape-escuro .vt-marca img { filter: brightness(0) invert(1); }
.br-frase p { margin: 0; font-family: var(--fonte-titulos), Georgia, serif; font-size: 18px; color: var(--rodape-titulo); }
.br-frase p i { display: inline-block; width: 7px; height: 7px; margin: 0 14px; border-radius: 50%; background: var(--loja); box-shadow: 0 0 10px var(--loja); vertical-align: 4px; }
.br-rodape .vt-rodape-loja .vt-marca { display: none; }
.br-rodape .vt-rodape-grade { padding-top: 32px; }
.br-rodape h3 { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .16em; text-transform: uppercase; color: var(--loja) !important; }
.br-rodape .vt-redes a { border-radius: 50%; border: 1px solid rgba(241, 232, 220, .2); background: transparent; }
.br-rodape .vt-redes a:hover { border-color: var(--loja); color: var(--loja) !important; }
.br-rodape .vt-pags span { border-radius: 0; }
.br-legal { display: block; width: 100%; margin-bottom: 6px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--loja); }

/* ---------- pagina do produto ---------- */
body.vitrine.tema-brasa .rowtitle .title-icon { display: none; }
body.vitrine.tema-brasa .single-produto { border-radius: 2px; }
body.vitrine.tema-brasa .single-produto .galeria { border: 1px solid var(--br-linha); border-radius: 0 !important; background: #ece8e3; }
body.vitrine.tema-brasa .produto-detalhes .pd-nome { display: block !important; margin-bottom: 8px; }
body.vitrine.tema-brasa .pd-nome .nome span { font-family: var(--fonte-titulos), Georgia, serif; font-size: 36px; line-height: 1.12; color: var(--br-tinta); }
body.vitrine.tema-brasa .produto-detalhes .valor, body.vitrine.tema-brasa .produto-detalhes .valor span { font-family: var(--fonte-titulos), Georgia, serif; font-size: 34px !important; font-weight: 400 !important; color: var(--br-tinta) !important; }
body.vitrine.modo-loja.tema-brasa .line-variacao .thelabel { font-weight: 700 !important; letter-spacing: .1em; text-transform: uppercase; font-size: 12px; }
body.vitrine.modo-loja.tema-brasa .line-variacao .opcao { border-radius: 0 !important; border: 1px solid var(--br-linha) !important; }
body.vitrine.modo-loja.tema-brasa .line-variacao .opcao.active { background: var(--br-carvao) !important; border-color: var(--br-carvao) !important; box-shadow: inset 0 -2px 0 var(--loja) !important; }
body.vitrine.modo-loja.tema-brasa .line-variacao .opcao.active .titulo, body.vitrine.modo-loja.tema-brasa .line-variacao .opcao.active small { color: #fff !important; }
body.vitrine.tema-brasa .subtotal-adicionar .col-md-6 { width: 100%; float: none; }
body.vitrine.tema-brasa .sacola-adicionar { display: flex !important; align-items: center; justify-content: center; gap: 10px; float: none !important; width: 100%; height: 56px; margin-top: 12px; border-radius: 0 !important; color: var(--br-carvao) !important; letter-spacing: .12em; text-transform: uppercase; font-size: 14px; font-weight: 800 !important; }
body.vitrine.tema-brasa .pa-abas { border-bottom: 1px solid var(--br-linha); }
body.vitrine.tema-brasa .pa-abas a, body.vitrine.tema-brasa .pa-abas button { letter-spacing: .1em; text-transform: uppercase; font-size: 12.5px; font-weight: 700; }
body.vitrine.tema-brasa .pa-abas .ativa { color: var(--br-tinta) !important; box-shadow: inset 0 -2px 0 var(--loja); }

/* ---------- carrinho (carrinho.php) e finalizar compra ---------- */
body.vitrine.tema-brasa .ck h1 { font-family: var(--fonte-titulos), Georgia, serif; font-size: 40px; color: var(--br-tinta); }
body.vitrine.tema-brasa .co-passos .atual { color: var(--br-tinta); box-shadow: inset 0 -2px 0 var(--loja); }
body.vitrine.tema-brasa .ck-item, body.vitrine.tema-brasa .co-bloco { border: 1px solid var(--br-linha); border-radius: 0; }
body.vitrine.tema-brasa .ck-foto img { background: #ece8e3; }
body.vitrine.tema-brasa .co-bloco h2, body.vitrine.tema-brasa .ck-resumo h2 { font-family: var(--fonte-titulos), Georgia, serif; color: var(--br-tinta); }
body.vitrine.tema-brasa .co-bloco h2 span { background: var(--loja); color: var(--br-carvao); border-radius: 0; }
body.vitrine.tema-brasa .ck-resumo { border: 0; border-radius: 0; background: var(--br-carvao); color: #e6dccf; }
body.vitrine.tema-brasa .ck-resumo h2 { color: #fff; }
body.vitrine.tema-brasa .ck-resumo dt, body.vitrine.tema-brasa .ck-resumo dd, body.vitrine.tema-brasa .ck-resumo .ck-seguro, body.vitrine.tema-brasa .ck-resumo .ck-sem-frete, body.vitrine.tema-brasa .ck-resumo .ck-cupom-ok { color: #cfc4b6; }
body.vitrine.tema-brasa .ck-resumo .ck-tot { color: #fff !important; font-family: var(--fonte-titulos), Georgia, serif; font-weight: 400; font-size: 22px; }
body.vitrine.tema-brasa .ck-resumo .ck-frete { background: rgba(255, 255, 255, .05); border-color: rgba(241, 232, 220, .14); color: #e6dccf; }
body.vitrine.tema-brasa .ck-finalizar { border-radius: 0 !important; color: var(--br-carvao) !important; letter-spacing: .12em; }
body.vitrine.tema-brasa .ck-qtd, body.vitrine.tema-brasa .ck-linha-form input, body.vitrine.tema-brasa .ck-linha-form button, body.vitrine.tema-brasa .co-campos input, body.vitrine.tema-brasa .co-opcao, body.vitrine.tema-brasa .ck-frete { border-radius: 0 !important; }
.br-frete { padding: 16px 22px 20px; border: 1px solid var(--br-linha, #e2d9cd); background: #fff; }
.br-frete p { margin: 0 0 14px; font-family: var(--fonte-titulos), Georgia, serif; font-size: 18px; color: var(--titulos, #1b1714); }
.br-frete p b { font-weight: 400; color: var(--loja); }
.br-charuto { position: relative; height: 18px; border-radius: 4px 9px 9px 4px; background: linear-gradient(180deg, #8a5a36, #6b4226 60%, #57351e); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .12); }
.br-cinza { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 4px 0 0 4px; background: repeating-linear-gradient(90deg, #bdb6ad 0 6px, #a8a097 6px 9px); transition: width .6s; }
.br-cinza::after { content: ""; position: absolute; right: -4px; top: 0; bottom: 0; width: 7px; border-radius: 2px; background: linear-gradient(180deg, #ffd08a, var(--loja), #b3401a); box-shadow: 0 0 10px var(--loja); }
.br-anel { position: absolute; right: 22%; top: 0; bottom: 0; width: 26px; background: linear-gradient(90deg, var(--loja), #ffd08a, var(--loja)); opacity: .9; }

@media (max-width: 767px) {
	.tema-brasa .vt-secao-cab h2 { font-size: 25px; }
	.br-ritual { grid-template-columns: 1fr; padding: 26px 22px; }
	.br-ritual ol { grid-template-columns: 1fr; gap: 14px; }
	.br-frase p { font-size: 17px; }
	.br-frase p i { display: block; margin: 8px auto; }
	body.vitrine.tema-brasa .pd-nome .nome span { font-size: 28px; }
}
