/* ── HERBCEO BRAND VARIABLES ─────────────────────────── */
:root {
  --hc-cream: #f5f0e8;
  --hc-cream-dark: #ede7d9;
  --hc-ink: #1e1e18;
  --hc-ink-mid: #3d3d30;
  --hc-ink-light: #6b6b58;
  --hc-green: #2d5a27;
  --hc-green-light: #3d7a35;
  --hc-green-pale: #e8f0e6;
  --hc-amber: #b85c00;
  --hc-amber-pale: #fdf0e0;
  --hc-rule: #c8c0aa;
  --hc-tag-bg: #ddd8cc;
}

/* ── GLOBAL ──────────────────────────────────────────── */
body { background: var(--hc-cream) !important; color: var(--hc-ink); font-family: 'Source Sans 3', sans-serif; }
a { color: var(--hc-green); }
a:hover { color: var(--hc-green-light); }

/* ── KADENCE HEADER ──────────────────────────────────── */
.site-header, .site-header .site-branding, header.site-header, .kadence-sticky-header { background: var(--hc-green) !important; border-bottom: 3px solid var(--hc-amber) !important; }
.site-header .site-title a { text-decoration: none !important; }
.site-header .site-description { display: none; }

/* ── LOGO SVG ────────────────────────────────────────── */
.site-title svg { display: block; }

/* ── KADENCE NAVIGATION ──────────────────────────────── */
.primary-navigation a, .primary-navigation .menu-item a,
.site-header nav a {
  color: rgba(255,255,255,0.8) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}
