/* Tema Riviera (premium): moda praia e resort - azul-marinho, celeste, areia e amarelo-sol, DM Serif Display nos
   titulos, listras e ondas. Carregado depois do CSS do Vitrine e do premium.css (pagina do produto premium). */

.tema-riviera { --rv-tinta: var(--titulos, #13315c); --rv-ceu: #dcebf7; --rv-areia: #f3ebdd; --rv-sol: #f2c14e; --rv-linha: #e3e6ea; --rv-listras: repeating-linear-gradient(90deg, var(--titulos, #13315c) 0 10px, #fff 10px 20px); --rv-onda: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 8'%3E%3Cpath d='M0 4c5 0 5-3 10-3s5 3 10 3 5-3 10-3 5 3 10 3' fill='none' stroke='%231f6fb2' stroke-width='1.6'/%3E%3C/svg%3E"); }
body.vitrine.tema-riviera h1, body.vitrine.tema-riviera h2, body.vitrine.tema-riviera h3 { font-family: var(--fonte-titulos), Georgia, serif; font-weight: 400 !important; letter-spacing: 0; }

/* titulos das secoes: serifa com uma onda embaixo */
.tema-riviera .vt-secao-cab { flex-direction: column; align-items: center; gap: 8px; text-align: center; margin-bottom: 28px; }
.tema-riviera .vt-secao-cab h2 { font-size: 38px; color: var(--rv-tinta); }
.tema-riviera .vt-secao-cab h2::after { content: ""; display: block; width: 80px; height: 8px; margin: 10px auto 0; background: var(--rv-onda) center / 40px 8px repeat-x; }
.tema-riviera .vt-secao-cab a { font-weight: 700; color: var(--loja) !important; }

/* cartao: foto em areia com cantos arredondados, nome e preco centralizados */
.tema-riviera .vt-card { border: 0; border-radius: 16px; background: transparent; box-shadow: none !important; }
.tema-riviera .vt-card-img { background: var(--rv-areia); border-radius: 16px; }
.tema-riviera .vt-card-info { padding: 12px 4px 4px; text-align: center; align-items: center; }
.tema-riviera .vt-card-nome { font-size: 15px; font-weight: 600; color: var(--rv-tinta); }
.tema-riviera .vt-card-preco { justify-content: center; }
.tema-riviera .vt-card-preco strong { font-size: 16px; font-weight: 800; color: var(--rv-tinta); }
.tema-riviera .ppc-parc { text-align: center; }
.tema-riviera .ppc-marca { display: none; }
.tema-riviera .vt-card-botao { display: none; }
.tema-riviera .ppc .ppc-ver { border-radius: 999px; background: #fff; color: var(--rv-tinta); }
.tema-riviera .vt-selo { border-radius: 999px; background: var(--rv-sol); color: var(--rv-tinta); font-weight: 800; }

/* cartao-postal (bloco HTML rv-postal), mosaico, banners, depoimentos, blog, newsletter */
.rv-postal { position: relative; display: grid; grid-template-columns: 1fr 1.2fr; gap: 0; border: 10px solid #fff; border-radius: 6px; background: #fff; box-shadow: 0 20px 40px rgba(19, 49, 92, .12); outline: 1px dashed #c6d3e3; outline-offset: -18px; }
.rv-postal-img { min-height: 280px; border-radius: 2px; background: radial-gradient(circle at 70% 38%, #f2c14e 0 46px, transparent 47px), linear-gradient(180deg, #f6d9a6 0 48%, transparent 48%), repeating-linear-gradient(180deg, #1f6fb2 0 14px, #5aa0d8 14px 28px) 0 48% / 100% 52% no-repeat, #f6d9a6; }
.rv-postal-txt { padding: 32px 36px; }
.rv-postal-txt small { font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--loja, #1f6fb2); }
.rv-postal-txt h2 { margin: 6px 0 12px; font-family: var(--fonte-titulos), Georgia, serif; font-size: 34px; font-weight: 400; color: var(--titulos, #13315c); }
.rv-postal-txt p { margin: 0 0 16px; color: #4b5b70; }
.rv-postal-txt ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.rv-postal-txt li { padding: 6px 14px; border-radius: 999px; background: #dcebf7; color: #13315c; font-size: 13px; font-weight: 700; }
.rv-selo { position: absolute; right: 26px; top: 22px; display: grid; place-items: center; width: 74px; height: 74px; border: 2px dashed #1f6fb2; border-radius: 50%; color: #1f6fb2; font-size: 12px; font-weight: 800; line-height: 1.2; text-align: center; transform: rotate(-12deg); }
.tema-riviera .hdl-mos-img { transition: transform .5s; }
.tema-riviera .hdl-mos a:hover .hdl-mos-img { transform: translateY(-6px); }
.tema-riviera .hdl-hero { border-radius: 20px; overflow: hidden; }
.tema-riviera .hdl-hero h2 { font-size: 44px; }
.tema-riviera .hdl-hero .vt-botao { border-radius: 999px; background: #fff !important; color: var(--rv-tinta) !important; }
.tema-riviera .hdl-it-img img { border-radius: 300px 300px 20px 20px; }
.tema-riviera .hdl-it-txt h2 { font-size: 42px; color: var(--rv-tinta); }
.tema-riviera .hdl-depo figure { border: 0; border-radius: 20px; background: var(--rv-ceu); }
.tema-riviera .vt-blog a { border: 0; border-radius: 20px; background: #fff; overflow: hidden; }
.tema-riviera .vt-blog strong { font-family: var(--fonte-titulos), Georgia, serif; font-size: 21px; font-weight: 400; color: var(--rv-tinta); }
body.vitrine.tema-riviera .vt-news { background: var(--rv-ceu); color: var(--rv-tinta); }
body.vitrine.tema-riviera .vt-news h3 { color: var(--rv-tinta) !important; }
body.vitrine.tema-riviera .vt-news p { color: #4b5b70; }
body.vitrine.tema-riviera .vt-news-campo button { background: var(--rv-tinta); border-radius: 999px; }
.tema-riviera .vt-vantagens > * { border: 0; border-radius: 16px; background: #fff; }
.tema-riviera .vt-vantagens i { border-radius: 50%; background: var(--rv-ceu); color: var(--loja); }

/* ---------- topo proprio (topo.php): listras finas embaixo, logotipo no centro, onda no menu ---------- */
.rv-topo { border-bottom: 6px solid; border-image: repeating-linear-gradient(90deg, #13315c 0 10px, #fff 10px 20px) 6; }
.rv-topo .vt-aviso { font-size: 12.5px; letter-spacing: .06em; }
.rv-topo .vt-marca img { width: auto; height: var(--logo-altura, 40px); max-width: 240px; border: 0; border-radius: 0; background: none; object-fit: contain; }
body.vitrine .rv-topo .vt-busca input { height: 42px; border: 1px solid var(--rv-linha); border-radius: 999px; background: #fbf8f2; }
body.vitrine .rv-topo .vt-busca button { border-radius: 999px !important; background: var(--rv-tinta) !important; color: #fff !important; }
body.vitrine .rv-topo .vt-busca > i { display: none; }
.rv-topo .vt-acao:hover { background: var(--rv-ceu); color: var(--loja) !important; }
.rv-topo .vt-sacola .counter { background: var(--rv-sol); color: var(--rv-tinta); }
@media (min-width: 992px) {
	.rv-topo .vt-barra .container { position: relative; min-height: 96px; gap: 22px; }
	.rv-topo .vt-marca { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
	body.vitrine .rv-topo .vt-busca { flex: 0 1 320px; min-width: 300px; margin: 0; }
	.rv-topo .vt-acoes { margin-left: auto; }
	body.vitrine .rv-topo .vt-menu { background: #fff; border-top: 1px solid var(--rv-linha); }
	.rv-topo .vt-menu .container { justify-content: center; gap: 6px; }
	body.vitrine .rv-topo .vt-menu > .container > a, body.vitrine .rv-topo .vt-menu-cat > a, body.vitrine .rv-topo .vt-menu-dep-link { position: relative; color: var(--rv-tinta) !important; font-family: var(--fonte-titulos), Georgia, serif; font-size: 17px; border-radius: 0; background: transparent !important; white-space: nowrap; }
	body.vitrine .rv-topo .vt-menu > .container > a::after, body.vitrine .rv-topo .vt-menu-cat > a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 2px; height: 8px; background: var(--rv-onda) center / 40px 8px repeat-x; opacity: 0; transform: translateY(4px); transition: opacity .2s, transform .2s; }
	body.vitrine .rv-topo .vt-menu > .container > a:hover::after, body.vitrine .rv-topo .vt-menu-cat:hover > a::after { opacity: 1; transform: none; }
	body.vitrine .rv-topo .vt-menu a.vt-ofertas { color: #c0392b !important; }
	body.vitrine .rv-topo .vt-menu-dep-link { border: 0; }
	body.vitrine .rv-topo .vt-menu-cat > a > .lni-chevron-down { display: none; }
	body.vitrine .rv-topo .vt-mega-painel, body.vitrine .rv-topo .vt-menu-cat-lista, body.vitrine .rv-topo .vt-menu-dep-lista { border-radius: 20px; border: 0; box-shadow: 0 30px 60px rgba(19, 49, 92, .14); }
	body.vitrine .rv-topo .vt-mega-painel a, body.vitrine .rv-topo .vt-menu-cat-lista a, body.vitrine .rv-topo .vt-menu-dep-lista a { font-family: var(--fonte), sans-serif; font-size: 14px; }
	body.vitrine .rv-topo .vt-mega-prod img { border-radius: 14px; background: var(--rv-areia); }
}

/* ---------- rodape proprio (rodape.php): por do sol sobre o mar listrado ---------- */
.rv-rodape { padding-top: 0; }
.rv-horizonte { position: relative; height: 90px; margin-bottom: 40px; overflow: hidden; background: linear-gradient(180deg, #f6c38a 0 45%, transparent 45%), repeating-linear-gradient(180deg, #1f6fb2 0 8px, #13315c 8px 16px) 0 45% / 100% 55% no-repeat; }
.rv-horizonte i { position: absolute; left: 50%; top: 10px; width: 64px; height: 64px; margin-left: -32px; border-radius: 50%; background: #f2c14e; box-shadow: 0 0 40px rgba(242, 193, 78, .7); clip-path: inset(0 0 46% 0); }
.rv-assinatura { display: grid; justify-items: center; gap: 14px; padding-bottom: 40px; border-bottom: 1px solid rgba(184, 200, 222, .2); text-align: center; }
.rv-assinatura-frase { max-width: 760px; margin: 0; font-family: var(--fonte-titulos), Georgia, serif; font-size: 32px; line-height: 1.2; color: #fff; }
.rv-assinatura-avisos { margin: 0; font-size: 13px; color: var(--rodape-texto); }
.rv-assinatura-avisos i { margin: 0 10px; font-style: normal; color: #f2c14e; }
.rv-rodape-escuro .vt-marca img { filter: brightness(0) invert(1); }
.rv-rodape h3 { font-family: var(--fonte-titulos), Georgia, serif !important; font-size: 19px !important; font-weight: 400 !important; color: #fff !important; }

/* ---------- pagina do produto premium ---------- */
.tema-riviera .pp, .tema-riviera .ppa { --pp-titulo-tam: 40px; --pp-preco-tam: 32px; --pp-raio: 16px; --pp-suave: var(--rv-ceu); --pp-borda: var(--rv-linha); }
.tema-riviera .pp-foto, .tema-riviera .pp-mini { background: var(--rv-areia); }
.tema-riviera .pp-nome { font-weight: 400; }
.tema-riviera .pp-preco { background: #fff; border: 1px solid var(--rv-linha); }
.tema-riviera .pp-preco-off { background: var(--rv-sol); color: var(--rv-tinta); }
.tema-riviera .pp .pp-botao { background: var(--rv-tinta); --pp-b-sombra: 0 10px 24px rgba(19, 49, 92, .25); }
.tema-riviera .pp .pp-botao:hover { background: var(--loja); }
.tema-riviera .pp-garantias svg { background: var(--rv-ceu); }
.tema-riviera .ppa .ppa-abas button { font-family: var(--fonte-titulos), Georgia, serif; font-size: 18px; font-weight: 400; }
.tema-riviera .ppa-destaques li { background: #fff; }

/* ---------- carrinho (carrinho.php): veleiro ate o farol ---------- */
body.vitrine.tema-riviera .ck h1 { font-size: 40px; color: var(--rv-tinta); }
body.vitrine.tema-riviera .co-passos .atual { color: var(--loja); }
body.vitrine.tema-riviera .ck-item, body.vitrine.tema-riviera .co-bloco { border: 0; border-radius: 16px; background: #fff; }
body.vitrine.tema-riviera .ck-foto img { background: var(--rv-areia); border-radius: 12px; }
body.vitrine.tema-riviera .ck-resumo { border: 0; border-radius: 20px; background: #fff; }
body.vitrine.tema-riviera .ck-finalizar { border-radius: 999px !important; background: var(--rv-tinta) !important; }
.rv-frete { display: grid; gap: 8px; padding: 16px 22px; border-radius: 16px; background: #fff; }
.rv-frete p { margin: 0; font-size: 14px; color: var(--titulos, #13315c); }
.rv-frete p b { color: var(--loja); }
.rv-mar { position: relative; display: block; height: 46px; border-bottom: 10px solid #5aa0d8; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 8'%3E%3Cpath d='M0 8c5 0 5-6 10-6s5 6 10 6 5-6 10-6 5 6 10 6' fill='%235aa0d8'/%3E%3C/svg%3E") bottom / 40px 8px repeat-x; }
.rv-mar b { position: absolute; bottom: 4px; width: 30px; height: 32px; margin-left: -15px; transition: left .9s ease; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 32'%3E%3Cpath d='M15 2v20' stroke='%2313315c' stroke-width='2'/%3E%3Cpath d='M16 4l10 16H16z' fill='%23fff' stroke='%2313315c' stroke-width='1.5'/%3E%3Cpath d='M14 8L6 20h8z' fill='%23f2c14e' stroke='%2313315c' stroke-width='1.5'/%3E%3Cpath d='M3 23h24l-4 6H7z' fill='%2313315c'/%3E%3C/svg%3E") center / contain no-repeat; }
.rv-mar em { position: absolute; right: 2px; bottom: 4px; width: 14px; height: 40px; background: repeating-linear-gradient(180deg, #c0392b 0 8px, #fff 8px 16px); border: 1.5px solid #13315c; border-radius: 3px 3px 0 0; }
.rv-mar em::before { content: ""; position: absolute; left: -4px; right: -4px; top: -8px; height: 8px; background: #f2c14e; border-radius: 4px 4px 0 0; box-shadow: 0 0 14px #f2c14e; }

@media (max-width: 767px) {
	.tema-riviera .vt-secao-cab h2 { font-size: 28px; }
	.rv-postal { grid-template-columns: 1fr; }
	.rv-postal-img { min-height: 160px; }
	.rv-postal-txt { padding: 24px 20px; }
	.rv-selo { width: 60px; height: 60px; font-size: 10px; }
	.rv-assinatura-frase { font-size: 23px; }
	.rv-topo .vt-marca img { height: 30px; max-width: 170px; }
	.tema-riviera .pp, .tema-riviera .ppa { --pp-titulo-tam: 30px; --pp-preco-tam: 28px; }
}
