/* ============================================================
   BT GAMES — Componentes (tema claro)
   ============================================================ */

/* ── TOAST ─────────────────────────────────────────────────── */
.toast {
  display: flex; align-items: flex-start; gap: 10px;
  border-radius: var(--r-sm);
  padding: 12px 16px;
  font-size: 13px; font-weight: 600;
  margin-bottom: 20px;
  animation: toastIn .3s ease;
  line-height: 1.4;
}
.toast::before { font-size: 16px; flex-shrink: 0; margin-top: 1px; }
.toast.toast-ok    { background:#f0fdf4; border:1px solid #bbf7d0; color:#15803d; }
.toast.toast-ok::before { content:'✅'; }
.toast.toast-error { background:#fef2f2; border:1px solid #fecaca; color:#b91c1c; }
.toast.toast-error::before { content:'❌'; }
.toast.toast-info  { background:#fff7ed; border:1px solid #fed7aa; color:#c2410c; }
.toast.toast-info::before { content:'ℹ️'; }
.toast.toast-warn  { background:#fffbeb; border:1px solid #fde68a; color:#b45309; }
.toast.toast-warn::before { content:'⚠️'; }
@keyframes toastIn { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }

/* ── BOTÕES ─────────────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; padding: 11px 22px;
  border-radius: var(--r-md);
  font-family: var(--font-main); font-size: 14px; font-weight: 700;
  letter-spacing: .3px; transition: all var(--t-base);
  cursor: pointer; border: 2px solid transparent; white-space: nowrap;
}
.btn-primary {
  background: var(--orange); color: #fff;
  box-shadow: var(--shadow-orange);
}
.btn-primary:hover:not(:disabled) {
  background: var(--orange-dark);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(244,121,32,0.35);
}
.btn-outline {
  background: transparent; color: var(--navy);
  border-color: var(--border-strong);
}
.btn-outline:hover:not(:disabled) {
  background: var(--bg-hover); border-color: var(--navy);
}
.btn-secondary {
  background: #fff;
  color: var(--navy);
  border-color: var(--border-strong);
}
.btn-secondary:hover:not(:disabled) {
  background: var(--bg-hover);
  border-color: var(--navy);
  transform: translateY(-1px);
}
/* Outline sobre fundo escuro */
.btn-outline-light {
  background: transparent; color: #fff;
  border: 2px solid rgba(255,255,255,0.5);
}
.btn-outline-light:hover:not(:disabled) {
  background: rgba(255,255,255,0.1); border-color: #fff;
}
.btn:active { transform: translateY(0) !important; }
.btn:disabled { opacity:.5; cursor:not-allowed; transform:none !important; }
.btn-full { width:100%; }
.btn-sm  { padding: 8px 18px; font-size: 13px; border-radius: var(--r-sm); }
.btn-lg  { padding: 14px 30px; font-size: 16px; font-weight: 800; border-radius: var(--r-md); }

/* ── BADGE ──────────────────────────────────────────────────── */
.badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 10px; border-radius: var(--r-full);
  font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase;
}
.badge-atleta      { background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe; }
.badge-organizador { background:#fff7ed; color:#c2410c; border:1px solid #fed7aa; }
.badge-admin       { background:#faf5ff; color:#7e22ce; border:1px solid #e9d5ff; }
.badge-ativo       { background:#f0fdf4; color:#15803d; border:1px solid #bbf7d0; }
.badge-pendente    { background:#fffbeb; color:#b45309; border:1px solid #fde68a; }

/* ── SPINNER ─────────────────────────────────────────────────── */
.spinner {
  width:20px; height:20px;
  border:3px solid rgba(255,255,255,.35);
  border-top-color:#fff;
  border-radius:50%;
  animation:spin .7s linear infinite;
}
@keyframes spin { to{transform:rotate(360deg)} }

/* ── PARTÍCULAS (mais sutis no tema claro) ──────────────────── */
.bg-particles {
  position:fixed; inset:0; overflow:hidden; pointer-events:none; z-index:0;
}
.bg-particles span {
  position:absolute; display:block; border-radius:50%; opacity:0;
  animation:particleFloat linear infinite;
}
.bg-particles span:nth-child(odd)  { background:rgba(244,121,32,0.25); }
.bg-particles span:nth-child(even) { background:rgba(27,47,94,0.15); }
.bg-particles span:nth-child(1){ width:4px;height:4px;left:8%;  animation-duration:14s;animation-delay:0s; }
.bg-particles span:nth-child(2){ width:2px;height:2px;left:22%; animation-duration:10s;animation-delay:2s; }
.bg-particles span:nth-child(3){ width:5px;height:5px;left:38%; animation-duration:16s;animation-delay:4s; }
.bg-particles span:nth-child(4){ width:3px;height:3px;left:52%; animation-duration:12s;animation-delay:1s; }
.bg-particles span:nth-child(5){ width:4px;height:4px;left:65%; animation-duration:13s;animation-delay:3s; }
.bg-particles span:nth-child(6){ width:2px;height:2px;left:78%; animation-duration:9s; animation-delay:0.5s;}
.bg-particles span:nth-child(7){ width:6px;height:6px;left:18%; animation-duration:15s;animation-delay:5s; }
.bg-particles span:nth-child(8){ width:3px;height:3px;left:85%; animation-duration:11s;animation-delay:7s; }
@keyframes particleFloat {
  0%  { bottom:-20px;opacity:0;transform:translateX(0) scale(1); }
  15% { opacity:.4; }
  85% { opacity:.15; }
  100%{ bottom:110%;opacity:0;transform:translateX(40px) scale(0.4); }
}

/* ── FOOTER ─────────────────────────────────────────────────── */
.site-footer {
  position:relative; z-index:var(--z-card);
  text-align:center; padding:16px 24px;
  font-size:12px; color:var(--text-muted);
  border-top:1px solid var(--border);
  background:var(--bg-card);
  letter-spacing:.3px;
}
.site-footer a { color:var(--orange); font-weight:600; }
