/*
Theme Name: Zimut Theme
Theme URI: https://zimut.com.br
Description: Tema Zimut - Marketing Digital para Saúde. Design moderno inspirado no viverdeia.ai
Author: Zimut Estratégias Digitais
Template: hello-elementor
Version: 1.0.0
Text Domain: zimut-theme
*/

/* ============================================
   VARIÁVEIS & TOKENS DE DESIGN
   ============================================ */
:root {
  /* Cores principais */
  --color-dark:      #0F1B2D;
  --color-dark-2:    #1a2744;
  --color-white:     #FFFFFF;
  --color-bg:        #F8F9FA;
  --color-bg-card:   #FFFFFF;
  --color-accent:    #20C997;
  --color-accent-2:  #17a2b8;
  --color-text:      #0F1B2D;
  --color-text-sec:  #6B7280;
  --color-text-muted:#9CA3AF;
  --color-border:    #E5E7EB;
  --color-border-2:  #D1D5DB;

  /* Tipografia */
  --font-main: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-size-xs:   12px;
  --font-size-sm:   14px;
  --font-size-base: 16px;
  --font-size-md:   18px;
  --font-size-lg:   20px;
  --font-size-xl:   24px;
  --font-size-2xl:  28px;
  --font-size-3xl:  36px;
  --font-size-4xl:  48px;
  --font-size-5xl:  56px;

  /* Espaçamentos */
  --space-xs:  4px;
  --space-sm:  8px;
  --space-md:  16px;
  --space-lg:  24px;
  --space-xl:  32px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --space-4xl: 96px;
  --space-5xl: 128px;

  /* Border radius */
  --radius-sm:   6px;
  --radius-md:   12px;
  --radius-lg:   16px;
  --radius-xl:   20px;
  --radius-full: 9999px;

  /* Sombras */
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md:  0 4px 6px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.04);
  --shadow-lg:  0 10px 15px rgba(0,0,0,0.06), 0 4px 6px rgba(0,0,0,0.04);
  --shadow-xl:  0 20px 25px rgba(0,0,0,0.08), 0 10px 10px rgba(0,0,0,0.04);

  /* Transições */
  --transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================
   RESET & BASE
   ============================================ */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-main);
  font-size: var(--font-size-base);
  color: var(--color-text);
  background: var(--color-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; }

a { color: inherit; text-decoration: none; transition: var(--transition); }

/* ============================================
   HEADER / NAVEGAÇÃO
   ============================================ */
.site-header,
header.site-header,
.elementor-location-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  background: rgba(255,255,255,0.95) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid var(--color-border) !important;
  padding: 0 !important;
}

.site-header .site-navigation-inner,
.elementor-nav-menu {
  display: flex;
  align-items: center;
  gap: var(--space-xl);
}

/* Links de navegação */
.site-header a,
.elementor-nav-menu a,
.elementor-nav-menu--main .elementor-item {
  font-size: var(--font-size-sm) !important;
  font-weight: 500 !important;
  color: var(--color-text) !important;
  letter-spacing: 0.01em !important;
  padding: var(--space-sm) 0 !important;
  border-bottom: 2px solid transparent !important;
  transition: var(--transition) !important;
}

.site-header a:hover,
.elementor-nav-menu--main .elementor-item:hover {
  color: var(--color-dark) !important;
  border-bottom-color: var(--color-dark) !important;
}

/* ============================================
   BOTÕES
   ============================================ */
.elementor-button,
.wp-element-button,
button:not(.menu-toggle):not([class*="cookie"]),
input[type="submit"],
.btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--space-sm) !important;
  font-family: var(--font-main) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  border-radius: var(--radius-full) !important;
  padding: 12px 24px !important;
  cursor: pointer !important;
  transition: var(--transition) !important;
  border: 2px solid transparent !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

/* Botão primário - Navy escuro */
.elementor-button.elementor-button-primary,
.elementor-button[class*="filled"],
.wp-element-button,
.btn-primary,
.button {
  background: var(--color-dark) !important;
  color: var(--color-white) !important;
  border-color: var(--color-dark) !important;
  box-shadow: 0 1px 2px rgba(15,27,45,0.2) !important;
}

.elementor-button.elementor-button-primary:hover,
.btn-primary:hover {
  background: #1a2744 !important;
  border-color: #1a2744 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(15,27,45,0.25) !important;
}

