/* =========================================================
   Job Cards + Job Detail
   ========================================================= */

.job-grid {
	display: grid;
	grid-template-columns: repeat(var(--jck-card-cols-mobile, 1), 1fr);
	gap: var(--jck-card-gap, 20px);
}
.job-grid--archive { grid-template-columns: repeat(var(--jck-card-cols-mobile, 1), 1fr); }

.job-card {
	background: var(--jck-color-surface);
	border: var(--jck-border-width, 1px) solid var(--jck-color-line);
	border-radius: var(--jck-card-radius, 14px);
	box-shadow: var(--jck-shadow-sm);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.job-card:hover { transform: translateY(-4px); box-shadow: var(--jck-shadow-lg); border-color: transparent; }

.job-card__link { display: block; padding: var(--jck-card-padding, 22px); }

.job-card__top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 14px; }

.job-card__logo {
	width: 48px; height: 48px;
	border-radius: 12px;
	overflow: hidden;
	background: var(--jck-color-bg);
	display: flex; align-items: center; justify-content: center;
}
.job-card__logo-img { width: 100%; height: 100%; object-fit: cover; }
.job-card__logo-fallback { font-family: var(--jck-font-display); font-weight: 800; color: var(--jck-color-navy-900); }

.job-card__badge {
	background: rgba(15,157,140,.12);
	color: var(--jck-color-teal-600);
	font-size: .75rem; font-weight: 700;
	padding: 5px 10px;
	border-radius: 999px;
}

.job-card__title {
	font-size: 1.05rem;
	margin-bottom: 4px;
	color: var(--jck-color-navy-900);
}
.job-card__company { color: var(--jck-color-ink-500); font-size: .9rem; margin-bottom: 12px; }

.job-meta-list { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 16px; }
.job-meta {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: .8rem; color: var(--jck-color-ink-500);
}
.job-meta .dashicons { font-size: 16px; width: 16px; height: 16px; color: var(--jck-color-teal-600); }

.job-card__cta {
	font-weight: 700; font-size: .9rem;
	color: var(--jck-color-navy-900);
	display: inline-flex; align-items: center; gap: 6px;
}
.job-card:hover .job-card__cta { color: var(--jck-color-teal-600); }

/* ---- Job Detail single page ---- */
.job-detail__header { display: flex; gap: 20px; align-items: flex-start; margin-bottom: 24px; }
.job-detail__logo {
	width: 72px; height: 72px; border-radius: 16px; overflow: hidden;
	background: var(--jck-color-bg); flex-shrink: 0;
	display: flex; align-items: center; justify-content: center;
}
.job-detail__logo img { width: 100%; height: 100%; object-fit: cover; }
.job-detail__logo-fallback { font-family: var(--jck-font-display); font-weight: 800; font-size: 1.5rem; }
.job-detail__title { margin-bottom: 4px; }
.job-detail__company { color: var(--jck-color-ink-500); margin-bottom: 10px; }

.job-detail__actions {
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	padding: 18px 0;
	border-top: var(--jck-border-width, 1px) solid var(--jck-color-line);
	border-bottom: var(--jck-border-width, 1px) solid var(--jck-color-line);
	margin-bottom: 28px;
}

.job-detail__deadline-note {
	margin-top: 24px;
	padding: 14px 18px;
	border-radius: var(--jck-radius-sm);
	background: rgba(212,162,76,.12);
	color: var(--jck-color-gold-600);
	font-weight: 600;
}

/* ---- Share links ---- */
.jck-share { display: flex; gap: 10px; }
.jck-share__link {
	padding: 8px 14px;
	border-radius: 999px;
	font-size: .82rem; font-weight: 700;
	border: var(--jck-border-width, 1px) solid var(--jck-color-line);
	color: var(--jck-color-ink-700);
}
.jck-share__link:hover { border-color: var(--jck-color-teal-600); color: var(--jck-color-teal-600); }
