/**
 * Jobs & Job Seekers CSS Styles
 * Styles for job listings, job seeker profiles, and related pages
 * 
 * @package Elbc-child
 */

/* ========================================
   Variables - Inherit from Design System
======================================== */
:root {
    --jobs-primary: var(--color-secondary);
    --jobs-secondary: var(--color-primary);
    --jobs-success: var(--color-success);
    --jobs-warning: var(--color-warning);
    --jobs-danger: var(--color-alert);
    --jobs-muted: var(--color-text-muted);
    --jobs-light: var(--color-bg-light);
    --jobs-border: var(--color-border);
}

/* ========================================
   Job Archive Page
======================================== */
.elbc-archive-jobs,
.elbc-archive-seekers {
    min-height: calc(100vh - var(--elbc-header-height, 64px));
    background: var(--elbc-bg-light, #f7f7fa);
    padding: var(--elbc-spacing-2xl, 32px) var(--elbc-spacing-lg, 16px);
}

.elbc-cpt-archive-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Archive Header */
.elbc-archive-header {
    text-align: center;
    margin-bottom: var(--elbc-spacing-2xl, 32px);
}

.elbc-archive-title {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-3xl, 1.75rem);
    font-weight: var(--elbc-font-bold, 700);
    color: var(--elbc-secondary-dark, #000033);
    margin: 0 0 var(--elbc-spacing-sm, 8px) 0;
}

.elbc-archive-subtitle {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-md, 1rem);
    color: var(--elbc-text-muted, #666666);
    margin: 0;
}

/* ========================================
   Filters Section
======================================== */
.elbc-filters-section {
    background: var(--elbc-bg-card, #ffffff);
    border-radius: var(--elbc-radius-lg, 12px);
    padding: var(--elbc-spacing-xl, 24px);
    margin-bottom: var(--elbc-spacing-xl, 24px);
    box-shadow: var(--elbc-shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.08));
}

.elbc-filters-form {
    display: flex;
    flex-wrap: wrap;
    gap: var(--elbc-spacing-md, 12px);
    align-items: flex-end;
}

.elbc-filter-group {
    flex: 1;
    min-width: 180px;
}

.elbc-filter-label {
    display: block;
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    font-weight: var(--elbc-font-medium, 500);
    color: var(--elbc-text-gray, #333333);
    margin-bottom: var(--elbc-spacing-xs, 6px);
}

.elbc-filter-input,
.elbc-filter-select {
    width: 100%;
    padding: var(--elbc-spacing-sm, 10px) var(--elbc-spacing-md, 14px);
    border: 1px solid var(--jobs-border);
    border-radius: var(--elbc-radius-md, 8px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    background: var(--elbc-bg-card, #ffffff);
    transition: border-color var(--elbc-transition-base, 0.2s ease);
}

.elbc-filter-input:focus,
.elbc-filter-select:focus {
    outline: none;
    border-color: var(--jobs-primary);
    box-shadow: 0 0 0 3px rgba(138, 105, 20, 0.15);
}

.elbc-filter-submit {
    padding: var(--elbc-spacing-sm, 10px) var(--elbc-spacing-xl, 24px);
    background: var(--jobs-primary);
    color: var(--color-text-light);
    border: none;
    border-radius: var(--elbc-radius-md, 8px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    font-weight: var(--elbc-font-semibold, 600);
    cursor: pointer;
    transition: background var(--elbc-transition-base, 0.2s ease);
}

.elbc-filter-submit:hover {
    background: var(--color-secondary-hover);
}

@media (max-width: 768px) {
    .elbc-filter-group {
        min-width: 100%;
    }
}

/* ========================================
   Job Cards Grid
======================================== */
.elbc-jobs-grid,
.elbc-seekers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: var(--elbc-spacing-xl, 24px);
}

@media (max-width: 768px) {
    .elbc-jobs-grid,
    .elbc-seekers-grid {
        grid-template-columns: 1fr;
    }
}

/* Job Card */
.elbc-job-card {
    background: var(--elbc-bg-card, #ffffff);
    border-radius: var(--elbc-radius-lg, 12px);
    overflow: hidden;
    box-shadow: var(--elbc-shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.08));
    transition: transform var(--elbc-transition-base, 0.2s ease),
                box-shadow var(--elbc-transition-base, 0.2s ease);
    display: flex;
    flex-direction: column;
}

.elbc-job-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--elbc-shadow-lg, 0 8px 24px rgba(0, 0, 0, 0.12));
}

.elbc-job-card-header {
    display: flex;
    align-items: center;
    gap: var(--elbc-spacing-md, 12px);
    padding: var(--elbc-spacing-lg, 16px);
    border-bottom: 1px solid var(--jobs-border);
}

.elbc-job-company-logo {
    width: 56px;
    height: 56px;
    border-radius: var(--elbc-radius-md, 8px);
    overflow: hidden;
    flex-shrink: 0;
    background: var(--jobs-light);
    display: flex;
    align-items: center;
    justify-content: center;
}

.elbc-job-company-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.elbc-job-company-logo svg {
    width: 28px;
    height: 28px;
    color: var(--jobs-muted);
}

.elbc-job-header-info {
    flex: 1;
    min-width: 0;
}

.elbc-job-title {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-lg, 1.05rem);
    font-weight: var(--elbc-font-semibold, 600);
    color: var(--elbc-secondary-dark, #000033);
    margin: 0 0 4px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.elbc-job-company {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    color: var(--elbc-text-muted, #666666);
    margin: 0;
}

.elbc-job-card-body {
    padding: var(--elbc-spacing-lg, 16px);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.elbc-job-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--elbc-spacing-md, 12px);
    margin-bottom: var(--elbc-spacing-md, 12px);
}

.elbc-job-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.85rem);
    color: var(--elbc-text-muted, #666666);
}

.elbc-job-meta-item svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.elbc-job-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--elbc-spacing-sm, 8px);
    margin-bottom: var(--elbc-spacing-md, 12px);
}