/* Botão outline / secundário */
.elementor-button.elementor-button-default,
.btn-secondary,
.btn-outline {
  background: transparent !important;
  color: var(--color-text) !important;
  border-color: var(--color-border-2) !important;
}

.elementor-button.elementor-button-default:hover,
.btn-secondary:hover {
  background: var(--color-bg) !important;
  border-color: var(--color-dark) !important;
}

/* ============================================
   SEÇÕES & CONTAINERS
   ============================================ */
.elementor-section,
.e-con {
  --section-padding-v: var(--space-5xl);
}

.elementor-section .elementor-container,
.e-con-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-xl);
  width: 100%;
}

/* ============================================
   TIPOGRAFIA
   ============================================ */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: var(--font-main) !important;
  color: var(--color-text) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  font-weight: 700 !important;
}

h1, .elementor-heading-title.elementor-size-xl,
.elementor-heading-title.elementor-size-xxl {
  font-size: clamp(36px, 5vw, 56px) !important;
}

h2, .elementor-heading-title.elementor-size-large {
  font-size: clamp(28px, 4vw, 42px) !important;
}

h3, .elementor-heading-title.elementor-size-medium {
  font-size: clamp(20px, 3vw, 28px) !important;
}

/* Label de seção - uppercase spaced */
.elementor-widget-text-editor p em,
.section-label,
[class*="label-section"] {
  font-size: var(--font-size-xs) !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--color-text-sec) !important;
}

/* Itálico para destaques */
em, i {
  font-style: italic !important;
  font-weight: inherit !important;
}

p {
  color: var(--color-text-sec);
  line-height: 1.7;
  font-size: var(--font-size-base);
}

/* ============================================
   CARDS - PADRÃO PRINCIPAL
   ============================================ */
.elementor-widget-posts .elementor-post,
.elementor-posts-container .elementor-post,
.zimut-card,
.elementor-widget-image-box .elementor-image-box-wrapper,
[class*="card"] {
  background: var(--color-white) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  transition: var(--transition) !important;
  box-shadow: var(--shadow-sm) !important;
}

.elementor-widget-posts .elementor-post:hover,
.zimut-card:hover {
  box-shadow: var(--shadow-xl) !important;
  transform: translateY(-2px) !important;
  border-color: var(--color-border-2) !important;
}

/* Conteúdo do card */
.elementor-post__card .elementor-post__text,
.elementor-post__text {
  padding: var(--space-lg) !important;
}

/* Título do card */
.elementor-post__title a,
.elementor-post__title {
  font-size: var(--font-size-lg) !important;
  font-weight: 700 !important;
  color: var(--color-text) !important;
  line-height: 1.3 !important;
  margin-bottom: var(--space-sm) !important;
}

/* Excerpt */
.elementor-post__excerpt p {
  font-size: var(--font-size-sm) !important;
  color: var(--color-text-sec) !important;
  line-height: 1.6 !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Read more */
.elementor-post__read-more {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  color: var(--color-text) !important;
  margin-top: var(--space-md) !important;
  transition: var(--transition) !important;
}

.elementor-post__read-more:hover {
  gap: 10px !important;
}

.elementor-post__read-more::after {
  content: '→';
  font-size: 16px;
}

/* ============================================
   TAGS / BADGES / PILLS
   ============================================ */
.elementor-post__card .elementor-post__badge,
.post-tag,
.tag,
.badge,
[class*="badge"],
[class*="tag"] {
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 12px !important;
  border-radius: var(--radius-full) !important;
  font-size: var(--font-size-xs) !important;
  font-weight: 500 !important;
  background: var(--color-bg) !important;
  color: var(--color-text) !important;
  border: 1px solid var(--color-border) !important;
  line-height: 1.5 !important;
}

/* Badge dark (nav/feature) */
.badge-dark {
  background: var(--color-dark) !important;
  color: var(--color-white) !important;
  border-color: var(--color-dark) !important;
}

/* ============================================
   ÍCONES / ICON BOXES
   ============================================ */
.elementor-icon-box-icon .elementor-icon,
.elementor-icon-list-icon i {
  color: var(--color-dark) !important;
  transition: var(--transition) !important;
}

/* Ícone quadrado dark (como no viverdeia) */
.elementor-icon-box-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  background: var(--color-dark) !important;
  border-radius: var(--radius-sm) !important;
  margin-bottom: var(--space-md) !important;
}

.elementor-icon-box-icon .elementor-icon,
.elementor-icon-box-icon i {
  color: var(--color-white) !important;
  font-size: 22px !important;
}

