/* ============================================================
   Camada de MODERNIZAÇÃO — Dra. Daiane Bergamim
   Sobrepõe o Elementor sem alterar a estrutura (reversível).
   Direção: menos cor chapada, mais opaco/suave, mais ar (ref. Kettner).
   ============================================================ */
:root{
  --m-wine:#722b49;
  --m-wine-soft:#8a4863;
  --m-rose:#bc7593;
  --m-tint:#faf4f6;      /* rosé quase branco */
  --m-tint-2:#f3e9ec;
  --m-border:#ecdfe4;
  --m-border-2:#e3c9d3;
  --m-shadow:0 10px 30px -18px rgba(74,29,51,.30);
  --m-shadow-hover:0 18px 44px -20px rgba(74,29,51,.40);
}

/* ---------- Acordeão "Para quem é indicado" ---------- */
.ekit-accordion--toggler.elementskit-btn-link{
  background:#ffffff !important;
  color:var(--m-wine) !important;
  border:1px solid var(--m-border) !important;
  border-radius:16px !important;
  padding:20px 24px !important;
  box-shadow:0 2px 12px -8px rgba(74,29,51,.18) !important;
  font-weight:600 !important;
  transition:background .3s ease, box-shadow .3s ease, border-color .3s ease, color .3s ease !important;
}
.ekit-accordion--toggler.elementskit-btn-link:hover{
  border-color:var(--m-border-2) !important;
  box-shadow:var(--m-shadow) !important;
}
/* item aberto (sem a classe collapsed) */
.ekit-accordion--toggler.elementskit-btn-link:not(.collapsed){
  background:var(--m-tint) !important;
  color:var(--m-wine) !important;
  border-color:var(--m-border-2) !important;
  box-shadow:var(--m-shadow) !important;
}
/* ícone do acordeão acompanha o texto (vinho) */
.ekit-accordion--toggler .ekit_accordion_normal_icon i,
.ekit-accordion--toggler .ekit_accordion_active_icon i,
.ekit-accordion--toggler .icon{
  color:var(--m-wine) !important;
}
/* corpo do acordeão: leve e arejado */
.elementskit-card{
  background:transparent !important;
  margin-bottom:14px !important;
  border:0 !important;
}
.elementskit-card-body.ekit-accordion--content{
  padding:6px 24px 22px !important;
}

/* ---------- Cards de tratamento (refrativa / catarata) ---------- */
.elementor-element-8b48ae1 > .elementor-widget-wrap.elementor-element-populated,
.elementor-element-6e63c0b > .elementor-widget-wrap.elementor-element-populated{
  border-radius:18px !important;
  border:1px solid var(--m-border) !important;
  box-shadow:var(--m-shadow) !important;
  transition:box-shadow .35s ease, transform .35s ease !important;
}
.elementor-element-8b48ae1 > .elementor-widget-wrap.elementor-element-populated:hover,
.elementor-element-6e63c0b > .elementor-widget-wrap.elementor-element-populated:hover{
  box-shadow:var(--m-shadow-hover) !important;
  transform:translateY(-5px) !important;
}
/* imagens dentro dos cards com o mesmo raio suave */
.elementor-element-8b48ae1 img,
.elementor-element-6e63c0b img{ border-radius:12px !important; }

