/* =================== General & Layout =================== */
body {
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    "Noto Sans",
    sans-serif,
    "Apple Color Emoji",
    "Segoe UI Emoji",
    "Segoe UI Symbol",
    "Noto Color Emoji";
  color: #262626;
}

.row {
  display: flex;
  flex-wrap: wrap;
}

.items-center {
  align-items: center;
}

/* A simple grid system based on your React code */
@media (min-width: 1024px) {
  .col-lg-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }

  .col-lg-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .section-title {
    font-size: 40px !important;
    line-height: 56px !important;
    /* 16px */
  }
}

.section-title {
  color: #262626;
  font-weight: 700;
  font-size: 32px;
  line-height: 44px;
  margin-bottom: 1rem;
  /* 16px */
}

.section-subtitle {
  color: #262626;
}

/* =================== Hero Section =================== */
.hero-section {
  background-color: #edf7ff;
}

.hero-section .container {
  padding-top: 2.5rem;
  /* 40px */
  padding-bottom: 2.5rem;
  /* 40px */
}

.hero-content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero-text-content,
.hero-image-content {
  flex: 1;
}

.hero-title {
  font-weight: 700;
  font-size: 40px;
  line-height: 56px;
}

.hero-cta-button {
  padding: 10px 1rem;
  /* 16px */
  background-color: #a40000;
  color: white;
  border: 1px solid #a40000;
  border-radius: 0.5rem;
  /* 8px */
  margin-top: 1.5rem;
  /* 24px */
  margin-bottom: 2rem;
  /* 32px */
  cursor: pointer;
  font-weight: 600;
  display: inline-block;
}

.hero-cta-button:hover {
  background-color: transparent;
  color: #004aad;
  border: 1px solid #004aad;
}

.hero-image-container {
  position: relative;
  display: flex;
  justify-content: flex-end;
}

.main-banner-image {
  width: 343px;
  height: 420px;
}

.banner-badge {
  position: absolute;
}

.badge-1 {
  top: 35%;
  left: 5%;
  width: 133px;
  height: 40px;
}

.badge-2 {
  bottom: 5rem;
  /* 80px */
  left: -5%;
  width: 191px;
  height: 40px;
}

.badge-3 {
  bottom: 37%;
  width: 231px;
  height: 40px;
}

.badge-4 {
  bottom: 0;
  width: 283px;
  height: 40px;
}

/* =================== Job Information Section =================== */
.job-info-section {
  margin-top: 2.5rem;
  /* 40px */
  margin-bottom: 2.5rem;
  /* 40px */
}

.section-header {
  margin-bottom: 2rem;
  /* 32px */
}

.position-heading {
  margin-bottom: 1.5rem;
  /* 24px */
}

.position-title {
  color: #262626;
  font-weight: 600;
  font-size: 1.125rem;
  /* 18px */
}
.job-list-container {
  display: flex;
  flex-wrap: wrap;
  row-gap: 24px;
}
.job-card {
  width: 100%;
  border: 1px solid #d4d4d4;
  padding: 1.5rem;
  /* 24px */
  border-radius: 0.5rem;
  /* 8px */
}

.job-card-description {
  margin-bottom: 32px;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 0.2px;
}

.job-status-badge {
  background-color: #edf7ff;
  padding-left: 0.5rem;
  /* 8px */
  padding-right: 0.5rem;
  /* 8px */
  color: #004aad;
  font-size: 0.75rem;
  /* 12px */
  line-height: 1.25rem;
  /* 20px */
  font-weight: 500;
  display: inline-block;
  border-radius: 0.5rem;
  /* 8px */
  margin-bottom: 0.5rem;
  /* 8px */
}

.job-card-title {
  color: #262626;
  font-size: 1.25rem;
  /* 20px */
  font-weight: 600;
  margin-bottom: 1rem;
  /* 16px */
}

.job-card-salary {
  color: #262626;
  letter-spacing: 0.2px;
  margin-bottom: 2rem;
  /* 32px */
}

.job-card-apply-button {
  color: white;
  font-size: 0.875rem;
  /* 14px */
  padding-top: 0.5rem;
  /* 8px */
  padding-bottom: 0.5rem;
  /* 8px */
  background-color: #a40000;
  border: 1px solid #a40000;
  width: 100%;
  border-radius: 0.375rem;
  /* 6px */
  cursor: pointer;
  display: block;
  text-align: center;
}
.job-card-apply-button:hover {
  border: 1px solid #004aad;
  background-color: transparent;
  color: #004aad;
}
/* =================== Benefits Section =================== */
.benefits-section {
  padding-bottom: 2.5rem;
  /* 40px */
}

.benefits-header {
  margin-bottom: 2rem;
  /* 32px */
}

.benefits-subtitle {
  color: #262626;
}

.content-row {
  display: flex;
  flex-direction: column-reverse;
}

