/* 1. Rodapé no celular: páginas do blog carregavam a versão desktop do rodapé.
   Regras da variante mobile (12eltao) aplicadas à desktop (q1vvhp) abaixo de 810px. */
@media (max-width: 809.98px) {
.framer-cHXNM .framer-1a4y5op .framer-3yhqfb { width: 100% !important; }
.framer-cHXNM.framer-v-q1vvhp.framer-q1vvhp { padding: 32px 0px 32px 0px; width: 390px; }
.framer-cHXNM.framer-v-q1vvhp .framer-1xyzb12 { gap: 38px; max-width: 90%; width: 100%; }
.framer-cHXNM.framer-v-q1vvhp .framer-xbldhu, .framer-cHXNM.framer-v-q1vvhp .framer-k0vlv6, .framer-cHXNM.framer-v-q1vvhp .framer-1qqi8b, .framer-cHXNM.framer-v-q1vvhp .framer-1dspiga, .framer-cHXNM.framer-v-q1vvhp .framer-f3qfqe-container, .framer-cHXNM.framer-v-q1vvhp .framer-5tqyel-container, .framer-cHXNM.framer-v-q1vvhp .framer-6p7tx8-container, .framer-cHXNM.framer-v-q1vvhp .framer-m002w5-container { width: 100%; }
.framer-cHXNM.framer-v-q1vvhp .framer-tq49lq { padding: 0px; width: 100%; }
.framer-cHXNM.framer-v-q1vvhp .framer-1kknymv { gap: 8px; padding: 42px 0px 0px 0px; }
.framer-cHXNM.framer-v-q1vvhp .framer-1qnks2v { flex-direction: column; height: 825px; }
.framer-cHXNM.framer-v-q1vvhp .framer-8q7x1y-container { flex: none; height: 392px; width: 100%; }
.framer-cHXNM.framer-v-q1vvhp .framer-tr3mwn-container { flex: none; height: 354px; width: 100%; }
.framer-cHXNM.framer-v-q1vvhp .framer-1dsjxt5 { gap: 91px; padding: 0px 0px 53px 0px; }
.framer-cHXNM.framer-v-q1vvhp .framer-1lkmw0d { flex-direction: column; gap: 51px; justify-content: flex-start; order: 0; }
.framer-cHXNM.framer-v-q1vvhp .framer-1a4y5op { align-content: center; align-items: center; flex: none; flex-direction: column; width: 100%; }
.framer-cHXNM.framer-v-q1vvhp .framer-hc97o9 { order: 1; }
.framer-cHXNM.framer-v-q1vvhp .framer-15ao62x { height: var(--framer-aspect-ratio-supported, 41px); }
@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-cHXNM.framer-v-q1vvhp .framer-1xyzb12, .framer-cHXNM.framer-v-q1vvhp .framer-1kknymv, .framer-cHXNM.framer-v-q1vvhp .framer-1qnks2v, .framer-cHXNM.framer-v-q1vvhp .framer-1dsjxt5, .framer-cHXNM.framer-v-q1vvhp .framer-1lkmw0d, .framer-cHXNM.framer-v-q1vvhp .framer-1a4y5op { gap: 0px; } .framer-cHXNM.framer-v-q1vvhp .framer-1xyzb12 > * { margin: 0px; margin-bottom: calc(38px / 2); margin-top: calc(38px / 2); } .framer-cHXNM.framer-v-q1vvhp .framer-1xyzb12 > :first-child, .framer-cHXNM.framer-v-q1vvhp .framer-1kknymv > :first-child, .framer-cHXNM.framer-v-q1vvhp .framer-1qnks2v > :first-child, .framer-cHXNM.framer-v-q1vvhp .framer-1dsjxt5 > :first-child, .framer-cHXNM.framer-v-q1vvhp .framer-1lkmw0d > :first-child, .framer-cHXNM.framer-v-q1vvhp .framer-1a4y5op > :first-child { margin-top: 0px; } .framer-cHXNM.framer-v-q1vvhp .framer-1xyzb12 > :last-child, .framer-cHXNM.framer-v-q1vvhp .framer-1kknymv > :last-child, .framer-cHXNM.framer-v-q1vvhp .framer-1qnks2v > :last-child, .framer-cHXNM.framer-v-q1vvhp .framer-1dsjxt5 > :last-child, .framer-cHXNM.framer-v-q1vvhp .framer-1lkmw0d > :last-child, .framer-cHXNM.framer-v-q1vvhp .framer-1a4y5op > :last-child { margin-bottom: 0px; } .framer-cHXNM.framer-v-q1vvhp .framer-1kknymv > * { margin: 0px; margin-bottom: calc(8px / 2); margin-top: calc(8px / 2); } .framer-cHXNM.framer-v-q1vvhp .framer-1qnks2v > * { margin: 0px; margin-bottom: calc(32px / 2); margin-top: calc(32px / 2); } .framer-cHXNM.framer-v-q1vvhp .framer-1dsjxt5 > * { margin: 0px; margin-bottom: calc(91px / 2); margin-top: calc(91px / 2); } .framer-cHXNM.framer-v-q1vvhp .framer-1lkmw0d > * { margin: 0px; margin-bottom: calc(51px / 2); margin-top: calc(51px / 2); } .framer-cHXNM.framer-v-q1vvhp .framer-1a4y5op > * { margin: 0px; margin-bottom: calc(42px / 2); margin-top: calc(42px / 2); } }
}

