
.result-section {

    padding: 80px 0;
}

.hidden {

    display: none;
}


.result-card {

    background: var(--card-bg);

    border-radius: var(--radius);

    box-shadow: var(--shadow);

    border: 1px solid var(--border-color);

    padding: 32px;

    margin-bottom: 32px;
}

.train-title {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 28px;

     color: var(--primary);

    font-size: 26px;

    font-weight: 600;
}

.train-title i {

    color: var(--primary);
}

.train-details {

    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 32px;

    text-align: center;
}

.detail-item {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;
}

.detail-item i {

    font-size: 26px;

    color: var(--primary);

    margin-bottom: 4px;
}

.detail-item div {

    display: flex;

    flex-direction: column;

    align-items: center;
}

.detail-label {

    font-family: "Inter", sans-serif;

    font-size: 14px;

    font-weight: 500;

    color: var(--text-light);

    margin-bottom: 8px;

    text-transform: uppercase;

    letter-spacing: 0.5px;
}

.detail-item span:last-child {

    font-size: 18px;

    font-weight: 500;

    color: var(--text-dark);
}


.vacancy-table-card {

    background: var(--card-bg);

    border-radius: var(--radius);

    box-shadow: var(--shadow);

    border: 1px solid var(--border-color);

    padding: 32px;
}

.vacancy-table-card h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    color: var(--primary);

    font-size: 26px;
    font-weight: 600;
}

.vacancy-table-card h2 i {

    color: var(--primary);
}


.table-container {

    height: 650px;

    overflow-y: auto;

    overflow-x: auto;

    border: 1px solid var(--border-color);

    border-radius: 12px;
}


#vacancyTable {

    width: 100%;

    min-width: 900px;

    border-collapse: collapse;
}

#vacancyTable thead {

    position: sticky;

    top: 0;

    z-index: 10;
}

#vacancyTable thead tr {

    background: var(--header-footer);
}

#vacancyTable th {

    color: #ffffff;

    padding: 20px 24px;

    text-align: left;

    font-family: "Inter", sans-serif;

    font-size: 18px;

    font-weight: 600;

    white-space: nowrap;
}

#vacancyTable th i {

    margin-left: 8px;

    cursor: pointer;

    color: #cbd5e1;

    font-size: 18px;
}


#vacancyTable td {

    padding: 20px 24px;

    border-bottom: 1px solid var(--border-color);

    font-size: 18px;

    font-weight: 400;
}

#vacancyTable tbody tr {

    transition: background 0.2s ease;
}

#vacancyTable tbody tr:hover {

    background: #f8fafc;
}


.new-search-wrapper {

    text-align: center;

    margin-top: 32px;
}

.new-search-btn {

    background: transparent;

    color: var(--primary);

    border: 2px solid var(--primary);

    border-radius: 12px;

    padding: 14px 30px;

    font-size: 18px;

    font-weight: 500;

    font-family: "Inter", sans-serif;

    display: inline-flex;

    align-items: center;

    gap: 10px;

    cursor: pointer;

    transition: all 0.3s ease;
}

.new-search-btn:hover {

    background: var(--primary);

    color: #ffffff;
}


.table-container::-webkit-scrollbar {

    width: 10px;

    height: 10px;
}

.table-container::-webkit-scrollbar-thumb {

    background: #cbd5e1;

    border-radius: 20px;
}

.table-container::-webkit-scrollbar-track {

    background: #f1f5f9;
}


.empty-state {

    text-align: center;

    padding: 40px 20px;
}

.empty-state i {

    font-size: 64px;

    color: var(--primary);

    margin-bottom: 20px;

    display: block;
}

.empty-state h3 {

    font-size: 28px;

    font-weight: 600;

    color: var(--text-dark);

    margin-bottom: 12px;
}

.empty-state p {

    font-size: 18px;

    color: var(--text-light);

    max-width: 500px;

    margin: 0 auto;
}


.error-state {

    text-align: center;

    padding: 60px 20px;
}

.error-state i {

    display: block;

    font-size: 64px;

    color: #dc2626;

    margin-bottom: 20px;
}

.error-state h3 {

    font-size: 28px;

    font-weight: 600;

    color: var(--text-dark);

    margin-bottom: 12px;
}

.error-state p {

    font-size: 18px;

    color: var(--text-light);

    max-width: 500px;

    margin: 0 auto;
}


.spin {

    animation: spin 1s linear infinite;

}

@keyframes spin {

    from {

        transform: rotate(0deg);

    }

    to {

        transform: rotate(360deg);

    }

}
#vacancyTable th:nth-child(1),
#vacancyTable td:nth-child(1) {

    width: 35%;
}

#vacancyTable th:nth-child(2),
#vacancyTable td:nth-child(2) {

    width: 35%;
}

#vacancyTable th:nth-child(3),
#vacancyTable td:nth-child(3) {

    width: 15%;

    text-align: center;
}

#vacancyTable th:nth-child(4),
#vacancyTable td:nth-child(4) {

    width: 15%;

    text-align: center;
} 
#vacancyTable th:nth-child(3),
#vacancyTable td:nth-child(3),
#vacancyTable th:nth-child(4),
#vacancyTable td:nth-child(4) {

    text-align: center;
}