/* Tidos · site
   Visual da Home 2 do Figma "Tidos" (nó 263:14), medido numa tela de 1920 px.
   Bricolage Grotesque 800 nos títulos e botões, Inter no texto, Bebas Neue nos pilares e nos números.
   As classes fx-* ficam nos containers e widgets do Elementor (Avançado > Classes CSS). */

:root {
  --fx-laranja: #EF5433;
  --fx-laranja-esc: #D9442A;
  --fx-creme: #F5F0DF;
  --fx-tinta: #222222;
  --fx-cinza: #686868;
  --fx-cinza-claro: #D9D9D9;
  --fx-preto: #0A0A0A; /* paleta oficial (o Figma usa #000000) */
  --fx-secao: #161616; /* MIV, cap. 2: fundo de seção escura do site */
  --fx-rodape: #0F0F0F; /* MIV, cap. 2: rodapé, um degrau abaixo da seção */
  --fx-linha: #F5F7F9; /* o #F0F0F0 ficou fora da paleta */
  --fx-verde: #28B446;
  /* a "reserva" é a Arial ajustada pras medidas de cada letra (gerador/fontes.py): o texto não pula quando a letra chega */
  --fx-titulo: 'Bricolage Grotesque', 'Bricolage Grotesque reserva', 'Inter', system-ui, sans-serif;
  --fx-texto: 'Inter', 'Inter reserva', system-ui, -apple-system, sans-serif;
  --fx-eyebrow: 'Bebas Neue', 'Bebas Neue reserva', 'Inter', sans-serif;
  --fx-largura: 1282px;
  --fx-margem: 20px;
  --fx-borda: clamp(8px, 2.6vw, 50px);
}

/* Base. O Figma tem 5 linhas verticais no fundo; as 3 do meio passavam por cima do texto e saíram (pedido do Jonathan,
   19/10/2026). Ficam só as 2 das pontas, a 710 px do centro, fora da área do conteúdo. */
