:root{
  --mh-bg:#f6f7fb;
  --mh-card:#ffffff;
  --mh-text:#0f172a;

  /* CHANGED: make all “muted” text black/dark too */
  --mh-muted:#0f172a;

  --mh-border:rgba(148,163,184,0.35);
  --mh-shadow:0 14px 35px rgba(15,23,42,0.06);
  --mh-accent:#119bd2;
  --mh-accent2:#33c8c1;
}

body.mh-articles-page{ background:var(--mh-bg); }

.mh-hero{
  padding:80px 15px;
  background:linear-gradient(135deg,#f9fafc,#e9f5ff);
}

.mh-wrap{
  max-width:1200px;
  margin:0 auto;
}

.mh-headline{
  text-align:center;
  margin-bottom:18px;
}
.mh-headline .bar{
  width:70px;height:4px;border-radius:8px;
  margin:0 auto 14px;
  background:linear-gradient(90deg,var(--mh-accent2),var(--mh-accent));
}
.mh-headline h1{
  font-size:34px;
  font-weight:900;
  color:#0b4b8c;
  margin:0 0 10px;
}

/* CHANGED: headline paragraph black */
.mh-headline p{
  color:#0f172a;
  max-width:820px;
  margin:0 auto;
  font-weight:650;
  line-height:1.6;
}

.mh-toolbar{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  background:rgba(255,255,255,0.75);
  border:1px solid var(--mh-border);
  border-radius:16px;
  padding:14px;
  backdrop-filter: blur(10px);
  box-shadow:0 10px 30px rgba(15,23,42,0.06);
}

.mh-search{
  display:flex;
  gap:10px;
  flex:1 1 320px;
}
.mh-search input{
  flex:1;
  border:1px solid rgba(148,163,184,0.45);
  border-radius:12px;
  padding:10px 12px;
  outline:none;
  font-weight:700;
}
.mh-search button{
  border:none;
  border-radius:12px;
  padding:10px 14px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(90deg,var(--mh-accent2),var(--mh-accent));
  cursor:pointer;
}
.mh-search button:hover{ filter:brightness(0.97); }

.mh-chips{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.mh-chip{
  padding:8px 12px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none;
  background:#fff;
  border:1px solid var(--mh-border);
  color:#0b4b8c;
  transition:transform .2s, box-shadow .2s;
  white-space:nowrap;
}
.mh-chip:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 18px rgba(15,23,42,0.08);
}
.mh-chip.active{
  color:#fff;
  border:none;
  background:linear-gradient(90deg,var(--mh-accent2),var(--mh-accent));
}

.mh-results{
  margin-top:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;

  /* CHANGED: results text black */
  color:#0f172a;

  font-weight:650;
}
.mh-clear{
  text-decoration:none;
  color:var(--mh-accent);
  font-weight:900;
}

.mh-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:16px;
}

.mh-card{
  height:100%;
  background:rgba(255,255,255,0.92);
  border:1px solid rgba(148,163,184,0.28);
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 30px rgba(15,23,42,0.06);
  transition:transform .25s, box-shadow .25s;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.mh-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 45px rgba(15,23,42,0.14);
}

.mh-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:8px 10px;
  font-weight:900;
  background:rgba(17,155,210,0.12);
  color:#0b4b8c;
  border:1px solid rgba(17,155,210,0.25);
}
.mh-badge small{ color:#0b4b8c; opacity:.85; font-weight:900; }

.mh-card-title{
  margin-top:12px;
  font-size:18px;
  line-height:1.3;
  font-weight:950;
  color:#0f172a;
}
.mh-card-title a{
  text-decoration:none;
  color:inherit;
}
.mh-card-title a:hover{ text-decoration:underline; }

/* CHANGED: excerpt black */
.mh-excerpt{
  margin-top:10px;
  color:#0f172a;
  font-weight:650;
  line-height:1.6;
  flex:1;
}

.mh-meta{
  margin-top:12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  color:var(--mh-muted);
  font-size:13px;
  font-weight:800;
}

.mh-readmore{
  margin-top:14px;
  font-weight:950;
  color:var(--mh-accent);
  text-decoration:none;
}
.mh-readmore:hover{ text-decoration:underline; }

.mh-empty{
  background:#fff;
  border-radius:18px;
  padding:22px;
  text-align:center;
  border:1px dashed rgba(148,163,184,0.6);
}

.mh-pagination{
  margin-top:28px;
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
}
.mh-pg{
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  font-weight:950;
  background:#fff;
  border:1px solid var(--mh-border);
  color:#0b4b8c;
}
.mh-pg.active{
  background:linear-gradient(90deg,var(--mh-accent2),var(--mh-accent));
  color:#fff;
  border:none;
}
.mh-pg.disabled{
  opacity:.45;
  pointer-events:none;
}
.mh-pg.dots{
  border:none;
  background:transparent;
}

@media (max-width: 1020px){
  .mh-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .mh-grid{ grid-template-columns: 1fr; }
  .mh-headline h1{ font-size:30px; }
}

/* Featured strip */
.mh-featured{
  margin-top:18px;
  background:rgba(255,255,255,0.75);
  border:1px solid var(--mh-border);
  border-radius:16px;
  padding:14px;
  box-shadow:0 10px 30px rgba(15,23,42,0.06);
}
.mh-featured-head{
  display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap;
  margin-bottom:10px;
}
.mh-featured-title{
  font-weight:950; color:#0b4b8c; font-size:16px;
}
.mh-sort{
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
}

/* CHANGED: label black */
.mh-sort label{ font-weight:900; color:#0f172a; font-size:13px; }

.mh-sort select{
  border:1px solid rgba(148,163,184,0.45);
  border-radius:12px;
  padding:10px 12px;
  font-weight:900;
  outline:none;
  background:#fff;
}
.mh-featured-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}
.mh-featured-item{
  background:#fff;
  border:1px solid rgba(148,163,184,0.28);
  border-radius:14px;
  padding:12px;
}
.mh-featured-item a{
  text-decoration:none;
  color:#0f172a;
  font-weight:950;
}
.mh-featured-item a:hover{ text-decoration:underline; }
.mh-featured-meta{
  margin-top:6px;
  color:var(--mh-muted);
  font-weight:800;
  font-size:13px;
}

@media (max-width: 1020px){
  .mh-featured-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .mh-featured-grid{ grid-template-columns: 1fr; }
}

/* Make <summary> text strong/black (Install + Asterisk checklists) */
.mh-install-series summary,
.mh-install-series summary * ,
.mh-asterisk-series summary,
.mh-asterisk-series summary * {
  color: #0f172a !important;
  opacity: 1 !important;
  font-weight: 950 !important;
}

/* Optional: nicer caret + hover */
.mh-install-series summary:hover,
.mh-asterisk-series summary:hover {
  text-decoration: underline;
}

/* Force checklist summary to be dark (Install + Asterisk checklists) */
details.mh-checklist > summary{
  color:#0f172a !important;
  opacity:1 !important;
  font-weight:950 !important;
}
details.mh-checklist > summary:hover{
  text-decoration: underline;
}

/* NEW: make summary text black for FreePBX + Router sections too */
.mh-freepbx-series summary,
.mh-freepbx-series summary *,
.mh-router-config summary,
.mh-router-config summary *{
  color:#0f172a !important;
  opacity:1 !important;
  font-weight:950 !important;
}
