.elementor-11341 .elementor-element.elementor-element-1324359{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-11341 .elementor-element.elementor-element-1324359{--content-width:100%;}}/* Start custom CSS for html, class: .elementor-element-5848a10 */body { margin: 0; background: #101D2C; color: #20252B; font-family: 'Manrope', 'Segoe UI', Helvetica, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: #D4A72C; } a:hover { color: #E8C35A; }
* { box-sizing: border-box; }

/* trava de segurança: nada estoura a largura da tela */
img, svg, video { max-width: 100%; }
img { height: auto; }

html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 84px; }

.wc-display { font-family: 'Josefin Sans', 'Futura', 'Century Gothic', sans-serif; }
.wc-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding-left: 40px; padding-right: 40px; }
.wc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 28px; border-radius: 2px; font-weight: 600; font-size: 15px; line-height: 1.3; text-align: center; letter-spacing: 0.02em; text-decoration: none; transition: background-color .35s ease, color .35s ease, border-color .35s ease, transform .35s ease; }
.wc-btn-gold { background: #61ce70; color: #ffffff; }
.wc-btn-gold:hover { background: #E8C35A; color: #101D2C; transform: translateY(-2px); }
.wc-btn-line { background: #61ce70; border: 1px solid rgb(97, 206, 112); color: #F4F6F8; }
.wc-btn-line:hover { border-color: #D4A72C; color: #ffffff; }
.wc-btn:focus-visible, .wc-faq-q:focus-visible, .wc-nav a:focus-visible { outline: 2px solid #D4A72C; outline-offset: 3px; }
.wc-nav a { color: rgba(244,246,248,.78); text-decoration: none; font-size: 14px; transition: color .3s ease; }
.wc-nav a:hover { color: #D4A72C; }

/* Momento de abertura: logo, chevrons desenhados em ouro, texto */
@keyframes wcDraw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes wcRise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes wcFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes wcSheen { 0% { transform: translateX(-120%) skewX(-18deg); } 60%, 100% { transform: translateX(320%) skewX(-18deg); } }
@keyframes wcBreath { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
.wc-chev path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: wcDraw 1.8s cubic-bezier(.65,0,.25,1) forwards; }
.wc-chev path:nth-child(2) { animation-delay: .35s; }
.wc-chev path:nth-child(3) { animation-delay: .7s; }
.wc-chev path:nth-child(4) { animation-delay: 1.05s; }
.wc-glow { animation: wcFade 2s ease 1.6s both, wcBreath 6s ease-in-out 3.6s infinite; }
.wc-in-1 { animation: wcRise 1s cubic-bezier(.2,.7,.2,1) .2s both; }
.wc-in-2 { animation: wcRise 1s cubic-bezier(.2,.7,.2,1) .45s both; }
.wc-in-3 { animation: wcRise 1s cubic-bezier(.2,.7,.2,1) .7s both; }
.wc-in-4 { animation: wcRise 1s cubic-bezier(.2,.7,.2,1) .95s both; }
.wc-sheen { position: relative; overflow: hidden; }
.wc-sheen::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 35%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent); animation: wcSheen 5s ease-in-out 2.4s infinite; pointer-events: none; }

/* Revelação ao rolar — apenas no desktop.
   No mobile a rolagem por view() deixava blocos altos presos em opacity 0. */
@media (min-width: 901px) {
  @supports (animation-timeline: view()) {
    .wc-reveal { animation: wcRise linear both; animation-timeline: view(); animation-range: entry 0% entry 55%; }
  }
}

.wc-area { transition: background-color .4s ease; }
.wc-area:hover { background-color: #EAEDF1; }
.wc-area:hover .wc-area-mark { transform: translateY(-4px); }
.wc-area-mark { transition: transform .4s ease; }
.wc-faq-q { width: 100%; background: none; border: 0; cursor: pointer; text-align: left; font: inherit; color: #101D2C; }
.wc-faq-q > span { flex: 1 1 auto; min-width: 0; }
.wc-faq-a { animation: wcRise .45s ease both; }
.wc-plus { transition: transform .4s ease; }

/* foto do bloco "Sobre" preenchendo a moldura */
#sobre .wc-two > div:first-child > div:last-child { padding: 0 !important; }
#sobre .wc-two > div:first-child img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- TABLET ---------- */
@media (max-width: 1024px) {
  .wc-hero-title { font-size: 52px !important; }
  .wc-h2 { font-size: 40px !important; }
  .wc-two { gap: 48px !important; }
  .wc-nav { gap: 20px !important; }
  .wc-areas { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .wc-areas > article:first-child { min-height: 420px !important; padding: 40px 32px !important; }
  ol.wc-steps { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ---------- MOBILE ---------- */
@media (max-width: 900px) {
  .wc-wrap { padding-left: 22px; padding-right: 22px; }
  .wc-nav { display: none !important; }

  /* cabeçalho compacto — o botão continua visível, já que o menu some */
  header > .wc-wrap { height: 72px !important; gap: 14px !important; }
  .wc-header-cta { display: inline-flex !important; min-height: 44px !important; padding: 0 16px !important; font-size: 13px !important; }
  section[id] { scroll-margin-top: 72px; }

  /* hero */
  .wc-hero-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 32px !important; }
  .wc-hero-art { order: -1; max-width: 220px; margin: 0 auto; }
  .wc-hero-title { font-size: 38px !important; }

  /* blocos de duas colunas */
  .wc-two { grid-template-columns: minmax(0, 1fr) !important; gap: 36px !important; align-items: start !important; }
  .wc-h2 { font-size: 34px !important; }
  .wc-section { padding-top: 76px !important; padding-bottom: 76px !important; }

  /* três destaques do hero (div.wc-steps) */
  div.wc-steps { grid-template-columns: minmax(0, 1fr) !important; }
  div.wc-steps > div { padding: 22px 0 0 !important; }
  div.wc-steps > div + div { border-top: 1px solid rgba(212,167,44,.18); margin-top: 6px; }

  /* etapas do atendimento (ol.wc-steps) */
  ol.wc-steps { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 26px !important; }

  /* áreas de atuação */
  .wc-areas { grid-template-columns: minmax(0, 1fr) !important; }
  .wc-areas > article { padding: 34px 26px !important; }
  .wc-areas > article:first-child { min-height: 0 !important; gap: 26px !important; }

  /* "O que muda com a cirurgia robótica" */
  #robotica .wc-two > div:first-child { position: static !important; top: auto !important; }
  #robotica .wc-two > div:last-child > div:not(:last-child) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 24px 0 !important;
  }
  #robotica .wc-two > div:last-child > div:last-child { padding-top: 26px !important; }

  /* dúvidas frequentes */
  #duvidas .wc-two { gap: 26px !important; }
  .wc-faq-q { gap: 14px !important; padding: 20px 0 !important; align-items: flex-start !important; }
  .wc-faq-q > span { font-size: 16px !important; line-height: 1.45; }
  .wc-faq-q .wc-plus { margin-top: 3px; }
  .wc-faq-a { padding: 0 0 22px !important; font-size: 15px !important; }

  /* contato */
  #contato .wc-two > div:last-child { padding: 28px !important; }

  /* botão flutuante um pouco mais para dentro */
  a[aria-label="Agendar pelo WhatsApp"] { right: 16px !important; bottom: 16px !important; }
}

/* ---------- CELULAR PEQUENO ---------- */
@media (max-width: 480px) {
  header > .wc-wrap { height: 66px !important; }
  header img { height: 42px !important; }
  .wc-header-cta { padding: 0 13px !important; font-size: 12px !important; }
  section[id] { scroll-margin-top: 66px; }

  .wc-hero-title { font-size: 31px !important; }
  .wc-h2 { font-size: 27px !important; }
  .wc-section { padding-top: 60px !important; padding-bottom: 60px !important; }

  /* CTAs ocupam a linha inteira, sem cortar texto */
  .wc-hero-grid .wc-btn, #robotica .wc-btn, #contato .wc-btn, .wc-areas .wc-btn { width: 100%; }

  ol.wc-steps { grid-template-columns: minmax(0, 1fr) !important; }
  .wc-areas > article { padding: 30px 22px !important; }
  #contato .wc-two > div:last-child { padding: 24px !important; }
  .wc-faq-q > span { font-size: 15px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .wc-chev path { stroke-dashoffset: 0; }
  .wc-reveal { opacity: 1 !important; transform: none !important; }
}

.wc-faq-q[aria-expanded="true"] .wc-plus { transform: rotate(45deg); }

.wc-faq-q,
.wc-faq-q:link,
.wc-faq-q:visited,
.wc-faq-q:hover,
.wc-faq-q:focus,
.wc-faq-q:active,
.wc-faq-q[aria-expanded="true"] {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  width: 100% !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #101D2C !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  letter-spacing: normal;
  font: inherit !important;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}

.wc-faq-q > span,
.wc-faq-q:hover > span,
.wc-faq-q:focus > span,
.wc-faq-q[aria-expanded="true"] > span {
  color: #101D2C !important;
  background: none !important;
}

/* acessibilidade: o foco por teclado continua visível, em dourado */
.wc-faq-q:focus-visible {
  outline: 2px solid #D4A72C !important;
  outline-offset: 3px;
}

/* 2. A pergunta quebra linha em vez de passar por baixo do "+" */
.wc-faq-q > span {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: break-word;
  text-align: left;
}

.wc-faq-q .wc-plus {
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  margin-top: 4px;
}

/* 3. Espaçamentos */
.wc-faq-q { gap: 16px !important; padding: 22px 0 !important; min-height: 44px; }
.wc-faq-a { color: #68717B !important; background: none !important; }

@media (max-width: 900px) {
  .wc-faq-q { gap: 14px !important; padding: 20px 0 !important; }
  .wc-faq-q > span { font-size: 16px !important; line-height: 1.45; }
  .wc-faq-a { padding: 0 0 22px !important; font-size: 15px !important; }
}

@media (max-width: 480px) {
  .wc-faq-q > span { font-size: 15px !important; }
}

/* 4. Rotação do "+" quando aberto (mantida por último) */
.wc-faq-q[aria-expanded="true"] .wc-plus { transform: rotate(45deg); }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4a024d0 *//* garante que não vai surgir barra horizontal */
html, body { overflow-x: hidden; }

.btn-whatsapp{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;

  background-color: rgb(37, 211, 102);
  width: 60px;
  height: 60px;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;
  font-size: 28px;
  text-decoration: none;
}

.btn-whatsapp:before,
.btn-whatsapp:after{
  content: '';
  position: absolute;
  border-radius: 50%;
  border: 1px solid #25d366;
  inset: -20px;              /* no lugar de left/right/top/bottom */
  animation: animate 1.5s linear infinite;
  opacity: 0;
  pointer-events: none;
}

.pulsaDelay:after{ animation-delay: 0.5s; }

@keyframes animate{
  0%{ transform: scale(0.5); opacity: 0; }
  50%{ opacity: 1; }
  100%{ transform: scale(1.2); opacity: 0; }
}/* End custom CSS */