/* Desentupidora M3 — CSS compartilhado do site (carregado de forma assíncrona) */

/* Breadcrumbs — páginas internas */
.breadcrumbs{padding:14px 0;font-size:.85rem;color:var(--cor-texto-mutado);}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0;}
.breadcrumbs li{display:flex;align-items:center;}
.breadcrumbs li:not(:last-child)::after{content:"/";margin:0 8px;color:var(--cor-borda);}
.breadcrumbs a{color:var(--cor-texto-mutado);}
.breadcrumbs a:hover,.breadcrumbs a:focus-visible{color:var(--cor-primaria);}
.breadcrumbs li[aria-current]{color:var(--cor-texto);font-weight:600;}

/* Hero de página interna (serviço) — texto + imagem única (sem composição) */
.hero--servico .hero__conteudo{max-width:60ch;}

/* Conteúdo técnico de serviço */
.servico-conteudo{max-width:70ch;}
.servico-conteudo h2{margin-top:var(--esp-4);font-size:1.3rem;color:var(--cor-primaria);}
.servico-conteudo h2:first-child{margin-top:0;}
.servico-conteudo h3{margin-top:var(--esp-3);font-size:1.1rem;color:var(--cor-primaria);}
.servico-conteudo p{color:var(--cor-texto);}
.servico-conteudo ul{color:var(--cor-texto);padding-left:1.2em;margin:0 0 var(--esp-2);}
.servico-conteudo li{margin-bottom:6px;}

/* Barra de serviços/cidades animada */
.marquee{background:var(--cor-primaria);color:#e8eefb;overflow:hidden;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);}
.marquee__track{display:flex;width:max-content;white-space:nowrap;padding:12px 0;font-size:.9rem;animation:marquee 32s linear infinite;}
.marquee__track span{padding-right:0;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){
  .marquee__track{animation:none;overflow-x:auto;}
}

/* Estrutura genérica de seção */
.section{padding:var(--esp-5) 0;}
.section--alt{background:var(--cor-fundo-alt);}
.section__eyebrow{display:block;font-family:var(--fonte-mono);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cor-secundaria);margin-bottom:6px;}
.section__bar{position:relative;padding-top:14px;}
.section__bar::before{content:"";display:block;width:48px;height:4px;border-radius:2px;background:var(--cor-secundaria);position:absolute;top:0;left:0;}
.section__intro{font-size:1.05rem;max-width:68ch;color:var(--cor-texto);}
.section__apoio{color:var(--cor-texto-mutado);max-width:60ch;margin-bottom:var(--esp-3);}
h2{font-size:clamp(1.5rem,3.4vw,2rem);color:var(--cor-primaria);}

/* Sobre a empresa */
.sobre__grid{display:grid;gap:var(--esp-4);}
.sobre__texto{max-width:60ch;}
.sobre__fotos{display:flex;flex-direction:column;gap:12px;}
.sobre__foto-principal{margin:0;border-radius:14px;overflow:hidden;box-shadow:0 10px 28px -16px rgba(5,54,175,.3);}
.sobre__foto-principal img{width:100%;height:auto;}
.sobre__foto-principal figcaption{background:#fff;padding:10px 14px;font-size:.85rem;color:var(--cor-texto-mutado);}
.sobre__foto-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.sobre__foto-grade img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px;}
@media (min-width:860px){
  .sobre__grid{grid-template-columns:1fr 1fr;align-items:center;}
}

