/* ==========================================================================
   Job Board Styles & Skeleton Loaders (White Theme)
   ========================================================================== */

/* ── Shimmer Base ──────────────────────────────────────── */
.sk {
    background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);
    background-size: 400% 100%;
    animation: sk-shimmer 1.6s ease-in-out infinite;
    border-radius: 6px;
}

@keyframes sk-shimmer {
    0% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

/* ── Skeleton filter card ──────────────────────────────── */
.sk-filter-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 16px;
}

.sk-filter-card .sk-title {
    height: 14px;
    width: 40%;
    margin-bottom: 18px;
}

.sk-filter-card .sk-line {
    height: 12px;
    margin-bottom: 12px;
    border-radius: 4px;
}

/* ── Skeleton job card (grid) ──────────────────────────── */
.sk-job-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 22px;
    height: 100%;
}

.sk-job-card .sk-badge {
    height: 22px;
    width: 90px;
    border-radius: 20px;
    margin-bottom: 16px;
}

.sk-job-card .sk-h4 {
    height: 16px;
    width: 85%;
    margin-bottom: 10px;
}

.sk-job-card .sk-h4-sm {
    height: 16px;
    width: 55%;
    margin-bottom: 18px;
}

.sk-job-card .sk-meta {
    height: 12px;
    width: 60%;
    margin-bottom: 8px;
}

.sk-job-card .sk-meta2 {
    height: 12px;
    width: 45%;
    margin-bottom: 20px;
}

.sk-job-card .sk-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid #f1f5f9;
}

.sk-job-card .sk-avatar {
    height: 38px;
    width: 38px;
    border-radius: 8px;
    flex-shrink: 0;
}

.sk-job-card .sk-fn {
    height: 11px;
    width: 70%;
    margin-bottom: 6px;
}

.sk-job-card .sk-fs {
    height: 11px;
    width: 50%;
}

/* ── Skeleton job list item ─────────────────────────────── */
.sk-list-item {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 14px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.sk-list-item .sk-logo {
    height: 52px;
    width: 52px;
    border-radius: 10px;
    flex-shrink: 0;
}

.sk-list-item .sk-body {
    flex: 1;
}

.sk-list-item .sk-badge {
    height: 20px;
    width: 80px;
    border-radius: 20px;
    margin-bottom: 12px;
}

.sk-list-item .sk-t1 {
    height: 15px;
    width: 70%;
    margin-bottom: 10px;
}

.sk-list-item .sk-t2 {
    height: 12px;
    width: 40%;
    margin-bottom: 8px;
}

.sk-list-item .sk-t3 {
    height: 12px;
    width: 55%;
    margin-bottom: 16px;
}

.sk-list-item .sk-p1 {
    height: 11px;
    width: 90%;
    margin-bottom: 6px;
}

.sk-list-item .sk-p2 {
    height: 11px;
    width: 75%;
}

/* ── Skeleton header ────────────────────────────────────── */
.sk-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 12px;
}

.sk-header .sk-h1 {
    height: 28px;
    width: 160px;
}

.sk-header .sk-sub {
    height: 13px;
    width: 120px;
    margin-top: 8px;
}

.sk-header .sk-btn {
    height: 36px;
    width: 80px;
    border-radius: 8px;
}

.sk-header .sk-sel {
    height: 36px;
    width: 140px;
    border-radius: 8px;
}

/* ── Results loading dim ────────────────────────────────── */
.lw-results-loading {
    opacity: 0.45;
    pointer-events: none;
    transition: opacity .15s;
}
