/* Teclov Job Listing Frontend Styles - FINAL DESIGN */

body { font-family: Helvetica, Arial, sans-serif; }
.tjl-listings-container { max-width: 1140px; margin: 40px auto; padding: 0 20px; }
.tjl-job-listings-wrapper { display: flex; flex-direction: column; gap: 15px; }

.tjl-job-card { display: flex; justify-content: space-between; align-items: center; padding: 20px 25px; border: 1px solid #e0e0e0; border-radius: 8px; background-color: #fff; text-decoration: none; color: #333; transition: box-shadow 0.3s ease, transform 0.3s ease; }
.tjl-job-card:hover { box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08); transform: translateY(-4px); }

.tjl-card-info { flex-grow: 1; }
.tjl-card-view { flex-shrink: 0; }
.tjl-card-title { margin: 0 0 8px 0; font-size: 20px; font-weight: bold; color: #1D293D; }
.tjl-card-meta { display: flex; flex-wrap: wrap; gap: 20px; color: #555; font-size: 14px; }
.tjl-card-view span { font-weight: bold; color: #0073aa; }

.tjl-single-job-container { display: flex; flex-wrap: wrap; gap: 50px; }
.tjl-job-details-column { flex: 2; min-width: 300px; }
.tjl-application-form-column { flex: 1; min-width: 320px; }
.tjl-back-link { display: inline-block; margin-bottom: 25px; color: #0073aa; text-decoration: none; font-weight: bold; }
.tjl-back-link:hover { text-decoration: underline; }
.tjl-single-title { margin-top: 0; margin-bottom: 10px; font-size: 28px; }
.tjl-job-content { line-height: 1.7; color: #333; }
.tjl-no-jobs-found { text-align: center; padding: 40px; background-color: #f9f9f9; border-radius: 5px; }

/* *** MODIFIED: Line removed *** */
.tjl-job-meta { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 25px; color: #555; font-size: 15px; padding-bottom: 15px; border-bottom: none; }

.tjl-application-form-wrapper { background-color: #ffffff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 30px; position: sticky; top: 40px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05); }
.tjl-application-form-wrapper h3 { margin-top: 0; margin-bottom: 25px; text-align: center; font-size: 20px; font-weight: 600; color: #1D293D; border-bottom: 1px solid #e5e7eb; padding-bottom: 15px; }
.tjl-application-form .tjl-form-field { margin-bottom: 20px; }
.tjl-application-form label { display: block; font-weight: 600; margin-bottom: 8px; font-size: 14px; color: #374151; }
.tjl-application-form .tjl-required { color: #ef4444; margin-left: 2px; }
.tjl-application-form input[type="text"], .tjl-application-form input[type="email"], .tjl-application-form input[type="tel"], .tjl-application-form textarea, .tjl-application-form input[type="file"] { width: 100%; padding: 12px; border: 1px solid #d1d5db; border-radius: 6px; box-sizing: border-box; font-size: 15px; background-color: #f9fafb; transition: border-color 0.3s ease, box-shadow 0.3s ease; }
.tjl-application-form input:focus, .tjl-application-form textarea:focus { outline: none; border-color: #0073aa; box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1); background-color: #fff; }

/* *** MODIFIED: Increased Specificity for Button Styles *** */
.tjl-application-form .tjl-submit-button {
    width: 100%;
    padding: 12px;
    background-color: #1D293D !important;
    color: #fff;
    border: none;
    border-radius: 25px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}

.tjl-application-form .tjl-submit-button:hover {
    background-color: #3c4a63 !important;
}

.tjl-form-success, .tjl-form-error { padding: 15px; margin-bottom: 20px; border-radius: 6px; border: 1px solid; }
.tjl-form-success { background-color: #d1fae5; border-color: #6ee7b7; color: #065f46; }
.tjl-form-error { background-color: #fee2e2; border-color: #fca5a5; color: #991b1b; }

@media (max-width: 820px) { .tjl-application-form-wrapper { position: static; margin-top: 30px; } }