.elbc-job-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: var(--elbc-radius-pill, 999px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-xs, 0.8rem);
    font-weight: var(--elbc-font-medium, 500);
}

.elbc-job-badge--category {
    background: rgba(138, 105, 20, 0.15);
    color: var(--color-secondary-hover);
}

.elbc-job-badge--type {
    background: rgba(3, 25, 21, 0.1);
    color: var(--elbc-secondary-dark, #000033);
}

.elbc-job-badge--expired {
    background: rgba(220, 53, 69, 0.15);
    color: var(--jobs-danger);
}

.elbc-job-description {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    color: var(--elbc-text-gray, #444444);
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: auto;
}

.elbc-job-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--elbc-spacing-md, 12px) var(--elbc-spacing-lg, 16px);
    border-top: 1px solid var(--jobs-border);
    background: var(--jobs-light);
}

.elbc-job-salary {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    font-weight: var(--elbc-font-semibold, 600);
    color: var(--jobs-success);
}

.elbc-job-salary svg {
    width: 16px;
    height: 16px;
}

.elbc-job-deadline {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-xs, 0.8rem);
    color: var(--elbc-text-muted, #666666);
}

.elbc-job-deadline svg {
    width: 14px;
    height: 14px;
}

.elbc-job-deadline--urgent {
    color: var(--jobs-danger);
}

/* Job Card Link */
.elbc-job-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.elbc-job-card-link:hover .elbc-job-title {
    color: var(--jobs-primary);
}

/* ========================================
   Job Seeker Cards
======================================== */
.elbc-seeker-card {
    background: var(--elbc-bg-card, #ffffff);
    border-radius: var(--elbc-radius-lg, 12px);
    overflow: hidden;
    box-shadow: var(--elbc-shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.08));
    transition: transform var(--elbc-transition-base, 0.2s ease),
                box-shadow var(--elbc-transition-base, 0.2s ease);
    text-align: center;
    padding: var(--elbc-spacing-xl, 24px) var(--elbc-spacing-lg, 16px);
}

.elbc-seeker-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--elbc-shadow-lg, 0 8px 24px rgba(0, 0, 0, 0.12));
}

.elbc-seeker-avatar {
    width: 80px;
    height: 80px;
    border-radius: var(--elbc-radius-full, 50%);
    overflow: hidden;
    margin: 0 auto var(--elbc-spacing-md, 12px);
    background: var(--jobs-light);
    display: flex;
    align-items: center;
    justify-content: center;
}

.elbc-seeker-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.elbc-seeker-avatar svg {
    width: 40px;
    height: 40px;
    color: var(--jobs-muted);
}

.elbc-seeker-name {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-lg, 1.05rem);
    font-weight: var(--elbc-font-semibold, 600);
    color: var(--elbc-secondary-dark, #000033);
    margin: 0 0 4px 0;
}

.elbc-seeker-title {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    color: var(--jobs-primary);
    margin: 0 0 var(--elbc-spacing-md, 12px) 0;
}

.elbc-seeker-location {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.85rem);
    color: var(--elbc-text-muted, #666666);
    margin-bottom: var(--elbc-spacing-md, 12px);
}

.elbc-seeker-location svg {
    width: 14px;
    height: 14px;
}

.elbc-seeker-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--elbc-spacing-sm, 8px);
    margin-bottom: var(--elbc-spacing-lg, 16px);
}

.elbc-seeker-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: var(--elbc-radius-pill, 999px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-xs, 0.8rem);
    font-weight: var(--elbc-font-medium, 500);
}

.elbc-seeker-badge--spec {
    background: rgba(138, 105, 20, 0.15);
    color: var(--color-secondary-hover);
}

.elbc-seeker-badge--level {
    background: rgba(40, 167, 69, 0.15);
    color: var(--jobs-success);
}