/* Catálogo de serviços */
.servicos__grid{display:grid;grid-template-columns:1fr;gap:var(--esp-3);margin-top:var(--esp-3);}
.service-card{background:#fff;border:1px solid var(--cor-borda);border-top:3px solid var(--cor-secundaria);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;}
.service-card__img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
.service-card__body{padding:var(--esp-3);}
.service-card h3{font-size:1.1rem;color:var(--cor-primaria);margin-bottom:8px;}
.service-card p{color:var(--cor-texto);font-size:.95rem;}
.service-card a{font-weight:700;color:var(--cor-secundaria);}
.service-card a:hover,.service-card a:focus-visible{color:var(--cor-primaria);}
@media (min-width:640px){.servicos__grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1024px){.servicos__grid{grid-template-columns:repeat(3,1fr);}}

/* Por que confiar */
.trust__item{background:#fff;border:1px solid var(--cor-borda);border-top:3px solid var(--cor-secundaria);border-radius:12px;padding:var(--esp-3);}
.trust__item h3{font-size:1.05rem;color:var(--cor-primaria);margin-bottom:8px;}
.trust__item p{font-size:.95rem;color:var(--cor-texto);margin-bottom:0;}
.trust__mais{margin-top:var(--esp-2);text-align:center;}
.trust__mais a{font-size:.85rem;color:var(--cor-texto-mutado);text-decoration:underline;}
.trust__mais a:hover,.trust__mais a:focus-visible{color:var(--cor-primaria);}

/* Como funciona o orçamento */
.processo{list-style:none;margin:var(--esp-3) 0 var(--esp-3);padding:0;display:grid;grid-template-columns:1fr;gap:var(--esp-3);}
.processo__item{background:#fff;border:1px solid var(--cor-borda);border-radius:12px;padding:var(--esp-3);position:relative;}
.processo__numero{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--cor-primaria);color:#fff;font-weight:700;margin-bottom:10px;}
.processo__item h3{font-size:1.05rem;color:var(--cor-primaria);margin-bottom:6px;}
.processo__item p{font-size:.95rem;color:var(--cor-texto);margin-bottom:0;}
@media (min-width:640px){.processo{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1024px){.processo{grid-template-columns:repeat(4,1fr);}}

/* Área de cobertura */
.cidades{list-style:none;margin:var(--esp-3) 0 var(--esp-3);padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.cidades__item{background:#fff;border:1px solid var(--cor-borda);border-radius:999px;padding:10px 16px;font-size:.92rem;text-align:center;color:var(--cor-texto);}
.cidades__item--sede{background:var(--cor-primaria);border-color:var(--cor-primaria);color:#fff;font-weight:700;}
.cidades__item--sede span{font-weight:400;}
@media (min-width:640px){.cidades{grid-template-columns:repeat(3,1fr);}}
@media (min-width:1024px){.cidades{grid-template-columns:repeat(5,1fr);}}

/* FAQ */
.faq__grid{display:grid;gap:var(--esp-4);}
.faq__item{background:#fff;border:1px solid var(--cor-borda);border-radius:12px;padding:4px var(--esp-3);margin-bottom:12px;}
.faq__item summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;min-height:44px;font-weight:700;}
.faq__item summary::-webkit-details-marker{display:none;}
.faq__item summary h3{font-size:1rem;color:var(--cor-texto);margin:0;}
.faq__item summary::after{content:"";width:10px;height:10px;border-right:2px solid var(--cor-secundaria);border-bottom:2px solid var(--cor-secundaria);transform:rotate(45deg);transition:transform .2s ease;flex-shrink:0;}
.faq__item[open] summary::after{transform:rotate(-135deg);}
.faq__item p{padding-bottom:16px;color:var(--cor-texto-mutado);margin:0;}
.faq__contato{background:var(--cor-primaria);color:#fff;border-radius:14px;padding:var(--esp-3);align-self:start;}
.faq__contato-titulo{font-family:var(--fonte-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;margin-bottom:10px;opacity:.85;}
.faq__contato p{color:#e8eefb;}
.faq__contato a:not(.btn){color:#fff;}
.faq__contato .btn{margin-right:8px;margin-bottom:8px;}
@media (min-width:860px){
  .faq__grid{grid-template-columns:1fr 340px;align-items:start;}
  .faq__contato{position:sticky;top:calc(var(--cabecalho-altura) + 16px);}
}

/* Rodapé institucional */
.rodape{background:var(--cor-primaria);color:#e8eefb;padding:var(--esp-5) 0 var(--esp-3);}
.rodape h2{color:#fff;}
.rodape__chamada{max-width:68ch;margin-bottom:var(--esp-4);}
.rodape__chamada p{color:#dbe6fa;}
.rodape__grade{display:grid;grid-template-columns:1fr;gap:var(--esp-3);padding-bottom:var(--esp-3);border-bottom:1px solid rgba(255,255,255,.18);}
.footer__title{font-family:var(--fonte-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:#fff;margin:0 0 10px;}
.rodape__grade p{color:#dbe6fa;font-size:.92rem;}
.rodape__grade a{color:#fff;font-weight:600;}
.rodape__links{list-style:none;margin:0;padding:0;}
.rodape__links li{margin-bottom:8px;}
.rodape__links a{color:#dbe6fa;font-weight:400;}
.rodape__links a:hover,.rodape__links a:focus-visible{color:#fff;text-decoration:underline;}
.rodape__institucional{color:#dbe6fa;font-size:.92rem;padding-top:var(--esp-3);margin-bottom:0;}
.rodape-base{padding-top:var(--esp-3);font-size:.82rem;color:#c3d3f0;}
.rodape-base p{margin-bottom:6px;}
.rodape__credito a{color:#fff;text-decoration:underline;}
.btn-link{background:none;border:none;padding:0;font:inherit;color:#c3d3f0;text-decoration:underline;cursor:pointer;}
.btn-link:hover,.btn-link:focus-visible{color:#fff;}
@media (min-width:640px){.rodape__grade{grid-template-columns:repeat(3,1fr);}}

/* Botão flutuante de WhatsApp */
.wa-float{position:fixed;right:16px;bottom:16px;width:56px;height:56px;border-radius:50%;background:var(--cor-wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -8px rgba(21,128,61,.6);z-index:900;animation:wa-pulse 2.4s ease-in-out infinite;}
.wa-float svg{width:28px;height:28px;fill:currentColor;}
.wa-float:hover,.wa-float:focus-visible{background:var(--cor-wa-hover);}
@keyframes wa-pulse{0%,100%{box-shadow:0 0 0 0 rgba(21,128,61,.45),0 10px 24px -8px rgba(21,128,61,.6);}50%{box-shadow:0 0 0 10px rgba(21,128,61,0),0 10px 24px -8px rgba(21,128,61,.6);}}
@media (prefers-reduced-motion:reduce){.wa-float{animation:none;}}

/* Banner de cookies LGPD */
.fl-cookie{position:fixed;left:16px;bottom:16px;z-index:950;max-width:380px;background:#fff;border:1px solid var(--cor-borda);border-radius:14px;padding:18px;box-shadow:0 16px 40px -16px rgba(15,23,42,.35);}
.fl-cookie p{font-size:.85rem;color:var(--cor-texto-mutado);margin-bottom:12px;}
.fl-cookie a{color:var(--cor-primaria);text-decoration:underline;}
.fl-cookie-acoes{display:flex;gap:10px;}
.fl-cookie-acoes button{min-height:44px;padding:10px 18px;border-radius:8px;font-weight:700;font-family:var(--fonte-base);cursor:pointer;border:2px solid var(--cor-primaria);}
#fl-accept{background:var(--cor-primaria);color:#fff;}
#fl-accept:hover,#fl-accept:focus-visible{background:#042a7a;}
#fl-reject{background:#fff;color:var(--cor-primaria);}
#fl-reject:hover,#fl-reject:focus-visible{background:var(--cor-fundo-alt);}
@media (max-width:767px){
  .fl-cookie{left:0;right:0;bottom:0;max-width:none;border-radius:16px 16px 0 0;}
  body.has-cookie-banner .wa-float{bottom:calc(16px + var(--banner-cookies-height,220px));}
}
