/*
  Theme Name: Quadros de Saúde Child
  Description: Tema filho para o projeto Quadros de Saúde, focado em performance e SEO.
  Author: André Quadros
  Template: hello-elementor
  Version: 1.1.0
*/

/* --- MASTER DESIGN SYSTEM (NUCLEAR ALIGNMENT FIX) --- */

:root {
  /* --- PALETA DE AUTORIDADE (PRD) --- */
  --qds-primary: #0A192F;    /* DEEP NAVY: Transmite robustez, seriedade e rigor clínico (Headers/Footers) */
  --qds-secondary: #3B82F6;  /* TECH BLUE: A cor da tecnologia e inovação (CTAs, Ícones e Links) */
  --qds-accent: #64FFDA;     /* ACCENT: Um toque de "Coding" para detalhes técnicos sutis */
  
  /* --- CORES DE CLAREZA (NEUTROS) --- */
  --qds-bg: #F8FAFC;         /* BACKGROUND GELO: Oferece clareza e limpeza visual (Estética Premium) */
  --qds-bg-alt: #FFFFFF;     /* BRANCO PURO: Usado em cards para destaque sobre o fundo gelo */
  --qds-text: #1E293B;       /* SLATE ESCURO: Texto principal com alto contraste e legibilidade */
  --qds-text-soft: #475569;  /* SLATE SUAVE: Texto secundário para descrições e metas */
  --qds-white: #FFFFFF;      /* BRANCO ABSOLUTO: Para textos sobre fundos escuros */

  /* --- ESTRUTURA --- */
  --qds-container: 1100px;   /* LARGURA MÁXIMA: O Eixo Central Sagrado */
}

/* RESET TOTAL DE ALINHAMENTO */
body {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
  background-color: var(--qds-bg) !important;
  overflow-x: hidden !important;
  width: 100% !important;
  align-items: center !important; /* Força o alinhamento central dos filhos flex */
}

#main, .site-main, #content {
  flex: 1 !important;
  width: 100% !important;
  display: block !important; /* Garante comportamento de bloco para as seções */
  margin: 0 !important;
  padding: 0 !important;
}

section {
  width: 100% !important;
  display: block !important;
  position: relative !important;
}

