/* DR. ROMERO LINS - ESTILOS GLOBAIS */
/* Fontes - Todas Sans-Serif */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  /* --- CORES GLOBAIS (Modifique aqui para mudar o site todo) --- */
  /* Primary: #193A5B (azul escuro) */
  --primary-h: 211 !important;
  --primary-s: 55% !important;
  --primary-l: 23% !important;

  /* Secondary: #D6BA79 (dourado) */
  --secondary-h: 42 !important;
  --secondary-s: 55% !important;
  --secondary-l: 65% !important;

  /* Gradient color: #6E85A3 (azul medio) */
  --gradient-h: 215 !important;
  --gradient-s: 24% !important;
  --gradient-l: 54% !important;

  --primary: hsl(var(--primary-h), var(--primary-s), var(--primary-l)) !important;
  --primary-light: hsl(var(--primary-h), var(--primary-s), calc(var(--primary-l) + 15%)) !important;
  --primary-dark: hsl(var(--primary-h), var(--primary-s), calc(var(--primary-l) - 8%)) !important;

  --secondary: hsl(var(--secondary-h), var(--secondary-s), var(--secondary-l)) !important;
  --secondary-light: hsl(var(--secondary-h), calc(var(--secondary-s) + 10%), calc(var(--secondary-l) + 10%)) !important;
  --secondary-dark: hsl(var(--secondary-h), var(--secondary-s), calc(var(--secondary-l) - 15%)) !important;

  /* Gradient intermediate color */
  --gradient-mid: hsl(var(--gradient-h), var(--gradient-s), var(--gradient-l)) !important;

  --accent: var(--secondary) !important;
  --background: #F7F5F2 !important;
  --foreground: #0f172a !important;
  --card: #ffffff !important;
  --card-foreground: #1e293b !important;
  --muted: #f1f5f9 !important;
  --muted-foreground: #64748b !important;
  --border: #e2e8f0 !important;
  --ring: var(--primary) !important;
  --gold: #D6BA79 !important;
  --white: #ffffff !important;

  /* Cores secundarias adicionais */
  --gray-blue: #cacdd7 !important;
  --blue-medium: #6E85A3 !important;

  /* Gradientes - degradê suave #6E85A3 → #193A5B */
  --gradient-primary: linear-gradient(135deg, var(--gradient-mid) 0%, var(--primary) 100%) !important;
  --gradient-accent: linear-gradient(135deg, var(--secondary) 0%, var(--secondary-dark) 100%) !important;
  --gradient-surface: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(247,245,242,1) 100%) !important;
  --gradient-hero: linear-gradient(135deg, #6E85A3 0%, #193A5B 100%) !important;

  /* Sombras */
  --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1) !important;
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) !important;
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1) !important;
  --shadow-glow: 0 0 20px -5px var(--secondary) !important;

  --radius-sm: 0.375rem !important;
  --radius-md: 0.5rem !important;
  --radius-lg: 0.75rem !important;
  --radius-xl: 1rem !important;
  --radius-2xl: 1.5rem !important;
  --radius-full: 9999px !important;
}

/* Reset e Base */
*, *::before, *::after {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
}

html {
  scroll-behavior: smooth !important;
  font-size: 16px !important;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  background-color: var(--background) !important;
  color: var(--foreground) !important;
  line-height: 1.6 !important;
  -webkit-font-smoothing: antialiased !important;
  overflow-x: hidden !important;
}

/* Tipografia */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--primary-dark) !important;
}

h1 { font-size: clamp(2.5rem, 8vw, 4.5rem) !important; letter-spacing: -0.02em !important; }
h2 { font-size: clamp(2rem, 5vw, 3rem) !important; letter-spacing: -0.01em !important; }
h3 { font-size: clamp(1.5rem, 3vw, 2rem) !important; }

p {
  font-size: 1.05rem !important;
  color: var(--muted-foreground) !important;
}

/* Utilitários de Layout */
.container {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 1.5rem !important;
}

.section {
  padding: clamp(4rem, 10vw, 8rem) 0 !important;
}

.grid {
  display: grid !important;
  gap: 2rem !important;
}

.grid-2 {
  grid-template-columns: repeat(2, 1fr) !important;
}

.grid-3 {
  grid-template-columns: repeat(3, 1fr) !important;
}

@media (max-width: 992px) {
  .grid-3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .grid-2,
  .grid-3 {
    grid-template-columns: 1fr !important;
  }
}

/* Botões Melhorados */
.btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.875rem 1.75rem !important;
  border-radius: var(--radius-lg) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  cursor: pointer !important;
  border: none !important;
  gap: 0.625rem !important;
}

/* Texto responsivo para botões WhatsApp */
.btn-text-mobile { display: none !important; }
.btn-text-desktop { display: inline !important; }

@media (max-width: 768px) {
  .btn-text-mobile { display: inline !important; }
  .btn-text-desktop { display: none !important; }
}

.btn-primary {
  background-color: var(--primary) !important;
  color: var(--white) !important;
  box-shadow: var(--shadow-md) !important;
}

.btn-primary:hover {
  background-color: var(--primary-light) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-lg) !important;
}

.btn-accent {
  background: var(--gradient-accent) !important;
  color: white !important;
  box-shadow: 0 4px 15px rgba(198, 192, 147, 0.4) !important;
}

.btn-accent:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(198, 192, 147, 0.5) !important;
}

.btn-outline {
  background: transparent !important;
  border: 2px solid var(--border) !important;
  color: var(--primary) !important;
}

.btn-outline:hover {
  background: var(--muted) !important;
  border-color: var(--primary) !important;
}

/* ========================================
   GRADIENT FLOW WRAPPER - Áreas + Quadril
   ======================================== */

.gradient-flow-wrapper {
  background: linear-gradient(
    180deg,
    var(--primary) 0%,
    var(--primary-dark) 40%,
    #0a1628 100%
  ) !important;
  position: relative !important;
}

.gradient-flow-section {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
}

/* Estilização da seção #areas dentro do gradient-flow (fundo claro) */
.gradient-flow-wrapper #areas .section-badge {
  background: var(--primary) !important;
  color: white !important;
}

.gradient-flow-wrapper #areas .section-title {
  color: var(--primary-dark) !important;
}

.gradient-flow-wrapper #areas .section-subtitle {
  color: var(--muted-foreground) !important;
}

/* Estilização da seção #quadril dentro do gradient-flow (fundo claro) */
.gradient-flow-wrapper #quadril .specialty-label {
  color: var(--primary) !important;
}

.gradient-flow-wrapper #quadril .specialty-content h2 {
  color: var(--primary-dark) !important;
}

.gradient-flow-wrapper #quadril .specialty-description {
  color: var(--muted-foreground) !important;
}

.gradient-flow-wrapper #quadril .specialty-number {
  color: var(--primary) !important;
  opacity: 0.08 !important;
}

.gradient-flow-wrapper #quadril .feature-item {
  background: white !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.gradient-flow-wrapper #quadril .feature-item:hover {
  background: white !important;
  border-color: var(--secondary) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.15) !important;
}

.gradient-flow-wrapper #quadril .feature-icon {
  background: linear-gradient(135deg, var(--secondary) 0%, var(--secondary-dark) 100%) !important;
  color: white !important;
}

