/* ============================================================================
   Netrouting — "In The Lab" Series Stylesheet
   ============================================================================
   Include this once in your blog section page header:
   <link rel="stylesheet" href="/path/to/nr-in-the-lab.css" />

   All selectors are scoped under .nr-lab-article to avoid conflicts
   with the main Netrouting theme (sofia-pro, global heading colors, etc.)

   !important is used ONLY where the theme forces color: #000 on headings
   that must appear white/green inside dark containers. No other overrides.
   ============================================================================ */

/* --- Brand Tokens (edit these to update all articles at once) ------------- */
:root {
  --nr-navy:       #051F38;
  --nr-navy-deep:  #0A1628;
  --nr-navy-mid:   #0D2E4F;
  --nr-green:      #14BB60;
  --nr-green-dark: #0E9A4E;
  --nr-blue:       #52A7FF;
  --nr-light-bg:   #F2F6FB;
  --nr-muted:      #8A9BB5;
  --nr-text:       #1a1a2e;
  --nr-text-body:  #444;
  --nr-border:     #e0e7f0;
}

/* --- Article Container ---------------------------------------------------- */
.nr-lab-article {
  max-width: 820px;
  margin: 0 auto;
  line-height: 1.8;
}

/* --- Headings (within article context) ------------------------------------ */
.nr-lab-article h2 {
  color: var(--nr-navy);
  border-bottom: 3px solid var(--nr-green);
  padding-bottom: 8px;
  margin-top: 2.5em;
}

.nr-lab-article h3 {
  color: var(--nr-navy);
  margin-top: 1.8em;
}

/* --- Hero Banner ---------------------------------------------------------- */
.nr-hero-banner {
  background: linear-gradient(135deg, var(--nr-navy) 0%, var(--nr-navy-deep) 100%);
  color: #fff;
  padding: 40px;
  border-radius: 12px;
  margin-bottom: 2em;
  text-align: center;
}

/* Theme forces color:#000 on headings — override inside dark containers */
.nr-lab-article .nr-hero-banner h1 {
  color: #fff !important;
  margin: 0 0 10px 0;
  font-size: 2em;
}

.nr-hero-banner .nr-subtitle {
  color: var(--nr-green);
  font-size: 1.1em;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 8px;
}

.nr-hero-banner .nr-specs {
  color: var(--nr-muted);
  font-size: 0.95em;
}

/* --- Spec Cards ----------------------------------------------------------- */
.nr-spec-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin: 1.5em 0;
}

.nr-spec-card {
  background: var(--nr-light-bg);
  border-left: 4px solid var(--nr-green);
  padding: 16px;
  border-radius: 0 8px 8px 0;
}

.nr-spec-card .nr-label {
  font-size: 0.8em;
  text-transform: uppercase;
  color: #666;
  letter-spacing: 1px;
}

.nr-spec-card .nr-value {
  font-size: 1.4em;
  font-weight: 700;
  color: var(--nr-navy);
}

/* --- Result Tables -------------------------------------------------------- */
.nr-result-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
}

.nr-result-table th {
  background: var(--nr-navy);
  color: #fff !important;
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
}

.nr-result-table td {
  padding: 12px 16px;
  border-bottom: 1px solid #e8e8e8;
}

.nr-result-table tr:nth-child(even) {
  background: var(--nr-light-bg);
}

.nr-result-table .nr-highlight {
  color: var(--nr-green);
  font-weight: 700;
  font-size: 1.1em;
}

/* --- Callout Box (green gradient) ----------------------------------------- */
.nr-callout {
  background: linear-gradient(135deg, var(--nr-green) 0%, var(--nr-green-dark) 100%);
  color: #fff;
  padding: 24px 32px;
  border-radius: 12px;
  margin: 2em 0;
}

.nr-lab-article .nr-callout h3 {
  color: #fff !important;
  margin-top: 0;
}

.nr-callout a {
  color: #d4f5e0;
  text-decoration: underline;
}

.nr-callout code {
  background: rgba(255,255,255,0.2);
  padding: 2px 6px;
  border-radius: 3px;
}