body.tds {
  background-color: #fff;
  background-image: linear-gradient(var(--fx-linha), var(--fx-linha)), linear-gradient(var(--fx-linha), var(--fx-linha));
  background-size: 1px 100%;
  background-repeat: no-repeat;
  background-position: calc(50% - 710px) 0, calc(50% + 710px) 0;
  color: var(--fx-tinta); font-family: var(--fx-texto); font-size: 17px; line-height: 1.5;
  -webkit-font-smoothing: antialiased; overflow-x: clip;
  font-variation-settings: 'opsz' 14; /* a Bricolage do Figma é a de tamanho óptico 14 */
}
body.tds a { color: var(--fx-laranja); text-decoration: none; transition: color .2s; }
body.tds a:hover { color: var(--fx-laranja-esc); }
body.tds ::selection { background: var(--fx-laranja); color: #fff; }
body.tds :focus-visible { outline: 3px solid var(--fx-laranja); outline-offset: 3px; border-radius: 6px; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }

/* Containers do Elementor: sempre flex em coluna e sem espaço padrão (o Elementor 4 deixa o celular sem esse padrão).
   Direção, espaço e grade vêm da classe fx-* de cada container. */
body.tds .e-con { display: flex; flex-direction: column; position: relative;
  --container-default-padding-top: 0px; --container-default-padding-right: 0px; --container-default-padding-bottom: 0px; --container-default-padding-left: 0px;
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --widgets-spacing: 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --margin-top: 0px; --margin-bottom: 0px; }
body.tds .e-con > .e-con-inner { display: flex; flex-direction: inherit; }
body.tds .elementor-widget:not(:last-child) { margin-block-end: 0; margin-bottom: 0; }
body.tds .elementor-widget-container { margin: 0; padding: 0; }
body.tds .elementor-heading-title { margin: 0; padding: 0; }
body.tds .elementor-widget-text-editor p { margin: 0; }
body.tds .elementor-widget-text-editor p + p { margin-top: 1em; }
body.tds .elementor-widget-image img { display: block; }
body.tds .site-main, body.tds .page-content, body.tds main#content { margin: 0; padding: 0; max-width: none; }
@media (min-width: 1025px) { body.tds:not(.elementor-editor-active) .elementor-hidden-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { body.tds:not(.elementor-editor-active) .elementor-hidden-tablet { display: none !important; } }
@media (max-width: 767px) { body.tds:not(.elementor-editor-active) .elementor-hidden-mobile { display: none !important; } }

/* Estrutura */
body.tds .e-con.fx-wrap { width: min(var(--fx-largura), 100% - 2 * var(--fx-margem)); margin-inline: auto; }
body.tds .e-con.fx-centro { text-align: center; }
body.tds .fx-centro .elementor-heading-title { margin-inline: auto; }

/* Tipografia */
body.tds .fx-h1 .elementor-heading-title { font-family: var(--fx-titulo); font-weight: 800; font-size: clamp(40px, 3.4vw + 14px, 64px); line-height: 1.05; color: var(--fx-tinta); max-width: 700px; }
body.tds .fx-h2 .elementor-heading-title { font-family: var(--fx-titulo); font-weight: 800; font-size: clamp(30px, 2.4vw + 13px, 48px); line-height: 1.05; color: var(--fx-tinta); }
body.tds .fx-h2 .elementor-heading-title span { color: var(--fx-laranja); }
body.tds .fx-sub, body.tds .fx-sub p { font-weight: 600; font-size: clamp(17px, 0.4vw + 13px, 20px); line-height: 1.3; color: var(--fx-cinza); }

/* Botões */
body.tds .fx-btn .elementor-button { display: inline-flex; align-items: center; justify-content: center; height: 70px; padding: 0 clamp(40px, 4vw, 82px); border-radius: 999px; background: var(--fx-laranja); color: #fff; font-family: var(--fx-titulo); font-weight: 800; font-size: clamp(19px, 0.4vw + 15px, 23px); line-height: 1; box-shadow: none; border: 0; transition: background-color .2s, transform .2s; }
body.tds .fx-btn .elementor-button:hover { background: var(--fx-laranja-esc); color: #fff; transform: translateY(-2px); }
body.tds .fx-btn-contorno .elementor-button { display: inline-flex; align-items: center; height: 51px; padding: 0 30px; border-radius: 999px; background: transparent; box-shadow: inset 0 0 0 1px var(--fx-laranja); color: var(--fx-laranja); font-family: var(--fx-titulo); font-weight: 800; font-size: 16px; line-height: 1; border: 0; transition: background-color .2s, color .2s; }
body.tds .fx-btn-contorno .elementor-button:hover { background: var(--fx-laranja); color: #fff; }
body.tds .fx-btn-preto .elementor-button { display: inline-flex; align-items: center; height: 51px; padding: 0 44px; border-radius: 999px; background: #0F0F0F; color: #fff; font-family: var(--fx-titulo); font-weight: 800; font-size: 16px; line-height: 1; box-shadow: none; border: 0; }
body.tds .fx-btn-preto .elementor-button:hover { background: var(--fx-tinta); color: #fff; }

/* 1 · Topo */
body.tds .e-con.fx-hero { padding: clamp(24px, 1.7vw, 32px) 0 clamp(48px, 4vw, 76px); }
.fx-pilares { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; margin-bottom: 18px; }
.fx-pilares span { display: inline-flex; align-items: center; gap: 8px; font-family: var(--fx-eyebrow); font-size: 28px; line-height: 1; color: var(--fx-laranja); }
.fx-pilares i { width: 22px; height: 22px; flex: none; margin-top: -4px; background: var(--fx-tinta); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
body.tds .fx-hero .fx-sub { margin-top: 30px; }
body.tds .fx-hero .fx-sub p { max-width: 740px; }
body.tds .fx-hero .fx-btn { margin-top: 40px; }

/* 2 · Faixa dos serviços: os quatro cartões do Figma, de ponta a ponta */
body.tds .e-con.fx-faixa { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(12px, 1.1vw, 20px); padding: 0 clamp(16px, 3.1vw, 60px); }
body.tds .fx-faixa .elementor-widget-image a { display: block; border-radius: 16px; overflow: hidden; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
body.tds .fx-faixa .elementor-widget-image a:hover { transform: translateY(-6px); }
body.tds .fx-faixa .elementor-widget-image img { width: 100%; height: auto; aspect-ratio: 440 / 450; object-fit: cover; border-radius: 16px; }

/* 3 · Prova */
body.tds .e-con.fx-prova { padding: clamp(90px, 10.5vw, 200px) 0 clamp(80px, 6.6vw, 125px); }
.fx-logos { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(12px, 2vw, 40px) clamp(20px, 3.4vw, 64px); margin: clamp(40px, 4vw, 80px) auto 0; max-width: 1240px; }
.fx-logos img { width: clamp(120px, 10vw, 192px); height: clamp(48px, 4vw, 77px); object-fit: contain; display: block; }
.fx-marquee { position: relative; display: grid; gap: clamp(14px, 1.6vw, 28px); margin: clamp(40px, 4vw, 80px) 0 0; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%); }
.fx-marquee__faixa { display: flex; width: max-content; margin: 0; padding: 0; list-style: none; animation: fx-marquee 90s linear infinite; }
.fx-marquee__faixa--volta { animation-direction: reverse; animation-duration: 100s; }
.fx-marquee__faixa li { flex: none; margin: 0; padding: 0 clamp(18px, 2.2vw, 40px); }
.fx-marquee__faixa img { display: block; width: clamp(110px, 9vw, 170px); height: clamp(44px, 3.6vw, 68px); object-fit: contain; }
@keyframes fx-marquee { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }
@media (prefers-reduced-motion: reduce) { .fx-marquee__faixa { flex-wrap: wrap; justify-content: center; width: auto; } .fx-marquee__faixa li[aria-hidden] { display: none; } }
.fx-numero { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: nowrap; margin: clamp(36px, 4vw, 60px) auto 0; font-weight: 600; font-size: clamp(18px, 1vw + 9px, 30px); line-height: 1.3; color: var(--fx-cinza); text-align: center; }
.fx-numero i { width: 1.1em; height: 1.1em; flex: none; background: var(--fx-laranja); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }

/* 4 · Frentes (seção preta) */
body.tds .e-con.fx-frentes { width: calc(100% - 2 * var(--fx-borda)); margin: 0 auto; background: var(--fx-secao); border-radius: clamp(20px, 1.6vw, 28px); padding: clamp(64px, 7vw, 140px) 0 clamp(60px, 8vw, 160px); }
body.tds .fx-frentes .fx-h2 .elementor-heading-title { color: var(--fx-creme); }
body.tds .fx-frentes .fx-h2 { margin-bottom: clamp(36px, 3vw, 60px); }
body.tds .e-con.fx-lista-frentes { gap: clamp(16px, 1.3vw, 24px); }
body.tds .e-con.fx-frente { display: grid; grid-template-columns: minmax(0, 477fr) minmax(0, 699fr); align-items: stretch; gap: 26px; text-align: left; background: var(--fx-tinta); border-radius: clamp(24px, 2.6vw, 50px); padding: clamp(14px, 2.1vw, 40px); }
body.tds .e-con.fx-frente--inv { grid-template-columns: minmax(0, 699fr) minmax(0, 477fr); }
body.tds .fx-frente--inv > .fx-frente__txt { order: 2; }
body.tds .e-con.fx-frente__txt { min-width: 0; border-radius: 20px; box-shadow: inset 0 0 0 2px #323232; padding: clamp(26px, 2.4vw, 45px); justify-content: space-between; gap: clamp(32px, 4vw, 70px); }
body.tds .e-con.fx-frente__topo { gap: 8px; }
body.tds .e-con.fx-frente__base { gap: 28px; align-items: flex-start; }
body.tds .fx-num .elementor-heading-title { font-family: var(--fx-eyebrow); font-weight: 400; font-size: 24px; line-height: 1; color: var(--fx-laranja); }
body.tds .fx-frente .fx-h3 .elementor-heading-title { font-family: var(--fx-titulo); font-weight: 800; font-size: clamp(28px, 1.4vw + 12px, 38px); line-height: 1.12; color: #fff; margin-top: 8px; }
body.tds .fx-frente .fx-caps .elementor-heading-title { font-family: var(--fx-texto); font-weight: 400; font-size: clamp(13px, 0.3vw + 10px, 16px); line-height: 1.75; text-transform: uppercase; color: var(--fx-cinza-claro); }
body.tds .fx-frente .fx-txt, body.tds .fx-frente .fx-txt p { font-weight: 300; font-size: 17px; line-height: 1.45; color: var(--fx-cinza-claro); }
body.tds .e-con.fx-frente__img { min-width: 0; justify-content: center; }
body.tds .fx-frente__img .elementor-widget-image img { width: 100%; height: auto; border-radius: 20px; }

/* 5 · Metodologia (sanfona) */
body.tds .e-con.fx-metodo { padding: clamp(90px, 9vw, 165px) 0 clamp(70px, 7vw, 130px); }
body.tds .e-con.fx-passos { flex-direction: row; gap: 20px; height: clamp(400px, 30vw, 461px); margin-top: clamp(40px, 4vw, 70px); text-align: left; }
body.tds .e-con.fx-passo { flex: 1 1 0; min-width: 0; overflow: hidden; border-radius: 20px; background: var(--fx-creme); padding: clamp(26px, 2.2vw, 42px) clamp(18px, 1.3vw, 25px) clamp(26px, 2.4vw, 46px); justify-content: space-between; cursor: pointer; transition: flex-grow .7s cubic-bezier(.2,.7,.2,1), background-color .45s; }
body.tds .e-con.fx-passo.is-ativo { flex-grow: 3.56; padding-inline: clamp(24px, 2.6vw, 50px); background: var(--fx-tinta); cursor: default; }
body.tds .fx-metodo .fx-h2 .elementor-heading-title { max-width: 1040px; }
body.tds .fx-passo .fx-num .elementor-heading-title { font-size: clamp(64px, 5.2vw, 99px); line-height: .8; }
body.tds .e-con.fx-passo__txt { gap: 22px; width: min(483px, 100%); }
body.tds .fx-passo .fx-h3 .elementor-heading-title { font-family: var(--fx-titulo); font-weight: 800; font-size: clamp(18px, 0.5vw + 13px, 22px); line-height: 1.2; color: var(--fx-tinta); }
body.tds .fx-passo.is-ativo .fx-h3 .elementor-heading-title { font-size: clamp(24px, 1.2vw + 12px, 32px); color: #fff; }
body.tds .fx-passo .fx-txt, body.tds .fx-passo .fx-txt p { font-weight: 300; font-size: 18px; line-height: 1.45; color: var(--fx-cinza-claro); }
body.tds .fx-passo:not(.is-ativo) .fx-txt { display: none; }
body.tds .fx-passo.is-ativo .fx-txt { animation: fx-surge .45s ease .25s both; }
@keyframes fx-surge { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* 6 · Comparação */
body.tds .e-con.fx-cmp { padding: clamp(50px, 5vw, 100px) 0 clamp(20px, 1.6vw, 32px); }
.fx-tabela { margin-top: clamp(36px, 4vw, 64px); text-align: left; }
.fx-tabela__cab { display: grid; grid-template-columns: 1fr 1fr; align-items: center; margin-bottom: 16px; }
.fx-tabela__cab span { justify-self: center; font-family: var(--fx-titulo); font-weight: 800; font-size: clamp(19px, 0.8vw + 9px, 24px); color: #686868; }
.fx-tabela__cab svg { justify-self: center; width: clamp(110px, 7.4vw, 141px); height: auto; }
.fx-tabela__corpo { display: grid; grid-template-columns: 1fr 1fr; border-radius: 16px; overflow: hidden; }
.fx-tabela ul { list-style: none; margin: 0; padding: clamp(30px, 3.4vw, 66px) clamp(20px, 3vw, 50px) clamp(30px, 3.4vw, 60px) clamp(22px, 4.4vw, 86px); display: grid; gap: clamp(16px, 1.3vw, 25px); align-content: start; }
.fx-tabela__eles { background: #F5F7F9; }
.fx-tabela__nos { background: var(--fx-tinta); padding-left: clamp(22px, 1.8vw, 54px) !important; }
.fx-tabela li { display: flex; gap: 16px; align-items: center; font-weight: 600; font-size: clamp(15px, 0.3vw + 11px, 17px); line-height: 1.3; }
.fx-tabela__eles li { color: #686868; }
.fx-tabela__nos li { color: #fff; }
.fx-tabela li i { width: 24px; height: 24px; flex: none; }
.fx-tabela__eles li i { background: #686868; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.fx-tabela__nos li i { background: var(--fx-laranja); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; } /* máscara: o lazy load do Elementor zera background-image nas seções de baixo */

/* 7 · Sobre nós */
body.tds .e-con.fx-sobre { padding: clamp(90px, 9vw, 165px) 0 0; }
body.tds .fx-sobre .fx-texto-grande { margin-top: 28px; }
body.tds .fx-sobre .fx-texto-grande p { max-width: 845px; }
body.tds .fx-sobre .fx-texto-grande, body.tds .fx-sobre .fx-texto-grande p { font-weight: 500; font-size: clamp(18px, 0.6vw + 12px, 24px); line-height: 1.3; color: var(--fx-cinza); }
body.tds .e-con.fx-time { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: clamp(40px, 3.4vw, 64px); }
.fx-pessoa { background: var(--fx-creme); border-radius: 8px; padding: 26px 26px 30px; display: flex; flex-direction: column; gap: 4px; height: 100%; box-sizing: border-box; }
.fx-pessoa img { width: 100%; aspect-ratio: 258 / 279; object-fit: cover; object-position: 50% 30%; border-radius: 6px; display: block; filter: grayscale(1); margin-bottom: 16px; }
.fx-pessoa strong { display: block; font-family: var(--fx-titulo); font-weight: 800; font-size: 22px; line-height: 1.1; color: var(--fx-tinta); }
.fx-pessoa small { display: block; font-weight: 500; font-size: 15px; color: var(--fx-cinza); }
.fx-pessoa__redes { display: flex; gap: 9px; margin-top: 16px; }
.fx-pessoa__redes a { width: 41px; height: 41px; border-radius: 50%; background: var(--fx-laranja); display: grid; place-items: center; }
.fx-pessoa__redes a:hover { background: var(--fx-laranja-esc); }
.fx-pessoa__redes i { width: 19px; height: 19px; background: var(--fx-creme); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
body.tds .e-con.fx-time--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.tds .fx-time--2 .e-con.fx-chamada-time { grid-column: auto; }
.fx-pessoa--larga { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr); gap: 28px; align-items: end; }
.fx-pessoa--larga img { margin-bottom: 0; height: 100%; aspect-ratio: auto; min-height: 260px; }
.fx-pessoa__info { padding-bottom: 6px; }
.fx-pessoa--larga strong { font-size: clamp(22px, 0.8vw + 14px, 30px); }
.fx-pessoa--larga small { font-size: 17px; margin-top: 6px; }
body.tds .e-con.fx-chamada-time { grid-column: span 3; background: var(--fx-laranja); border-radius: 8px; padding: clamp(26px, 2vw, 44px); justify-content: space-between; align-items: flex-start; gap: 40px; min-height: 300px; }
body.tds .fx-chamada-time .elementor-heading-title { font-family: var(--fx-titulo); font-weight: 400; font-size: clamp(24px, 0.8vw + 15px, 30px); line-height: 1.1; color: #fff; max-width: 520px; }

/* 8 · Dúvidas frequentes */
body.tds .e-con.fx-faq { padding: clamp(90px, 9vw, 165px) 0; }
body.tds .e-con.fx-faq__grade { flex-direction: row; gap: 40px clamp(40px, 5vw, 110px); align-items: flex-start; }
body.tds .e-con.fx-faq__cab { flex: 1 1 0; min-width: 0; position: sticky; top: 110px; gap: 26px; }
body.tds .fx-faq__cab .fx-sub, body.tds .fx-faq__cab .fx-sub p { font-weight: 500; font-size: clamp(16px, 0.4vw + 12px, 20px); line-height: 1.3; }
body.tds .fx-faq__cab .fx-sub p { max-width: 540px; }
body.tds .fx-faq__cab .fx-h2 .elementor-heading-title { max-width: 520px; }
body.tds .e-con.fx-faq__lista { flex: 1.06 1 0; min-width: 0; }
.fx-perguntas { display: grid; gap: 16px; }
.fx-perguntas details { border-radius: 10px; }
.fx-perguntas summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 21px 26px; border-radius: 10px; background: var(--fx-tinta); color: #fff; font-weight: 600; font-size: 17px; line-height: 1.3; transition: background-color .25s; }
.fx-perguntas summary::-webkit-details-marker { display: none; }
.fx-perguntas summary::after { content: ""; flex: none; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 8px solid var(--fx-laranja); transition: transform .25s; }
.fx-perguntas details[open] summary { background: var(--fx-laranja); }
.fx-perguntas details[open] summary::after { border-top-color: #fff; transform: rotate(180deg); }
.fx-perguntas .fx-resposta { padding: 18px 26px 8px; display: grid; gap: 10px; font-size: 16.5px; line-height: 1.5; color: #575757; }
.fx-perguntas .fx-resposta p { margin: 0; }
.fx-perguntas .fx-resposta ul { margin: 0; padding-left: 20px; display: grid; gap: 6px; }

/* 9 · Contato */
body.tds .e-con.fx-contato { padding: 0 0 clamp(80px, 8vw, 165px); }
body.tds .e-con.fx-contato__grade { flex-direction: row; align-items: stretch; }
body.tds .e-con.fx-contato__laranja { flex: 0 0 57.6%; min-width: 0; background: var(--fx-laranja); border-radius: 16px; padding: clamp(44px, 5vw, 105px) clamp(110px, 8vw, 170px) clamp(44px, 5vw, 105px) clamp(28px, 6vw, 117px); gap: clamp(28px, 3vw, 60px); justify-content: center; }
body.tds .fx-contato__laranja .fx-h2 .elementor-heading-title { font-size: clamp(32px, 1.9vw + 13px, 46px); line-height: 1.05; color: #fff; max-width: 470px; }
body.tds .fx-contato__laranja .fx-txt, body.tds .fx-contato__laranja .fx-txt p { font-weight: 600; font-size: clamp(16px, 0.3vw + 13px, 19px); line-height: 1.4; color: #fff; }
body.tds .fx-contato__laranja .fx-txt p { max-width: 470px; }
body.tds .fx-contato__laranja .fx-txt strong { font-weight: 700; }
body.tds .e-con.fx-contato__form { flex: 0 0 calc(42.4% + 89px); min-width: 0; z-index: 1; margin: clamp(0px, 2vw, 40px) 0 clamp(0px, 2vw, 40px) -89px; justify-content: center; background: var(--fx-tinta); border-radius: 16px; padding: clamp(28px, 2.6vw, 48px); }

/* ===== Páginas internas: o modelo do Figma (frame 263:849), medido em 1920 px ===== */
body.tds .fx-eyebrow .elementor-heading-title { font-family: var(--fx-eyebrow); font-weight: 400; font-size: clamp(22px, 0.6vw + 16px, 28px); line-height: 1; color: var(--fx-laranja); letter-spacing: 0; }
/* o espaço entre o eyebrow e o título fica um pouco maior que o espaço entre as linhas do título */
body.tds .e-con .elementor-widget.fx-eyebrow { margin-bottom: clamp(6px, .6vw, 12px); }
body.tds .e-con.fx-pg-sec { padding: clamp(56px, 4.4vw, 84px) 0; }
body.tds .e-con.fx-wrap--texto { width: min(820px, 100% - 2 * var(--fx-margem)); }
body.tds .e-con.fx-botoes { flex-direction: row; flex-wrap: wrap; gap: 14px; align-items: center; }
body.tds .fx-botoes > .elementor-widget { width: auto; max-width: none; flex: none; }
body.tds .fx-botoes .fx-btn .elementor-button { padding: 0 clamp(32px, 2.4vw, 44px); }
/* Visual do topo e da faixa preta: em bloco, pra mockup em HTML (aspect-ratio, filhos absolutos) não ficar com altura zero */
body.tds .e-con.fx-pg-topo__vis, body.tds .e-con.fx-escura__vis { display: block; flex-wrap: nowrap; }
body.tds .fx-btn-contorno--grande .elementor-button { height: 70px; padding: 0 clamp(32px, 3vw, 56px); font-size: clamp(18px, 0.4vw + 14px, 21px); }

/* Topo: texto de 592 px e visual de 627 x 489 com raio 27 */
body.tds .e-con.fx-pg-topo { padding: clamp(32px, 4vw, 76px) 0 clamp(56px, 4.4vw, 84px); }
body.tds .e-con.fx-pg-topo__grade { display: grid; grid-template-columns: minmax(0, 592fr) minmax(0, 627fr); gap: clamp(32px, 3.1vw, 59px); align-items: start; }
body.tds .e-con.fx-pg-topo__grade--so { grid-template-columns: minmax(0, 860px); }
body.tds .e-con.fx-pg-topo__txt { min-width: 0; }
body.tds .fx-h1--pg .elementor-heading-title { font-size: clamp(38px, 2.6vw + 12px, 56px); line-height: 1.05; max-width: 600px; }
body.tds .fx-pg-topo__grade--so .fx-h1--pg .elementor-heading-title { max-width: 860px; }
body.tds .fx-pg-topo .fx-sub { margin-top: 30px; }
body.tds .fx-pg-topo .fx-sub p { max-width: 540px; }
body.tds .fx-pg-topo .fx-btn, body.tds .fx-pg-topo .fx-botoes { margin-top: 40px; }
body.tds .fx-pg-topo .fx-botoes .fx-btn { margin-top: 0; }
/* os dois botões do topo sempre lado a lado fora do celular: em vez de um cair pra baixo (acontecia de 1536 px pra cima, onde os
   botões crescem e a coluna do texto não, e em 1024 e 1180), o respiro de dentro e a letra diminuem um pouco */
@media (min-width: 768px) {
  body.tds .fx-pg-topo .e-con.fx-botoes { --flex-wrap: nowrap; flex-wrap: nowrap; }
  body.tds .fx-pg-topo .fx-botoes .elementor-button { padding: 0 clamp(22px, 2vw, 36px); font-size: clamp(17px, .3vw + 14px, 21px); white-space: nowrap; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  /* a coluna do texto fica estreita nessa faixa: no Contato, "Preencher o formulário" passava 31 px dela em 1024 */
  body.tds .fx-pg-topo .fx-botoes .elementor-button { padding: 0 18px; font-size: 16px; }
}
body.tds .e-con.fx-pg-topo__vis { min-width: 0; }
body.tds .fx-pg-topo__vis img { width: 100%; height: auto; aspect-ratio: 627 / 489; object-fit: cover; border-radius: 27px; }
/* topo escuro (blocos.topo com escuro=True): o fundo escuro da MIV, com o texto claro */
body.tds .e-con.fx-pg-topo--escuro { background: var(--fx-secao); overflow: hidden; }  /* o brilho do visual não passa da seção */
body.tds .fx-pg-topo--escuro .fx-h1 .elementor-heading-title { color: #fff; }
body.tds .fx-pg-topo--escuro .fx-sub, body.tds .fx-pg-topo--escuro .fx-sub p { color: #C9C9C9; }
body.tds .fx-pg-topo--escuro .fx-btn-contorno .elementor-button { box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .55); color: #fff; }
body.tds .fx-pg-topo--escuro .fx-btn-contorno .elementor-button:hover { background: rgba(255, 255, 255, .08); color: #fff; }

/* Cabeçalho das seções: título (eyebrow + H2 56) à esquerda e texto à direita, ou tudo no centro */
body.tds .e-con.fx-pg-cab { flex-direction: row; justify-content: space-between; align-items: flex-start; gap: 40px 80px; margin-bottom: clamp(36px, 3.5vw, 67px); }
body.tds .e-con.fx-pg-cab__t { flex: 0 1 560px; min-width: 0; }
body.tds .fx-pg-cab .fx-h2 .elementor-heading-title, body.tds .fx-escura__cab .fx-h2 .elementor-heading-title { font-size: clamp(32px, 2.6vw + 8px, 56px); line-height: 1.05; }
body.tds .fx-pg-cab__d { flex: 0 1 518px; min-width: 0; margin-top: 20px; }
body.tds .fx-pg-cab__d, body.tds .fx-pg-cab__d p { font-size: clamp(17px, 0.4vw + 13px, 20px); line-height: 1.5; color: var(--fx-cinza); }
body.tds .e-con.fx-pg-cab--centro { flex-direction: column; align-items: center; text-align: center; gap: 20px; }
body.tds .fx-pg-cab--centro .e-con.fx-pg-cab__t { flex: none; width: 100%; }
body.tds .fx-pg-cab--centro .elementor-heading-title { margin-inline: auto; max-width: 900px; }
body.tds .fx-pg-cab--centro .fx-pg-cab__d { flex: none; margin-top: 0; }
body.tds .fx-pg-cab--centro .fx-pg-cab__d p { max-width: 560px; margin-inline: auto; }

/* Cartões rosados (414 x 366, raio 17, ícone num círculo laranja de 79 px) */
body.tds .e-con.fx-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
body.tds .e-con.fx-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.tds .e-con.fx-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.tds .e-con.fx-card { background: #FFEEEA; border-radius: 17px; padding: clamp(28px, 2.6vw, 50px) clamp(24px, 2.4vw, 47px) clamp(28px, 2.6vw, 46px); gap: 0; text-align: left; transition: transform .3s cubic-bezier(.2,.7,.2,1); }
body.tds .fx-cards--creme .e-con.fx-card { background: var(--fx-creme); }
body.tds .e-con.fx-card--link:hover { transform: translateY(-4px); }
.fx-card__ic { display: grid; place-items: center; width: clamp(60px, 4.1vw, 79px); aspect-ratio: 1; border-radius: 50%; background: var(--fx-laranja); margin-bottom: clamp(18px, 1.4vw, 27px); }
.fx-card__ic::before { content: ""; width: 44%; height: 44%; background: #fff; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
body.tds .fx-card__t .elementor-heading-title { font-family: var(--fx-titulo); font-weight: 800; font-size: clamp(22px, 0.6vw + 16px, 28px); line-height: 1.15; color: var(--fx-tinta); }
body.tds .fx-card__t a { color: inherit; }
body.tds .fx-card__d { margin-top: clamp(12px, 1.2vw, 22px); }
body.tds .fx-card__d, body.tds .fx-card__d p { font-size: clamp(16px, 0.3vw + 13px, 19px); line-height: 1.5; color: #575757; }
body.tds .e-con.fx-pg-cta { align-items: center; margin-top: clamp(32px, 2.4vw, 46px); }

/* Faixa preta (1820 de largura, raio 28, visual de 627 x 634 e texto de 518) */
body.tds .e-con.fx-escura { width: calc(100% - 2 * var(--fx-borda)); margin: clamp(56px, 4.4vw, 84px) auto; background: var(--fx-secao); border-radius: clamp(20px, 1.6vw, 28px); padding: clamp(56px, 7.6vw, 147px) 0; }
body.tds .e-con.fx-escura__grade { display: grid; grid-template-columns: minmax(0, 627fr) minmax(0, 518fr); gap: clamp(32px, 6.9vw, 133px); align-items: center; }
body.tds .e-con.fx-escura__grade--inv { grid-template-columns: minmax(0, 518fr) minmax(0, 627fr); }
body.tds .fx-escura__grade--inv > .fx-escura__vis { order: 2; }
body.tds .e-con.fx-escura__grade--so { grid-template-columns: minmax(0, 760px); justify-content: center; }
body.tds .e-con.fx-escura__vis { min-width: 0; }
body.tds .fx-escura__vis img { width: 100%; height: auto; border-radius: 27px; }
body.tds .e-con.fx-escura__txt { min-width: 0; text-align: left; }
body.tds .fx-escura .fx-h2 .elementor-heading-title { color: #fff; }
body.tds .fx-h2--48 .elementor-heading-title { font-size: clamp(30px, 2vw + 10px, 48px); line-height: 1.05; }
body.tds .fx-escura__txt .fx-txt { margin-top: clamp(20px, 2vw, 40px); }
body.tds .fx-escura .fx-txt, body.tds .fx-escura .fx-txt p { font-size: clamp(16px, 0.3vw + 13px, 20px); line-height: 1.5; color: var(--fx-cinza-claro); }
body.tds .fx-escura .fx-txt strong { color: #fff; }
.fx-lista { list-style: none; margin: clamp(24px, 2vw, 40px) 0 0; padding: 0; display: grid; gap: 15px; }
.fx-lista li { position: relative; padding-left: 33px; font-size: clamp(16px, 0.3vw + 13px, 20px); line-height: 1.4; color: var(--fx-cinza-claro); }
.fx-lista li::before { content: ""; position: absolute; left: 0; top: .2em; width: 21px; height: 21px; border-radius: 50%; background: var(--fx-laranja); }
.fx-lista li strong { color: #fff; font-weight: 600; }
body.tds .fx-escura__txt .fx-btn { margin-top: clamp(28px, 2.6vw, 52px); }
body.tds .fx-escura .fx-btn-contorno .elementor-button { color: var(--fx-laranja); }

/* Faixa preta com cartões creme (no modelo, a dos depoimentos) */
body.tds .e-con.fx-escura__cab { margin-bottom: clamp(36px, 4vw, 79px); text-align: left; }
body.tds .fx-escura__cab .fx-txt { margin-top: 18px; max-width: 640px; }
.fx-creme-card { height: 100%; box-sizing: border-box; background: var(--fx-creme); border-radius: 17px; padding: clamp(26px, 2.8vw, 54px) clamp(24px, 2.7vw, 51px); }
.fx-creme-card__cab { display: flex; align-items: center; gap: 17px; }
.fx-creme-card__marca { flex: none; display: grid; place-items: center; width: 65px; height: 65px; border-radius: 50%; background: var(--fx-laranja); color: #fff; font: 400 28px/1 var(--fx-eyebrow); overflow: hidden; }
.fx-creme-card__marca img { width: 100%; height: 100%; object-fit: cover; }
.fx-creme-card__marca i { width: 44%; height: 44%; background: #fff; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.fx-creme-card__cab strong { display: block; font: 800 18px/1.2 var(--fx-titulo); color: var(--fx-tinta); }
.fx-creme-card__cab small { display: block; margin-top: 4px; font: 500 16px/1.2 var(--fx-titulo); color: var(--fx-cinza); }
.fx-creme-card__d { margin-top: clamp(20px, 2.6vw, 50px); font-size: 17px; line-height: 1.5; color: #575757; }
.fx-creme-card__d p { margin: 0; }

/* Texto longo (política, resumo pras IAs) */
body.tds .fx-artigo, body.tds .fx-artigo p, body.tds .fx-artigo li { font-size: 18px; line-height: 1.65; color: #575757; }
body.tds .fx-artigo h2 { margin: 2.2em 0 .6em; font: 800 clamp(24px, 1vw + 16px, 32px)/1.2 var(--fx-titulo); color: var(--fx-tinta); }
body.tds .fx-artigo h3 { margin: 1.8em 0 .5em; font: 800 22px/1.25 var(--fx-titulo); color: var(--fx-tinta); }
body.tds .fx-artigo p + p { margin-top: 1em; }
body.tds .fx-artigo ul, body.tds .fx-artigo ol { margin: 1em 0; padding-left: 1.3em; display: grid; gap: .4em; }
body.tds .fx-artigo a { text-decoration: underline; }
body.tds .fx-artigo table { width: 100%; border-collapse: collapse; margin: 1.2em 0; font-size: 16px; }
body.tds .fx-artigo th, body.tds .fx-artigo td { text-align: left; padding: 10px 12px; border: 0; border-bottom: 1px solid #E6E6E6; vertical-align: top; background: transparent !important; }
body.tds .fx-artigo table tbody > tr:nth-child(odd) > td, body.tds .fx-artigo table tbody > tr:nth-child(odd) > th { background: transparent; }

@media (max-width: 1024px) {
  body.tds .e-con.fx-cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.tds .e-con.fx-card { padding-left: 22px; padding-right: 22px; }
}
@media (max-width: 900px) {
  body.tds .e-con.fx-pg-topo__grade, body.tds .e-con.fx-escura__grade, body.tds .e-con.fx-escura__grade--inv { grid-template-columns: minmax(0, 1fr); }
  body.tds .fx-escura__grade--inv > .fx-escura__vis { order: 0; }
  body.tds .e-con.fx-pg-cab { flex-direction: column; gap: 16px; }
  body.tds .e-con.fx-pg-cab__t, body.tds .fx-pg-cab__d { flex: none; width: 100%; }
  body.tds .fx-pg-cab__d { margin-top: 0; }
}
@media (max-width: 767px) {
  body.tds .e-con.fx-cards, body.tds .e-con.fx-cards--2, body.tds .e-con.fx-cards--4 { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  body.tds .e-con.fx-botoes { flex-direction: column; align-items: stretch; }
  body.tds .fx-btn-contorno--grande .elementor-button { width: 100%; height: 60px; justify-content: center; }
  body.tds .fx-botoes > .elementor-widget { width: 100%; }
  body.tds .fx-botoes .elementor-button { width: 100%; justify-content: center; }
}

/* Formulário */
.tds-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; margin: 0; }
.tds-form .tds-field { display: grid; gap: 6px; grid-column: 1 / -1; min-width: 0; }
.tds-form .tds-field--meia { grid-column: auto; }
.tds-form label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tds-form input, .tds-form textarea { width: 100%; box-sizing: border-box; font: inherit; font-size: 16px; color: #fff; background: #161616; border: 1px solid #575757; border-radius: 5px; padding: 0 26px; height: 64px; transition: border-color .2s; }
.tds-form textarea { height: 146px; padding: 22px 26px; resize: vertical; }
.tds-form input::placeholder, .tds-form textarea::placeholder { color: #999999; }
.tds-form input:focus, .tds-form textarea:focus { outline: none; border-color: var(--fx-laranja); }
.tds-form select { width: 100%; min-width: 0; height: 64px; box-sizing: border-box; padding: 0 48px 0 26px; font: inherit; font-size: 16px; color: #fff; text-overflow: ellipsis; border: 1px solid #575757; border-radius: 5px; background-color: #161616; background-image: linear-gradient(45deg, transparent 50%, #999 50%), linear-gradient(135deg, #999 50%, transparent 50%); background-position: calc(100% - 28px) 29px, calc(100% - 22px) 29px; background-size: 6px 6px; background-repeat: no-repeat; -webkit-appearance: none; appearance: none; cursor: pointer; transition: border-color .2s; }
.tds-form select:has(option[value=""]:checked) { color: #999999; }
.tds-form select option { color: #222; background: #fff; }
.tds-form select:focus { outline: none; border-color: var(--fx-laranja); }
.tds-form .is-erro { border-color: #F9A083; }
.tds-form .tds-form-btn { grid-column: 1 / -1; margin-top: 6px; display: flex; align-items: center; justify-content: center; width: 100%; height: 70px; border: 0; border-radius: 999px; background: var(--fx-laranja); color: #fff; font-family: var(--fx-titulo); font-weight: 800; font-size: 19px; cursor: pointer; transition: background-color .2s, transform .2s; }
.tds-form .tds-form-btn:hover { background: var(--fx-laranja-esc); transform: translateY(-2px); }
.tds-form .tds-form-btn[disabled] { opacity: .65; cursor: wait; transform: none; }
.tds-form .tds-form-note { grid-column: 1 / -1; margin: 0; font-size: 12.5px; color: #999999; }
.tds-form .tds-form-note a, .tds-form .tds-form-msg a { color: #F5F7F9; text-decoration: underline; }
.tds-form .tds-form-msg { grid-column: 1 / -1; margin: 0; font-size: 14px; color: #F9A083; }
.tds-form .tds-form-msg:empty { display: none; }
.tds-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Pop-up do formulário (botões "Contato") */
/* em tela baixa (celular deitado, teclado aberto) o pop-up rola por dentro, sem cortar o botão de enviar */
.tds-modal { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: start center; padding: 20px; overflow-y: auto; overscroll-behavior: contain; }
.tds-modal[hidden] { display: none; }
.tds-modal__bg { position: fixed; inset: 0; background: rgba(0, 0, 0, .6); backdrop-filter: blur(4px); }
.tds-modal__box { position: relative; width: min(460px, 100%); margin-block: auto; background: var(--fx-tinta); color: #fff; border-radius: 16px; padding: 36px 30px 28px; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7); animation: fx-surge .25s ease-out; }
.tds-modal__x { position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; border-radius: 50%; border: 0; background: #161616; color: #F5F7F9; display: grid; place-items: center; cursor: pointer; }
/* a área de toque dos X passa de 44 px, sem mudar o desenho */
.tds-modal__x::after, .tds-wa__x::after { content: ""; position: absolute; border-radius: 50%; }
.tds-modal__x::after { inset: -3px; }
.tds-modal__eyebrow { margin: 0 0 8px; font-family: var(--fx-eyebrow); font-size: 24px; line-height: 1; color: var(--fx-laranja); }
.tds-modal__titulo { margin: 0 0 8px; font-family: var(--fx-titulo); font-weight: 800; font-size: 28px; line-height: 1.1; color: #fff; }
.tds-modal__texto { margin: 0 0 22px; color: #BDBDBD; font-size: 15.5px; }
.tds-modal .tds-form { grid-template-columns: minmax(0, 1fr); gap: 14px; }
.tds-modal .tds-form input { height: 56px; }
body.tds-modal-aberto { overflow: hidden; }

/* Balão do WhatsApp: abre um formulário curto antes de ir pro WhatsApp */
.tds-wa { position: fixed; right: clamp(14px, 2vw, 28px); bottom: clamp(14px, 2vw, 28px); z-index: 900; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; transition: opacity .3s, transform .3s; }
.tds-wa.is-escondido { opacity: 0; transform: translateY(16px); pointer-events: none; }
.tds-wa__balao { width: min(320px, calc(100vw - 28px)); max-height: calc(100dvh - 110px); overflow-y: auto; overscroll-behavior: contain; background: #fff; border-radius: 20px; padding: 18px; box-shadow: 0 24px 60px -16px rgba(0, 0, 0, .3); display: grid; gap: 14px; animation: fx-surge .25s ease-out; }
.tds-wa__balao[hidden] { display: none; }
.tds-wa__cab { display: flex; align-items: center; gap: 12px; }
.tds-wa__cab img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }
.tds-wa__cab strong { display: block; font-family: var(--fx-titulo); font-weight: 800; font-size: 16px; color: var(--fx-tinta); }
.tds-wa__cab small { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--fx-cinza); }
.tds-wa__cab small::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--fx-verde); }
.tds-wa__x { position: relative; margin-left: auto; width: 30px; height: 30px; border: 0; border-radius: 50%; background: #F2F2F2; cursor: pointer; font-size: 18px; line-height: 1; color: var(--fx-cinza); }
.tds-wa__x::after { inset: -7px; }
.tds-wa__msg { margin: 0; padding: 12px 14px; background: var(--fx-creme); border-radius: 4px 14px 14px 14px; font-size: 15px; line-height: 1.4; color: var(--fx-tinta); }
.tds-wa .tds-form { grid-template-columns: minmax(0, 1fr); gap: 10px; }
.tds-wa .tds-form input { height: 48px; font-size: 16px; color: var(--fx-tinta); background: #F5F5F5; border-color: #E4E4E4; padding: 0 16px; }
.tds-wa .tds-form .tds-form-btn { height: 48px; margin-top: 2px; font-size: 16px; background: var(--fx-verde); }
.tds-wa .tds-form .tds-form-btn:hover { background: #1F9A3B; }
.tds-wa .tds-form .tds-form-note a { color: var(--fx-cinza); }
.tds-wa .tds-form .tds-form-msg { color: #C2412A; }
.tds-wa__botao { position: relative; width: 62px; height: 62px; border-radius: 50%; border: 0; background: var(--fx-verde); box-shadow: 0 12px 30px rgba(40, 180, 70, .35); display: grid; place-items: center; cursor: pointer; transition: transform .2s; }
.tds-wa__botao:hover { transform: scale(1.06); }
.tds-wa__botao::after { content: ""; position: absolute; top: 2px; right: 2px; width: 14px; height: 14px; border-radius: 50%; background: #EA5455; box-shadow: 0 0 0 2px #fff; }
/* o tema Hello pinta todo botão de rosa no :hover e no :focus, e no celular o toque deixa o botão nesses estados: cada um mantém a própria cor */
body.tds .tds-hd__menu, body.tds .tds-wa__botao, body.tds .tds-wa__x, body.tds .tds-modal__x { -webkit-tap-highlight-color: transparent; }
body.tds .tds-hd__menu:hover, body.tds .tds-hd__menu:focus { background: #F5F5F5; color: var(--fx-tinta); }
body.tds .tds-wa__botao:hover, body.tds .tds-wa__botao:focus { background: var(--fx-verde); color: #fff; }
body.tds .tds-wa__x:hover, body.tds .tds-wa__x:focus { background: #F2F2F2; color: var(--fx-cinza); }
body.tds .tds-modal__x:hover, body.tds .tds-modal__x:focus { background: #161616; color: #F5F7F9; }
body.tds .tds-hd__menu:focus-visible, body.tds .tds-wa__botao:focus-visible, body.tds .tds-wa__x:focus-visible, body.tds .tds-modal__x:focus-visible { outline: 2px solid var(--fx-laranja); outline-offset: 2px; }

/* Aviso de cookies */
.tds-cookies { position: fixed; left: 20px; bottom: 20px; z-index: 950; width: min(420px, calc(100% - 110px)); background: var(--fx-tinta); color: #F5F7F9; border-radius: 16px; padding: 16px 18px; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .6); font-size: 14px; line-height: 1.5; }
.tds-cookies[hidden] { display: none; }
.tds-cookies p { margin: 0 0 12px; }
body.tds .tds-cookies a { color: #fff; text-decoration: underline; }
.tds-cookies__btns { display: flex; gap: 8px; justify-content: flex-end; }
.tds-cookies button { border: 0; border-radius: 999px; padding: 9px 16px; font: 600 14px var(--fx-texto); cursor: pointer; background: #575757; color: #fff; }
.tds-cookies button.is-primary { background: var(--fx-laranja); }

/* Cabeçalho */
/* o cabeçalho fica fixo e o wrap guarda o espaço dele: quando ele encolhe na rolagem, a página não pula (era o que fazia a barra tremer) */
.tds-header-wrap { position: relative; z-index: 800; height: 84px; }
.tds-header-wrap > * { position: fixed; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; z-index: 800; }
.tds-hd { background: rgba(255, 255, 255, .9); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid transparent; transition: border-color .3s; }
.tds-hd.is-rolado { border-bottom-color: #EDEDED; }
.tds-hd.is-rolado .tds-hd__in { height: 68px; }
.tds-hd__in { width: min(var(--fx-largura), 100% - 40px); margin: 0 auto; height: 84px; transition: height .3s; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.tds-hd__logo { display: block; flex: none; line-height: 0; }
.tds-hd__logo svg { width: 128px; height: auto; }
.tds-hd__nav { display: flex; align-items: center; gap: clamp(24px, 2.6vw, 44px); }
body.tds .tds-hd__link { font: 600 16px var(--fx-texto); color: var(--fx-cinza); background: none; border: 0; padding: 8px 0; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
body.tds .tds-hd__link:hover, body.tds .tds-hd__link[aria-expanded="true"] { color: var(--fx-laranja); }
body.tds .tds-hd__link.is-atual { color: var(--fx-laranja); }
.tds-hd__link svg { color: var(--fx-laranja); transition: transform .2s; }
.tds-hd__link[aria-expanded="true"] svg { transform: rotate(180deg); }
.tds-hd__drop { position: relative; }
.tds-hd__painel { position: absolute; top: calc(100% + 14px); left: -24px; width: 400px; background: #fff; border-radius: 16px; padding: 10px; box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .3), 0 0 0 1px rgba(0, 0, 0, .04); display: grid; gap: 2px; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s; }
.tds-hd__drop.is-aberto .tds-hd__painel { opacity: 1; visibility: visible; transform: none; }
body.tds .tds-hd__painel a { display: flex; gap: 14px; align-items: center; padding: 12px; border-radius: 12px; color: var(--fx-tinta); }
.tds-hd__painel a:hover { background: #F7F4EA; }
.tds-hd__painel strong { display: block; font: 700 15.5px var(--fx-texto); }
.tds-hd__painel small { display: block; font-size: 13.5px; color: var(--fx-cinza); line-height: 1.4; margin-top: 2px; }
.tds-ic { flex: none; width: 42px; height: 42px; border-radius: 12px; background: rgba(239, 84, 51, .1); display: grid; place-items: center; }
.tds-ic::before { content: ""; width: 20px; height: 20px; background: var(--fx-laranja); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
/* Menu de Serviços: vetores em linha da MIV (traço grafite no fundo branco, um detalhe laranja que se mexe no hover) */
.tds-ic--linha { width: 54px; height: 54px; border-radius: 14px; background: var(--fx-creme); color: var(--fx-tinta); transition: background-color .25s, box-shadow .25s; }
.tds-ic--linha::before { content: none; }
.tds-ic--linha svg { width: 40px; height: 40px; overflow: visible; }
.tds-ic--linha .det { transform-box: fill-box; transform-origin: center; transition: transform .4s cubic-bezier(.34, 1.56, .64, 1); }
.tds-hd__painel a:hover .tds-ic--linha, .tds-hd__painel a:focus-visible .tds-ic--linha { background: #FFFFFF; box-shadow: inset 0 0 0 1px #E8E1CC; }
.tds-hd__painel a:hover .tds-ic--linha .det, .tds-hd__painel a:focus-visible .tds-ic--linha .det { transform: translateY(-2px) scale(1.08); }
body.tds .tds-hd__cta { flex: none; display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 32px; border-radius: 999px; background: var(--fx-laranja); color: #fff; font: 800 15px var(--fx-titulo); transition: background-color .2s; }
body.tds .tds-hd__cta:hover { background: var(--fx-laranja-esc); color: #fff; }
.tds-hd__menu { display: none; width: 46px; height: 46px; border: 0; border-radius: 12px; background: #F5F5F5; place-items: center; cursor: pointer; }
.tds-hd__menu span, .tds-hd__menu span::before, .tds-hd__menu span::after { display: block; width: 20px; height: 2px; background: var(--fx-tinta); border-radius: 2px; position: relative; transition: transform .2s; }
.tds-hd__menu span::before, .tds-hd__menu span::after { content: ""; position: absolute; left: 0; }
.tds-hd__menu span::before { top: -6px; } .tds-hd__menu span::after { top: 6px; }
.tds-hd__menu[aria-expanded="true"] span { background: transparent; }
.tds-hd__menu[aria-expanded="true"] span::before { transform: translateY(6px) rotate(45deg); }
.tds-hd__menu[aria-expanded="true"] span::after { transform: translateY(-6px) rotate(-45deg); }
.tds-mnav { border-top: 1px solid #EEE; background: #fff; padding: 12px 20px 24px; max-height: calc(100vh - 80px); overflow: auto; }
.tds-mnav[hidden] { display: none; }
body.tds .tds-mnav a { display: block; padding: 13px 4px; font: 600 17px var(--fx-texto); color: var(--fx-tinta); border-bottom: 1px solid #F2F2F2; }
body.tds .tds-mnav__sub a { padding-left: 16px; font-weight: 500; color: #555; }
.tds-mnav__t { margin: 16px 4px 4px; font: 400 20px var(--fx-eyebrow); color: var(--fx-laranja); }
body.tds .tds-mnav .tds-hd__cta { margin-top: 18px; width: 100%; color: #fff; border: 0; }
body.tds .tds-mnav a.tds-hd__cta { display: flex; align-items: center; justify-content: center; height: 52px; padding: 0 24px; border-bottom: 0; font: 800 15px var(--fx-titulo); color: #fff; }
/* com o menu aberto, o botão do WhatsApp e o aviso de cookies saem da frente e voltam quando ele fecha */
html:has(#tds-mnav:not([hidden])) .tds-wa, html:has(#tds-mnav:not([hidden])) #tds-cookies { display: none; }

/* Rodapé */
body.tds .e-con.tds-ft { width: calc(100% - 2 * var(--fx-borda)); margin: 0 auto var(--fx-borda); background: var(--fx-rodape); border-radius: clamp(20px, 1.6vw, 28px); padding: clamp(56px, 9.6vw, 185px) 0 clamp(48px, 9vw, 175px); }
.tds-ft__in { width: min(var(--fx-largura), 100% - 40px); margin: 0 auto; }
.tds-ft__topo { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 48px; padding-bottom: clamp(40px, 4vw, 75px); border-bottom: 1px solid #1F1F1F; }
.tds-ft__marca svg { width: clamp(220px, 21vw, 415px); height: auto; display: block; }
.tds-ft__marca p { margin: 34px 0 0; font-weight: 500; font-size: clamp(16px, 0.4vw + 12px, 20px); line-height: 1.35; color: #999999; }
.tds-ft__navs { display: flex; gap: clamp(48px, 5vw, 90px); padding-top: 4px; }
.tds-ft__navs nav { display: flex; flex-direction: column; gap: clamp(14px, 1.2vw, 22px); }
body.tds .tds-ft__navs a { font-weight: 600; font-size: 18px; line-height: 1.2; color: var(--fx-laranja); }
body.tds .tds-ft__navs a:hover { color: var(--fx-creme); }
.tds-ft__info { display: grid; grid-template-columns: repeat(4, auto); justify-content: space-between; gap: 28px; padding: clamp(32px, 3vw, 56px) 0; border-bottom: 1px solid #1F1F1F; }
.tds-ft__info p { margin: 0; }
.tds-ft__info .t { display: flex; align-items: center; gap: 8px; font: 700 16px var(--fx-texto); letter-spacing: .1em; text-transform: uppercase; color: var(--fx-laranja); }
.tds-ft__info .t i { width: 16px; height: 16px; background: var(--fx-laranja); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.tds-ft__info .v { margin-top: 12px; font-weight: 500; font-size: clamp(17px, 0.3vw + 14px, 20px); line-height: 1.4; color: #fff; }
body.tds .tds-ft__info .v a { color: #fff; }
.tds-ft__base { width: min(var(--fx-largura), 100% - 40px); margin: 0 auto; padding-top: clamp(32px, 3.4vw, 70px); display: flex; flex-wrap: wrap; gap: 10px 24px; justify-content: space-between; font-weight: 500; font-size: clamp(16px, 0.3vw + 13px, 20px); color: #999999; }
.tds-ft__legal { display: inline-flex; gap: 24px; }
body.tds .tds-ft__base a { color: #999999; }
body.tds .tds-ft__base a:hover { color: var(--fx-creme); }

/* Página de passagem pro WhatsApp */
body.tds-redirect { background-image: none; }
body.tds-redirect .tds-header-wrap, body.tds-redirect .tds-footer-wrap, body.tds-redirect .tds-wa { display: none; }
.tds-redir { min-height: 100vh; display: grid; place-items: center; text-align: center; padding: 40px 20px; background: var(--fx-tinta); color: var(--fx-creme); }
.tds-redir__box { max-width: 460px; display: grid; gap: 16px; justify-items: center; }
.tds-redir__spin { width: 56px; height: 56px; border-radius: 50%; border: 3px solid rgba(245, 240, 223, .15); border-top-color: var(--fx-laranja); animation: tds-gira .9s linear infinite; }
@keyframes tds-gira { to { transform: rotate(360deg); } }
.tds-redir h1 { margin: 0; font: 800 30px/1.1 var(--fx-titulo); color: var(--fx-creme); }
.tds-redir p { margin: 0; color: #9A9A9A; }
body.tds .tds-redir a.tds-btn-a { display: inline-flex; align-items: center; height: 56px; padding: 0 28px; border-radius: 999px; background: var(--fx-verde); color: #fff; font: 800 18px var(--fx-titulo); }

/* Telas menores */
@media (max-width: 1100px) {
  .tds-hd__in { height: 76px; }
  .tds-header-wrap { height: 76px; }
  .tds-hd__nav { display: none; }
  body.tds .tds-hd__in > .tds-hd__cta { margin-left: auto; height: 44px; padding: 0 24px; font-size: 15px; }
  .tds-hd__menu { display: grid; }
  body.tds .e-con.fx-faixa { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(250px, 1fr); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: clamp(16px, 3.1vw, 60px); scrollbar-width: none; }
  body.tds .e-con.fx-faixa > * { scroll-snap-align: start; }
  body.tds .e-con.fx-time { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.tds .e-con.fx-chamada-time { grid-column: span 1; }
  .tds-ft__info { grid-template-columns: repeat(2, auto); justify-content: start; column-gap: 80px; }
}
@media (max-width: 900px) {
  body.tds .e-con.fx-frente, body.tds .e-con.fx-frente--inv { flex-direction: column-reverse; gap: 16px; }
  body.tds .e-con.fx-frente__txt, body.tds .e-con.fx-frente__img { flex: none; width: 100%; }
  body.tds .e-con.fx-passos { flex-direction: column; height: auto; gap: 10px; }
  body.tds .e-con.fx-passo, body.tds .e-con.fx-passo.is-ativo { flex: none; padding: 22px 24px; gap: 14px; }
  body.tds .fx-passo .fx-num .elementor-heading-title { font-size: 44px; }
  body.tds .e-con.fx-passo:not(.is-ativo) { position: relative; padding-right: 56px; }
  body.tds .e-con.fx-passo:not(.is-ativo)::after { content: ""; position: absolute; right: 24px; top: 50%; transform: translateY(-50%); border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 8px solid var(--fx-laranja); }
  /* comparativo no celular: continua lado a lado, linha com linha (cada item da Tidos na frente do item das outras agências);
     as duas listas dividem as mesmas linhas pelo subgrid, então a linha mais alta das duas define a altura do par */
  .fx-tabela__cab { margin-bottom: 10px; }
  .fx-tabela__cab span { font-size: 15px; text-align: center; }
  .fx-tabela__cab svg { width: 78px; }
  .fx-tabela__corpo { grid-template-rows: repeat(var(--linhas, 11), auto); border-radius: 14px; }
  .fx-tabela ul { grid-row: 1 / span var(--linhas, 11); grid-template-rows: subgrid; gap: 0; padding: 8px 10px 10px 12px; }
  .fx-tabela .fx-tabela__nos { padding-left: 12px !important; }
  .fx-tabela li { gap: 8px; align-items: center; padding: 10px 0; font-size: 13.5px; line-height: 1.3; }
  .fx-tabela li + li { border-top: 1px solid #E6E9EC; }
  .fx-tabela__nos li + li { border-top-color: #333333; }
  .fx-tabela li i { width: 18px; height: 18px; }
  body.tds .e-con.fx-faq__grade { flex-direction: column; }
  body.tds .e-con.fx-faq__cab, body.tds .e-con.fx-faq__lista { flex: none; width: 100%; position: static; }
  body.tds .e-con.fx-contato__grade { flex-direction: column; }
  body.tds .e-con.fx-contato__laranja { flex: none; width: 100%; min-height: 0; padding: 40px 28px 64px; }
  body.tds .e-con.fx-contato__form { flex: none; width: calc(100% - 24px); margin: -36px 12px 0; }
  body.tds .e-con.fx-frente, body.tds .e-con.fx-frente--inv { display: flex; }
  body.tds .fx-frente--inv > .fx-frente__txt { order: 0; }
}
@media (max-width: 767px) {
  body.tds { font-size: 16px; background-image: none; }
  :root { --fx-margem: 16px; }
  .tds-hd__in, .tds-hd.is-rolado .tds-hd__in { height: 72px; width: calc(100% - 32px); }
  .tds-header-wrap { height: 72px; }
  .tds-hd__logo svg { width: 118px; }
  /* os três pilares numa linha só, separados por ponto e sem ícone: empilhados em três linhas pareciam uma lista solta */
  .fx-pilares { flex-wrap: nowrap; gap: 0 7px; }
  .fx-pilares span { gap: 4px; font-size: clamp(12.5px, 3.72vw, 15px); white-space: nowrap; letter-spacing: .01em; }
  .fx-pilares span + span::before { content: "·"; margin-right: 7px; color: #C9C9C9; }
  .fx-pilares i { display: none; }
  /* topo da Home com mais respiro no celular ("ta muito apertadinho tudo, precisa de um pouco mais de espaços em branco"):
     mais espaço embaixo do cabeçalho, entre os pilares e o título e antes das artes, e o título um pouco menor */
  body.tds .e-con.fx-hero { padding: 44px 0 64px; }
  .fx-hero .fx-pilares { margin-bottom: 24px; }
  body.tds .fx-hero .fx-h1 .elementor-heading-title { font-size: 36px; line-height: 1.08; }
  body.tds .fx-btn .elementor-button { height: 60px; padding: 0 40px; }
  body.tds .e-con.fx-time, body.tds .e-con.fx-time--2 { grid-template-columns: 1fr; }
  .fx-pessoa--larga { grid-template-columns: 1fr; }
  body.tds .e-con.fx-chamada-time { min-height: 220px; }
  .tds-form { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .tds-form input, .tds-form select { height: 56px; }
  .tds-form select { background-position: calc(100% - 28px) 25px, calc(100% - 22px) 25px; }
  .tds-form textarea { height: 120px; }
  .tds-form .tds-form-btn { height: auto; min-height: 60px; padding: 14px 22px; font-size: 17px; line-height: 1.2; text-align: center; white-space: normal; }
  .tds-ft__topo { flex-direction: column; }
  .tds-ft__navs { flex-wrap: wrap; gap: 40px; }  /* em 360 as duas colunas de links passavam 43 px da tela */
  /* links do rodapé com 44 px de toque; a margem negativa segura o alinhamento de cima e de baixo */
  .tds-ft__navs nav { gap: 0; margin: -11px 0; }
  body.tds .tds-ft__navs a { padding: 11px 0; }
  .tds-ft__legal { flex-wrap: wrap; gap: 0 24px; }
  body.tds .tds-ft__legal a { display: inline-block; padding: 10px 0; }
  body.tds .tds-ft__info .v a { display: inline-block; padding: 12px 0; margin: -12px 0; }
  .tds-ft__info { grid-template-columns: 1fr; row-gap: 22px; }
  .tds-cookies { left: 12px; right: 12px; bottom: 12px; width: auto; }
  .tds-cookies__btns { gap: 10px; }
  .tds-cookies button { min-height: 44px; padding: 0 20px; }
  /* com o aviso aberto, o botão do WhatsApp sai da frente e volta quando a pessoa responde */
  html.tds-com-aviso .tds-wa { opacity: 0; visibility: hidden; pointer-events: none; }
  .fx-logos { gap: 10px 18px; }
  .fx-logos img { width: 130px; height: 52px; }
  /* frentes da Home: a moldura escura fina e o texto com mais largura */
  body.tds .e-con.fx-frente, body.tds .e-con.fx-frente--inv { padding: 10px; }
  body.tds .e-con.fx-frente__txt { padding: 24px 18px; }
  body.tds .fx-numero { text-wrap: balance; }
  body.tds .fx-btn .elementor-button { line-height: 1.2; }
  body.tds .e-con.fx-faq { padding: 56px 0; }
  body.tds .e-con.fx-metodo { padding-top: 56px; }
  /* formulário: mais espaço pro texto dentro dos campos */
  body.tds .e-con.fx-contato__form { padding-left: 20px; padding-right: 20px; }
  .tds-form input, .tds-form textarea { padding-left: 18px; padding-right: 18px; }
  .tds-form select { padding: 0 40px 0 18px; background-position: calc(100% - 24px) 25px, calc(100% - 18px) 25px; }
  .tds-form .tds-form-btn { text-wrap: balance; }
  /* títulos sem palavra sozinha: a parte laranja depois do <br> equilibra as próprias linhas */
  body.tds .elementor-heading-title br + span { display: block; }
  body.tds .fx-faq__cab .elementor-heading-title span { display: inline-block; text-wrap: balance; }
  body.tds-post .fx-post__t, body.tds .fx-artigo h2, body.tds .fx-artigo h3 { text-wrap: balance; }
}
@media (max-width: 400px) {
  body.tds .e-con.fx-contato__form { padding: 22px 18px; }
}
@media (max-width: 380px) {
  body.tds .fx-h2 .elementor-heading-title { font-size: 27px; }
}

/* Depoimentos em vídeo (Home e Clientes). Vídeo vertical, a fala do cliente e o serviço que ele contratou. */
body.tds .e-con.fx-deps-sec { padding: clamp(70px, 7vw, 130px) 0 clamp(20px, 2vw, 40px); }
.fx-deps { display: grid; gap: clamp(16px, 1.6vw, 28px); margin: clamp(36px, 3.5vw, 64px) auto 0; text-align: left; }
.fx-deps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1000px; }
.fx-deps--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.fx-dep { display: flex; flex-direction: column; gap: 16px; margin: 0; min-width: 0; }
.fx-dep__video { position: relative; aspect-ratio: 9 / 16; border-radius: 18px; overflow: hidden; background: var(--fx-secao); box-shadow: 0 30px 60px -34px rgba(22, 22, 22, .55); }
.fx-dep__video video { display: block; width: 100%; height: 100%; object-fit: cover; background: var(--fx-secao); }
.fx-dep__frase { margin: 0; padding: 0; border: 0; font-style: normal; }
.fx-dep__frase p, .fx-dep__quem, .fx-dep__quem * { font-style: normal; }
.fx-dep__frase p { margin: 0; font-family: var(--fx-titulo); font-variation-settings: 'opsz' 14; font-weight: 600; font-size: clamp(15px, .3vw + 12px, 18px); line-height: 1.4; color: var(--fx-tinta); }
.fx-dep__quem { display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.4; color: var(--fx-cinza); }
.fx-dep__quem strong { color: var(--fx-tinta); font-weight: 700; font-size: 15px; }
.fx-dep__quem a { margin-top: 6px; color: var(--fx-laranja); font-weight: 600; text-decoration: none; }
.fx-dep__quem a:hover { text-decoration: underline; }
@media (max-width: 1100px) { .fx-deps--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .fx-deps, .fx-deps--3, .fx-deps--5 { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 72%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-left: calc(-1 * var(--fx-margem)); margin-right: calc(-1 * var(--fx-margem)); padding: 0 var(--fx-margem) 8px; }
  .fx-deps::-webkit-scrollbar { display: none; }
  .fx-dep { scroll-snap-align: center; }
}

/* Revisão de 21/10/2026: títulos sem palavra sozinha na última linha, e o botão de play dos depoimentos */
body.tds .elementor-heading-title { text-wrap: balance; }
.fx-dep__play { position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; border: 0; border-radius: 50%; padding: 0; cursor: pointer;
  background: var(--fx-laranja); box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .55); transition: transform .25s ease; }
.fx-dep__play::before { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-36%, -50%); border-style: solid; border-width: 11px 0 11px 18px; border-color: transparent transparent transparent #fff; }
.fx-dep__play:hover, .fx-dep__play:focus-visible { transform: scale(1.08); }
.fx-dep.is-tocando .fx-dep__play { display: none; }

/* Depoimentos com o widget Vídeo do Elementor (capa + tela cheia no clique) */
body.tds .e-con.fx-deps { display: grid; gap: clamp(16px, 1.6vw, 28px); margin: clamp(36px, 3.5vw, 64px) auto 0; text-align: left; padding: 0; }
body.tds .e-con.fx-deps--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); width: 100%; }
body.tds .e-con.fx-dep { display: flex; flex-direction: column; gap: 14px; padding: 0; min-width: 0; }
/* o fundo escuro fica na capa, e não na moldura: na moldura ele aparecia como um fio escuro na borda arredondada */
body.tds .fx-dep__video .elementor-wrapper { border-radius: 18px; overflow: hidden; box-shadow: 0 30px 60px -34px rgba(22, 22, 22, .55); background: transparent; isolation: isolate; }
body.tds .fx-dep__video .elementor-custom-embed-image-overlay img { background: var(--fx-secao); }
body.tds .fx-dep__video .elementor-custom-embed-image-overlay { cursor: pointer; background-size: cover; background-position: center; }
body.tds .fx-dep__video .elementor-custom-embed-image-overlay::after { content: ''; position: absolute; left: 50%; top: 62%; width: 64px; height: 64px; margin: -32px 0 0 -32px;
  border-radius: 50%; background: var(--fx-laranja) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5.5v13l11-6.5z'/%3E%3C/svg%3E") 56% 50% / 26px no-repeat;
  box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .55); transition: transform .25s ease; }
body.tds .fx-dep__video .elementor-custom-embed-image-overlay:hover::after { transform: scale(1.08); }
body.tds .fx-dep__frase p { margin: 0; font-family: var(--fx-titulo); font-variation-settings: 'opsz' 14; font-weight: 600; font-size: clamp(15px, .3vw + 12px, 18px); line-height: 1.4; color: var(--fx-tinta); }
body.tds .fx-dep__serv p { margin: 0; font-size: 14px; }
body.tds .fx-dep__serv a { color: var(--fx-laranja); font-weight: 600; text-decoration: none; }
body.tds .fx-dep__serv a:hover { text-decoration: underline; }
@media (max-width: 1100px) { body.tds .e-con.fx-deps--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  body.tds .e-con.fx-deps, body.tds .e-con.fx-deps--5 { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 72%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-left: calc(-1 * var(--fx-margem)); margin-right: calc(-1 * var(--fx-margem)); padding: 0 var(--fx-margem) 8px; width: auto; }
  body.tds .e-con.fx-dep { scroll-snap-align: center; }
  /* "Ver o serviço" com 45 px de toque, sem mudar o desenho */
  body.tds .fx-dep__serv a { display: inline-block; padding: 14px 0; margin: -14px 0; }
}
/* Faixas que rolam sozinhas no celular (tidos.js põe .tds-esteira): a rolagem nativa sai, o JS move os itens pela variável
   --esteira-x e o dedo arrasta de lado. Sem degradê nas bordas: ele achou tosco, o movimento já mostra que a faixa continua. */
.tds-esteira { overflow: hidden !important; scroll-snap-type: none !important; touch-action: pan-y pinch-zoom; cursor: grab; -webkit-user-select: none; user-select: none; }
.tds-esteira > * { transform: translate3d(var(--esteira-x, 0px), 0, 0) !important; transition: opacity .6s !important; }
.tds-esteira img { -webkit-user-drag: none; }

/* Tela cheia dos depoimentos */
html.tds-dep-aberto { overflow: hidden; }
.tds-dep-tela { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: clamp(16px, 4vh, 48px) 16px; background: rgba(10, 10, 10, .94); animation: tds-dep-entra .25s ease; }
.tds-dep-tela__video { display: block; height: min(calc(100vh - 96px), calc((100vw - 32px) * 16 / 9)); width: auto; max-width: 100%; aspect-ratio: 9 / 16; border-radius: 16px; background: #000; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .8); }
.tds-dep-tela__fechar { position: absolute; top: 16px; right: 16px; width: 48px; height: 48px; border: 0; border-radius: 50%; cursor: pointer; background: rgba(255, 255, 255, .12); }
.tds-dep-tela__fechar::before, .tds-dep-tela__fechar::after { content: ''; position: absolute; left: 50%; top: 50%; width: 20px; height: 2px; background: #fff; border-radius: 1px; }
.tds-dep-tela__fechar::before { transform: translate(-50%, -50%) rotate(45deg); }
.tds-dep-tela__fechar::after { transform: translate(-50%, -50%) rotate(-45deg); }
.tds-dep-tela__fechar:hover, .tds-dep-tela__fechar:focus-visible { background: var(--fx-laranja); }
@keyframes tds-dep-entra { from { opacity: 0; } to { opacity: 1; } }
