/* Tema Urbano: estilo de rua - preto, branco e a cor da loja (rosa no padrao), titulos grossos em italico.
   Carregado depois do CSS do Vitrine. As cores do lojista continuam valendo (--loja, --topo, --rodape...). */

.tema-urbano { --cinza: #f2f2f2; --linha: #e4e4e4; }

/* titulos das secoes: grossos, em italico e com um marca-texto na cor da loja */
.tema-urbano .vt-secao-cab { align-items: center; margin-bottom: 20px; }
.tema-urbano .vt-secao-cab h2 { font-size: 28px; font-weight: 900; font-style: italic; letter-spacing: -.01em; color: #111; background: linear-gradient(transparent 62%, color-mix(in srgb, var(--loja) 45%, transparent) 62%) no-repeat; padding: 0 4px; }
.tema-urbano .vt-secao-cab h2::before { content: none; }
.tema-urbano .vt-secao-cab a { font-weight: 800; font-style: italic; text-transform: uppercase; color: #111 !important; border-bottom: 2px solid var(--loja); }

/* cartao do produto: foto sobre cinza, borda preta grossa que ganha sombra colorida ao passar o mouse */
.tema-urbano .vt-card { border: 2px solid #111; border-radius: var(--raio); background: #fff; }
.tema-urbano .vt-card:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--loja); border-color: #111; }
.tema-urbano .vt-card-img { background: var(--cinza); border-bottom: 2px solid #111; }
.tema-urbano .vt-card-img img { object-fit: cover; padding: 0; }
.tema-urbano .vt-card-nome { font-weight: 600; }
.tema-urbano .vt-card-preco strong { font-weight: 900; font-style: italic; color: #111; }
.tema-urbano .vt-card-botao { border-radius: 0; background: #111; color: #fff; font-weight: 800; font-style: italic; text-transform: uppercase; }
.tema-urbano .vt-card:hover .vt-card-botao { background: var(--loja); }
.tema-urbano .vt-selo { border-radius: 0; background: var(--loja); font-style: italic; font-weight: 900; transform: rotate(-6deg); }
.tema-urbano .vt-selo.cinza { background: #111; }

/* vantagens: faixa com borda preta grossa */
.tema-urbano .vt-vantagens { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0; border: 2px solid #111; }
.tema-urbano .vt-vantagens > * { border: 0; border-right: 2px solid #111; border-radius: 0; background: #fff; }
.tema-urbano .vt-vantagens > *:last-child { border-right: 0; }
.tema-urbano .vt-vantagens i { border-radius: 0; background: var(--loja); color: #fff; }
.tema-urbano .vt-vantagens b { font-weight: 800; font-style: italic; text-transform: uppercase; font-size: 13.5px; }

/* faixa de cupons (bloco HTML da pagina inicial) */
.ur-cupons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 12px; align-items: stretch; }
.ur-cupons p { display: grid; justify-items: center; align-content: center; gap: 2px; margin: 0; padding: 14px 10px; border-right: 1px dashed #bbb; text-align: center; }
.ur-cupons b { font-size: 26px; font-weight: 900; font-style: italic; color: #111; }
.ur-cupons b i { display: inline-block; padding: 2px 6px; background: #111; color: #fff; font-size: 15px; vertical-align: middle; }
.ur-cupons span { font-size: 12.5px; color: #666; }
.ur-cupons .ur-codigo { border: 2px dashed #111; padding: 10px 22px; }
.ur-cupons .ur-codigo small { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: #666; }
.ur-cupons .ur-codigo b { font-size: 22px; color: var(--loja); }

/* banners com texto: titulo com fundo na cor da loja, como uma fita */
.tema-urbano .hdl-hero h2 { display: inline; align-self: flex-start; padding: 2px 10px; background: var(--loja); font-weight: 900; font-style: italic; text-transform: uppercase; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.tema-urbano .hdl-hero-in { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.tema-urbano .hdl-hero .vt-botao { background: #fff !important; color: #111 !important; border-radius: 0; font-weight: 900; font-style: italic; text-transform: uppercase; box-shadow: 4px 4px 0 var(--loja); }

/* imagem e texto, blog, avaliacoes, instagram */
.tema-urbano .hdl-it-txt h2 { font-weight: 900; font-style: italic; font-size: 38px; }
.tema-urbano .vt-blog a { border: 2px solid #111; border-radius: var(--raio); }
.tema-urbano .vt-blog strong { font-weight: 800; color: #111; }
.tema-urbano .hdl-depo figure { border: 2px solid #111; background: #fff; box-shadow: 5px 5px 0 var(--loja); }
.tema-urbano .hdl-depo figcaption { display: block; }
.tema-urbano .hdl-depo-nota { color: var(--loja); }
.tema-urbano .hdl-insta a { border: 2px solid #111; }
body.vitrine.tema-urbano .vt-news { background: #fff; color: #111; border-top: 2px solid #111; }
body.vitrine.tema-urbano .vt-news::before { display: none; }
body.vitrine.tema-urbano .vt-news-in { grid-template-columns: 1fr; justify-items: center; text-align: center; max-width: 720px; margin: 0 auto; }
body.vitrine.tema-urbano .vt-news-txt { flex-direction: column; }
body.vitrine.tema-urbano .vt-news h3 { color: #111 !important; font-size: 30px; font-weight: 900; font-style: italic; text-transform: uppercase; }
body.vitrine.tema-urbano .vt-news p, body.vitrine.tema-urbano .vt-news-aceite { color: #555; }
body.vitrine.tema-urbano .vt-news-ico { display: none; }
body.vitrine.tema-urbano .vt-news-campo { width: 100%; border-radius: 0; padding: 0; border: 2px solid #111; box-shadow: 5px 5px 0 var(--loja); }
body.vitrine.tema-urbano .vt-news-campo input, body.vitrine.tema-urbano .vt-news-campo button { border-radius: 0; }
body.vitrine.tema-urbano .vt-news-campo button { height: 50px; background: #111; font-weight: 900; font-style: italic; text-transform: uppercase; }
body.vitrine.tema-urbano .vt-news-aceite input { border-color: #999; }

/* ---------- topo proprio (topo.php): busca larga e menu em faixa escura ---------- */
.ur-topo .vt-aviso { font-weight: 700; font-style: italic; letter-spacing: .03em; }
body.vitrine .ur-topo .vt-busca input { border: 2px solid #111; border-radius: 0; background: #fff; }
body.vitrine .ur-topo .vt-busca button { border-radius: 0; background: #111; font-weight: 800; font-style: italic; text-transform: uppercase; }
.ur-topo .vt-acao span { display: flex; gap: 4px; align-items: baseline; }
.ur-topo .vt-acao small { color: #777 !important; }
.ur-topo .vt-sacola .counter { background: var(--loja); }
@media (min-width: 992px) {
	body.vitrine .ur-topo .vt-menu { background: #111; border: 0; }
	.ur-topo .vt-menu .container { justify-content: center; }
	body.vitrine .ur-topo .vt-menu a, body.vitrine .ur-topo .vt-menu .vt-menu-item, body.vitrine .ur-topo .vt-menu-dep-link { color: #fff !important; border-radius: 0; font-weight: 800; font-style: italic; text-transform: uppercase; font-size: 13px; }
	body.vitrine .ur-topo .vt-menu a:hover { background: var(--loja); color: #fff !important; }
	body.vitrine .ur-topo .vt-menu a.vt-ofertas { background: var(--loja); }
	body.vitrine .ur-topo .vt-mega-painel a, body.vitrine .ur-topo .vt-menu-cat-lista a, body.vitrine .ur-topo .vt-menu-dep-lista a { color: #111 !important; font-style: normal; text-transform: none; font-weight: 500; background: transparent; }
	body.vitrine .ur-topo .vt-mega-painel a:hover, body.vitrine .ur-topo .vt-menu-cat-lista a:hover { color: var(--loja) !important; }
}

/* ---------- rodape proprio (rodape.php): faixa que corre com os avisos da loja ---------- */
.ur-faixa { overflow: hidden; background: var(--loja); color: #fff; border-top: 2px solid #111; border-bottom: 2px solid #111; }
.ur-faixa-trilha { display: flex; gap: 22px; width: max-content; padding: 12px 0; animation: ur-corre 40s linear infinite; font-weight: 900; font-style: italic; text-transform: uppercase; white-space: nowrap; }
.ur-faixa-trilha i { font-style: normal; opacity: .8; }
@keyframes ur-corre { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ur-faixa-trilha { animation: none; } }
.vt-news + .ur-faixa, .ur-faixa + .ur-rodape { margin-top: 0; }
.ur-rodape h3 { font-weight: 900 !important; font-style: italic; text-transform: uppercase; color: var(--loja) !important; }
.ur-rodape-escuro .vt-marca img { filter: brightness(0) invert(1); }
.ur-rodape .vt-redes a { border-radius: 0; }
.ur-rodape .vt-redes a:hover { background: var(--loja); }
.ur-rodape .vt-pags span { border-radius: 0; }

/* ---------- pagina do produto ---------- */
body.vitrine.tema-urbano .rowtitle .title-icon { display: none; }
body.vitrine.tema-urbano .single-produto .galeria { border: 2px solid #111; border-radius: var(--raio) !important; background: var(--cinza); }
body.vitrine.tema-urbano .produto-detalhes .pd-nome { display: block !important; margin-bottom: 6px; }
body.vitrine.tema-urbano .pd-nome .nome span { font-size: 32px; font-weight: 900; font-style: italic; line-height: 1.1; text-transform: uppercase; color: #111; }
body.vitrine.tema-urbano .produto-detalhes .valor, body.vitrine.tema-urbano .produto-detalhes .valor span { font-size: 34px !important; font-weight: 900 !important; font-style: italic; color: #111 !important; }
body.vitrine.modo-loja.tema-urbano .line-variacao .thelabel { font-weight: 900 !important; font-style: italic; text-transform: uppercase; }
body.vitrine.modo-loja.tema-urbano .line-variacao .opcao { border-radius: 0 !important; border: 2px solid #111 !important; min-width: 50px; }
body.vitrine.modo-loja.tema-urbano .line-variacao .opcao .titulo { font-weight: 800 !important; }
body.vitrine.modo-loja.tema-urbano .line-variacao .opcao.active { background: #111 !important; box-shadow: 3px 3px 0 var(--loja) !important; }
body.vitrine.modo-loja.tema-urbano .line-variacao .opcao.active .titulo { color: #fff !important; }
body.vitrine.tema-urbano .subtotal-adicionar .col-md-6 { width: 100%; float: none; }
body.vitrine.tema-urbano .sacola-adicionar { display: flex !important; align-items: center; justify-content: center; float: none !important; width: 100%; height: 58px; margin-top: 12px; border-radius: 0 !important;
	border: 2px solid #111 !important; box-shadow: 6px 6px 0 #111 !important; font-size: 18px; font-weight: 900 !important; font-style: italic; text-transform: uppercase; }
body.vitrine.tema-urbano .sacola-adicionar:hover { transform: translate(2px, 2px); box-shadow: 3px 3px 0 #111 !important; }
body.vitrine.tema-urbano .pa-abas { border-bottom: 2px solid #111; }
body.vitrine.tema-urbano .pa-abas a, body.vitrine.tema-urbano .pa-abas button { font-weight: 800; font-style: italic; text-transform: uppercase; }
body.vitrine.tema-urbano .pa-abas .ativa { color: var(--loja) !important; }

/* ---------- carrinho (carrinho.php) e finalizar compra ---------- */
body.vitrine.tema-urbano .co-passos { font-weight: 800; font-style: italic; text-transform: uppercase; }
body.vitrine.tema-urbano .co-passos .atual { color: var(--loja); }
body.vitrine.tema-urbano .ck h1 { font-weight: 900; font-style: italic; text-transform: uppercase; font-size: 34px; }
body.vitrine.tema-urbano .ck-item, body.vitrine.tema-urbano .co-bloco { border: 2px solid #111; border-radius: var(--raio); }
body.vitrine.tema-urbano .ck-resumo { border: 2px solid #111; border-radius: var(--raio); box-shadow: 6px 6px 0 var(--loja); }
body.vitrine.tema-urbano .ck-resumo h2, body.vitrine.tema-urbano .co-bloco h2 { font-weight: 900; font-style: italic; text-transform: uppercase; }
body.vitrine.tema-urbano .co-bloco h2 span { border-radius: 0; background: #111; }
body.vitrine.tema-urbano .ck-valores .ck-tot { font-weight: 900; font-style: italic; }
body.vitrine.tema-urbano .ck-finalizar { border-radius: 0 !important; border: 2px solid #111 !important; box-shadow: 5px 5px 0 #111 !important; font-weight: 900 !important; font-style: italic; }
body.vitrine.tema-urbano .ck-qtd, body.vitrine.tema-urbano .ck-linha-form input, body.vitrine.tema-urbano .ck-linha-form button, body.vitrine.tema-urbano .co-campos input, body.vitrine.tema-urbano .co-opcao, body.vitrine.tema-urbano .ck-frete { border-radius: 0 !important; }
.ur-frete { display: flex; gap: 14px; align-items: center; padding: 14px 16px; border: 2px solid #111; background: #fff; }
.ur-frete > i { font-size: 26px; color: var(--loja); }
.ur-frete > div { flex: 1; display: grid; gap: 8px; }
.ur-frete p { margin: 0; font-size: 14px; font-weight: 600; }
.ur-frete b { color: var(--loja); }
.ur-frete span { height: 10px; border: 2px solid #111; background: #fff; overflow: hidden; }
.ur-frete span i { display: block; height: 100%; background: var(--loja); }

@media (max-width: 767px) {
	.tema-urbano .vt-secao-cab h2 { font-size: 22px; }
	.tema-urbano .vt-vantagens { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tema-urbano .vt-vantagens > * { border-bottom: 2px solid #111; }
	.ur-cupons { grid-template-columns: 1fr 1fr; }
	.ur-cupons p { border-right: 0; border-bottom: 1px dashed #bbb; }
	body.vitrine.tema-urbano .pd-nome .nome span { font-size: 24px; }
}
