/* =========================================================
 * Hiring System Plugin — public (theme) styles
 * v1.4.0
 * =======================================================*/

/* ----- Position details on single-job page ----- */
.hsp-job-meta {
    margin: 2em 0;
    padding: 1.25em 1.5em;
    background: #f7f7f8;
    border: 1px solid #e2e4e7;
    border-radius: 6px;
}
.hsp-job-meta h3 {
    margin: 0 0 .5em;
    font-size: 1.25em;
}
.hsp-job-meta h4 {
    margin: 1em 0 .25em;
    font-size: 1em;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #4a4a4a;
}
.hsp-job-meta ul {
    margin: 0 0 .75em 1.25em;
    padding: 0;
}
.hsp-job-meta li {
    margin: .25em 0;
    line-height: 1.5;
}

/* ----- Apply-now container ----- */
.hsp-apply {
    margin: 2.5em 0;
    padding: 1.5em;
    border: 1px solid #d7dbe0;
    border-radius: 6px;
    background: #fff;
}
.hsp-apply h3 {
    margin-top: 0;
    margin-bottom: .75em;
}

/* ----- Success / error notices ----- */
.hsp-success,
.hsp-error {
    margin: 0 0 1em;
    padding: .75em 1em;
    border-radius: 4px;
    border-left: 4px solid;
    font-weight: 500;
}
.hsp-success {
    background: #e8f5ea;
    border-left-color: #2e7d32;
    color: #1b4d1f;
}
.hsp-error {
    background: #fdecea;
    border-left-color: #c62828;
    color: #7a1b16;
}

/* ----- Application form fields ----- */
.hsp-apply-form p {
    margin: 0 0 1em;
}
.hsp-apply-form label {
    display: block;
    font-weight: 600;
    color: #222;
}
.hsp-apply-form input[type="text"],
.hsp-apply-form input[type="email"],
.hsp-apply-form input[type="tel"],
.hsp-apply-form input[type="url"],
.hsp-apply-form select,
.hsp-apply-form textarea {
    display: block;
    width: 100%;
    max-width: 640px;
    margin-top: .25em;
    padding: .5em .65em;
    font-size: 1em;
    border: 1px solid #bfc3c9;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
}
.hsp-apply-form textarea {
    min-height: 140px;
    resize: vertical;
}
.hsp-apply-form input[type="file"] {
    margin-top: .25em;
}
.hsp-apply-form .g-recaptcha {
    margin: .5em 0 1em;
}
.hsp-apply-form button {
    cursor: pointer;
}

/* ----- Shortcode: job listings ----- */
.hsp-listings {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.25em;
    margin: 2em 0;
}
.hsp-listing {
    padding: 1.25em;
    border: 1px solid #e2e4e7;
    border-radius: 6px;
    background: #fff;
    transition: box-shadow .15s ease;
}
.hsp-listing:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,.06);
}
.hsp-listing h3 {
    margin: 0 0 .25em;
    font-size: 1.15em;
}
.hsp-listing h3 a {
    text-decoration: none;
}
.hsp-listing-meta {
    margin: 0 0 .75em;
    color: #4a4a4a;
    font-size: .95em;
    line-height: 1.5;
}
.hsp-listing .button {
    display: inline-block;
    margin-top: .25em;
}

/* ----- Small-screen adjustments ----- */
@media (max-width: 600px) {
    .hsp-apply {
        padding: 1.25em;
    }
    .hsp-job-meta {
        padding: 1em 1.25em;
    }
}
