/*
Theme Name: SadeVerse
Theme URI: https://drdim.com.br
Author: Sade Ferreira Silva
Author URI: https://www.linkedin.com/in/sade-ferreira-silva/
Description: Portfólio interativo 3D de Sade Ferreira Silva — Senior Frontend / Full Stack Engineer, Tech Lead. Explore um pequeno mundo 3D navegável para conhecer experiência, projetos e as empresas DRDIM Digital e Drdim Tecnologia.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: sadeverse
Tags: portfolio, one-page, custom-menu, translation-ready
*/

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root{
  --sv-bg: #05070d;
  --sv-bg-alt: #0b0f1a;
  --sv-panel: rgba(13, 18, 32, 0.86);
  --sv-panel-border: rgba(120, 170, 255, 0.18);
  --sv-text: #eef2ff;
  --sv-text-dim: #9aa4c0;
  --sv-accent: #6ee7ff;
  --sv-accent-2: #a78bfa;
  --sv-accent-3: #ff8fab;
  --sv-success: #6ee7b7;
  --sv-radius: 18px;
  --sv-radius-sm: 10px;
  --sv-shadow: 0 20px 60px rgba(0,0,0,0.45);
  --sv-font: 'Space Grotesk', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --sv-font-mono: 'JetBrains Mono', 'Consolas', monospace;
}

*{ box-sizing: border-box; }

html{ scroll-behavior: smooth; }

body{
  margin:0;
  background: var(--sv-bg);
  color: var(--sv-text);
  font-family: var(--sv-font);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img{ max-width:100%; height:auto; display:block; }
a{ color: var(--sv-accent); text-decoration:none; }
a:hover{ text-decoration: underline; }

h1,h2,h3,h4{ line-height:1.2; margin: 0 0 .5em; font-weight:700; letter-spacing:-0.01em; }
h1{ font-size: clamp(2rem, 5vw, 3.4rem); }
h2{ font-size: clamp(1.5rem, 3vw, 2.2rem); }
h3{ font-size: 1.25rem; }
p{ margin: 0 0 1em; color: var(--sv-text-dim); }

.sv-container{ max-width: 1100px; margin: 0 auto; padding: 0 24px; }
.sv-eyebrow{
  display:inline-block; font-family: var(--sv-font-mono); font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase; color: var(--sv-accent);
  border:1px solid var(--sv-panel-border); border-radius:999px; padding:4px 12px;
  margin-bottom:14px; background: rgba(110,231,255,.06);
}

.sv-tag{
  display:inline-flex; align-items:center; gap:6px; font-family: var(--sv-font-mono);
  font-size:.75rem; padding:4px 10px; border-radius:999px; color:var(--sv-text);
  background: rgba(255,255,255,.06); border:1px solid var(--sv-panel-border);
}

.sv-btn{
  display:inline-flex; align-items:center; gap:8px; padding: 12px 22px;
  border-radius: 999px; font-weight:600; font-size:.95rem; cursor:pointer;
  border:1px solid var(--sv-panel-border); background: linear-gradient(135deg, var(--sv-accent), var(--sv-accent-2));
  color:#04070d; text-decoration:none; transition: transform .15s ease, box-shadow .15s ease;
}
.sv-btn:hover{ transform: translateY(-2px); box-shadow: 0 10px 30px rgba(110,231,255,.25); text-decoration:none; }
.sv-btn.sv-btn-ghost{ background: transparent; color: var(--sv-text); }

.sv-card{
  background: var(--sv-panel); border:1px solid var(--sv-panel-border);
  border-radius: var(--sv-radius); padding: 28px; box-shadow: var(--sv-shadow);
}

/* Classic (no-JS / SEO) page layout shared across page-*.php */
.sv-classic-header{
  padding: 120px 0 60px; background:
    radial-gradient(circle at 20% 20%, rgba(167,139,250,.18), transparent 45%),
    radial-gradient(circle at 80% 0%, rgba(110,231,255,.15), transparent 40%),
    var(--sv-bg-alt);
  border-bottom: 1px solid var(--sv-panel-border);
}
.sv-site-header{
  position: sticky; top:0; z-index: 40; backdrop-filter: blur(10px);
  background: rgba(5,7,13,.75); border-bottom:1px solid var(--sv-panel-border);
}
.sv-site-header .sv-container{ display:flex; align-items:center; justify-content:space-between; padding:16px 24px; }
.sv-logo{ font-weight:700; font-size:1.1rem; color:var(--sv-text); display:flex; align-items:center; gap:8px; }
.sv-logo span{ color: var(--sv-accent); }
.sv-nav ul{ list-style:none; display:flex; gap:22px; margin:0; padding:0; }
.sv-nav a{ color: var(--sv-text-dim); font-size:.92rem; font-weight:500; }
.sv-nav a:hover, .sv-nav a.current{ color: var(--sv-accent); }
.sv-menu-toggle{ display:none; background:none; border:1px solid var(--sv-panel-border); color:var(--sv-text); border-radius:8px; padding:8px 10px; cursor:pointer; }

.sv-grid{ display:grid; gap:22px; }
.sv-grid-2{ grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); }
.sv-grid-3{ grid-template-columns: repeat(auto-fit, minmax(230px,1fr)); }

