/* ============================================
   CDL360 — Brand Theme
   Compliance Blue + Safety Green + Steel Gray
   ============================================ */

:root {
  --brand-primary: #123C69;
  --brand-primary-rgb: 18, 60, 105;
  --brand-primary-light: #1A4F8A;
  --brand-primary-pale: #E6EEF6;
  --brand-secondary: #2E7D32;
  --brand-secondary-light: #43A047;
  --brand-accent: #607D8B;
  --brand-accent-light: #90A4AE;
  --brand-cta: #FF6F00;
  --brand-cta-hover: #E65100;
  --brand-bg: #F4F6F8;
  --brand-bg-green: #F1F8E9;
  --text-primary: #1C1C1C;
  --text-body: #333333;
  --text-muted: #6B7280;
}

/* Nav accent */
.topbar { background: var(--brand-primary); color: #FFFFFF; }
.topbar a { color: rgba(255,255,255,0.85); }
.navbar { border-bottom: 3px solid var(--brand-secondary); }
.nav-links a:hover { background: var(--brand-primary-pale); color: var(--brand-primary); }
.nav-links a.active { color: var(--brand-primary); }
.nav-phone { color: var(--brand-primary); }

/* Brand btn-outline */
.btn-outline {
  border-color: var(--brand-primary);
  color: var(--brand-primary);
}
.btn-outline:hover {
  background: var(--brand-primary);
  color: #FFFFFF;
}

/* Section labels */
.section-label { background: var(--brand-primary-pale); color: var(--brand-primary); }
.hero-eyebrow { background: rgba(255,255,255,0.12); color: #FFFFFF; border: 1px solid rgba(255,255,255,0.25); }

/* Typography */
h1, h2, h3, h4 { color: var(--brand-primary); }
.hero h1 { color: var(--brand-primary); }

/* Hero — dark blue gradient + trucking background image for CDL360 */
.hero,
.page-hero {
  background:
    linear-gradient(135deg, rgba(13,45,82,0.88) 0%, rgba(18,60,105,0.82) 60%, rgba(26,79,138,0.80) 100%),
    url('../images/hero-cdl360.jpg') center center / cover no-repeat !important;
  color: #fff;
  position: relative;
}
.hero h1, .hero h2, .hero h3,
.page-hero h1, .page-hero h2, .page-hero h3 { color: #FFFFFF !important; }
.hero p, .page-hero p { color: rgba(255,255,255,0.88); }
.hero-stat strong { color: #FFFFFF; }
.hero-stat span { color: rgba(255,255,255,0.75); }
.page-hero .section-label { background: rgba(255,255,255,0.15); color: #FFFFFF; }
.page-hero .hero-sub { color: rgba(255,255,255,0.85) !important; }

/* Trust bar */
.trust-item i { color: var(--brand-secondary); }

/* Stat numbers */
.stat-number { color: var(--brand-primary); }

/* Service cards */
.icon-box { background: var(--brand-primary-pale); color: var(--brand-primary); }
.service-card:hover .icon-box { background: var(--brand-primary); color: #FFFFFF; }

/* Accent sections */
.bg-primary { background: var(--brand-primary); }
.section-accent { background: var(--brand-bg-green); }

/* Compliance/safety color accents */
.compliance-positive { color: var(--brand-secondary); }
.compliance-positive i { color: var(--brand-secondary); }

/* Process steps */
.step-number { background: var(--brand-primary); color: #FFFFFF; }

/* Author avatars */
.author-avatar { background: var(--brand-secondary); }

/* FAQ */
.faq-icon { background: var(--brand-primary-pale); color: var(--brand-primary); }
.faq-item.open { border-color: var(--brand-secondary); }
.faq-item.open .faq-icon { background: var(--brand-secondary); color: #FFFFFF; }

/* Blog tags */
.blog-tag { background: var(--brand-bg-green); color: var(--brand-secondary); }

/* Links */
a { color: var(--brand-primary); }
a:hover { color: var(--brand-primary-light); }
.nav-links a, .footer-col a, .mobile-menu a { color: inherit; }

/* CTA banner */
.cta-banner { background: var(--brand-primary); color: #FFFFFF; }
.cta-banner h2 { color: #FFFFFF; }
.cta-banner p { color: rgba(255,255,255,0.85); }

/* Safety indicators */
.safety-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: #E8F5E9;
  color: var(--brand-secondary);
  font-size: 0.8rem;
  font-weight: 700;
  padding: 0.3rem 0.75rem;
  border-radius: 4px;
  border: 1px solid #C8E6C9;
}

/* Steel gray accents */
.accent-steel { color: var(--brand-accent); }
.bg-steel { background: #ECEFF1; }

/* Fleet/enterprise feel elements */
.enterprise-tag {
  background: #ECEFF1;
  color: var(--brand-accent);
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.2rem 0.6rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* Footer logo text */
.footer-logo-text { color: #FFFFFF; }
.footer-logo-sub { color: var(--brand-secondary-light); font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; }

/* Divider accent */
.divider-accent { height: 4px; background: linear-gradient(90deg, var(--brand-primary), var(--brand-secondary)); border-radius: 2px; }