.elbc-seeker-card-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: var(--elbc-spacing-sm, 10px) var(--elbc-spacing-lg, 18px);
    background: var(--jobs-secondary);
    color: var(--color-text-light);
    border-radius: var(--elbc-radius-md, 8px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    text-decoration: none;
    transition: background var(--elbc-transition-base, 0.2s ease);
}

.elbc-seeker-card-link:hover {
    background: var(--jobs-primary);
}

.elbc-seeker-card-link svg {
    width: 16px;
    height: 16px;
}

/* ========================================
   Single Job / Seeker Page
======================================== */
.elbc-single-cpt {
    min-height: calc(100vh - var(--elbc-header-height, 64px));
    background: var(--elbc-bg-light, #f7f7fa);
    padding: var(--elbc-spacing-xl, 24px) var(--elbc-spacing-lg, 16px);
}

.elbc-cpt-container {
    max-width: 1000px;
    margin: 0 auto;
}

/* Breadcrumb */
.elbc-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--elbc-spacing-sm, 8px);
    margin-bottom: var(--elbc-spacing-xl, 24px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
}

.elbc-breadcrumb a {
    color: var(--elbc-text-muted, #666666);
    text-decoration: none;
}

.elbc-breadcrumb a:hover {
    color: var(--jobs-primary);
}

.elbc-breadcrumb .separator {
    color: var(--jobs-muted);
}

.elbc-breadcrumb .current {
    color: var(--elbc-secondary-dark, #000033);
    font-weight: var(--elbc-font-medium, 500);
}

/* Job Header */
.elbc-job-header {
    background: var(--elbc-bg-card, #ffffff);
    border-radius: var(--elbc-radius-lg, 12px);
    padding: var(--elbc-spacing-xl, 24px);
    margin-bottom: var(--elbc-spacing-xl, 24px);
    box-shadow: var(--elbc-shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.08));
}

.elbc-job-header-main {
    display: flex;
    gap: var(--elbc-spacing-xl, 24px);
}

@media (max-width: 768px) {
    .elbc-job-header-main {
        flex-direction: column;
        text-align: center;
    }
}

.elbc-job-company-logo-large {
    width: 100px;
    height: 100px;
    border-radius: var(--elbc-radius-lg, 12px);
    overflow: hidden;
    flex-shrink: 0;
    background: var(--jobs-light);
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 768px) {
    .elbc-job-company-logo-large {
        margin: 0 auto;
    }
}

.elbc-job-company-logo-large img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.elbc-job-company-logo-large svg {
    width: 48px;
    height: 48px;
    color: var(--jobs-muted);
}

.elbc-job-header-info {
    flex: 1;
}

.elbc-job-header-info h1 {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-2xl, 1.5rem);
    font-weight: var(--elbc-font-bold, 700);
    color: var(--elbc-secondary-dark, #000033);
    margin: 0 0 var(--elbc-spacing-sm, 8px) 0;
}

.elbc-job-header-info .elbc-job-company {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-lg, 1.05rem);
    color: var(--jobs-primary);
    margin: 0 0 var(--elbc-spacing-md, 12px) 0;
}

/* Info Cards */
.elbc-info-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--elbc-spacing-md, 12px);
    margin-bottom: var(--elbc-spacing-xl, 24px);
}

.elbc-info-card {
    display: flex;
    align-items: center;
    gap: var(--elbc-spacing-md, 12px);
    padding: var(--elbc-spacing-md, 14px);
    background: var(--elbc-bg-card, #ffffff);
    border-radius: var(--elbc-radius-md, 10px);
    box-shadow: var(--elbc-shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.06));
}

.elbc-info-card-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--elbc-radius-md, 8px);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.elbc-info-card-icon--location {
    background: rgba(138, 105, 20, 0.15);
    color: var(--jobs-primary);
}

.elbc-info-card-icon--salary {
    background: rgba(40, 167, 69, 0.15);
    color: var(--jobs-success);
}

.elbc-info-card-icon--deadline {
    background: rgba(220, 53, 69, 0.15);
    color: var(--jobs-danger);
}

.elbc-info-card-icon--date {
    background: rgba(3, 25, 21, 0.1);
    color: var(--jobs-secondary);
}

.elbc-info-card-icon svg {
    width: 22px;
    height: 22px;
}

.elbc-info-card-text {
    flex: 1;
}

.elbc-info-card-label {
    display: block;
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-xs, 0.8rem);
    color: var(--elbc-text-muted, #666666);
    margin-bottom: 2px;
}