/* ---------- Blocos de cor da marca: mesma cor, mais opaca (menos saturada) ---------- */
/* banner "Estamos 100%": vinho um pouco mais opaco */
.elementor-element-f39c21e{ background-color:#6c3648 !important; }
/* seção rosa do contato: rosé menos berrante (dusty rose) */
.elementor-element-0efa81d{ background-color:#ab8391 !important; }

/* ---------- Contato: rosé claro, translúcido e elegante (substitui o sólido) ---------- */
.elementor-element-0efa81d{
  background:linear-gradient(180deg,#faf5f7 0%,#f3e7ed 100%) !important;
}
/* telefone (link sem cor -> vinho) sem afetar o botão */
.elementor-element-0efa81d .elementor-icon-list-item a{ color:#5a4a50 !important; }
.elementor-element-0efa81d .elementor-icon-list-icon svg,
.elementor-element-0efa81d .elementor-icon-list-icon i{ color:#722b49 !important; fill:#722b49 !important; }

/* ---------- Banner "Estamos 100%": vinho mais opaco/moderno ---------- */
.elementor-element-f39c21e{
  background:linear-gradient(135deg,#6a3547 0%,#59303f 100%) !important;
}
/* botão lavado -> branco elegante com texto vinho */
.elementor-element-f39c21e .elementor-button{
  background:#ffffff !important;
  box-shadow:0 12px 34px -18px rgba(0,0,0,.55) !important;
  transition:transform .3s ease, box-shadow .3s ease !important;
}
.elementor-element-f39c21e .elementor-button:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 20px 44px -18px rgba(0,0,0,.6) !important;
}
.elementor-element-f39c21e .elementor-button,
.elementor-element-f39c21e .elementor-button *{ color:#6c3648 !important; }
.elementor-element-f39c21e .elementor-button svg{ fill:#6c3648 !important; }

/* (menu pill v1 removido — ver NAV v3 minimalista) */

/* ============ RODAPÉ: vinho mais opaco/sofisticado ============ */
.elementor-element-024725f{
  background:linear-gradient(135deg,#5c3242 0%,#482734 100%) !important;
}

/* (menu pill v2 removido — ver NAV v3 minimalista) */

/* ============ RODAPÉ moderno: claro + efeito gradiente + cantos arredondados ============ */
.elementor-element-024725f{
  background:linear-gradient(160deg,#f7edf1 0%,#ecdbe4 55%,#e3d0da 100%) !important;
  border-radius:44px 44px 0 0 !important;
}
/* fundo agora é claro -> texto escuro/vinho pra ler bem */
.elementor-element-024725f h1,.elementor-element-024725f h2,.elementor-element-024725f h3,
.elementor-element-024725f h4,.elementor-element-024725f h5,.elementor-element-024725f h6{ color:#722b49 !important; }
.elementor-element-024725f p,.elementor-element-024725f li,
.elementor-element-024725f a,.elementor-element-024725f span{ color:#5f4d54 !important; }
.elementor-element-024725f a:hover{ color:#722b49 !important; }
/* ícone social (Instagram) em vinho com glifo branco */
.elementor-element-024725f .elementor-social-icon{ background-color:#722b49 !important; }
.elementor-element-024725f .elementor-social-icon svg,
.elementor-element-024725f .elementor-social-icon i{ fill:#ffffff !important; color:#ffffff !important; }
/* ícone de whatsapp/contato (fora do social) em vinho */
.elementor-element-024725f .elementor-icon-list-icon svg,
.elementor-element-024725f .elementor-icon-list-icon i{ fill:#722b49 !important; color:#722b49 !important; }

/* ============ RODAPÉ v2: rosa mais forte + texto branco + corrigir cantos brancos ============ */
/* fundo ATRÁS do rodapé = rosé claro (some a linha branca; vira card flutuante) */
[data-elementor-type="footer"], .elementor-location-footer{ background-color:#f4e7ec !important; }
html,body{ background-color:#f4e7ec !important; }

/* o card do rodapé: rosé forte com efeito gradiente + cantos arredondados */
.elementor-element-024725f{
  background:linear-gradient(155deg,#c98aa1 0%,#b7768e 55%,#a86680 100%) !important;
  border-radius:46px 46px 0 0 !important;
}
/* texto branco no rosé forte */
.elementor-element-024725f h1,.elementor-element-024725f h2,.elementor-element-024725f h3,
.elementor-element-024725f h4,.elementor-element-024725f h5,.elementor-element-024725f h6{ color:#ffffff !important; }
.elementor-element-024725f p,.elementor-element-024725f li,
.elementor-element-024725f a,.elementor-element-024725f span{ color:rgba(255,255,255,.9) !important; }
.elementor-element-024725f a:hover{ color:#ffffff !important; }
/* ícone social translúcido branco */
.elementor-element-024725f .elementor-social-icon{ background-color:rgba(255,255,255,.16) !important; }
.elementor-element-024725f .elementor-social-icon svg,
.elementor-element-024725f .elementor-social-icon i{ fill:#ffffff !important; color:#ffffff !important; }
.elementor-element-024725f .elementor-icon-list-icon svg,
.elementor-element-024725f .elementor-icon-list-icon i{ fill:#ffffff !important; color:#ffffff !important; }

/* manter o cabeçalho branco (o body virou rosé p/ corrigir cantos do rodapé) */
[data-elementor-type="header"]{ background-color:#ffffff !important; }

/* ============ NAV v3 — minimalista elegante (underline sutil, sem container) ============ */
[data-elementor-type="header"] .elementor-nav-menu--main{
  background:transparent !important; border:none !important;
  border-radius:0 !important; padding:0 !important; gap:6px !important; width:auto !important;
}
[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item{
  background:transparent !important; border-radius:0 !important; box-shadow:none !important;
  padding:10px 20px !important; margin:0 !important;
  color:#4a3b41 !important; font-weight:500 !important; letter-spacing:.015em !important;
  position:relative !important; transition:color .3s ease !important;
}
[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item::before{ content:none !important; display:none !important; }
/* traço fino animado */
[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item::after{
  content:"" !important; display:block !important; position:absolute !important;
  left:20px !important; right:20px !important; bottom:4px !important; height:2px !important;
  background:#722b49 !important; border-radius:2px !important;
  transform:scaleX(0) !important; transform-origin:center !important;
  transition:transform .32s cubic-bezier(.2,.6,.2,1) !important;
}
[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item:hover{ color:#722b49 !important; }
[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item:hover::after{ transform:scaleX(1) !important; }
[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item.elementor-item-active{
  color:#722b49 !important; background:transparent !important; box-shadow:none !important; font-weight:600 !important;
}
[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item.elementor-item-active::after{ transform:scaleX(1) !important; }

/* ============ Botão hero: VERDE WhatsApp com destaque (pulso) ============ */
.elementor-element-8d6175b .elementor-button{
  background-color:#25d366 !important; color:#ffffff !important;
  box-shadow:0 8px 24px -8px rgba(37,211,102,.5) !important;
  transition:transform .3s cubic-bezier(.2,.6,.2,1), box-shadow .3s ease, background-color .3s ease !important;
  animation:susWaPulse 2.4s ease-in-out infinite !important;
}
@keyframes susWaPulse{
  0%,100%{ box-shadow:0 8px 24px -8px rgba(37,211,102,.42); }
  50%{ box-shadow:0 10px 34px -6px rgba(37,211,102,.80); }
}
.elementor-element-8d6175b .elementor-button:hover{
  background-color:#1eb858 !important; color:#ffffff !important;
  transform:translateY(-3px) !important;
  box-shadow:0 16px 40px -10px rgba(37,211,102,.62) !important;
  animation:none !important;
}

/* ============ Filtro SUS: posicionamento particular + convênios ============ */
/* linha clara no contato (fundo claro -> texto vinho suave) */
.sus-nota{
  margin:14px 0 0 !important; font-size:.92rem !important; font-weight:500 !important;
  color:#8a5568 !important; letter-spacing:.01em !important; line-height:1.5 !important;
}
/* linha de posicionamento sob o botão do hero (HTML real, alinhada ao botão) */
.sus-hero{
  margin:16px 0 0 !important; text-align:left !important; max-width:420px;
  font-size:.86rem !important; font-weight:400 !important; letter-spacing:.02em !important;
  color:rgba(255,255,255,.82) !important;
}

/* ============ Botão "Quero agendar minha avaliação" (Sobre): elegante/sofisticado ============ */
.elementor-element-bcb8eb8 .elementor-button{
  background:linear-gradient(135deg,#7a3050 0%,#5e2440 100%) !important;
  color:#ffffff !important; letter-spacing:.02em !important;
  box-shadow:0 12px 28px -14px rgba(114,43,73,.6) !important;
  transition:transform .35s cubic-bezier(.2,.6,.2,1), box-shadow .35s ease, filter .35s ease !important;
  position:relative !important; overflow:hidden !important;
}
.elementor-element-bcb8eb8 .elementor-button::before{
  content:"" !important; position:absolute !important; top:0 !important; left:-120% !important;
  width:55% !important; height:100% !important; pointer-events:none !important;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.22),transparent) !important;
  transform:skewX(-20deg) !important; transition:left .6s ease !important;
}
.elementor-element-bcb8eb8 .elementor-button:hover::before{ left:135% !important; }
.elementor-element-bcb8eb8 .elementor-button:hover{
  transform:translateY(-3px) !important; filter:brightness(1.06) !important;
  box-shadow:0 20px 42px -14px rgba(114,43,73,.68) !important;
}

/* remover a flecha do botão "Quero agendar minha avaliação" */
.elementor-element-bcb8eb8 .elementor-button-icon{ display:none !important; }

/* botão verde do hero: mesmo efeito de brilho (shine) */
.elementor-element-8d6175b .elementor-button{ position:relative !important; overflow:hidden !important; }
.elementor-element-8d6175b .elementor-button::before{
  content:"" !important; position:absolute !important; top:0 !important; left:-120% !important;
  width:55% !important; height:100% !important; pointer-events:none !important;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.30),transparent) !important;
  transform:skewX(-20deg) !important; transition:left .6s ease !important;
}
.elementor-element-8d6175b .elementor-button:hover::before{ left:135% !important; }

/* ============ Seção "Sobre": fundo branco (funde com a foto de fundo branco) ============ */
.elementor-element-c622a60{ background-color:#ffffff !important; }

/* ============ WhatsApp flutuante: esconder plugin quebrado + botão oficial ============ */
.joinchat, .joinchat--btn, #joinchat{ display:none !important; }
.wa-float{
  position:fixed !important; right:24px; bottom:24px; z-index:99999;
  width:60px; height:60px; border-radius:50%;
  background:#25d366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 22px -6px rgba(37,211,102,.55), 0 4px 10px rgba(0,0,0,.15);
  transition:transform .25s ease, box-shadow .25s ease;
}
.wa-float:hover{ transform:scale(1.08); box-shadow:0 14px 30px -6px rgba(37,211,102,.65), 0 6px 14px rgba(0,0,0,.18); }
.wa-float svg{ width:34px; height:34px; fill:#ffffff; display:block; }
@media (max-width:560px){ .wa-float{ width:54px; height:54px; right:16px; bottom:16px; } .wa-float svg{ width:30px; height:30px; } }

/* ============ 3 cards "Recupere a liberdade" — formato ref, nossa cor, macio ============ */
.cards3-wrap{ padding:0 !important; }
.cards3{
  display:grid; grid-template-columns:repeat(3,1fr); gap:26px;
  width:100%; max-width:1160px; margin:0 auto;
}
.card3{
  background:#ffffff; border-radius:24px; padding:36px 32px;
  box-shadow:0 26px 60px -34px rgba(20,6,12,.55);
  display:flex; flex-direction:column; text-align:left;
  transition:transform .4s cubic-bezier(.2,.6,.2,1), box-shadow .4s ease;
}
.card3:hover{ transform:translateY(-6px); box-shadow:0 40px 80px -34px rgba(20,6,12,.6); }
.card3__ico{
  width:58px; height:58px; border-radius:18px; margin-bottom:24px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#f5e5ec 0%,#ecd0dc 100%); color:#722b49;
}
.card3__ico svg{ width:28px; height:28px; }
.card3 h3{ font-size:1.32rem; font-weight:600; color:#33191f; margin:0 0 14px; line-height:1.25; }
.card3 p{ font-size:1rem; line-height:1.68; color:#6b5a61; margin:0 0 24px; flex:1; }
.card3__link{
  display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  color:#722b49; font-weight:600; font-size:.98rem;
  border-bottom:1px solid transparent; padding-bottom:2px; transition:border-color .3s ease;
}
.card3__link svg{ width:17px; height:17px; transition:transform .3s ease; }
.card3__link:hover{ border-color:#722b49; }
.card3__link:hover svg{ transform:translateX(4px); }
@media (max-width:940px){ .cards3{ grid-template-columns:1fr; max-width:460px; gap:20px; } }

/* remover ícone do WhatsApp do botão "Agendar Consulta" (header) */
[data-elementor-type="header"] .elementor-button-icon{ display:none !important; }
/* remover ícones do topo dos 3 cards (olho, sol, escudo) */
.card3__ico{ display:none !important; }

/* ============ INVERTER acordeão "Para quem é indicado": seção BRANCA, caixas VINHO ============ */
.elementor-element-7f382fc{ background-color:#ffffff !important; }
/* caixa (toggler): vinho preenchido, texto branco */
.ekit-accordion--toggler.elementskit-btn-link{
  background:#722b49 !important; color:#ffffff !important;
  border:1px solid #722b49 !important;
  box-shadow:0 12px 28px -18px rgba(74,29,51,.5) !important;
}
.ekit-accordion--toggler.elementskit-btn-link:hover{
  background:#5e2440 !important; border-color:#5e2440 !important;
  box-shadow:0 16px 34px -18px rgba(74,29,51,.55) !important;
}
.ekit-accordion--toggler.elementskit-btn-link:not(.collapsed){
  background:#5e2440 !important; color:#ffffff !important; border-color:#5e2440 !important;
}
/* chevron/ícone branco */
.ekit-accordion--toggler .ekit_accordion_normal_icon i,
.ekit-accordion--toggler .ekit_accordion_active_icon i,
.ekit-accordion--toggler .icon{ color:#ffffff !important; }
/* corpo (resposta) legível no fundo branco */
.elementor-element-7f382fc .elementskit-card-body.ekit-accordion--content{ color:#4a3b41 !important; }

/* ============ Banner "Estamos 100%": botão rosé (img2), sem flecha, texto centralizado ============ */
.elementor-element-f39c21e .elementor-button{ background:#b0788f !important; }
.elementor-element-f39c21e .elementor-button,
.elementor-element-f39c21e .elementor-button *{ color:#5e2440 !important; }
.elementor-element-f39c21e .elementor-button-icon{ display:none !important; }
/* texto "Satisfação, conforto..." centralizado sobre o botão */
.elementor-element-ede060d,
.elementor-element-ede060d *{ text-align:center !important; }

/* ============ Correções finas: moldura, altura do hero, respiro da foto ============ */
/* 1) tirar a moldura (tema removido deixou margem padrão de 8px no body) */
html, body{ margin:0 !important; padding:0 !important; }

/* 2) hero um pouco menor no desktop */
@media (min-width:1025px){
  .elementor-element-8f1ef55{ min-height:78vh !important; }
}

/* 3) respiro entre o texto e a foto na seção "Sobre" (desktop) */
@media (min-width:769px){
  .elementor-element-8b08e5c{ padding-left:46px !important; }
}

/* ============ VIVACIDADE: reverter muting, cores mais vivas (igual site atual dela) ============ */
/* banner "Estamos 100%" volta ao vinho VIVO original */
.elementor-element-f39c21e{ background:#722b49 !important; }
/* rosé de fundo mais vivo (o "branco" mais vivo) */
html, body{ background-color:#f7dce8 !important; }
[data-elementor-type="footer"], .elementor-location-footer{ background-color:#f7dce8 !important; }
/* "Para quem é indicado": mesma cor do bloco de baixo (rosé), não mais branco */
.elementor-element-7f382fc{ background-color:transparent !important; }

/* cards de tratamento: estáticos no hover (sem movimento) */
.elementor-element-8b48ae1 > .elementor-widget-wrap.elementor-element-populated:hover,
.elementor-element-6e63c0b > .elementor-widget-wrap.elementor-element-populated:hover{
  transform:none !important;
}
.elementor-element-8b48ae1 img, .elementor-element-6e63c0b img{ transition:none !important; }

/* ============ Slider antes/depois (catarata) ============ */
.cxslider{ position:relative; width:100%; aspect-ratio:1/1; overflow:hidden; border-radius:14px;
  cursor:ew-resize; -webkit-user-select:none; user-select:none; touch-action:none; }
.cxslider__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; pointer-events:none; }
.cxslider__over{ position:absolute; inset:0; clip-path:inset(0 calc(100% - var(--p)) 0 0); }
.cxslider__line{ position:absolute; top:0; bottom:0; left:var(--p); width:3px; background:rgba(255,255,255,.92);
  transform:translateX(-50%); box-shadow:0 0 10px rgba(0,0,0,.35); pointer-events:none; }
.cxslider__grip{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:46px; height:46px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.35); }
.cxslider__grip svg{ width:22px; height:22px; }

/* ============ Ajustes: fundos brancos, botão branco, mapa maior ============ */
/* fundo branco: seção "Para quem é indicado" + seção dos cards de tratamento */
.elementor-element-7f382fc{ background-color:#ffffff !important; }
.elementor-element-1cbe781{ background-color:#ffffff !important; }
/* banner "Estamos 100%": botão branco */
.elementor-element-f39c21e .elementor-button{ background:#ffffff !important; }
/* mapa maior e quadrado */
.elementor-element-0efa81d iframe{
  width:100% !important; height:auto !important; aspect-ratio:1/1 !important;
  min-height:360px !important; border-radius:14px !important; border:0 !important;
}

/* seção das CAIXAS do acordeão também branca */
.elementor-element-5634623{ background-color:#ffffff !important; }

/* ============ Reveal ao rolar (abre conforme desce) ============ */
.js-reveal .r-up{ opacity:0; transform:translateY(28px);
  transition:opacity .7s ease, transform .8s cubic-bezier(.2,.6,.2,1); will-change:opacity,transform; }
.js-reveal .r-up.r-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .js-reveal .r-up{ opacity:1 !important; transform:none !important; transition:none !important; } }

/* imagem da refrativa no MESMO tamanho do slider (quadrada) */
.elementor-element-8b48ae1 img{ aspect-ratio:1/1 !important; object-fit:cover !important;
  width:100% !important; height:auto !important; border-radius:14px !important; }

/* mapa: altura equilibrada com o conteúdo do contato (não gigante) */
.elementor-element-0efa81d iframe{
  aspect-ratio:auto !important; height:400px !important; min-height:0 !important; width:100% !important;
}

/* botões "Agende sua consulta" (cards): centralizados e sem flecha */
.elementor-element-8b48ae1 .elementor-button-wrapper,
.elementor-element-6e63c0b .elementor-button-wrapper{ text-align:center !important; }
.elementor-element-8b48ae1 .elementor-button-icon,
.elementor-element-6e63c0b .elementor-button-icon{ display:none !important; }

/* bloco de avaliações do Google */
.reviews-cta{ max-width:540px; margin:6px auto 0; text-align:center; background:#ffffff;
  border-radius:22px; padding:34px 32px; box-shadow:0 24px 60px -34px rgba(74,29,51,.42); }
.reviews-cta__lead{ margin:0 0 12px; color:#6b5a61; font-size:1rem; }
.reviews-cta__count{ font-size:1.4rem; color:#33191f; margin-bottom:22px; line-height:1.2; }
.reviews-cta__count strong{ color:#722b49; font-size:2.1rem; font-weight:700; }
.reviews-cta__btn{ display:inline-flex; align-items:center; gap:9px; background:#722b49; color:#fff;
  padding:14px 28px; border-radius:100px; font-weight:600; font-size:1rem;
  transition:background .3s ease, transform .3s ease, box-shadow .3s ease; box-shadow:0 12px 26px -14px rgba(114,43,73,.6); }
.reviews-cta__btn svg{ width:17px; height:17px; transition:transform .3s ease; }
.reviews-cta__btn:hover{ background:#5e2440; transform:translateY(-2px); }
.reviews-cta__btn:hover svg{ transform:translateX(4px); }

/* mobile/tablet: header enxuto (só logo + hambúrguer), esconde o botão grande */
@media (max-width:1024px){
  [data-elementor-type="header"] .elementor-element-c5c060f{ display:none !important; }
}

/* ============ Carrossel de avaliações (Google) — multi-card ============ */
.revcar{ max-width:1180px; margin:10px auto 0; position:relative; padding:0 34px; }
.revcar__viewport{ overflow:hidden; }
.revcar__track{ display:flex; transition:transform .55s cubic-bezier(.2,.6,.2,1); align-items:stretch; }
.revcar__card{ flex:0 0 33.333%; box-sizing:border-box; padding:10px; }
.revcar__inner{ background:#fff; border-radius:18px; padding:24px; height:100%; display:flex; flex-direction:column;
  box-shadow:0 18px 44px -30px rgba(74,29,51,.4); text-align:left; }
.revcar__head{ display:flex; align-items:center; gap:11px; margin-bottom:12px; }
.revcar__av{ width:44px; height:44px; border-radius:50%; background:#722b49; color:#fff; flex:none;
  display:flex; align-items:center; justify-content:center; font-weight:600; }
.revcar__meta{ flex:1; min-width:0; }
.revcar__meta strong{ display:block; color:#222; font-size:.98rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.revcar__meta span{ font-size:.8rem; color:#9a8a90; }
.revcar__g{ width:22px; height:22px; flex:none; }
.revcar__rate{ display:flex; align-items:center; gap:7px; margin-bottom:12px; }
.revcar__stars{ color:#fbbc05; letter-spacing:2px; font-size:1rem; }
.revcar__badge{ width:17px; height:17px; }
.revcar__text{ color:#4a4247; font-size:.96rem; line-height:1.6; margin:0 0 14px; flex:1;
  display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; overflow:hidden; }
.revcar__more{ color:#722b49; font-weight:600; font-size:.9rem; align-self:flex-start; }
.revcar__more:hover{ text-decoration:underline; }
.revcar__prev,.revcar__next{ position:absolute; top:50%; transform:translateY(-50%);
  width:42px; height:42px; border-radius:50%; background:#fff; border:1px solid #eadbe1; color:#722b49;
  display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:3;
  box-shadow:0 8px 20px -10px rgba(74,29,51,.4); transition:transform .25s ease; }
.revcar__prev{ left:-6px; } .revcar__next{ right:-6px; }
.revcar__prev:hover,.revcar__next:hover{ transform:translateY(-50%) scale(1.08); }
.revcar__prev svg,.revcar__next svg{ width:20px; height:20px; }
.revcar__foot{ text-align:center; margin-top:22px; color:#6b5a61; font-size:.95rem; }
.revcar__foot strong{ color:#722b49; }
.revcar__foot a{ color:#722b49; font-weight:600; }
.revcar__foot a:hover{ text-decoration:underline; }
@media (max-width:980px){ .revcar__card{ flex-basis:50%; } }
@media (max-width:640px){ .revcar{ padding:0 30px; } .revcar__card{ flex-basis:100%; } }

/* ============ Marca d'água sutil no fundo da seção "Recupere a liberdade" ============ */
.elementor-element-3f31b55{ position:relative !important; overflow:hidden !important; }
.elementor-element-3f31b55::before{
  content:"BERGAMIM"; position:absolute; left:50%; bottom:-2%; transform:translateX(-50%);
  font-family:"Poppins",sans-serif; font-weight:700; letter-spacing:.04em; line-height:.82;
  font-size:clamp(88px,19vw,300px); color:rgba(255,255,255,.038);
  white-space:nowrap; pointer-events:none; z-index:0; user-select:none;
}
.elementor-element-3f31b55 > .elementor-container{ position:relative !important; z-index:1 !important; }

/* marca d'água "DAIANE" no rodapé (mesmo efeito) */
.elementor-element-024725f{ position:relative !important; overflow:hidden !important; }
.elementor-element-024725f::before{
  content:"DAIANE"; position:absolute; left:50%; bottom:-4%; transform:translateX(-50%);
  font-family:"Poppins",sans-serif; font-weight:700; letter-spacing:.05em; line-height:.82;
  font-size:clamp(84px,18vw,290px); color:rgba(255,255,255,.06);
  white-space:nowrap; pointer-events:none; z-index:0; user-select:none;
}
.elementor-element-024725f > .elementor-container{ position:relative !important; z-index:1 !important; }

/* ============ Avaliações: bloco único de ponta a ponta (sem "quadrado dentro de quadrado") ============ */
.elementor-element-48fa3a7{
  border-radius:0 !important;
  width:100vw !important; max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important;
  padding-left:0 !important; padding-right:0 !important;
}

/* rodapé DAIANE: fragmento grande cortado, menos sutil */
.elementor-element-024725f::before{
  bottom:-24% !important; font-size:clamp(160px,33vw,520px) !important;
  color:rgba(255,255,255,.08) !important;
}

/* watermark DAIANE: menor e mais sutil (igual ref verde) */
.elementor-element-024725f::before{
  font-size:clamp(100px,18vw,290px) !important; bottom:-10% !important;
  color:rgba(255,255,255,.05) !important;
}
/* linha legal dentro do rodapé (CFM + desenvolvido por) */
.foot-legal{ position:relative; z-index:2; max-width:1140px; margin:34px auto 0; padding-top:22px;
  border-top:1px solid rgba(255,255,255,.18); }
.foot-legal__in{ display:flex; justify-content:space-between; align-items:flex-end; gap:18px; flex-wrap:wrap; }
.foot-legal__left{ display:grid; gap:6px; }
.foot-legal__left span,.foot-legal__right{ color:rgba(255,255,255,.72); font-size:.85rem; line-height:1.5; }
.foot-legal__right strong{ color:#fff; font-weight:600; }
@media (max-width:640px){ .foot-legal__in{ flex-direction:column; align-items:flex-start; } }
/* esconde a barrinha cinza duplicada (copyright antigo) */
.elementor-element-c6089c6{ display:none !important; }

/* esconder seções de reviews Trustindex quebradas (só nas internas; home tem o carrossel) */
.elementor-element-2ad6c7b,.elementor-element-7bf58c4{ display:none !important; }
.ti-widget{ display:none !important; }

/* ============ Acordeão mais moderno + conteúdo branco (era cinza feio) ============ */
.ekit-accordion--toggler.elementskit-btn-link{
  background:linear-gradient(135deg,#7a3050 0%,#5e2440 100%) !important;
  color:#ffffff !important; border:0 !important; border-radius:14px !important;
  padding:20px 26px !important; font-weight:600 !important;
  box-shadow:0 12px 26px -18px rgba(74,29,51,.55) !important;
}
.ekit-accordion--toggler.elementskit-btn-link:not(.collapsed){ border-radius:14px 14px 0 0 !important; }
.ekit-accordion--toggler .ekit_accordion_normal_icon i,
.ekit-accordion--toggler .ekit_accordion_active_icon i,
.ekit-accordion--toggler .icon{ color:#ffffff !important; }
/* conteúdo (resposta): branco limpo, conectado ao box */
.elementskit-card-body.ekit-accordion--content{
  background:#ffffff !important; color:#4a4247 !important;
  border:1px solid #eddfe4 !important; border-top:0 !important;
  border-radius:0 0 14px 14px !important; padding:20px 26px 24px !important;
  font-size:1rem; line-height:1.7; box-shadow:0 8px 20px -16px rgba(74,29,51,.25) !important;
}
.elementskit-card-body.ekit-accordion--content strong{ color:#33191f !important; }
.elementskit-card{ margin-bottom:14px !important; background:transparent !important; border:0 !important; }

/* padronizar mapa dos contatos injetados (internas) + contato da Sobre no rosé claro */
.elementor-element-mapalocal iframe{ height:400px !important; width:100% !important; }
.elementor-element-1a5a7ce{ background:linear-gradient(180deg,#faf5f7 0%,#f3e7ed 100%) !important; }

/* contatos das internas (Tratamentos, Contato) no rosé claro (padroniza) */
.elementor-element-06ef5aa, .elementor-element-f441746{
  background:linear-gradient(180deg,#faf5f7 0%,#f3e7ed 100%) !important;
}
/* link "GFM Consultoria" no rodapé */
.foot-legal__right a{ color:#fff !important; }
.foot-legal__right a:hover{ text-decoration:underline !important; }

/* FAQ da Sobre: tirar a barra rosa vazia (padding-bottom de 60px sobrando) */
.elementor-element-3516ed8{ padding-bottom:22px !important; }

/* Contato: esconder a faixa de mapa solta + mapa integrado (400px, arredondado) */
.elementor-element-184de3f{ display:none !important; }
.elementor-element-8954f8f iframe{ height:400px !important; width:100% !important; border-radius:14px !important; border:0 !important; margin-top:14px !important; }

/* Contato (page-id-10): esconder os 4 benefícios genéricos -> página enxuta + conserta canto do footer */
.elementor-page-10 .elementor-element-3f31b55{ display:none !important; }

/* Sobre: fechar a barra rosé clara (padding-top exagerado do contato 1a5a7ce) */
.elementor-element-1a5a7ce{ padding-top:18px !important; }
.elementor-element-1a5a7ce .elementor-widget-wrap.elementor-element-populated{ padding-top:0 !important; }

/* Contato: "Nossa Localização" centralizado sobre o mapa */
.elementor-element-962524f, .elementor-element-962524f .elementor-heading-title{ text-align:center !important; }

/* ============ Acordeão v3: rosé, sutil, elegante (sem gradiente/pisca) ============ */
.ekit-accordion--toggler.elementskit-btn-link{
  background:#f8eaef !important; color:#722b49 !important;
  border:1px solid #ecd3dc !important; border-radius:14px !important;
  box-shadow:0 4px 14px -12px rgba(74,29,51,.16) !important; font-weight:600 !important;
  transition:background .3s ease, border-color .3s ease, box-shadow .3s ease !important;
}
.ekit-accordion--toggler.elementskit-btn-link:hover{
  background:#f2dbe4 !important; border-color:#e2c3cf !important;
}
.ekit-accordion--toggler.elementskit-btn-link:not(.collapsed){
  background:#722b49 !important; color:#ffffff !important; border-color:#722b49 !important;
}
.ekit-accordion--toggler.elementskit-btn-link .icon,
.ekit-accordion--toggler.elementskit-btn-link .ekit_accordion_normal_icon i,
.ekit-accordion--toggler.elementskit-btn-link .ekit_accordion_active_icon i{ color:#722b49 !important; }
.ekit-accordion--toggler.elementskit-btn-link:not(.collapsed) .icon,
.ekit-accordion--toggler.elementskit-btn-link:not(.collapsed) .ekit_accordion_normal_icon i,
.ekit-accordion--toggler.elementskit-btn-link:not(.collapsed) .ekit_accordion_active_icon i{ color:#ffffff !important; }

/* Sobre: remover a margem de 70px acima do contato (a barra rosa vazia) */
.elementor-element-1a5a7ce{ margin-top:0 !important; }

/* Acordeão: voltar ao VINHO com letra branca (sem gradiente/pisca) */
.ekit-accordion--toggler.elementskit-btn-link{
  background:#722b49 !important; color:#ffffff !important; border-color:#722b49 !important;
}
.ekit-accordion--toggler.elementskit-btn-link:hover{ background:#722b49 !important; border-color:#722b49 !important; }
.ekit-accordion--toggler.elementskit-btn-link:not(.collapsed){ background:#5e2440 !important; color:#ffffff !important; border-color:#5e2440 !important; }
.ekit-accordion--toggler.elementskit-btn-link .icon,
.ekit-accordion--toggler.elementskit-btn-link .ekit_accordion_normal_icon i,
.ekit-accordion--toggler.elementskit-btn-link .ekit_accordion_active_icon i{ color:#ffffff !important; }

/* pré-deploy: sem overflow horizontal (guarda p/ técnicas 100vw) */
html,body{ overflow-x:clip !important; }

/* ============ Ajustes MOBILE (pré-deploy) ============ */
@media (max-width:768px){
  /* hero: linha "Atendimento particular e por convênios" centralizada */
  .sus-hero{ text-align:center !important; max-width:none !important; }
  /* Conforto: texto antes da imagem no mobile */
  .elementor-element-667c1f8{ order:1 !important; }
  .elementor-element-bb0cc74{ order:2 !important; }
  /* Carrossel de avaliações: sem full-bleed no mobile (estava sumindo) */
  .elementor-element-48fa3a7{ width:auto !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; }
  /* Rodapé: bloco legal centralizado */
  .foot-legal__in{ flex-direction:column !important; align-items:center !important; text-align:center !important; }
  .foot-legal__left{ justify-items:center !important; }
}

/* mobile: esconder a coluna "Institucional" do rodapé (vira hambúrguer inútil; links já no menu do topo) */
@media (max-width:768px){
  .elementor-element-00b4b21{ display:none !important; }
}

/* ============ Título "O que dizem os meus pacientes" (mobile): o Elementor tinha
      margin-bottom:-75px que puxava o carrossel PRA CIMA do título (avaliação em cima da frase).
      Anulo o negativo e dou respiro real abaixo. ============ */
.elementor-element-c375c0f > .elementor-widget-container{
  margin-bottom:0 !important; padding-bottom:0 !important;
}
@media (max-width:768px){
  .elementor-element-c375c0f .elementor-heading-title{ font-size:26px !important; line-height:1.25 !important; }
}

/* ============ Avaliações no MOBILE: carrossel horizontal, UM card por vez (swipe pro lado) ============ */
@media (max-width:640px){
  /* seção rosé cheia, travada em 100% da tela (sem truque 100vw que vazava a "barra rosa") */
  .elementor-element-50aa5b2{ padding-left:0 !important; padding-right:0 !important; overflow-x:clip !important; }
  .elementor-element-50aa5b2 > .elementor-container{ max-width:100% !important; width:100% !important; }
  .elementor-element-48fa3a7{ width:100% !important; max-width:100% !important; margin:0 !important; overflow-x:clip !important; }

  /* um card ocupa a tela toda; swipe horizontal com snap; a rolagem fica contida no viewport */
  .revcar{ width:100% !important; max-width:100% !important; margin:22px 0 0 !important;
           padding:0 !important; box-sizing:border-box !important; overflow:hidden !important; }
  .revcar__prev, .revcar__next{ display:none !important; }
  .revcar__viewport{ width:100% !important; max-width:100% !important;
                     overflow-x:auto !important; overflow-y:hidden !important; -webkit-overflow-scrolling:touch;
                     scroll-snap-type:x mandatory; scrollbar-width:none; }
  .revcar__viewport::-webkit-scrollbar{ display:none !important; }
  .revcar__track{ display:flex !important; flex-direction:row !important; transform:none !important;
                  width:auto !important; gap:0 !important; padding:0 !important; }
  .revcar__card{ flex:0 0 100% !important; width:100% !important; max-width:100% !important;
                 box-sizing:border-box !important; padding:0 16px !important; scroll-snap-align:center !important; }
  .revcar__inner{ height:auto !important; }
}

/* ============ Correções mobile: cards de tratamento, acordeão e logo ============ */
/* 1) Acordeão "Para quem é indicado": o ícone é position:absolute;right:0, então o texto passava
      por baixo dele. Reservo espaço no título com padding-right pra o chevron nunca encostar. */
.ekit-accordion--toggler.elementskit-btn-link{ align-items:center !important; }
.ekit-accordion--toggler .ekit-accordion-title{ flex:1 1 auto !important; min-width:0 !important; padding-right:46px !important; }
.ekit-accordion--toggler .ekit_accordion_icon_group{ right:6px !important; }

@media (max-width:768px){
  /* 2) Cards refrativa/catarata: gap entre eles (estavam colados) + zerar margem de gutter das colunas
        50/50 (refr tinha margin-right:14px e catarata margin-left:14px -> um pendia p/ cada lado) */
  .elementor-element-8b48ae1{ margin-bottom:22px !important; }
  .elementor-element-8b48ae1 > .elementor-element-populated,
  .elementor-element-6e63c0b > .elementor-element-populated{ margin-left:0 !important; margin-right:0 !important; }
}

/* 3) Logo do header um pouco menor no mobile e alinhada com o hambúrguer */
@media (max-width:1024px){
  [data-elementor-type="header"] .elementor-container{ align-items:center !important; }
  [data-elementor-type="header"] .elementor-widget-image img{ max-height:42px !important; width:auto !important; }
  /* barra branca mais enxuta (padding 20->12) + botão do menu um pouco menor */
  [data-elementor-type="header"] .elementor-element-1d95d4a{ padding-top:12px !important; padding-bottom:12px !important; }
  [data-elementor-type="header"] .elementor-menu-toggle{ width:44px !important; height:44px !important; }
  [data-elementor-type="header"] .elementor-menu-toggle i,
  [data-elementor-type="header"] .elementor-menu-toggle svg{ font-size:27px !important; }
  /* logo alinhada à ESQUERDA (estava centralizada e fugia p/ direita em telas largas);
     +25px pra bater exatamente com a borda do texto do corpo */
  [data-elementor-type="header"] .elementor-widget-image .elementor-widget-container{ text-align:left !important; }
  [data-elementor-type="header"] .elementor-widget-image img{ margin-left:25px !important; }
  /* desce o hambúrguer ~6px pra ficar na altura da logo */
  [data-elementor-type="header"] .elementor-menu-toggle{ margin-top:6px !important; }
}

/* ============ Menu mobile PRÓPRIO (o dropdown do Elementor usa transform:scaleY(0) + JS que
      não roda em site estático, então nunca abria). Construo um menu que eu controlo 100%. ============ */
@media (max-width:1024px){
  /* esconde o dropdown quebrado do Elementor pra não conflitar/piscar */
  [data-elementor-type="header"] nav.elementor-nav-menu--dropdown{ display:none !important; }
}
.mmenu-panel{ position:fixed; top:106px; left:0; right:0; background:#ffffff; max-height:0; overflow:hidden;
  transition:max-height .32s ease; z-index:99998; box-shadow:0 16px 34px -12px rgba(74,29,51,.30); }
.mmenu-panel.open{ max-height:80vh; }
.mmenu-panel a{ display:block; padding:15px 24px; color:#722b49; font-weight:600;
  font-family:"Poppins",sans-serif; font-size:1.05rem; border-bottom:1px solid #f4e9ee; text-decoration:none; }
.mmenu-panel a.mmenu-cta{ background:#722b49; color:#ffffff; margin:14px 24px 18px; border-radius:100px;
  text-align:center; border-bottom:0; box-shadow:0 12px 24px -14px rgba(114,43,73,.6); }
.mmenu-backdrop{ position:fixed; inset:0; background:rgba(40,15,25,.34); opacity:0; visibility:hidden;
  transition:opacity .3s, visibility .3s; z-index:99997; }
.mmenu-backdrop.open{ opacity:1; visibility:visible; }
@media (min-width:1025px){ .mmenu-panel, .mmenu-backdrop{ display:none !important; } }