/* Checklist */
.elementor-icon-list-icon .eicon-check,
.elementor-icon-list-icon .fa-check {
  color: var(--color-accent) !important;
}

/* ============================================
   HERO SECTION
   ============================================ */
.elementor-section.hero-section,
section.elementor-section:first-of-type {
  padding-top: var(--space-5xl) !important;
  padding-bottom: var(--space-5xl) !important;
  background: var(--color-white) !important;
}

/* ============================================
   SEÇÃO ESCURA (dark bg)
   ============================================ */
.elementor-section.dark-section,
.elementor-section[data-settings*="dark"],
.elementor-section.bg-dark,
section.dark {
  background: var(--color-dark) !important;
}

.elementor-section.dark-section *,
.elementor-section.bg-dark * {
  color: var(--color-white) !important;
}

.elementor-section.dark-section p,
.elementor-section.bg-dark p {
  color: rgba(255,255,255,0.75) !important;
}

/* ============================================
   SEÇÃO CINZA (light bg)
   ============================================ */
.elementor-section.bg-light,
.elementor-section.light-section {
  background: var(--color-bg) !important;
}

/* ============================================
   GRID DE LOGOS (parceiros/clientes)
   ============================================ */
.elementor-widget-image .elementor-image img,
.logo-grid img {
  filter: grayscale(100%) opacity(0.6) !important;
  transition: var(--transition) !important;
  max-height: 40px;
  width: auto;
}

.elementor-widget-image .elementor-image img:hover,
.logo-grid img:hover {
  filter: grayscale(0%) opacity(1) !important;
}

/* Card de logo */
.logo-card {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: var(--space-lg) !important;
  background: var(--color-white) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  min-height: 80px !important;
}

/* ============================================
   PRICING / PLANOS
   ============================================ */
.elementor-price-table {
  background: var(--color-white) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-xl) !important;
  overflow: hidden !important;
  transition: var(--transition) !important;
  box-shadow: var(--shadow-sm) !important;
}

.elementor-price-table.elementor-price-table--featured,
.elementor-price-table:hover {
  border-color: var(--color-dark) !important;
  border-width: 2px !important;
  box-shadow: var(--shadow-xl) !important;
}

.elementor-price-table__header {
  padding: var(--space-xl) !important;
  background: transparent !important;
}

.elementor-price-table__heading {
  font-size: var(--font-size-xl) !important;
  font-weight: 700 !important;
  color: var(--color-text) !important;
}

.elementor-price-table__price {
  padding: 0 var(--space-xl) var(--space-md) !important;
}

.elementor-price-table__currency {
  font-size: var(--font-size-xl) !important;
  font-weight: 700 !important;
}

.elementor-price-table__integer-part {
  font-size: var(--font-size-5xl) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: var(--color-text) !important;
}

.elementor-price-table__footer {
  padding: var(--space-xl) !important;
}

/* ============================================
   TESTIMONIALS / DEPOIMENTOS
   ============================================ */
.elementor-testimonial {
  background: var(--color-white) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-xl) !important;
  padding: var(--space-xl) !important;
  box-shadow: var(--shadow-sm) !important;
  transition: var(--transition) !important;
}

.elementor-testimonial:hover {
  box-shadow: var(--shadow-lg) !important;
}

.elementor-testimonial__content {
  font-size: var(--font-size-md) !important;
  line-height: 1.7 !important;
  color: var(--color-text-sec) !important;
  font-style: normal !important;
}

.elementor-testimonial__name {
  font-weight: 700 !important;
  color: var(--color-text) !important;
  font-size: var(--font-size-base) !important;
}

.elementor-testimonial__title {
  font-size: var(--font-size-sm) !important;
  color: var(--color-text-muted) !important;
}

/* ============================================
   STATS / NUMBERS
   ============================================ */
.elementor-counter-number-wrapper {
  font-size: var(--font-size-4xl) !important;
  font-weight: 800 !important;
  color: var(--color-text) !important;
  letter-spacing: -0.03em !important;
  line-height: 1 !important;
}

.elementor-counter-title {
  font-size: var(--font-size-sm) !important;
  color: var(--color-text-sec) !important;
  font-weight: 400 !important;
  margin-top: var(--space-xs) !important;
}

/* ============================================
   FORMULÁRIOS
   ============================================ */
