/* stylelint-disable */

/* These variables can be used to control values throughout the job board. */
:root {
    /*  Darker primary color - Red to match screenshot buttons */
    --colorPrimary900: #FF0032;

    /*  Lighter primary color */
    --colorPrimary600: #ff3355;

    /*  The max width of the job board container */
    --widthMaxJobBoard: 800px;

    /*  Container border radius */
    --borderRadiusContainer: 12px;

    /*  Border radius of control elements (e.g. input boxes) */
    --borderRadiusControl: 8px;

    /*  Button border radius - pill shape to match screenshot */
    --borderRadiusButton: 50px;

    /*  Font families */
    --fontFamily: "Whitney SSm", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Helvetica", "Arial", "Apple Color Emoji", "Segoe UI Emoji", sans-serif;

    /* Light gray page background matching screenshot */
    --colorAppBackground: #f0f1f3;
}

/* ─── Job Board Heading ─────────────────────────────── */

.ashby-job-board-heading {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 16px;
}

.ashby-job-board-heading-count {
    font-size: 0.95rem;
    color: #6b7280;
    margin-left: 8px;
}

/* ─── Filters ───────────────────────────────────────── */

.ashby-job-board-filters-label {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 8px;
    display: block;
}

.ashby-job-board-filter {
    appearance: none;
    background-color: #ffffff;
    border: 1.5px solid #d1d5db;
    border-radius: var(--borderRadiusControl);
    padding: 10px 36px 10px 14px;
    font-size: 0.95rem;
    color: #1a1a2e;
    cursor: pointer;
    min-width: 160px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
}

.ashby-job-board-filter:focus {
    outline: none;
    border-color: var(--colorPrimary900);
    box-shadow: 0 0 0 3px rgba(255, 0, 50, 0.12);
}

.ashby-job-board-reset-filters-label {
    font-size: 0.875rem;
    color: var(--colorPrimary900);
    cursor: pointer;
    text-decoration: underline;
}

/* ─── Job Posting Card (the white card) ─────────────── */

.ashby-job-posting-brief {
    background-color: #ffffff;
    border-radius: var(--borderRadiusContainer);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07), 0 0 1px rgba(0, 0, 0, 0.05);
    padding: 24px 28px;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: box-shadow 0.2s ease;
}

.ashby-job-posting-brief:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.11), 0 0 1px rgba(0, 0, 0, 0.06);
}

.ashby-job-posting-brief-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 8px;
}

.ashby-job-posting-brief-details {
    font-size: 0.875rem;
    color: #6b7280;
    display: flex;
    gap: 20px;
}

.ashby-job-posting-brief-list {
    margin-top: 16px;
}

/* ─── Department headings ───────────────────────────── */

.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #9ca3af;
    margin: 24px 0 10px;
}

/* ─── "View Job" Button ─────────────────────────────── */

.ashby-job-board-back-to-all-jobs-button,
.ashby-application-form-submit-button {
    background-color: var(--colorPrimary900);
    color: #ffffff;
    border: none;
    border-radius: var(--borderRadiusButton);
    padding: 12px 28px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.ashby-job-board-back-to-all-jobs-button:hover,
.ashby-application-form-submit-button:hover {
    background-color: var(--colorPrimary600);
    transform: translateY(-1px);
}

.ashby-job-board-back-to-all-jobs-button:active,
.ashby-application-form-submit-button:active {
    transform: translateY(0);
}

/* ─── Job Posting Detail Page ───────────────────────── */

.ashby-job-posting-header {
    background-color: #ffffff;
    border-radius: var(--borderRadiusContainer);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
    padding: 32px;
    margin-bottom: 20px;
}

.ashby-job-posting-heading {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1a1a2e;
}

.ashby-job-posting-left-pane {
    font-size: 0.9rem;
    color: #6b7280;
}

.ashby-job-posting-right-pane {
    background-color: #ffffff;
    border-radius: var(--borderRadiusContainer);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
    padding: 28px;
}

.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab {
    font-size: 0.95rem;
    font-weight: 600;
    color: #6b7280;
    padding: 8px 16px;
    cursor: pointer;
}

.ashby-job-posting-right-pane-tab-slider {
    background-color: var(--colorPrimary900);
    height: 2px;
    border-radius: 2px;
}

/* ─── Application Form ──────────────────────────────── */

.ashby-application-form-container {
    font-family: var(--fontFamily);
}

.ashby-application-form-question-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 4px;
}

.ashby-application-form-question-description {
    font-size: 0.82rem;
    color: #9ca3af;
    margin-bottom: 8px;
}

.ashby-application-form-section-header-title {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 4px;
}

.ashby-application-form-section-header-description {
    font-size: 0.875rem;
    color: #6b7280;
}

.ashby-application-form-submit-button {
    width: 100%;
    padding: 14px;
    font-size: 1rem;
    margin-top: 8px;
}

.ashby-application-form-success-container {
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: var(--borderRadiusContainer);
    padding: 20px;
    color: #166534;
    font-weight: 500;
}

.ashby-application-form-failure-container {
    background-color: #fff1f2;
    border: 1px solid #fecdd3;
    border-radius: var(--borderRadiusContainer);
    padding: 20px;
    color: #9f1239;
    font-weight: 500;
}
