/* =====================================================
   Google Fonts: IBM Plex
   ===================================================== */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Serif:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

/* =====================================================
   Color palette
   ===================================================== */
:root {
  --bg: #ffffff;

  --text-main: #111827;
  --text-muted: #6b7280;

  --accent: #1f32d8;
  --accent-hover: #1626a8;
  --accent-soft: #eef0ff;

  --border: #e5e7eb;
  --code-bg: #f8f9ff;
}

/* =====================================================
   Base typography
   ===================================================== */
body {
  font-family: "IBM Plex Serif", Georgia, "Times New Roman", serif;
  font-size: 17px;
  line-height: 1.75;
  color: var(--text-main);
  background-color: var(--bg);
  font-feature-settings: "liga", "kern";
}

/* =====================================================
   Headings
   ===================================================== */
h1, h2, h3, h4, h5, h6 {
  font-family: "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--text-main);
}

/* =====================================================
   Navigation & UI
   ===================================================== */
.site-title,
.menu,
.post-meta,
.pagination,
.footer {
  font-family: "IBM Plex Sans", system-ui, sans-serif;
  color: var(--text-muted);
}

/* =====================================================
   Fix site title (override Mainroad logo styling)
   ===================================================== */
.logo__title,
.site-title,
.logo__link {
  font-family: "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 700;
  font-variant: normal;
  text-transform: none;
  letter-spacing: -0.015em;
  color: var(--text-main);
}

/* =====================================================
   Links & accents
   ===================================================== */
a {
  color: var(--accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

a:hover {
  color: var(--accent-hover);
}

/* =====================================================
   Post titles
   ===================================================== */
.post-title a {
  color: var(--text-main);
}

.post-title a:hover {
  color: var(--accent);
}

/* =====================================================
   Muted text
   ===================================================== */
.post-meta a,
.footer a {
  color: var(--text-muted);
}

.post-meta a:hover,
.footer a:hover {
  color: var(--accent);
}

/* =====================================================
   Borders & separators
   ===================================================== */
hr,
.post-footer,
.pagination,
.sidebar__widget {
  border-color: var(--border);
}

/* =====================================================
   Code blocks
   ===================================================== */
pre,
code {
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;
  font-size: 0.95em;
  background-color: var(--code-bg);
}




/* Tags: typography */
.tags__item,
.tags__item a {
  font-family: "IBM Plex Sans", system-ui, sans-serif;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

/* --- Post meta: force IBM Plex Sans --- */
.post__meta,
.post__meta * ,
.meta,
.meta * {
  font-family: "IBM Plex Sans", system-ui, sans-serif !important;
  letter-spacing: 0 !important;
}
/* Tone down post meta */
.post__meta {
  font-size: 0.9em;
  color: var(--text-muted);
}

.post__meta a {
  color: var(--text-muted);
}

.post__meta a:hover {
  color: var(--accent);
}

/* Hide Mainroad generator text only */
.footer__copyright span:last-child {
  display: none !important;
}

.footer,
.footer__copyright {
  font-family: "IBM Plex Sans", system-ui, sans-serif;
  color: #9ca3af; /* slate-400 */
}


/* Sidebar base */
.sidebar {
  font-family: "IBM Plex Sans", system-ui, sans-serif;
  color: var(--text);
}

/* Reset aggressive theme inheritance safely */
.sidebar p,
.sidebar a,
.sidebar li,
.sidebar span,
.sidebar input {
  font-family: "IBM Plex Sans", system-ui, sans-serif;
  letter-spacing: 0;
}

/* ---------------------------------------------------------
   Widget titles
   --------------------------------------------------------- */
.widget__title {
  font-weight: 600;
  font-size: 0.85em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-strong);
  margin-bottom: 0.75em;
}

/* ---------------------------------------------------------
   Widget links (recent posts, categories)
   --------------------------------------------------------- */
.widget a {
  font-weight: 400;
  color: var(--text);
}

.widget a:hover {
  color: var(--accent);
}

/* ---------------------------------------------------------
   Sidebar search input
   --------------------------------------------------------- */
.widget-search input {
  font-family: "IBM Plex Sans", system-ui, sans-serif;
  font-size: 0.95em;
}

/* ---------------------------------------------------------
   Sidebar tag cloud — FONT ONLY (no color override)
   --------------------------------------------------------- */
.tagcloud a {
  font-family: "IBM Plex Sans", system-ui, sans-serif !important;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: #ffffff !important;
}


.sidebar .tagcloud a,
.sidebar .tagcloud a span {
  color: #f9fafb !important; /* light text */
}


/* Top navigation: disable forced uppercase */
.menu__link {
  text-transform: none;
  letter-spacing: 0;
}
