/* ═══════════════════════════════════════════════════════
   Germano Amorim – Advogados
   Folha de estilos partilhada
   ═══════════════════════════════════════════════════════ */

/* ── RESET & TOKENS ────────────────────────────────────── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --dark:     #0D0D0F;
  --dark-2:   #161618;
  --light:    #F3F1EC;
  --light-2:  #E8E5DE;
  --text-d:   #ECEAE4;
  --text-l:   #1A1A1A;
  --muted-d:  rgba(236,234,228,.48);
  --muted-l:  rgba(26,26,26,.52);
  --red:      #C82020;
  --gold:     #B8962E;
  --border-d: rgba(255,255,255,.07);
  --border-l: rgba(0,0,0,.08);
  --serif:    'Playfair Display', Georgia, serif;
  --sans:     'Inter', system-ui, sans-serif;
}

html   { scroll-behavior: smooth; }
body   { font-family: var(--sans); background: var(--dark); color: var(--text-d);
         -webkit-font-smoothing: antialiased; overflow-x: hidden; }

::-webkit-scrollbar           { width: 3px; }
::-webkit-scrollbar-track     { background: var(--dark); }
::-webkit-scrollbar-thumb     { background: rgba(255,255,255,.12); }

/* ── NAV ───────────────────────────────────────────────── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 64px; height: 68px;
  background: rgba(13,13,15,.75);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border-bottom: 1px solid var(--border-d);
  transition: background .3s;
}
.nav-logo {
  display: flex; align-items: center; gap: 13px;
  text-decoration: none; flex-shrink: 0;
}
.nav-wordmark { line-height: 1; }
.nav-sigla {
  display: block; font-family: var(--sans); font-size: 18px;
  font-weight: 600; letter-spacing: 5px; color: var(--text-d);
}
.nav-sub {
  display: block; font-size: 7px; font-weight: 500;
  letter-spacing: 3.5px; text-transform: uppercase; color: var(--red); margin-top: 3px;
}
.nav-cta {
  font-family: var(--sans); font-size: 10px; font-weight: 600;
  letter-spacing: 2px; text-transform: uppercase; color: #fff;
  background: var(--red); border: none; padding: 10px 22px;
  cursor: pointer; text-decoration: none; transition: background .25s;
}
.nav-cta:hover { background: #a81515; }

/* ── PAGE HERO (para páginas internas, sem foto) ───────── */
.page-hero {
  padding: 140px 64px 80px;
  background: var(--dark);
  border-bottom: 1px solid var(--border-d);
  position: relative; overflow: hidden;
}
.page-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 70% 60% at 50% 0%,
    rgba(200,32,32,0.07) 0%, transparent 70%);
  pointer-events: none;
}
.page-hero-inner {
  max-width: 820px; margin: 0 auto; position: relative; z-index: 1;
}
.page-eyebrow {
  font-size: 10px; font-weight: 600; letter-spacing: 4px;
  text-transform: uppercase; color: var(--red);
  display: flex; align-items: center; gap: 12px; margin-bottom: 22px;
}
.page-eyebrow::before {
  content: ''; width: 20px; height: 1px; background: var(--red);
}
.page-title {
  font-family: var(--serif); font-size: clamp(2.2rem, 5vw, 3.6rem);
  font-weight: 700; color: var(--text-d); line-height: 1.1;
  letter-spacing: -.02em; margin-bottom: 20px;
}
.page-subtitle {
  font-size: 15px; font-weight: 300; color: var(--muted-d); line-height: 1.75;
  max-width: 560px;
}
.page-meta {
  margin-top: 28px; font-size: 11px; color: var(--muted-d);
  display: flex; align-items: center; gap: 16px;
}
.page-meta span { display: flex; align-items: center; gap: 6px; }
.page-meta-dot { width: 3px; height: 3px; background: var(--red); border-radius: 50%; }