.gradient-flow-wrapper #quadril .feature-text h4 {
  color: var(--primary-dark) !important;
}

.gradient-flow-wrapper #quadril .feature-text p {
  color: var(--muted-foreground) !important;
}

.gradient-flow-wrapper #quadril .specialty-stats {
  border-top-color: rgba(0, 0, 0, 0.08) !important;
}

.gradient-flow-wrapper #quadril .specialty-stat-value {
  color: var(--secondary) !important;
}

.gradient-flow-wrapper #quadril .specialty-stat-label {
  color: var(--muted-foreground) !important;
}

/* ========================================
   SEÇÕES DE ESPECIALIDADES - DESIGN PREMIUM
   ======================================== */

/* ========================================
   SEÇÃO FILOSOFIA - LAYOUT 3 COLUNAS
   ======================================== */

.philosophy-section {
  position: relative !important;
  padding: clamp(4rem, 8vw, 6rem) 0 !important;
  min-height: 500px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: white !important;
  width: 100% !important;
}

.philosophy-container {
  display: grid !important;
  grid-template-columns: 0.8fr 1fr 1fr !important;
  align-items: center !important;
  gap: 40px !important;
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* Coluna Esquerda: Título */
.philosophy-col-left {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding-left: 20px !important;
}

.philosophy-badge {
  background-color: var(--muted) !important;
  color: var(--secondary-dark) !important;
  padding: 8px 18px !important;
  border-radius: 4px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin-bottom: 1.25rem !important;
}

.philosophy-title {
  font-size: clamp(2.5rem, 5vw, 3.5rem) !important;
  font-weight: 700 !important;
  color: var(--primary-dark) !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}

/* Coluna Central: Imagem */
.philosophy-col-center {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-end !important;
}

.philosophy-doctor-img {
  max-width: 100% !important;
  height: auto !important;
  max-height: 450px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.1)) !important;
}

/* Coluna Direita: Citação */
.philosophy-col-right {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding-right: 20px !important;
}

.philosophy-quote {
  font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
  line-height: 1.8 !important;
  color: var(--muted-foreground) !important;
  margin: 0 0 1.5rem 0 !important;
  font-style: italic !important;
  position: relative !important;
  padding-left: 1.5rem !important;
  border-left: 3px solid var(--secondary) !important;
}

.philosophy-author {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--secondary-dark) !important;
  padding-left: 1.5rem !important;
}

.philosophy-author::before {
  content: '— ' !important;
}

/* Responsivo - Tablet */
@media (max-width: 1024px) {
  .philosophy-container {
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
  }

  .philosophy-col-left {
    grid-column: 1 / 2 !important;
    padding-left: 0 !important;
    align-items: center !important;
    text-align: center !important;
  }

  .philosophy-col-center {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 3 !important;
  }

  .philosophy-col-right {
    grid-column: 1 / 2 !important;
    padding-right: 0 !important;
    text-align: center !important;
  }

  .philosophy-quote {
    border-left: none !important;
    padding-left: 0 !important;
    border-top: 3px solid var(--secondary) !important;
    padding-top: 1.5rem !important;
  }

  .philosophy-author {
    padding-left: 0 !important;
  }

  .philosophy-title {
    font-size: clamp(2rem, 4vw, 2.5rem) !important;
  }
}

/* Responsivo - Mobile */
@media (max-width: 768px) {
  .philosophy-section {
    padding: 3rem 1rem !important;
    min-height: auto !important;
  }

  .philosophy-container {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    text-align: center !important;
  }

  .philosophy-col-left {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-items: center !important;
  }

  .philosophy-col-center {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  .philosophy-col-right {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  .philosophy-doctor-img {
    max-height: 350px !important;
  }

  .philosophy-title {
    font-size: 2rem !important;
  }

  .philosophy-quote {
    font-size: 1rem !important;
    padding: 1.25rem 0 0 0 !important;
    border-left: none !important;
    border-top: 3px solid var(--secondary) !important;
  }

  .philosophy-author {
    padding-left: 0 !important;
  }
}

@media (max-width: 480px) {
  .philosophy-section {
    padding: 2.5rem 1rem !important;
  }

  .philosophy-title {
    font-size: 1.75rem !important;
  }

  .philosophy-doctor-img {
    max-height: 280px !important;
  }

  .philosophy-quote {
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
  }

  .philosophy-badge {
    font-size: 0.7rem !important;
    padding: 6px 14px !important;
  }
}

/* ========================================
   SEÇÕES DE ESPECIALIDADES - DESIGN PREMIUM
   ======================================== */

/* Container principal de cada especialidade */
.specialty-section {
  position: relative !important;
  padding: clamp(4rem, 8vw, 7rem) 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Backgrounds alternados */
.specialty-section:nth-child(odd) {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
}

.specialty-section:nth-child(even) {
  background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%) !important;
}

/* Inner container para layout */
.specialty-inner {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 3rem !important;
  align-items: center !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

@media (min-width: 1024px) {
  .specialty-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 5rem !important;
  }

  .specialty-section.reverse .specialty-inner {
    direction: rtl !important;
  }

  .specialty-section.reverse .specialty-inner > * {
    direction: ltr !important;
  }
}

/* Container da imagem */
.specialty-image-container {
  position: relative !important;
  z-index: 2 !important;
}

.specialty-image-wrapper {
  position: relative !important;
  border-radius: var(--radius-2xl) !important;
  overflow: hidden !important;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.25) !important;
}

.specialty-image-wrapper::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.4) 100%) !important;
  z-index: 1 !important;
}

.specialty-image {
  width: 100% !important;
  height: clamp(350px, 50vw, 550px) !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.8s ease !important;
}

.specialty-image-container:hover .specialty-image {
  transform: scale(1.05) !important;
}

/* Badge flutuante */
.specialty-badge {
  position: absolute !important;
  bottom: 1.5rem !important;
  left: 1.5rem !important;
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(10px) !important;
  color: var(--primary) !important;
  padding: 0.875rem 1.5rem !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: 0 10px 30px -5px rgba(0,0,0,0.2) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.625rem !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  z-index: 2 !important;
  border-left: 4px solid var(--secondary) !important;
}

.specialty-badge i {
  color: var(--secondary) !important;
}

/* Decoração lateral */
.specialty-decoration {
  position: absolute !important;
  width: 300px !important;
  height: 300px !important;
  border-radius: 50% !important;
  background: var(--secondary) !important;
  opacity: 0.08 !important;
  filter: blur(80px) !important;
  pointer-events: none !important;
}

.specialty-section:nth-child(odd) .specialty-decoration {
  top: -100px !important;
  right: -100px !important;
}

.specialty-section:nth-child(even) .specialty-decoration {
  bottom: -100px !important;
  left: -100px !important;
  opacity: 0.15 !important;
}

/* Conteúdo da especialidade */
.specialty-content {
  position: relative !important;
  z-index: 2 !important;
}

/* Número da especialidade decorativo */
.specialty-number {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(4rem, 10vw, 8rem) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  opacity: 0.08 !important;
  position: absolute !important;
  top: -2rem !important;
  left: -1rem !important;
  pointer-events: none !important;
  color: var(--primary) !important;
}

.specialty-section:nth-child(even) .specialty-number {
  color: white !important;
  opacity: 0.1 !important;
}

