/* === Global === */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; }

/* === Offer cards hover effect === */
.offer-card {
  transition: transform 0.15s ease, border-color 0.15s ease;
}
.offer-card:hover {
  transform: translateY(-2px);
}

/* === FAQ details animation === */
details summary::-webkit-details-marker { display: none; }
details[open] summary span { transform: rotate(45deg); }
details summary span { display: inline-block; transition: transform 0.2s ease; }

/* === Code in FAQ === */
code {
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 0.85em;
}

/* === Spinner === */
@keyframes spin {
  to { transform: rotate(360deg); }
}
.animate-spin { animation: spin 0.7s linear infinite; }

/* === Scrollbar === */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #111827; }
::-webkit-scrollbar-thumb { background: #374151; border-radius: 3px; }

/* === Admin table === */
.admin-table th { background: #1f2937; }
.admin-table tr:hover td { background: #1f2937; }

/* === Status badges === */
.badge-paid    { background: #064e3b; color: #34d399; border: 1px solid #065f46; }
.badge-pending { background: #78350f; color: #fbbf24; border: 1px solid #92400e; }
.badge-expired { background: #1f2937; color: #9ca3af; border: 1px solid #374151; }
