/* jobs.css */
.job-board.job-board--list {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    margin-top: 1.5rem;
}

.job-card {
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e2e2e2;
    padding: 1.5rem 1.8rem;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    transition: box-shadow .15s ease, transform .15s ease;
}

.job-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}

.job-card__link {
    display: flex;
    gap: 1.8rem;
    align-items: center;       
    text-decoration: none;
    color: inherit;             
}

.job-card__logo-col {
    flex: 0 0 120px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.job-card__logo {
    max-width: 120px;
    max-height: 70px;
    object-fit: contain;
}

.job-card__content {
    flex: 1;
}

.job-card__title {
    margin: 0 0 0.4rem;         
    font-size: 1.4rem;
    color: #3ca0e7;
}

.job-card__company {
    font-weight: 400;
    font-size: 0.95rem;
    color: #000;
    margin-bottom: 0.25rem;    
}

.job-card__location {
    font-size: 0.9rem;
    color: #555;
    margin-bottom: 0.95rem;
}

.job-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.9rem;
}

.job-card__meta-item {
    font-size: 0.75rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    border: 1px solid #ddd;
    background: #f9f9f9;
}

.job-card__meta-item--statute    { border-color: #007bff; }
.job-card__meta-item--worktype   { border-color: #28a745; }
.job-card__meta-item--experience { border-color: #ff9800; }

.job-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: .82rem;
    margin-top: .5rem;
}

.job-card__date {
    color: #777;
}

.job-card__cta {
    font-weight: 600;
    color: #3ca0e7;
    white-space: nowrap;
}

.job-card__link:hover .job-card__title {
    color: #318ac9; 
}

.job-card__link:hover .job-card__company {
    color: #000;
}

/* Infinite Scroll Loader */
.job-board-loader {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    margin-top: 5rem;
    padding-top: 1rem;
    text-align: center;
}

.job-board-loader__button {
    padding: 0.875rem 2rem;
    font-size: 1rem;
    font-weight: 600;
    color: #ffffff;
    background: #444444;          
    border: 1px solid #444444;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    margin: 0 auto;
}

.job-board-loader__button:hover {
    background: #0073e6;          
    border-color: #0073e6;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(0, 115, 230, 0.25);
}

.job-board-loader__button:active {
    transform: translateY(0);
    box-shadow: none;
}

.job-board-loader__spinner {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1.5rem;           
    width: 100%;
}

.job-board-loader__spinner svg circle {
    stroke: #9ca3af !important;
    stroke-dasharray: 1, 4 !important;
    stroke-linecap: round !important;
}

.job-board-loader__end {
    font-size: 0.95rem;
    color: #6b7280;
    font-weight: 500;
    padding: 1rem;
    text-align: center;
    margin: 0 auto;
}


@media (max-width: 700px) {

  .job-card {
    padding: 1.4rem 1.2rem;
  }

  .job-card__link {
    flex-direction: column;
    align-items: stretch;
    gap: 1.1rem;
  }

  .job-card__logo-col {
    width: 100%;
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    margin-bottom: 0.25rem;
  }

  .job-card__logo {
    max-width: 130px;
    max-height: 65px;
  }

  .job-card__content {
    width: 100%;
    text-align: left;
    margin: 0;
  }

  .job-card__title {
    font-size: 1.0rem;
    line-height: 1.3;
    margin: 0 0 0.5rem;
  }

  .job-card__company {
    font-size: 0.86rem;
    line-height: 1.3;
    margin: 0 0 0.35rem;
  }

  .job-card__location {
    font-size: 0.8rem;
    line-height: 1.3;
    margin: 0 0 0.95rem;
  }

  .job-card__meta {
    justify-content: flex-start;
    margin-bottom: 1.0rem;
    column-gap: 0.45rem;
    row-gap: 0.55rem;
  }

  .job-card__meta-item {
    font-size: 0.68rem;
    padding: 0.2rem 0.55rem;
  }

  .job-card__footer {
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
    margin-top: 0.2rem;
    font-size: 0.75rem;
  }

  .job-card__date {
    font-size: 0.72rem;
  }

  .job-card__cta {
    font-size: 0.78rem;
    white-space: normal;
  }
}