.primary-navigation a:hover, .site-header nav a:hover { color: #fff !important; background: rgba(255,255,255,0.1) !important; }

/* ── KADENCE FOOTER ──────────────────────────────────── */
.site-footer { background: var(--hc-ink) !important; border-top: 2px solid var(--hc-amber) !important; color: rgba(255,255,255,0.5) !important; }
.site-footer a { color: rgba(255,255,255,0.6) !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; }
.site-footer a:hover { color: #fff !important; }
.site-footer .kadence-credit { color: rgba(255,255,255,0.3) !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; }

/* ── HOMEPAGE LAYOUT ─────────────────────────────────── */
.hc-homepage { background: var(--hc-cream); }
.page-id-11731 .entry-title { display: none !important; }
.page-id-11731 .entry-content, .page-id-11731 .content-container { padding: 0 !important; max-width: 100% !important; }

/* HERO */
.hc-hero { background: var(--hc-cream); border-bottom: 2px solid var(--hc-rule); padding: 32px 24px 28px; }
.hc-hero-inner { max-width: 800px; }
.hc-hero h1 { font-family: 'Bitter', serif; font-size: 24px; font-weight: 600; color: var(--hc-ink); margin: 0 0 8px; line-height: 1.3; }
.hc-hero-inner > p { font-size: 14px; color: var(--hc-ink-mid); margin: 0 0 18px; max-width: 500px; line-height: 1.6; }
.hc-search { display: flex; gap: 8px; flex-wrap: wrap; max-width: 620px; }
.hc-search-box { flex: 1; min-width: 200px; display: flex; border: 1.5px solid var(--hc-rule); border-radius: 3px; overflow: hidden; background: #fff; }
.hc-search-box input { flex: 1; border: none; background: transparent; padding: 10px 12px; font-family: 'Source Sans 3', sans-serif; font-size: 14px; color: var(--hc-ink); outline: none; }
.hc-search-box select { border: none; border-left: 1px solid var(--hc-rule); background: var(--hc-cream-dark); padding: 10px; font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: var(--hc-ink-mid); outline: none; cursor: pointer; }
.hc-search-btn { background: var(--hc-green); color: #fff; border: none; padding: 10px 20px; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.5px; border-radius: 3px; cursor: pointer; white-space: nowrap; text-transform: uppercase; }
.hc-search-btn:hover { background: var(--hc-green-light); }
.hc-browse-hint { margin-top: 10px; font-family: 'IBM Plex Mono', monospace; font-size: 10px; color: var(--hc-ink-light); }
.hc-browse-hint a { color: var(--hc-green); text-decoration: none; border-bottom: 1px solid var(--hc-green-pale); }
.hc-browse-hint a:hover { border-bottom-color: var(--hc-green); }

/* STATS BAR */
.hc-stats { background: var(--hc-cream-dark); border-bottom: 1px solid var(--hc-rule); padding: 8px 24px; display: flex; gap: 24px; flex-wrap: wrap; font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: var(--hc-ink-light); }
.hc-stats strong { color: var(--hc-green); }

/* MAIN LAYOUT */
.hc-main { display: flex; }
.hc-sidebar { width: 180px; flex-shrink: 0; border-right: 1px solid var(--hc-rule); padding: 16px 0; }
.hc-sidebar-heading { font-family: 'IBM Plex Mono', monospace; font-size: 9px; letter-spacing: 1px; text-transform: uppercase; color: var(--hc-ink-light); padding: 0 14px 6px; border-bottom: 1px solid var(--hc-rule); margin-bottom: 4px; }
.hc-sidebar a { display: flex; align-items: center; justify-content: space-between; padding: 5px 14px; font-size: 12px; color: var(--hc-ink-mid); text-decoration: none; transition: background 0.1s; border: none; }
.hc-sidebar a:hover { background: var(--hc-green-pale); color: var(--hc-green); }
.hc-count { font-family: 'IBM Plex Mono', monospace; font-size: 10px; color: var(--hc-ink-light); background: var(--hc-tag-bg); padding: 1px 5px; border-radius: 2px; }
.hc-sidebar-section { margin-bottom: 18px; }
.hc-content { flex: 1; padding: 16px 20px; min-width: 0; }
.hc-section-header { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 8px; margin-bottom: 14px; border-bottom: 1px solid var(--hc-rule); }
.hc-section-title { font-family: 'Bitter', serif; font-size: 15px; font-weight: 600; color: var(--hc-ink); }
.hc-section-more { font-family: 'IBM Plex Mono', monospace; font-size: 10px; color: var(--hc-green); text-decoration: none; }
.hc-section-more:hover { text-decoration: underline; }
.hc-cat-group { margin-bottom: 18px; }
.hc-cat-group-label { font-family: 'IBM Plex Mono', monospace; font-size: 9px; letter-spacing: 1px; text-transform: uppercase; color: var(--hc-ink-light); margin-bottom: 8px; }
.hc-cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.hc-cat-card { background: #fff; border: 1px solid var(--hc-rule); border-radius: 3px; padding: 10px 12px; text-decoration: none; display: block; transition: all 0.15s; }
.hc-cat-card:hover { border-color: var(--hc-green); background: var(--hc-green-pale); }
.hc-cat-card:hover .hc-cat-name { color: var(--hc-green); }
.hc-cat-icon { font-size: 15px; margin-bottom: 5px; display: block; }
.hc-cat-name { font-family: 'Bitter', serif; font-size: 12px; font-weight: 600; color: var(--hc-ink); display: block; margin-bottom: 2px; }
.hc-cat-count { font-family: 'IBM Plex Mono', monospace; font-size: 9px; color: var(--hc-ink-light); }
.hc-state-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin-bottom: 18px; }
.hc-state-pill { background: #fff; border: 1px solid var(--hc-rule); border-radius: 2px; padding: 6px 10px; font-family: 'IBM Plex Mono', monospace; font-size: 10px; color: var(--hc-ink-mid); text-decoration: none; display: flex; align-items: center; justify-content: space-between; transition: all 0.1s; }
.hc-state-pill:hover { border-color: var(--hc-green); color: var(--hc-green); background: var(--hc-green-pale); }
.hc-sc { color: var(--hc-ink-light); font-size: 9px; }
.hc-cta { background: var(--hc-green); border-radius: 3px; padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 8px; }
.hc-cta-text { color: #fff; font-family: 'Bitter', serif; font-size: 15px; font-weight: 600; }
.hc-cta-sub { color: rgba(255,255,255,0.7); font-size: 12px; margin-top: 3px; font-family: 'Source Sans 3', sans-serif; }
.hc-cta-btn { background: var(--hc-amber); color: #fff !important; border: none; padding: 10px 20px; font-family: 'IBM Plex Mono', monospace; font-size: 11px; font-weight: 500; border-radius: 3px; cursor: pointer; white-space: nowrap; letter-spacing: 0.3px; text-decoration: none !important; display: inline-block; }
.hc-cta-btn:hover { background: #d06800; }

@media (max-width: 768px) {
  .hc-main { flex-direction: column; }
  .hc-sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--hc-rule); }
  .hc-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-state-grid { grid-template-columns: repeat(2, 1fr); }
}