/* ── LEGAL CONTENT (light) ─────────────────────────────── */
.legal-section {
  background: var(--light);
  padding: 100px 64px 120px;
}
.legal-inner {
  max-width: 820px; margin: 0 auto;
  display: flex; flex-direction: column; gap: 56px;
}
.legal-block { display: flex; flex-direction: column; gap: 16px; }
.legal-block h2 {
  font-family: var(--serif); font-size: 1.4rem; font-weight: 700;
  color: var(--text-l); letter-spacing: -.01em;
  padding-bottom: 14px; border-bottom: 1px solid var(--border-l);
}
.legal-block h3 {
  font-family: var(--serif); font-size: 1.05rem; font-weight: 600;
  color: var(--text-l); margin-top: 8px;
}
.legal-block p {
  font-size: 15px; font-weight: 300; color: rgba(26,26,26,.72);
  line-height: 1.9;
}
.legal-block ul, .legal-block ol {
  padding-left: 24px; display: flex; flex-direction: column; gap: 8px;
}
.legal-block li {
  font-size: 15px; font-weight: 300; color: rgba(26,26,26,.72); line-height: 1.8;
}
.legal-block strong { font-weight: 600; color: var(--text-l); }
.legal-block a { color: var(--red); text-decoration: none; }
.legal-block a:hover { text-decoration: underline; }
.legal-highlight {
  background: rgba(200,32,32,0.06); border-left: 3px solid var(--red);
  padding: 18px 22px; border-radius: 0;
}
.legal-highlight p { font-size: 14px; color: rgba(26,26,26,.65); }

/* ── FOOTER ────────────────────────────────────────────── */
footer {
  background: #080809;
  border-top: 1px solid rgba(255,255,255,.05);
  padding: 36px 64px;
  display: flex; align-items: center; justify-content: space-between;
}
.foot-logo { display: flex; align-items: center; gap: 12px; }
.foot-sigla {
  font-family: var(--sans); font-size: 14px; font-weight: 600;
  letter-spacing: 4px; color: rgba(236,234,228,.7);
}
.foot-sub {
  font-size: 7px; letter-spacing: 2.5px; text-transform: uppercase;
  color: var(--red); margin-top: 3px; opacity: .8;
}
.foot-copy { font-size: 11px; color: rgba(236,234,228,.22); letter-spacing: .3px; }
.foot-links { display: flex; gap: 24px; }
.foot-links a {
  font-size: 10px; color: rgba(236,234,228,.3); text-decoration: none;
  letter-spacing: .5px; transition: color .2s;
}
.foot-links a:hover { color: rgba(236,234,228,.7); }

/* ── COOKIE BANNER ─────────────────────────────────────── */
#cookie-banner {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 999;
  padding: 20px 64px;
  background: rgba(13,13,15,.92);
  backdrop-filter: blur(20px) saturate(150%);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex; align-items: center; justify-content: space-between; gap: 32px;
  transform: translateY(100%);
  transition: transform .45s cubic-bezier(0.4,0,0.2,1);
}
#cookie-banner.visible { transform: translateY(0); }
#cookie-banner.hidden  { display: none; }

.cookie-text { flex: 1; }
.cookie-text p {
  font-size: 12px; color: var(--muted-d); line-height: 1.65;
}
.cookie-text a { color: var(--gold); text-decoration: none; }
.cookie-text a:hover { text-decoration: underline; }
.cookie-text strong { color: var(--text-d); font-weight: 500; }

.cookie-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }

.cookie-btn-accept {
  background: var(--red); color: #fff; border: none;
  font-family: var(--sans); font-size: 10px; font-weight: 600;
  letter-spacing: 2px; text-transform: uppercase;
  padding: 11px 24px; cursor: pointer; transition: background .2s;
}
.cookie-btn-accept:hover { background: #a81515; }

.cookie-btn-reject {
  background: transparent; color: var(--muted-d);
  border: 1px solid rgba(255,255,255,.12);
  font-family: var(--sans); font-size: 10px; font-weight: 500;
  letter-spacing: 1.5px; text-transform: uppercase;
  padding: 11px 20px; cursor: pointer; transition: all .2s;
}
.cookie-btn-reject:hover { border-color: rgba(255,255,255,.28); color: var(--text-d); }

/* ── FADE-IN ────────────────────────────────────────────── */
.fade {
  opacity: 0; transform: translateY(22px);
  transition: opacity .75s ease, transform .75s ease;
}
.fade.visible { opacity: 1; transform: none; }
.fade-delay-1 { transition-delay: .12s; }
.fade-delay-2 { transition-delay: .24s; }

/* ── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width: 900px) {
  nav           { padding: 0 28px; }
  .page-hero    { padding: 120px 28px 60px; }
  .legal-section{ padding: 60px 28px 80px; }
  footer        { padding: 28px; flex-direction: column; gap: 16px; text-align: center; }
  #cookie-banner{ padding: 20px 24px; flex-direction: column; align-items: flex-start; }
  .cookie-actions { width: 100%; }
  .cookie-btn-accept, .cookie-btn-reject { flex: 1; text-align: center; }
}
@media (max-width: 560px) {
  .foot-links { display: none; }
}