/* Label acima do título */
.specialty-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--secondary) !important;
  margin-bottom: 1rem !important;
}

.specialty-label::before {
  content: '' !important;
  width: 30px !important;
  height: 2px !important;
  background: var(--secondary) !important;
}

.specialty-section:nth-child(even) .specialty-label {
  color: var(--secondary-light) !important;
}

/* Título da especialidade */
.specialty-content h2 {
  font-size: clamp(2rem, 5vw, 3rem) !important;
  margin-bottom: 1.5rem !important;
  color: var(--primary-dark) !important;
  line-height: 1.15 !important;
}

.specialty-section:nth-child(even) .specialty-content h2 {
  color: white !important;
}

/* Descrição */
.specialty-description {
  font-size: 1.125rem !important;
  margin-bottom: 2.5rem !important;
  line-height: 1.9 !important;
  color: var(--muted-foreground) !important;
}

.specialty-section:nth-child(even) .specialty-description {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Grid de features */
.specialty-features {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.25rem !important;
  margin-bottom: 2.5rem !important;
}

@media (min-width: 600px) {
  .specialty-features {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Item de feature */
.feature-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  padding: 1.25rem !important;
  background: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(10px) !important;
  border-radius: var(--radius-lg) !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  transition: all 0.3s ease !important;
}

.feature-item:hover {
  background: white !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 30px -10px rgba(0,0,0,0.15) !important;
}

.specialty-section:nth-child(even) .feature-item {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.specialty-section:nth-child(even) .feature-item:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
}

/* Ícone da feature */
.feature-icon {
  width: 3rem !important;
  height: 3rem !important;
  background: linear-gradient(135deg, var(--secondary) 0%, var(--secondary-dark) 100%) !important;
  border-radius: var(--radius-md) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: white !important;
  flex-shrink: 0 !important;
  box-shadow: 0 4px 15px -3px rgba(198, 192, 147, 0.4) !important;
}

.specialty-section:nth-child(even) .feature-icon {
  background: rgba(255, 255, 255, 0.2) !important;
  color: var(--secondary-light) !important;
}

.feature-text {
  flex: 1 !important;
}

.feature-text h4 {
  font-size: 1rem !important;
  margin-bottom: 0.375rem !important;
  font-weight: 600 !important;
  color: var(--primary-dark) !important;
}

.specialty-section:nth-child(even) .feature-text h4 {
  color: white !important;
}

.feature-text p {
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
  color: var(--muted-foreground) !important;
  margin: 0 !important;
}

.specialty-section:nth-child(even) .feature-text p {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* Botões da especialidade */
.specialty-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
  align-items: center !important;
}

.specialty-section:nth-child(even) .btn-accent {
  background: white !important;
  color: var(--primary) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
}

.specialty-section:nth-child(even) .btn-accent:hover {
  background: var(--secondary-light) !important;
  color: var(--primary-dark) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.2) !important;
}

/* Stats dentro da especialidade */
.specialty-stats {
  display: flex !important;
  gap: 2rem !important;
  margin-top: 2.5rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid rgba(0,0,0,0.08) !important;
}

.specialty-section:nth-child(even) .specialty-stats {
  border-top-color: rgba(255, 255, 255, 0.15) !important;
}

.specialty-stat {
  text-align: left !important;
}

.specialty-stat-value {
  font-family: 'Poppins', sans-serif !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: var(--secondary) !important;
  line-height: 1 !important;
  margin-bottom: 0.25rem !important;
}

.specialty-section:nth-child(even) .specialty-stat-value {
  color: var(--secondary-light) !important;
}

.specialty-stat-label {
  font-size: 0.85rem !important;
  color: var(--muted-foreground) !important;
}

.specialty-section:nth-child(even) .specialty-stat-label {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* Botão Full Width nas especialidades */
.btn-full {
  width: 100% !important;
  justify-content: center !important;
  padding: 1.125rem 2rem !important;
  font-size: 1.05rem !important;
}

/* Header e Nav */
.header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  border-bottom: 1px solid transparent !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.header.scrolled {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1) !important;
}

.header.scrolled .header-top {
  padding: 0.25rem 0 !important;
}

.header.scrolled .header-nav {
  padding: 0.5rem 0 !important;
}

/* Header nav link colors when not scrolled (on hero) */
.header:not(.scrolled) .nav-link,
.header:not(.scrolled) .nav-dropdown-trigger {
  color: white !important;
}

.header:not(.scrolled) .nav-link:hover,
.header:not(.scrolled) .nav-link.active {
  color: var(--secondary-light) !important;
}

/* Logo filter já definido acima */

.header:not(.scrolled) .mobile-menu-btn span {
  background: white !important;
}

/* Botão Agendar Consulta no Header */
.btn-agendar {
  background: var(--gradient-accent) !important;
  color: white !important;
  padding: 0.65rem 1.5rem !important;
  border-radius: var(--radius-lg) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 15px rgba(198, 192, 147, 0.4) !important;
  white-space: nowrap !important;
}

.btn-agendar:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 25px rgba(198, 192, 147, 0.5) !important;
}

@media (max-width: 1100px) {
  .btn-agendar {
    display: none !important;
  }
}

/* Header Container */
.header-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 1rem 1.5rem !important;
}

/* Logo */
.logo {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
}

.logo img {
  height: 45px !important;
  width: auto !important;
  object-fit: contain !important;
  transition: filter 0.3s ease !important;
}

/* Logo branco quando header não tem scroll */
.header:not(.scrolled) .logo img {
  filter: brightness(0) invert(1) !important;
}

.logo-text {
  font-family: 'Poppins', sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--primary) !important;
}

/* Nav Menu Desktop */
.nav-menu {
  display: none !important;
  align-items: center !important;
  gap: 1.5rem !important;
}

@media (min-width: 992px) {
  .nav-menu {
    display: flex !important;
  }
}

.nav-link {
  color: var(--foreground) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 0.3s ease !important;
  position: relative !important;
  padding: 0.5rem 0 !important;
}

.nav-link:hover,
.nav-link.active {
  color: var(--secondary) !important;
}

.nav-link.active::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: var(--secondary) !important;
  border-radius: 2px !important;
}

/* Nav Dropdown */
.nav-item-has-children {
  position: relative !important;
}

.nav-item-has-children .nav-link {
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
}

/* Footer */
.footer {
  background: var(--primary-dark) !important;
  color: var(--white) !important;
  padding: 3rem 0 1.5rem !important;
}

.footer h3, .footer h4 {
  color: var(--white) !important;
}

.footer-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2rem !important;
}

/* Footer columns wrapper for mobile 2-column layout */
.footer-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.5rem !important;
}

@media (min-width: 768px) {
  .footer {
    padding: 5rem 0 2rem !important;
  }

  .footer-grid {
    grid-template-columns: 1.5fr repeat(3, 1fr) !important;
    gap: 3rem !important;
  }

  .footer-columns {
    display: contents !important;
  }
}

.footer-brand {
  text-align: left !important;
}

.footer-brand p {
  color: rgba(255,255,255,0.7) !important;
  margin: 1rem 0 1.5rem !important;
  line-height: 1.7 !important;
  font-size: 0.875rem !important;
}

@media (min-width: 768px) {
  .footer-brand p {
    font-size: 0.95rem !important;
  }
}

