/* =========================================================
   Villa Joias - blocos NOVOS do construtor de paginas
   (os blocos que reproduzem a home usam o mesmo tw.css/site.css dela)
   ========================================================= */

/* ---- Objecoes respondidas ---- */
.pg-objecoes { padding: 3rem 0 1rem; }
.pg-objecoes-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 1.5rem; }
.pg-objecao { background: #fff; border: 2px solid #000; padding: 1.5rem; display: flex; flex-direction: column; gap: .6rem; }
.pg-objecao-icone { font-size: 30px; color: var(--gold-dark); line-height: 1; }
.pg-objecao-titulo { font-size: 20px; font-weight: 700; text-transform: uppercase; margin: 0; line-height: 1.15; }
.pg-objecao-texto { margin: 0; font-size: 16px; line-height: 1.35; color: rgba(0,0,0,.8); }
@media (max-width: 1024px) { .pg-objecoes-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .pg-objecoes-grid { grid-template-columns: 1fr; } }

/* ---- Renda / comissao (sempre com ressalva) ---- */
.pg-renda { padding: 3rem 0 1rem; }
.pg-renda-comissao { font-size: 44px; font-weight: 700; text-transform: uppercase; line-height: 1; margin: .5rem 0 1rem; padding: 1.2rem 1.6rem; background: #aa9c8235; display: inline-block; }
.pg-renda-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.2rem; margin: 1.5rem 0; }
.pg-renda-item { background: #fff; border: 2px solid #000; padding: 1.2rem 1.4rem; }
.pg-renda-item-titulo { font-weight: 700; text-transform: uppercase; margin: 0 0 .4rem; }
.pg-renda-item-texto { margin: 0; font-size: 15px; line-height: 1.35; }
.pg-ressalva { font-size: 13px; opacity: .7; border-left: 3px solid var(--gold); padding-left: .8rem; margin: 1rem 0 0; }
@media (max-width: 640px) { .pg-renda-comissao { font-size: 30px; width: 100%; box-sizing: border-box; } }

/* ---- Prova regional ---- */
.pg-regional { padding: 3rem 0 1rem; }
.pg-regional-numero { display: flex; align-items: baseline; gap: 1rem; margin: 1rem 0; flex-wrap: wrap; }
.pg-regional-valor { font-size: 90px; font-weight: 700; line-height: 1; padding: 1.2rem 2rem; background: #aa9c8235; }
.pg-regional-legenda { font-size: 20px; font-weight: 500; text-transform: uppercase; max-width: 380px; line-height: 1.2; }
@media (max-width: 640px) { .pg-regional-valor { font-size: 56px; padding: 1rem 1.4rem; } }

/* ---- WhatsApp ---- */
.pg-wa { padding: 2rem 0; }
.pg-wa-botao { display: inline-flex; align-items: center; gap: .6rem; background: #25D366; color: #fff; font-weight: 700; text-transform: uppercase; font-size: 20px; padding: .75rem 1.5rem; }
.pg-wa-botao:hover { background: #1fb457; }
.pg-wa-flutuante { position: fixed; left: 18px; bottom: 18px; /* a Vi (chat) fica no canto direito */ z-index: 900; display: inline-flex; align-items: center; gap: .5rem; background: #25D366; color: #fff; font-weight: 700; font-size: 15px; padding: .7rem 1rem; border-radius: 999px; box-shadow: 0 8px 24px rgba(0,0,0,.25); }
.pg-wa-flutuante i { font-size: 22px; line-height: 1; }
.pg-wa-flutuante:hover { background: #1fb457; }
@media (max-width: 640px) { .pg-wa-flutuante span { display: none; } .pg-wa-flutuante { padding: .8rem; } }

/* ---- Texto livre / imagem / figura ---- */
.pg-texto { padding: 2.5rem 0; font-size: 18px; line-height: 1.5; }
.pg-texto-estreito { max-width: 780px; }
.pg-texto .vj-post-h2 { font-size: 28px; font-weight: 700; text-transform: uppercase; margin: 1.6rem 0 .6rem; }
.pg-texto .vj-post-h3 { font-size: 22px; font-weight: 700; margin: 1.2rem 0 .5rem; }
.pg-texto .vj-post-p { margin: 0 0 1rem; }
.pg-texto .vj-post-lista { margin: 0 0 1rem 1.2rem; padding: 0; }
.pg-texto .vj-post-quote { border-left: 4px solid var(--gold); padding-left: 1rem; margin: 1rem 0; font-style: italic; }
.pg-texto .vj-link { text-decoration: underline; color: var(--gold-dark); }
.pg-figura { padding: 2rem 0; }
.pg-imagem { width: 100%; height: auto; display: block; border: 2px solid #000; }
.pg-legenda { font-size: 14px; opacity: .7; margin: .6rem 0 0; }

/* ---- Selo de pre-visualizacao (so no painel) ---- */
.pg-preview-badge { position: fixed; left: 12px; top: 12px; z-index: 950; background: #111; color: #C8A34E; font: 600 12px/1 Poppins, sans-serif; padding: 8px 12px; border-radius: 999px; letter-spacing: .5px; text-transform: uppercase; opacity: .9; }
