.elementor-kit-8{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}
/* Start custom CSS *//* Ocultar espaços em branco*/
.elementor-section:last-of-type {
margin-bottom: 0 !important;
padding-bottom: 0 !important;
}

body {
overflow-x: hidden;
margin-bottom: 0 !important;
}

footer,
.site-footer,
.elementor-footer {
margin: 0 !important;
padding: 0 !important;
}

/* ============================================================
   CLARECER MEDICINA INTEGRADA
   CSS Global para Elementor > Configurações do Site > CSS Personalizado
   Requisito: classes aplicadas nos elementos conforme documentação
   ============================================================ */

/* ── BASE ──────────────────────────────────────────────── */
html {
  scroll-behavior: smooth;
}

/* ── NAV (classe: nav-clarecer, no template de header) ──── */
/* O fixo é nativo: Avançado > Efeitos de rolagem > Fixo > Topo */
.nav-clarecer {
  background: rgba(250, 247, 243, 0.92) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

/* ── LABELS DE SEÇÃO (classe: s-label) ─────────────────── */
/* Seletor restrito ao widget de texto: a linha decorativa
   só aparece no label da seção, nunca em descrições de
   outros widgets dentro do mesmo container               */
.elementor-widget-text-editor.s-label p {
  display: flex;
  align-items: center;
  gap: 16px;
}

.elementor-widget-text-editor.s-label p::before {
  content: '';
  width: 30px;
  height: 1px;
  background: #9B5E3A;
  flex-shrink: 0;
}

/* ── HERO (classes: hero-esq, hero-dir, hero-card) ─────── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.hero-esq {
  opacity: 0;
  animation: fadeUp 900ms cubic-bezier(0.23, 1, 0.32, 1) 100ms forwards;
}

.hero-dir {
  opacity: 0;
  animation: fadeIn 1100ms cubic-bezier(0.23, 1, 0.32, 1) 300ms forwards;
}

.hero-card {
  background: rgba(250, 247, 243, 0.95) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.4);
}

/* ── BOTÕES (classe: btn-seta) ─────────────────────────── */
.btn-seta .elementor-button-text::after {
  content: '→';
  display: inline-block;
  margin-left: 14px;
  font-size: 13px;
  transition: transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
}

@media (hover: hover) and (pointer: fine) {
  .btn-seta:hover .elementor-button-text::after {
    transform: translateX(5px);
  }
}

/* ── ESPECIALIDADES (classe: espec-row, nas 5 linhas) ──── */
.espec-row {
  position: relative;
  transition: padding 320ms cubic-bezier(0.23, 1, 0.32, 1);
}

.espec-row::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, rgba(107, 58, 34, 0.025), transparent 70%);
  transition: width 420ms cubic-bezier(0.23, 1, 0.32, 1);
  pointer-events: none;
}

.espec-row .elementor-heading-title {
  transition: color 280ms cubic-bezier(0.23, 1, 0.32, 1);
}

@media (hover: hover) and (pointer: fine) {
  .espec-row:hover {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .espec-row:hover::before {
    width: 100%;
  }

  .espec-row:hover .elementor-heading-title {
    color: #6B3A22 !important;
  }
}

/* ── EQUIPE (classe: med-card, nos 4 cards) ────────────── */
.med-card {
  position: relative;
  overflow: hidden;
  transition: border-color 250ms cubic-bezier(0.23, 1, 0.32, 1),
              transform 250ms cubic-bezier(0.23, 1, 0.32, 1),
              background 250ms cubic-bezier(0.23, 1, 0.32, 1);
}

.med-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #6B3A22, #C4886A);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 350ms cubic-bezier(0.23, 1, 0.32, 1);
}

@media (hover: hover) and (pointer: fine) {
  .med-card:hover {
    border-color: rgba(107, 58, 34, 0.25) !important;
    transform: translateY(-4px);
    background: rgba(250, 247, 243, 0.9) !important;
  }

  .med-card:hover::after {
    transform: scaleX(1);
  }
}

/* ── ESTRUTURA (classes: photo-box + photo-box-lg / -sm) ─ */
.photo-box figure,
.photo-box .elementor-image {
  position: relative;
  overflow: hidden;
  margin: 0;
  height: 336px;
}

/* Larguras exatas do grid original (6 colunas, gap 16px) */
.photo-box-lg {
  width: calc(50% - 8px) !important;
  max-width: calc(50% - 8px) !important;
}

.photo-box-sm {
  width: calc(33.333% - 10.667px) !important;
  max-width: calc(33.333% - 10.667px) !important;
}

.photo-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 700ms cubic-bezier(0.23, 1, 0.32, 1);
}

@media (hover: hover) and (pointer: fine) {
  .photo-box:hover img {
    transform: scale(1.05);
  }
}

.photo-box figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 2rem 1.5rem 1.25rem;
  background: linear-gradient(to top, rgba(33, 22, 16, 0.78) 0%, transparent 100%);
  font-style: normal !important;
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-align: left;
  color: #FFFFFF !important;
}


/* ── FOOTER (classe: footer-clarecer) ──────────────────── */
.footer-clarecer {
  position: relative;
}

.footer-clarecer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201, 181, 159, 0.3), transparent);
}

/* ── RESPONSIVO ────────────────────────────────────────── */
/* Tablet: fotos da estrutura em duas colunas */
@media (max-width: 1024px) {
  .photo-box-lg,
  .photo-box-sm {
    width: calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
  }

  .photo-box figure,
  .photo-box .elementor-image {
    height: 280px;
  }
}

/* Mobile: fotos em coluna única, marca d'água reduzida */
@media (max-width: 767px) {
  .photo-box-lg,
  .photo-box-sm {
    width: 100% !important;
    max-width: 100% !important;
  }

  .photo-box figure,
  .photo-box .elementor-image {
    height: 220px;
  }

  .cta-box::before {
    width: 14rem;
    height: 14rem;
    right: -3rem;
  }
}

/* ── RESET DE ESPAÇOS (header e footer colados) ────────── */
/* Remove margens e paddings que o tema WordPress injeta
   ao redor do conteúdo, do header e do footer            */
body {
  margin: 0 !important;
  padding: 0 !important;
}

#page,
.site,
.site-content,
.site-main,
.page-content,
.entry-content,
.content-area {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-location-header,
.elementor-location-footer {
  margin: 0 !important;
  padding: 0 !important;
}

/* Zera o espaçamento padrão que o Elementor aplica
   entre o conteúdo da página e os templates de header
   e footer do Theme Builder                              */
.elementor-page .elementor-section-wrap > .elementor-section:first-child,
.elementor-page .e-con:first-child {
  margin-top: 0 !important;
}

.elementor-page .elementor-section-wrap > .elementor-section:last-child,
.elementor-page .e-con:last-child {
  margin-bottom: 0 !important;
}

/* ── ACESSIBILIDADE ────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .hero-esq,
  .hero-dir {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .espec-row,
  .espec-row::before,
  .espec-row .elementor-heading-title,
  .med-card,
  .med-card::after,
  .photo-box img,
  .btn-seta .elementor-button-text::after {
    transition-duration: 0.01ms;
  }
}

.elementor-element-5057ecdc,
.elementor-element-26e9c40f {
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-height: auto !important;
  gap: 16px !important;
}

.elementor-element-5b38dd2,
.elementor-element-5fa2ae2e {
  margin-top: 0 !important;
  text-align: left !important;
  width: 100% !important;
}/* End custom CSS */