.elbc-info-card-value {
    display: block;
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    font-weight: var(--elbc-font-semibold, 600);
    color: var(--elbc-secondary-dark, #000033);
}

/* Content Sections */
.elbc-cpt-section {
    background: var(--elbc-bg-card, #ffffff);
    border-radius: var(--elbc-radius-lg, 12px);
    padding: var(--elbc-spacing-xl, 24px);
    margin-bottom: var(--elbc-spacing-xl, 24px);
    box-shadow: var(--elbc-shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.08));
}

.elbc-section-title {
    display: flex;
    align-items: center;
    gap: var(--elbc-spacing-sm, 8px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-lg, 1.1rem);
    font-weight: var(--elbc-font-semibold, 600);
    color: var(--elbc-secondary-dark, #000033);
    margin: 0 0 var(--elbc-spacing-lg, 16px) 0;
    padding-bottom: var(--elbc-spacing-md, 12px);
    border-bottom: 2px solid var(--jobs-light);
}

.elbc-section-title svg {
    width: 20px;
    height: 20px;
    color: var(--jobs-primary);
}

.elbc-content-body {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-md, 1rem);
    line-height: 1.8;
    color: var(--elbc-text-gray, #444444);
}

.elbc-content-body p {
    margin-bottom: var(--elbc-spacing-md, 14px);
}

/* Requirements List */
.elbc-requirements-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.elbc-requirements-list li {
    display: flex;
    align-items: flex-start;
    gap: var(--elbc-spacing-sm, 10px);
    padding: var(--elbc-spacing-sm, 10px) 0;
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-md, 1rem);
    color: var(--elbc-text-gray, #444444);
    border-bottom: 1px solid var(--jobs-light);
}

.elbc-requirements-list li:last-child {
    border-bottom: none;
}

.elbc-requirements-list li::before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--jobs-primary);
    flex-shrink: 0;
    margin-top: 8px;
}

/* Apply Section */
.elbc-apply-section {
    display: flex;
    flex-wrap: wrap;
    gap: var(--elbc-spacing-md, 12px);
    margin-top: var(--elbc-spacing-lg, 16px);
}

.elbc-apply-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: var(--elbc-spacing-md, 14px) var(--elbc-spacing-xl, 24px);
    border-radius: var(--elbc-radius-md, 8px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-md, 1rem);
    font-weight: var(--elbc-font-semibold, 600);
    text-decoration: none;
    cursor: pointer;
    transition: all var(--elbc-transition-base, 0.2s ease);
}

.elbc-apply-btn svg {
    width: 20px;
    height: 20px;
}

.elbc-apply-btn--email {
    background: var(--jobs-primary);
    color: var(--color-text-light);
}

.elbc-apply-btn--email:hover {
    background: var(--color-secondary-hover);
}

.elbc-apply-btn--link {
    background: var(--jobs-secondary);
    color: var(--color-text-light);
}

.elbc-apply-btn--link:hover {
    background: var(--color-primary-hover);
}

.elbc-apply-btn--disabled {
    background: var(--jobs-muted);
    color: var(--color-text-light);
    cursor: not-allowed;
    opacity: 0.7;
}

/* Share Section */
.elbc-share-section {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--elbc-spacing-md, 12px);
}

.elbc-share-label {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    color: var(--elbc-text-muted, #666666);
}

.elbc-share-buttons {
    display: flex;
    gap: var(--elbc-spacing-sm, 8px);
}

.elbc-share-btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--elbc-radius-md, 8px);
    color: var(--color-text-light);
    transition: transform var(--elbc-transition-base, 0.2s ease);
}

.elbc-share-btn:hover {
    transform: scale(1.1);
}

.elbc-share-btn svg {
    width: 20px;
    height: 20px;
}

.elbc-share-btn--whatsapp {
    background: var(--color-whatsapp);
}

.elbc-share-btn--twitter {
    background: var(--color-twitter);
}

.elbc-share-btn--linkedin {
    background: var(--color-linkedin);
}

.elbc-share-btn--copy {
    background: var(--jobs-muted);
    cursor: pointer;
    border: none;
}

/* Related Section */
.elbc-related-section {
    margin-top: var(--elbc-spacing-2xl, 32px);
}

.elbc-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--elbc-spacing-lg, 16px);
}

.elbc-related-card {
    display: flex;
    align-items: center;
    gap: var(--elbc-spacing-md, 12px);
    padding: var(--elbc-spacing-md, 14px);
    background: var(--elbc-bg-card, #ffffff);
    border-radius: var(--elbc-radius-md, 10px);
    text-decoration: none;
    transition: all var(--elbc-transition-base, 0.2s ease);
    box-shadow: var(--elbc-shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.06));
}

.elbc-related-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--elbc-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.1));
}

.elbc-related-logo,
.elbc-related-avatar {
    width: 48px;
    height: 48px;
    border-radius: var(--elbc-radius-md, 8px);
    overflow: hidden;
    flex-shrink: 0;
    background: var(--jobs-light);
    display: flex;
    align-items: center;
    justify-content: center;
}

.elbc-related-avatar {
    border-radius: var(--elbc-radius-full, 50%);
}

.elbc-related-logo img,
.elbc-related-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.elbc-related-info {
    flex: 1;
    min-width: 0;
}

