/* ==========================================================================
   OMNI SAÚDE — SISTEMA VISUAL DO SITE
   Paleta e tipografia conforme MANUAL DA MARCA - OMNI.pdf
   ========================================================================== */

/* --------------------------------------------------------------------------
   TIPOGRAFIA OFICIAL — NAVIGO
   A Navigo (Light / Medium / Bold) é a tipografia do Manual da Marca.
   Não é fonte de uso web livre. Quando a licença webfont for adquirida,
   coloque os arquivos em assets/fonts/ e descomente o bloco abaixo.
   Nenhuma outra alteração é necessária.
   -------------------------------------------------------------------------- */
/*
@font-face { font-family:'Navigo'; src:url('../fonts/Navigo-Light.woff2') format('woff2');  font-weight:300; font-display:swap; }
@font-face { font-family:'Navigo'; src:url('../fonts/Navigo-Regular.woff2') format('woff2');font-weight:400; font-display:swap; }
@font-face { font-family:'Navigo'; src:url('../fonts/Navigo-Medium.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:'Navigo'; src:url('../fonts/Navigo-Bold.woff2') format('woff2');   font-weight:700; font-display:swap; }
*/

:root{
  /* --- Paleta oficial (Manual da Marca) --- */
  --c-laranja:        #EF8024;
  --c-cinza:          #737375;
  --c-laranja-claro:  #FFB375;
  --c-laranja-suave:  #FFDCBF;

  /* --- Ciano: [DADO OFICIAL PENDENTE] -------------------------------------
     A HOME pede uma "Seção azul/verde" e o posicionamento cita ciano, mas o
     Manual da Marca não define esse hex. Valor provisório abaixo.
     Ver PENDENCIAS.md, item 11. Trocar aqui altera todo o site.            */
  --c-ciano:          #0E7C86;
  --c-ciano-escuro:   #0A5F67;

  /* --- Neutros funcionais (derivados do cinza da marca, para contraste AA) */
  --c-tinta:          #2E2E30;
  --c-tinta-suave:    #55555A;
  --c-linha:          #E6E2DE;
  --c-fundo:          #FFFFFF;
  --c-fundo-quente:   #FBF8F5;
  --c-fundo-areia:    #F4F0EB;

  /* --- Estados de apoio --- */
  --c-laranja-escuro: #D46A12;

  /* --- Escala tipográfica (mobile first, fluida) --- */
  --fs-display: clamp(2rem, 1.2rem + 4vw, 3.75rem);
  --fs-h1:      clamp(1.75rem, 1.15rem + 3vw, 3rem);
  --fs-h2:      clamp(1.5rem, 1.05rem + 2.2vw, 2.375rem);
  --fs-h3:      clamp(1.175rem, 1rem + 0.9vw, 1.5rem);
  --fs-h4:      clamp(1.0625rem, 1rem + 0.35vw, 1.1875rem);
  --fs-corpo:   clamp(1rem, 0.97rem + 0.15vw, 1.0625rem);
  --fs-peq:     0.9375rem;
  --fs-micro:   0.8125rem;

  /* --- Ritmo --- */
  --esp-secao:  clamp(3.5rem, 2rem + 7vw, 6.5rem);
  --raio:       20px;
  --raio-p:     12px;
  --raio-pill:  999px;
  --sombra:     0 2px 4px rgba(46,46,48,.04), 0 12px 32px rgba(46,46,48,.07);
  --sombra-alta:0 4px 8px rgba(46,46,48,.06), 0 20px 48px rgba(46,46,48,.11);
  --max:        1200px;
  --max-texto:  68ch;

  --fonte: 'Navigo', 'Figtree', 'Poppins', -apple-system, BlinkMacSystemFont,
           'Segoe UI', Roboto, sans-serif;
}

/* ==========================================================================
   BASE
   ========================================================================== */
*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

