
/* ShadowCraft Global Styles - css/style.css */
:root {
  --bg: #07070b;
  --bg-2: #0f0f14;
  --text: #ffffff;
  --muted: #9ca3af;
  --border: rgba(255,255,255,0.08);
  --accent: #fffdfd;
}
* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family: 'Inter', sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }

/* Main content offset - sidebar handles body padding on desktop */
.main-content {
  min-height: 100vh;
  padding: 32px 32px 32px 40px;
  max-width: 1280px;
  margin: 0 auto;
}

/* Example generic page styles that previously conflicted - NOW SCOPED */
/* BAD EXAMPLE (fixed): Previously this was a::after { width:100% } breaking sidebar */
/* FIXED: Scoped to page content only */
.main-content a::after,
.main-content .card::after {
  content: none;
}

/* Page specific components */
.page-header { margin-bottom: 32px; }
.page-header h1 { font-size: 32px; font-weight: 800; letter-spacing: -0.02em; margin-bottom: 8px; }
.page-header p { color: var(--muted); font-size: 15px; max-width: 600px; }

.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap: 18px; }
.card {
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 18px;
}
.card h3 { font-size: 16px; font-weight: 600; margin-bottom: 6px; }
.card p { font-size: 13px; color: var(--muted); }

.btn-primary {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 10px 18px; border-radius: 10px;
  background: var(--accent); color: rgb(255, 255, 255); font-weight: 600; font-size: 14px;
  border: none; cursor: pointer;
}

/* Mobile adjustments */
@media (max-width: 1024px) {
  .main-content { padding: 72px 18px 32px 18px; }
}

/* Ensure content does not get sidebar's pseudo-elements */
.main-content { isolation: isolate; }