.elementor-form .elementor-field-group input,
.elementor-form .elementor-field-group textarea,
.elementor-form .elementor-field-group select,
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  font-family: var(--font-main) !important;
  font-size: var(--font-size-base) !important;
  color: var(--color-text) !important;
  background: var(--color-white) !important;
  transition: var(--transition) !important;
  outline: none !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--color-dark) !important;
  box-shadow: 0 0 0 3px rgba(15,27,45,0.08) !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--color-text-muted) !important;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer,
footer.site-footer,
.elementor-location-footer {
  background: var(--color-dark) !important;
  color: var(--color-white) !important;
  padding: var(--space-4xl) 0 var(--space-xl) !important;
}

.site-footer *,
footer.site-footer * {
  color: rgba(255,255,255,0.8) !important;
}

.site-footer h3,
.site-footer h4,
.site-footer .footer-title,
footer .elementor-heading-title {
  color: var(--color-white) !important;
  font-size: var(--font-size-xs) !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: var(--space-md) !important;
}

.site-footer a,
footer a {
  color: rgba(255,255,255,0.7) !important;
  font-size: var(--font-size-sm) !important;
  line-height: 2 !important;
  transition: var(--transition) !important;
}

.site-footer a:hover,
footer a:hover {
  color: var(--color-white) !important;
}

/* Footer divider */
.site-footer .footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  margin-top: var(--space-3xl) !important;
  padding-top: var(--space-lg) !important;
}

/* Social icons no footer */
.elementor-social-icons-wrapper .elementor-social-icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: var(--radius-full) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: var(--transition) !important;
}

.elementor-social-icons-wrapper .elementor-social-icon:hover {
  border-color: rgba(255,255,255,0.6) !important;
  background: rgba(255,255,255,0.1) !important;
}

.elementor-social-icons-wrapper .elementor-social-icon i {
  font-size: 14px !important;
  color: var(--color-white) !important;
}

/* ============================================
   DIVIDER
   ============================================ */
.elementor-divider-separator {
  border-top-color: var(--color-border) !important;
}

/* ============================================
   SEPARADOR DE SEÇÃO - label uppercase
   ============================================ */
.zimut-label,
.section-eyebrow {
  display: inline-block;
  font-size: var(--font-size-xs);
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin-bottom: var(--space-md);
}

/* ============================================
   LINK SETA "Ver solução →"
   ============================================ */
.elementor-button.btn-link,
.btn-arrow {
  background: transparent !important;
  color: var(--color-text) !important;
  border: none !important;
  padding: 0 !important;
  font-weight: 600 !important;
  font-size: var(--font-size-sm) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: 0 !important;
}

.btn-arrow::after {
  content: '→';
  transition: var(--transition);
  display: inline-block;
}

.btn-arrow:hover::after {
  transform: translateX(4px);
}

/* ============================================
   BARRA DE PESQUISA
   ============================================ */
.elementor-search-form input,
.wp-block-search input {
  border-radius: var(--radius-full) !important;
  padding: 14px 20px !important;
  border: 1px solid var(--color-border) !important;
  font-size: var(--font-size-base) !important;
}

/* ============================================
   TABS / FILTROS
   ============================================ */
.elementor-tab-title,
.elementor-tab-mobile-title {
  font-family: var(--font-main) !important;
  font-weight: 500 !important;
  font-size: var(--font-size-sm) !important;
  border-radius: var(--radius-full) !important;
  padding: 8px 18px !important;
  border: 1px solid var(--color-border) !important;
  transition: var(--transition) !important;
  cursor: pointer !important;
  background: transparent !important;
  color: var(--color-text) !important;
}

.elementor-tab-title.elementor-active,
.elementor-tab-title:hover {
  background: var(--color-dark) !important;
  color: var(--color-white) !important;
  border-color: var(--color-dark) !important;
}

/* ============================================
   IMAGENS COM BORDAS ARREDONDADAS
   ============================================ */
.elementor-widget-image img {
  border-radius: var(--radius-lg) !important;
}

/* Screenshot/mockup de app - dark border */
.app-screenshot,
.mockup-image {
  border-radius: var(--radius-xl) !important;
  border: 2px solid var(--color-dark) !important;
  box-shadow: var(--shadow-xl) !important;
}

/* ============================================
   SCROLL SUAVE & ANIMAÇÕES
   ============================================ */
[data-aos],
.elementor-animated-headline {
  transition: opacity 0.6s ease, transform 0.6s ease !important;
}

