/* PK Job Circular — Plugin-specific styles (design system base is in pk-design-system.css) */

.pk-jobs-wrap { margin: 20px 0; }

.pk-section-title {
    font-size: 1.4em; margin-bottom: 15px;
    border-bottom: 2px solid var(--pk-primary, #6366f1);
    padding-bottom: 8px;
    font-family: var(--pk-font-sans, 'Inter', sans-serif);
    color: var(--pk-text, #1e293b);
}

/* ── Jobs grid ──────────────────────────────────────────── */
.pk-jobs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.pk-job-card { position: relative; }
.pk-job-card.pk-job-featured { border-top: 3px solid var(--pk-warning, #f59e0b); }
.pk-badge-featured { background: var(--pk-warning, #f59e0b); color: #fff; font-size: .75em; padding: 2px 8px; border-radius: 3px; display: inline-block; margin-bottom: 8px; }

/* ── Card content ───────────────────────────────────────── */
.pk-job-title { margin: 0 0 8px; font-size: 1.05em; }
.pk-job-title a { color: var(--pk-primary, #6366f1); text-decoration: none; }
.pk-job-title a:hover { text-decoration: underline; }
.pk-job-company, .pk-job-salary { color: var(--pk-text-secondary, #64748b); font-size: .9em; margin: 4px 0; }
.pk-job-excerpt { color: var(--pk-text-secondary, #64748b); font-size: .88em; margin: 8px 0; }
.pk-job-vacancy { color: var(--pk-text, #1e293b); font-size: .85em; margin: 4px 0; }

/* ── Sector tags ────────────────────────────────────────── */
.pk-job-sectors { margin: 8px 0; }
.pk-tag { display: inline-block; background: var(--pk-primary-bg, #eef2ff); color: var(--pk-primary, #6366f1); border-radius: 3px; padding: 2px 8px; font-size: .8em; margin: 2px; }

/* ── Meta row ───────────────────────────────────────────── */
.pk-job-meta { display: flex; justify-content: space-between; align-items: center; margin: 12px 0 8px; font-size: .82em; color: var(--pk-text-muted, #94a3b8); }
.pk-deadline { color: var(--pk-danger, #ef4444); font-weight: 600; }

/* ── btn-apply variant ──────────────────────────────────── */
.pk-btn-apply { background: var(--pk-primary, #6366f1); color: #fff; margin-top: 8px; display: inline-block; padding: 8px 18px; border-radius: 6px; text-decoration: none; font-weight: 600; font-size: .9em; transition: background var(--pk-transition, 200ms); }
.pk-btn-apply:hover { background: var(--pk-primary-dark, #4f46e5); color: #fff; }
.pk-btn-large { padding: 12px 28px; font-size: 1em; }
.pk-job-card-actions, .pk-job-details-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 8px; }
.pk-save-job-btn.pk-job-saved { border-color: var(--pk-success, #10b981); color: var(--pk-success, #10b981); }

/* ── Job details page ───────────────────────────────────── */
.pk-job-details-wrap { max-width: 800px; margin: 20px auto; }
.pk-job-details-header { margin-bottom: 20px; }
.pk-job-details-title { font-size: 1.6em; margin: 8px 0 4px; color: var(--pk-text, #1e293b); }
.pk-job-details-org { font-size: 1em; color: var(--pk-text-secondary, #64748b); margin: 0 0 8px; }
.pk-job-details-meta { background: var(--pk-bg, #f8fafc); border: 1px solid var(--pk-border, #e2e8f0); border-radius: 6px; padding: 16px 20px; margin-bottom: 24px; }
.pk-meta-item { display: flex; gap: 8px; margin-bottom: 10px; font-size: .92em; }
.pk-meta-item:last-child { margin-bottom: 0; }
.pk-meta-label { font-weight: 600; color: var(--pk-text-secondary, #64748b); min-width: 140px; flex-shrink: 0; }
.pk-meta-value { color: var(--pk-text, #1e293b); }
.pk-job-details-content { line-height: 1.75; color: var(--pk-text, #1e293b); margin-bottom: 28px; }
.pk-job-details-apply { margin-top: 24px; }

/* ── Saved jobs ─────────────────────────────────────────── */
.pk-saved-jobs-wrap .pk-section-title { border-color: var(--pk-success, #10b981); }

.pk-error { color: var(--pk-danger, #ef4444); font-style: italic; padding: 10px 0; }

@media (max-width: 600px) {
    .pk-jobs-grid { grid-template-columns: 1fr; }
    .pk-job-meta { flex-direction: column; align-items: flex-start; gap: 4px; }
    .pk-meta-item { flex-direction: column; gap: 2px; }
    .pk-meta-label { min-width: unset; }
}

/* ── Filter chips ───────────────────────────────────── */
.pk-filter-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.pk-chip { padding: 6px 16px; border: 1.5px solid var(--pk-border,#e2e8f0); border-radius: 999px; background: var(--pk-surface,#fff); color: var(--pk-text-secondary,#64748b); font-size: .85em; cursor: pointer; transition: all var(--pk-transition,200ms); font-family: var(--pk-font-sans,'Inter',sans-serif); }
.pk-chip:hover { border-color: var(--pk-primary,#6366f1); color: var(--pk-primary,#6366f1); }
.pk-chip-active { background: var(--pk-primary,#6366f1); color: #fff; border-color: var(--pk-primary,#6366f1); }