.footer-brand h3 {
  font-size: 1.5rem !important;
  margin-bottom: 0.5rem !important;
}

.footer-logo {
  height: 45px !important;
  width: auto !important;
  margin-bottom: 1rem !important;
  filter: brightness(0) invert(1) !important;
}

@media (min-width: 768px) {
  .footer-logo {
    height: 50px !important;
  }
}

.footer-social {
  display: flex !important;
  gap: 0.5rem !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
}

.footer-social a {
  width: 40px !important;
  height: 40px !important;
  border-radius: var(--radius-md) !important;
  background: rgba(255,255,255,0.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--white) !important;
  transition: all 0.3s ease !important;
}

@media (min-width: 768px) {
  .footer-social a {
    width: 44px !important;
    height: 44px !important;
  }
}

.footer-social a:hover {
  background: var(--secondary) !important;
  transform: translateY(-3px) !important;
}

.footer-section {
  text-align: left !important;
}

.footer-section h4,
.footer-links h4,
.footer-title {
  font-size: 0.9rem !important;
  margin-bottom: 0.75rem !important;
  color: var(--white) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

@media (min-width: 768px) {
  .footer-section h4,
  .footer-links h4,
  .footer-title {
    font-size: 1rem !important;
    margin-bottom: 1.25rem !important;
  }
}

.footer-links ul,
.footer-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer-links li,
.footer-list li {
  margin-bottom: 0.5rem !important;
}

.footer-links a,
.footer-link {
  color: rgba(255,255,255,0.7) !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
  font-size: 0.85rem !important;
  padding: 0.125rem 0 !important;
}

@media (min-width: 768px) {
  .footer-links a,
  .footer-link {
    font-size: 0.95rem !important;
    padding: 0.25rem 0 !important;
  }
}

.footer-links a:hover,
.footer-link:hover {
  color: var(--secondary) !important;
  transform: translateX(5px) !important;
}

.footer-contact li,
.contact-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
  color: rgba(255,255,255,0.7) !important;
  justify-content: flex-start !important;
  font-size: 0.85rem !important;
}

@media (min-width: 768px) {
  .footer-contact li,
  .contact-item {
    gap: 0.75rem !important;
    font-size: 0.95rem !important;
    align-items: center !important;
  }
}

.footer-contact i,
.contact-item i {
  color: var(--secondary) !important;
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
}

.footer-bottom {
  margin-top: 2.5rem !important;
  padding-top: 1.5rem !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  text-align: center !important;
  font-size: 0.8rem !important;
  color: rgba(255, 255, 255, 0.6) !important;
}

@media (min-width: 768px) {
  .footer-bottom {
    margin-top: 4rem !important;
    padding-top: 2rem !important;
    font-size: 0.875rem !important;
  }
}

.footer-bottom p {
  margin-bottom: 0.375rem !important;
}

.footer-bottom p:last-child {
  margin-bottom: 0 !important;
}

.footer-bottom .footer-info {
  margin-bottom: 1rem !important;
}

.footer-bottom .footer-credits {
  margin-top: 0.75rem !important;
  font-size: 0.75rem !important;
  opacity: 0.7 !important;
  text-align: right !important;
}

.footer-bottom .footer-credits a {
  color: var(--secondary) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
}

.footer-bottom .footer-credits a:hover {
  opacity: 0.8 !important;
  text-decoration: underline !important;
}

.footer-bottom .legal-info {
  opacity: 0.8 !important;
  margin-top: 0.5rem !important;
}

/* Header Styles */
.header-top {
  background: transparent !important;
  color: var(--white) !important;
  padding: 0.625rem 0 !important;
  font-size: 0.875rem !important;
  transition: all 0.4s ease !important;
}

.header.scrolled .header-top {
  background: var(--primary) !important;
}

.header-top a {
  color: rgba(255, 255, 255, 0.9) !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}

.header-top a:hover {
  color: var(--white) !important;
}

.header-nav {
  padding: 1rem 0 !important;
  background: transparent !important;
  transition: all 0.4s ease !important;
}

.header-content {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 2rem !important;
}

/* Mobile Menu Toggle */
.mobile-menu-toggle,
.mobile-menu-btn {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  color: var(--primary) !important;
  gap: 5px !important;
}

.mobile-menu-btn span {
  display: block !important;
  width: 24px !important;
  height: 2px !important;
  background: var(--primary) !important;
  transition: all 0.3s ease !important;
}

@media (min-width: 992px) {
  .mobile-menu-toggle,
  .mobile-menu-btn {
    display: none !important;
  }
}

/* Mobile Nav Overlay */
.mobile-nav {
  position: fixed !important;
  top: 0 !important;
  right: -100% !important;
  width: 320px !important;
  max-width: 85vw !important;
  height: 100vh !important;
  background: var(--white) !important;
  z-index: 9999 !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.15) !important;
  transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  overflow-y: auto !important;
}

.mobile-nav.active {
  right: 0 !important;
}

/* Mobile Nav Backdrop */
.mobile-nav-backdrop {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.5) !important;
  backdrop-filter: blur(4px) !important;
  z-index: 9998 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s ease !important;
}

.mobile-nav-backdrop.active {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Mobile Nav Header */
.mobile-nav-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 1.25rem 1.5rem !important;
  border-bottom: 1px solid var(--border) !important;
}

.mobile-nav-logo {
  font-family: 'Poppins', sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--primary) !important;
  text-decoration: none !important;
}

.mobile-nav-close {
  width: 40px !important;
  height: 40px !important;
  border-radius: var(--radius-md) !important;
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

.mobile-nav-close:hover {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: white !important;
}

.mobile-nav-close i {
  width: 20px !important;
  height: 20px !important;
  color: var(--foreground) !important;
  transition: color 0.3s ease !important;
}

.mobile-nav-close:hover i {
  color: white !important;
}

/* Mobile Nav Menu Links */
.mobile-nav-menu {
  flex: 1 !important;
  padding: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}

.mobile-nav-link {
  display: flex !important;
  align-items: center !important;
  gap: 0.875rem !important;
  padding: 1rem 1.25rem !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--foreground) !important;
  text-decoration: none !important;
  border-radius: var(--radius-lg) !important;
  transition: all 0.3s ease !important;
}

.mobile-nav-link:hover,
.mobile-nav-link.active {
  background: var(--muted) !important;
  color: var(--secondary) !important;
}

.mobile-nav-link i {
  width: 20px !important;
  height: 20px !important;
  color: var(--muted-foreground) !important;
  transition: color 0.3s ease !important;
}

.mobile-nav-link:hover i,
.mobile-nav-link.active i {
  color: var(--secondary) !important;
}

.mobile-nav-divider {
  height: 1px !important;
  background: var(--border) !important;
  margin: 0.75rem 0 !important;
}

.mobile-nav-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.625rem !important;
  padding: 1rem 1.5rem !important;
  margin: 0.5rem 0 !important;
  background: var(--gradient-accent) !important;
  color: var(--foreground) !important;
  border-radius: var(--radius-lg) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 15px rgba(198, 192, 147, 0.4) !important;
}

.mobile-nav-cta:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 25px rgba(198, 192, 147, 0.5) !important;
}

.mobile-nav-cta i {
  color: var(--foreground) !important;
}

/* Mobile Nav Footer */
.mobile-nav-footer {
  padding: 1.5rem !important;
  border-top: 1px solid var(--border) !important;
  background: var(--muted) !important;
}