/* ============================================
   BREADCRUMB
   ============================================ */
.breadcrumb,
nav.breadcrumb {
  font-size: var(--font-size-sm) !important;
  color: var(--color-text-muted) !important;
}

/* ============================================
   PAGINATION
   ============================================ */
.elementor-pagination .page-numbers {
  padding: 8px 14px !important;
  border-radius: var(--radius-sm) !important;
  border: 1px solid var(--color-border) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 500 !important;
  transition: var(--transition) !important;
}

.elementor-pagination .page-numbers.current,
.elementor-pagination .page-numbers:hover {
  background: var(--color-dark) !important;
  color: var(--color-white) !important;
  border-color: var(--color-dark) !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1200px) {
  .elementor-section .elementor-container { padding: 0 var(--space-lg); }
}

@media (max-width: 768px) {
  :root {
    --font-size-5xl: 40px;
    --font-size-4xl: 32px;
    --font-size-3xl: 28px;
    --space-5xl: 80px;
    --space-4xl: 64px;
  }

  .elementor-section .elementor-container { padding: 0 var(--space-md); }

  .elementor-button,
  .wp-element-button,
  button:not(.menu-toggle) {
    padding: 12px 20px !important;
    font-size: var(--font-size-sm) !important;
  }
}

@media (max-width: 480px) {
  :root {
    --font-size-5xl: 32px;
    --font-size-4xl: 26px;
  }
}

/* ============================================
   UTILITÁRIOS
   ============================================ */
.text-accent { color: var(--color-accent) !important; }
.text-dark   { color: var(--color-dark)   !important; }
.text-muted  { color: var(--color-text-muted) !important; }
.text-sec    { color: var(--color-text-sec) !important; }
.bg-dark     { background: var(--color-dark) !important; }
.bg-light    { background: var(--color-bg)   !important; }
.bg-white    { background: var(--color-white) !important; }
.rounded     { border-radius: var(--radius-md) !important; }
.rounded-lg  { border-radius: var(--radius-lg) !important; }
.rounded-full{ border-radius: var(--radius-full) !important; }
.shadow-sm   { box-shadow: var(--shadow-sm) !important; }
.shadow-md   { box-shadow: var(--shadow-md) !important; }
.shadow-lg   { box-shadow: var(--shadow-lg) !important; }

/* ============================================
   OVERRIDES HELLO ELEMENTOR
   ============================================ */
.hello-elementor .page-title { display: none !important; }
.hello-elementor body { overflow-x: hidden; }

/* Remove padding default do hello */
.elementor-default .elementor-section {
  padding: var(--space-5xl) 0;
}

/* ============================================
   CTA SECTION ESPECÍFICA
   ============================================ */
.cta-section {
  background: var(--color-dark);
  border-radius: var(--radius-xl);
  padding: var(--space-3xl);
  text-align: center;
}

.cta-section h2 {
  color: var(--color-white) !important;
}

.cta-section p {
  color: rgba(255,255,255,0.8) !important;
}


/* ============================================
   FUNDOS ESCUROS → TEXTO BRANCO (via JS detector)
   ============================================ */

/* Seções com background escuro puro */
.zimut-dark-bg .elementor-heading-title,
.zimut-dark-bg h1, .zimut-dark-bg h2, .zimut-dark-bg h3,
.zimut-dark-bg h4, .zimut-dark-bg h5, .zimut-dark-bg h6 {
  color: #ffffff !important;
}

