/* Tema Zen (premium): yoga e bem-estar - salvia, areia e terracota, Lora nos titulos, formas organicas e respiro.
   Carregado depois do CSS do Vitrine e do premium.css (pagina do produto premium). */

.tema-zen { --zn-tinta: var(--titulos, #3d4a35); --zn-salvia: #6f8460; --zn-areia: #efe9df; --zn-terra: #c46a4a; --zn-creme: #f7f3ec; --zn-linha: #e4ddcf; --zn-organico: 46% 54% 52% 48% / 42% 46% 54% 58%; }
body.vitrine.tema-zen h1, body.vitrine.tema-zen h2, body.vitrine.tema-zen h3 { font-weight: 500 !important; }

/* titulos das secoes: Lora com folhinha e "ver tudo" sublinhado */
.tema-zen .vt-secao-cab { flex-direction: column; align-items: center; gap: 6px; margin-bottom: 28px; text-align: center; }
.tema-zen .vt-secao-cab h2 { font-size: 34px; color: var(--zn-tinta); }
.tema-zen .vt-secao-cab h2::before { content: ""; display: block; width: 22px; height: 22px; margin: 0 auto 8px; border-radius: 0 100% 0 100%; background: var(--zn-salvia); opacity: .8; transform: rotate(-10deg); }
.tema-zen .vt-secao-cab a { color: var(--zn-salvia) !important; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }

/* cartao: sem borda, foto areia com cantos organicos suaves */
.tema-zen .vt-card { border: 0; background: transparent; box-shadow: none !important; }
.tema-zen .vt-card-img { border-radius: 28px 28px 28px 6px; background: var(--zn-areia); }
.tema-zen .vt-card-info { padding: 14px 4px 4px; text-align: center; }
.tema-zen .vt-card-nome { font-size: 14.5px; font-weight: 400; color: #4a4a40; }
.tema-zen .vt-card-preco { justify-content: center; }
.tema-zen .vt-card-preco strong { font-family: var(--fonte-titulos), Georgia, serif; font-size: 19px; font-weight: 500; color: var(--zn-tinta); }
.tema-zen .ppc-marca { display: none; }
.tema-zen .vt-card-botao { display: flex; width: max-content; min-width: 120px; justify-content: center; padding: 0 24px; margin: 6px auto 0; border: 1px solid var(--zn-salvia); border-radius: 999px; background: transparent; color: var(--zn-salvia); }
.tema-zen .vt-card:hover .vt-card-botao { background: var(--zn-salvia); color: #fff; }
.tema-zen .ppc .ppc-ver { border-radius: 999px; background: var(--zn-creme); color: var(--zn-tinta); }
.tema-zen .vt-selo { border-radius: 999px; background: var(--zn-terra); color: #fff; }

/* bloco de respiracao (bloco HTML zn-respiro) */
.zn-respiro { position: relative; display: grid; grid-template-columns: auto repeat(3, minmax(0, 1fr)); align-items: center; gap: 28px; padding: 36px 40px; border-radius: 40px; background: #efe9df; }
.zn-respiro p { margin: 0; font-size: 15px; color: #4a4a40; }
.zn-respiro b { display: block; font-family: var(--fonte-titulos), Georgia, serif; font-size: 24px; font-weight: 500; color: #3d4a35; }
.zn-circulo { display: block; width: 92px; height: 92px; border-radius: 50%; background: radial-gradient(circle, rgba(111, 132, 96, .55), rgba(111, 132, 96, .15) 70%); box-shadow: 0 0 0 10px rgba(111, 132, 96, .08); animation: zn-respira 10s ease-in-out infinite; }
@keyframes zn-respira { 0%, 100% { transform: scale(.7); } 40%, 55% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .zn-circulo, .zn-sopro { animation: none !important; } }

/* mosaico, banners, depoimentos, blog, newsletter */
.tema-zen .hdl-mos-img { border-radius: 28px 28px 28px 6px !important; }
.tema-zen .hdl-mos-sobre a b { left: 50% !important; transform: translateX(-50%); bottom: 18px !important; border-radius: 999px !important; background: rgba(247, 243, 236, .92) !important; color: var(--zn-tinta); font-family: var(--fonte-titulos), Georgia, serif; font-weight: 500; box-shadow: none !important; white-space: nowrap; }
.tema-zen .hdl-hero { border-radius: 0; }
.tema-zen .hdl-hero .vt-botao { border-radius: 999px; }
.tema-zen .hdl-it-img img { border-radius: var(--zn-organico); }
.tema-zen .hdl-it-txt h2 { font-size: 38px; color: var(--zn-tinta); }
.tema-zen .hdl-depo figure { border: 0; border-radius: 28px; background: var(--zn-areia); }
.tema-zen .vt-blog a { border: 0; border-radius: 28px; background: #fff; overflow: hidden; }
.tema-zen .vt-blog strong { font-family: var(--fonte-titulos), Georgia, serif; font-weight: 500; color: var(--zn-tinta); }
body.vitrine.tema-zen .vt-news { border-radius: 40px; background: var(--zn-salvia); color: #fff; }
body.vitrine.tema-zen .vt-news h3 { color: #fff !important; }
body.vitrine.tema-zen .vt-news p { color: rgba(255, 255, 255, .82); }
body.vitrine.tema-zen .vt-news-campo input { border-radius: 999px; }
body.vitrine.tema-zen .vt-news-campo button { border-radius: 999px; background: var(--zn-tinta); }
.tema-zen .vt-vantagens > * { border: 0; border-radius: 24px; background: var(--zn-areia); }
.tema-zen .vt-vantagens i { border-radius: 50%; background: #fff; color: var(--zn-salvia); }

/* ---------- topo proprio (topo.php): creme, logotipo no centro, ponto no menu ---------- */
.zn-topo .vt-aviso { font-size: 12.5px; letter-spacing: .06em; }
.zn-topo .vt-marca img { width: auto; height: var(--logo-altura, 48px); max-width: 220px; border: 0; border-radius: 0; background: none; object-fit: contain; }
body.vitrine .zn-topo .vt-busca input { height: 40px; border: 1px solid #e4ddcf; border-radius: 999px; background: #fff; }
body.vitrine .zn-topo .vt-busca button { border-radius: 999px !important; background: transparent !important; color: #6f8460 !important; }
.zn-topo .vt-acao { color: #3d4a35 !important; }
.zn-topo .vt-acao:hover { background: #efe9df; color: #6f8460 !important; }
.zn-topo .vt-sacola .counter { background: #c46a4a; color: #fff; }
@media (min-width: 992px) {
	.zn-topo .vt-barra .container { position: relative; min-height: 96px; gap: 22px; }
	.zn-topo .vt-marca { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
	body.vitrine .zn-topo .vt-busca { flex: 0 1 300px; margin: 0; }
	.zn-topo .vt-acoes { margin-left: auto; }
	body.vitrine .zn-topo .vt-menu { background: #f7f3ec; border-top: 1px solid #e4ddcf; }
	.zn-topo .vt-menu .container { justify-content: center; gap: 6px; }
	body.vitrine .zn-topo .vt-menu > .container > a, body.vitrine .zn-topo .vt-menu-cat > a, body.vitrine .zn-topo .vt-menu-dep-link { position: relative; color: #3d4a35 !important; font-size: 15px; background: transparent !important; white-space: nowrap; }
	body.vitrine .zn-topo .vt-menu > .container > a::after, body.vitrine .zn-topo .vt-menu-cat > a::after { content: ""; position: absolute; left: 50%; bottom: 3px; width: 6px; height: 6px; margin-left: -3px; border-radius: 50%; background: #6f8460; transform: scale(0); transition: transform .25s; }
	body.vitrine .zn-topo .vt-menu > .container > a:hover::after, body.vitrine .zn-topo .vt-menu-cat:hover > a::after { transform: scale(1); }
	body.vitrine .zn-topo .vt-menu > .container > a:hover, body.vitrine .zn-topo .vt-menu-cat:hover > a { color: #6f8460 !important; }
	body.vitrine .zn-topo .vt-menu a.vt-ofertas { color: #c46a4a !important; }
	body.vitrine .zn-topo .vt-menu-cat > a > .lni-chevron-down { display: none; }
	body.vitrine .zn-topo .vt-mega-painel, body.vitrine .zn-topo .vt-menu-cat-lista, body.vitrine .zn-topo .vt-menu-dep-lista { border: 1px solid #e4ddcf; border-radius: 24px; background: #fff; box-shadow: 0 30px 60px rgba(61, 74, 53, .12); }
	body.vitrine .zn-topo .vt-mega-painel a, body.vitrine .zn-topo .vt-menu-cat-lista a, body.vitrine .zn-topo .vt-menu-dep-lista a { color: #3d4a35 !important; }
	body.vitrine .zn-topo .vt-mega-painel a::after, body.vitrine .zn-topo .vt-menu-cat-lista a::after { display: none; }
	body.vitrine .zn-topo .vt-mega-prod img { border-radius: 18px; background: #efe9df; }
}

/* ---------- rodape proprio (rodape.php): circulo que respira e folhinhas ---------- */
.zn-rodape { padding-top: 56px; }
.zn-assinatura { display: grid; justify-items: center; gap: 18px; padding-bottom: 44px; text-align: center; }
.zn-sopro { display: block; width: 64px; height: 64px; border-radius: 50%; border: 1px solid rgba(213, 217, 200, .5); background: radial-gradient(circle, rgba(213, 217, 200, .35), transparent 70%); animation: zn-respira 10s ease-in-out infinite; }
.zn-frase { max-width: 720px; margin: 0; font-family: var(--fonte-titulos), Georgia, serif; font-size: 30px; font-style: italic; line-height: 1.3; color: #f7f3ec; }
.zn-folhas { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 0; margin: 0; padding: 0; list-style: none; }
.zn-folhas li { display: flex; align-items: center; color: #d5d9c8; font-size: 13.5px; }
.zn-folhas li + li::before { content: ""; width: 9px; height: 9px; margin: 0 16px; border-radius: 0 100% 0 100%; background: #a9b894; }
.zn-rodape h3 { font-family: var(--fonte-titulos), Georgia, serif !important; font-weight: 500 !important; color: #f7f3ec !important; }
.zn-rodape .vt-redes a { border-radius: 50%; }

/* ---------- pagina do produto premium ---------- */
.tema-zen .pp, .tema-zen .ppa { --pp-titulo-tam: 36px; --pp-preco-tam: 30px; --pp-raio: 22px; --pp-raio-botao: 999px; --pp-suave: var(--zn-areia); --pp-borda: var(--zn-linha); --pp-acento: var(--zn-salvia); }
.tema-zen .pp-nome { font-weight: 500; }
.tema-zen .pp-marca { color: var(--zn-salvia); letter-spacing: .18em; }
.tema-zen .pp-foto, .tema-zen .pp-mini { background: var(--zn-areia); }
.tema-zen .pp-preco { background: var(--zn-creme); border: 0; }
.tema-zen .pp-preco-valor { font-family: var(--fonte-titulos), Georgia, serif; font-weight: 500; }
.tema-zen .pp-preco-off { border-radius: 999px; background: var(--zn-terra); color: #fff; }
.tema-zen .pp .opcao.pp-op.active { --pp-op-borda: var(--zn-salvia); --pp-op-fundo: var(--zn-salvia); --pp-op-cor: #fff; }
.tema-zen .pp .pp-var-cores .opcao.pp-op.active { --pp-op-fundo: #fff; --pp-op-cor: var(--zn-tinta); }
.tema-zen .pp .pp-botao { background: var(--zn-salvia); color: #fff; --pp-b-sombra: none; --pp-b-peso: 500; }
.tema-zen .pp .pp-botao:hover { background: var(--zn-tinta); color: #fff; }
.tema-zen .pp .pp-agora { border-color: var(--zn-salvia); color: var(--zn-tinta); }
.tema-zen .pp .pp-agora:hover { background: var(--zn-areia); }
.tema-zen .pp-selo { border-radius: 999px; background: var(--zn-terra); color: #fff; }
.tema-zen .pp-garantias svg { border-radius: 50%; background: var(--zn-areia); color: var(--zn-salvia); }
.tema-zen .ppa .ppa-abas button { font-family: var(--fonte-titulos), Georgia, serif; font-weight: 500; }
.tema-zen .ppa-destaques li { background: var(--zn-creme); border: 0; border-radius: 18px; }
.tema-zen .ppa-destaques li::before { background-color: var(--zn-salvia); }

/* ---------- carrinho (carrinho.php): pedras de equilibrio ---------- */
body.vitrine.tema-zen .ck h1 { font-size: 40px; color: var(--zn-tinta); }
body.vitrine.tema-zen .co-passos .atual { color: var(--zn-salvia); }
body.vitrine.tema-zen .ck-item, body.vitrine.tema-zen .co-bloco { border: 1px solid var(--zn-linha); border-radius: 24px; background: #fff; }
body.vitrine.tema-zen .ck-foto img { background: var(--zn-areia); border-radius: 18px; }
body.vitrine.tema-zen .ck-resumo { border: 0; border-radius: 28px; background: var(--zn-creme); }
body.vitrine.tema-zen .ck-finalizar { border-radius: 999px !important; background: #6f8460 !important; color: #fff !important; }
.zn-frete { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 6px 18px; padding: 16px 22px; border-radius: 24px; background: #efe9df; }
.zn-frete p { grid-column: 2; margin: 0; font-size: 14px; }
.zn-frete p b { color: #6f8460; }
.zn-pedras { grid-row: span 2; display: flex; flex-direction: column-reverse; align-items: center; width: 52px; }
.zn-pedras i { display: block; border-radius: 50%; background: #8a8f7c; transition: opacity .4s; }
.zn-pedras i:nth-child(1) { width: 46px; height: 16px; opacity: clamp(.18, calc(var(--zn-p) / 33), 1); }
.zn-pedras i:nth-child(2) { width: 34px; height: 13px; margin-bottom: -1px; background: #a3a893; opacity: clamp(.18, calc((var(--zn-p) - 33) / 33), 1); }
.zn-pedras i:nth-child(3) { width: 22px; height: 11px; margin-bottom: -1px; background: #6f8460; opacity: clamp(.18, calc((var(--zn-p) - 66) / 34), 1); }
.zn-barra { grid-column: 2; display: block; height: 6px; border-radius: 6px; background: #fff; overflow: hidden; }
.zn-barra i { display: block; height: 100%; border-radius: 6px; background: #6f8460; transition: width .6s ease; }

@media (max-width: 991px) { .zn-respiro { grid-template-columns: auto 1fr; } .zn-circulo { grid-row: span 3; } }
@media (max-width: 767px) {
	.tema-zen .vt-secao-cab h2 { font-size: 26px; }
	.zn-respiro { gap: 14px 18px; padding: 24px; border-radius: 28px; }
	.zn-circulo { width: 64px; height: 64px; }
	.zn-respiro b { font-size: 19px; }
	.zn-frase { font-size: 22px; }
	.zn-topo .vt-marca img { height: 50px; max-width: 150px; }
	.tema-zen .pp, .tema-zen .ppa { --pp-titulo-tam: 28px; --pp-preco-tam: 26px; }
}