.mobile-nav-logo {
  height: 40px !important;
  width: auto !important;
  object-fit: contain !important;
}

.mobile-nav-tagline {
  font-size: 0.8rem !important;
  color: var(--muted-foreground) !important;
  line-height: 1.5 !important;
  margin-bottom: 1.25rem !important;
  font-style: italic !important;
}

.mobile-nav-footer-logo {
  height: 40px !important;
  width: auto !important;
  object-fit: contain !important;
  margin-bottom: 0.75rem !important;
  display: block !important;
}

.mobile-nav-footer-text {
  font-size: 0.8rem !important;
  color: var(--muted-foreground) !important;
  line-height: 1.5 !important;
  margin-bottom: 1rem !important;
}

.mobile-nav-social {
  display: flex !important;
  gap: 0.75rem !important;
}

.mobile-nav-social a {
  width: 40px !important;
  height: 40px !important;
  border-radius: var(--radius-md) !important;
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--foreground) !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}

.mobile-nav-social a:hover {
  background: var(--secondary) !important;
  border-color: var(--secondary) !important;
  color: white !important;
}

.mobile-nav-social a svg,
.mobile-nav-social a i {
  width: 18px !important;
  height: 18px !important;
}

/* Video Modal / Lightbox */
.video-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1rem !important;
  background: rgba(0, 0, 0, 0.9) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s ease !important;
}

.video-modal.active {
  opacity: 1 !important;
  visibility: visible !important;
}

.video-modal-content {
  position: relative !important;
  width: 100% !important;
  max-width: 900px !important;
  aspect-ratio: 16/9 !important;
  background: black !important;
  border-radius: var(--radius-xl) !important;
  overflow: hidden !important;
  transform: scale(0.9) !important;
  transition: transform 0.3s ease !important;
}

.video-modal.active .video-modal-content {
  transform: scale(1) !important;
}

.video-modal-close {
  position: absolute !important;
  top: -50px !important;
  right: 0 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: white !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
}

.video-modal-close:hover {
  background: var(--secondary) !important;
  border-color: var(--secondary) !important;
}

.video-modal iframe {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
}

/* Video Card Cursor */
.video-card {
  cursor: pointer !important;
}

/* Sobre Page */
.sobre-hero {
  padding: clamp(6rem, 15vw, 10rem) 0 4rem !important;
  background: linear-gradient(135deg, var(--muted) 0%, var(--white) 100%) !important;
}

.sobre-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 3rem !important;
  margin-top: 3rem !important;
}

@media (min-width: 768px) {
  .sobre-grid {
    grid-template-columns: 1fr 1.5fr !important;
    align-items: start !important;
  }
}

.sobre-image img {
  width: 100% !important;
  height: auto !important;
  border-radius: var(--radius-xl) !important;
  box-shadow: var(--shadow-xl) !important;
}

.formacao-list {
  list-style: none !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}

.formacao-list li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
}

/* Section Styles */
.section-header {
  text-align: center !important;
  margin-bottom: 3rem !important;
}

.section-badge {
  display: inline-block !important;
  background: var(--muted) !important;
  color: var(--secondary) !important;
  padding: 0.5rem 1rem !important;
  border-radius: var(--radius-full) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 1rem !important;
}

.section-title {
  margin-bottom: 1rem !important;
}

.section-subtitle {
  font-size: 1.125rem !important;
  color: var(--muted-foreground) !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

.section-muted {
  background: var(--muted) !important;
}

/* Diferenciais Grid */
.diferenciais-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  gap: 2rem !important;
}

.diferencial-card {
  background: var(--white) !important;
  padding: 2rem !important;
  border-radius: var(--radius-xl) !important;
  text-align: center !important;
  box-shadow: var(--shadow-md) !important;
  transition: all 0.3s ease !important;
}

.diferencial-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--shadow-xl) !important;
}

.diferencial-icon {
  width: 64px !important;
  height: 64px !important;
  margin: 0 auto 1.5rem !important;
  background: var(--muted) !important;
  border-radius: var(--radius-lg) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.diferencial-title {
  font-size: 1.25rem !important;
  margin-bottom: 0.75rem !important;
}

.diferencial-text {
  font-size: 0.95rem !important;
}

/* CTA Section */
.cta-section {
  position: relative !important;
  padding: 6rem 0 !important;
  overflow: hidden !important;
}

.cta-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}

.cta-bg img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.cta-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, rgba(75, 90, 121, 0.95), rgba(31, 61, 95, 0.95)) !important;
  z-index: 2 !important;
}

.cta-content {
  position: relative !important;
  z-index: 3 !important;
  text-align: center !important;
  color: var(--white) !important;
  max-width: 700px !important;
  margin: 0 auto !important;
}

.cta-title {
  color: var(--white) !important;
  margin-bottom: 1.5rem !important;
}

.cta-text {
  color: rgba(255,255,255,0.9) !important;
  font-size: 1.125rem !important;
  margin-bottom: 2rem !important;
}

.cta-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 1rem !important;
}

.btn-cta-outline {
  background: transparent !important;
  border: 2px solid rgba(255,255,255,0.3) !important;
  color: var(--white) !important;
  padding: 0.875rem 1.75rem !important;
  border-radius: var(--radius-lg) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  transition: all 0.3s ease !important;
}

.btn-cta-outline:hover {
  background: rgba(255,255,255,0.1) !important;
  border-color: rgba(255,255,255,0.5) !important;
}

/* Blog Styles */
.blog-hero {
  padding: clamp(6rem, 15vw, 10rem) 0 4rem !important;
  background: linear-gradient(135deg, var(--muted) 0%, var(--white) 100%) !important;
}

.blog-filters {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  justify-content: center !important;
  margin-bottom: 2rem !important;
}

.blog-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
  gap: 2rem !important;
}

.blog-card {
  background: var(--white) !important;
  border-radius: var(--radius-xl) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-md) !important;
  transition: all 0.3s ease !important;
}

.blog-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--shadow-xl) !important;
}

.blog-card a {
  text-decoration: none !important;
  color: inherit !important;
}

.blog-image {
  position: relative !important;
  height: 200px !important;
  overflow: hidden !important;
}

.blog-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.5s ease !important;
}

.blog-card:hover .blog-image img {
  transform: scale(1.05) !important;
}

.blog-category {
  position: absolute !important;
  top: 1rem !important;
  left: 1rem !important;
  background: var(--secondary) !important;
  color: var(--white) !important;
  padding: 0.25rem 0.75rem !important;
  border-radius: var(--radius-full) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}

.blog-content {
  padding: 1.5rem !important;
}

.blog-date {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-size: 0.875rem !important;
  color: var(--muted-foreground) !important;
  margin-bottom: 0.75rem !important;
}

.blog-title {
  font-size: 1.25rem !important;
  margin-bottom: 0.75rem !important;
  color: var(--foreground) !important;
}

.blog-excerpt {
  font-size: 0.95rem !important;
  color: var(--muted-foreground) !important;
  line-height: 1.6 !important;
  margin-bottom: 1rem !important;
}

