/* 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 { display: block !important; background: rgba(13,20,36,var(--escurecer, .7)) !important; opacity: 1 !important; }
.swiper-variant-1 .slider-header, .swiper-variant-1 .slider-text, .swiper-variant-1 .header-decorated h3 { text-shadow: 0 1px 3px rgba(0,0,0,.45), 0 2px 18px rgba(0,0,0,.35); }

/* 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; }

/* Botão flutuante do WhatsApp */
.whatsapp-flutuante { position: fixed; right: 20px; bottom: 20px; z-index: 1000; display: flex; align-items: center; gap: 8px;
  height: 56px; padding: 0 18px 0 13px; border-radius: 28px; background: #25d366; color: #fff !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.25); font: 700 15px/1 "Lato", Arial, sans-serif; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.whatsapp-flutuante:hover, .whatsapp-flutuante:focus { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0,0,0,.3); color: #fff; }
.whatsapp-flutuante:focus-visible { outline: 3px solid #1f2a44; outline-offset: 3px; }
@media (max-width: 767px) {
  .whatsapp-flutuante { right: 14px; bottom: 14px; width: 56px; padding: 0; justify-content: center; }
  .whatsapp-flutuante-texto { display: none; }
}
@media print { .whatsapp-flutuante { display: none; } }

/* Perguntas frequentes (sanfona) */
.perguntas-lista { border-top: 1px solid #e5e0d6; }
.pergunta { border-bottom: 1px solid #e5e0d6; }
.pergunta summary { cursor: pointer; list-style: none; position: relative; padding: 18px 40px 18px 0;
  font: 700 18px/1.4 "PT Serif", Georgia, serif; color: #1f2a44; }
.pergunta summary::-webkit-details-marker { display: none; }
.pergunta summary::after { content: "+"; position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
  font: 400 26px/1 Arial, sans-serif; color: #a8844a; transition: transform .2s; }
.pergunta[open] summary::after { content: "–"; }
.pergunta summary:hover, .pergunta summary:focus-visible { color: #a8844a; }
.pergunta-resposta { padding: 0 0 20px; color: #333; }
.perguntas-cta { text-align: center; margin-top: 40px; }
.perguntas-cta p { margin-bottom: 14px; font-size: 18px; }
.processo-intro { max-width: 900px; margin: 0 auto; text-align: center; }

/* Blog: busca, tempo de leitura, compartilhar, autor */
.blog-busca { display: flex; max-width: 560px; margin: 0 auto 24px; }
.blog-busca input { flex: 1; min-width: 0; height: 48px; padding: 0 16px; border: 1px solid #cfc7b8; border-right: 0; font-size: 15px; color: #222; background: #fff; }
.blog-busca input:focus { outline: 2px solid #a8844a; outline-offset: -2px; }
.blog-busca button { height: 48px; padding: 0 22px; border: 0; background: #2c3e50; color: #fff; font-weight: 700; cursor: pointer; }
.blog-busca button:hover { background: #a8844a; }
.blog-filtro { margin-bottom: 24px; }
.blog-filtro a { text-decoration: underline; }
.post-tempo-leitura { font-size: 13px; color: #8a8a8a; margin-top: 4px; }
.post-meta-topo { color: #8a8a8a; font-size: 14px; margin-bottom: 24px; }
.compartilhar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 32px 0 8px; padding-top: 20px; border-top: 1px solid #e5e0d6; }
.compartilhar-titulo { font-weight: 700; color: #1f2a44; margin-right: 4px; }
.compartilhar-btn { display: inline-block; padding: 8px 14px; border: 1px solid #cfc7b8; border-radius: 20px; background: #fff; color: #1f2a44 !important; font-size: 14px; line-height: 1.2; cursor: pointer; text-decoration: none; }
.compartilhar-btn:hover, .compartilhar-btn:focus { border-color: #a8844a; color: #a8844a !important; }
.compartilhar-whatsapp { border-color: #25d366; }
.autor-box { display: flex; gap: 18px; align-items: center; margin: 24px 0 8px; padding: 20px; background: #f7f4ee; border-left: 3px solid #a8844a; }
.autor-box img { width: 90px; height: 110px; object-fit: cover; flex-shrink: 0; }
.autor-box p { margin: 0; }
.autor-box-rotulo { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #8a8a8a; }
.autor-box-nome { font: 700 20px/1.3 "PT Serif", Georgia, serif; color: #1f2a44; }
.autor-box-funcao { color: #555; font-size: 14px; }
.autor-box-links { margin-top: 6px !important; font-size: 14px; }
.autor-box-links a { color: #a8844a; text-decoration: underline; }
@media (max-width: 575px) { .autor-box { flex-direction: column; text-align: center; } }

/* Mapa do Google só carrega com clique (mais rápido e sem cookies do Google antes da escolha) */
.mapa-adiado { position: relative; height: 420px; background: #eef0f3 url('../images/bg-areas.jpg') center/cover; }
.mapa-adiado::before { content: ''; position: absolute; inset: 0; background: rgba(31,42,68,.82); }
.mapa-adiado-conteudo { position: relative; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #fff; padding: 20px; }
.mapa-adiado-conteudo p { color: #fff; margin: 0 0 10px; }
.mapa-adiado-titulo { font: 700 24px/1.3 "PT Serif", Georgia, serif; }
.mapa-adiado-aviso { font-size: 13px; opacity: .85; margin-top: 14px !important; }
.mapa-adiado-aviso a { color: #fff; text-decoration: underline; }
.mapa-adiado iframe { width: 100%; height: 100%; border: 0; display: block; }
.mapa-adiado.mapa-carregado::before { display: none; }
/* botão "voltar ao topo" do tema fica acima do WhatsApp */
.ui-to-top { bottom: 92px !important; right: 28px !important; transform: translateY(12px) !important; opacity: 0; pointer-events: none;
  transition: opacity .25s, transform .25s !important; background: #233252 !important; color: #fff !important; box-shadow: 0 4px 12px rgba(0,0,0,.25) !important; }
.ui-to-top.active { transform: none !important; opacity: 1; pointer-events: auto; }
.ui-to-top:hover, .ui-to-top:focus-visible { background: #b08a4e !important; }
@media (max-width: 767px) { .ui-to-top { right: 22px !important; bottom: 84px !important; } }

/* Agendar consulta */
.agenda-intro { max-width: 820px; margin: 0 auto 30px; text-align: center; }
.agenda-vazia { text-align: center; padding: 30px 0; }
.agenda-vazia p { margin-bottom: 16px; }
.agenda-form { max-width: 960px; margin: 0 auto; }
.agenda-passo { margin-bottom: 36px; }
.agenda-passo-titulo { display: flex; align-items: center; gap: 12px; font: 700 22px/1.3 "PT Serif", Georgia, serif; color: #1f2a44; margin-bottom: 16px; font-style: normal; letter-spacing: 0; }
.agenda-passo-titulo span { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #a8844a; color: #fff; font: 700 16px/1 "Lato", Arial, sans-serif; }
.agenda-dias { display: none; gap: 10px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
.agenda-form.com-js .agenda-dias { display: flex; }
.agenda-dia { flex: 0 0 auto; width: 74px; padding: 10px 0; border: 1px solid #d8d0c1; background: #fff; color: #1f2a44; cursor: pointer; text-align: center; scroll-snap-align: start; transition: border-color .15s, background .15s; }
.agenda-dia span { display: block; line-height: 1.2; }
.agenda-dia-semana, .agenda-dia-mes { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: #8a7d68; }
.agenda-dia-numero { font: 700 24px/1.2 "PT Serif", Georgia, serif; }
.agenda-dia:hover { border-color: #a8844a; }
.agenda-dia.ativo { background: #1f2a44; border-color: #1f2a44; color: #fff; }
.agenda-dia.ativo .agenda-dia-semana, .agenda-dia.ativo .agenda-dia-mes { color: #d9c49e; }
.agenda-dia:focus-visible, .agenda-hora input:focus-visible + span, .agenda-modalidade input:focus-visible + span { outline: 3px solid #a8844a; outline-offset: 2px; }
.agenda-horarios { border: 0; padding: 0; margin: 0 0 18px; display: flex; flex-wrap: wrap; gap: 10px; }
.agenda-horarios legend { width: 100%; font-weight: 700; color: #1f2a44; margin-bottom: 8px; font-size: 15px; }
.agenda-form.com-js .agenda-horarios legend { font-weight: 400; color: #666; }
.agenda-hora input, .agenda-modalidade input { position: absolute; opacity: 0; pointer-events: none; }
.agenda-hora span { display: inline-block; min-width: 82px; padding: 10px 14px; border: 1px solid #d8d0c1; background: #fff; color: #1f2a44; text-align: center; font-weight: 700; cursor: pointer; }
.agenda-hora span:hover { border-color: #a8844a; }
.agenda-hora input:checked + span { background: #a8844a; border-color: #a8844a; color: #fff; }
.agenda-duracao, .agenda-obs { color: #777; font-size: 14px; margin-top: 4px; }
.agenda-label { display: block; font-weight: 700; color: #1f2a44; margin-bottom: 6px; font-size: 14px; }
.agenda-input { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #cfc7b8; background: #fff; color: #222; font-size: 15px; }
textarea.agenda-input { min-height: 90px; }
.agenda-input:focus { outline: 2px solid #a8844a; outline-offset: -2px; }
.agenda-form .form-wrap { margin-bottom: 18px; }
.agenda-modalidades { display: flex; flex-wrap: wrap; gap: 10px; }
.agenda-modalidade span { display: inline-block; padding: 12px 18px; border: 1px solid #d8d0c1; background: #fff; color: #1f2a44; cursor: pointer; }
.agenda-modalidade input:checked + span { border-color: #1f2a44; background: #1f2a44; color: #fff; }
.agenda-enviar { margin-top: 18px; }
.agenda-erros { border-left: 4px solid #c0392b; background: #fbeeec; padding: 14px 18px; margin-bottom: 24px; color: #6b1c13; }
.agenda-erros ul { margin: 6px 0 0 18px; }
.agenda-erros li { list-style: disc; }
.agenda-recebido { max-width: 620px; margin: 0 auto; text-align: center; }
.agenda-recebido p { margin-bottom: 12px; }
.agenda-recebido-icone { width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 50%; background: #2e7d32; color: #fff; font-size: 34px; line-height: 64px; }
.agenda-recebido-quando { font: 700 22px/1.4 "PT Serif", Georgia, serif; color: #1f2a44; }
.agenda-recebido .button { margin-top: 12px; }
@media (max-width: 575px) { .agenda-hora span { min-width: 72px; padding: 10px; } .agenda-dia { width: 66px; } }

.link-agendar-topo { font-weight: 700; color: #a8844a !important; font-size: 14px; }
.link-agendar-topo:hover { text-decoration: underline; }
.contatos-agendar { margin-top: 24px; padding-top: 20px; border-top: 1px solid #e5e0d6; }
.agenda-form .form-wrap > .agenda-label { position: static; transform: none; margin-top: 0; }
.agenda-form select.agenda-input { border: 1px solid #cfc7b8 !important; -webkit-appearance: auto; appearance: auto; padding-right: 10px; color: #222; }
