/**
 * Jobs Listing Styles
 * 
 * Minimal styling - inherits theme typography where possible.
 * Adjust colours/spacing to match Salient theme as needed.
 */

.jobs-listing-wrapper {
    width: 100%;
    margin: 2rem 0;
}

/* Filter */
.jobs-listing-filter {
    margin-bottom: 1.5rem;
}
.jobs-listing-filter span{font-size:0.95rem;}

.jobs-listing-filter select {
    margin-left:0.8rem;
    padding: 0.2rem 2.5rem 0.2rem 1rem;
    font-size: 0.95rem !important;
    border: 1px solid #ddd;
    background-color: #fff;
    cursor: pointer;
    min-width: 180px;
   	max-width: 300px;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
}

.jobs-listing-filter select:focus {
    outline: 2px solid #1a1a2e;
    outline-offset: 1px;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* Table */
.jobs-listing-table {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Header row */
.jobs-listing-header {
    border-bottom: 2px solid #1a1a2e;
}

.jobs-listing-header .jobs-listing-cell {
    font-weight: 800;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    color: #555;
}

.jobs-listing-row {
    display: grid;
    grid-template-columns: 1.4fr 1.2fr 1.2fr 0.6fr 0.6fr;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid #e5e5e5;
    align-items: center;
}

.jobs-listing-cell {
    font-size: 0.95rem;
    line-height: 1.4;
}

.jobs-cell-position {
    font-weight: 500;
}

.jobs-listing-apply-btn {
    display: inline-block;
    padding: 0.5rem 1.25rem;
    border: 1px solid currentColor;
    text-decoration: none;
    font-size: 0.875rem;
    transition: background-color 0.2s ease, color 0.2s ease;
    white-space: nowrap;
}

.jobs-listing-apply-btn:hover {
    background-color: #1a1a2e;
    color: #fff;
    border-color: #1a1a2e;
}

.jobs-listing-empty {
    text-align: center;
    padding: 2rem;
    color: #666;
}

/* Mobile */
@media (max-width: 900px) {
    .jobs-listing-header {
        display: none;
    }

    .jobs-listing-row {
        grid-template-columns: 1fr;
        gap: 0.5rem;
        padding: 1rem 0;
    }
    
    .jobs-cell-position {
        font-size: 1.1rem;
    }
    
    .jobs-cell-company,
    .jobs-cell-location {
        font-size: 0.9rem;
        color: #555;
    }
    
    .jobs-cell-type {
        display: block;
        font-size: 0.85rem;
    }
    
    .jobs-cell-apply {
        margin-top: 0.5rem;
    }
    
    .jobs-listing-apply-btn {
        display: block;
        text-align: center;
    }
}