.blog-link {
  color: var(--secondary) !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.blog-loading {
  grid-column: 1 / -1 !important;
  text-align: center !important;
  padding: 3rem !important;
}

.loading-spinner {
  width: 40px !important;
  height: 40px !important;
  border: 3px solid var(--border) !important;
  border-top-color: var(--secondary) !important;
  border-radius: 50% !important;
  animation: spin 1s linear infinite !important;
  margin: 0 auto 1rem !important;
}

@keyframes spin {
  to { transform: rotate(360deg) !important; }
}

/* Cards */
.card {
  background: var(--white) !important;
  border-radius: var(--radius-xl) !important;
  box-shadow: var(--shadow-md) !important;
}

/* Utility */
.mb-6 {
  margin-bottom: 1.5rem !important;
}

/* ===== HEADER CONTAINER ===== */
.header-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 1rem 0 !important;
}

.logo-text {
  font-family: 'Poppins', sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--primary) !important;
}

/* Nav Menu Desktop */
.nav-menu {
  display: none !important;
  align-items: center !important;
  gap: 1.5rem !important;
}

@media (min-width: 992px) {
  .nav-menu {
    display: flex !important;
  }
}

.nav-item-has-children {
  position: relative !important;
}

.nav-item-has-children .nav-link {
  display: flex !important;
  align-items: center !important;
}

/* Mega Menu */
.mega-menu {
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(10px) !important;
  background: var(--white) !important;
  border-radius: var(--radius-xl) !important;
  box-shadow: var(--shadow-xl) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s ease !important;
  z-index: 100 !important;
  min-width: 500px !important;
  padding: 0 !important;
}

.nav-item-has-children:hover .mega-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
}

.mega-menu-container {
  padding: 1.5rem !important;
}

.mega-menu-grid {
  display: grid !important;
  grid-template-columns: 1fr 200px !important;
  gap: 1.5rem !important;
}

.mega-menu-column {
  display: flex !important;
  flex-direction: column !important;
}

.mega-menu-title {
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--muted-foreground) !important;
  margin-bottom: 1rem !important;
  padding-bottom: 0.5rem !important;
  border-bottom: 1px solid var(--border) !important;
}

.mega-menu-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.mega-menu-list li {
  margin-bottom: 0.5rem !important;
}

.mega-menu-link {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 0.75rem !important;
  border-radius: var(--radius-md) !important;
  text-decoration: none !important;
  color: var(--foreground) !important;
  transition: all 0.3s ease !important;
}

.mega-menu-link:hover {
  background: var(--muted) !important;
}

.mega-menu-link:hover strong {
  color: var(--secondary) !important;
}

.mega-menu-icon {
  width: 40px !important;
  height: 40px !important;
  background: var(--muted) !important;
  border-radius: var(--radius-md) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--secondary) !important;
  flex-shrink: 0 !important;
}

.mega-menu-link strong {
  display: block !important;
  font-weight: 600 !important;
  margin-bottom: 0.125rem !important;
  transition: color 0.3s ease !important;
}

.mega-menu-link span {
  display: block !important;
  font-size: 0.75rem !important;
  color: var(--muted-foreground) !important;
}

.mega-menu-image {
  position: relative !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
}

.mega-menu-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.mega-menu-image-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 1rem !important;
}

.mega-menu-image-overlay p {
  color: white !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  margin-bottom: 0.5rem !important;
}

.mega-menu-image-overlay a {
  color: var(--secondary) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* Mobile Menu Toggle */
.mobile-menu-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  color: var(--primary) !important;
}

@media (min-width: 992px) {
  .mobile-menu-toggle {
    display: none !important;
  }
}

/* Blog Search */
.blog-search-container {
  position: relative !important;
  max-width: 500px !important;
  margin: 2rem auto !important;
}

.blog-search-icon {
  position: absolute !important;
  left: 1.25rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: var(--muted-foreground) !important;
  width: 20px !important;
  height: 20px !important;
}

.blog-search-input {
  width: 100% !important;
  padding: 1rem 1.25rem 1rem 3.5rem !important;
  border: 2px solid var(--border) !important;
  border-radius: var(--radius-full) !important;
  font-size: 1rem !important;
  background: var(--white) !important;
  transition: all 0.3s ease !important;
}

.blog-search-input:focus {
  outline: none !important;
  border-color: var(--secondary) !important;
  box-shadow: 0 0 0 4px rgba(198, 192, 147, 0.2) !important;
}

/* Category Pills and Buttons */
.category-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  justify-content: center !important;
  margin-top: 1.5rem !important;
}

.category-pill,
.category-btn {
  padding: 0.5rem 1.25rem !important;
  border: 2px solid var(--border) !important;
  background: var(--white) !important;
  border-radius: var(--radius-full) !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  font-size: 0.875rem !important;
}

.category-pill:hover,
.category-pill.active,
.category-btn:hover,
.category-btn.active {
  background: var(--secondary) !important;
  border-color: var(--secondary) !important;
  color: var(--white) !important;
}

/* Blog Hero Text Center */
.blog-hero {
  text-align: center !important;
}

.blog-hero .section-badge,
.blog-hero .section-title,
.blog-hero .section-subtitle {
  text-align: center !important;
}

/* Social Links in Footer */
.social-links {
  display: flex !important;
  gap: 0.75rem !important;
}

.social-link {
  width: 40px !important;
  height: 40px !important;
  border-radius: var(--radius-md) !important;
  background: rgba(255,255,255,0.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--white) !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}

.social-link:hover {
  background: var(--secondary) !important;
  transform: translateY(-3px) !important;
}

/* Animações */
@keyframes fadeInUp {
  from { opacity: 0 !important; transform: translateY(20px) !important; }
  to { opacity: 1 !important; transform: translateY(0) !important; }
}

.animate-fade-in {
  animation: fadeInUp 0.8s ease-out forwards !important;
}

/* ===== TESTIMONIALS SECTION ===== */
.testimonials-section {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%) !important;
  padding: clamp(4rem, 10vw, 8rem) 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

.testimonials-section::before {
  content: '' !important;
  position: absolute !important;
  top: -50% !important;
  right: -20% !important;
  width: 60% !important;
  height: 150% !important;
  background: radial-gradient(circle, rgba(198, 192, 147, 0.15) 0%, transparent 70%) !important;
  pointer-events: none !important;
}

.testimonials-section .section-badge {
  background: rgba(198, 192, 147, 0.25) !important;
  color: var(--secondary-dark) !important;
}

.testimonials-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
  gap: 2rem !important;
  margin-top: 3rem !important;
}

.testimonial-card {
  background: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: var(--radius-xl) !important;
  padding: 2rem !important;
  position: relative !important;
  transition: all 0.3s ease !important;
}

.testimonial-card:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  transform: translateY(-5px) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2) !important;
}