/* 2. Rodapé no tablet (810–1199px): links e copyright numa linha só, mais larga que a tela → cortavam nas bordas. */
@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-cHXNM .framer-1lkmw0d { flex-wrap: wrap; row-gap: 32px; }
  .framer-cHXNM .framer-1a4y5op { flex-wrap: wrap; width: 100%; row-gap: 16px; }
  .framer-cHXNM .framer-hc97o9 { width: 100%; flex-wrap: wrap; gap: 16px; }
}

/* 3. Post do blog: "anterior / próximo" com títulos longos sem quebra de linha → vazavam da tela. */
@media (max-width: 1199.98px) {
  .framer-5o8l5a { gap: 24px; }
  .framer-5o8l5a > * { flex: 1 1 0 !important; min-width: 0; flex-shrink: 1 !important; }
  .framer-5o8l5a, .framer-5o8l5a * { white-space: normal !important; }
  .framer-5o8l5a > :last-child, .framer-5o8l5a > :last-child * { text-align: right; align-items: flex-end; }
}

@media (max-width: 809.98px) {
  /* 6. Rótulo "Muito além da estética" (home) com altura de 1px → aparecia cortado sob a foto. */
  .framer-n44zhr { height: auto !important; }
  .framer-1f6h0ll { flex: none !important; height: auto !important; }
  .framer-gjw9hj { height: auto !important; }
}

/* 7. Blocos de texto com largura fixa de desktop dentro de colunas menores → cortados.
   Limitados à largura do contêiner (não mudam nada onde já cabiam). */
.framer-9qswus, .framer-13ozup7, .framer-x1fep2, .framer-4j9tj7, .framer-1hx4d3t,
.framer-8a9uah, .framer-nwsmwi, .framer-e4qd77, .framer-v1n604, .framer-4wquwi,
.framer-1edy586, .framer-m1lub0, .framer-135wafl, .framer-n7kqil { max-width: 100% !important; }

/* 8. Cards de pacientes (home) no tablet e celular: bloco de texto de 360px posicionado fora do card → nome cortado. */
@media (max-width: 1199.98px) {
  .framer-ibmxl5, .framer-cbmala { left: 24px !important; right: 24px !important; width: auto !important; }
}

/* 9. Agendar consulta no tablet: colunas de texto (363–421px) + imagem não cabiam na fileira de 729px → texto cortado nas bordas. */
@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-4wjph4, .framer-1fwpc16, .framer-17rfd4v { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; }
}

/* 10. /emagrecimento: título "Estratégia personalizada para o emagrecimento definitivo" num bloco de 112px
       que cortava a primeira e as últimas linhas. */
.framer-1cas1w { height: auto !important; overflow: visible !important; }

/* 11. Celular: banner de cookies cobria a barra flutuante (Agendar consulta / Menu).
       Sobe o banner para ficar acima da barra. */
@media (max-width: 809.98px) {
  div[style*="position: fixed"]:has([class*="framer-cookie-banner-container"]) { bottom: 84px !important; }
}

/* 12. Agendar consulta (hero, desktop/tablet): botão branco sobre fundo branco — lia como texto solto.
       Passa a preto, como o "Acessar Artigos" do blog. */
