/* ==========================================================================
   Tema claro / escuro. O escuro é o tema base (style.css); aqui ficam as variáveis
   extra e as sobreposições do tema claro. Carrega depois de style.css e blog-widgets.css.
   ========================================================================== */

:root{
  color-scheme:dark;
  --fill:rgba(255,255,255,.04);      /* fundo subtil de cartões/campos */
  --fill-2:rgba(255,255,255,.07);    /* fundo subtil, estado hover/pista */
  --field:rgba(9,5,15,.6);           /* fundo de campos de formulário */
  --mock:#0f0819;                    /* fundo de maquetes dentro dos widgets */
  --grad-text:var(--grad);           /* gradiente para texto e botões */
}

:root[data-theme="light"]{
  color-scheme:light;
  --bg:#f7f5fb; --bg-2:#efebf7; --surface:#ffffff; --surface-2:#f3effb;
  --line:rgba(26,16,48,.10); --line-strong:rgba(26,16,48,.22);
  --text:#1a1030; --muted:#554b6f;
  /* cores de texto mais escuras para cumprirem o contraste mínimo (4,5:1) em fundo claro */
  --orange:#c24d0b; --red:#d02a17; --pink:#c42550;
  /* o gradiente decorativo mantém o brilho da marca */
  --grad:linear-gradient(135deg,#ff7a3c,#fe422e 55%,#fd6b81);
  --grad-text:linear-gradient(135deg,#c94a0a,#d02a17 55%,#c42550);
  --shadow-glow:0 12px 34px rgba(208,42,23,.22);
  --fill:rgba(26,16,48,.04); --fill-2:rgba(26,16,48,.07);
  --field:rgba(255,255,255,.96); --mock:#ffffff;
}

/* ---- cabeçalho e navegação ---- */
[data-theme="light"] .site-header.is-scrolled{ background:rgba(247,245,251,.88); }
[data-theme="light"] .logo{ color:var(--text); }
[data-theme="light"] .nav-toggle span{ background:var(--text); }
[data-theme="light"] .main-nav a:not(.btn){ color:var(--muted); }
[data-theme="light"] .main-nav a:not(.btn):hover{ color:var(--text); }

/* ---- botões, selos e texto com gradiente ---- */
[data-theme="light"] .btn-primary,
[data-theme="light"] .bw-tag,
[data-theme="light"] .badges li::before{ background:var(--grad-text); }
[data-theme="light"] .btn-ghost{ background:var(--fill); }
[data-theme="light"] .btn-ghost:hover{ background:var(--fill-2); border-color:rgba(26,16,48,.4); }
[data-theme="light"] .pill{ background:var(--fill); }
[data-theme="light"] .logo span,
[data-theme="light"] .grad-text,
[data-theme="light"] .hero h1 em,
[data-theme="light"] .metric-value,
[data-theme="light"] .stat-value,
[data-theme="light"] .testimonial::before,
[data-theme="light"] .not-found .big,
[data-theme="light"] .bw-result.is-key b{ background:var(--grad-text); -webkit-background-clip:text; background-clip:text; }

/* ---- hero e painéis ---- */
[data-theme="light"] .hero{
  background:
    radial-gradient(55% 50% at 50% 0%, rgba(124,58,237,.13), transparent 70%),
    radial-gradient(45% 45% at 90% 85%, rgba(254,66,46,.10), transparent 70%),
    var(--bg);
}
[data-theme="light"] .hero-sub{ color:var(--muted); }
[data-theme="light"] .hero-proof a{ text-decoration-color:rgba(26,16,48,.3); }
[data-theme="light"] .launch-panel{ box-shadow:0 30px 70px rgba(26,16,48,.13), 0 0 80px rgba(254,66,46,.07); }
[data-theme="light"] .stage-dot{ background:rgba(255,255,255,.97); box-shadow:0 10px 30px rgba(26,16,48,.15); }
[data-theme="light"] .stage-end{ box-shadow:0 10px 30px rgba(26,16,48,.15), 0 0 30px rgba(254,66,46,.25); }
[data-theme="light"] .legal-hero{ background:radial-gradient(60% 100% at 90% 0%, rgba(124,58,237,.11), transparent 70%), var(--bg); }
[data-theme="light"] .not-found{ background:radial-gradient(60% 60% at 50% 40%, rgba(254,66,46,.09), transparent 70%), var(--bg); }

/* ---- logótipos de clientes (ficheiros brancos): ficam escuros em fundo claro ---- */
[data-theme="light"] .tile img{ filter:brightness(0); opacity:.55; }
[data-theme="light"] .tile:hover img{ opacity:.9; }

/* ---- cartões, faixas e formulários ---- */
[data-theme="light"] .card-index{ color:rgba(26,16,48,.32); }
[data-theme="light"] .chips li{ background:var(--fill); }
[data-theme="light"] .callout{
  background:radial-gradient(80% 140% at 100% 0%, rgba(254,66,46,.13), transparent 60%), linear-gradient(180deg,var(--surface-2),var(--surface));
}
[data-theme="light"] .callout p{ color:var(--muted); }
[data-theme="light"] .callout strong,
[data-theme="light"] .stat-copy strong{ color:var(--text); }
[data-theme="light"] .cta-inner{
  background:
    radial-gradient(70% 120% at 0% 0%, rgba(255,122,60,.18), transparent 60%),
    radial-gradient(60% 100% at 100% 100%, rgba(124,58,237,.14), transparent 65%),
    var(--surface);
}
[data-theme="light"] .cta-inner p{ color:var(--muted); }
[data-theme="light"] .input{ background:var(--field); }
[data-theme="light"] .input:focus{ background:#fff; }
[data-theme="light"] .form-note.success{ color:#15803d; }
[data-theme="light"] .form-note.error,
[data-theme="light"] .contact-urgency{ color:#b4351c !important; }
[data-theme="light"] .contact{
  background:
    radial-gradient(60% 70% at 100% 100%, rgba(254,66,46,.12), transparent 65%),
    radial-gradient(50% 60% at 0% 0%, rgba(124,58,237,.09), transparent 65%),
    var(--bg-2);
}
[data-theme="light"] .contact-form{ box-shadow:0 30px 70px rgba(26,16,48,.12); }
[data-theme="light"] .problem-solution p{ color:var(--text); }
[data-theme="light"] .site-footer{ background:#ece7f5; }
[data-theme="light"] .footer-col a{ color:var(--muted); }
[data-theme="light"] .footer-col a:hover{ color:var(--pink); }


/* ---- widgets e figuras do blog ---- */
[data-theme="light"] .bw{ box-shadow:0 18px 50px rgba(26,16,48,.10); }
[data-theme="light"] .bw-ad-title{ color:#1a56c4; }
[data-theme="light"] .bw-feed-img{ color:#fff; }
[data-theme="light"] .bw-meter{ background:linear-gradient(90deg,#cfc6e6 0 33.3%,#e29ab0 33.3% 66.6%,#d02a17 66.6%); }
[data-theme="light"] .bw-meter i{ background:#fff; }
[data-theme="light"] .bw-fig{ box-shadow:0 18px 50px rgba(26,16,48,.10); }

/* ---- botão de tema (injetado por a11y.js) ---- */
.theme-toggle{
  flex:none; width:40px; height:40px; display:inline-grid; place-items:center; padding:0; cursor:pointer;
  color:var(--text); background:var(--fill); border:1px solid var(--line-strong); border-radius:50%;
  transition:background .2s, border-color .2s, transform .15s;
}
.theme-toggle:hover{ background:var(--fill-2); transform:translateY(-1px); }
.theme-toggle svg{ width:19px; height:19px; }
.theme-toggle .i-moon{ display:none; }
[data-theme="light"] .theme-toggle .i-sun{ display:none; }
[data-theme="light"] .theme-toggle .i-moon{ display:block; }
.main-nav{ margin-left:auto; }
.main-nav a:not(.btn){ white-space:nowrap; }
@media (max-width:1280px){ .main-nav{ gap:22px; } }

/* O menu passa a hambúrguer até 1120px: com "Últimas notícias" e o botão de tema já não cabe numa linha */
@media (max-width:1120px){
  .nav-toggle{ display:flex; }
  .main-nav{
    position:fixed; inset:calc(var(--header-h) + 6px) 14px auto 14px; flex-direction:column; align-items:stretch; gap:4px; margin-left:0;
    padding:14px; background:var(--surface); border:1px solid var(--line-strong); border-radius:var(--radius);
    box-shadow:0 30px 60px rgba(0,0,0,.45); opacity:0; transform:translateY(-10px); pointer-events:none; transition:opacity .2s, transform .2s;
  }
  [data-theme="light"] .main-nav{ box-shadow:0 30px 60px rgba(26,16,48,.18); }
  .main-nav.is-open{ opacity:1; transform:none; pointer-events:auto; }
  .main-nav a:not(.btn){ padding:13px 12px; font-size:1.02rem; color:var(--text); border-radius:10px; white-space:normal; }
  [data-theme="light"] .main-nav a:not(.btn){ color:var(--text); }
  .main-nav a:not(.btn)::after{ display:none; }
  .main-nav a:not(.btn):hover{ background:var(--fill-2); }
  .main-nav .btn{ margin-top:8px; }
  .theme-toggle{ margin-left:auto; }
}