/* Ajustes do site (versão Laravel) — complementa o style.css do template */

/* Categoria acima do título dos posts */
.post-boxed-categoria a { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #a8844a; }
h1.post-boxed-title { font-size: 1.6rem; line-height: 1.3; margin: 0; }
.blog-categorias .button { margin: 4px; min-width: 0; padding: 8px 18px; }

/* Paginação do blog */
.paginacao-site { display: inline-flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.paginacao-site .pg { display: inline-block; padding: 8px 14px; border: 1px solid #d8d8d8; color: #1f2a44; font-size: 14px; }
.paginacao-site a.pg:hover { border-color: #a8844a; color: #a8844a; }
.paginacao-site .pg-atual { background: #1f2a44; border-color: #1f2a44; color: #fff; }
.paginacao-site .pg-off { color: #aaa; }

/* Autorização LGPD nos formulários */
.form-consentimento { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.5; text-align: left; cursor: pointer; margin: 0; }
.form-consentimento input[type=checkbox] { position: static; opacity: 1; visibility: visible; display: inline-block; width: 18px; height: 18px; margin-top: 2px; flex: 0 0 18px; -webkit-appearance: checkbox; appearance: checkbox; }
.form-consentimento a { text-decoration: underline; }

/* Página de política */
.texto-politica h2 { margin-bottom: 20px; }
.texto-politica h3 { font-size: 1.25rem; margin-top: 28px; margin-bottom: 10px; }
.texto-politica ul { list-style: disc; padding-left: 22px; }

/* Fotos da equipe: qualquer tamanho de foto preenche o quadro sem distorcer nem "dar zoom"
   (corta as sobras, priorizando a parte de cima, onde fica o rosto) */
.box-cart-image img {
  width: 247px; height: 301px; max-width: 100%;
  object-fit: cover; object-position: center 20%;
}
.thumbnail-variant-2 .thumbnail-image > img {
  top: 0; left: 0; transform: none;
  width: 100%; height: 100%; min-width: 0; min-height: 0;
  object-fit: cover; object-position: center 20%;
}
/* Fotos dos depoimentos (círculo) */
.quote-footer img.img-circle { width: 68px; height: 68px; object-fit: cover; }

/* Logos enviados pelo painel: qualquer tamanho cabe no espaço, sem cortar nem distorcer */
.rd-navbar-brand img.logo-site { width: auto; height: auto; max-width: 240px; max-height: 60px; object-fit: contain; }
.rd-navbar-fixed .rd-navbar-brand img.logo-site { max-width: 180px; max-height: 40px; }
.page-foot .brand img.logo-rodape { width: auto; height: auto; max-width: min(330px, 100%); max-height: 110px; object-fit: contain; }

/* Banners da página inicial (painel > Banners): foto cobre o quadro sem distorcer */
.swiper-variant-1 .swiper-slide { background-repeat: no-repeat; background-size: cover; }
.swiper-variant-1 .swiper-slide.banner-escuro:after { opacity: .55; }

/* Textos editáveis no painel (Sobre, Áreas de atuação) */
.conteudo-editavel h2, .conteudo-editavel h3 { margin: 1.2em 0 .5em; }
.conteudo-editavel ul, .conteudo-editavel ol { margin: 0 0 1em 1.3em; }
.conteudo-editavel ul li { list-style: disc; }
.conteudo-editavel ol li { list-style: decimal; }
.conteudo-editavel p + p { margin-top: 1em; }
.conteudo-editavel blockquote { border-left: 3px solid #a8844a; padding-left: 1em; font-style: italic; }
.conteudo-editavel a { text-decoration: underline; }
/* Imagem do Sobre: qualquer tamanho, sem cortar nem distorcer */
.sobre-imagem { text-align: center; margin: 0; }
.sobre-imagem img { width: auto; height: auto; max-width: 100%; max-height: 380px; object-fit: contain; }
