/* Tema Curvas (premium): moda plus size - terracota, rose e chocolate, Playfair Display nos titulos, cantos arredondados
   e tracos curvos. Carregado depois do CSS do Vitrine e do premium.css (pagina do produto premium). */

.tema-curvas { --cv-tinta: var(--titulos, #3a2320); --cv-terra: #b84a3c; --cv-rose: #f6e3dc; --cv-rose2: #fbf1ec; --cv-linha: #ecd8d0; --cv-curva: radial-gradient(60% 100% at 50% 0, transparent 62%, currentColor 63%, currentColor 72%, transparent 73%); }

/* titulos das secoes: serifa com traco curvo terracota embaixo */
.tema-curvas .vt-secao-cab { flex-direction: column; align-items: center; gap: 4px; margin-bottom: 26px; text-align: center; }
.tema-curvas .vt-secao-cab h2 { font-size: 36px; font-weight: 600 !important; color: var(--cv-tinta); }
.tema-curvas .vt-secao-cab h2::after { content: ""; display: block; width: 70px; height: 12px; margin: 6px auto 0; color: var(--cv-terra); background: var(--cv-curva); }
.tema-curvas .vt-secao-cab a { color: var(--cv-terra) !important; font-size: 13px; font-weight: 600; }

/* cartao: foto rose em pe, cantos grandes, botao contorno terracota */
.tema-curvas .vt-card { border: 0; background: transparent; box-shadow: none !important; }
.tema-curvas .vt-card-img { border-radius: 26px; background: var(--cv-rose); }
.tema-curvas .vt-card-info { padding: 14px 6px 4px; text-align: center; }
.tema-curvas .vt-card-nome { font-size: 14.5px; color: #4a3330; }
.tema-curvas .vt-card-preco { justify-content: center; }
.tema-curvas .vt-card-preco strong { font-family: var(--fonte-titulos), Georgia, serif; font-size: 21px; font-weight: 600; color: var(--cv-tinta); }
.tema-curvas .ppc-marca { display: none; }
.tema-curvas .vt-card-botao { display: flex; width: max-content; min-width: 130px; justify-content: center; margin: 8px auto 0; padding: 0 24px; border: 1.5px solid var(--cv-terra); border-radius: 999px; background: transparent; color: var(--cv-terra); font-weight: 600; }
.tema-curvas .vt-card:hover .vt-card-botao { background: var(--cv-terra); color: #fff; }
.tema-curvas .ppc .ppc-ver { border-radius: 999px; background: rgba(255, 250, 247, .95); color: var(--cv-tinta); }
.tema-curvas .vt-selo { border-radius: 999px; background: var(--cv-terra); color: #fff; font-weight: 600; }

/* guia de medidas (bloco Destaques) */
.cv-medidas { display: grid; justify-items: center; gap: 22px; padding: 40px 32px; border-radius: 36px; background: #f6e3dc; text-align: center; }
.cv-medidas-cab { display: grid; gap: 6px; }
.cv-medidas-cab small { font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #b84a3c; }
.cv-medidas-cab h2 { margin: 0; font-family: var(--fonte-titulos), Georgia, serif; font-size: 34px; font-weight: 600; color: #3a2320; }
.cv-medidas-cab p { margin: 0; color: #6b4c46; }
.cv-medidas-lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; width: 100%; }
.cv-medida { display: grid; gap: 4px; padding: 22px 16px; border-radius: 24px; background: #fffaf7; color: #3a2320; text-decoration: none; }
a.cv-medida:hover { box-shadow: 0 0 0 2px #b84a3c; }
.cv-medida b { font-family: var(--fonte-titulos), Georgia, serif; font-size: 30px; font-weight: 600; color: #b84a3c; line-height: 1.1; }
.cv-medida strong { font-size: 15px; }
.cv-medida span { font-size: 13.5px; color: #6b4c46; }
.cv-medidas-botao { display: inline-flex; align-items: center; height: 46px; padding: 0 26px; border-radius: 999px; background: #3a2320; color: #fff !important; font-weight: 600; text-decoration: none; }
.cv-medidas-botao:hover { background: #b84a3c; }

/* mosaico, banners, depoimentos, blog, newsletter */
.tema-curvas .hdl-mos-img { border-radius: 26px !important; }
.tema-curvas .hdl-mos-sobre a b { left: 50% !important; transform: translateX(-50%); bottom: 18px !important; border-radius: 999px !important; background: rgba(255, 250, 247, .94) !important; color: var(--cv-tinta); font-family: var(--fonte-titulos), Georgia, serif; font-weight: 600; box-shadow: none !important; white-space: nowrap; }
.tema-curvas .hdl-hero { border-radius: 28px; overflow: hidden; }
.tema-curvas .hdl-hero .vt-botao { border-radius: 999px; }
.tema-curvas .hdl-it-img img { border-radius: 200px 200px 28px 28px; }
.tema-curvas .hdl-it-txt h2 { font-size: 40px; color: var(--cv-tinta); }
.tema-curvas .hdl-depo figure { border: 0; border-radius: 26px; background: var(--cv-rose2); }
.tema-curvas .vt-blog a { border: 0; border-radius: 26px; background: #fff; overflow: hidden; }
.tema-curvas .vt-blog strong { font-family: var(--fonte-titulos), Georgia, serif; font-weight: 600; color: var(--cv-tinta); }
body.vitrine.tema-curvas .vt-news { border-radius: 32px; background: var(--cv-terra); color: #fff; }
body.vitrine.tema-curvas .vt-news h3 { color: #fff !important; }
body.vitrine.tema-curvas .vt-news p { color: #fbe1d8; }
body.vitrine.tema-curvas .vt-news-campo button { border-radius: 999px; background: var(--cv-tinta); }
.tema-curvas .vt-vantagens > * { border: 0; border-radius: 22px; background: var(--cv-rose2); }
.tema-curvas .vt-vantagens i { border-radius: 50%; background: #fff; color: var(--cv-terra); }

/* ---------- topo proprio (topo.php): rose, busca arredondada, traco curvo no menu ---------- */
.cv-topo .vt-marca img { width: auto; height: var(--logo-altura, 52px); max-width: 230px; border: 0; border-radius: 0; background: none; object-fit: contain; mix-blend-mode: multiply; }
body.vitrine .cv-topo .vt-busca input { height: 46px; border: 1.5px solid #ecd8d0; border-radius: 999px; background: #fff; }
body.vitrine .cv-topo .vt-busca input:focus { border-color: #b84a3c; box-shadow: none; }
body.vitrine .cv-topo .vt-busca button { border-radius: 999px !important; background: #b84a3c !important; color: #fff !important; }
.cv-topo .vt-acao { color: #3a2320 !important; }
.cv-topo .vt-acao:hover { background: #f6e3dc; color: #b84a3c !important; }
.cv-topo .vt-sacola .counter { background: #b84a3c; color: #fff; }
@media (min-width: 992px) {
	.cv-topo .vt-barra .container { min-height: 90px; }
	body.vitrine .cv-topo .vt-busca { flex: 1 1 460px; max-width: 500px; margin: 0 auto; }
	body.vitrine .cv-topo .vt-menu { background: #fbf1ec; border-top: 1px solid #ecd8d0; }
	.cv-topo .vt-menu .container { justify-content: center; gap: 6px; }
	body.vitrine .cv-topo .vt-menu > .container > a, body.vitrine .cv-topo .vt-menu-cat > a, body.vitrine .cv-topo .vt-menu-dep-link { position: relative; color: #3a2320 !important; font-size: 15px; font-weight: 500; background: transparent !important; white-space: nowrap; }
	body.vitrine .cv-topo .vt-menu > .container > a::after, body.vitrine .cv-topo .vt-menu-cat > a::after { content: ""; position: absolute; left: 50%; bottom: 2px; width: 34px; height: 8px; margin-left: -17px; color: #b84a3c; background: radial-gradient(60% 100% at 50% 0, transparent 62%, currentColor 63%, currentColor 74%, transparent 75%); opacity: 0; transition: opacity .2s; }
	body.vitrine .cv-topo .vt-menu > .container > a:hover::after, body.vitrine .cv-topo .vt-menu-cat:hover > a::after { opacity: 1; }
	body.vitrine .cv-topo .vt-menu > .container > a:hover, body.vitrine .cv-topo .vt-menu-cat:hover > a { color: #b84a3c !important; }
	body.vitrine .cv-topo .vt-menu a.vt-ofertas { color: #b84a3c !important; font-weight: 700; }
	body.vitrine .cv-topo .vt-menu-cat > a > .lni-chevron-down { display: none; }
	body.vitrine .cv-topo .vt-mega-painel, body.vitrine .cv-topo .vt-menu-cat-lista, body.vitrine .cv-topo .vt-menu-dep-lista { border: 1px solid #ecd8d0; border-radius: 26px; background: #fff; box-shadow: 0 30px 60px rgba(58, 35, 32, .14); }
	body.vitrine .cv-topo .vt-mega-painel a, body.vitrine .cv-topo .vt-menu-cat-lista a, body.vitrine .cv-topo .vt-menu-dep-lista a { color: #3a2320 !important; }
	body.vitrine .cv-topo .vt-mega-painel a::after, body.vitrine .cv-topo .vt-menu-cat-lista a::after { display: none; }
	body.vitrine .cv-topo .vt-mega-prod img { border-radius: 18px; background: #f6e3dc; }
}

/* ---------- rodape proprio (rodape.php): frase com traco curvo e etiquetas ---------- */
.cv-rodape { padding-top: 56px; }
.cv-assinatura { display: grid; justify-items: center; gap: 12px; padding-bottom: 44px; text-align: center; }
.cv-frase { max-width: 760px; margin: 0; font-family: var(--fonte-titulos), Georgia, serif; font-size: 34px; font-style: italic; line-height: 1.25; color: #fdf4ef; }
.cv-traco { display: block; width: 120px; height: 14px; color: #e08a7c; background: radial-gradient(60% 100% at 50% 0, transparent 62%, currentColor 63%, currentColor 72%, transparent 73%); }
.cv-etiquetas { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 8px 0 0; padding: 0; list-style: none; }
.cv-etiquetas li { padding: 8px 16px; border: 1px solid rgba(227, 201, 191, .35); border-radius: 999px; color: #f3dcd3; font-size: 13px; }
.cv-rodape h3 { font-family: var(--fonte-titulos), Georgia, serif !important; color: #fdf4ef !important; }
.cv-rodape .vt-redes a { border-radius: 50%; }

/* ---------- pagina do produto premium ---------- */
.tema-curvas .pp, .tema-curvas .ppa { --pp-titulo-tam: 38px; --pp-preco-tam: 32px; --pp-raio: 24px; --pp-raio-botao: 999px; --pp-suave: var(--cv-rose); --pp-borda: var(--cv-linha); --pp-acento: var(--cv-terra); }
.tema-curvas .pp-nome { font-weight: 600; }
.tema-curvas .pp-marca { color: var(--cv-terra); letter-spacing: .14em; }
.tema-curvas .pp-foto, .tema-curvas .pp-mini { background: var(--cv-rose); }
.tema-curvas .pp-preco { background: var(--cv-rose2); border: 0; }
.tema-curvas .pp-preco-valor { font-family: var(--fonte-titulos), Georgia, serif; font-weight: 600; }
.tema-curvas .pp-preco-off { border-radius: 999px; background: var(--cv-terra); color: #fff; }
.tema-curvas .pp .opcao.pp-op.active { --pp-op-borda: var(--cv-terra); --pp-op-fundo: var(--cv-terra); --pp-op-cor: #fff; }
.tema-curvas .pp .pp-var-cores .opcao.pp-op.active { --pp-op-fundo: #fff; --pp-op-cor: var(--cv-tinta); }
.tema-curvas .pp .pp-botao { background: var(--cv-terra); color: #fff; --pp-b-sombra: 0 10px 22px rgba(184, 74, 60, .28); --pp-b-peso: 600; }
.tema-curvas .pp .pp-botao:hover { background: #9c3a2e; color: #fff; }
.tema-curvas .pp .pp-agora { border-color: var(--cv-tinta); color: var(--cv-tinta); }
.tema-curvas .pp .pp-agora:hover { background: var(--cv-tinta); color: #fff; }
.tema-curvas .pp-selo { border-radius: 999px; background: var(--cv-terra); color: #fff; }
.tema-curvas .pp-garantias svg { border-radius: 50%; background: var(--cv-rose); color: var(--cv-terra); }
.tema-curvas .ppa .ppa-titulo { font-family: var(--fonte-titulos), Georgia, serif; font-size: 22px; font-weight: 600; }
.tema-curvas .ppa-destaques li { background: var(--cv-rose2); border: 0; border-radius: 18px; }
.tema-curvas .ppa-destaques li::before { background-color: var(--cv-terra); }

/* ---------- carrinho (carrinho.php): fita metrica ---------- */
body.vitrine.tema-curvas .ck h1 { font-size: 40px; color: var(--cv-tinta); }
body.vitrine.tema-curvas .co-passos .atual { color: var(--cv-terra); }
body.vitrine.tema-curvas .ck-item, body.vitrine.tema-curvas .co-bloco { border: 1px solid var(--cv-linha); border-radius: 24px; background: #fff; }
body.vitrine.tema-curvas .ck-foto img { background: var(--cv-rose); border-radius: 18px; }
body.vitrine.tema-curvas .ck-resumo { border: 0; border-radius: 28px; background: var(--cv-rose2); }
body.vitrine.tema-curvas .ck-finalizar { border-radius: 999px !important; background: #b84a3c !important; color: #fff !important; }
.cv-frete { display: grid; gap: 10px; padding: 16px 20px; border-radius: 24px; background: #fff; border: 1px solid #ecd8d0; }
.cv-frete p { margin: 0; font-size: 14px; }
.cv-frete p b { color: #b84a3c; }
.cv-fita { display: block; height: 22px; border-radius: 4px; background: #f6e3dc; overflow: hidden; }
.cv-fita i { display: block; height: 100%; background: repeating-linear-gradient(90deg, #3a2320 0 1px, transparent 1px 8px) 0 0 / 100% 7px no-repeat, repeating-linear-gradient(90deg, #3a2320 0 1px, transparent 1px 40px) 0 0 / 100% 12px no-repeat, #f2c14e; border-right: 2px solid #3a2320; transition: width .6s ease; }

@media (max-width: 767px) {
	.tema-curvas .vt-secao-cab h2 { font-size: 27px; }
	.cv-medidas { padding: 26px 16px; border-radius: 26px; }
	.cv-medidas-cab h2 { font-size: 26px; }
	.cv-medidas-lista { grid-template-columns: 1fr 1fr; gap: 10px; }
	.cv-frase { font-size: 24px; }
	.cv-topo .vt-marca img { height: 40px; max-width: 160px; }
	.tema-curvas .pp, .tema-curvas .ppa { --pp-titulo-tam: 28px; --pp-preco-tam: 28px; }
}