/* O Eixo Central Sagrado */
.container {
  max-width: var(--qds-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;
}

/* --- CABEÇALHO (HEADER) --- */
.qds-main-header {
  background-color: var(--qds-primary) !important;
  width: 100% !important;
  padding: 1.5rem 0 !important;
  z-index: 9999 !important;
}
.qds-header-container {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.qds-logo { text-decoration: none !important; }
.qds-logo-prefix { color: var(--qds-secondary); font-size: 2rem; font-weight: 900; letter-spacing: 2px; }
.qds-logo-suffix { color: var(--qds-white); font-size: 0.8rem; text-transform: uppercase; display: block; margin-top: -5px; opacity: 0.8; }

.qds-manual-menu { display: flex; list-style: none; gap: 2rem; margin: 0; padding: 0; }
.qds-manual-menu a { color: var(--qds-white); text-decoration: none; font-weight: 600; font-size: 0.9rem; text-transform: uppercase; }

/* --- HERO SECTION --- */
.qds-hero-section {
  background: linear-gradient(135deg, var(--qds-primary) 0%, #1a2e4c 100%) !important;
  color: var(--qds-white) !important;
  padding: 140px 0 !important;
  text-align: center !important;
  width: 100% !important;
}
.qds-main-title { font-size: 4rem !important; color: var(--qds-white) !important; margin-bottom: 20px !important; font-weight: 900 !important; }
.qds-subtitle { font-size: 1.5rem !important; opacity: 0.9 !important; margin-bottom: 40px !important; max-width: 800px !important; margin-left: auto !important; margin-right: auto !important; }

.qds-cta-group {
  display: flex !important;
  gap: 20px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}

/* --- SEÇÕES E CARDS --- */
.qds-section-padding { padding: 80px 0 !important; }
.qds-bg-alt { background-color: var(--qds-bg-alt) !important; }
.qds-section-title { 
  text-align: center !important; 
  font-size: 2.5rem !important; 
  margin-bottom: 50px !important; 
  color: var(--qds-primary) !important;
  font-weight: 800 !important;
}

.qds-card {
  background: var(--qds-white) !important;
  border-radius: 12px !important;
  padding: 40px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important;
  border: 1px solid rgba(0,0,0,0.03) !important;
  text-align: center !important;
}

.qds-grid-layout {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 30px !important;
}

.qds-icon-blue { color: var(--qds-secondary) !important; width: 48px; height: 48px; margin-bottom: 20px; }

.qds-card h3 { 
  color: var(--qds-primary) !important; 
  margin-top: 0 !important; 
  font-size: 1.4rem !important;
  margin-bottom: 10px !important;
}

.qds-card p {
  color: var(--qds-text-soft) !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
}

/* --- BOTÕES --- */
.qds-button {
  display: inline-block !important;
  background-color: var(--qds-secondary) !important;
  color: var(--qds-white) !important;
  padding: 1rem 2.5rem !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  border: none !important;
  cursor: pointer !important;
}
.qds-button:hover { transform: translateY(-2px) !important; box-shadow: 0 5px 15px rgba(0,119,255,0.3) !important; }

.qds-button.secondary {
  background-color: transparent !important;
  border: 2px solid var(--qds-secondary) !important;
  color: var(--qds-secondary) !important; /* Cor alterada para visibilidade em fundo branco */
}
.qds-button.secondary:hover {
  background-color: var(--qds-secondary) !important;
  color: var(--qds-white) !important;
}

/* Ajuste específico para quando o botão secundário está no Hero (Fundo Escuro) */
.qds-hero-section .qds-button.secondary {
  color: var(--qds-white) !important;
}

/* ANIMATIONS */
.qds-pulse { animation: qds-pulse-blue 2s infinite; }
@keyframes qds-pulse-blue {
  0% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.7); }
  70% { box-shadow: 0 0 0 10px rgba(59, 130, 246, 0); }
  100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); }
}

.qds-fade-in {
  animation: fadeIn 1s ease-out forwards;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* CLICKABLE CARDS */
.qds-clickable-card { 
  text-decoration: none !important; 
  display: block !important; 
  cursor: pointer !important;
}
.qds-clickable-card:hover {
  border-color: var(--qds-secondary) !important;
}
.card-action {
  display: block;
  margin-top: 20px;
  font-weight: 700;
  color: var(--qds-secondary);
  font-size: 0.9rem;
  opacity: 0; /* Totalmente oculto por padrão para foco no texto */
  transform: translateX(-10px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none; /* Evita interferência no clique antes do hover */
}
.qds-clickable-card:hover .card-action { 
  opacity: 1; 
  transform: translateX(0); 
}

/* --- FOOTER --- */
.qds-main-footer {
  background-color: var(--qds-primary) !important;
  color: var(--qds-white) !important;
  padding: 60px 0 !important;
}
.qds-footer-container { display: flex !important; justify-content: space-between !important; align-items: center !important; }

/* Correção de cor dos ícones sociais (Removendo o Vermelho) */
.qds-footer-social a {
  color: var(--qds-white) !important;
  opacity: 0.7;
  transition: opacity 0.3s ease;
  margin: 0 10px;
}
.qds-footer-social a:hover {
  opacity: 1;
  color: var(--qds-secondary) !important;
}
.qds-footer-social svg {
  stroke: currentColor;
}

/* RESPONSIVIDADE */
@media (max-width: 768px) {
  .qds-main-title { font-size: 2.5rem !important; }
  .qds-header-container, .qds-footer-container { flex-direction: column !important; gap: 20px !important; }
}