.zimut-dark-bg p,
.zimut-dark-bg .elementor-text-editor,
.zimut-dark-bg li,
.zimut-dark-bg label,
.zimut-dark-bg .elementor-icon-box-title,
.zimut-dark-bg .elementor-icon-box-title span,
.zimut-dark-bg .elementor-icon-box-description,
.zimut-dark-bg .elementor-counter-number-wrapper,
.zimut-dark-bg .elementor-counter-title,
.zimut-dark-bg .elementor-testimonial__content,
.zimut-dark-bg .elementor-testimonial__name,
.zimut-dark-bg .elementor-testimonial__title,
.zimut-dark-bg .elementor-tab-title,
.zimut-dark-bg .elementor-image-box-description,
.zimut-dark-bg .elementor-image-box-title,
.zimut-dark-bg span:not(.elementor-button-text):not([class*=elementor-icon]) {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Troca preto puro por navy — visual mais refinado */
.zimut-dark-bg {
  background-color: #0F1B2D !important;
}

/* Ícones em fundos escuros */
.zimut-dark-bg .elementor-icon i,
.zimut-dark-bg .elementor-icon svg {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Seções com overlay escuro sobre imagem (hero sections) */
.zimut-dark-overlay .elementor-heading-title,
.zimut-dark-overlay h1, .zimut-dark-overlay h2, .zimut-dark-overlay h3,
.zimut-dark-overlay h4, .zimut-dark-overlay h5, .zimut-dark-overlay h6 {
  color: #ffffff !important;
}

.zimut-dark-overlay p,
.zimut-dark-overlay .elementor-text-editor,
.zimut-dark-overlay li,
.zimut-dark-overlay .elementor-icon-box-title span,
.zimut-dark-overlay .elementor-icon-box-description,
.zimut-dark-overlay span:not(.elementor-button-text) {
  color: rgba(255, 255, 255, 0.9) !important;
}

.zimut-dark-overlay .elementor-icon i,
.zimut-dark-overlay .elementor-icon svg {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Elementos claros (cards brancos) dentro de seção escura: volta texto escuro */
.zimut-dark-bg .zimut-light-bg .elementor-heading-title,
.zimut-dark-bg .zimut-light-bg h1, .zimut-dark-bg .zimut-light-bg h2,
.zimut-dark-bg .zimut-light-bg h3, .zimut-dark-bg .zimut-light-bg h4,
.zimut-dark-bg .zimut-light-bg p,
.zimut-dark-bg .zimut-light-bg li,
.zimut-dark-bg .zimut-light-bg span,
.zimut-dark-bg .zimut-light-bg .elementor-icon-box-title span,
.zimut-dark-bg .zimut-light-bg .elementor-icon-box-description {
  color: var(--color-text) !important;
}

.zimut-dark-bg .zimut-light-bg {
  background-color: #ffffff !important;
}

/* ============================================
   FOOTER — CORREÇÃO TEXTO BRANCO
   ============================================ */
.elementor-location-footer .elementor-heading-title,
.elementor-location-footer h1, .elementor-location-footer h2,
.elementor-location-footer h3, .elementor-location-footer h4,
.elementor-location-footer h5, .elementor-location-footer h6 {
  color: #ffffff !important;
}

.elementor-location-footer p,
.elementor-location-footer li,
.elementor-location-footer span:not(.elementor-button-text),
.elementor-location-footer .elementor-text-editor,
.elementor-location-footer label {
  color: rgba(255, 255, 255, 0.82) !important;
}

.elementor-location-footer a {
  color: rgba(255, 255, 255, 0.72) !important;
  transition: color 0.2s ease !important;
}

.elementor-location-footer a:hover {
  color: #ffffff !important;
}

.elementor-location-footer .elementor-icon i,
.elementor-location-footer .elementor-icon svg {
  color: rgba(255, 255, 255, 0.8) !important;
}

/* ============================================
   BLOG / ARCHIVE — CORRIGE FUNDO PRETO
   ============================================ */
body.blog,
body.archive,
body.category,
body.tag {
  background-color: #F8F9FA !important;
}

/* Seções do blog: fundo transparente (mostra background do body) */
body.blog .elementor-section,
body.blog .e-con,
body.archive .elementor-section,
body.archive .e-con,
body.category .elementor-section,
body.category .e-con {
  background-color: transparent !important;
}

/* Texto dentro de seções dark no blog: usa cor escura (fundo ficou claro) */
body.blog .zimut-dark-bg .elementor-heading-title,
body.blog .zimut-dark-bg h1, body.blog .zimut-dark-bg h2,
body.blog .zimut-dark-bg h3, body.blog .zimut-dark-bg h4,
body.blog .zimut-dark-bg p, body.blog .zimut-dark-bg span,
body.blog .zimut-dark-bg li,
body.archive .zimut-dark-bg .elementor-heading-title,
body.archive .zimut-dark-bg h1, body.archive .zimut-dark-bg h2,
body.archive .zimut-dark-bg h3, body.archive .zimut-dark-bg h4,
body.archive .zimut-dark-bg p, body.archive .zimut-dark-bg span,
body.archive .zimut-dark-bg li {
  color: var(--color-text) !important;
}

/* ============================================
   FOOTER: FONTE PEQUENA E DISCRETA
   ============================================ */
.elementor-location-footer .elementor-heading-title,
.elementor-location-footer h1,
.elementor-location-footer h2,
.elementor-location-footer h3,
.elementor-location-footer h4,
.elementor-location-footer h5,
.elementor-location-footer h6,
.elementor-location-footer .elementor-widget-heading .elementor-heading-title {
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
  color: rgba(255,255,255,0.55) !important;
}

.elementor-location-footer p,
.elementor-location-footer .elementor-text-editor p,
.elementor-location-footer .elementor-text-editor {
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  color: rgba(255,255,255,0.55) !important;
}

.elementor-location-footer span:not(.elementor-button-text):not([class*=icon]) {
  font-size: 11px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.5) !important;
}

.elementor-location-footer li,
.elementor-location-footer a {
  font-size: 11px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.5) !important;
}

.elementor-location-footer a:hover {
  color: rgba(255,255,255,0.8) !important;
}

/* ============================================
   HOME PAGE — CARDS DARK: FORÇA TEXTO BRANCO
   ============================================ */

/* Cards escuros na home (dark navy #0F1B2D / #18191E etc) */
.home .elementor-widget-icon-box .elementor-icon-box-title,
.home .elementor-widget-icon-box .elementor-icon-box-title *,
.home .elementor-widget-icon-box .elementor-icon-box-description,
.page-id-4878 .elementor-widget-icon-box .elementor-icon-box-title,
.page-id-4878 .elementor-widget-icon-box .elementor-icon-box-title *,
.page-id-4878 .elementor-widget-icon-box .elementor-icon-box-description {
  color: rgba(255,255,255,0.95) !important;
}

/* Títulos e texto geral dentro dos cards escuros */
.home .zimut-dark-bg .elementor-heading-title,
.home .zimut-dark-bg h1, .home .zimut-dark-bg h2,
.home .zimut-dark-bg h3, .home .zimut-dark-bg h4,
.home .zimut-dark-bg p, .home .zimut-dark-bg li,
.home .zimut-dark-bg span:not(.elementor-button-text),
.home .zimut-dark-bg .elementor-icon-box-title span,
.home .zimut-dark-bg .elementor-icon-box-description,
.page-id-4878 .zimut-dark-bg .elementor-heading-title,
.page-id-4878 .zimut-dark-bg p,
.page-id-4878 .zimut-dark-bg .elementor-icon-box-title span,
.page-id-4878 .zimut-dark-bg .elementor-icon-box-description {
  color: rgba(255,255,255,0.92) !important;
}

/* ============================================
   LOGO: GARANTE EXIBIÇÃO CORRETA (branco no header escuro)
   ============================================ */
.site-header img,
.elementor-location-header img,
header img {
  max-height: 60px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* ============================================
   HOME PAGE — CARDS ESCUROS: CSS DIRETO (IDs específicos)
   Fallback que garante texto branco independente do JS
   ============================================ */
.elementor-element-045d2c7 .elementor-heading-title,
.elementor-element-045d2c7 .elementor-icon-box-title,
.elementor-element-045d2c7 .elementor-icon-box-title span,
.elementor-element-045d2c7 .elementor-icon-box-description,
.elementor-element-045d2c7 p, .elementor-element-045d2c7 h2,
.elementor-element-045d2c7 h3, .elementor-element-045d2c7 span,
.elementor-element-073e002 .elementor-heading-title,
.elementor-element-073e002 .elementor-icon-box-title,
.elementor-element-073e002 .elementor-icon-box-title span,
.elementor-element-073e002 .elementor-icon-box-description,
.elementor-element-073e002 p, .elementor-element-073e002 h2,
.elementor-element-073e002 h3, .elementor-element-073e002 span,
.elementor-element-0b13e1f .elementor-heading-title,
.elementor-element-0b13e1f .elementor-icon-box-title span,
.elementor-element-0b13e1f .elementor-icon-box-description,
.elementor-element-0b13e1f p, .elementor-element-0b13e1f h2, .elementor-element-0b13e1f h3,
.elementor-element-23cb0c6 .elementor-heading-title,
.elementor-element-23cb0c6 .elementor-icon-box-title span,
.elementor-element-23cb0c6 .elementor-icon-box-description,
.elementor-element-23cb0c6 p, .elementor-element-23cb0c6 h2, .elementor-element-23cb0c6 h3,
.elementor-element-29764d3 .elementor-heading-title,
.elementor-element-29764d3 .elementor-icon-box-title span,
.elementor-element-29764d3 .elementor-icon-box-description,
.elementor-element-29764d3 p, .elementor-element-29764d3 h2, .elementor-element-29764d3 h3,
.elementor-element-378e1b4 .elementor-heading-title,
.elementor-element-378e1b4 .elementor-icon-box-title span,
.elementor-element-378e1b4 .elementor-icon-box-description,
.elementor-element-378e1b4 p, .elementor-element-378e1b4 h2, .elementor-element-378e1b4 h3,
.elementor-element-54fb003 .elementor-heading-title,
.elementor-element-54fb003 .elementor-icon-box-title span,
.elementor-element-54fb003 .elementor-icon-box-description,
.elementor-element-54fb003 p, .elementor-element-54fb003 h2, .elementor-element-54fb003 h3,
.elementor-element-721e495 .elementor-heading-title,
.elementor-element-721e495 .elementor-icon-box-title span,
.elementor-element-721e495 .elementor-icon-box-description,
.elementor-element-721e495 p, .elementor-element-721e495 h2, .elementor-element-721e495 h3,
.elementor-element-b3efed3 .elementor-heading-title,
.elementor-element-b3efed3 .elementor-icon-box-title span,
.elementor-element-b3efed3 .elementor-icon-box-description,
.elementor-element-b3efed3 p, .elementor-element-b3efed3 h2, .elementor-element-b3efed3 h3,
.elementor-element-bca5327 .elementor-heading-title,
.elementor-element-bca5327 .elementor-icon-box-title span,
.elementor-element-bca5327 .elementor-icon-box-description,
.elementor-element-bca5327 p, .elementor-element-bca5327 h2, .elementor-element-bca5327 h3,
.elementor-element-cb5f419 .elementor-heading-title,
.elementor-element-cb5f419 .elementor-icon-box-title span,
.elementor-element-cb5f419 .elementor-icon-box-description,
.elementor-element-cb5f419 p, .elementor-element-cb5f419 h2, .elementor-element-cb5f419 h3,
.elementor-element-dec9e12 .elementor-heading-title,
.elementor-element-dec9e12 .elementor-icon-box-title span,
.elementor-element-dec9e12 .elementor-icon-box-description,
.elementor-element-dec9e12 p, .elementor-element-dec9e12 h2, .elementor-element-dec9e12 h3,
.elementor-element-f77436c .elementor-heading-title,
.elementor-element-f77436c .elementor-icon-box-title span,
.elementor-element-f77436c .elementor-icon-box-description,
.elementor-element-f77436c p, .elementor-element-f77436c h2, .elementor-element-f77436c h3,
.elementor-element-f904ea8 .elementor-heading-title,
.elementor-element-f904ea8 .elementor-icon-box-title span,
.elementor-element-f904ea8 .elementor-icon-box-description,
.elementor-element-f904ea8 p, .elementor-element-f904ea8 h2, .elementor-element-f904ea8 h3,
.elementor-element-fc6feb4 .elementor-heading-title,
.elementor-element-fc6feb4 .elementor-icon-box-title span,
.elementor-element-fc6feb4 .elementor-icon-box-description,
.elementor-element-fc6feb4 p, .elementor-element-fc6feb4 h2, .elementor-element-fc6feb4 h3 {
  color: #ffffff !important;
}

/* Ícones nos cards escuros */
.elementor-element-045d2c7 i, .elementor-element-045d2c7 svg,
.elementor-element-073e002 i, .elementor-element-073e002 svg,
.elementor-element-0b13e1f i, .elementor-element-0b13e1f svg,
.elementor-element-23cb0c6 i, .elementor-element-23cb0c6 svg,
.elementor-element-29764d3 i, .elementor-element-29764d3 svg,
.elementor-element-378e1b4 i, .elementor-element-378e1b4 svg,
.elementor-element-54fb003 i, .elementor-element-54fb003 svg,
.elementor-element-721e495 i, .elementor-element-721e495 svg,
.elementor-element-b3efed3 i, .elementor-element-b3efed3 svg,
.elementor-element-bca5327 i, .elementor-element-bca5327 svg,
.elementor-element-cb5f419 i, .elementor-element-cb5f419 svg,
.elementor-element-dec9e12 i, .elementor-element-dec9e12 svg,
.elementor-element-f77436c i, .elementor-element-f77436c svg,
.elementor-element-f904ea8 i, .elementor-element-f904ea8 svg,
.elementor-element-fc6feb4 i, .elementor-element-fc6feb4 svg {
  color: rgba(255,255,255,0.85) !important;
}
