/* ═══════════════════════════════════════════════════════════════
   SHARED — sub-páginas (inscricao, submissao, privacidade, confirmada, 404)
   Tokens, reset, topbar, skip-link, sub-footer.
   Páginas individuais ainda têm <style> com regras específicas.
   ═══════════════════════════════════════════════════════════════ */

:root {
  --bg:          #0e0c0a;
  --bg-2:        #131008;
  --bg-card:     #1a1510;
  --bg-card-h:   #211a12;
  --border:      rgba(220,120,20,.14);
  --border-h:    rgba(220,120,20,.40);

  --fire:        #ff6b1a;
  --fire-dim:    rgba(255,107,26,.15);
  --fire-glow:   rgba(255,107,26,.40);
  --amber:       #f59e0b;
  --amber-dim:   rgba(245,158,11,.15);
  --cyan:        #00b4d8;
  --green:       #22c55e;
  --green-dim:   rgba(34,197,94,.12);

  --grad:        linear-gradient(135deg,#ff6b1a 0%,#f59e0b 100%);
  --grad-subtle: linear-gradient(135deg,rgba(255,107,26,.08) 0%,rgba(245,158,11,.08) 100%);

  --text:        #f0ebe4;
  --text-dim:    #b0a090;
  --text-muted:  #8a7a6a;

  --font-head:   'Rajdhani', sans-serif;
  --font-body:   'Inter', sans-serif;

  --radius:      10px;
  --radius-lg:   16px;
  --shadow:      0 8px 32px rgba(0,0,0,.6);
  --shadow-fire: 0 0 28px rgba(255,107,26,.22);

  --trans:       .25s ease;
}

/* ── SKIP LINK (acessibilidade) ────────────────────────────── */
.skip-link {
  position: absolute; top: -100%; left: 50%; transform: translateX(-50%);
  background: var(--fire); color: #0e0c0a;
  padding: .5rem 1.5rem;
  font-family: var(--font-head); font-weight: 700; font-size: .9rem;
  border-radius: 0 0 10px 10px;
  z-index: 99999; text-decoration: none;
  transition: top .2s;
}
.skip-link:focus { top: 0; }

/* ── RESET ─────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { cursor: pointer; border: none; background: none; font: inherit; }

/* ── TOPBAR (cabeçalho de sub-páginas) ─────────────────────── */
.topbar {
  background: #080604;
  border-bottom: 1px solid var(--border);
  padding: .9rem 0;
  position: sticky;
  top: 0;
  z-index: 100;
}
.topbar__inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem;
}
.topbar__brand { display: flex; align-items: center; gap: .75rem; }
.topbar__logo { height: 36px; width: auto; }
.topbar__title {
  font-family: var(--font-head);
  font-size: 1rem; font-weight: 700; letter-spacing: .05em;
  color: var(--text); line-height: 1.2;
}
.topbar__title span {
  display: block;
  font-size: .7rem; font-weight: 400;
  color: var(--text-dim); letter-spacing: .08em;
}
.topbar__back {
  display: inline-flex; align-items: center; gap: .4rem;
  font-family: var(--font-head); font-size: .85rem; font-weight: 600;
  color: var(--fire); text-decoration: none;
  transition: color var(--trans);
}
.topbar__back:hover { color: var(--amber); }

/* ── SUB-FOOTER (rodapé de sub-páginas) ────────────────────── */
.sub-footer {
  border-top: 1px solid var(--border);
  padding: 1.5rem 0;
  text-align: center;
}
.sub-footer p {
  font-size: .8rem;
  color: var(--text-muted);
}

/* ── SR-ONLY (acessibilidade) ──────────────────────────────── */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ── PREFERS-REDUCED-MOTION (WCAG 2.3.3) ───────────────────── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── RESPONSIVO TOPBAR ────────────────────────────────────── */
@media (max-width: 480px) {
  .topbar__title { font-size: .85rem; }
  .topbar__title span { font-size: .6rem; }
  .topbar__logo { height: 28px; }
}
