/* Tema Carrossel: alegre e arredondado - cantos bem redondos, bordas onduladas, bolinhas coloridas e titulos em fonte
   arredondada. Carregado depois do CSS do Vitrine. As cores do lojista continuam valendo (--loja, --topo, --rodape...). */

.tema-carrossel { --cr-azul: #2b6ff0; --cr-amarelo: #ffb703; --cr-verde: #22b07d; --cr-roxo: #9b5de5; --cr-laranja: #ff7a45; --cr-creme: #fdf8f0; --cr-tinta: var(--titulos, #2b2d5c); }
body.vitrine.tema-carrossel h1, body.vitrine.tema-carrossel h2, body.vitrine.tema-carrossel h3 { font-family: var(--fonte-titulos), var(--fonte), sans-serif; }

/* titulos das secoes: centralizados, com tres bolinhas coloridas embaixo */
.tema-carrossel .vt-secao-cab { flex-direction: column; align-items: center; gap: 6px; margin-bottom: 26px; text-align: center; }
.tema-carrossel .vt-secao-cab h2 { font-size: 30px; font-weight: 600; color: var(--cr-tinta); letter-spacing: 0; }
.tema-carrossel .vt-secao-cab h2::before { content: none; }
.tema-carrossel .vt-secao-cab h2::after { content: ""; display: block; width: 46px; height: 10px; margin: 10px auto 0; background: radial-gradient(circle, var(--loja) 4px, transparent 5px) 0 0 / 15px 10px, radial-gradient(circle, var(--cr-amarelo) 4px, transparent 5px) 15px 0 / 15px 10px no-repeat, radial-gradient(circle, var(--cr-azul) 4px, transparent 5px) 30px 0 / 15px 10px no-repeat; background-repeat: no-repeat; }
.tema-carrossel .vt-secao-cab a { font-weight: 700; color: var(--loja) !important; }

/* cartao do produto: bem arredondado, foto sobre fundo pastel que muda de cor, botao em pilula */
.tema-carrossel .vt-card { border: 0; border-radius: 26px; background: #fff; box-shadow: 0 6px 22px rgba(43, 45, 92, .09); overflow: hidden; }
.tema-carrossel .vt-card:hover { transform: translateY(-6px) rotate(-.6deg); box-shadow: 0 16px 34px rgba(43, 45, 92, .16); }
.tema-carrossel .vt-card-img { background: #fff1f2; border-radius: 22px; margin: 8px 8px 0; }
.tema-carrossel .vt-card:nth-child(5n+2) .vt-card-img { background: #eaf2ff; }
.tema-carrossel .vt-card:nth-child(5n+3) .vt-card-img { background: #fff7e0; }
.tema-carrossel .vt-card:nth-child(5n+4) .vt-card-img { background: #e6f7ef; }
.tema-carrossel .vt-card:nth-child(5n+5) .vt-card-img { background: #f3ecff; }
.tema-carrossel .vt-card-img img { mix-blend-mode: multiply; }
.tema-carrossel .vt-card-nome { font-weight: 700; color: var(--cr-tinta); }
.tema-carrossel .vt-card-preco strong { font-family: var(--fonte-titulos), sans-serif; font-weight: 600; font-size: 21px; color: var(--loja); }
.tema-carrossel .vt-card-botao { border-radius: 999px; background: var(--cr-tinta); color: #fff; font-weight: 700; }
.tema-carrossel .vt-card:hover .vt-card-botao { background: var(--loja); }
.tema-carrossel .vt-selo { width: 52px; height: 52px; padding: 0; display: grid; place-items: center; border-radius: 50%; background: var(--cr-amarelo); color: var(--cr-tinta); font-family: var(--fonte-titulos), sans-serif; font-weight: 700; font-size: 14px; transform: rotate(-12deg); box-shadow: 0 4px 10px rgba(0, 0, 0, .12); }
.tema-carrossel .vt-selo.cinza { background: var(--cr-azul); color: #fff; }

/* vantagens: icones redondos, cada um de uma cor */
.tema-carrossel .vt-vantagens > * { border: 2px dashed #e7e3f5; border-radius: 22px; background: #fff; }
.tema-carrossel .vt-vantagens i { border-radius: 50%; background: var(--loja); color: #fff; }
.tema-carrossel .vt-vantagens > *:nth-child(4n+2) i { background: var(--cr-azul); }
.tema-carrossel .vt-vantagens > *:nth-child(4n+3) i { background: var(--cr-amarelo); }
.tema-carrossel .vt-vantagens > *:nth-child(4n+4) i { background: var(--cr-verde); }
.tema-carrossel .vt-vantagens b { font-family: var(--fonte-titulos), sans-serif; font-weight: 600; font-size: 15.5px; color: var(--cr-tinta); }

/* "compre por idade" (bloco HTML da pagina inicial): bolhas coloridas */
.cr-idades-tit { margin: 0 0 18px; text-align: center; font-size: 30px; font-weight: 600; color: var(--titulos, #2b2d5c); }
.cr-idades { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
.cr-idades a { --c: var(--loja); display: grid; place-items: center; align-content: center; width: 132px; height: 132px; border-radius: 50%; background: var(--c); color: #fff !important; text-decoration: none !important; box-shadow: inset 0 -8px 0 rgba(0, 0, 0, .12), 0 8px 18px rgba(43, 45, 92, .15); transition: transform .2s; }
.cr-idades a:nth-child(5n+2) { --c: #2b6ff0; } .cr-idades a:nth-child(5n+3) { --c: #ffb703; } .cr-idades a:nth-child(5n+4) { --c: #22b07d; } .cr-idades a:nth-child(5n+5) { --c: #9b5de5; }
.cr-idades a:hover { transform: translateY(-6px) rotate(4deg); }
.cr-idades b { font-family: var(--fonte-titulos), sans-serif; font-size: 34px; font-weight: 700; line-height: 1; }
.cr-idades span { font-weight: 700; font-size: 14px; opacity: .92; }

/* banners com texto, imagem e texto, blog, avaliacoes, instagram */
.tema-carrossel .hdl-hero h2 { font-family: var(--fonte-titulos), sans-serif; font-weight: 700; text-shadow: 0 3px 0 rgba(0, 0, 0, .15); }
.tema-carrossel .hdl-hero .vt-botao { border-radius: 999px; background: #fff !important; color: var(--cr-tinta) !important; font-weight: 800; box-shadow: 0 5px 0 rgba(0, 0, 0, .15); }
.tema-carrossel .hdl-it-img img { border-radius: 40px 40px 40px 8px; }
.tema-carrossel .hdl-it-txt h2 { font-weight: 600; font-size: 38px; color: var(--cr-tinta); }
.tema-carrossel .vt-blog a { border: 0; border-radius: 26px; box-shadow: 0 6px 22px rgba(43, 45, 92, .09); }
.tema-carrossel .vt-blog strong { font-family: var(--fonte-titulos), sans-serif; font-weight: 600; color: var(--cr-tinta); }
.tema-carrossel .hdl-depo figure { border: 0; border-radius: 28px 28px 28px 6px; background: var(--cr-creme); }
.tema-carrossel .hdl-depo-nota { color: var(--cr-amarelo); }
.tema-carrossel .hdl-insta a { border-radius: 24px; overflow: hidden; }
body.vitrine.tema-carrossel .vt-news { background: var(--cr-amarelo); color: var(--cr-tinta); }
body.vitrine.tema-carrossel .vt-news::before { opacity: .25; }
body.vitrine.tema-carrossel .vt-news h3 { color: var(--cr-tinta) !important; font-family: var(--fonte-titulos), sans-serif; font-weight: 600; font-size: 28px; }
body.vitrine.tema-carrossel .vt-news p, body.vitrine.tema-carrossel .vt-news-aceite { color: #5b4a12; }
body.vitrine.tema-carrossel .vt-news-ico { background: #fff; color: var(--loja); border-radius: 50%; }
body.vitrine.tema-carrossel .vt-news-campo { border-radius: 999px; background: #fff; box-shadow: 0 6px 0 rgba(0, 0, 0, .08); }
body.vitrine.tema-carrossel .vt-news-campo button { border-radius: 999px; background: var(--loja); font-weight: 800; }

/* ---------- topo proprio (topo.php): redes a esquerda, logotipo no centro, busca e icones a direita, borda ondulada ---------- */
.cr-topo { position: relative; z-index: 30; }
.cr-topo .vt-aviso { font-weight: 700; }
.cr-redes { display: flex; align-items: center; gap: 8px; }
.cr-redes > a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--fundo, #f5f6f8); color: var(--loja) !important; font-size: 18px; text-decoration: none !important; transition: transform .2s; }
.cr-redes > a:hover { transform: translateY(-3px) rotate(-8deg); background: var(--loja); color: #fff !important; }
.cr-fale { display: grid; margin-left: 8px; line-height: 1.15; }
.cr-fale small { font-size: 12px; color: var(--sub); }
.cr-fale b { font-size: 14px; color: var(--topo-texto, #2b2d5c); }
.cr-direita { display: flex; align-items: center; justify-content: flex-end; gap: 10px; min-width: 0; }
.cr-topo .vt-marca img { width: auto; height: var(--logo-altura, 52px); max-width: 260px; border: 0; border-radius: 0; background: none; object-fit: contain; }
body.vitrine .cr-topo .vt-busca { flex: 1 1 180px; min-width: 150px; max-width: 300px; margin: 0; }
body.vitrine .cr-topo .vt-busca input { height: 44px; padding: 0 50px 0 18px; border: 2px solid #ece8f6; background: #fff; }
body.vitrine .cr-topo .vt-busca button { right: 4px; width: 36px !important; height: 36px; padding: 0; display: grid; place-items: center; font-size: 16px; }
.cr-topo .vt-acao > i, .cr-topo .vt-acao .shop-bag > i { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--fundo, #f5f6f8); font-size: 20px; }
.cr-topo .vt-acao:hover { background: transparent; }
.cr-topo .vt-acao span { white-space: nowrap; }
.cr-topo .vt-acao:hover > i, .cr-topo .vt-sacola:hover .shop-bag > i { background: var(--loja); color: #fff !important; }
.cr-topo .vt-sacola .counter { background: var(--cr-amarelo); color: var(--cr-tinta); }
.cr-onda { display: block; width: 100%; height: 14px; fill: var(--topo, #fff); position: absolute; left: 0; bottom: -13px; filter: drop-shadow(0 4px 3px rgba(43, 45, 92, .06)); pointer-events: none; }
@media (min-width: 992px) {
	.cr-topo .vt-barra .container { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 24px; min-height: 92px; }
	body.vitrine .cr-topo .vt-menu { border-top: 2px dashed #eeeaf7; }
	.cr-topo .vt-menu .container { justify-content: center; gap: 6px; }
	body.vitrine .cr-topo .vt-menu > .container > a, body.vitrine .cr-topo .vt-menu-cat > a, body.vitrine .cr-topo .vt-menu-dep-link, body.vitrine .cr-topo .vt-menu .vt-menu-item { font-family: var(--fonte-titulos), sans-serif; font-weight: 500; font-size: 15px; border-radius: 999px; padding: 7px 12px; white-space: nowrap; }
	body.vitrine .cr-topo .vt-menu > .container > a:hover, body.vitrine .cr-topo .vt-menu-cat:hover > a { background: var(--loja); color: #fff !important; }
	body.vitrine .cr-topo .vt-menu a.vt-ofertas { background: var(--cr-amarelo); color: var(--cr-tinta) !important; }
	body.vitrine .cr-topo .vt-mega-painel, body.vitrine .cr-topo .vt-menu-cat-lista { border-radius: 26px; }
}
@media (min-width: 992px) and (max-width: 1299px) {
	.cr-topo .vt-acao span, .cr-fale { display: none; }
	body.vitrine .cr-topo .vt-menu > .container > a, body.vitrine .cr-topo .vt-menu-cat > a, body.vitrine .cr-topo .vt-menu-dep-link { font-size: 14px; padding: 6px 9px; }
}
@media (max-width: 991px) {
	.cr-direita { display: contents; }
	.cr-topo .vt-marca img { height: calc(var(--logo-altura, 52px) * .8); }
}

/* ---------- rodape proprio (rodape.php): onda no alto, confetes, avisos em baloes e logotipo num selo ---------- */
.cr-rodape { position: relative; margin-top: 46px; padding-top: 18px; background-image: radial-gradient(circle, rgba(255, 255, 255, .09) 3px, transparent 4px), radial-gradient(circle, rgba(255, 183, 3, .25) 3px, transparent 4px); background-size: 46px 46px, 70px 70px; background-position: 0 0, 23px 30px; }
.cr-onda-rodape { position: absolute; left: 0; top: -38px; width: 100%; height: 40px; fill: var(--rodape, #2b2d5c); }
.cr-baloes { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; padding-bottom: 26px; }
.cr-baloes span { padding: 8px 18px; border-radius: 999px; background: var(--loja); color: #fff; font-weight: 800; font-size: 13.5px; box-shadow: inset 0 -4px 0 rgba(0, 0, 0, .14); }
.cr-baloes span:nth-child(4n+2) { background: var(--cr-azul); } .cr-baloes span:nth-child(4n+3) { background: var(--cr-amarelo); color: var(--cr-tinta); } .cr-baloes span:nth-child(4n+4) { background: var(--cr-verde); }
.cr-rodape .cr-selo img { width: auto; height: 46px; max-width: 220px; padding: 14px 22px; box-sizing: content-box; border-radius: 999px; background: #fff; border: 0; object-fit: contain; }
.cr-rodape h3 { font-family: var(--fonte-titulos), sans-serif; font-weight: 600 !important; font-size: 19px !important; color: var(--rodape-titulo) !important; }
.cr-rodape h3::after { content: ""; display: block; width: 30px; height: 6px; margin-top: 8px; border-radius: 6px; background: var(--loja); }
.cr-rodape > .container > div:nth-child(3) h3::after { background: var(--cr-amarelo); }
.cr-rodape > .container > div:nth-child(4) h3::after { background: var(--cr-azul); }
.cr-rodape .vt-redes a { border-radius: 50%; }
.cr-rodape .vt-redes a:hover { background: var(--loja); transform: rotate(-10deg); }
.cr-rodape .vt-pags span { border-radius: 999px; }
.cr-rodape .vt-rodape-base { border-top: 2px dashed rgba(255, 255, 255, .15); }

/* ---------- pagina do produto ---------- */
body.vitrine.tema-carrossel .rowtitle .title-icon { display: none; }
body.vitrine.tema-carrossel .single-produto { border-radius: 34px; }
body.vitrine.tema-carrossel .single-produto .galeria { border: 3px dashed #eee8f8; border-radius: 30px !important; background: var(--cr-creme); }
body.vitrine.tema-carrossel .produto-detalhes .pd-nome { display: block !important; margin-bottom: 8px; }
body.vitrine.tema-carrossel .pd-nome .nome span { font-family: var(--fonte-titulos), sans-serif; font-size: 34px; font-weight: 600; line-height: 1.12; color: var(--cr-tinta); }
body.vitrine.tema-carrossel .pd-marca a { display: inline-block; padding: 3px 14px; border-radius: 999px; background: #eaf2ff; color: var(--cr-azul) !important; font-weight: 700; text-decoration: none !important; }
body.vitrine.tema-carrossel .produto-detalhes .valor { display: inline-block; padding: 8px 20px; border-radius: 999px; background: var(--cr-amarelo); box-shadow: inset 0 -5px 0 rgba(0, 0, 0, .1); }
body.vitrine.tema-carrossel .produto-detalhes .valor, body.vitrine.tema-carrossel .produto-detalhes .valor span { font-family: var(--fonte-titulos), sans-serif; font-size: 32px !important; font-weight: 700 !important; color: var(--cr-tinta) !important; }
body.vitrine.modo-loja.tema-carrossel .line-variacao .thelabel { font-family: var(--fonte-titulos), sans-serif; font-weight: 600 !important; }
body.vitrine.modo-loja.tema-carrossel .line-variacao .opcao { border-radius: 999px !important; border: 2px solid #e7e3f5 !important; }
body.vitrine.modo-loja.tema-carrossel .line-variacao .opcao.active { background: var(--loja) !important; border-color: var(--loja) !important; }
body.vitrine.modo-loja.tema-carrossel .line-variacao .opcao.active .titulo { color: #fff !important; }
body.vitrine.tema-carrossel .subtotal-adicionar .col-md-6 { width: 100%; float: none; }
body.vitrine.tema-carrossel .sacola-adicionar { display: flex !important; align-items: center; justify-content: center; gap: 10px; float: none !important; width: 100%; height: 62px; margin-top: 14px; border-radius: 999px !important;
	border: 0 !important; box-shadow: inset 0 -6px 0 rgba(0, 0, 0, .16), 0 10px 22px color-mix(in srgb, var(--loja) 35%, transparent) !important; font-family: var(--fonte-titulos), sans-serif; font-size: 20px; font-weight: 600 !important; }
body.vitrine.tema-carrossel .sacola-adicionar:hover { animation: cr-pula .5s; }
@keyframes cr-pula { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(-6px); } 70% { transform: translateY(2px); } }
@media (prefers-reduced-motion: reduce) { body.vitrine.tema-carrossel .sacola-adicionar:hover { animation: none; } }
body.vitrine.tema-carrossel .pa-abas { gap: 8px; border-bottom: 0; }
body.vitrine.tema-carrossel .pa-abas a, body.vitrine.tema-carrossel .pa-abas button { border-radius: 999px; font-family: var(--fonte-titulos), sans-serif; font-weight: 500; }
body.vitrine.tema-carrossel .pa-abas .ativa { background: var(--loja) !important; color: #fff !important; }

/* ---------- carrinho (carrinho.php) e finalizar compra ---------- */
body.vitrine.tema-carrossel .cr-passos { gap: 10px; }
body.vitrine.tema-carrossel .cr-passos li b { display: inline-grid; place-items: center; width: 28px; height: 28px; margin-right: 6px; border-radius: 50%; background: #ece8f6; color: var(--cr-tinta); font-weight: 800; }
body.vitrine.tema-carrossel .cr-passos li.atual b { background: var(--loja); color: #fff; }
body.vitrine.tema-carrossel .ck h1 { font-family: var(--fonte-titulos), sans-serif; font-weight: 600; font-size: 36px; color: var(--cr-tinta); display: flex; align-items: center; gap: 12px; }
.cr-qtd { padding: 4px 12px; border-radius: 999px; background: var(--cr-amarelo, #ffb703); color: var(--titulos, #2b2d5c); font-family: var(--fonte), sans-serif; font-size: 14px; font-weight: 800; }
body.vitrine.tema-carrossel .ck-item, body.vitrine.tema-carrossel .co-bloco { border: 0; border-radius: 26px; box-shadow: 0 6px 22px rgba(43, 45, 92, .08); }
body.vitrine.tema-carrossel .ck-foto img { border-radius: 18px; background: var(--cr-creme); }
body.vitrine.tema-carrossel .ck-resumo { border: 3px dashed #e7e3f5; border-radius: 30px; background: #fff; }
body.vitrine.tema-carrossel .ck-resumo h2, body.vitrine.tema-carrossel .co-bloco h2 { font-family: var(--fonte-titulos), sans-serif; font-weight: 600; color: var(--cr-tinta); }
body.vitrine.tema-carrossel .co-bloco h2 span { background: var(--loja); }
body.vitrine.tema-carrossel .ck-valores .ck-tot { font-family: var(--fonte-titulos), sans-serif; font-weight: 700; color: var(--loja); }
body.vitrine.tema-carrossel .ck-finalizar { border-radius: 999px !important; border: 0 !important; box-shadow: inset 0 -6px 0 rgba(0, 0, 0, .16) !important; font-family: var(--fonte-titulos), sans-serif; font-weight: 600 !important; font-size: 18px; }
body.vitrine.tema-carrossel .ck-qtd, body.vitrine.tema-carrossel .ck-linha-form input, body.vitrine.tema-carrossel .ck-linha-form button, body.vitrine.tema-carrossel .co-campos input, body.vitrine.tema-carrossel .co-opcao, body.vitrine.tema-carrossel .ck-frete { border-radius: 999px !important; }
body.vitrine.tema-carrossel .co-opcao, body.vitrine.tema-carrossel .ck-frete { border-radius: 20px !important; }
.cr-frete { padding: 16px 20px 22px; border-radius: 26px; background: var(--cr-creme, #fdf8f0); border: 2px dashed #f2dfb8; }
.cr-frete p { margin: 0 0 14px; font-weight: 700; font-size: 15px; }
.cr-frete p b { color: var(--loja); }
.cr-estrada { position: relative; height: 14px; margin: 0 22px; border-radius: 14px; background: #4a4d73 repeating-linear-gradient(90deg, transparent 0 14px, rgba(255, 255, 255, .7) 14px 26px) center / 100% 2px no-repeat; }
.cr-andou { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 14px; background: var(--loja); opacity: .85; }
.cr-carro { position: absolute; top: 50%; z-index: 2; transform: translate(-50%, -62%); display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: var(--loja); font-size: 22px; box-shadow: 0 4px 10px rgba(0, 0, 0, .15); transition: left .6s; }
.cr-bandeira { position: absolute; right: -22px; top: 50%; transform: translateY(-62%); display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--cr-verde, #22b07d); color: #fff; font-size: 18px; }

@media (max-width: 767px) {
	.tema-carrossel .vt-secao-cab h2, .cr-idades-tit { font-size: 24px; }
	.cr-idades { gap: 10px; }
	.cr-idades a { width: 96px; height: 96px; }
	.cr-idades b { font-size: 25px; }
	body.vitrine.tema-carrossel .pd-nome .nome span { font-size: 26px; }
	body.vitrine.tema-carrossel .ck h1 { font-size: 28px; }
	.cr-onda-rodape { top: -24px; height: 26px; }
}
