/* Artemis Research Topics — overview grid + topic landing. Mirrors Phoenix layout.
   Palette overridable via these vars in Appearance → Customize → Additional CSS. */
:root {
  --al-rt-navy: #1A1A2E;       /* Near Black — titles */
  --al-rt-ink: #1A1A2E;
  --al-rt-muted: #6B7280;      /* Medium Gray — descriptions */
  --al-rt-accent: #3476A7;     /* Royal Blue — explore link / CTAs */
  --al-rt-icon-bg: #EDF4F8;    /* Ice Blue — icon square */
  --al-rt-icon-fg: #3476A7;    /* Royal Blue — icon stroke */
  --al-rt-border: #E5E7EB;     /* Border Gray */
  --al-rt-card-bg: #ffffff;
  --al-rt-tint: #F5F7FA;       /* Light Gray — sidebar bg */
}

/* ---------- Overview grid ([research_topics_grid]) ---------- */
.al-rt-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin: 10px 0 40px;
}
@media (max-width: 1100px) { .al-rt-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .al-rt-grid { grid-template-columns: 1fr; } }

.al-rt-card {
  display: flex;
  flex-direction: column;
  background: var(--al-rt-card-bg);
  border: 1px solid var(--al-rt-border);
  border-radius: 14px;
  padding: 24px 22px 26px;
  min-height: 220px;
  text-decoration: none !important;
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.al-rt-card:hover {
  box-shadow: 0 14px 34px rgba(22, 36, 63, .10);
  transform: translateY(-3px);
  border-color: #d7dce6;
}
.al-rt-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 26px;
}
.al-rt-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 12px;
  background: var(--al-rt-icon-bg);
  color: var(--al-rt-icon-fg);
}
.al-rt-card__icon svg { width: 26px; height: 26px; }
.al-rt-card__count {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--al-rt-muted);
  font-weight: 600;
}
.al-rt-card__title {
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 700;
  color: var(--al-rt-navy);
  line-height: 1.2;
}
.al-rt-card__desc {
  margin: 0 0 18px;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--al-rt-muted);
}
.al-rt-card__cta {
  margin-top: auto;
  font-size: 14px;
  font-weight: 600;
  color: var(--al-rt-accent);
}

/* ---------- Topic landing ---------- */
.al-rt-hero {
  background: linear-gradient(135deg, #0B1A2E 0%, #1A1A2E 100%);
  color: #fff;
  padding: 64px 0 58px;
}
.al-rt-hero__inner,
.al-rt-breadcrumb__inner,
.al-rt-layout {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
.al-rt-eyebrow {
  display: inline-block;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #7BA7BC;
  margin-bottom: 14px;
}
.al-rt-hero__title { margin: 0; font-size: 52px; font-weight: 800; line-height: 1.05; }
.al-rt-hero__sub { margin: 16px 0 0; font-size: 18px; max-width: 720px; color: #c5d0e2; }

.al-rt-breadcrumb {
  border-bottom: 1px solid var(--al-rt-border);
  background: var(--al-rt-tint);
}
.al-rt-breadcrumb__inner {
  padding-top: 14px;
  padding-bottom: 14px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--al-rt-muted);
}
.al-rt-breadcrumb a { color: var(--al-rt-muted); text-decoration: none; }
.al-rt-breadcrumb a:hover { color: var(--al-rt-accent); }

.al-rt-layout {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 34px;
  padding-top: 44px;
  padding-bottom: 64px;
}
@media (max-width: 860px) { .al-rt-layout { grid-template-columns: 1fr; } }

.al-rt-sidebar {
  border: 1px solid var(--al-rt-border);
  border-radius: 14px;
  padding: 22px 8px;
  background: var(--al-rt-tint);
  align-self: start;
}
.al-rt-sidebar__head {
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--al-rt-muted);
  padding: 0 16px 12px;
}
.al-rt-sidebar ul { list-style: none; margin: 0; padding: 0; }
.al-rt-sidebar li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 11px 16px;
  border-radius: 9px;
  color: var(--al-rt-ink);
  text-decoration: none;
  font-weight: 600;
  font-size: 14.5px;
}
.al-rt-sidebar li a span { color: var(--al-rt-muted); font-weight: 500; font-size: 13px; }
.al-rt-sidebar li a:hover { background: var(--al-rt-icon-bg); }
.al-rt-sidebar li.is-active a { background: var(--al-rt-accent); color: #fff; }
.al-rt-sidebar li.is-active a span { color: #cfe0ee; }

.al-rt-main .products { margin: 0 !important; }
.al-rt-empty { font-size: 16px; color: var(--al-rt-muted); }
.al-rt-empty a { color: var(--al-rt-accent); }

/* ---------- Single-post breadcrumb (blog articles) ---------- */
.al-rt-post-breadcrumb {
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--al-rt-muted);
  margin: 0 0 18px;
  line-height: 1.5;
}
.al-rt-post-breadcrumb a { color: var(--al-rt-muted); text-decoration: none; }
.al-rt-post-breadcrumb a:hover { color: var(--al-rt-accent); }
.al-rt-post-breadcrumb__sep { margin: 0 4px; opacity: .55; }
.al-rt-post-breadcrumb__current { color: var(--al-rt-navy); font-weight: 600; }

/* ---------- Research Articles (now in the main column, right of nav) ---------- */
.al-rt-articles__head {
  font-size: 24px;
  font-weight: 700;
  color: var(--al-rt-navy);
  margin: 0 0 22px;
}
.al-rt-articles__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
}

/* ---------- Related Products (full-width strip below) ---------- */
.al-rt-products-wrap { background: var(--al-rt-tint); border-top: 1px solid var(--al-rt-border); }
.al-rt-products {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 20px 64px;
}
.al-rt-products__head {
  font-size: 24px;
  font-weight: 700;
  color: var(--al-rt-navy);
  margin: 0 0 22px;
}
.al-rt-products .products { margin: 0 !important; }
.al-rt-article {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--al-rt-border);
  border-radius: 12px;
  padding: 22px;
  text-decoration: none !important;
  transition: box-shadow .18s ease, transform .18s ease;
}
.al-rt-article:hover { box-shadow: 0 12px 30px rgba(22,36,63,.10); transform: translateY(-3px); }
.al-rt-article__tag {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--al-rt-accent);
  font-weight: 600;
  margin-bottom: 10px;
}
.al-rt-article h3 {
  font-size: 17px;
  line-height: 1.3;
  font-weight: 700;
  color: var(--al-rt-navy);
  margin: 0 0 10px;
}
.al-rt-article p {
  font-size: 14px;
  line-height: 1.5;
  color: var(--al-rt-muted);
  margin: 0 0 16px;
}
.al-rt-article__cta { margin-top: auto; font-size: 13.5px; font-weight: 600; color: var(--al-rt-accent); }