body{
  margin:0;
  font-family:var(--fonte);
  font-size:var(--fs-corpo);
  font-weight:400;
  line-height:1.65;
  color:var(--c-tinta);
  background:var(--c-fundo);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

img,svg,video{ max-width:100%; height:auto; display:block; }

h1,h2,h3,h4{ margin:0 0 .5em; line-height:1.15; font-weight:700; letter-spacing:-.015em; }
h1{ font-size:var(--fs-h1); }
h2{ font-size:var(--fs-h2); }
h3{ font-size:var(--fs-h3); }
h4{ font-size:var(--fs-h4); font-weight:600; }
p{ margin:0 0 1.15em; }
p:last-child,ul:last-child,ol:last-child{ margin-bottom:0; }
ul,ol{ margin:0 0 1.15em; padding-left:1.25em; }
li{ margin-bottom:.4em; }
strong{ font-weight:600; }
small{ font-size:var(--fs-micro); }

a{ color:var(--c-laranja-escuro); text-decoration:underline; text-underline-offset:2px; }
a:hover{ color:var(--c-laranja); }

/* Acessibilidade: foco sempre visível (RN 509) */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--c-laranja);
  outline-offset:3px;
  border-radius:4px;
}

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:999;
  background:var(--c-tinta); color:#fff; padding:.75rem 1.25rem;
  border-radius:0 0 var(--raio-p) 0; text-decoration:none; font-weight:600;
}
.skip-link:focus{ left:0; color:#fff; }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ==========================================================================
   LAYOUT
   ========================================================================== */
.wrap{ width:100%; max-width:var(--max); margin-inline:auto; padding-inline:1.25rem; }
@media (min-width:768px){ .wrap{ padding-inline:2rem; } }

.secao{ padding-block:var(--esp-secao); }
.secao--curta{ padding-block:clamp(2.5rem,1.5rem + 4vw,4rem); }

.secao--quente{ background:var(--c-fundo-quente); }
.secao--areia{ background:var(--c-fundo-areia); }
.secao--laranja{ background:var(--c-laranja); color:#fff; }
.secao--ciano{ background:var(--c-ciano); color:#fff; }
.secao--grafite{ background:var(--c-tinta); color:#fff; }

.secao--laranja h2,.secao--ciano h2,.secao--grafite h2,
.secao--laranja h3,.secao--ciano h3,.secao--grafite h3{ color:#fff; }
.secao--laranja a,.secao--ciano a,.secao--grafite a{ color:#fff; }

.medida{ max-width:var(--max-texto); }
.centro{ text-align:center; margin-inline:auto; }

.grade{ display:grid; gap:1.5rem; }
.grade--2{ grid-template-columns:1fr; }
.grade--3{ grid-template-columns:1fr; }
.grade--4{ grid-template-columns:1fr; }
@media (min-width:600px){
  .grade--2{ grid-template-columns:repeat(2,1fr); }
  .grade--3{ grid-template-columns:repeat(2,1fr); }
  .grade--4{ grid-template-columns:repeat(2,1fr); }
}
@media (min-width:960px){
  .grade--3{ grid-template-columns:repeat(3,1fr); }
  .grade--4{ grid-template-columns:repeat(4,1fr); }
}

/* Bloco: texto + imagem alternados */
.duo{ display:grid; gap:2rem; align-items:center; }
@media (min-width:900px){
  .duo{ grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,4.5rem); }
  .duo--invertido > :first-child{ order:2; }
}

/* ==========================================================================
   TÍTULOS DE SEÇÃO
   ========================================================================== */
.olho{
  display:inline-block;
  font-size:var(--fs-micro);
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--c-laranja-escuro);
  margin-bottom:.85rem;
}
.secao--laranja .olho,.secao--ciano .olho,.secao--grafite .olho{ color:rgba(255,255,255,.82); }

.cabeca-secao{ margin-bottom:clamp(2rem,1.2rem + 2.5vw,3rem); }
.cabeca-secao p{ color:var(--c-tinta-suave); max-width:var(--max-texto); }
.secao--laranja .cabeca-secao p,.secao--ciano .cabeca-secao p,
.secao--grafite .cabeca-secao p{ color:rgba(255,255,255,.9); }

/* ==========================================================================
   BOTÕES
   ========================================================================== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.9rem 1.75rem;
  font-family:inherit; font-size:var(--fs-peq); font-weight:600;
  letter-spacing:.01em; line-height:1.2;
  border-radius:var(--raio-pill); border:2px solid transparent;
  text-decoration:none; cursor:pointer;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
  min-height:48px;
}
.btn:hover{ transform:translateY(-1px); }
.btn svg{ flex:none; }

/* Seletores com duas classes: garantem que a cor do botão vença as regras
   de link das seções coloridas e do rodapé (que têm especificidade maior
   que uma classe simples). */
.btn.btn--principal{ background:var(--c-laranja); color:#fff; }
.btn.btn--principal:hover{ background:var(--c-laranja-escuro); color:#fff; }

.btn.btn--contorno{ background:transparent; color:var(--c-laranja-escuro); border-color:var(--c-laranja); }
.btn.btn--contorno:hover{ background:var(--c-laranja); color:#fff; }

.btn.btn--claro{ background:#fff; color:var(--c-laranja-escuro); }
.btn.btn--claro:hover{ background:var(--c-laranja-suave); color:var(--c-laranja-escuro); }

.btn.btn--contorno-claro{ background:transparent; color:#fff; border-color:rgba(255,255,255,.75); }
.btn.btn--contorno-claro:hover{ background:#fff; color:var(--c-tinta); }

.btn.btn--grafite{ background:var(--c-tinta); color:#fff; }
.btn.btn--grafite:hover{ background:#000; color:#fff; }

.btn-grupo{ display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.75rem; }

/* ==========================================================================
   BARRA SUPERIOR + CABEÇALHO
   ========================================================================== */
.topo{
  background:var(--c-tinta); color:#fff;
  font-size:var(--fs-micro);
}
.topo__int{ display:flex; flex-wrap:wrap; gap:.25rem 1.5rem; align-items:center; justify-content:space-between; min-height:44px; padding-block:.35rem; }
.topo__grupo{ display:flex; flex-wrap:wrap; gap:.15rem; align-items:center; }
.topo a{
  color:rgba(255,255,255,.86); text-decoration:none; font-weight:500;
  padding:.4rem .7rem; border-radius:var(--raio-pill); display:inline-block;
}
.topo a:hover{ color:#fff; background:rgba(255,255,255,.12); }
.topo a[aria-current="page"]{ color:#fff; background:rgba(239,128,36,.9); }
.topo__grupo--perfis a{ font-weight:600; }
@media (max-width:767px){
  .topo__int{ justify-content:center; }
  .topo__grupo--institucional{ display:none; }
}

.cabecalho{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--c-linha);
}
.cabecalho__int{ display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:76px; }
.marca{ display:inline-flex; align-items:center; text-decoration:none; flex:none; }
.marca img{ height:38px; width:auto; }
@media (min-width:768px){ .marca img{ height:44px; } }

.nav{ display:none; }
@media (min-width:1024px){
  .nav{ display:flex; align-items:center; gap:.35rem; }
  .nav a{
    color:var(--c-tinta); text-decoration:none; font-weight:600; font-size:var(--fs-peq);
    padding:.65rem .9rem; border-radius:var(--raio-pill);
  }
  .nav a:hover{ background:var(--c-fundo-areia); color:var(--c-laranja-escuro); }
  .nav a[aria-current="page"]{ color:var(--c-laranja-escuro); background:var(--c-laranja-suave); }
}
.cabecalho__cta{ display:none; }
@media (min-width:1180px){ .cabecalho__cta{ display:inline-flex; } }

.menu-btn{
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--c-fundo-areia); color:var(--c-tinta);
  border:0; border-radius:var(--raio-pill);
  padding:.7rem 1.1rem; font-family:inherit; font-size:var(--fs-peq); font-weight:600;
  cursor:pointer; min-height:46px;
}
.menu-btn:hover{ background:var(--c-laranja-suave); }
@media (min-width:1024px){ .menu-btn{ display:none; } }

/* Menu móvel */
.gaveta{
  position:fixed; inset:0; z-index:80;
  background:rgba(46,46,48,.55);
  opacity:0; visibility:hidden; transition:opacity .25s ease, visibility .25s ease;
}
.gaveta[data-aberta="true"]{ opacity:1; visibility:visible; }
.gaveta__painel{
  position:absolute; inset:0 0 0 auto;
  width:min(88vw,420px); background:#fff;
  padding:1.25rem 1.25rem 3rem;
  overflow-y:auto;
  transform:translateX(100%); transition:transform .25s ease;
  display:flex; flex-direction:column; gap:.35rem;
}
.gaveta[data-aberta="true"] .gaveta__painel{ transform:translateX(0); }
.gaveta__topo{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.gaveta__fechar{
  background:var(--c-fundo-areia); border:0; border-radius:var(--raio-pill);
  width:46px; height:46px; font-size:1.35rem; line-height:1; cursor:pointer; color:var(--c-tinta);
}
.gaveta__titulo{
  font-size:var(--fs-micro); font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--c-cinza); margin:1.25rem 0 .35rem;
}
.gaveta a{
  display:block; padding:.85rem .9rem; border-radius:var(--raio-p);
  text-decoration:none; color:var(--c-tinta); font-weight:600; font-size:1.0625rem;
}
.gaveta a:hover{ background:var(--c-fundo-areia); }
.gaveta a[aria-current="page"]{ background:var(--c-laranja-suave); color:var(--c-laranja-escuro); }
.gaveta .btn{ margin-top:1.25rem; width:100%; }

/* ==========================================================================
   GRAFISMO OFICIAL — arcos concêntricos e retícula de pontos
   ========================================================================== */
.arcos{ position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.arcos svg{ position:absolute; height:auto; }
.arcos--dir svg{ right:-14%; top:50%; transform:translateY(-50%); width:min(78%,760px); }
.arcos--esq svg{ left:-18%; top:50%; transform:translateY(-50%); width:min(70%,660px); }

.reticula{
  position:absolute; pointer-events:none;
  background-image:radial-gradient(currentColor 1.4px, transparent 1.4px);
  background-size:14px 14px;
  opacity:.35;
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{ position:relative; overflow:hidden; background:var(--c-tinta); color:#fff; isolation:isolate; }
.hero__midia{ position:absolute; inset:0; z-index:-2; }
.hero__midia img{ width:100%; height:100%; object-fit:cover; }
.hero::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(100deg, rgba(46,46,48,.94) 0%, rgba(46,46,48,.80) 42%, rgba(239,128,36,.55) 100%);
}
.hero__int{ position:relative; padding-block:clamp(3.5rem,2rem + 9vw,7rem); }
.hero__conteudo{ max-width:640px; }
.hero .assinatura{
  font-size:var(--fs-micro); font-weight:600; letter-spacing:.34em; text-transform:uppercase;
  color:rgba(255,255,255,.85); margin-bottom:1.1rem;
}
.hero h1{ color:#fff; font-size:var(--fs-h1); }
.hero__chamada{ font-size:clamp(1.0625rem,1rem + .45vw,1.25rem); color:rgba(255,255,255,.92); max-width:52ch; }

/* Hero da HOME — mais alto e com o slogan em destaque */
.hero--home .hero__int{ padding-block:clamp(4.5rem,2.5rem + 12vw,9rem); }
.hero--home h1{ font-size:var(--fs-display); letter-spacing:-.03em; }
.hero--home h1 .marca-slogan{ display:block; font-weight:300; }

/* Hero de página interna com faixa laranja */
.hero--laranja::after{
  background:linear-gradient(100deg, rgba(212,106,18,.96) 0%, rgba(239,128,36,.88) 55%, rgba(255,179,117,.7) 100%);
}
.hero--ciano::after{
  background:linear-gradient(100deg, rgba(10,95,103,.96) 0%, rgba(14,124,134,.88) 55%, rgba(14,124,134,.6) 100%);
}

/* ==========================================================================
   PLACEHOLDER DE IMAGEM — [IMAGEM OFICIAL PENDENTE]
   ========================================================================== */
.foto{
  position:relative; overflow:hidden; border-radius:var(--raio);
  background:linear-gradient(135deg,var(--c-laranja) 0%,var(--c-laranja-claro) 55%,var(--c-laranja-suave) 100%);
  color:#fff; min-height:280px;
  display:flex; align-items:flex-end;
}
.foto--alta{ min-height:420px; }
.foto--cinza{ background:linear-gradient(135deg,var(--c-tinta) 0%,var(--c-cinza) 100%); }
.foto--ciano{ background:linear-gradient(135deg,var(--c-ciano-escuro) 0%,var(--c-ciano) 100%); }
.foto__nota{
  position:relative; z-index:2; margin:1rem; padding:1rem 1.15rem;
  font-size:var(--fs-micro); font-weight:600; letter-spacing:.02em;
  background:rgba(46,46,48,.45); border-radius:var(--raio-p);
}
.foto .arcos{ color:rgba(255,255,255,.4); }

/* ==========================================================================
   CARDS
   ========================================================================== */
.card{
  background:#fff; border:1px solid var(--c-linha); border-radius:var(--raio);
  padding:1.75rem; display:flex; flex-direction:column; gap:.35rem;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card h3{ margin-bottom:.35rem; }
.card p{ color:var(--c-tinta-suave); font-size:var(--fs-peq); }
.card__topo{ margin-bottom:.9rem; }
a.card,.card--link{ text-decoration:none; color:inherit; }
a.card:hover,.card--acao:hover{ transform:translateY(-3px); box-shadow:var(--sombra-alta); border-color:var(--c-laranja-claro); }
.card__seta{ margin-top:auto; padding-top:1.1rem; font-weight:600; font-size:var(--fs-peq); color:var(--c-laranja-escuro); display:inline-flex; align-items:center; gap:.4rem; }

.card--destaque{ background:var(--c-fundo-quente); border-color:transparent; }
.card--contorno-claro{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.3); color:#fff; }
.card--contorno-claro p{ color:rgba(255,255,255,.88); }
.card--contorno-claro .card__seta{ color:#fff; }

.icone{
  width:56px; height:56px; border-radius:var(--raio-pill);
  background:var(--c-laranja-suave); color:var(--c-laranja-escuro);
  display:grid; place-items:center; flex:none;
}
.icone svg{ width:28px; height:28px; }
.icone--laranja{ background:var(--c-laranja); color:#fff; }
.icone--claro{ background:rgba(255,255,255,.16); color:#fff; }
.icone--ciano{ background:rgba(14,124,134,.12); color:var(--c-ciano-escuro); }

/* Faixa de acessos rápidos (ícones da HOME) */
.acessos{ display:grid; gap:1rem; grid-template-columns:repeat(2,1fr); }
@media (min-width:900px){ .acessos{ grid-template-columns:repeat(4,1fr); } }
.acesso{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:.85rem;
  padding:1.75rem 1rem; background:#fff; border:1px solid var(--c-linha);
  border-radius:var(--raio); text-decoration:none; color:var(--c-tinta);
  font-weight:600; font-size:var(--fs-peq); line-height:1.3;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  min-height:100%;
}
.acesso:hover{ transform:translateY(-3px); box-shadow:var(--sombra-alta); border-color:var(--c-laranja-claro); color:var(--c-laranja-escuro); }

/* Lista de serviços com ícone (Área da Empresa / Prestador) */
.servicos{ display:grid; gap:1rem; grid-template-columns:1fr; }
@media (min-width:700px){ .servicos{ grid-template-columns:repeat(3,1fr); } }
.servico{
  display:flex; flex-direction:column; gap:.75rem;
  background:#fff; border:1px solid var(--c-linha); border-radius:var(--raio);
  padding:1.5rem;
}
.servico h4{ margin:0; }
.servico .btn{ width:100%; margin-top:auto; }

/* Lista simples com marcador da marca */
.lista-marca{ list-style:none; padding:0; margin:0; display:grid; gap:.7rem; }
.lista-marca li{ position:relative; padding-left:1.9rem; margin:0; }
.lista-marca li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:10px; height:10px; border-radius:var(--raio-pill);
  border:2.5px solid var(--c-laranja);
}
.secao--laranja .lista-marca li::before,
.secao--ciano .lista-marca li::before,
.secao--grafite .lista-marca li::before{ border-color:#fff; }

.lista-2col{ display:grid; gap:.7rem; }
@media (min-width:700px){ .lista-2col{ grid-template-columns:repeat(2,1fr); } }

/* ==========================================================================
   ACCORDION
   ========================================================================== */
.sanfona{ display:grid; gap:.75rem; }
.sanfona__item{ background:#fff; border:1px solid var(--c-linha); border-radius:var(--raio-p); overflow:hidden; }
.sanfona__botao{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  background:none; border:0; padding:1.15rem 1.35rem;
  font-family:inherit; font-size:var(--fs-h4); font-weight:600; color:var(--c-tinta);
  text-align:left; cursor:pointer; line-height:1.3; min-height:56px;
}
.sanfona__botao:hover{ background:var(--c-fundo-quente); }
.sanfona__sinal{
  flex:none; width:28px; height:28px; border-radius:var(--raio-pill);
  background:var(--c-laranja-suave); color:var(--c-laranja-escuro);
  display:grid; place-items:center; font-size:1.1rem; line-height:1; font-weight:700;
  transition:transform .2s ease;
}
.sanfona__botao[aria-expanded="true"] .sanfona__sinal{ transform:rotate(45deg); background:var(--c-laranja); color:#fff; }
.sanfona__corpo{ padding:0 1.35rem 1.4rem; }
.sanfona__corpo[hidden]{ display:none; }

/* ==========================================================================
   ABAS
   ========================================================================== */
.abas__lista{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.5rem; }
.abas__botao{
  background:#fff; border:1px solid var(--c-linha); border-radius:var(--raio-pill);
  padding:.7rem 1.25rem; font-family:inherit; font-size:var(--fs-peq); font-weight:600;
  color:var(--c-tinta-suave); cursor:pointer; min-height:46px;
}
.abas__botao:hover{ border-color:var(--c-laranja-claro); color:var(--c-laranja-escuro); }
.abas__botao[aria-selected="true"]{ background:var(--c-laranja); border-color:var(--c-laranja); color:#fff; }
.abas__painel[hidden]{ display:none; }

/* ==========================================================================
   TABELAS — viram cartões empilhados no mobile (sem rolagem horizontal)
   ========================================================================== */
.tabela{ width:100%; border-collapse:collapse; font-size:var(--fs-peq); }
.tabela caption{ text-align:left; font-weight:600; margin-bottom:.85rem; color:var(--c-tinta-suave); }
.tabela th,.tabela td{ text-align:left; padding:.85rem 1rem; border-bottom:1px solid var(--c-linha); vertical-align:top; }
.tabela thead th{ background:var(--c-fundo-areia); font-weight:600; color:var(--c-tinta); white-space:nowrap; }
.tabela tbody tr:hover{ background:var(--c-fundo-quente); }

@media (max-width:767px){
  .tabela,.tabela tbody,.tabela tr,.tabela td{ display:block; width:100%; }
  .tabela thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .tabela tr{
    background:#fff; border:1px solid var(--c-linha); border-radius:var(--raio-p);
    padding:.4rem .25rem; margin-bottom:.85rem;
  }
  .tabela td{ border:0; padding:.5rem .9rem; display:grid; grid-template-columns:1fr; gap:.1rem; }
  .tabela td::before{
    content:attr(data-rotulo);
    font-size:var(--fs-micro); font-weight:600; letter-spacing:.06em; text-transform:uppercase;
    color:var(--c-cinza);
  }
  .tabela td:first-child{ font-weight:600; font-size:1rem; }
}

/* ==========================================================================
   PENDÊNCIAS E AVISOS
   ========================================================================== */
.pend{
  display:inline-block;
  background:var(--c-fundo-areia); color:var(--c-tinta-suave);
  border:1px dashed var(--c-cinza); border-radius:6px;
  padding:.1rem .5rem; font-size:var(--fs-micro); font-weight:600;
  letter-spacing:.02em; white-space:nowrap;
}
.secao--laranja .pend,.secao--ciano .pend,.secao--grafite .pend{
  background:rgba(255,255,255,.16); color:#fff; border-color:rgba(255,255,255,.6);
}

.aviso{
  background:var(--c-fundo-quente); border:1px solid var(--c-linha);
  border-left:4px solid var(--c-laranja);
  border-radius:var(--raio-p); padding:1.25rem 1.4rem;
  font-size:var(--fs-peq); color:var(--c-tinta-suave);
}
.aviso strong{ color:var(--c-tinta); }

.vazio{
  background:var(--c-fundo-quente); border:1px dashed var(--c-linha);
  border-radius:var(--raio); padding:2.5rem 1.5rem; text-align:center;
  color:var(--c-tinta-suave);
}
.vazio h3{ color:var(--c-tinta); }

.contato-bloco{ display:grid; gap:.35rem; }
.contato-bloco dt{ font-weight:600; color:var(--c-tinta); }
.contato-bloco dd{ margin:0 0 .85rem; color:var(--c-tinta-suave); }

/* ==========================================================================
   REDE CREDENCIADA — busca
   ========================================================================== */
.busca{
  background:#fff; border:1px solid var(--c-linha); border-radius:var(--raio);
  box-shadow:var(--sombra); padding:1.5rem;
}
@media (min-width:768px){ .busca{ padding:2rem; } }
.busca__campos{ display:grid; gap:1rem; grid-template-columns:1fr; }
@media (min-width:700px){ .busca__campos{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .busca__campos{ grid-template-columns:repeat(3,1fr); } }
.campo{ display:flex; flex-direction:column; gap:.4rem; }
.campo label{ font-size:var(--fs-peq); font-weight:600; }
.campo select,.campo input{
  font-family:inherit; font-size:1rem; color:var(--c-tinta);
  padding:.8rem .95rem; min-height:50px;
  border:1px solid var(--c-linha); border-radius:var(--raio-p); background:#fff;
}
.campo select:hover,.campo input:hover{ border-color:var(--c-laranja-claro); }
.busca__acoes{ display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.5rem; }

.qualiss{ display:grid; gap:1rem; }
.qualiss__item{
  display:flex; gap:1rem; align-items:flex-start;
  background:#fff; border:1px solid var(--c-linha); border-radius:var(--raio-p); padding:1.15rem;
}
.qualiss__selo{
  flex:none; width:44px; height:44px; border-radius:var(--raio-pill);
  background:var(--c-fundo-areia); color:var(--c-cinza);
  display:grid; place-items:center; font-size:var(--fs-micro); font-weight:700;
}

/* ==========================================================================
   BLOG
   ========================================================================== */
.materia{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--c-linha); border-radius:var(--raio); overflow:hidden; }
.materia .foto{ border-radius:0; min-height:190px; }
.materia__corpo{ padding:1.5rem; display:flex; flex-direction:column; gap:.5rem; flex:1; }
.materia__meta{ font-size:var(--fs-micro); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--c-laranja-escuro); }
.materia h3{ font-size:var(--fs-h4); }

/* ==========================================================================
   RODAPÉ
   ========================================================================== */
.rodape{ background:var(--c-tinta); color:rgba(255,255,255,.78); font-size:var(--fs-peq); }
.rodape a{ color:rgba(255,255,255,.78); text-decoration:none; }
.rodape a:hover{ color:#fff; text-decoration:underline; }

.rodape__app{ background:var(--c-laranja); color:#fff; padding-block:2.5rem; }
.rodape__app-int{ display:grid; gap:1.25rem; align-items:center; }
@media (min-width:820px){ .rodape__app-int{ grid-template-columns:1fr auto; } }
.rodape__app h2{ font-size:var(--fs-h3); margin:0; color:#fff; }
.rodape__app .btn-grupo{ margin-top:0; }

.rodape__grade{ display:grid; gap:2.25rem; padding-block:3rem; }
@media (min-width:700px){ .rodape__grade{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .rodape__grade{ grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:2rem; } }
.rodape__titulo{
  font-size:var(--fs-micro); font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:#fff; margin:0 0 1.1rem;
}
.rodape__lista{ list-style:none; padding:0; margin:0; display:grid; gap:.6rem; }
.rodape__lista li{ margin:0; }
.rodape__logo img{ height:42px; width:auto; margin-bottom:1.25rem; }

.rodape__sociais{ display:flex; gap:.6rem; margin-top:1.25rem; }
.rodape__sociais a{
  width:42px; height:42px; border-radius:var(--raio-pill);
  background:rgba(255,255,255,.12); display:grid; place-items:center; color:#fff;
}
.rodape__sociais a:hover{ background:var(--c-laranja); }
.rodape__sociais svg{ width:19px; height:19px; }

.rodape__legal{ border-top:1px solid rgba(255,255,255,.16); padding-block:1.75rem; }
.rodape__legal-int{ display:grid; gap:1.25rem; align-items:center; }
@media (min-width:900px){ .rodape__legal-int{ grid-template-columns:auto 1fr; } }
.rodape__selos{ display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; }
.selo{
  border:1px solid rgba(255,255,255,.3); border-radius:var(--raio-p);
  padding:.55rem .9rem; font-size:var(--fs-micro); font-weight:600; color:#fff; line-height:1.25;
}
.rodape__legal p{ margin:0; font-size:var(--fs-micro); line-height:1.6; }

/* ==========================================================================
   BOTÃO FLUTUANTE — CHATBOT TINA (WhatsApp)
   Cor: laranja oficial da marca. Se o Marketing preferir o verde
   institucional do WhatsApp, trocar apenas --c-tina para #25D366.
   ========================================================================== */
:root{ --c-tina:var(--c-laranja); --c-tina-hover:var(--c-laranja-escuro); --tina-desvio:0px; }

.tina-area{
  position:fixed; right:1rem; z-index:85;
  bottom:calc(1rem + var(--tina-desvio));
  display:flex; flex-direction:column; align-items:flex-end; gap:.5rem;
  transition:bottom .3s ease;
}
@media (min-width:768px){ .tina-area{ right:1.5rem; bottom:calc(1.5rem + var(--tina-desvio)); } }

.tina{
  position:relative;
  display:inline-flex; align-items:center; gap:.65rem;
  padding:.9rem; border-radius:var(--raio-pill);
  background:var(--c-tina); color:#fff; text-decoration:none;
  font-family:inherit; font-size:var(--fs-peq); font-weight:600; line-height:1;
  box-shadow:0 6px 18px rgba(46,46,48,.22), 0 2px 6px rgba(46,46,48,.14);
  transition:background-color .2s ease, transform .2s ease, box-shadow .2s ease;
  min-height:56px; min-width:56px;
}
.tina:hover{ background:var(--c-tina-hover); color:#fff; transform:translateY(-2px); box-shadow:var(--sombra-alta); }
.tina:active{ transform:translateY(0); }

.tina__icone{ display:grid; place-items:center; width:30px; height:30px; flex:none; }
.tina__icone svg{ width:30px; height:30px; }

/* Rótulo aparece a partir de 600px; no celular fica só o ícone */
.tina__texto{ display:none; padding-right:.45rem; }
@media (min-width:600px){
  .tina{ padding:.9rem 1.35rem .9rem 1rem; }
  .tina__texto{ display:inline; }
}

/* Anel pulsante discreto — some com prefers-reduced-motion (regra global) */
.tina::before{
  content:""; position:absolute; inset:0; border-radius:inherit;
  border:2px solid var(--c-tina); opacity:0;
  animation:tina-pulso 2.8s ease-out infinite;
  pointer-events:none;
}
@keyframes tina-pulso{
  0%   { transform:scale(1);    opacity:.55; }
  70%  { transform:scale(1.28); opacity:0; }
  100% { transform:scale(1.28); opacity:0; }
}

/* Aviso de link pendente — some sozinho quando o número for configurado */
.tina-aviso{
  margin:0; background:#fff; color:var(--c-tinta-suave);
  border:1px dashed var(--c-cinza); border-radius:var(--raio-p);
  padding:.4rem .7rem; font-size:var(--fs-micro); font-weight:600;
  box-shadow:var(--sombra); max-width:min(72vw,260px); line-height:1.35;
}
.tina-aviso .pend{ border:0; background:none; padding:0; }
.tina-aviso[hidden]{ display:none; }

/* ==========================================================================
   BANNER DE COOKIES
   ========================================================================== */
.cookies{
  position:fixed; left:0; right:0; bottom:0; z-index:90;
  background:#fff; border-top:3px solid var(--c-laranja);
  box-shadow:0 -8px 32px rgba(46,46,48,.16);
  padding:1.25rem;
  transform:translateY(110%); transition:transform .3s ease;
}
.cookies[data-visivel="true"]{ transform:translateY(0); }
.cookies__int{ display:grid; gap:1rem; align-items:center; }
@media (min-width:900px){ .cookies__int{ grid-template-columns:1fr auto; } }
.cookies p{ margin:0; font-size:var(--fs-peq); color:var(--c-tinta-suave); }
.cookies .btn-grupo{ margin-top:0; }
.cookies .btn{ padding:.75rem 1.35rem; min-height:46px; }

/* ==========================================================================
   IMPRESSÃO
   ========================================================================== */
@media print{
  .topo,.cabecalho,.gaveta,.cookies,.tina-area,.rodape__app,.btn{ display:none !important; }
  body{ color:#000; background:#fff; }
  .hero::after{ display:none; }
  .hero{ background:#fff; color:#000; }
  .hero h1,.hero .assinatura,.hero__chamada{ color:#000; }
  .sanfona__corpo[hidden]{ display:block !important; }
  .abas__painel[hidden]{ display:block !important; }
  .secao{ padding-block:1.5rem; }
}