.testimonial-quote {
  position: absolute !important;
  top: 1.5rem !important;
  right: 1.5rem !important;
  width: 40px !important;
  height: 40px !important;
  background: var(--secondary) !important;
  border-radius: var(--radius-md) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.testimonial-stars {
  display: flex !important;
  gap: 0.25rem !important;
  margin-bottom: 1.25rem !important;
}

.testimonial-stars i {
  width: 18px !important;
  height: 18px !important;
}

.testimonial-text {
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  margin-bottom: 1.5rem !important;
  font-style: italic !important;
}

.testimonial-author {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  padding-top: 1.5rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.testimonial-avatar {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 3px solid var(--secondary) !important;
}

/* Avatar com Iniciais */
.testimonial-avatar-initials {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  border: 3px solid var(--secondary) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
  color: white !important;
  flex-shrink: 0 !important;
  text-transform: uppercase !important;
}

/* Cores variadas para avatares */
.avatar-color-1 { background: linear-gradient(135deg, #6E85A3, #193A5B) !important; }
.avatar-color-2 { background: linear-gradient(135deg, #D6BA79, #b5984a) !important; }
.avatar-color-3 { background: linear-gradient(135deg, #5a8a7d, #3d6b5f) !important; }
.avatar-color-4 { background: linear-gradient(135deg, #8b7355, #6b5540) !important; }
.avatar-color-5 { background: linear-gradient(135deg, #7a6b8a, #5a4d6b) !important; }
.avatar-color-6 { background: linear-gradient(135deg, #8a6b6b, #6b4d4d) !important; }

/* ===== TESTIMONIALS CAROUSEL INFINITE ===== */
.testimonials-carousel-wrapper {
  overflow: hidden !important;
  margin-top: 2rem !important;
  padding: 1rem 0 !important;
}

.testimonials-carousel-track {
  display: flex !important;
  gap: 1.5rem !important;
  width: max-content !important;
}

/* Animação para direita */
.testimonials-carousel-track.scroll-right {
  animation: scrollRight 60s linear infinite !important;
}

/* Animação para esquerda */
.testimonials-carousel-track.scroll-left {
  animation: scrollLeft 60s linear infinite !important;
}

@keyframes scrollRight {
  0% { transform: translateX(0) !important; }
  100% { transform: translateX(-50%) !important; }
}

@keyframes scrollLeft {
  0% { transform: translateX(-50%) !important; }
  100% { transform: translateX(0) !important; }
}

/* Pausar animação no hover */
.testimonials-carousel-wrapper:hover .testimonials-carousel-track {
  animation-play-state: paused !important;
}

/* Card do carrossel */
.testimonial-carousel-card {
  background: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: var(--radius-xl) !important;
  padding: 1.5rem !important;
  width: 380px !important;
  flex-shrink: 0 !important;
  transition: all 0.3s ease !important;
}

.testimonial-carousel-card:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  transform: scale(1.02) !important;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2) !important;
}

.testimonial-carousel-card .testimonial-text {
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  margin-bottom: 1rem !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 4 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.testimonial-carousel-card .testimonial-author {
  padding-top: 1rem !important;
}

.testimonial-carousel-card .testimonial-avatar-initials {
  width: 44px !important;
  height: 44px !important;
  font-size: 1rem !important;
}

.testimonial-carousel-card .testimonial-name {
  font-size: 0.9rem !important;
}

.testimonial-carousel-card .testimonial-role {
  font-size: 0.75rem !important;
}

@media (max-width: 768px) {
  .testimonial-carousel-card {
    width: 300px !important;
    padding: 1.25rem !important;
  }

  .testimonials-carousel-track.scroll-right,
  .testimonials-carousel-track.scroll-left {
    animation-duration: 40s !important;
  }
}

.testimonial-name {
  font-weight: 600 !important;
  color: white !important;
  font-size: 1rem !important;
  margin-bottom: 0.25rem !important;
}

.testimonial-role {
  font-size: 0.875rem !important;
  color: rgba(255, 255, 255, 0.6) !important;
}

/* ===== VIDEOS SECTION ===== */
.videos-section-header {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
  margin-bottom: 3rem !important;
}

@media (min-width: 768px) {
  .videos-section-header {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
  }
}

.videos-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
}

@media (max-width: 1024px) {
  .videos-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .videos-grid {
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }
}

.video-card {
  background: transparent !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
  border-radius: var(--radius-xl) !important;
  overflow: hidden !important;
}

.video-card:hover {
  transform: translateY(-5px) !important;
}

.video-thumbnail {
  position: relative !important;
  aspect-ratio: 4/3 !important;
  overflow: hidden !important;
  border-radius: var(--radius-xl) !important;
  box-shadow: var(--shadow-md) !important;
  background: var(--foreground) !important;
  transition: box-shadow 0.3s ease !important;
}

.video-card:hover .video-thumbnail {
  box-shadow: var(--shadow-xl) !important;
}

.video-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.5s ease !important;
}

.video-card:hover .video-thumbnail img {
  transform: scale(1.05) !important;
}

/* Overlay gradient at bottom */
.video-overlay {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 4rem 1.25rem 1.25rem !important;
  background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.6) 50%, transparent 100%) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}

.video-channel {
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.7) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 0.35rem !important;
}

.video-title-overlay {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: white !important;
  line-height: 1.35 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Play button centered */
.video-play {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  opacity: 1 !important;
  transition: all 0.3s ease !important;
  pointer-events: none !important;
}

.video-play-btn {
  width: 60px !important;
  height: 60px !important;
  background: rgba(255,255,255,0.95) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
  transition: all 0.3s ease !important;
}

.video-play-btn i {
  color: var(--foreground) !important;
  margin-left: 3px !important;
}

.video-card:hover .video-play-btn {
  transform: scale(1.1) !important;
  background: white !important;
}

.video-category {
  position: absolute !important;
  top: 1rem !important;
  left: 1rem !important;
  background: var(--secondary) !important;
  color: white !important;
  padding: 0.375rem 0.875rem !important;
  border-radius: var(--radius-full) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* Legacy title - hidden but kept for compatibility */
.video-title {
  display: none !important;
}

/* ===== GLOBAL MOBILE FIXES ===== */
@media (max-width: 768px) {
  /* Container */
  .container {
    padding: 0 1rem !important;
  }

  /* Section padding */
  .section {
    padding: clamp(3rem, 8vw, 5rem) 0 !important;
  }

  /* Typography */
  h1 { font-size: clamp(1.75rem, 6vw, 2.5rem) !important; }
  h2 { font-size: clamp(1.5rem, 5vw, 2rem) !important; }
  h3 { font-size: clamp(1.25rem, 4vw, 1.5rem) !important; }

  .section-title {
    font-size: clamp(1.5rem, 5vw, 2rem) !important;
  }

  .section-subtitle {
    font-size: 1rem !important;
    padding: 0 0.5rem !important;
  }

  /* Header fixes */
  .header-top {
    font-size: 0.75rem !important;
    padding: 0.5rem 0 !important;
  }

  .header-top a {
    font-size: 0.75rem !important;
  }

  /* Esconder telefone e redes sociais no mobile */
  .header-top-phone,
  .header-top-social {
    display: none !important;
  }

  /* Centralizar texto da consulta no mobile */
  .header-top-wrapper {
    justify-content: center !important;
  }

  .header-top-left {
    justify-content: center !important;
  }

  .header-top-consultation {
    font-size: 0.8rem !important;
  }

  .header-nav {
    padding: 0.75rem 0 !important;
  }

  .logo {
    font-size: 1.25rem !important;
  }

  /* Footer mobile */
  .footer {
    padding: 3rem 0 1.5rem !important;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    text-align: center !important;
  }

  /* Specialty section */
  .specialty-section {
    padding: 1.5rem !important;
    margin-bottom: 2rem !important;
    gap: 2rem !important;
  }

  .specialty-image {
    height: 300px !important;
  }

  .specialty-features {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  /* Blog fixes */
  .blog-grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  .blog-hero {
    padding: clamp(6rem, 12vw, 8rem) 0 3rem !important;
  }

  .blog-search-container {
    max-width: 100% !important;
    margin: 1.5rem 0 !important;
  }

  .blog-search-input {
    padding: 0.875rem 1rem 0.875rem 3rem !important;
    font-size: 0.95rem !important;
  }

  .category-pills {
    gap: 0.5rem !important;
    margin-top: 1rem !important;
  }

  .category-pill {
    padding: 0.375rem 0.875rem !important;
    font-size: 0.8rem !important;
  }

  /* Testimonials */
  .testimonials-section {
    padding: clamp(3rem, 8vw, 5rem) 0 !important;
  }

  .testimonials-grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  .testimonial-card {
    padding: 1.5rem !important;
  }

  .testimonial-text {
    font-size: 0.95rem !important;
  }

  .testimonial-avatar {
    width: 48px !important;
    height: 48px !important;
  }

  /* Videos section */
  .videos-section-header {
    text-align: center !important;
    gap: 1rem !important;
  }

  /* CTA section */
  .cta-section {
    padding: 4rem 0 !important;
  }

  .cta-title {
    font-size: 1.5rem !important;
  }

  .cta-text {
    font-size: 1rem !important;
  }

  .cta-buttons {
    flex-direction: column !important;
    gap: 0.75rem !important;
  }

  .cta-buttons .btn {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Diferenciais */
  .diferenciais-grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  .diferencial-card {
    padding: 1.5rem !important;
  }

  .diferencial-icon {
    width: 56px !important;
    height: 56px !important;
    margin-bottom: 1rem !important;
  }

  .diferencial-title {
    font-size: 1.125rem !important;
  }

  /* Buttons */
  .btn {
    padding: 0.75rem 1.5rem !important;
    font-size: 0.95rem !important;
  }

  .btn-cta-outline {
    padding: 0.75rem 1.5rem !important;
  }

  /* Sobre page specific */
  .sobre-hero {
    padding: clamp(6rem, 12vw, 8rem) 0 3rem !important;
  }

  .sobre-grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  .sobre-image img {
    max-width: 280px !important;
    margin: 0 auto !important;
    display: block !important;
  }

  /* Formação list */
  .formacao-list {
    gap: 0.75rem !important;
  }

  .formacao-list li {
    font-size: 0.9rem !important;
    align-items: flex-start !important;
  }

  /* Mobile nav improvements */
  .mobile-nav {
    padding: 2rem 1.5rem !important;
    gap: 1.5rem !important;
  }

  .mobile-nav a {
    font-size: 1.125rem !important;
  }
}

/* Extra small devices */
@media (max-width: 480px) {
  .container {
    padding: 0 0.75rem !important;
  }

  h1 { font-size: 1.5rem !important; }
  h2 { font-size: 1.375rem !important; }

  .section-badge {
    font-size: 0.75rem !important;
    padding: 0.375rem 0.75rem !important;
  }

  .specialty-section {
    padding: 1.25rem !important;
  }

  .specialty-badge {
    font-size: 0.75rem !important;
    padding: 0.625rem !important;
  }

  .blog-card .blog-content {
    padding: 1rem !important;
  }

  .blog-title {
    font-size: 1.125rem !important;
  }

  .blog-excerpt {
    font-size: 0.875rem !important;
  }
}

/* WhatsApp Floating Button */
.whatsapp-float {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  width: 60px !important;
  height: 60px !important;
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4) !important;
  z-index: 9999 !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
}

.whatsapp-float:hover {
  transform: scale(1.1) !important;
  box-shadow: 0 6px 30px rgba(37, 211, 102, 0.5) !important;
}

.whatsapp-float i {
  width: 28px !important;
  height: 28px !important;
  color: white !important;
}

.whatsapp-tooltip {
  position: absolute !important;
  right: 70px !important;
  background: #333 !important;
  color: white !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s ease !important;
  pointer-events: none !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.whatsapp-tooltip::after {
  content: '' !important;
  position: absolute !important;
  right: -8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border-width: 8px 0 8px 8px !important;
  border-style: solid !important;
  border-color: transparent transparent transparent #333 !important;
}

.whatsapp-float:hover .whatsapp-tooltip {
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 768px) {
  .whatsapp-float {
    bottom: 16px !important;
    right: 16px !important;
    width: 54px !important;
    height: 54px !important;
  }

  .whatsapp-float i {
    width: 24px !important;
    height: 24px !important;
  }

  .whatsapp-tooltip {
    display: none !important;
  }
}

/* ===== CONSULTATION BADGES ===== */

/* Badge no Hero */
.consultation-badge-hero {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  color: var(--secondary) !important;
  padding: 0.5rem 0.75rem !important;
  border-radius: 0.5rem !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  margin-bottom: 1rem !important;
  letter-spacing: 0.01em !important;
  border: 1px solid var(--secondary) !important;
  background: transparent !important;
}

.consultation-badge-hero i {
  width: 14px !important;
  height: 14px !important;
}

/* Badge na seção de Filosofia */
.consultation-badge-philosophy {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  background: linear-gradient(135deg, var(--secondary-light) 0%, var(--secondary) 100%) !important;
  color: white !important;
  padding: 0.875rem 1.5rem !important;
  border-radius: 1.5rem !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  margin-bottom: 1.75rem !important;
  box-shadow: var(--shadow-glow) !important;
  animation: fadeInUp 0.6s ease-out both !important;
}

.consultation-badge-philosophy strong {
  font-weight: 700 !important;
}

@keyframes fadeInUp {
  from {
    opacity: 0 !important;
    transform: translateY(20px) !important;
  }
  to {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
}

/* Feature item destacado para tipo de consulta */
.feature-item.consultation-type {
  position: relative !important;
  background: linear-gradient(135deg, rgba(45, 155, 138, 0.1) 0%, rgba(214, 186, 121, 0.08) 100%) !important;
  border: 2px solid rgba(45, 155, 138, 0.3) !important;
  border-radius: 1rem !important;
  padding: 1.5rem !important;
  transition: all 0.3s ease !important;
}

.feature-item.consultation-type:hover {
  background: linear-gradient(135deg, rgba(45, 155, 138, 0.15) 0%, rgba(214, 186, 121, 0.12) 100%) !important;
  border-color: rgba(45, 155, 138, 0.5) !important;
  box-shadow: 0 8px 20px rgba(45, 155, 138, 0.2) !important;
  transform: translateY(-4px) !important;
}

.feature-item.consultation-type .feature-icon {
  background: linear-gradient(135deg, #2d9b8a 0%, var(--secondary) 100%) !important;
  color: white !important;
}

.feature-item.consultation-type h4 {
  color: var(--primary) !important;
  font-weight: 700 !important;
}

/* Responsivo */
@media (max-width: 768px) {
  .consultation-badge-hero {
    padding: 0.4rem 0.6rem !important;
    font-size: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }

  .consultation-badge-philosophy {
    padding: 0.75rem 1.25rem !important;
    font-size: 0.85rem !important;
    margin-bottom: 1.5rem !important;
  }

  .feature-item.consultation-type {
    padding: 1.25rem !important;
  }
}

/* ===== CONSULTATION BADGE NA HEADER ===== */
