/* Home hero */
.hero{ padding: 26px 0 18px; }

.hero-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: var(--gap-4);
}
@media (min-width: 1060px){
  .hero-grid{ grid-template-columns: minmax(0,var(--content)) minmax(0,var(--sidebar));}
}
.hero-grid > *{ min-width:0; }

.hero-card{
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  background: linear-gradient(180deg, rgba(37,99,235,.10), transparent 45%);
  padding: 20px;
}
[data-theme="dark"] .hero-card{
  background: linear-gradient(180deg, rgba(96,165,250,.14), transparent 45%);
}

.hero h1{
  margin:0 0 8px;
  font-size: 40px;
  line-height: 1.1;
  letter-spacing: -0.6px;
}
.hero p{ margin:0; color:var(--muted); max-width: 70ch; }

.hero-search{
  display:flex; gap:10px; flex-wrap:wrap;
  margin-top: 14px;
}
.hero-search input, .hero-search select{
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:var(--bg);
  color:var(--fg);
  outline:none;
  flex: 1 1 260px;
  min-width: 220px;
}
.hero-search input:focus, .hero-search select:focus{
  border-color:rgba(37,99,235,.5);
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
}

.pills{
  display:flex; gap:8px; flex-wrap:wrap;
  margin-top: 14px;
}

/* Right hero side */
.hero-side{
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  background: var(--bg);
  padding: 16px;
}
.mini{ color:var(--muted); font-size:13px; }

.stat-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  margin-top: 12px;
}
.stat{
  border:1px solid var(--border);
  background: var(--soft);
  border-radius: 14px;
  padding: 10px 12px;
}
.stat b{ display:block; font-size: 20px; }
.stat span{ color:var(--muted); font-size: 12px; }

/* Categories */
.cat-grid{
  display:grid;
  gap:12px;
  grid-template-columns: 1fr;
  align-items:stretch;
}
@media (min-width: 760px){
  .cat-grid{ grid-template-columns: 1fr 1fr; }
}
.cat{
  border:1px solid var(--border);
  background:var(--soft);
  border-radius:14px;
  padding:14px;
  text-decoration:none;
  display:flex; gap:12px; align-items:flex-start;
  height:100%;
}
.cat:hover{ background:var(--bg); }
.cat b{ display:block; margin-bottom:4px; }
.cat span{ color:var(--muted); font-size:13px; }