@media (min-width: 810px) {
  .framer-1eh4xgw-container > a { background-color: #000 !important; }
  .framer-1eh4xgw-container .framer-text { color: #fff !important; }
}

/* 13. Posts do blog: itens de lista com quebras de linha sobrando no fim (2 ou 3) → espaçamento irregular
       entre listas. Remove as quebras e dá um ritmo único. */
li.framer-text > p > br, li.framer-text > p > strong > br { display: none; }
li.framer-text + li.framer-text { margin-top: 10px; }
ul.framer-text, ol.framer-text { margin-bottom: 24px; }

/* 14. Carrosséis próprios (ajustes.js → montarCarrosseis). O Slideshow do Framer fica oculto.
       Atendimentos: grade de 4 no desktop, trilho com encaixe abaixo de 1200px.
       Depoimentos: 2 por vez no desktop, 1 no celular; contador, progresso e setas. */
[data-rm-oculto] { display: none !important; }
.rm-car { width: 100%; padding: 0 var(--rm-pl); box-sizing: border-box; }
.rm-track {
  display: flex; gap: 24px; overflow-x: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; touch-action: pan-y;
  scroll-padding-left: var(--rm-pl); margin: 0 calc(-1 * var(--rm-pl)); padding: 0 var(--rm-pl);
  scrollbar-width: none; overscroll-behavior-x: contain;
}
.rm-track::-webkit-scrollbar { display: none; }
.rm-cell { flex: 0 0 auto; scroll-snap-align: start; position: relative; }
.rm-cell > * { width: 100% !important; height: 100% !important; position: relative !important; }
.rm-cell, .rm-cell * { max-width: 100%; box-sizing: border-box; }
.rm-serv .rm-cell { width: min(78vw, 360px); height: var(--rm-alt); }
.rm-depo .rm-cell { width: min(86vw, 520px); }
.rm-nav { display: flex; align-items: center; gap: 16px; margin-top: 32px; }
.rm-cont { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 12px; letter-spacing: .2em; color: #8f8f8f; white-space: nowrap; }
.rm-cont b { font-weight: 400; color: #111; }
.rm-barra { flex: 1; height: 1px; background: rgba(0,0,0,.12); position: relative; }
.rm-barra i { position: absolute; left: 0; top: 0; bottom: 0; background: #111; transition: width .4s cubic-bezier(.2,.7,.2,1); }
.rm-seta { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(0,0,0,.14); background: #fff; display: grid; place-items: center; cursor: pointer; transition: border-color .2s, opacity .2s; }
.rm-seta svg { width: 18px; height: 18px; fill: none; stroke: #111; stroke-width: 1.5; }
.rm-seta:hover:not(:disabled) { border-color: #111; }
.rm-seta:disabled { opacity: .3; cursor: default; }
.rm-sem-rolagem .rm-nav { display: none; }
@media (min-width: 1200px) {
  .rm-serv .rm-track { display: grid; grid-template-columns: repeat(4, 1fr); overflow: visible; margin: 0; padding: 0; }
  .rm-serv .rm-cell { width: auto; }
  .rm-serv .rm-nav { display: none; }
}
@media (min-width: 810px) {
  .rm-depo .rm-track { margin: 0; padding: 0; scroll-padding-left: 0; }
  .rm-depo .rm-cell { width: calc((100% - 24px) / 2); }
}
@media (max-width: 809.98px) {
  .rm-car { padding: 0 20px; }
  .rm-track { margin: 0 -20px; padding: 0 20px; scroll-padding-left: 20px; gap: 16px; }
}

/* 15. Links conectados pelo ajustes.js: sem o sublinhado azul padrão do navegador. */
a[data-link-ajuste], a[data-link-ajuste] * { text-decoration: none !important; }
a[data-link-ajuste] { color: inherit; }

/* 16. Rodapé: crédito "Desenvolvido por" → The Goodtaste (link thegoodtaste.cc), logo em /goodtaste.svg. */
a[href="https://thegoodtaste.cc/"] .framer-113q3bp {
  width: 100px !important; height: 16px !important;
  background: url(/goodtaste.svg) no-repeat left center / contain;
}
a[href="https://thegoodtaste.cc/"] .framer-113q3bp > * { opacity: 0 !important; }

/* 17. Rodapé (tablet e desktop): quando o copyright ocupa a linha toda, o crédito quebrava para a esquerda,
       desalinhado dos ícones (à direita). Fica sempre alinhado à direita. */
@media (min-width: 810px) {
  .framer-cHXNM .framer-hc97o9 { width: 100% !important; }
  .framer-cHXNM .framer-hc97o9 > :last-child { margin-left: auto; }
}

/* 18. Ícones sociais do rodapé: áreas clicáveis criadas pelo ajustes.js. */
.rm-social { position: absolute; top: 0; bottom: 0; width: 33.34%; z-index: 2; }

/* 19. Rodapé no celular: a linha "copyright + crédito" tinha a largura do desktop (1152px) e jogava
       o crédito para fora da tela. Empilha e centraliza. Tablet: respiro entre links e ícones. */
@media (max-width: 809.98px) {
  .framer-cHXNM .framer-hc97o9 { width: 100% !important; flex-direction: column !important; align-items: center !important; gap: 16px; text-align: center; }
  .framer-cHXNM .framer-hc97o9 > :first-child { width: 100% !important; }
  .framer-cHXNM .framer-hc97o9 > :first-child p { text-align: center !important; }
}
@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-cHXNM .framer-1lkmw0d { column-gap: 40px; }
}

/* 20. Hero no tablet/celular: nome parado e inteiro (ver nomeFixo no ajustes.js) em vez do letreiro correndo. */
ul.rm-nome-fixo { transform: none !important; justify-content: flex-start !important; align-items: flex-end !important; padding-left: 20px !important; width: 100% !important; }
ul.rm-nome-fixo > li:not(:first-child) { display: none !important; }

/* 21. Celular: "Muita conversa e diagnóstico" — bloco de 583px para 637px de conteúdo cortava a última linha. */
@media (max-width: 809.98px) {
  .framer-80f0he { flex: none !important; height: auto !important; }
}

/* 22. Depoimentos no celular: sem espiada do vizinho (em texto puro lia como letras soltas na borda). */
@media (max-width: 809.98px) {
  .rm-depo .rm-track { margin: 0; padding: 0; scroll-padding-left: 0; }
  .rm-depo .rm-cell { width: 100%; }
}
