/* ==========================================================================
   grupo-slides.css — estilo compartilhado das apresentações de defesa (3SemVG)
   Refatorado para usar variáveis de tema (temas.css).
   Paleta baseia-se em --accent / --accent-dark / --accent-soft / --tinta / --tinta2.
   Uso: <link rel="stylesheet" href="../assets/identidade/temas.css">  (ANTES deste link)
           <link rel="stylesheet" href="../assets/reveal/grupo-slides.css">
   e no <body> do deck: class="tema-g1" … "tema-g6"
   ========================================================================== */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: var(--fonte, 'Segoe UI', Arial, sans-serif); }

.reveal .slides section { text-align: left; padding: 0 40px; }
.reveal .slides { text-align: left; }

.reveal .slides section.dark {
  color: #fff;
  background: linear-gradient(135deg, var(--tinta,#1a1a2e) 0%, var(--tinta2,#16213e) 100%);
}
.reveal .slides section.cover { background: #ffffff; }
.reveal .slides section.cover,
.reveal .slides section.dark {
  justify-content: center;
  align-items: center;
  text-align: center;
}

.reveal h1 { font-size: 32px; color: var(--tinta,#1a1a2e); margin-bottom: 12px; font-weight: 700; line-height: 1.2; text-transform: none; font-family: var(--fonte-titulo, 'Segoe UI', Arial, sans-serif); }
.reveal h2 { font-size: 24px; color: var(--accent,#e94560); margin-bottom: 10px; text-transform: none; }
.reveal h3 { font-size: 18px; color: var(--texto,#2d3748); margin-bottom: 8px; text-transform: none; }
.reveal .dark h1, .reveal .dark h2 { color: #fff; }
.reveal .dark h3 { color: var(--accent,#e94560); }

.reveal .subtitle { font-size: 14px; color: var(--texto-suave,#666); padding-top: 10px; border-top: 1px solid var(--linha,#E2E8F0); margin-top: 20px; }
.reveal .dark .subtitle { color: #A0AEC0; border-top-color: rgba(255,255,255,0.2); }

.reveal .content { display: flex; flex-direction: column; justify-content: flex-start; padding: 10px 0; }
.reveal .content ul { list-style: none; font-size: 20px; line-height: 1.6; }
.reveal .content ul li { padding: 5px 0 5px 20px; position: relative; }
.reveal .content ul li::before { content: ""; position: absolute; left: 0; top: 12px; width: 6px; height: 6px; background: var(--accent,#e94560); border-radius: 50%; }

.reveal .highlight-box { background: var(--accent-soft,#fdf2f4); border-left: 4px solid var(--accent,#e94560); padding: 12px 15px; margin: 10px 0; border-radius: 0 8px 8px 0; }
.reveal .dark .highlight-box { background: rgba(var(--accent-rgb,233,69,96),0.15); border-left-color: var(--accent,#e94560); }

.reveal .success-box { background: #F0FDF4; border-left: 4px solid #38A169; padding: 12px 15px; margin: 10px 0; border-radius: 0 8px 8px 0; }
.reveal .warning-box { background: #FFFBEB; border-left: 4px solid #DD6B20; padding: 12px 15px; margin: 10px 0; border-radius: 0 8px 8px 0; }

.reveal table { width: 100%; border-collapse: collapse; font-size: 16px; margin: 10px 0; }
.reveal th { background: var(--tinta,#1a1a2e); color: #fff; padding: 8px; text-align: left; font-weight: 600; }
.reveal td { padding: 6px 8px; border-bottom: 1px solid var(--linha,#E2E8F0); vertical-align: top; }
.reveal tr:nth-child(even) { background: var(--fundo,#F7FAFC); }
.reveal table.compact { font-size: 14px; }
.reveal table.compact th, .reveal table.compact td { padding: 5px 7px; }

.reveal .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.reveal .three-col { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 15px; align-items: start; }

.reveal .card { background: var(--fundo,#F7FAFC); border-radius: 8px; padding: 12px; border: 1px solid var(--linha,#E2E8F0); }
.reveal .card h3 { color: var(--tinta,#1a1a2e); font-size: 19px; margin-bottom: 6px; }
.reveal .card p { font-size: 17px; color: var(--texto-suave,#4A5568); line-height: 1.45; }

.reveal .quote { font-size: 20px; font-style: italic; color: var(--texto,#2D3748); border-left: 4px solid var(--accent,#e94560); padding: 15px 20px; margin: 10px 0; background: var(--accent-soft,#fdf2f4); border-radius: 0 8px 8px 0; line-height: 1.5; }
.reveal .dark .quote { background: rgba(var(--accent-rgb,233,69,96),0.15); color: #F1F5F9; }

.reveal .badge { display: inline-block; background: var(--accent,#e94560); color: #fff; padding: 5px 12px; border-radius: 15px; font-size: 15px; margin: 3px; }
.reveal .badge.green { background: #38A169; }
.reveal .badge.orange { background: #DD6B20; }
.reveal .badge.blue { background: #3182CE; }
.reveal .badge.purple { background: #805AD5; }

.reveal .objective-list { counter-reset: objective; list-style: none; }
.reveal .objective-list li { counter-increment: objective; padding: 6px 0 6px 35px; position: relative; font-size: 18px; }
.reveal .objective-list li::before { content: counter(objective); position: absolute; left: 0; top: 6px; width: 24px; height: 24px; background: var(--accent,#e94560); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 12px; }

.reveal .step-list { counter-reset: step; list-style: none; }
.reveal .step-list li { counter-increment: step; padding: 8px 0 8px 40px; position: relative; font-size: 18px; }
.reveal .step-list li::before { content: counter(step); position: absolute; left: 0; top: 6px; width: 28px; height: 28px; background: var(--accent,#e94560); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 14px; }

.reveal .contact-row { display: flex; gap: 30px; justify-content: center; margin-top: 15px; }
.reveal .contact-item { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--texto-suave,#666); }

.reveal .activity-box { background: #F0FDF4; border: 2px solid #38A169; padding: 15px 20px; margin: 15px 0; border-radius: 8px; }
.reveal .activity-box h3 { color: #38A169; margin-bottom: 8px; }

.reveal .prompt-box { background: var(--tinta,#1a1a2e); color: #e9e9e9; padding: 15px 20px; border-radius: 8px; font-family: 'Consolas', monospace; font-size: 15px; line-height: 1.6; margin: 10px 0; }

.reveal .cred-list { list-style: none; font-size: 15px; line-height: 1.8; }
.reveal .cred-list li { padding: 4px 0; }

.reveal .compare-box { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.reveal .compare-box > div { padding: 15px; border-radius: 8px; }
.reveal .compare-box .bad { border-left: 4px solid var(--accent,#e94560); background: var(--accent-soft,#fdf2f4); }
.reveal .compare-box .good { border-left: 4px solid #38A169; background: #F0FDF4; }

.reveal .checklist { list-style: none; font-size: 19px; line-height: 1.9; }
.reveal .checklist li { padding: 4px 0 4px 34px; position: relative; }
.reveal .checklist li::before { content: ""; position: absolute; left: 0; top: 8px; width: 20px; height: 20px; border: 2px solid var(--accent,#e94560); border-radius: 5px; }
.reveal .group-chip { display: inline-block; background: var(--tinta,#1a1a2e); color: #fff; padding: 6px 14px; border-radius: 8px; font-size: 14px; font-weight: 600; letter-spacing: .04em; margin-bottom: 10px; }

/* ---- Extras: dados, referencial, KPIs ---- */
.reveal .kpi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 14px 0; }
.reveal .kpi { background: #fff; border: 1px solid var(--linha,#E2E8F0); border-radius: 10px; padding: 12px; text-align: center; }
.reveal .kpi b { display: block; font-size: 30px; color: var(--accent,#e94560); line-height: 1.1; }
.reveal .kpi span { font-size: 13px; color: var(--texto-suave,#4A5568); }
.reveal .dark .kpi { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.15); }
.reveal .dark .kpi span { color: #CBD5E0; }

.reveal .source { font-size: 12px; color: var(--texto-suave,#718096); margin-top: 4px; }
.reveal .dark .source { color: #A0AEC0; }

.reveal .ref-list { list-style: none; font-size: 13.5px; line-height: 1.4; }
.reveal .ref-list li { padding: 6px 0 6px 20px; position: relative; border-bottom: 1px dashed var(--linha,#E2E8F0); }
.reveal .ref-list li::before { content: "▸"; position: absolute; left: 0; color: var(--accent,#e94560); }
.reveal .ref-list .doi { color: #2563eb; font-family: 'Consolas', monospace; font-size: 12px; }
.reveal .ref-list .cite { color: var(--texto-suave,#718096); font-size: 12px; }

.reveal .paper-card { background: #fff; border-left: 4px solid var(--accent,#e94560); border-radius: 0 8px 8px 0; padding: 10px 13px; margin: 7px 0; font-size: 14px; }
.reveal .paper-card b { color: var(--tinta,#1a1a2e); }
.reveal .paper-card .doi { color: #2563eb; font-family: 'Consolas', monospace; font-size: 12px; }
.reveal .paper-card .abs { color: var(--texto-suave,#4A5568); font-size: 13px; }

.reveal .tag { display: inline-block; background: #EDF2F7; color: #4A5568; border-radius: 6px; padding: 2px 8px; font-size: 12px; margin: 2px; }
.reveal .tag.hot { background: var(--accent-soft,#fdf2f4); color: var(--accent-dark,#c73550); }
.reveal .deck-footer { position: absolute; bottom: 18px; left: 0; width: 100%; font-size: 11px; color: #A0AEC0; text-align: center; }