.elbc-related-title {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-md, 0.95rem);
    font-weight: var(--elbc-font-semibold, 600);
    color: var(--elbc-secondary-dark, #000033);
    margin: 0 0 4px 0;
}

.elbc-related-subtitle {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.85rem);
    color: var(--elbc-text-muted, #666666);
}

/* ========================================
   Single Job Seeker Specific
======================================== */
.elbc-seeker-header {
    background: var(--elbc-bg-card, #ffffff);
    border-radius: var(--elbc-radius-lg, 12px);
    padding: var(--elbc-spacing-xl, 24px);
    margin-bottom: var(--elbc-spacing-xl, 24px);
    box-shadow: var(--elbc-shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.08));
}

.elbc-seeker-header-main {
    display: flex;
    gap: var(--elbc-spacing-xl, 24px);
    align-items: center;
}

@media (max-width: 768px) {
    .elbc-seeker-header-main {
        flex-direction: column;
        text-align: center;
    }
}

.elbc-seeker-avatar-large {
    width: 120px;
    height: 120px;
    border-radius: var(--elbc-radius-full, 50%);
    overflow: hidden;
    flex-shrink: 0;
    background: var(--jobs-light);
    display: flex;
    align-items: center;
    justify-content: center;
}

.elbc-seeker-avatar-large img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.elbc-avatar-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--jobs-muted);
}

.elbc-seeker-header-info {
    flex: 1;
}

.elbc-seeker-header-info .elbc-seeker-name {
    font-size: var(--elbc-font-2xl, 1.5rem);
    margin-bottom: var(--elbc-spacing-sm, 8px);
}

.elbc-seeker-header-info .elbc-seeker-title {
    font-size: var(--elbc-font-lg, 1.1rem);
    margin-bottom: var(--elbc-spacing-md, 12px);
}

.elbc-seeker-badges-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--elbc-spacing-sm, 8px);
    margin-bottom: var(--elbc-spacing-md, 12px);
}

@media (max-width: 768px) {
    .elbc-seeker-badges-row {
        justify-content: center;
    }
}

.elbc-seeker-quick-info {
    display: flex;
    flex-wrap: wrap;
    gap: var(--elbc-spacing-lg, 16px);
}

@media (max-width: 768px) {
    .elbc-seeker-quick-info {
        justify-content: center;
    }
}

.elbc-quick-info-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    color: var(--elbc-text-muted, #666666);
}

.elbc-quick-info-item svg {
    width: 18px;
    height: 18px;
}

/* Two Column Layout */
.elbc-seeker-content-grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: var(--elbc-spacing-xl, 24px);
    margin-bottom: var(--elbc-spacing-xl, 24px);
}

@media (max-width: 900px) {
    .elbc-seeker-content-grid {
        grid-template-columns: 1fr;
    }
}

.elbc-seeker-main {
    display: flex;
    flex-direction: column;
    gap: var(--elbc-spacing-xl, 24px);
}

.elbc-seeker-sidebar {
    display: flex;
    flex-direction: column;
    gap: var(--elbc-spacing-lg, 16px);
}

/* Sidebar Cards */
.elbc-sidebar-card {
    background: var(--elbc-bg-card, #ffffff);
    border-radius: var(--elbc-radius-lg, 12px);
    padding: var(--elbc-spacing-lg, 16px);
    box-shadow: var(--elbc-shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.08));
}