.sv-timeline{ position:relative; margin-left:12px; padding-left:28px; border-left:2px solid var(--sv-panel-border); }
.sv-timeline-item{ position:relative; padding-bottom:34px; }
.sv-timeline-item::before{
  content:''; position:absolute; left:-35px; top:4px; width:12px; height:12px; border-radius:50%;
  background: var(--sv-accent); box-shadow: 0 0 0 4px rgba(110,231,255,.15);
}
.sv-timeline-item.is-current::before{ background: var(--sv-success); box-shadow: 0 0 0 4px rgba(110,231,231,.2); }
.sv-timeline-role{ font-weight:700; color:var(--sv-text); margin-bottom:2px; }
.sv-timeline-meta{ font-family: var(--sv-font-mono); font-size:.8rem; color: var(--sv-accent-2); margin-bottom:8px; }

.sv-project-card{ display:flex; flex-direction:column; gap:10px; }
.sv-project-card .sv-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; }

.sv-footer{ padding:50px 0; border-top:1px solid var(--sv-panel-border); color: var(--sv-text-dim); font-size:.9rem; }
.sv-footer .sv-container{ display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; }

.sv-form{ display:grid; gap:14px; max-width:560px; }
.sv-form label{ font-size:.85rem; color: var(--sv-text-dim); display:block; margin-bottom:6px; }
.sv-form input, .sv-form textarea{
  width:100%; padding:12px 14px; border-radius: var(--sv-radius-sm); border:1px solid var(--sv-panel-border);
  background: rgba(255,255,255,.03); color: var(--sv-text); font-family: var(--sv-font); font-size:.95rem;
}
.sv-form input:focus, .sv-form textarea:focus{ outline:2px solid var(--sv-accent); outline-offset:2px; }
.sv-hp{ position:absolute; left:-9999px; }

.sv-notice{ padding:12px 16px; border-radius: var(--sv-radius-sm); margin-bottom:18px; font-size:.9rem; }
.sv-notice-success{ background: rgba(110,231,183,.1); border:1px solid rgba(110,231,183,.35); color: var(--sv-success); }
.sv-notice-error{ background: rgba(255,143,171,.1); border:1px solid rgba(255,143,171,.35); color: var(--sv-accent-3); }

.sv-company-card{ display:grid; gap:8px; }
.sv-company-card .sv-company-name{ font-size:1.4rem; font-weight:700; }
.sv-company-card .sv-company-cnpj{ font-family: var(--sv-font-mono); font-size:.8rem; color: var(--sv-text-dim); }

@media (max-width: 780px){
  .sv-nav{ display:none; position:absolute; top:100%; left:0; right:0; background: var(--sv-bg-alt); border-bottom:1px solid var(--sv-panel-border); }
  .sv-nav.is-open{ display:block; }
  .sv-nav ul{ flex-direction:column; padding:16px 24px; gap:16px; }
  .sv-menu-toggle{ display:inline-flex; }
}
