/*
 Theme Name:   Confiança Digital Child
 Theme URI:    https://confiancadigital.com
 Description:  Child theme for Hello Elementor — Confiança Digital / CheckTrusted
 Author:       Segurança Digital Lda.
 Author URI:   https://seguranca-digital.com
 Template:     hello-elementor
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  confianca-digital-child
*/

/* ============================================================
   VARIÁVEIS DE MARCA — CONFIANÇA DIGITAL / CHECKTRUSTED
   Edita apenas estes valores para mudar as cores globais
   ============================================================ */
:root {
  /* Cores primárias */
  --cd-green:         #00C896;
  --cd-green-dark:    #00A87E;
  --cd-green-light:   #00DFAA;
  --cd-green-bg:      rgba(0, 200, 150, 0.09);
  --cd-green-border:  rgba(0, 200, 150, 0.22);

  /* Cores de suporte */
  --cd-blue:          #1a6fd4;
  --cd-blue-light:    #4D9EFF;
  --cd-blue-bg:       rgba(77, 158, 255, 0.09);
  --cd-blue-border:   rgba(77, 158, 255, 0.22);

  /* Cores semânticas */
  --cd-red:           #FF6B6B;
  --cd-amber:         #FFB347;
  --cd-purple:        #9B7FFF;

  /* Modo escuro (default) */
  --cd-bg:            #0B0F1A;
  --cd-bg2:           #111827;
  --cd-bg3:           #1a2235;
  --cd-bg4:           #0d1422;
  --cd-text:          #EEF2FF;
  --cd-text2:         #8A9BB5;
  --cd-text3:         #4A5E78;
  --cd-border:        rgba(255, 255, 255, 0.07);
  --cd-border2:       rgba(255, 255, 255, 0.13);
  --cd-shadow:        0 2px 20px rgba(0, 0, 0, 0.45);

  /* Tipografia */
  --cd-font:          'DM Sans', sans-serif;
  --cd-font-mono:     'DM Mono', monospace;

  /* Layout */
  --cd-radius:        14px;
  --cd-radius-sm:     8px;
  --cd-radius-xs:     6px;
  --cd-max-width:     1200px;
}

/* Modo claro */
[data-theme="light"] {
  --cd-bg:            #F4F7FC;
  --cd-bg2:           #FFFFFF;
  --cd-bg3:           #EBF0F8;
  --cd-bg4:           #E4EAF4;
  --cd-text:          #0D1B2E;
  --cd-text2:         #4A5E78;
  --cd-text3:         #8A9BB5;
  --cd-border:        rgba(0, 0, 0, 0.07);
  --cd-border2:       rgba(0, 0, 0, 0.13);
  --cd-green-bg:      rgba(0, 200, 150, 0.07);
  --cd-green-border:  rgba(0, 200, 150, 0.25);
  --cd-blue-bg:       rgba(77, 158, 255, 0.07);
  --cd-blue-border:   rgba(77, 158, 255, 0.25);
  --cd-shadow:        0 2px 16px rgba(0, 0, 0, 0.10);
}

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

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--cd-font);
  background-color: var(--cd-bg);
  color: var(--cd-text);
  transition: background-color 0.3s ease, color 0.3s ease;
  overflow-x: hidden;
}

/* ============================================================
   TIPOGRAFIA GLOBAL
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--cd-font);
  letter-spacing: -0.3px;
  line-height: 1.2;
  color: var(--cd-text);
}

a {
  color: var(--cd-green);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--cd-green-dark);
}

/* ============================================================
   HEADER ELEMENTOR — OVERRIDES
   ============================================================ */
.e-con.cd-header,
header.e-con {
  background: rgba(11, 15, 26, 0.93) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--cd-border);
  position: sticky;
  top: 0;
  z-index: 999;
  transition: background 0.3s ease;
}

[data-theme="light"] .e-con.cd-header,
[data-theme="light"] header.e-con {
  background: rgba(244, 247, 252, 0.95) !important;
}

/* ============================================================
   BOTÕES GLOBAIS
   ============================================================ */
.cd-btn-primary,
.elementor-button.cd-btn-primary {
  background: var(--cd-green) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--cd-radius-xs) !important;
  font-family: var(--cd-font) !important;
  font-weight: 600 !important;
  padding: 12px 26px !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
  cursor: pointer;
}

.cd-btn-primary:hover,
.elementor-button.cd-btn-primary:hover {
  background: var(--cd-green-dark) !important;
  transform: translateY(-1px);
}

.cd-btn-outline,
.elementor-button.cd-btn-outline {
  background: transparent !important;
  color: var(--cd-text2) !important;
  border: 1.5px solid var(--cd-border2) !important;
  border-radius: var(--cd-radius-sm) !important;
  font-family: var(--cd-font) !important;
  font-weight: 500 !important;
  padding: 10px 24px !important;
  transition: border-color 0.2s ease, color 0.2s ease !important;
}

.cd-btn-outline:hover,
.elementor-button.cd-btn-outline:hover {
  border-color: var(--cd-green) !important;
  color: var(--cd-green) !important;
}

.cd-btn-empresa {
  background: var(--cd-green-bg) !important;
  color: var(--cd-green) !important;
  border: 1px solid var(--cd-green-border) !important;
  border-radius: var(--cd-radius-xs) !important;
  font-family: var(--cd-font) !important;
  font-weight: 500 !important;
  padding: 7px 14px !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}

