/* ==========================================================================
   Small overrides that Tailwind's CDN build doesn't cover on its own.
   Everything else in the public site is styled with Tailwind utility
   classes directly in the markup.
   ========================================================================== */

/* Tailwind's text-*/p-*/gap-* utilities are rem-based, which means they
   scale off the root <html> font-size. Bumping it here (instead of hand
   editing every text-sm/text-xs class across every page) makes every
   font size AND most spacing/padding sitewide proportionally larger in
   one place — 16px browser default -> 18px. */
html {
  font-size: 112.5%;
}

body {
  line-height: 1.65;
}

/* Genuine form errors always read as red, regardless of any other styling */
.text-error {
  color: #DC2626;
}

/* Line-clamp fallback (Tailwind's play CDN build supports line-clamp-*,
   but this keeps text truncation working even if that ever changes). */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Job descriptions are rendered as raw scraped/rich-text HTML (see
   job_format_description()). Tailwind's preflight zeroes p/ul/ol margins
   and list markers by default, which collapses that content into a single
   dense block — restore normal article typography for it here. */
.job-description-body p {
  margin: 0 0 1em;
}

.job-description-body p:last-child {
  margin-bottom: 0;
}

.job-description-body ul,
.job-description-body ol {
  margin: 0 0 1em;
  padding-left: 1.5em;
}

.job-description-body ul {
  list-style: disc;
}

.job-description-body ol {
  list-style: decimal;
}

.job-description-body li {
  margin-bottom: 0.5em;
}

.job-description-body li:last-child {
  margin-bottom: 0;
}

.job-description-body li > ul,
.job-description-body li > ol {
  margin-top: 0.5em;
}

.job-description-body strong,
.job-description-body b {
  font-weight: 700;
  color: #0F172A;
}

.job-description-body a {
  color: #4F46E5;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.job-description-body a:hover {
  color: #4338CA;
}

.job-description-body h1,
.job-description-body h2,
.job-description-body h3,
.job-description-body h4 {
  font-weight: 700;
  color: #0F172A;
  margin: 1.25em 0 0.5em;
}

.job-description-body h1:first-child,
.job-description-body h2:first-child,
.job-description-body h3:first-child,
.job-description-body h4:first-child {
  margin-top: 0;
}

/* CodeIgniter's default Pager view emits plain `.pagination/.page-item/
   .page-link` markup (originally meant to be styled by Bootstrap). Restyle
   it here so pagination on /jobs matches the Tailwind design language. */
.pagination {
  display: flex;
  list-style: none;
  gap: 6px;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
  justify-content: center;
}

.pagination .page-item .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid #E2E8F0;
  background: #FFFFFF;
  color: #334155;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.15s ease;
}

.pagination .page-item .page-link:hover {
  background: #EEF2FF;
  color: #4F46E5;
  border-color: #C7D2FE;
}

.pagination .page-item.active .page-link {
  background: #4F46E5;
  border-color: #4F46E5;
  color: #FFFFFF;
}

.pagination .page-item.disabled .page-link {
  color: #CBD5E1;
  cursor: not-allowed;
  pointer-events: none;
}
