/* Gerado por build.py a partir do handoff. Nao editar a mao. */
/* 1. style-hover / style-focus do prototipo */
.h0f11b066:hover{background:#0E7D79;transform:translateY(-1px);}
.h13b8e3c3:focus{border-color:#12938F;}
.h30575b1a:hover{background:#12938F;}
.h480061fc:hover{transform:translateY(-2px);border-color:#12938F;}
.h5fd2431f:hover{transform:translateY(-2px);border-color:#25D366;}
.h62bace75:hover{border-color:#fff;}
.h675c9f2a:hover{background:#0E7D79;}
.h8f1e5339:hover{border-color:#12938F;transform:translateY(-2px);}
.ha5349b69:hover{box-shadow:0 18px 40px rgba(38,52,58,0.1);transform:translateY(-4px);}
.hb08bac3b:hover{transform:translateY(-2px);}
.hb172d412:hover{background:#25D366;}
.hbf0a7235:hover{background:#0E7D79;transform:translateY(-2px);}
.hce2fb9e7:hover{transform:scale(1.08);}
.hfc759c67:hover{color:#fff;}

/* 2. Camada responsiva (o prototipo e desktop-only) */

img{max-width:100%;}

@media (max-width:980px){
  /* Grids de conteudo colapsam para uma coluna */
  [style*="grid-template-columns:1.05fr 0.95fr"],
  [style*="grid-template-columns:0.95fr 1.05fr"],
  [style*="grid-template-columns:1fr 1.15fr"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:300px 1fr"],
  [style*="grid-template-columns:1.4fr 1fr 1fr"],
  [style*="grid-template-columns:repeat(3,1fr)"]{
    grid-template-columns:1fr !important;
  }
  [style*="grid-template-columns:repeat(4,1fr)"]{
    grid-template-columns:repeat(2,1fr) !important;
  }
  /* Espacamentos generosos de desktop encolhem junto */
  [style*="gap:56px"],[style*="gap:60px"]{gap:36px !important;}
  [style*="padding:88px 28px"],[style*="padding:84px 28px"],
  [style*="padding:80px 28px"],[style*="padding:76px 28px"]{
    padding:56px 22px !important;
  }
  [style*="padding:76px 28px 84px"]{padding:48px 22px 56px !important;}
  [style*="padding:70px 28px 64px"],[style*="padding:70px 28px 60px"]{
    padding:48px 22px 40px !important;
  }
  [style*="padding:80px 28px 40px"]{padding:52px 22px 28px !important;}
  [style*="padding:40px 28px 90px"]{padding:28px 22px 56px !important;}
  [style*="padding:66px 28px"],[style*="padding:64px 28px 40px"]{
    padding:48px 22px 32px !important;
  }
  [style*="padding:38px"],[style*="padding:44px"]{padding:26px !important;}
  [style*="padding:36px 40px"]{padding:26px 24px !important;}

  /* A moldura de 300px do corpo clinico vira uma faixa no topo do card */
  [style*="grid-template-columns:300px 1fr"] > [style*="min-height:300px"]{
    min-height:260px !important;
  }
}

@media (max-width:720px){
  /* Tipografia: o salto de 52px para telas estreitas e o que mais quebra */
  [style*="font-size:52px"]{font-size:33px !important;}
  [style*="font-size:44px"]{font-size:29px !important;}
  [style*="font-size:38px"]{font-size:26px !important;}
  [style*="font-size:36px"]{font-size:25px !important;}
  [style*="font-size:34px"]{font-size:24px !important;}
  [style*="font-size:32px"]{font-size:23px !important;}
  [style*="font-size:28px"]{font-size:22px !important;}
  [style*="font-size:26px"]{font-size:21px !important;}
  [style*="font-size:24px"]{font-size:20px !important;}
  [style*="font-size:18.5px"],[style*="font-size:18px"]{font-size:16.5px !important;}

  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(2,1fr)"]{
    grid-template-columns:1fr !important;
  }

  /* Alturas fixas das fotos, pensadas para coluna larga de desktop */
  [style*="height:480px"]{height:300px !important;}
  [style*="height:460px"],[style*="height:440px"]{height:280px !important;}

  /* O card flutuante de horario sai de cima da foto e volta ao fluxo */
  [style*="position:absolute;left:-24px;bottom:36px"]{
    position:static !important;margin-top:16px !important;max-width:none !important;
  }

  /* Botao fixo do WhatsApp encolhe para nao cobrir conteudo */
  [style*="position:fixed;right:24px;bottom:24px"]{
    right:16px !important;bottom:16px !important;width:52px !important;height:52px !important;
  }
}

/* Cabecalho: 5 links + botao nao cabem em telas estreitas. Vira uma faixa
   rolavel horizontalmente, preservando a ordem e o item ativo. */
@media (max-width:860px){
  header > div{flex-direction:column !important;gap:12px !important;padding:12px 18px !important;}
  header nav{width:100% !important;justify-content:flex-start !important;
             overflow-x:auto !important;flex-wrap:nowrap !important;
             -webkit-overflow-scrolling:touch !important;scrollbar-width:none !important;}
  header nav::-webkit-scrollbar{display:none;}
  header nav > a{flex-shrink:0 !important;}
  header nav > a:last-child{margin-left:6px !important;}
  header img{height:38px !important;}
  /* O menu passa a ter duas linhas: as ancoras de servicos precisam de folga */
  [style*="scroll-margin-top:90px"]{scroll-margin-top:130px !important;}
}

@media (max-width:520px){
  /* Mira os valores ORIGINAIS do inline style. Mirar "56px 22px" (o que a
     media query de 980px produz) nao funcionaria: [style*=] casa com o texto
     do atributo, nao com o estilo ja computado. */
  [style*="padding:88px 28px"],[style*="padding:84px 28px"],
  [style*="padding:80px 28px"],[style*="padding:76px 28px"]{
    padding:44px 18px !important;
  }
  [style*="font-size:52px"]{font-size:29px !important;}
  [style*="font-size:44px"]{font-size:26px !important;}
}

/* Respeita quem pediu menos animacao no sistema */
@media (prefers-reduced-motion:reduce){
  *{transition-duration:.01ms !important;scroll-behavior:auto !important;}
}