/* --- Screenshots ---------------------------------------------------------- */
.nr-screenshot {
  width: 100%;
  border-radius: 8px;
  border: 2px solid #e8e8e8;
  margin: 1em 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* --- Game Cards ----------------------------------------------------------- */
.nr-game-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin: 1.5em 0;
}

.nr-game-card {
  background: var(--nr-light-bg);
  padding: 20px;
  border-radius: 12px;
  text-align: center;
  border: 1px solid var(--nr-border);
}

.nr-game-card .nr-game-name {
  font-weight: 700;
  font-size: 1.1em;
  color: var(--nr-navy);
}

.nr-game-card .nr-game-capacity {
  color: var(--nr-green);
  font-size: 1.5em;
  font-weight: 700;
  margin: 8px 0;
}

.nr-game-card .nr-game-detail {
  color: #666;
  font-size: 0.85em;
}

/* --- Verdict Box (dark) --------------------------------------------------- */
.nr-verdict-box {
  background: var(--nr-navy);
  color: #fff;
  padding: 32px;
  border-radius: 12px;
  margin: 2em 0;
}

.nr-lab-article .nr-verdict-box h3 {
  color: var(--nr-green) !important;
  margin-top: 0;
}

.nr-verdict-box p {
  color: #fff !important;
}

.nr-verdict-box .nr-muted-text {
  color: var(--nr-muted) !important;
}

/* --- Tags / Pills --------------------------------------------------------- */
.nr-tag {
  display: inline-block;
  background: var(--nr-green);
  color: #fff;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.75em;
  font-weight: 600;
  margin-right: 6px;
  text-transform: uppercase;
}

.nr-tag-blue {
  display: inline-block;
  background: var(--nr-blue);
  color: #fff;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.75em;
  font-weight: 600;
  margin-right: 6px;
  text-transform: uppercase;
}

/* --- CTA Section ---------------------------------------------------------- */
.nr-cta-section {
  text-align: center;
  padding: 40px 20px;
}

.nr-cta-button {
  display: inline-block;
  background: var(--nr-green);
  color: #fff !important;
  padding: 16px 40px;
  border-radius: 8px;
  font-size: 1.1em;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.3s;
}

.nr-cta-button:hover {
  background: var(--nr-green-dark);
  color: #fff !important;
  text-decoration: none;
}

/* --- DDoS Shield Box (dark) ----------------------------------------------- */
.nr-shield-box {
  background: linear-gradient(135deg, var(--nr-navy) 0%, var(--nr-navy-mid) 100%);
  color: #fff;
  padding: 28px 32px;
  border-radius: 12px;
  margin: 2em 0;
  border-left: 5px solid var(--nr-green);
}

.nr-lab-article .nr-shield-box h3 {
  color: var(--nr-green) !important;
  margin-top: 0;
  font-size: 1.3em;
}

.nr-shield-box p {
  color: #fff !important;
}

.nr-shield-tag {
  display: inline-block;
  background: var(--nr-green);
  color: #fff;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.75em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 12px;
}

/* --- USP Cards ------------------------------------------------------------ */
.nr-usp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 20px;
  margin: 1.5em 0;
}

.nr-usp-card {
  background: var(--nr-light-bg);
  padding: 24px;
  border-radius: 12px;
  border-top: 4px solid var(--nr-green);
}

.nr-lab-article .nr-usp-card h4 {
  color: var(--nr-navy);
  margin: 0 0 8px 0;
}

.nr-usp-card p {
  color: var(--nr-text-body);
  font-size: 0.9em;
  margin: 0;
  line-height: 1.6;
}

/* --- Utility Classes (replaces inline styles) ----------------------------- */
.nr-cta-intro {
  font-size: 1.1em;
  margin-bottom: 16px;
}

.nr-cta-specs {
  font-size: 0.85em;
  color: #666;
  margin-top: 12px;
}

.nr-footer-text {
  text-align: center;
  color: #999;
  margin-top: 3em;
  font-size: 0.85em;
}
