/*
Theme Name: FFA Criminal — Tema
Theme URI: https://www.fflavioalves.adv.br/
Author: Francisco Flavio Alves + ChatGPT
Description: Tema WordPress escuro (azul-grafite/dourado) com hero, Quem Somos, Sobre o Advogado (1 foto), Áreas de Atuação ampliadas, Depoimentos e Contato.
Version: 2.2.0
License: MIT
Text Domain: ffa-criminal
*/

:root {
  --gold: #D4AF37;
  --bg-900: #0b0d10;
  --bg-800: #121418;
  --bg-700: #171a1f;
  --ink-100: #e6e7ea;
  --ink-200: #d7d9de;
  --ink-300: #b6b9c0;
  --blue-900:#0b1620;
  --blue-800:#0e2230;
  --blue-700:#123247;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif; background: var(--bg-900); color: var(--ink-100); }

.container { max-width: 1120px; margin: 0 auto; padding: 0 1rem; }

.topbar { background: var(--bg-900); color: var(--ink-100); font-size: 0.875rem; }
.topbar a { color: var(--ink-100); text-decoration: none; opacity: .95; }
.topbar-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.35rem 0; }

.header { position: sticky; top: 0; z-index: 40; backdrop-filter: blur(10px); background: rgba(11,13,16,.92); border-bottom: 1px solid #24262b; }
.nav { display:flex; align-items:center; justify-content:space-between; padding:.6rem 0; }
.brand-logo{display:block; height:64px; width:auto;}
@media (min-width:900px){ .brand-logo{height:96px} }

h1,h2,h3,.h1 { font-family: Poppins, Inter, Arial, sans-serif; }
.hero { padding: 2.6rem 0 2.2rem; background: radial-gradient(1100px 540px at 20% 0%, var(--blue-800) 0%, var(--blue-900) 60%, var(--bg-900) 100%); }
.hero .badge{ font-size: 1.05rem; letter-spacing:.10em; margin-bottom:.25rem; display:inline-block; color:#c9a84a; }
.hero .h1{ margin:.2rem 0 .20rem 0; font-size: clamp(2.3rem, 5.2vw, 3.3rem); letter-spacing: .02em; }
.hero .lead{ margin:.10rem 0 .6rem 0; font-size: clamp(1.05rem, 2.2vw, 1.2rem); color: var(--ink-200); }
.hero .cta-row { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:.6rem; }
.btn { display:inline-flex; align-items:center; gap:.5rem; padding:.9rem 1rem; border-radius: .9rem; border:1px solid #31343b; text-decoration:none; font-weight:600; }
.btn-primary { background: var(--gold); color:#171717; border-color: var(--gold); }
.btn-ghost { background: transparent; color: var(--ink-100); }

.section { padding: 3rem 0; background: linear-gradient(180deg, var(--bg-800) 0%, var(--bg-900) 100%); }
.section.alt { background: radial-gradient(1100px 540px at 60% 0%, var(--blue-700) 0%, var(--blue-800) 55%, var(--blue-900) 100%); border-top:1px solid #24262b; border-bottom:1px solid #24262b; }
.section h2 { font-size: clamp(1.4rem, 2.4vw, 2rem); margin:0; color: var(--ink-100); }

.cards { margin-top:1.25rem; display:grid; grid-template-columns: 1fr; gap:1rem; }
@media (min-width: 900px) { .cards { grid-template-columns: repeat(3,1fr); } }
.card { background: #0f1113; border:1px solid #2a2d33; border-radius: 1rem; padding:1rem; box-shadow: 0 4px 16px rgba(0,0,0,.08); color: var(--ink-100); }
.card h3 { margin:.25rem 0; font-size:1.1rem; color:#fff; }

.smallmeta { color: var(--ink-300); font-size:.9rem; margin-top:.8rem; }

/* Quem Somos */
.about-dark{ background: radial-gradient(1100px 540px at 60% 0%, var(--blue-700) 0%, var(--blue-800) 55%, var(--blue-900) 100%); color: var(--ink-100); border-top:1px solid #24262b; border-bottom:1px solid #24262b; }
.gold { color: var(--gold); font-weight:700; }

/* Sobre o Advogado */
.about-adv{ background: linear-gradient(180deg, #0f1113 0%, #0b0d10 100%); color: var(--ink-100); border-top:1px solid #24262b; border-bottom:1px solid #24262b; }
.about-grid{ display:grid; grid-template-columns: 255px 1fr; gap:2rem; align-items:center; }
.about-photo{ max-width:255px; border-radius:1.25rem; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.35); border:1px solid #2a2d33; }
.about-photo img{ display:block; width:100%; height:auto; }

/* Footer */
.footer { border-top:1px solid #24262b; color: var(--ink-300); }
.footer .cols { display:grid; grid-template-columns:1fr; gap:1rem; }
@media (min-width: 900px) { .footer .cols { grid-template-columns: 1.3fr .7fr; } }
.footer a { color: var(--ink-200); text-decoration: underline; }
.footer h4{ color:#ffffff; }
.footer .brand-logo{ height:44px; width:auto; }
.copy { border-top:1px solid #24262b; padding:.7rem 0; font-size:.75rem; color:#b6b9c0; }
