/* Modern Job Board Styles */

/* Job details card */
.job-details-card {
  border: none;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  background: #fff;
}

/* Job header */
.job-header { border-bottom: 1px solid #e8eef7; padding-bottom: 1.5rem; }
.job-type-badge { 
  background: rgba(47,85,151,0.1); 
  color: #2f5597; 
  border-radius: 999px; 
  padding: 6px 14px; 
  font-weight: 700; 
  font-size: 0.85rem; 
  display: inline-block;
}
.job-title { 
  font-weight: 800; 
  color: #1f2937; 
  margin-bottom: 0.5rem; 
}
.job-meta { 
  color: #6b7280; 
  font-size: 1rem; 
}
.job-meta i { 
  color: #94a3b8; 
  margin-right: 8px; 
}

/* Job description content */
.job-description-content { 
  color: #374151 !important; 
  line-height: 1.8 !important; 
  margin-top: 1.5rem !important;
  font-size: 1rem !important;
}

/* Headings */
.job-description-content h1,
.job-description-content h2,
.job-description-content h3,
.job-description-content h4,
.job-description-content h5 { 
  color: #1f2937 !important; 
  font-weight: 700 !important;
  margin-top: 1.75rem !important; 
  margin-bottom: 0.875rem !important; 
  line-height: 1.3 !important;
}
.job-description-content h1 { font-size: 2rem !important; }
.job-description-content h2 { font-size: 1.75rem !important; }
.job-description-content h3 { font-size: 1.5rem !important; }
.job-description-content h4 { font-size: 1.25rem !important; }
.job-description-content h5 { font-size: 1.125rem !important; }

/* Paragraphs */
.job-description-content p { 
  margin-bottom: 1rem !important; 
  line-height: 1.8 !important;
}

/* Lists */
.job-description-content ul,
.job-description-content ol { 
  margin-left: 1.5rem !important; 
  margin-bottom: 1.25rem !important;
  padding-left: 0.5rem !important;
}
.job-description-content li { 
  margin-bottom: 0.625rem !important; 
  line-height: 1.7 !important;
  padding-left: 0.25rem !important;
}
.job-description-content ul li {
  list-style-type: disc !important;
}
.job-description-content ol li {
  list-style-type: decimal !important;
}
.job-description-content ul ul,
.job-description-content ol ol {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

/* Strong/Bold text */
.job-description-content strong,
.job-description-content b { 
  font-weight: 700 !important; 
  color: #1f2937 !important;
}

/* Emphasis/Italic */
.job-description-content em,
.job-description-content i { 
  font-style: italic !important; 
}

/* Links */
.job-description-content a { 
  color: #2f5597 !important; 
  text-decoration: underline !important;
  transition: color 0.2s !important;
}
.job-description-content a:hover { 
  color: #1e3a6d !important; 
}

/* Blockquotes */
.job-description-content blockquote { 
  border-left: 4px solid #2f5597 !important; 
  padding-left: 1.25rem !important; 
  margin: 1.5rem 0 !important;
  font-style: italic !important;
  color: #4a5568 !important;
  background: #f8fafc !important;
  padding: 1rem 1.25rem !important;
  border-radius: 0 8px 8px 0 !important;
}

/* Tables */
.job-description-content table { 
  width: 100% !important; 
  border-collapse: collapse !important; 
  margin: 1.5rem 0 !important;
  background: #fff !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}
.job-description-content th,
.job-description-content td { 
  padding: 0.875rem 1rem !important; 
  text-align: left !important; 
  border-bottom: 1px solid #e8eef7 !important;
}
.job-description-content th { 
  background: #f8fafc !important; 
  font-weight: 700 !important; 
  color: #1f2937 !important;
}
.job-description-content tr:last-child td {
  border-bottom: none !important;
}
.job-description-content tr:hover {
  background: #fafbfd !important;
}

/* Code blocks */
.job-description-content code { 
  background: #f8fafc !important; 
  padding: 0.2rem 0.5rem !important; 
  border-radius: 4px !important; 
  font-family: 'Courier New', monospace !important;
  font-size: 0.9em !important;
  color: #d63384 !important;
}
.job-description-content pre { 
  background: #f8fafc !important; 
  padding: 1rem !important; 
  border-radius: 8px !important; 
  overflow-x: auto !important;
  margin: 1.5rem 0 !important;
  border: 1px solid #e8eef7 !important;
}
.job-description-content pre code { 
  background: transparent !important; 
  padding: 0 !important;
  color: #374151 !important;
}

/* Horizontal rules */
.job-description-content hr { 
  border: none !important; 
  border-top: 2px solid #e8eef7 !important; 
  margin: 2rem 0 !important;
}

/* Apply section */
.job-apply-section { 
  border-top: 1px solid #e8eef7; 
  padding-top: 1.5rem; 
  text-align: center;
}
.apply-now-btn { 
  border-radius: 12px; 
  font-weight: 700; 
  padding: 12px 32px;
}
.apply-now-btn i { margin-right: 8px; }

/* Modern section title for consultation */
.modern-section-title .divider { 
  height: 4px; 
  width: 80px; 
  border-radius: 4px; 
  margin-top: 8px; 
}
.modern-section-title .badge { 
  font-weight: 700; 
  letter-spacing: 0.02em; 
}

/* Responsive */
@media (max-width: 768px) {
  .job-apply-section .btn { 
    display: block; 
    width: 100%; 
    margin-bottom: 12px; 
  }
  .job-apply-section .ms-3 { margin-left: 0 !important; }
}
