/* =========================================================
   MN Home + Cards (v2.1.1)
   - Modern hero
   - Category tiles
   - Post cards with featured images
   ========================================================= */

.mn-hero{
  position:relative;
  border: 1px solid var(--mn-line);
  border-radius: 26px;
  background: var(--mn-surface);
  box-shadow: var(--mn-shadow-strong);
  overflow:hidden;
  padding: clamp(18px, 3.5vw, 34px);
  margin: 18px auto 16px;
}
.mn-hero::before{
  content:"";
  position:absolute; inset:-1px;
  background:
    radial-gradient(640px 280px at 10% 0%, rgba(110,231,255,.18), transparent 60%),
    radial-gradient(640px 280px at 95% 10%, rgba(167,139,250,.16), transparent 62%),
    radial-gradient(520px 260px at 55% 115%, rgba(37,99,235,.18), transparent 60%);
  pointer-events:none;
  opacity:.95;
}
.mn-hero > *{ position:relative; }

.mn-hero-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
  align-items:center;
}
@media (max-width: 980px){
  .mn-hero-grid{ grid-template-columns: 1fr; }
}

.mn-hero h1{ margin:0 0 10px; }
.mn-hero p{ margin:0 0 14px; max-width: 70ch; }

.mn-hero-cta{ display:flex; gap:10px; flex-wrap:wrap; }
.mn-cta{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--mn-line);
  background: var(--mn-surface2);
  color: var(--mn-text);
  font-weight: 950;
  text-decoration:none;
}
.mn-cta.primary{
  border:0;
  background: var(--mn-grad);
  color:#fff;
  box-shadow: 0 18px 55px rgba(37,99,235,.25);
}

.mn-hero-stat{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.mn-stat{
  border: 1px solid var(--mn-line);
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  padding: 12px;
}
html[data-theme="light"] .mn-stat{ background: #fff; }
.mn-stat b{ display:block; font-size: 12px; color: var(--mn-muted); margin-bottom: 4px; }
.mn-stat span{ font-weight: 1000; font-size: 18px; }

.mn-section{ margin: 18px auto; max-width: var(--mn-wide-max); }
.mn-section-hd{
  display:flex; justify-content:space-between; align-items:flex-end; gap:10px;
  margin-bottom: 10px;
}
.mn-section-hd h2{ margin:0; }
.mn-section-hd .mn-muted{ margin:0; }

.mn-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 980px){ .mn-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .mn-grid{ grid-template-columns: 1fr; } }

.mn-tile{
  border: 1px solid var(--mn-line);
  border-radius: 20px;
  background: var(--mn-surface);
  box-shadow: var(--mn-shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height: 220px;
  text-decoration:none;
}
.mn-tile-media{
  width:100%;
  aspect-ratio: 16 / 9;
  background: var(--mn-surface2);
  border-bottom: 1px solid var(--mn-line);
}
.mn-tile-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.mn-tile-bd{ padding: 14px; }
.mn-tile-title{
  margin:0 0 6px;
  font-size: 16px;
  font-weight: 1000;
  color: var(--mn-text);
}
.mn-tile-desc{ margin:0; color: var(--mn-muted); line-height:1.6; }

.mn-card-list{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 980px){ .mn-card-list{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .mn-card-list{ grid-template-columns: 1fr; } }

.mn-post-card{
  border: 1px solid var(--mn-line);
  border-radius: 20px;
  background: var(--mn-surface);
  box-shadow: var(--mn-shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  text-decoration:none;
}
.mn-post-thumb{
  width:100%;
  aspect-ratio: 16/9;
  background: var(--mn-surface2);
  border-bottom: 1px solid var(--mn-line);
}
.mn-post-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.mn-post-bd{ padding: 14px; }
.mn-post-meta{ font-size: 12px; color: var(--mn-muted); margin-bottom: 6px; }
.mn-post-title{ margin:0 0 8px; font-weight: 1000; font-size: 16px; color: var(--mn-text); }
.mn-post-title a{ color: var(--mn-text); text-decoration:none; }
.mn-post-excerpt{ margin:0; color: var(--mn-muted); line-height:1.65; }

.mn-shortcode-wrap{
  border: 1px solid var(--mn-line);
  border-radius: 22px;
  background: var(--mn-surface);
  box-shadow: var(--mn-shadow);
  padding: 14px;
}
.mn-shortcode-wrap .mncust{ max-width: 100%; }
