/*
 * Slate blue-gray: reads neutral/professional with the resume template,
 * strong contrast for the fixed nav bar, calm accents in the main column.
 */
:root {
  --site-primary: #3a4f64;
  --site-primary-dark: #2a3848;
  --site-primary-nav: #323f50;
}

.bg-primary {
  background-color: var(--site-primary-nav) !important;
}

.text-primary {
  color: var(--site-primary) !important;
}

a {
  color: var(--site-primary);
}

a:hover, a:focus, a:active {
  color: var(--site-primary-dark);
}

.list-social-icons a:hover {
  color: var(--site-primary);
}

.list-icons .list-inline-item i:hover {
  color: var(--site-primary);
}

.resume-section blockquote {
  border-left-color: var(--site-primary);
}

/* Blog accordion */
.blog-accordion-header {
  cursor: pointer;
  padding: 0.5rem 0;
  border-bottom: 1px solid #dee2e6;
}
.blog-accordion-header:hover {
  opacity: 0.85;
}
.blog-accordion-icon {
  transition: transform 0.2s ease;
  font-size: 0.875rem;
}
.blog-accordion-header[aria-expanded="true"] .blog-accordion-icon {
  transform: rotate(180deg);
}
.blog-accordion-content .tags .tag {
  background: #eee;
  border-radius: 3px;
  padding: 0.2rem 0.5rem;
  font-size: 0.875rem;
}

/* About: hierarchy, readable width, spacing */
#about .about-role {
  font-family: "Saira Extra Condensed", sans-serif;
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.3;
}

#about .about-meta {
  font-size: 1.05rem;
}

#about .about-body {
  max-width: 42rem;
  margin-bottom: 1.75rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #343a40;
}

#about .about-body > p:first-of-type {
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.5;
  color: #212529;
  margin-bottom: 1rem;
}

#about .about-body > p + p {
  margin-top: 0;
  margin-bottom: 0;
}

#about .about-social {
  margin-top: 0.25rem;
}

#about .about-qr {
  text-align: center;
}

#about .about-qr .qrcode {
  max-width: 140px;
  height: auto;
}

/* Experience: match About paragraph typography */
#experience .blog-accordion-content {
  max-width: 42rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #343a40;
}

#experience .experience-role-block > div {
  font-size: 1.05rem;
  line-height: 1.65;
  color: #343a40;
}

/* Skills: accordion panels match Experience / Education body typography */
#skills .blog-accordion-content {
  max-width: 42rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #343a40;
}

#skills .skills-accordion-skills {
  list-style: none;
  margin-bottom: 0;
  padding-left: 0;
}

#skills .skills-accordion-skill-item {
  line-height: 1.65;
}

#skills .skills-accordion-skill-item i {
  min-width: 1.5rem;
  text-align: center;
  font-size: 1.35rem;
  line-height: 1.25;
}

#skills .skills-practices {
  margin-bottom: 0;
}

/* Certifications: match Skills / Experience readability */
#certifications .blog-accordion-content {
  max-width: 42rem;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #343a40;
}

#certifications .certifications-in-progress-note {
  font-family: 'Open Sans', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #6c757d !important;
  max-width: 40rem;
  margin-bottom: 1rem !important;
}

#certifications .certifications-list {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #343a40;
  padding-left: 0;
  margin-bottom: 0;
}

#certifications .certifications-list li {
  margin-bottom: 0.75rem;
  line-height: 1.65;
}

#certifications .certifications-list li a {
  font-weight: 600;
  text-decoration: none;
}

#certifications .certifications-list li a:hover,
#certifications .certifications-list li a:focus {
  text-decoration: underline;
}

#certifications .certifications-list li .text-muted {
  font-family: 'Open Sans', sans-serif;
  color: #6c757d !important;
  font-size: 0.9375rem;
  line-height: 1.55;
}

/* Contact (on home #contact) */
#contact .contact-section-inner {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

#contact .contact-section-body {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #343a40;
}

#contact .contact-section-body p:last-child {
  margin-bottom: 0;
}

#contact .qrcode {
  max-width: 160px;
  height: auto;
}

/* Education: match Experience — full-width headers; 42rem body like #experience .blog-accordion-content */
#education .blog-accordion-content {
  max-width: 42rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #343a40;
}

#education .blog-accordion-content .mb-2 strong {
  font-family: 'Saira Extra Condensed', serif;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.2;
  color: #343a40;
}

#education .blog-accordion-content p {
  font-size: 1.05rem;
  line-height: 1.65;
  color: #343a40;
  margin-bottom: 0;
}

/* Practices: vertical list with space between lines */
.skills-practices .skills-practice-item {
  margin-bottom: 0.65rem;
  line-height: 1.45;
}
.skills-practices .skills-practice-item:last-child {
  margin-bottom: 0;
}

/* Left nav: easier-to-read font */
#sideNav .navbar-nav .nav-item .nav-link {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  padding: 0.5rem 0.75rem;
}