.elbc-sidebar-title {
    display: flex;
    align-items: center;
    gap: var(--elbc-spacing-sm, 8px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-md, 1rem);
    font-weight: var(--elbc-font-semibold, 600);
    color: var(--elbc-secondary-dark, #000033);
    margin: 0 0 var(--elbc-spacing-md, 12px) 0;
}

.elbc-sidebar-title svg {
    width: 18px;
    height: 18px;
    color: var(--jobs-primary);
}

/* Contact Info */
.elbc-contact-info {
    margin-bottom: var(--elbc-spacing-md, 12px);
}

.elbc-contact-item {
    display: flex;
    align-items: center;
    gap: var(--elbc-spacing-sm, 8px);
    padding: var(--elbc-spacing-sm, 8px) 0;
    border-bottom: 1px solid var(--jobs-light);
}

.elbc-contact-item:last-child {
    border-bottom: none;
}

.elbc-contact-item svg {
    width: 18px;
    height: 18px;
    color: var(--jobs-muted);
    flex-shrink: 0;
}

.elbc-contact-item a {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    color: var(--elbc-secondary-dark, #000033);
    text-decoration: none;
    word-break: break-all;
}

.elbc-contact-item a:hover {
    color: var(--jobs-primary);
}

.elbc-contact-actions {
    display: flex;
    flex-direction: column;
    gap: var(--elbc-spacing-sm, 8px);
}

/* Buttons */
.elbc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: var(--elbc-spacing-sm, 10px) var(--elbc-spacing-lg, 18px);
    border-radius: var(--elbc-radius-md, 8px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    font-weight: var(--elbc-font-medium, 500);
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: all var(--elbc-transition-base, 0.2s ease);
}

.elbc-btn svg {
    width: 18px;
    height: 18px;
}

.elbc-btn--primary {
    background: var(--jobs-primary);
    color: var(--color-text-light);
}

.elbc-btn--primary:hover {
    background: var(--color-secondary-hover);
}

.elbc-btn--secondary {
    background: var(--jobs-secondary);
    color: var(--color-text-light);
}

.elbc-btn--secondary:hover {
    background: var(--color-primary-hover);
}

.elbc-btn--whatsapp {
    background: var(--color-whatsapp);
    color: var(--color-text-light);
}

.elbc-btn--whatsapp:hover {
    background: var(--color-whatsapp-hover);
}

.elbc-btn--block {
    width: 100%;
}

.elbc-btn--sm {
    padding: 8px 14px;
    font-size: var(--elbc-font-xs, 0.85rem);
}

/* Contact Locked */
.elbc-contact-locked {
    text-align: center;
    padding: var(--elbc-spacing-lg, 16px);
    background: var(--jobs-light);
    border-radius: var(--elbc-radius-md, 8px);
}

.elbc-contact-locked svg {
    color: var(--jobs-muted);
    margin-bottom: var(--elbc-spacing-sm, 8px);
}

.elbc-contact-locked p {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    color: var(--elbc-text-muted, #666666);
    margin: 0 0 var(--elbc-spacing-md, 12px) 0;
}

/* Quick Stats */
.elbc-quick-stats {
    display: flex;
    flex-direction: column;
    gap: var(--elbc-spacing-sm, 8px);
}

.elbc-stat-item {
    display: flex;
    justify-content: space-between;
    padding: var(--elbc-spacing-sm, 8px) 0;
    border-bottom: 1px solid var(--jobs-light);
}

.elbc-stat-item:last-child {
    border-bottom: none;
}

.elbc-stat-label {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    color: var(--elbc-text-muted, #666666);
}

.elbc-stat-value {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    font-weight: var(--elbc-font-semibold, 600);
    color: var(--elbc-secondary-dark, #000033);
}

/* Share Buttons Vertical */
.elbc-share-buttons-vertical {
    display: flex;
    flex-direction: column;
    gap: var(--elbc-spacing-sm, 8px);
}

.elbc-share-btn-large {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: var(--elbc-spacing-sm, 10px) var(--elbc-spacing-md, 14px);
    border-radius: var(--elbc-radius-md, 8px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    color: var(--color-text-light);
    text-decoration: none;
    transition: opacity var(--elbc-transition-base, 0.2s ease);
}

.elbc-share-btn-large:hover {
    opacity: 0.9;
}

.elbc-share-btn-large svg {
    width: 20px;
    height: 20px;
}

.elbc-share-btn--whatsapp {
    background: var(--color-whatsapp);
}

.elbc-share-btn--linkedin {
    background: var(--color-linkedin);
}

/* Skills List */
.elbc-skills-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--elbc-spacing-sm, 8px);
}

.elbc-skill-tag {
    display: inline-block;
    padding: 6px 14px;
    background: var(--jobs-light);
    border-radius: var(--elbc-radius-pill, 999px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.85rem);
    color: var(--elbc-text-gray, #444444);
}

/* ========================================
   Expired Notice
======================================== */
.elbc-expired-notice {
    display: flex;
    align-items: center;
    gap: var(--elbc-spacing-md, 12px);
    padding: var(--elbc-spacing-lg, 16px);
    background: rgba(220, 53, 69, 0.1);
    border-radius: var(--elbc-radius-md, 10px);
    border: 1px solid rgba(220, 53, 69, 0.3);
    margin-bottom: var(--elbc-spacing-lg, 16px);
}

.elbc-expired-notice svg {
    width: 24px;
    height: 24px;
    color: var(--jobs-danger);
    flex-shrink: 0;
}

.elbc-expired-notice p {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-md, 1rem);
    color: var(--jobs-danger);
    margin: 0;
}

/* ========================================
   No Results
======================================== */
.elbc-no-results {
    text-align: center;
    padding: var(--elbc-spacing-3xl, 48px) var(--elbc-spacing-xl, 24px);
    background: var(--elbc-bg-card, #ffffff);
    border-radius: var(--elbc-radius-lg, 12px);
    box-shadow: var(--elbc-shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.08));
}

.elbc-no-results svg {
    width: 64px;
    height: 64px;
    color: var(--jobs-muted);
    margin-bottom: var(--elbc-spacing-md, 12px);
}

.elbc-no-results h3 {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-lg, 1.1rem);
    font-weight: var(--elbc-font-semibold, 600);
    color: var(--elbc-secondary-dark, #000033);
    margin: 0 0 var(--elbc-spacing-sm, 8px) 0;
}

.elbc-no-results p {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-md, 1rem);
    color: var(--elbc-text-muted, #666666);
    margin: 0;
}

/* ========================================
   Pagination
======================================== */
.elbc-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--elbc-spacing-sm, 8px);
    margin-top: var(--elbc-spacing-2xl, 32px);
}

.elbc-pagination a,
.elbc-pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 var(--elbc-spacing-sm, 10px);
    background: var(--elbc-bg-card, #ffffff);
    border-radius: var(--elbc-radius-md, 8px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    color: var(--elbc-text-gray, #444444);
    text-decoration: none;
    transition: all var(--elbc-transition-base, 0.2s ease);
    box-shadow: var(--elbc-shadow-sm, 0 2px 6px rgba(0, 0, 0, 0.06));
}

.elbc-pagination a:hover {
    background: var(--jobs-primary);
    color: var(--color-text-light);
}

.elbc-pagination .current {
    background: var(--jobs-primary);
    color: var(--color-text-light);
}

/* ========================================
   Form Pages (Post Job / Submit CV)
======================================== */
.elbc-form-page {
    min-height: calc(100vh - var(--elbc-header-height, 64px));
    background: var(--elbc-bg-light, #f7f7fa);
    padding: var(--elbc-spacing-2xl, 32px) var(--elbc-spacing-lg, 16px);
}

.elbc-form-container {
    max-width: 700px;
    margin: 0 auto;
}

.elbc-form-card {
    background: var(--elbc-bg-card, #ffffff);
    border-radius: var(--elbc-radius-lg, 12px);
    padding: var(--elbc-spacing-2xl, 32px);
    box-shadow: var(--elbc-shadow-md, 0 4px 12px rgba(0, 0, 0, 0.1));
}

.elbc-form-header {
    text-align: center;
    margin-bottom: var(--elbc-spacing-2xl, 32px);
}

.elbc-form-title {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-2xl, 1.5rem);
    font-weight: var(--elbc-font-bold, 700);
    color: var(--elbc-secondary-dark, #000033);
    margin: 0 0 var(--elbc-spacing-sm, 8px) 0;
}

.elbc-form-subtitle {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-md, 1rem);
    color: var(--elbc-text-muted, #666666);
    margin: 0;
}

.elbc-form-group {
    margin-bottom: var(--elbc-spacing-lg, 18px);
}

.elbc-form-label {
    display: block;
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    font-weight: var(--elbc-font-medium, 500);
    color: var(--elbc-text-gray, #333333);
    margin-bottom: var(--elbc-spacing-xs, 6px);
}

.elbc-form-label .required {
    color: var(--jobs-danger);
}

.elbc-form-input,
.elbc-form-select,
.elbc-form-textarea {
    width: 100%;
    padding: var(--elbc-spacing-md, 12px) var(--elbc-spacing-md, 14px);
    border: 1px solid var(--jobs-border);
    border-radius: var(--elbc-radius-md, 8px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-md, 1rem);
    background: var(--elbc-bg-card, #ffffff);
    transition: border-color var(--elbc-transition-base, 0.2s ease),
                box-shadow var(--elbc-transition-base, 0.2s ease);
}

.elbc-form-input:focus,
.elbc-form-select:focus,
.elbc-form-textarea:focus {
    outline: none;
    border-color: var(--jobs-primary);
    box-shadow: 0 0 0 3px rgba(138, 105, 20, 0.15);
}

.elbc-form-textarea {
    min-height: 120px;
    resize: vertical;
}

.elbc-form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--elbc-spacing-md, 14px);
}

@media (max-width: 600px) {
    .elbc-form-row {
        grid-template-columns: 1fr;
    }
}

/* File Upload Area */
.elbc-file-upload {
    border: 2px dashed var(--jobs-border);
    border-radius: var(--elbc-radius-md, 10px);
    padding: var(--elbc-spacing-2xl, 32px) var(--elbc-spacing-lg, 16px);
    text-align: center;
    cursor: pointer;
    transition: all var(--elbc-transition-base, 0.2s ease);
}

.elbc-file-upload:hover,
.elbc-file-upload.is-dragging {
    border-color: var(--jobs-primary);
    background: rgba(138, 105, 20, 0.05);
}

.elbc-file-upload svg {
    width: 48px;
    height: 48px;
    color: var(--jobs-muted);
    margin-bottom: var(--elbc-spacing-md, 12px);
}

.elbc-file-upload-text {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-md, 1rem);
    color: var(--elbc-text-gray, #444444);
    margin-bottom: var(--elbc-spacing-xs, 6px);
}

.elbc-file-upload-hint {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.85rem);
    color: var(--elbc-text-muted, #666666);
}

.elbc-file-selected {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--elbc-spacing-sm, 8px);
    padding: var(--elbc-spacing-md, 12px);
    background: rgba(40, 167, 69, 0.1);
    border-radius: var(--elbc-radius-md, 8px);
    margin-top: var(--elbc-spacing-md, 12px);
}

.elbc-file-selected svg {
    width: 20px;
    height: 20px;
    color: var(--jobs-success);
    margin: 0;
}

.elbc-file-selected span {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    color: var(--jobs-success);
}

/* Form Submit */
.elbc-form-submit {
    width: 100%;
    padding: var(--elbc-spacing-md, 14px);
    background: var(--jobs-primary);
    color: var(--color-text-light);
    border: none;
    border-radius: var(--elbc-radius-md, 8px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-md, 1rem);
    font-weight: var(--elbc-font-semibold, 600);
    cursor: pointer;
    transition: background var(--elbc-transition-base, 0.2s ease);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.elbc-form-submit:hover:not(:disabled) {
    background: var(--color-secondary-hover);
}

.elbc-form-submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.elbc-form-submit svg {
    width: 20px;
    height: 20px;
}

/* Form Messages */
.elbc-form-message {
    padding: var(--elbc-spacing-md, 14px);
    border-radius: var(--elbc-radius-md, 8px);
    margin-bottom: var(--elbc-spacing-lg, 16px);
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    display: flex;
    align-items: center;
    gap: var(--elbc-spacing-sm, 8px);
}

.elbc-form-message svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.elbc-form-message--success {
    background: rgba(40, 167, 69, 0.1);
    border: 1px solid rgba(40, 167, 69, 0.3);
    color: var(--jobs-success);
}

.elbc-form-message--error {
    background: rgba(220, 53, 69, 0.1);
    border: 1px solid rgba(220, 53, 69, 0.3);
    color: var(--jobs-danger);
}

/* Privacy Notice */
.elbc-privacy-notice {
    display: flex;
    align-items: flex-start;
    gap: var(--elbc-spacing-sm, 8px);
    padding: var(--elbc-spacing-md, 12px);
    background: var(--jobs-light);
    border-radius: var(--elbc-radius-md, 8px);
    margin-bottom: var(--elbc-spacing-lg, 16px);
}

.elbc-privacy-notice svg {
    width: 20px;
    height: 20px;
    color: var(--jobs-muted);
    flex-shrink: 0;
    margin-top: 2px;
}

.elbc-privacy-notice p {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.85rem);
    color: var(--elbc-text-muted, #666666);
    margin: 0;
    line-height: 1.5;
}

/* Access Denied */
.elbc-access-denied {
    text-align: center;
    padding: var(--elbc-spacing-3xl, 48px) var(--elbc-spacing-xl, 24px);
}

.elbc-access-denied svg {
    width: 64px;
    height: 64px;
    color: var(--jobs-danger);
    margin-bottom: var(--elbc-spacing-md, 12px);
}

.elbc-access-denied h2 {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-xl, 1.25rem);
    font-weight: var(--elbc-font-semibold, 600);
    color: var(--elbc-secondary-dark, #000033);
    margin: 0 0 var(--elbc-spacing-sm, 8px) 0;
}

.elbc-access-denied p {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-md, 1rem);
    color: var(--elbc-text-muted, #666666);
    margin: 0 0 var(--elbc-spacing-xl, 24px) 0;
}

/* ========================================
   Alert Messages
======================================== */
.elbc-alert {
    display: flex;
    align-items: flex-start;
    gap: var(--elbc-spacing-md, 12px);
    padding: var(--elbc-spacing-lg, 16px);
    border-radius: var(--elbc-radius-md, 10px);
    margin-bottom: var(--elbc-spacing-xl, 24px);
}

.elbc-alert svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.elbc-alert-content {
    flex: 1;
}

.elbc-alert-content strong {
    display: block;
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-md, 1rem);
    margin-bottom: var(--elbc-spacing-xs, 6px);
}

.elbc-alert-content p {
    font-family: var(--elbc-font-arabic);
    font-size: var(--elbc-font-sm, 0.9rem);
    margin: 0;
    line-height: 1.5;
}

.elbc-alert--success {
    background: rgba(40, 167, 69, 0.1);
    border: 1px solid rgba(40, 167, 69, 0.2);
}

.elbc-alert--success svg {
    color: var(--color-success);
}

.elbc-alert--success strong {
    color: var(--color-success);
}

.elbc-alert--warning {
    background: rgba(255, 193, 7, 0.1);
    border: 1px solid rgba(255, 193, 7, 0.2);
}

.elbc-alert--warning svg {
    color: var(--color-warning);
}

.elbc-alert--warning strong {
    color: var(--color-warning-text);
}

.elbc-alert--danger {
    background: rgba(220, 53, 69, 0.1);
    border: 1px solid rgba(220, 53, 69, 0.2);
}

.elbc-alert--danger svg {
    color: var(--color-alert);
}

.elbc-alert--danger strong {
    color: var(--color-alert);
}

/* Form Messages Container */
.elbc-form-messages {
    display: none;
}

.elbc-form-messages.elbc-alert {
    display: flex;
}