.benefits-image-container {
  margin-top: 2rem;
  /* 32px */
}

.benefits-image {
  width: 100%;
}

.benefits-list {
  display: flex;
  gap: 1.5rem;
  /* 24px */
  flex-direction: column;
}

.benefit-item {
  padding: 1rem;
  /* 16px */
  box-shadow: rgba(27, 36, 44, 0.12) 0px 16px 8px -2px;
  border-radius: 0.75rem;
  /* 12px */
}

.benefit-title {
  font-size: 1.25rem;
  /* 20px */
  font-weight: 600;
  color: #a40000;
  margin-bottom: 1rem;
  /* 16px */
}

.benefit-description {
  color: #262626;
  letter-spacing: 0.2px;
}

@media (min-width: 1600px) {
  .badge-3 {
    right: -33.3333% !important;
    bottom: 45% !important;
  }
  .badge-4 {
    right: -33.3333% !important;
  }
}

@media (min-width: 640px) {
  .section-header {
    text-align: center;
    margin-bottom: 3.75rem;
    /* 60px */
  }
}

/* =================== Responsive Adjustments (lg breakpoint) =================== */
@media (min-width: 1024px) {
  .hero-section .container {
    padding-top: 5rem;
    /* 80px */
    padding-bottom: 5rem;
    /* 80px */
  }

  .hero-content-wrapper {
    flex-direction: row;
  }

  .hero-title {
    font-size: 60px;
    line-height: 72px;
  }

  .hero-cta-button {
    margin-bottom: 0;
  }

  .main-banner-image {
    width: 435px;
    height: 532px;
  }

  .badge-1 {
    width: 210px;
    height: 64px;
  }

  .badge-2 {
    width: 311px;
    height: 65px;
  }

  .badge-3 {
    right: 0;
    bottom: 35%;
    width: 379px;
    height: 64px;
  }

  .badge-4 {
    right: 0;
    width: 481px;
    height: 64px;
  }

  .job-info-section {
    margin-top: 5rem;
    /* 80px */
    margin-bottom: 5rem;
    /* 80px */
  }

  .position-heading {
    margin-bottom: 2.5rem;
    /* 40px */
  }
  .job-list-container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 55px;
    column-gap: 30px;
  }
  .job-card {
    width: 31%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .job-card-title {
    font-size: 1.5rem;
    /* 24px */
    line-height: 36px;
    letter-spacing: 0.1px;
  }

  .benefits-section {
    padding-bottom: 5rem;
    /* 80px */
  }

  .benefits-header {
    margin-bottom: 2.5rem;
    /* 40px */
  }

  .benefits-subtitle {
    padding-left: 3rem;
    /* 48px */
  }

  .content-row {
    flex-direction: row;
  }

  .benefits-image-container {
    margin-top: 0;
  }

  .benefits-list-column {
    padding-left: 4rem;
    /* 64px */
  }

  .benefit-title {
    font-size: 1.5rem;
    /* 24px */
  }
}

/* =================== No Jobs Message =================== */
.no-jobs-message {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 3rem 1rem;
  /* 48px 16px */
}

.no-jobs-content {
  text-align: center;
  max-width: 500px;
}

.no-jobs-title {
  color: #262626;
  font-size: 1.5rem;
  /* 24px */
  font-weight: 600;
  margin-bottom: 1rem;
  /* 16px */
}

.no-jobs-description {
  color: #666666;
  font-size: 1rem;
  /* 16px */
  line-height: 1.6;
  margin-bottom: 2rem;
  /* 32px */
}

.no-jobs-contact-button {
  display: inline-block;
  padding: 12px 24px;
  background-color: #a40000;
  color: white;
  text-decoration: none;
  border-radius: 0.5rem;
  /* 8px */
  font-weight: 600;
  transition: all 0.3s ease;
  border: 1px solid #a40000;
}

.no-jobs-contact-button:hover {
  background-color: transparent;
  color: #a40000;
  border: 1px solid #a40000;
}

@media (min-width: 1024px) {
  .no-jobs-message {
    padding: 4rem 1rem;
    /* 64px 16px */
  }

  .no-jobs-title {
    font-size: 2rem;
    /* 32px */
  }

  .no-jobs-description {
    font-size: 1.125rem;
    /* 18px */
  }
}

/* =================== Modern Pagination Styles =================== */
.page-link {
  border: 1px solid #004aad;
  color: #004aad;
  height: 100%;
  display: flex;
  align-items: center;
}
.page-link:hover {
  background-color: transparent;
  color: #004aad;
  border: 1px solid #004aad;
}
.page-item.active .page-link {
  background: #a40000;
  border: 1px solid #a40000;
}
.mt-10 {
  margin-top: 32px;
}
@media (min-width: 1024px) {
  .mt-10 {
    margin-top: 40px;
  }
}
