/*
Theme Name: Detecta
Theme URI: https://detecta.com.br/
Author: Detecta
Description: Tema do novo site da Detecta (controle de pragas). Layout do site novo, páginas editáveis em blocos e blog nativo.
Version: 1.1.34
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: detecta
*/
.wp-prose > figure, .wp-prose > .faq, .wp-prose > .tbl, .wp-prose > div { margin: 22px 0; }
.wp-prose > *:first-child { margin-top: 0; }
.form-note { margin: 4px 0 0; font-size: 15px; font-weight: 600; color: #1E7A2B; }
footer .form-note { color: #D5D6F2; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.admin-bar .root { min-height: calc(100vh - 32px); }
/* aviso de cookies (plugin CookieAdmin): no celular vira uma barra pequena no rodapé */
@media (max-width: 700px) {
  [id^="cookieadmin"][id*="banner"], [class^="cookieadmin"][class*="banner"], .cookieadmin_law_container, .cookieadmin_consent_inside {
    max-height: 34vh !important; overflow: auto !important; font-size: 13px !important; line-height: 1.4 !important; padding: 10px 12px !important;
    left: 8px !important; right: 8px !important; bottom: 8px !important; top: auto !important; width: auto !important; border-radius: 16px !important; }
  [class^="cookieadmin"] button { min-height: 36px !important; padding: 6px 12px !important; font-size: 13px !important; }
}
/* v1.1.6 — avaliações dentro do post: mesmo visual de cartões das outras seções (só layout, nenhum texto muda) */
.article .dt-reviews { background: #EEF2E8; border-radius: 26px; padding: clamp(20px, 2.6cqi, 32px) clamp(14px, 2cqi, 26px) !important; margin: 28px 0; gap: 18px !important; }
.article .dt-reviews > div:first-child { padding: 0 6px !important; }
.article .dt-reviews .rv-tt { font-size: clamp(20px, 2.1cqi, 26px) !important; }
.article .dt-reviews .car-auto > article { background: #FFFFFF !important; box-shadow: 0 1px 2px rgba(29, 30, 92, .06); }
/* v1.1.6 — logo da Detecta: mantém a proporção original em todos os lugares (o WP Rocket adiciona width/height e esticava a imagem) */
img[src*="/img/d/logo.webp"], img[data-lazy-src*="/img/d/logo.webp"] { width: auto !important; max-width: none !important; aspect-ratio: 826 / 294; object-fit: contain; }
header a[aria-label^="Detecta"] { flex-shrink: 0; }
/* v1.1.8 — faixas de destaque (.hl): texto alinhado à esquerda, sem espaçamento esticado */
.root main > div.hl > span:last-child { text-align: left !important; font-size: 16px !important; line-height: 1.55 !important; }/* v1.1.10 — destaque do blog some quando a busca não encontra artigos */
a.tile.split2.lift[hidden] { display: none !important; }/* v1.1.11 — âncoras vazias (ex.: <span id="topo"> do franqueado) não ocupam coluna da grade */
.root main > span:empty { position: absolute; width: 0; height: 0; overflow: hidden; }/* v1.1.12 — página de franqueado: o formulário próprio (#candidatura) substitui o "Fale Conosco" geral do rodapé */
.root:has(#candidatura.band) main > section#contato, .root:has(#candidatura.band) main > section#contato + form { display: none !important; }/* v1.1.13 — texto ocupa toda a largura das caixas de largura total (sem o vazio à direita); posts do blog mantêm a largura de leitura */
.tile.s12 .prose, .tile.s12 .lead, .s12.open > .prose, .s12.open > .lead { max-width: none !important; }/* v1.1.14 — botão flutuante do WhatsApp (lateral direita, todas as páginas; no celular a barra fixa de baixo já cumpre esse papel) */
.wa-float { position: fixed; right: 22px; bottom: 22px; z-index: 60; display: inline-flex; align-items: center; gap: 10px; height: 60px; padding: 0 22px 0 15px; border-radius: 999px; background: #25D366; color: #FFFFFF; text-decoration: none; font-family: 'Plus Jakarta Sans', 'Segoe UI', Arial, sans-serif; font-weight: 700; font-size: 16px; box-shadow: 0 10px 28px -8px rgba(29, 30, 92, .45); transition: transform .15s ease, box-shadow .15s ease; }
.wa-float:hover { transform: translateY(-2px); box-shadow: 0 14px 32px -8px rgba(29, 30, 92, .55); }
@media (max-width: 700px) { .wa-float { display: none; } }/* v1.1.17 — imagens das páginas de serviço/segmento: tamanho de cartão (até 360px, nunca maior que o arquivo), lado a lado, sem cortar */
.tile.s12.col > .figs { grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 340px)) !important; max-width: none !important; justify-content: start; align-items: start; }
.tile.s12.col > .figs .fig { margin: 0; }
.tile.s12.col > .figs .fig img { width: 100%; height: auto; max-height: 340px; object-fit: contain; background: #EEF2E8; }
@media (max-width: 700px) { .tile.s12.col > .figs { grid-template-columns: minmax(0, 1fr) !important; } }/* v1.1.18 — imagem ao lado do texto (split2) e fotos dentro de artigos nas páginas de serviço: tamanho moderado */
.split2 .figs.n1 { max-width: 440px !important; width: 100%; justify-self: center; }
.split2 .figs.n1 .fig img { max-height: 360px; object-fit: contain; background: #EEF2E8; }
.art-bl .fig { max-width: 460px; }
.art-bl .fig img { max-height: 340px !important; object-fit: contain !important; background: #EEF2E8; }/* v1.1.20 — aviso de cookies (Cookie Law Info) com a mesma fonte do site */
#cookie-law-info-bar, #cookie-law-info-bar *, #cookie-law-info-again, .cli-modal, .cli-modal * { font-family: 'Plus Jakarta Sans', 'Segoe UI', Arial, sans-serif !important; }
#cookie-law-info-bar { border-radius: 16px; }
/* v1.1.21 — bloco "Conheça o SIMP" da home: título e subtítulo na mesma linha, logo do SIMP à direita */
.simp-home { display: grid !important; grid-template-columns: minmax(0, 1fr); column-gap: 32px; row-gap: 14px; align-items: center; }
.simp-home .simp-hd { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 44px; }
.simp-home .simp-hd h3 { font-size: clamp(20px, 1.9cqi, 28px) !important; font-weight: 600; }
.simp-home { position: relative; }
.simp-home .simp-hd { min-height: clamp(90px, 11.5cqi, 165px); padding-right: clamp(170px, 18cqi, 270px); }
.simp-home .simp-logo { position: absolute; top: clamp(10px, 1.2cqi, 18px); right: clamp(22px, 2.8cqi, 40px); width: clamp(150px, 15cqi, 230px); height: auto; display: block; margin: 0; }
.simp-home > .prose, .simp-home > .btn { grid-column: 1 / -1; }
.simp-home > .btn { justify-self: start; }
@media (max-width: 700px) { .simp-home .simp-hd { padding-right: 0; min-height: 0; } .simp-home .simp-logo { position: static; width: 150px; order: -1; } }
/* v1.1.24 — texto à esquerda e imagem à direita nas páginas de serviço */
.ti { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 360px); gap: 18px clamp(20px, 3cqi, 44px); align-items: start; }
.ti > .ti-t { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.ti > .figs { grid-template-columns: minmax(0, 1fr) !important; max-width: none !important; margin: 0; }
.ti > .figs .fig { margin: 0; }
.ti > .figs .fig img { width: 100%; height: auto; max-height: 300px; object-fit: cover; background: #EEF2E8; }
@media (max-width: 760px) { .ti { grid-template-columns: minmax(0, 1fr); } .ti > .figs .fig img { max-height: 260px; } }
/* v1.1.26 — trecho com 2 fotos: coluna de imagens mais larga, fotos lado a lado */
.ti.ti-2 { grid-template-columns: minmax(0, 1fr) minmax(300px, 480px); }
.ti.ti-2 > .figs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.ti.ti-2 > .figs .fig img { max-height: 240px; }
@media (max-width: 760px) { .ti.ti-2 { grid-template-columns: minmax(0, 1fr); } }
/* v1.1.27 — pares texto/foto: o 1º da página com foto à direita, os seguintes com foto à esquerda */
.ti.ti-l { grid-template-columns: minmax(240px, 360px) minmax(0, 1fr); }
.ti.ti-2.ti-l { grid-template-columns: minmax(300px, 480px) minmax(0, 1fr); }
.ti.ti-l > .figs { order: -1; }
@media (max-width: 760px) { .ti.ti-l, .ti.ti-2.ti-l { grid-template-columns: minmax(0, 1fr); } .ti.ti-l > .figs { order: 0; } }
/* v1.1.28 — textos justificados (parágrafos e listas do conteúdo), com hifenização em português para evitar vãos */
.root main .prose p, .root main .prose li, .root main .ti-t p { text-align: justify; text-justify: inter-word; hyphens: auto; -webkit-hyphens: auto; }

/* v1.1.29 — FAQ: respostas justificadas; quadro lateral com a mesma altura do quadro de perguntas */
.root main .faq details p,.root main .faq details li{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
.root main .s8 + aside.s4.aside{align-self:stretch}
.root main .s8 + aside.s4.aside > .btn:last-child{margin-top:auto!important}

/* v1.1.30 — split2 com mini-cartões: texto na metade esquerda, cartões em grade 2x2 de mesma altura abaixo */
.root main .split2:has(> .col > .minis) > .col:has(> .minis){grid-column:1 / -1}
@container pg (min-width:701px){
.root main .split2 .minis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:14px 18px}
.root main .split2 .minis:has(> div:nth-child(4):last-child){grid-template-rows:repeat(2,1fr);grid-auto-flow:column}
.root main .split2 .minis > div{border-radius:24px;padding:22px 24px}
}

/* v1.1.31 — split2 com mini-cartões: título em uma linha e texto justificado na largura total */
.root main .split2:has(> .col > .minis) > .col{grid-column:1 / -1}
.root main .split2:has(> .col > .minis) > .col .h2{max-width:none}

/* v1.1.33 — quadro lateral ao lado das perguntas frequentes com a mesma altura */
.root main > section:has(details) + aside[style*="span 4"]{align-self:stretch!important}
.root main > section:has(details) + aside[style*="span 4"] > a:last-child{margin-top:auto!important}