.cd-btn-empresa:hover {
  background: var(--cd-green) !important;
  color: #fff !important;
}

/* ============================================================
   CARDS GLOBAIS
   ============================================================ */
.cd-card {
  background: var(--cd-bg2);
  border: 1px solid var(--cd-border);
  border-radius: var(--cd-radius);
  transition: border-color 0.25s ease, transform 0.25s ease;
}

.cd-card:hover {
  border-color: var(--cd-green-border);
  transform: translateY(-3px);
}

[data-theme="light"] .cd-card {
  background: #ffffff;
  border-color: rgba(0, 0, 0, 0.07);
}

/* ============================================================
   BADGES / PILLS
   ============================================================ */
.cd-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-family: var(--cd-font-mono);
  letter-spacing: 0.1em;
  padding: 4px 12px;
  border-radius: 20px;
}

.cd-badge-green {
  background: var(--cd-green-bg);
  border: 1px solid var(--cd-green-border);
  color: var(--cd-green);
}

.cd-badge-blue {
  background: var(--cd-blue-bg);
  border: 1px solid var(--cd-blue-border);
  color: var(--cd-blue-light);
}

.cd-badge-amber {
  background: rgba(255, 179, 71, 0.09);
  border: 1px solid rgba(255, 179, 71, 0.22);
  color: var(--cd-amber);
}

.cd-badge-red {
  background: rgba(255, 107, 107, 0.09);
  border: 1px solid rgba(255, 107, 107, 0.22);
  color: var(--cd-red);
}

/* ============================================================
   TRUST SCORE
   ============================================================ */
.cd-score {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-family: var(--cd-font-mono);
  background: var(--cd-green-bg);
  color: var(--cd-green);
  border: 1px solid var(--cd-green-border);
  border-radius: 20px;
  padding: 4px 10px;
}

.cd-score-low {
  background: rgba(255, 107, 107, 0.09);
  color: var(--cd-red);
  border-color: rgba(255, 107, 107, 0.22);
}

.cd-score-medium {
  background: rgba(255, 179, 71, 0.09);
  color: var(--cd-amber);
  border-color: rgba(255, 179, 71, 0.22);
}

/* ============================================================
   DARK MODE TOGGLE
   ============================================================ */
.cd-theme-toggle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--cd-border2);
  background: transparent;
  cursor: pointer;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, color 0.2s ease;
  color: var(--cd-text2);
  line-height: 1;
}

.cd-theme-toggle:hover {
  background: var(--cd-bg3);
  color: var(--cd-text);
}

/* ============================================================
   ELEMENTOR — AJUSTES GLOBAIS
   ============================================================ */

/* Remove padding default do Hello Elementor */
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: var(--cd-max-width);
}

/* Garantir que textos Elementor usam as variáveis de cor */
.elementor-widget-text-editor,
.elementor-widget-heading .elementor-heading-title {
  color: var(--cd-text);
}

/* ============================================================
   BARRA DE STATS
   ============================================================ */
.cd-stats-bar {
  background: linear-gradient(90deg, #0a2a3d, #0d2040, #0a2a1a, #1a1a0a);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.cd-stat-number {
  font-family: var(--cd-font-mono);
  font-size: 28px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -1px;
}

.cd-stat-label {
  font-family: var(--cd-font-mono);
  font-size: 11px;
  color: rgba(255, 255, 255, 0.45);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* ============================================================
   FOOTER
   ============================================================ */
.cd-footer {
  background: var(--cd-bg4);
  border-top: 1px solid var(--cd-border);
}

.cd-footer-link {
  font-size: 13px;
  color: var(--cd-text2);
  display: block;
  padding: 3px 0;
  transition: color 0.2s ease;
}

.cd-footer-link:hover {
  color: var(--cd-green);
}

.cd-footer-copy {
  font-family: var(--cd-font-mono);
  font-size: 12px;
  color: var(--cd-text3);
}

/* ============================================================
   STATUS INDICATOR (live dot)
   ============================================================ */
.cd-status-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--cd-green);
  animation: cd-pulse 2s infinite;
}

@keyframes cd-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.35; }
}

/* ============================================================
   ACESSIBILIDADE — WCAG 2.1 AA
   ============================================================ */
:focus-visible {
  outline: 2px solid var(--cd-green);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Skip link para leitores de ecrã */
.cd-skip-link {
  position: absolute;
  top: -100px;
  left: 16px;
  background: var(--cd-green);
  color: #fff;
  padding: 8px 16px;
  border-radius: var(--cd-radius-xs);
  font-size: 13px;
  font-weight: 600;
  z-index: 9999;
  transition: top 0.2s;
}

.cd-skip-link:focus {
  top: 16px;
}

/* ============================================================
   RESPONSIVO — BREAKPOINTS
   ============================================================ */
@media (max-width: 1024px) {
  :root { --cd-max-width: 95%; }
}

@media (max-width: 768px) {
  .cd-hide-mobile { display: none !important; }
  .cd-stat-number { font-size: 22px; }
}

@media (max-width: 480px) {
  .cd-hide-small { display: none !important; }
}

/* ============================================================
   PRINT — RGPD / documentos legais
   ============================================================ */
@media print {
  header, footer, .cd-cookie-banner { display: none !important; }
  body { background: #fff; color: #000; }
  a { color: #000; }
}
