/**
Theme Name: TravCorp
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: travcorp
Template: astra
*/

/******************************************************
 *                CAREERS PAGE STYLING
 *       Filters, Listings, Single Job Page
 *            Brand colour: #1a245f
 ******************************************************/

/* ==== GLOBAL WIDTH + CENTRING ==== */

.page .job_filters,
.page ul.job_listings,
.job_listings,
.job_listings + nav,
.job_listings + .load_more_jobs {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Make sure listings appear under filters cleanly */
ul.job_listings {
    clear: both;
}

/* Remove any theme default backgrounds */
ul.job_listings li.job_listing,
ul.job_listings li.job_listing a {
    background: #ffffff !important;
}


/* ====================================================
   ===============   SEARCH FILTER BOX   ===============
   ==================================================== */

.job_filters {
    background: #ffffff;
    padding: 1.75rem 1.75rem 1.25rem;
    border-radius: 1.25rem;
    border: 1px solid #e5e7eb;
    box-shadow: 0 18px 45px rgba(26, 36, 95, 0.08);
    margin-bottom: 2.25rem;
}

.job_filters .search_jobs {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.25rem;
}

/* Fields in clean grid layout */
.job_filters .search_jobs > div,
.job_filters .search_categories,
.job_filters .search_remote_position {
    flex: 1 1 260px;
    min-width: 0;
}

/* Labels */
.job_filters label {
    display: block;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    color: #4b5563;
    margin-bottom: 0.4rem;
}

/* Inputs & selects */
.job_filters input[type="text"],
.job_filters select {
    width: 100%;
    border-radius: 0.9rem;
    border: 1px solid #d1d5db;
    padding: 0.6rem 0.8rem;
    font-size: 0.9rem;
    background: #ffffff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.job_filters input[type="text"]:focus,
.job_filters select:focus {
    border-color: #1a245f;
    box-shadow: 0 0 0 1px rgba(26, 36, 95, 0.25);
    background-color: #fdfdfd;
}

/* Checkbox */
.job_filters input[type="checkbox"] {
    accent-color: #1a245f;
}

/* Remote checkbox label */
.job_filters .search_remote_position label {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.4rem;
    font-size: 0.9rem;
    text-transform: none;
    font-weight: 500;
    color: #1f2933;
}

/* Job type chips */
.job_filters .job_types {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 0.9rem;
    margin-top: 1rem;
    padding-top: 0.9rem;
    border-top: 1px solid #e5e7eb;
}

.job_filters .job_types label {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    background: #eef2ff;
    color: #1a245f;
    font-size: 0.8rem;
    cursor: pointer;
}

/* Submit Button */
.job_filters .search_submit {
    flex: 0 0 auto;
    align-self: flex-end;
}

.job_filters input[type="submit"] {
    padding: 0.65rem 1.4rem;
    border-radius: 999px;
    border: none;
    background: #1a245f;
    color: #ffffff;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(26, 36, 95, 0.35);
    transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.job_filters input[type="submit"]:hover {
    background: #12193f;
    transform: translateY(-1px);
    box-shadow: 0 14px 35px rgba(26, 36, 95, 0.45);
}

/* Mobile stacking */
@media (max-width: 767px) {
    .job_filters {
        padding: 1.25rem;
        border-radius: 1rem;
    }

    .job_filters .search_jobs {
        flex-direction: column;
    }

    .job_filters .search_submit {
        margin-top: 0.75rem;
        align-self: stretch;
    }
}


/* ====================================================
   ===============     JOB LISTINGS      ===============
   ==================================================== */

ul.job_listings {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Listing Card */
ul.job_listings li.job_listing a {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    padding: 1.4rem 1.6rem;
    border-radius: 5px !important;
    border: 1px solid #1a245f !important;
    text-decoration: none;
    background: #ffffff !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

/* Hover effect */
ul.job_listings li.job_listing a:hover {
    transform: translateY(-2px);
    background-color: #f9fafb !important;
    border-color: #1a245f !important;
    box-shadow: 0 18px 45px rgba(26, 36, 95, 0.18);
}

/* Company logo */
ul.job_listings li.job_listing .company_logo {
    flex: 0 0 70px;
    height: 70px;
    border-radius: 10px;
    overflow: hidden;
    background: #ffffff;
}

ul.job_listings li.job_listing .company_logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Position / title */
ul.job_listings li.job_listing .position {
    flex: 2 1 220px;
    min-width: 0;
}

ul.job_listings li.job_listing .position h3 {
    margin: 0 0 0.2rem;
    font-size: 1.1rem;
    font-weight: 600;
    color: #111827;
}

/* Company / location / meta */
ul.job_listings li.job_listing .company,
ul.job_listings li.job_listing .location,
ul.job_listings li.job_listing .meta {
    font-size: 0.85rem;
    color: #4b5563;
}

/* Meta row */
ul.job_listings li.job_listing .meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.8rem;
    margin-top: 0.4rem;
}

/* Job type badges */
ul.job_listings li.job_listing .meta li.job-type,
ul.job_listings li.job_listing .meta .job-type {
    list-style: none;
    padding: 0.18rem 0.65rem;
    border-radius: 999px;
    background: #eef2ff;
    color: #1a245f;
    font-weight: 500;
}

/* Date etc. */
ul.job_listings li.job_listing .meta .date,
ul.job_listings li.job_listing .meta .job-date {
    opacity: 0.85;
}

/* Mobile tweaks */
@media (max-width: 767px) {
    ul.job_listings li.job_listing a {
        padding: 1.1rem 1.2rem;
    }

    ul.job_listings li.job_listing .company_logo {
        order: 0;
    }

    ul.job_listings li.job_listing .position {
        order: 1;
    }
}

.job-salary {
    background: #eef2ff;
    color: #1a245f;
    padding: 0.2rem 0.6rem;
    border-radius: 20px;
    font-weight: 500;
}

/* Salary badge in the listing meta row */
.job-salary {
    background: #eef2ff;
    color: #1a245f;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    font-weight: 500;
    font-size: 0.8rem;
}

/* Salary badge on the single job page meta row */
.single-job-salary {
    background: #eef2ff;
    color: #1a245f;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    font-weight: 500;
    font-size: 0.85rem;
}

/* Make sure it sits nicely with other meta items on single job */
.single_job_listing .job_listing-meta .single-job-salary {
    margin-left: 0;
}




/* ====================================================
   ===============   SINGLE JOB PAGE    ===============
   ==================================================== */

/* Constrain single job width */
.single-job_listing .site-main,
.single-job_listing .single_job_listing {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* Card-style wrapper */
.single_job_listing {
    background: #ffffff;
    border-radius: 1.1rem;
    border: 1px solid #e5e7eb;
    padding: 2rem 2.25rem;
    box-shadow: 0 18px 45px rgba(26, 36, 95, 0.08);
    margin-bottom: 2.5rem;
}

/* Job title */
.single-job_listing h1.entry-title,
.single-job_listing .single_job_listing h1 {
    font-size: 2rem;
    margin-bottom: 0.75rem;
    color: #1a245f;
}

/* Meta under title */
.single_job_listing .job_listing-meta,
.single_job_listing .meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.2rem;
    font-size: 0.85rem;
    color: #4b5563;
    margin-bottom: 1.25rem;
}

/* Company block */
.single_job_listing .company,
.single_job_listing .job_company {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1.5rem;
}

.single_job_listing .company_logo img,
.single_job_listing .job_company_logo img {
    width: 70px;
    height: 70px;
    border-radius: 10px;
    object-fit: contain;
    background: #ffffff;
}

/* Description body */
.single_job_listing .job_description {
    font-size: 0.96rem;
    line-height: 1.7;
    color: #374151;
}

.single_job_listing .job_description p {
    margin-bottom: 0.9rem;
}

.single_job_listing .job_description ul {
    padding-left: 1.2rem;
    margin-bottom: 0.9rem;
}

.single_job_listing .job_description li {
    margin-bottom: 0.3rem;
}

/* Apply / CTA */
.single_job_listing .job_application,
.single_job_listing .application {
    margin-top: 1.75rem;
    padding-top: 1.25rem;
    border-top: 1px solid #e5e7eb;
}

.single_job_listing .job_application a.button,
.single_job_listing .job_application input[type="submit"],
.single_job_listing .application a,
.single_job_listing .application button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    padding: 0.75rem 1.5rem;
    border-radius: 999px;
    background: #1a245f;
    color: #ffffff !important;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    border: none;
    cursor: pointer;
    box-shadow: 0 14px 35px rgba(26, 36, 95, 0.4);
    transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.single_job_listing .job_application a.button:hover,
.single_job_listing .job_application input[type="submit"]:hover,
.single_job_listing .application a:hover,
.single_job_listing .application button:hover {
    background: #12193f;
    transform: translateY(-1px);
}

/* Single job mobile tweaks */
@media (max-width: 767px) {
    .single_job_listing {
        padding: 1.5rem 1.4rem;
        border-radius: 1rem;
    }

    .single_job_listing .job_listing-meta,
    .single_job_listing .meta {
        flex-direction: column;
        gap: 0.25rem;
    }
}