/* =========================================================
   Clínica Simi — folha de estilo do tema
   Paleta modernizada a partir do logo atual.
   Tipografia calibrada para leitura confortável do público 60+.
   ========================================================= */

:root{
  --cs-deep:#04322F;
  --cs-deep-2:#0A4A45;
  --cs-deep-3:#0F5F58;
  --cs-mint:#12B48A;
  --cs-mint-d:#0E9271;
  --cs-mint-s:#E6F7F1;
  --cs-rose:#D6396E;
  --cs-rose-s:#FDECF2;
  --cs-sand:#F5F8F7;
  --cs-line:#E1EAE8;
  --cs-ink:#16302E;
  --cs-muted:#576C6A;
  --cs-white:#fff;

  --cs-radius:16px;
  --cs-radius-sm:10px;
  --cs-shadow:0 1px 2px rgba(4,50,47,.05), 0 12px 32px -12px rgba(4,50,47,.18);
  --cs-shadow-lg:0 2px 4px rgba(4,50,47,.06), 0 30px 60px -24px rgba(4,50,47,.28);

  --cs-font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --cs-font-h:"Plus Jakarta Sans","Inter",system-ui,sans-serif;

  --cs-wrap:1200px;
  --cs-gap:clamp(20px,4vw,40px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{
  margin:0;background:var(--cs-white);color:var(--cs-ink);
  font-family:var(--cs-font);font-size:17px;line-height:1.68;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
@media (min-width:900px){body{font-size:18px}}
img,svg,video{max-width:100%;height:auto}
a{color:var(--cs-deep-3);text-underline-offset:3px}
a:hover{color:var(--cs-mint-d)}
h1,h2,h3,h4{font-family:var(--cs-font-h);color:var(--cs-deep);line-height:1.18;letter-spacing:-.018em;margin:0 0 .5em;font-weight:800}
p{margin:0 0 1.1em}
:focus-visible{outline:3px solid var(--cs-mint);outline-offset:3px;border-radius:6px}

.cs-skip{position:absolute;left:-9999px;top:0;background:var(--cs-deep);color:#fff;padding:12px 18px;z-index:9999;border-radius:0 0 8px 0}
.cs-skip:focus{left:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

.cs-wrap{width:100%;max-width:var(--cs-wrap);margin:0 auto;padding-inline:clamp(16px,4vw,28px)}
.cs-wrap--texto{max-width:820px}
.cs-main{display:block;min-height:40vh}

/* ---------- Tipografia utilitária ---------- */
.cs-h1{font-size:clamp(2rem,1.3rem + 2.6vw,3.15rem)}
.cs-h2{font-size:clamp(1.5rem,1.1rem + 1.5vw,2.25rem)}
.cs-lead{font-size:clamp(1.06rem,1rem + .4vw,1.28rem);color:var(--cs-muted);line-height:1.6}

/* ---------- Botões ---------- */
.cs-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--cs-font-h);font-weight:700;font-size:1rem;line-height:1;
  padding:15px 24px;border-radius:999px;border:2px solid transparent;
  text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease;
  min-height:52px;
}
.cs-btn svg{flex:0 0 auto}
.cs-btn:hover{transform:translateY(-2px)}
.cs-btn--wa{background:linear-gradient(135deg,var(--cs-mint) 0%,var(--cs-mint-d) 100%);color:#fff;box-shadow:0 10px 24px -10px rgba(18,180,138,.75)}
.cs-btn--wa:hover{color:#fff;box-shadow:0 16px 32px -12px rgba(18,180,138,.9)}
.cs-btn--solido{background:var(--cs-deep);color:#fff}
.cs-btn--solido:hover{background:var(--cs-deep-2);color:#fff}
.cs-btn--rose{background:var(--cs-rose);color:#fff}
.cs-btn--rose:hover{background:#bf2f5f;color:#fff}
.cs-btn--ghost{background:transparent;border-color:currentColor;color:var(--cs-deep)}
.cs-btn--ghost:hover{background:var(--cs-deep);color:#fff;border-color:var(--cs-deep)}
.cs-btn--lg{font-size:1.08rem;padding:18px 30px;min-height:60px}
.cs-btn--block{width:100%}
.cs-cta--escuro .cs-btn--ghost{color:#fff}
.cs-cta--escuro .cs-btn--ghost:hover{background:#fff;color:var(--cs-deep)}

/* ---------- Cabeçalho ---------- */
.cs-top{position:sticky;top:0;z-index:200;background:#fff;box-shadow:0 1px 0 var(--cs-line)}
.admin-bar .cs-top{top:32px}
@media (max-width:782px){.admin-bar .cs-top{top:46px}}
.cs-top__aviso{background:var(--cs-deep);color:#cfe6e2;font-size:.83rem}
.cs-top__aviso .cs-wrap{display:flex;gap:22px;align-items:center;justify-content:center;flex-wrap:wrap;padding-block:9px}
.cs-top__aviso span,.cs-top__aviso a{display:inline-flex;align-items:center;gap:7px;color:#cfe6e2;text-decoration:none}
.cs-top__aviso a:hover{color:#fff}
.cs-top__aviso svg{opacity:.75}
@media (max-width:760px){.cs-top__aviso .cs-wrap span:first-child{display:none}}

.cs-top__grid{display:flex;align-items:center;gap:20px;padding-block:12px}
.cs-brand{flex:0 0 auto}
.cs-brand__img{max-height:62px;width:auto;display:block}
.cs-brand__txt{font-family:var(--cs-font-h);font-weight:800;font-size:1.35rem;color:var(--cs-deep);text-decoration:none}
.cs-nav{margin-left:auto}
.cs-menu{list-style:none;display:flex;gap:4px;margin:0;padding:0;align-items:center}
.cs-menu a{
  display:block;padding:11px 14px;border-radius:10px;color:var(--cs-deep);
  font-weight:600;font-size:.98rem;text-decoration:none;transition:background .15s,color .15s;
}
.cs-menu a:hover,.cs-menu .current-menu-item>a,.cs-menu .current_page_item>a{background:var(--cs-mint-s);color:var(--cs-deep)}
.cs-menu li{position:relative}
.cs-menu .sub-menu{
  list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:0;min-width:260px;
  background:#fff;border:1px solid var(--cs-line);border-radius:14px;box-shadow:var(--cs-shadow);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;z-index:50;
}
.cs-menu li:hover>.sub-menu,.cs-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.cs-menu .sub-menu a{font-size:.94rem;padding:10px 12px}
.cs-top__cta{flex:0 0 auto}
.cs-burger{display:none;background:none;border:0;width:48px;height:48px;padding:10px;cursor:pointer;margin-left:auto}
.cs-burger span{display:block;height:3px;background:var(--cs-deep);border-radius:2px;margin:5px 0;transition:.22s}
.cs-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.cs-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.cs-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@media (max-width:1040px){
  .cs-burger{display:block}
  .cs-top__cta{display:none}
  .cs-nav{
    position:fixed;inset:auto 0 0 0;top:0;background:#fff;padding:88px 22px 32px;
    transform:translateX(100%);transition:transform .26s ease;overflow-y:auto;z-index:150;margin:0;
  }
  .cs-nav.aberto{transform:none}
  .cs-menu{flex-direction:column;align-items:stretch;gap:2px}
  .cs-menu a{padding:15px 12px;font-size:1.08rem;border-bottom:1px solid var(--cs-line)}
  .cs-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 14px}
}

/* ---------- Trilha ---------- */
.cs-crumbs{background:var(--cs-sand);border-bottom:1px solid var(--cs-line);font-size:.86rem}
.cs-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:11px 0}
.cs-crumbs li+li::before{content:"›";margin-right:6px;color:var(--cs-muted)}
.cs-crumbs a{color:var(--cs-muted);text-decoration:none}
.cs-crumbs a:hover{color:var(--cs-deep-3);text-decoration:underline}
.cs-crumbs [aria-current]{color:var(--cs-deep);font-weight:600}

/* ---------- Layout com sidebar ---------- */
.cs-layout{display:grid;gap:clamp(28px,3.4vw,52px);align-items:start;padding-block:clamp(28px,4vw,52px)}
@media (min-width:1000px){
  .cs-layout{grid-template-columns:minmax(0,1fr) 350px}
  .cs-layout__side{grid-column:2}
  .cs-layout__main{grid-column:1}
  .cs-layout--esquerda{grid-template-columns:350px minmax(0,1fr)}
  .cs-layout--esquerda .cs-layout__side{grid-column:1}
  .cs-layout--esquerda .cs-layout__main{grid-column:2}
}
@media (max-width:999px){
  .cs-layout__side{order:2}
  .cs-layout__main{order:1}
}

/* ---------- Sidebar de conversão ---------- */
.cs-side{display:flex;flex-direction:column;gap:18px;position:sticky;top:130px}
@media (max-width:999px){.cs-side{position:static}}
.cs-side__card{background:#fff;border:1px solid var(--cs-line);border-radius:var(--cs-radius);padding:22px;box-shadow:var(--cs-shadow)}
.cs-side__card--agenda{
  background:linear-gradient(165deg,var(--cs-deep) 0%,var(--cs-deep-2) 62%,var(--cs-deep-3) 100%);
  border-color:transparent;color:#dff1ed;box-shadow:var(--cs-shadow-lg);
}
.cs-side__card--agenda h2,.cs-side__card--agenda .cs-side__h{color:#fff}
.cs-side__eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--cs-mint)}
.cs-side__h{font-size:1.3rem;margin:0 0 8px;line-height:1.25}
.cs-side__sub{font-size:.95rem;margin:0 0 18px;color:#b9d8d3}
.cs-side__card--agenda .cs-btn--ghost{color:#fff;border-color:rgba(255,255,255,.4);margin-top:10px}
.cs-side__card--agenda .cs-btn--ghost:hover{background:#fff;color:var(--cs-deep);border-color:#fff}
.cs-side__info{list-style:none;margin:20px 0 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;gap:14px;font-size:.92rem}
.cs-side__info li{display:flex;gap:11px;align-items:flex-start;color:#cbe4e0}
.cs-side__info svg{flex:0 0 auto;margin-top:2px;color:var(--cs-mint)}

.cs-side__card--prova{background:var(--cs-mint-s);border-color:#c8ece0}
.cs-side__estrelas{display:flex;gap:3px;color:#F5A623;margin:0 0 8px}
.cs-side__prova{margin:0 0 14px;font-size:.98rem;color:var(--cs-deep)}
.cs-side__selos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:.9rem;color:var(--cs-deep-2)}
.cs-side__selos li{display:flex;gap:9px;align-items:flex-start}
.cs-side__selos svg{flex:0 0 auto;margin-top:3px;color:var(--cs-mint-d)}

.cs-side__h2{font-size:1.05rem;margin:0 0 14px;letter-spacing:-.01em}
.cs-side__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.cs-side__links a{display:flex;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid var(--cs-line);color:var(--cs-deep);text-decoration:none;font-weight:600;font-size:.96rem}
.cs-side__links li:last-child a{border-bottom:0}
.cs-side__links a:hover{color:var(--cs-mint-d)}
.cs-side__links svg{color:var(--cs-mint);flex:0 0 auto}
.cs-side__posts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.cs-side__posts a{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--cs-deep)}
.cs-side__thumb img{width:68px;height:68px;object-fit:cover;border-radius:10px;display:block}
.cs-side__ptitulo{font-size:.92rem;font-weight:600;line-height:1.35}
.cs-side__posts a:hover .cs-side__ptitulo{color:var(--cs-mint-d)}
.cs-side__nota{font-size:.82rem;color:var(--cs-muted);margin:12px 0 0}
.cs-side__card--final{background:var(--cs-rose-s);border-color:#f7d3e0}
.cs-side__card--final p{font-size:.94rem;color:#7a1e42}
.cs-side__widgets{display:flex;flex-direction:column;gap:18px}
.cs-widget{background:#fff;border:1px solid var(--cs-line);border-radius:var(--cs-radius);padding:22px}
.cs-widget__title{font-size:1.05rem;margin:0 0 12px}

.cs-convenios{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cs-convenios li{display:inline-flex;align-items:center;gap:7px;background:var(--cs-sand);border:1px solid var(--cs-line);border-radius:999px;padding:7px 14px;font-size:.88rem;font-weight:600;color:var(--cs-deep-2)}
.cs-convenios svg{color:var(--cs-mint-d)}

/* ---------- Prosa (conteúdo do post) ---------- */
.cs-prosa{font-size:1.06rem;line-height:1.78;color:#22403D}
.cs-prosa h2{font-size:clamp(1.42rem,1.1rem + 1.1vw,1.95rem);margin:2em 0 .55em;scroll-margin-top:110px}
.cs-prosa h3{font-size:clamp(1.16rem,1rem + .6vw,1.42rem);margin:1.7em 0 .5em;scroll-margin-top:110px}
.cs-prosa h2+h3{margin-top:.9em}
.cs-prosa ul,.cs-prosa ol{padding-left:1.3em;margin:0 0 1.3em}
.cs-prosa li{margin-bottom:.55em}
.cs-prosa ul{list-style:none;padding-left:0}
.cs-prosa ul li{position:relative;padding-left:32px}
.cs-prosa ul li::before{
  content:"";position:absolute;left:0;top:.55em;width:18px;height:18px;border-radius:50%;
  background:var(--cs-mint-s);
  box-shadow:inset 0 0 0 2px var(--cs-mint);
}
.cs-prosa ol li::marker{color:var(--cs-mint-d);font-weight:700}
.cs-prosa blockquote{
  margin:1.8em 0;padding:22px 26px;background:var(--cs-mint-s);
  border-left:5px solid var(--cs-mint);border-radius:0 var(--cs-radius-sm) var(--cs-radius-sm) 0;
  font-size:1.08rem;color:var(--cs-deep-2);
}
.cs-prosa blockquote p:last-child{margin:0}
.cs-prosa img{border-radius:var(--cs-radius);margin:1.6em 0}
.cs-prosa figure{margin:1.8em 0}
.cs-prosa figcaption{font-size:.86rem;color:var(--cs-muted);text-align:center;margin-top:8px}
.cs-prosa table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.96rem}
.cs-prosa th,.cs-prosa td{border:1px solid var(--cs-line);padding:11px 14px;text-align:left}
.cs-prosa th{background:var(--cs-sand);font-family:var(--cs-font-h);color:var(--cs-deep)}
.cs-prosa a{color:var(--cs-deep-3);font-weight:600}

/* ---------- Post ---------- */
.cs-post__cabeca{background:var(--cs-sand);padding-bottom:clamp(24px,3vw,40px);border-bottom:1px solid var(--cs-line)}
.cs-post__cabeca .cs-crumbs{background:none;border:0;margin-bottom:6px}
.cs-post__cabeca .cs-crumbs .cs-wrap{padding-inline:0}
.cs-post__tag{display:inline-block;background:var(--cs-rose);color:#fff;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 13px;border-radius:999px;text-decoration:none;margin-bottom:14px}
.cs-post__tag:hover{background:#bf2f5f;color:#fff}
.cs-post__titulo{max-width:20ch;margin-bottom:.35em}
@media (min-width:900px){.cs-post__titulo{max-width:24ch}}
.cs-post__lead{max-width:65ch;margin-bottom:1em}
.cs-post__meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.87rem;color:var(--cs-muted)}
.cs-post__meta span{display:inline-flex;align-items:center;gap:7px}
.cs-post__meta svg{color:var(--cs-mint-d)}
.cs-post__figura{margin:2.4em 0 0}
.cs-post__figura img{width:100%;border-radius:var(--cs-radius);display:block;box-shadow:var(--cs-shadow)}
.cs-post__figura figcaption{font-size:.86rem;color:var(--cs-muted);margin-top:10px;text-align:center}
.cs-post__rodape{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;margin-top:32px;padding-top:22px;border-top:1px solid var(--cs-line)}
.cs-post__tags{display:flex;flex-wrap:wrap;gap:8px}
.cs-post__tags a{font-size:.83rem;background:var(--cs-sand);border:1px solid var(--cs-line);border-radius:999px;padding:6px 13px;color:var(--cs-muted);text-decoration:none}
.cs-post__tags a:hover{border-color:var(--cs-mint);color:var(--cs-deep)}
.cs-share{display:flex;align-items:center;gap:12px;font-size:.88rem;color:var(--cs-muted)}
.cs-share a{font-weight:600;color:var(--cs-deep-3);text-decoration:none}
.cs-share a:hover{text-decoration:underline}

.cs-indice{background:var(--cs-sand);border:1px solid var(--cs-line);border-radius:var(--cs-radius);padding:20px 24px;margin:0 0 32px}
.cs-indice__t{font-family:var(--cs-font-h);font-weight:800;color:var(--cs-deep);margin:0 0 10px;font-size:.95rem;letter-spacing:.02em;text-transform:uppercase}
.cs-indice ol{margin:0;padding-left:1.15em;display:flex;flex-direction:column;gap:7px}
.cs-indice a{color:var(--cs-deep-2);text-decoration:none;font-size:.96rem;font-weight:500}
.cs-indice a:hover{color:var(--cs-mint-d);text-decoration:underline}

.cs-vizinhos{display:grid;gap:14px;margin-top:32px}
@media (min-width:700px){.cs-vizinhos{grid-template-columns:1fr 1fr}}
.cs-vizinhos__a{display:block;padding:18px 22px;border:1px solid var(--cs-line);border-radius:var(--cs-radius);text-decoration:none;transition:.18s;background:#fff}
.cs-vizinhos__a:hover{border-color:var(--cs-mint);box-shadow:var(--cs-shadow);transform:translateY(-2px)}
.cs-vizinhos__a span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cs-muted);margin-bottom:5px}
.cs-vizinhos__a strong{color:var(--cs-deep);font-family:var(--cs-font-h);font-size:1rem;line-height:1.35;display:block}
.cs-vizinhos__a--prox{text-align:right}

/* ---------- FAQ ---------- */
.cs-faq{margin:44px 0}
.cs-faq__titulo{font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);margin-bottom:20px}
.cs-faq__item{border:1px solid var(--cs-line);border-radius:var(--cs-radius-sm);margin-bottom:12px;background:#fff;overflow:hidden}
.cs-faq__item summary{
  cursor:pointer;list-style:none;padding:18px 52px 18px 22px;position:relative;
  font-family:var(--cs-font-h);font-weight:700;color:var(--cs-deep);font-size:1.03rem;
}
.cs-faq__item summary::-webkit-details-marker{display:none}
.cs-faq__item summary::after{
  content:"";position:absolute;right:22px;top:50%;width:11px;height:11px;
  border-right:2.5px solid var(--cs-mint);border-bottom:2.5px solid var(--cs-mint);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s;
}
.cs-faq__item[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.cs-faq__item[open] summary{background:var(--cs-mint-s)}
.cs-faq__r{padding:4px 22px 20px;color:#22403D}
.cs-faq__r p:last-child{margin:0}

/* ---------- CTA ---------- */
.cs-cta{
  display:grid;gap:clamp(22px,3vw,44px);align-items:center;
  border-radius:var(--cs-radius);padding:clamp(26px,3.4vw,44px);margin:44px 0;
}
@media (min-width:860px){.cs-cta{grid-template-columns:1.35fr .95fr}}
.cs-cta--escuro{background:linear-gradient(140deg,var(--cs-deep) 0%,var(--cs-deep-2) 70%,var(--cs-deep-3) 100%);color:#d5ebe7;box-shadow:var(--cs-shadow-lg)}
.cs-cta--escuro .cs-cta__titulo{color:#fff}
.cs-cta--claro{background:var(--cs-mint-s);border:1px solid #c8ece0}
.cs-cta__titulo{font-size:clamp(1.45rem,1.1rem + 1.3vw,2.1rem);margin:0 0 .5em}
.cs-cta__pontos{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:.97rem}
.cs-cta__pontos li{display:flex;gap:11px;align-items:flex-start}
.cs-cta__pontos svg{flex:0 0 auto;margin-top:4px;color:var(--cs-mint)}
.cs-cta__acao{display:flex;flex-direction:column;gap:12px}
.cs-cta__nota{display:flex;align-items:center;gap:8px;justify-content:center;font-size:.86rem;margin:4px 0 0;opacity:.85}

/* ---------- Blog / cards ---------- */
.cs-blog__cabeca{padding-top:clamp(28px,4vw,52px)}
.cs-blog__sub{color:var(--cs-muted);max-width:62ch;font-size:1.06rem}
.cs-cards{display:grid;gap:clamp(18px,2.4vw,28px)}
@media (min-width:680px){.cs-cards{grid-template-columns:1fr 1fr}}
.cs-card{background:#fff;border:1px solid var(--cs-line);border-radius:var(--cs-radius);overflow:hidden;transition:.2s}
.cs-card:hover{box-shadow:var(--cs-shadow-lg);transform:translateY(-3px);border-color:transparent}
.cs-card__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.cs-card__img{aspect-ratio:16/10;background:var(--cs-mint-s);overflow:hidden;display:flex;align-items:center;justify-content:center}
.cs-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cs-card:hover .cs-card__img img{transform:scale(1.04)}
.cs-card__ph{color:var(--cs-mint)}
.cs-card__txt{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.cs-card__tag{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cs-rose)}
.cs-card__titulo{font-size:1.2rem;margin:0;line-height:1.3}
.cs-card__resumo{font-size:.95rem;color:var(--cs-muted);margin:0;flex:1}
.cs-card__mais{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--cs-mint-d);font-size:.93rem;font-family:var(--cs-font-h)}
.cs-pag{margin:40px 0}
.cs-pag .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 12px;border:1px solid var(--cs-line);border-radius:10px;margin:0 4px;text-decoration:none;color:var(--cs-deep);font-weight:600}
.cs-pag .page-numbers.current,.cs-pag .page-numbers:hover{background:var(--cs-deep);color:#fff;border-color:var(--cs-deep)}
.cs-vazio{padding:40px 0;font-size:1.08rem}

.cs-busca{display:flex;gap:10px;margin:24px 0;flex-wrap:wrap}
.cs-busca input[type=search]{flex:1;min-width:220px;padding:14px 18px;border:1px solid var(--cs-line);border-radius:999px;font:inherit;font-size:1rem}
.cs-busca input:focus{outline:3px solid var(--cs-mint);outline-offset:1px;border-color:transparent}

/* ---------- 404 ---------- */
.cs-404{padding-block:clamp(40px,6vw,80px)}
.cs-404__acoes{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 44px}
.cs-404__links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cs-404__links a{display:inline-block;background:var(--cs-sand);border:1px solid var(--cs-line);border-radius:999px;padding:10px 18px;text-decoration:none;color:var(--cs-deep);font-weight:600;font-size:.94rem}
.cs-404__links a:hover{background:var(--cs-mint-s);border-color:var(--cs-mint)}

/* ---------- Mapa ---------- */
.cs-mapa{border-radius:var(--cs-radius);overflow:hidden;box-shadow:var(--cs-shadow);line-height:0}

/* ---------- Rodapé ---------- */
.cs-foot{background:var(--cs-deep);color:#b8d6d1;margin-top:clamp(40px,6vw,90px)}
.cs-foot__cta{background:#fff;padding-top:clamp(20px,3vw,40px)}
.cs-foot__cta .cs-cta{margin-bottom:0;transform:translateY(clamp(20px,3vw,44px))}
.cs-foot__grid{display:grid;gap:clamp(28px,3.4vw,48px);padding-top:clamp(70px,8vw,110px);padding-bottom:clamp(34px,4vw,54px)}
@media (min-width:760px){.cs-foot__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1060px){.cs-foot__grid{grid-template-columns:1.6fr 1fr 1fr 1.3fr}}
.cs-foot__logo{max-height:70px;width:auto;background:#fff;border-radius:10px;padding:8px 12px}
.cs-foot__nome{font-family:var(--cs-font-h);font-size:1.4rem;color:#fff;display:block}
.cs-foot__desc{margin:16px 0;font-size:.94rem;max-width:44ch;line-height:1.65}
.cs-foot__social{display:flex;gap:10px;flex-wrap:wrap}
.cs-foot__social a{font-size:.86rem;font-weight:600;color:#d5ebe7;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:8px 15px;text-decoration:none}
.cs-foot__social a:hover{background:var(--cs-mint);border-color:var(--cs-mint);color:#04322F}
.cs-foot__h{color:#fff;font-size:1.02rem;margin:0 0 16px;letter-spacing:.02em}
.cs-foot__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cs-foot__links a{color:#b8d6d1;text-decoration:none;font-size:.94rem}
.cs-foot__links a:hover{color:#fff;text-decoration:underline}
.cs-foot__contato{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:14px;font-size:.93rem}
.cs-foot__contato li{display:flex;gap:11px;align-items:flex-start}
.cs-foot__contato svg{flex:0 0 auto;margin-top:2px;color:var(--cs-mint)}
.cs-foot__contato a{color:#d5ebe7;text-decoration:none}
.cs-foot__contato a:hover{color:#fff;text-decoration:underline}
.cs-foot__base{border-top:1px solid rgba(255,255,255,.13);padding-block:22px;font-size:.83rem}
.cs-foot__base p{margin:0 0 5px}
.cs-foot__rt{opacity:.8}
.cs-foot__aviso{opacity:.65;max-width:76ch;margin-top:10px!important}
.cs-foot__legal{list-style:none;display:flex;gap:16px;flex-wrap:wrap;margin:8px 0;padding:0}
.cs-foot__legal a{color:#b8d6d1;text-decoration:none}
.cs-foot__legal a:hover{color:#fff}

/* ---------- Barra fixa mobile ---------- */
.cs-barra{
  position:fixed;left:0;right:0;bottom:0;z-index:180;display:none;
  background:#fff;border-top:1px solid var(--cs-line);
  box-shadow:0 -6px 22px -10px rgba(4,50,47,.3);
  padding-bottom:env(safe-area-inset-bottom);
}
.cs-barra__item{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:10px 4px;font-size:.72rem;font-weight:700;color:var(--cs-deep);text-decoration:none;
}
.cs-barra__item--wa{background:linear-gradient(135deg,var(--cs-mint) 0%,var(--cs-mint-d) 100%);color:#fff}
@media (max-width:900px){
  .cs-barra{display:flex}
  body{padding-bottom:74px}
}

/* ---------- Página simples ---------- */
.cs-pagina{padding-block:clamp(30px,4vw,58px)}
.cs-404 .cs-h2{margin-top:0}

/* ---------- Comentários ---------- */
.cs-coment{margin-top:48px;padding-top:32px;border-top:1px solid var(--cs-line)}
.cs-coment__lista{list-style:none;padding:0}
.cs-coment__nota{font-size:.9rem;color:var(--cs-muted)}
.cs-coment input[type=text],.cs-coment input[type=email],.cs-coment input[type=url],.cs-coment textarea{
  width:100%;padding:13px 16px;border:1px solid var(--cs-line);border-radius:10px;font:inherit
}

/* ---------- Elementor: alinha com a grade do tema ---------- */
.elementor-widget-text-editor{font-size:1.04rem;line-height:1.75}
.cs .elementor-button{border-radius:999px;font-family:var(--cs-font-h);font-weight:700;min-height:52px}
.cs-secao-escura{background:var(--cs-deep);color:#d5ebe7}
.cs-secao-escura h1,.cs-secao-escura h2,.cs-secao-escura h3{color:#fff}
.cs-secao-suave{background:var(--cs-sand)}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* =========================================================
   Blocos montados no Elementor
   Regra de ouro: tamanho de fonte SEMPRE em .elementor-heading-title
   (definir no wrapper faz o h1/h2 herdar e multiplicar pelo em padrão),
   e cor com especificidade maior que a do kit do Elementor.
   ========================================================= */

.cs-secao-suave{background:var(--cs-sand)}

/* ---------- Tamanhos de título dentro das seções ---------- */
body .cs-sec .elementor-widget-heading h1.elementor-heading-title{
  font-size:clamp(2rem,1.15rem + 2.7vw,3.15rem);line-height:1.13;letter-spacing:-.02em
}
body .cs-sec .elementor-widget-heading h2.elementor-heading-title{
  font-size:clamp(1.5rem,1.1rem + 1.5vw,2.2rem);line-height:1.2;letter-spacing:-.018em
}
body .cs-sec .elementor-widget-heading h3.elementor-heading-title{
  font-size:clamp(1.08rem,1rem + .5vw,1.28rem);line-height:1.3;letter-spacing:-.01em
}
body .cs-sec .elementor-widget-heading .elementor-heading-title{
  font-family:var(--cs-font-h);font-weight:800;color:var(--cs-deep);margin:0
}
body .cs-sec .elementor-widget-text-editor{font-size:1.02rem;line-height:1.7;color:#22403D}
body .cs-sec .elementor-widget-text-editor p:last-child{margin-bottom:0}

/* ---------- Hero ---------- */
.cs-hero{
  background:linear-gradient(140deg,var(--cs-deep) 0%,var(--cs-deep-2) 58%,var(--cs-deep-3) 100%);
  color:#d5ebe7;
}
body .cs-hero .elementor-widget-heading .elementor-heading-title{color:#fff}
body .cs-hero .cs-hero__h1 .elementor-heading-title{max-width:20ch}
body .cs-hero .elementor-widget-text-editor{color:#b9d8d3}
body .cs-hero .cs-hero__lead .elementor-widget-container{max-width:54ch}
body .cs-hero .cs-hero__lead{font-size:clamp(1.04rem,1rem + .4vw,1.2rem);line-height:1.62}
body .cs-hero .elementor-icon-list-item,
body .cs-hero .elementor-icon-list-text{color:#dff1ed;font-weight:600}
body .cs-hero .elementor-icon-list-icon svg{fill:var(--cs-mint)}
.cs-hero .cs-hero__acoes{margin-top:6px;align-items:center}
.cs-hero .cs-hero__acoes .cs-link-tel{
  display:inline-flex;align-items:center;min-height:52px;padding:15px 24px;border-radius:999px;
  border:2px solid rgba(255,255,255,.4);color:#fff;text-decoration:none;font-weight:700;font-family:var(--cs-font-h)
}
.cs-hero .cs-hero__acoes .cs-link-tel:hover{background:#fff;color:var(--cs-deep)}
.cs-hero__img img,.cs-foto-prof img{border-radius:var(--cs-radius);box-shadow:var(--cs-shadow-lg);width:100%;display:block}
.cs-hero--prof .cs-foto-prof img{max-width:400px;margin-inline:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.cs-eyebrow{color:var(--cs-mint);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;margin:0 0 6px}
.cs-registro{color:#b9d8d3;font-size:.98rem;margin:0}
body .cs-hero blockquote{border-left:4px solid var(--cs-mint);background:rgba(255,255,255,.07);color:#e2f3ef;padding:18px 22px;border-radius:0 10px 10px 0;margin:6px 0;font-size:1.02rem}
body .cs-hero blockquote p{margin:0}

/* Caixa de prova no hero */
.cs-provabox{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--cs-radius);padding:26px}
.cs-provabox__estrelas{color:#F5A623;font-size:1.35rem;letter-spacing:3px;margin:0 0 6px}
.cs-provabox__n{color:#fff;font-size:1.06rem;margin:0 0 16px}
.cs-provabox ul{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:10px}
.cs-provabox li{position:relative;padding-left:28px;color:#cbe4e0;font-size:.95rem}
.cs-provabox li::before{content:"";position:absolute;left:0;top:.4em;width:16px;height:16px;border-radius:50%;background:rgba(18,180,138,.25);box-shadow:inset 0 0 0 2px var(--cs-mint)}
.cs-provabox__end{border-top:1px solid rgba(255,255,255,.16);padding-top:14px;margin:0;font-size:.9rem;color:#b9d8d3}

/* ---------- Faixa de números ---------- */
.cs-faixa-sec{background:var(--cs-mint-s)}
.cs-faixa-sec.e-con{padding-top:34px!important;padding-bottom:34px!important}
.cs-faixa{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;text-align:center;width:100%}
@media (min-width:820px){.cs-faixa{grid-template-columns:repeat(4,1fr)}}
.cs-faixa strong{display:block;font-family:var(--cs-font-h);font-size:clamp(1.7rem,1.2rem + 1.6vw,2.5rem);color:var(--cs-deep);line-height:1.1;font-weight:800}
.cs-faixa span{display:block;font-size:.9rem;color:var(--cs-muted);margin-top:4px}

/* ---------- Subtítulo de seção ---------- */
body .cs-sec .cs-sub{color:var(--cs-muted);font-size:1.06rem;max-width:66ch;margin-top:-8px}

/* ---------- Passos numerados ---------- */
.cs-passos{counter-reset:cspasso}
.cs-passos .cs-passo{
  counter-increment:cspasso;background:#fff;border:1px solid var(--cs-line);border-radius:var(--cs-radius);
}
.cs-passos .cs-passo.e-con{padding:26px 24px 24px!important}
.cs-passo::before{
  content:counter(cspasso);display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:12px;background:var(--cs-deep);color:#fff;
  font-family:var(--cs-font-h);font-weight:800;font-size:1.1rem;flex:0 0 auto;
}
body .cs-passo .cs-passo__d{font-size:.95rem;color:var(--cs-muted)}

/* ---------- Cards com link ---------- */
.cs-cardel{background:#fff;border:1px solid var(--cs-line);border-radius:var(--cs-radius);transition:.2s}
.cs-cardel.e-con{padding:28px 26px!important}
.cs-cardel:hover{box-shadow:var(--cs-shadow-lg);transform:translateY(-3px);border-color:transparent}
body .cs-cardel .cs-cardel__d{color:var(--cs-muted);font-size:.96rem}
.cs-cardel .cs-cardel__b{margin-top:auto}
body .cs-cardel .cs-cardel__b .elementor-button{
  background:transparent;color:var(--cs-mint-d);padding:0;min-height:auto;
  font-weight:700;font-family:var(--cs-font-h);font-size:.96rem;fill:var(--cs-mint-d);border:0;box-shadow:none;
}
body .cs-cardel .cs-cardel__b .elementor-button .elementor-button-text::after{content:" →"}
body .cs-cardel .cs-cardel__b .elementor-button:hover{color:var(--cs-deep);background:transparent}
.cs-cardel .cs-cardel__b .elementor-widget-container{text-align:left}

/* ---------- Botão centralizado ---------- */
.cs-btn-centro{text-align:center;margin-top:6px}
body .cs-btn-centro .elementor-button{background:var(--cs-deep);color:#fff;border-radius:999px;padding:16px 30px;font-family:var(--cs-font-h);font-weight:700}
body .cs-btn-centro .elementor-button:hover{background:var(--cs-deep-2);color:#fff}

/* ---------- Equipe: cartão com avatar redondo ----------
   Boa parte das fotos originais tem só 195px de largura. Num retrato 4:5
   grande elas eram ampliadas 2x e ficavam moles; num avatar de 150px são
   exibidas em tamanho natural ou menor, então saem nítidas — e o corte
   circular centraliza o rosto em vez de decepar. */
.cs-equipe{display:grid;gap:18px;width:100%;grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}
.cs-equipe--peq{grid-template-columns:repeat(auto-fit,minmax(205px,255px))}
.cs-equipe__c{
  display:flex;flex-direction:column;align-items:center;text-align:center;height:100%;
  background:#fff;border:1px solid var(--cs-line);border-radius:var(--cs-radius);
  padding:30px 22px 26px;text-decoration:none;color:inherit;transition:.22s;
}
.cs-equipe__c:hover{box-shadow:var(--cs-shadow-lg);transform:translateY(-4px);border-color:transparent}
.cs-equipe__f{
  display:block;width:150px;height:150px;flex:0 0 150px;border-radius:50%;overflow:hidden;
  margin:0 0 18px;background:var(--cs-mint-s);
  box-shadow:0 0 0 4px #fff, 0 0 0 6px var(--cs-mint-s), 0 12px 24px -14px rgba(4,50,47,.5);
  transition:box-shadow .22s;
}
.cs-equipe__c:hover .cs-equipe__f{
  box-shadow:0 0 0 4px #fff, 0 0 0 6px var(--cs-mint), 0 16px 28px -14px rgba(4,50,47,.55);
}
/* !important porque o reset do Elementor (.elementor img{height:auto}) carrega
   depois do tema e deixava a foto menor que a moldura. */
body .cs-equipe__f img{
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover;object-position:center 22%;display:block;border-radius:50%;
}
.cs-equipe__i{display:flex;flex-direction:column;align-items:center;gap:5px}
.cs-equipe__i strong{font-family:var(--cs-font-h);font-weight:800;color:var(--cs-deep);font-size:1.02rem;line-height:1.28}
.cs-equipe__i em{font-style:normal;color:var(--cs-mint-d);font-weight:700;font-size:.88rem}
.cs-equipe__i small{color:var(--cs-muted);font-size:.78rem;line-height:1.45;max-width:26ch}

/* ---------- Depoimentos ---------- */
.cs-depos{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));width:100%}
.cs-depo{margin:0;background:#fff;border:1px solid var(--cs-line);border-radius:var(--cs-radius);padding:26px}
.cs-depo__s{color:#F5A623;letter-spacing:2px;margin:0 0 10px}
body .cs-depo blockquote{margin:0;padding:0;border:0;background:none;font-size:1rem;color:#22403D;border-radius:0}
.cs-depo blockquote p{margin:0}
.cs-depo figcaption{margin-top:14px;font-weight:700;color:var(--cs-deep);font-family:var(--cs-font-h);font-size:.95rem}

/* ---------- Contato ---------- */
.cs-contatobox{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--cs-radius);padding:28px;width:100%}
.cs-contatobox h2{font-size:1.2rem;margin:0 0 16px;color:#fff}
.cs-contatobox ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.cs-contatobox li{display:flex;flex-direction:column;gap:2px;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:12px}
.cs-contatobox li:last-child{border:0;padding:0}
.cs-contatobox strong{color:var(--cs-mint);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.cs-contatobox span{color:#dff1ed;font-size:1rem}

/* ---------- Imagens ---------- */
.cs-img-arred img{border-radius:var(--cs-radius);box-shadow:var(--cs-shadow);width:100%;display:block}

/* ---------- Mapa do site ---------- */
.cs-mapasite{display:grid;gap:26px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin-top:16px;width:100%}
.cs-mapasite h2{font-size:1.02rem;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--cs-mint)}
.cs-mapasite ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.cs-mapasite a{color:var(--cs-deep-2);text-decoration:none;font-size:.95rem}
.cs-mapasite a:hover{color:var(--cs-mint-d);text-decoration:underline}

/* ---------- Listas de ícone do Elementor ---------- */
.cs-sec .elementor-icon-list-item{align-items:flex-start}
.cs-sec .elementor-icon-list-icon{margin-top:4px}
.cs-sec .elementor-icon-list-icon svg{width:18px;height:18px;fill:var(--cs-mint-d)}
body .cs-sec .elementor-icon-list-text{font-size:1rem;line-height:1.55;color:#22403D}

/* ---------- Posts do Elementor ---------- */
.cs-posts-el .elementor-post__title a{font-family:var(--cs-font-h);color:var(--cs-deep)}
.cs-posts-el .elementor-post__title a:hover{color:var(--cs-mint-d)}

/* ---------- Espaçamento das seções ---------- */
.cs-sec > .e-con-inner{gap:22px}
.cs-sec .cs-cardel > .e-con-inner,.cs-sec .cs-passo > .e-con-inner{gap:10px}
.cs-elementor{display:block}

/* Blocos de shortcode ocupam a largura toda */
.elementor-widget-shortcode > .elementor-widget-container{width:100%}

/* ---------- Correções de contraste dentro do hero escuro ---------- */
body .cs-hero .elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text,
body .cs-hero .elementor-widget-icon-list .elementor-icon-list-item > a > .elementor-icon-list-text{
  color:#dff1ed;font-weight:600
}
body .cs-hero .elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var(--cs-mint)}
body .cs-hero .elementor-widget-text-editor,
body .cs-hero .elementor-widget-text-editor p{color:#b9d8d3}
.cs-hero__img img{aspect-ratio:4/3;object-fit:cover}
.cs-hero--prof .cs-foto-prof img{aspect-ratio:4/5}

/* ---------- Ajustes finais ---------- */
/* Equipe: 3 colunas fixas no desktop (6 ou 9 fichas fecham a grade certinho) */
@media (min-width:560px){.cs-equipe{grid-template-columns:repeat(2,1fr)}}
@media (min-width:820px){.cs-equipe{grid-template-columns:repeat(3,1fr)}}
.cs-equipe--peq{grid-template-columns:repeat(auto-fit,minmax(205px,255px))}

/* Rodapé: o respiro extra só existe quando o CTA global está sobreposto */
.cs-foot__grid{padding-top:clamp(34px,4vw,54px)}
.cs-foot--cta .cs-foot__grid{padding-top:clamp(70px,8vw,110px)}

/* Bloco do blog na home */
.cs-bloghome{width:100%}
.cs-bloghome__t{font-family:var(--cs-font-h);font-size:clamp(1.5rem,1.1rem + 1.5vw,2.2rem);margin:0 0 .3em;color:var(--cs-deep)}
.cs-bloghome__s{color:var(--cs-muted);font-size:1.06rem;margin:0 0 24px}
.cs-bloghome .cs-cards{margin-bottom:24px}
@media (min-width:940px){.cs-bloghome .cs-cards{grid-template-columns:repeat(3,1fr)}}
.cs-bloghome__mais{text-align:center;margin:0}

/* Cabeçalho do post gerado pelo shortcode dentro do Elementor */
.cs-post__cabeca .cs-crumbs{background:none;border:0;margin-bottom:8px}
.cs-post__cabeca .cs-crumbs .cs-wrap{padding-inline:0;max-width:none}
.cs-post__cabeca .cs-crumbs ol{padding-top:0;padding-bottom:0}
.cs-post__cabeca .elementor-widget-shortcode{width:100%}

/* ---------- Sidebar do post dentro do Elementor ---------- */
@media (min-width:1000px){
  /* O sticky precisa ficar no wrapper do widget: o bloco de contexto dele é a
     coluna inteira, e não o próprio aside (que é mais baixo que o artigo). */
  .cs-layout__side > .elementor-widget{position:sticky;top:130px;align-self:flex-start}
  .cs-layout__side .cs-side{position:static}
}
@media (max-width:999px){
  .cs-layout.e-con{flex-direction:column}
  .cs-layout > .e-con{width:100%}
  .cs-layout .cs-layout__side{order:2}
  .cs-layout .cs-layout__main{order:1}
}
.cs-layout__side .elementor-shortcode{display:block}
.cs-layout__main .elementor-widget-shortcode{width:100%}

/* =========================================================
   Banner (slider), fundo animado e animações de entrada
   ========================================================= */

/* ---------- Camadas decorativas do fundo escuro ---------- */
.cs-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;border-radius:inherit}
.cs-fx__orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;will-change:transform}
.cs-fx__orb--1{width:44vw;height:44vw;max-width:620px;max-height:620px;left:-10%;top:-25%;
  background:radial-gradient(circle at 35% 35%, rgba(18,180,138,.75), rgba(18,180,138,0) 68%);
  animation:csOrbA 26s ease-in-out infinite}
.cs-fx__orb--2{width:38vw;height:38vw;max-width:520px;max-height:520px;right:-8%;bottom:-30%;
  background:radial-gradient(circle at 60% 40%, rgba(214,57,110,.45), rgba(214,57,110,0) 68%);
  animation:csOrbB 32s ease-in-out infinite}
.cs-fx__orb--3{width:30vw;height:30vw;max-width:430px;max-height:430px;left:42%;top:8%;
  background:radial-gradient(circle at 50% 50%, rgba(88,224,190,.4), rgba(88,224,190,0) 70%);
  animation:csOrbC 22s ease-in-out infinite}
.cs-fx__grade{position:absolute;inset:-1px;opacity:.35;
  background-image:radial-gradient(rgba(255,255,255,.16) 1px, transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 78%);
          mask-image:radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 78%)}
.cs-fx__brilho{position:absolute;top:-60%;left:-40%;width:60%;height:220%;transform:rotate(14deg);
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.055) 45%, rgba(255,255,255,0) 100%);
  animation:csBrilho 14s ease-in-out infinite}

@keyframes csOrbA{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(9%,14%,0) scale(1.12)}}
@keyframes csOrbB{0%,100%{transform:translate3d(0,0,0) scale(1.05)}50%{transform:translate3d(-11%,-12%,0) scale(.92)}}
@keyframes csOrbC{0%,100%{transform:translate3d(0,0,0) scale(.95);opacity:.32}50%{transform:translate3d(-8%,10%,0) scale(1.1);opacity:.55}}
@keyframes csBrilho{0%{transform:translateX(-30%) rotate(14deg)}50%{transform:translateX(190%) rotate(14deg)}100%{transform:translateX(-30%) rotate(14deg)}}

/* ---------- Slider ---------- */
.cs-slider{
  position:relative;overflow:hidden;isolation:isolate;color:#d5ebe7;
  background:linear-gradient(140deg,#032927 0%,var(--cs-deep) 38%,var(--cs-deep-2) 72%,var(--cs-deep-3) 100%);
  padding:clamp(44px,5.5vw,84px) 0 clamp(30px,3.4vw,50px);
}
.cs-slider__palco{position:relative;z-index:1;display:grid;width:100%;max-width:var(--cs-wrap);margin:0 auto;padding-inline:clamp(16px,4vw,28px)}
.cs-slide{
  grid-area:1/1;display:grid;gap:clamp(26px,4vw,56px);align-items:center;
  opacity:0;visibility:hidden;transform:translateY(16px);pointer-events:none;
  transition:opacity .7s ease,transform .7s cubic-bezier(.22,.7,.3,1),visibility 0s linear .7s;
}
.cs-slide.is-ativo{opacity:1;visibility:visible;transform:none;pointer-events:auto;z-index:2;transition-delay:0s}
@media (min-width:1000px){.cs-slide{grid-template-columns:1.04fr .96fr}}

.cs-slide__eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 14px;font-size:.82rem;font-weight:700;
  letter-spacing:.11em;text-transform:uppercase;color:var(--cs-mint)}
.cs-slide__eyebrow svg{opacity:.9}
.cs-slide__titulo{
  font-family:var(--cs-font-h);font-weight:800;color:#fff;margin:0 0 .45em;
  font-size:clamp(2.05rem,1.15rem + 2.95vw,3.35rem);line-height:1.1;letter-spacing:-.025em;max-width:19ch;
}
.cs-slide__lead{font-size:clamp(1.04rem,1rem + .45vw,1.22rem);line-height:1.62;color:#b9d8d3;max-width:52ch;margin:0 0 22px}
.cs-slide__itens{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:11px}
.cs-slide__itens li{display:flex;gap:11px;align-items:flex-start;color:#dff1ed;font-weight:600;font-size:1rem}
.cs-slide__itens svg{flex:0 0 auto;margin-top:3px;color:var(--cs-mint)}
.cs-slide__acoes{display:flex;flex-wrap:wrap;gap:14px}
.cs-btn--vidro{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.34);color:#fff;backdrop-filter:blur(6px)}
.cs-btn--vidro:hover{background:#fff;color:var(--cs-deep);border-color:#fff}

.cs-slide__fig{position:relative;display:flex;justify-content:center;align-items:center}
.cs-slide__img{
  width:100%;max-width:560px;aspect-ratio:4/3;object-fit:cover;display:block;margin-inline:auto;
  border-radius:10px;position:relative;z-index:1;
  box-shadow:0 2px 8px rgba(0,0,0,.22), 0 34px 64px -26px rgba(0,0,0,.62);
  animation:csFlutua 9s ease-in-out infinite;
}
.cs-slide__halo{
  position:absolute;z-index:0;width:min(78%,460px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle, rgba(18,180,138,.42), rgba(18,180,138,0) 65%);
  filter:blur(26px);animation:csHalo 7s ease-in-out infinite;
}
@keyframes csFlutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes csHalo{0%,100%{transform:scale(.94);opacity:.55}50%{transform:scale(1.06);opacity:.85}}

/* Entrada escalonada do conteúdo do slide ativo */
.cs-slide.is-ativo .cs-slide__eyebrow{animation:csSobe .55s .04s both}
.cs-slide.is-ativo .cs-slide__titulo{animation:csSobe .7s .12s both}
.cs-slide.is-ativo .cs-slide__lead{animation:csSobe .7s .2s both}
.cs-slide.is-ativo .cs-slide__itens li:nth-child(1){animation:csSobe .6s .28s both}
.cs-slide.is-ativo .cs-slide__itens li:nth-child(2){animation:csSobe .6s .34s both}
.cs-slide.is-ativo .cs-slide__itens li:nth-child(3){animation:csSobe .6s .4s both}
.cs-slide.is-ativo .cs-slide__itens li:nth-child(n+4){animation:csSobe .6s .46s both}
.cs-slide.is-ativo .cs-slide__acoes{animation:csSobe .65s .48s both}
.cs-slide.is-ativo .cs-slide__fig{animation:csEntraFig .9s .1s both}
@keyframes csSobe{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes csEntraFig{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}

/* Navegação */
.cs-slider__nav{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:16px;
  margin-top:clamp(24px,3vw,38px);padding-inline:clamp(16px,4vw,28px)}
.cs-slider__seta{
  display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 auto;
  border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);
  color:#fff;cursor:pointer;transition:.2s;
}
.cs-slider__seta:hover{background:#fff;color:var(--cs-deep);border-color:#fff;transform:scale(1.06)}
.cs-slider__pontos{display:flex;gap:10px;align-items:center}
.cs-slider__ponto{
  position:relative;width:54px;height:5px;padding:0;border:0;cursor:pointer;border-radius:99px;
  background:rgba(255,255,255,.24);overflow:hidden;transition:background .25s;
}
.cs-slider__ponto:hover{background:rgba(255,255,255,.42)}
.cs-slider__barra{position:absolute;inset:0;width:0;background:var(--cs-mint);border-radius:99px}
.cs-slider__ponto.is-ativo{background:rgba(255,255,255,.3)}
.cs-slider__ponto.is-ativo .cs-slider__barra{width:100%;transform-origin:left;animation:csBarra var(--dur,7s) linear forwards}
.cs-slider[data-tempo="0"] .cs-slider__ponto.is-ativo .cs-slider__barra{animation:none;width:100%}
@keyframes csBarra{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media (max-width:999px){
  .cs-slide__titulo{max-width:none}
  .cs-slide__fig{order:-1}
  .cs-slide__img{max-width:100%;aspect-ratio:16/10}
}

/* ---------- Faixa de prova social ---------- */
.cs-prova{display:grid;gap:18px;width:100%;grid-template-columns:1fr}
@media (min-width:560px){.cs-prova{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.cs-prova{grid-template-columns:repeat(4,1fr)}}
.cs-prova__item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;
  padding:6px 10px;border-right:1px solid var(--cs-line)}
.cs-prova__item:last-child{border-right:0}
@media (max-width:979px){.cs-prova__item{border-right:0;border-bottom:1px solid var(--cs-line);padding-bottom:16px}
  .cs-prova__item:last-child{border-bottom:0}}
.cs-prova__item a{text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:center;gap:4px}
.cs-prova__item a:hover strong{color:var(--cs-mint-d)}
.cs-prova__item strong{font-family:var(--cs-font-h);font-weight:800;color:var(--cs-deep);line-height:1.05;
  font-size:clamp(1.7rem,1.2rem + 1.5vw,2.4rem)}
.cs-prova__item--txt strong{font-size:clamp(1.05rem,1rem + .5vw,1.3rem)}
.cs-prova__item span{font-size:.9rem;color:var(--cs-muted)}
.cs-estrelas{display:inline-flex;gap:2px;color:#F5A623;line-height:1}
.cs-prova--escura .cs-prova__item{border-color:rgba(255,255,255,.18)}
.cs-prova--escura .cs-prova__item strong{color:#fff}
.cs-prova--escura .cs-prova__item span{color:#b9d8d3}

.cs-provacard{background:var(--cs-mint-s);border:1px solid #c8ece0;border-radius:var(--cs-radius);padding:20px 22px}
.cs-provacard p{margin:8px 0 0;font-size:.96rem;color:var(--cs-deep-2)}

/* ---------- Hero das páginas internas ---------- */
.cs-hero{position:relative;overflow:hidden;isolation:isolate}
.cs-hero > .e-con-inner{position:relative;z-index:1}
/* Sem transform de propósito: a regra que desliga animações dos widgets do
   hero usa transform:none !important e mataria o centramento. */
.cs-fx-wrap{
  position:absolute!important;top:0;bottom:0;left:calc(50% - 50vw);
  width:100vw!important;max-width:100vw!important;z-index:0;pointer-events:none;margin:0!important;padding:0!important;
}
.cs-hero,.cs-slider{overflow:hidden!important}
.cs-fx-wrap > .elementor-widget-container{height:100%}
.cs-hero__img img{
  border-radius:10px;
  box-shadow:0 2px 8px rgba(0,0,0,.22), 0 34px 64px -26px rgba(0,0,0,.6);
  animation:csFlutua 9s ease-in-out infinite;
  max-width:540px;margin-inline:auto;
}
.cs-hero__img{position:relative}
.cs-hero__img::before{
  content:"";position:absolute;left:50%;top:50%;translate:-50% -50%;
  width:min(80%,420px);aspect-ratio:1;border-radius:50%;z-index:-1;
  background:radial-gradient(circle, rgba(18,180,138,.4), rgba(18,180,138,0) 65%);
  filter:blur(26px);animation:csHalo 7s ease-in-out infinite;
}
.cs-hero--centro .e-con-inner{align-items:center}
.cs-hero--centro .cs-hero__h1 .elementor-heading-title,
.cs-hero--centro .cs-hero__lead .elementor-widget-container{margin-inline:auto;text-align:center}
.cs-hero--centro .cs-hero__lead .elementor-widget-container{max-width:62ch}
.cs-hero--centro .cs-hero__h1 .elementor-heading-title{max-width:22ch}
.cs-hero--centro .cs-hero__acoes{justify-content:center}
.cs-hero--centro .elementor-icon-list-items{justify-content:center;display:flex;flex-wrap:wrap;gap:10px 26px}
.cs-hero--centro .elementor-icon-list-item{width:auto}

/* Entrada do hero das internas (sem esperar scroll) */
.cs-hero .cs-hero__h1{animation:csSobe .7s .08s both}
.cs-hero .cs-hero__lead{animation:csSobe .7s .18s both}
.cs-hero .cs-hero__lista{animation:csSobe .7s .28s both}
.cs-hero .cs-hero__acoes{animation:csSobe .7s .38s both}
.cs-hero .cs-hero__img,.cs-hero .cs-foto-prof{animation:csEntraFig .9s .14s both}

/* ---------- Revelação no scroll ----------
   O estado escondido usa :not(.is-in) em vez de uma regra separada para
   .is-in: assim, quando a classe entra, a regra simplesmente deixa de casar
   e o elemento volta ao natural — sem briga de especificidade e sem quebrar
   os transforms de hover dos cards. */
html.cs-anim .cs-sec .elementor-widget,
html.cs-anim .cs-cardel,
html.cs-anim .cs-passo,
html.cs-anim .cs-equipe__c,
html.cs-anim .cs-depo,
html.cs-anim .cs-card,
html.cs-anim .cs-faq__item,
html.cs-anim .cs-prova__item,
html.cs-anim .cs-mapasite > div,
html.cs-anim .cs-foot__col{
  transition:opacity .75s cubic-bezier(.22,.7,.3,1),transform .75s cubic-bezier(.22,.7,.3,1);
}
html.cs-anim .cs-sec .elementor-widget:not(.is-in),
html.cs-anim .cs-cardel:not(.is-in),
html.cs-anim .cs-passo:not(.is-in),
html.cs-anim .cs-equipe__c:not(.is-in),
html.cs-anim .cs-depo:not(.is-in),
html.cs-anim .cs-card:not(.is-in),
html.cs-anim .cs-faq__item:not(.is-in),
html.cs-anim .cs-prova__item:not(.is-in),
html.cs-anim .cs-mapasite > div:not(.is-in),
html.cs-anim .cs-foot__col:not(.is-in){
  opacity:0;transform:translateY(22px);
}
/* Widgets dentro de um bloco que já anima como um todo não animam de novo */
html.cs-anim .cs-cardel .elementor-widget,
html.cs-anim .cs-passo .elementor-widget,
html.cs-anim .cs-hero .elementor-widget,
html.cs-anim .cs-banner .elementor-widget,
html.cs-anim .cs-layout__side .elementor-widget{opacity:1!important;transform:none!important;transition:none!important}

/* Contador */
.cs-num{font-variant-numeric:tabular-nums}

/* ---------- Micro-interações ---------- */
.cs-cardel,.cs-equipe__c,.cs-card,.cs-vizinhos__a{will-change:transform}
.cs-btn{position:relative;overflow:hidden}
.cs-btn--wa::after{
  content:"";position:absolute;top:0;left:-120%;width:45%;height:100%;transform:skewX(-20deg);
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.28),rgba(255,255,255,0));
  transition:left .55s ease;
}
.cs-btn--wa:hover::after{left:130%}
.cs-side__card--agenda{position:relative;overflow:hidden}
.cs-side__card--agenda::before{
  content:"";position:absolute;width:220px;height:220px;right:-90px;top:-90px;border-radius:50%;
  background:radial-gradient(circle,rgba(18,180,138,.35),rgba(18,180,138,0) 65%);
  animation:csHalo 8s ease-in-out infinite;pointer-events:none;
}
.cs-side__card--agenda > *{position:relative;z-index:1}

@media (prefers-reduced-motion:reduce){
  .cs-fx__orb,.cs-fx__brilho,.cs-slide__img,.cs-slide__halo,.cs-hero__img img,.cs-hero__img::before,
  .cs-side__card--agenda::before,.cs-slider__barra{animation:none!important}
  .cs-slide.is-ativo *{animation:none!important}
  .cs-hero .cs-hero__h1,.cs-hero .cs-hero__lead,.cs-hero .cs-hero__lista,.cs-hero .cs-hero__acoes,
  .cs-hero .cs-hero__img,.cs-hero .cs-foto-prof{animation:none!important;opacity:1!important}
  html.cs-anim *{opacity:1!important;transform:none!important;transition:none!important}
}

/* ---------- Cantos arredondados nas imagens ----------
   O frontend do Elementor traz `.elementor img{border-radius:0}` e carrega
   depois do tema. Como a especificidade empata, o zero dele vencia. O prefixo
   `body` sobe um nível de tipo e devolve o arredondamento. */
body .cs-hero__img img,
body .cs-foto-prof img,
body .cs-slide__fig img,
body .cs-img-arred img,
body .cs-post__figura img,
body .cs-prosa img,
body .cs-mapa iframe{border-radius:10px}
body .cs-side__thumb img{border-radius:10px}
body .cs-equipe__f img{border-radius:50%}
body .cs-card__img img{border-radius:0}

/* =========================================================
   Ajustes de mobile
   ========================================================= */

/* ---------- Barra superior: no celular fica só o telefone ---------- */
@media (max-width:760px){
  .cs-top__aviso{font-size:.8rem}
  .cs-top__aviso .cs-wrap{padding-block:7px;gap:0;justify-content:center}
  .cs-top__aviso .cs-wrap > span{display:none}
  .cs-top__aviso .cs-wrap > a{display:inline-flex;font-weight:600}
}

/* ---------- Menu mobile com logo e botão de fechar ---------- */
.cs-nav__topo{display:none}
@media (max-width:1040px){
  .cs-nav{z-index:250;padding:0 22px 32px}
  .cs-nav.aberto{box-shadow:-8px 0 40px -12px rgba(4,50,47,.35)}
  /* Logado no WP a barra do admin fica por cima de tudo; desce o painel. */
  .admin-bar .cs-nav{top:46px;height:calc(100% - 46px)}
  .cs-nav__topo{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    position:sticky;top:0;background:#fff;z-index:2;
    padding:14px 0 12px;margin-bottom:6px;border-bottom:1px solid var(--cs-line);
  }
  .cs-nav__logo{display:block;line-height:0}
  .cs-nav__logo img{max-height:52px;width:auto;display:block}
  .cs-nav__logo--txt{font-family:var(--cs-font-h);font-weight:800;color:var(--cs-deep);font-size:1.15rem;line-height:1.2}
  .cs-nav__fechar{
    display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
    width:44px;height:44px;border-radius:50%;border:1.5px solid var(--cs-line);
    background:var(--cs-sand);color:var(--cs-deep);cursor:pointer;transition:.18s;
  }
  .cs-nav__fechar:hover{background:var(--cs-deep);color:#fff;border-color:var(--cs-deep)}
}

/* ---------- Destaques do slide: entrelinha menor ---------- */
.cs-slide__itens{gap:10px}
.cs-slide__itens li{line-height:1.38;align-items:flex-start}
.cs-slide__itens svg{margin-top:2px}
.cs-hero .cs-hero__lista .elementor-icon-list-text{line-height:1.38}

/* ---------- Nada colado na borda no mobile ---------- */
@media (max-width:767px){
  .cs-slider__palco{padding-inline:20px}
  .cs-slider__nav{padding-inline:20px}
  .cs-wrap{padding-inline:20px}
  .cs-prova{gap:14px}
  .cs-cardel.e-con{padding:24px 20px!important}
  .cs-passos .cs-passo.e-con{padding:22px 20px 20px!important}
  .cs-cta{padding:26px 20px}
  .cs-equipe__c{padding:26px 18px 22px}
  .cs-side__card{padding:20px 18px}
}

/* ---------- Barra fixa mais compacta ---------- */
.cs-barra__item{padding:7px 4px 6px;gap:2px;font-size:.68rem;line-height:1.1}
.cs-barra__item svg{width:19px;height:19px}
@media (max-width:900px){
  body{padding-bottom:58px}
}

/* =========================================================
   Ajuste fino de mobile — segunda passada
   ========================================================= */

/* Eyebrow do banner: no celular fica só o bairro e a cidade */
.cs-slide__eyebrow{align-items:flex-start}
.cs-slide__eyebrow svg{margin-top:1px;flex:0 0 auto}
@media (max-width:560px){
  .cs-slide__marca{display:none}
  .cs-slide__eyebrow{font-size:.76rem;letter-spacing:.09em}
}

/* Título do banner um pouco menor no celular — cabe em menos linhas */
@media (max-width:520px){
  .cs-slide__titulo{font-size:1.85rem;line-height:1.14;letter-spacing:-.02em}
  body .cs-sec .elementor-widget-heading h1.elementor-heading-title{font-size:1.85rem;line-height:1.14}
  .cs-slide__lead,.cs-hero .cs-hero__lead{font-size:1rem}
}

/* Botões do banner e dos heros ocupam a linha toda no celular */
@media (max-width:520px){
  .cs-slide__acoes,.cs-hero .cs-hero__acoes{width:100%;gap:10px}
  .cs-slide__acoes .cs-btn,
  .cs-hero .cs-hero__acoes .elementor-widget-shortcode,
  .cs-hero .cs-hero__acoes .cs-btn,
  .cs-hero .cs-hero__acoes .cs-link-tel{width:100%;justify-content:center}
  .cs-cta__acao .cs-btn{width:100%}
  .cs-404__acoes .cs-btn{width:100%}
}

/* Banner: menos respiro embaixo no celular */
@media (max-width:767px){
  .cs-slider{padding-bottom:18px}
  .cs-slider__nav{margin-top:18px;gap:12px}
  .cs-slider__seta{width:42px;height:42px}
  .cs-slider__ponto{width:42px}
}

/* Prova social: 2x2 no celular, sem as divisórias que só fazem sentido em linha */
@media (max-width:979px){
  .cs-prova{grid-template-columns:repeat(2,1fr);gap:22px 14px}
  .cs-prova__item{border:0;padding:0}
  .cs-prova__item strong{font-size:clamp(1.5rem,1.1rem + 1.6vw,2rem)}
  .cs-prova__item span{font-size:.82rem;line-height:1.3}
  .cs-prova__item--txt strong{font-size:1rem}
}

/* Cards de serviço em 2 colunas em telas médias (evita rolagem infinita) */
@media (min-width:600px) and (max-width:999px){
  .cs-cardel-grid.e-con{flex-direction:row;flex-wrap:wrap}
  .cs-cardel-grid > .cs-cardel{width:calc(50% - 12px)}
  .cs-passos.e-con{flex-direction:row;flex-wrap:wrap}
  .cs-passos > .cs-passo{width:calc(50% - 13px)}
}

/* Rodapé mais compacto no celular */
@media (max-width:759px){
  .cs-foot__grid{gap:30px}
  .cs-foot__desc{margin:14px 0}
  .cs-foot__base{font-size:.8rem}
  .cs-foot__base p{margin-bottom:8px}
  .cs-foot__cta .cs-cta{transform:translateY(24px)}
  .cs-foot--cta .cs-foot__grid{padding-top:64px}
}

/* FAQ e CTA um pouco mais justos no celular */
@media (max-width:520px){
  .cs-faq__item summary{padding:16px 46px 16px 18px;font-size:.98rem}
  .cs-faq__item summary::after{right:18px}
  .cs-faq__r{padding:2px 18px 18px}
  .cs-cta__titulo{font-size:1.5rem}
  .cs-cta__pontos{font-size:.94rem}
  .cs-depo{padding:22px 20px}
  .cs-mapasite{gap:22px}
}

/* ================================================================
   Ajuste fino de mobile — terceira passada
   ================================================================ */

/* O kit do Elementor define line-height em "em" no body, e em CSS um valor
   com unidade é herdado como comprimento fixo: todo texto menor (rodapé,
   listas, convênios) acabava com 30px de entrelinha. Valor sem unidade
   volta a ser proporcional ao tamanho de cada elemento. */
body{line-height:1.68!important}

/* Lista com ícone: o ícone tem de acompanhar a primeira linha, não o meio
   do item. A regra do Elementor carrega depois, então subimos a
   especificidade em vez de repetir a mesma. */
body .cs-sec .elementor-widget-icon-list .elementor-icon-list-item,
body .cs-prosa .elementor-widget-icon-list .elementor-icon-list-item{align-items:flex-start}
body .cs-sec .elementor-widget-icon-list .elementor-icon-list-icon{margin-top:5px}

@media (max-width:767px){
	/* Post e páginas com sidebar: os contêineres do Elementor somavam 10px de
	   cada lado sobre os 20px da faixa, e o texto ficava desalinhado do resto
	   da página (e com linha curta demais). */
	.cs-layout.e-con,
	.cs-layout__main.e-con,
	.cs-layout__side.e-con{padding-left:0!important;padding-right:0!important}

	/* Migalhas: o título da página atual é longo e quebrava em duas linhas.
	   Uma linha só, com reticências. */
	.cs-crumbs ol{flex-wrap:nowrap;gap:5px}
	.cs-crumbs li{white-space:nowrap;flex:0 0 auto}
	.cs-crumbs li:last-child{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
	.cs-crumbs [aria-current]{display:block;overflow:hidden;text-overflow:ellipsis}

	/* Área de toque dos pontos do slider: a barrinha continua com 5px, mas o
	   alvo passa a ter ~31px de altura. */
	.cs-slider__ponto{overflow:visible}
	.cs-slider__ponto::after{content:"";position:absolute;left:0;right:0;top:-13px;bottom:-13px}

	/* "Ver detalhes" tinha 15px de altura de toque. */
	body .cs-cardel .cs-cardel__b .elementor-button{padding:9px 0;min-height:38px;display:inline-flex;align-items:center}
	body .cs-cardel .cs-cardel__b .elementor-widget-container{margin-top:-9px;margin-bottom:-9px}

	/* Telefone da barra superior e migalhas: alvo maior sem mexer na altura
	   visual das faixas (a margem negativa compensa o padding). */
	.cs-top__aviso .cs-wrap > a{padding-block:7px;margin-block:-4px}
	.cs-crumbs a{display:inline-block;padding-block:6px;margin-block:-6px}
}

/* Rodapé: links de menu com 19px de altura viravam alvo difícil no dedo. */
@media (max-width:759px){
	.cs-foot__links a,
	.cs-foot__legal a{display:inline-block;padding-block:7px}
	.cs-foot__links li{margin:0}
	.cs-foot__contato li{padding-block:2px}
	.cs-foot__contato a{display:inline-block;padding-block:6px;margin-block:-4px}
}

/* Compartilhar do post: alvo de toque decente no celular. */
@media (max-width:767px){
	.cs-share{flex-wrap:wrap;gap:8px 10px}
	.cs-share a{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid var(--cs-line);border-radius:99px}
	.cs-foot__aviso{line-height:1.5}
}

/* Menu do celular: atalho de agendamento no topo do painel e itens de
   submenu mais compactos, para o menu caber em menos rolagem. */
.cs-nav__cta{display:none}
@media (max-width:1040px){
	.cs-nav__cta{display:block;margin:0 0 16px}
	.cs-nav__cta .cs-btn{width:100%;justify-content:center}
	.cs-menu a{padding:13px 12px;font-size:1.04rem}
	.cs-menu .sub-menu a{padding:10px 12px;font-size:.96rem;color:var(--cs-muted)}
	.cs-menu .sub-menu{padding-left:12px}
}
