/* Fluency Job Board Custom Styles */
/* stylelint-disable */

/* Import Instrument Sans from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&display=swap');

:root {
    /* Fluency Brand Colors */
    --colorPrimary900: #0005CC;
    --colorPrimary600: #3338E0;
    
    /* Extended Palette */
    --colorWhite: #FFFFFF;
    --colorLightGray: #F4F4F5;
    --colorBlack: #000000;
    --colorBlue: #0005CC;
    
    /* Layout */
    --widthMaxJobBoard: 900px;
    
    /* Border Radius - Sharp edges */
    --borderRadiusContainer: 0;
    --borderRadiusControl: 0;
    --borderRadiusButton: 0;
    
    /* Typography */
    --fontFamily: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    
    /* Background */
    --colorAppBackground: #FFFFFF;
}

/* ===== GLOBAL TYPOGRAPHY ===== */
body {
    font-family: var(--fontFamily);
    color: var(--colorBlack);
    background-color: var(--colorWhite);
    -webkit-font-smoothing: antialiased;
}

/* ===== JOB BOARD HEADER ===== */
.ashby-job-board-heading {
    font-family: var(--fontFamily);
    font-weight: 600;
    font-size: 2rem;
    color: var(--colorBlack);
    letter-spacing: -0.02em;
}

.ashby-job-board-heading-count {
    font-weight: 400;
    color: #71717A;
    font-size: 1rem;
}

/* ===== FILTERS ===== */
.ashby-job-board-filters-label {
    font-family: var(--fontFamily);
    font-weight: 500;
    color: var(--colorBlack);
    font-size: 0.875rem;
}

.ashby-job-board-filter {
    font-family: var(--fontFamily);
    border: 1px solid #E4E4E7;
    border-radius: 0;
    background-color: var(--colorWhite);
    transition: border-color 0.15s ease;
}

.ashby-job-board-filter:hover {
    border-color: #A1A1AA;
}

.ashby-job-board-filter:focus {
    border-color: #71717A;
    outline: none;
}

.ashby-job-board-reset-filters-label {
    font-family: var(--fontFamily);
    font-weight: 500;
    color: var(--colorBlue);
    font-size: 0.875rem;
    cursor: pointer;
    transition: opacity 0.15s ease;
}

.ashby-job-board-reset-filters-label:hover {
    opacity: 0.8;
}

/* ===== DEPARTMENT HEADINGS ===== */
.ashby-department-heading {
    font-family: var(--fontFamily);
    font-weight: 600;
    font-size: 1.25rem;
    color: var(--colorBlack);
    letter-spacing: -0.01em;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #E4E4E7;
    margin-bottom: 1rem;
}

.ashby-department-heading-level {
    font-family: var(--fontFamily);
    font-weight: 500;
    font-size: 1rem;
    color: #52525B;
}

/* ===== JOB POSTING CARDS ===== */
.ashby-job-posting-brief {
    margin-bottom: 8px;
    padding: 1rem 1.25rem;
    background-color: var(--colorWhite);
    border: none;
    border-radius: 0;
    transition: background-color 0.15s ease;
}

.ashby-job-posting-brief:hover {
    background-color: var(--colorLightGray);
}

.ashby-job-posting-brief-title {
    font-family: var(--fontFamily);
    font-weight: 500;
    font-size: 1rem;
    color: var(--colorBlack);
    transition: color 0.15s ease;
}

.ashby-job-posting-brief:hover .ashby-job-posting-brief-title {
    color: var(--colorBlack);
}

.ashby-job-posting-brief-details {
    font-family: var(--fontFamily);
    font-weight: 400;
    font-size: 0.875rem;
    color: #71717A;
}

.ashby-job-posting-brief-department-heading {
    font-family: var(--fontFamily);
    font-weight: 600;
    color: var(--colorBlack);
}

.ashby-job-posting-brief-department-heading-level {
    font-family: var(--fontFamily);
    font-weight: 500;
    color: #52525B;
}

/* ===== JOB POSTING PAGE ===== */
.ashby-job-posting-header {
    font-family: var(--fontFamily);
}

.ashby-job-posting-heading {
    font-family: var(--fontFamily);
    font-weight: 600;
    font-size: 1.75rem;
    color: var(--colorBlack);
    letter-spacing: -0.02em;
}

.ashby-job-board-back-to-all-jobs-button {
    font-family: var(--fontFamily);
    font-weight: 500;
    font-size: 0.875rem;
    color: var(--colorBlue);
    transition: opacity 0.15s ease;
}

.ashby-job-board-back-to-all-jobs-button:hover {
    opacity: 0.8;
}

.ashby-job-posting-left-pane {
    font-family: var(--fontFamily);
}

.ashby-job-posting-right-pane {
    font-family: var(--fontFamily);
}

/* ===== TABS ===== */
.ashby-job-posting-right-pane-tab-slider {
    font-family: var(--fontFamily);
    font-weight: 500;
}

.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab {
    font-family: var(--fontFamily);
    transition: color 0.15s ease;
}

/* ===== APPLICATION FORM ===== */
.ashby-application-form-container {
    font-family: var(--fontFamily);
}

.ashby-application-form-section-container {
    margin-bottom: 2rem;
}

.ashby-application-form-section-header {
    margin-bottom: 1.5rem;
}

.ashby-application-form-section-header-title {
    font-family: var(--fontFamily);
    font-weight: 600;
    font-size: 1.125rem;
    color: var(--colorBlack);
    letter-spacing: -0.01em;
}

.ashby-application-form-section-header-description {
    font-family: var(--fontFamily);
    font-weight: 400;
    font-size: 0.875rem;
    color: #71717A;
    margin-top: 0.5rem;
}

.ashby-application-form-question-title {
    font-family: var(--fontFamily);
    font-weight: 500;
    font-size: 0.875rem;
    color: var(--colorBlack);
}

.ashby-application-form-question-description {
    font-family: var(--fontFamily);
    font-weight: 400;
    font-size: 0.8125rem;
    color: #71717A;
}

.ashby-application-form-field-entry {
    margin-bottom: 1.25rem;
}

/* ===== FORM INPUTS (via CSS variables) ===== */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
textarea,
select {
    font-family: var(--fontFamily);
    border: 1px solid #E4E4E7;
    border-radius: 0;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
    border-color: #71717A;
    outline: none;
}

/* ===== SUBMIT BUTTON ===== */
.ashby-application-form-submit-button {
    font-family: var(--fontFamily);
    font-weight: 500;
    font-size: 0.9375rem;
    background-color: var(--colorBlue);
    color: var(--colorWhite);
    border: none;
    border-radius: 0;
    padding: 0.75rem 1.5rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.ashby-application-form-submit-button:hover {
    background-color: #0004A8;
}

.ashby-application-form-submit-button:active {
    background-color: #000380;
}

/* ===== AUTOFILL / RESUME UPLOAD ===== */
.ashby-application-form-autofill-pane {
    font-family: var(--fontFamily);
}

.ashby-application-form-autofill-input-root {
    border: 2px dashed #E4E4E7;
    border-radius: 0;
    background-color: var(--colorLightGray);
    transition: all 0.15s ease;
}

.ashby-application-form-autofill-input-root:hover {
    border-color: #A1A1AA;
    background-color: rgba(0, 0, 0, 0.02);
}

.ashby-application-form-autofill-input-root[data-state="drag"] {
    border-color: #71717A;
    background-color: rgba(0, 0, 0, 0.04);
}

.ashby-application-form-autofill-input-title {
    font-family: var(--fontFamily);
    font-weight: 500;
    color: var(--colorBlack);
}

.ashby-application-form-autofill-input-description {
    font-family: var(--fontFamily);
    font-weight: 400;
    font-size: 0.875rem;
    color: #71717A;
}

.ashby-application-form-autofill-input-icon {
    color: var(--colorBlack);
}

.ashby-application-form-autofill-input-form-alert[data-highlight="positive"] {
    color: #16A34A;
}

.ashby-application-form-autofill-input-form-alert[data-highlight="negative"] {
    color: #DC2626;
}

/* ===== SUCCESS / FAILURE STATES ===== */
.ashby-application-form-success-container {
    font-family: var(--fontFamily);
    background-color: var(--colorLightGray);
    border-radius: 0;
    padding: 2rem;
    text-align: center;
}

.ashby-application-form-failure-container {
    font-family: var(--fontFamily);
    background-color: #FEF2F2;
    border: 1px solid #FECACA;
    border-radius: 0;
    padding: 2rem;
}

.ashby-application-form-blocked-application-container {
    font-family: var(--fontFamily);
    background-color: var(--colorLightGray);
    border-radius: 0;
    padding: 2rem;
}

/* ===== TEXTING CONSENT ===== */
.ashby-application-form-texting-consent-description {
    font-family: var(--fontFamily);
    font-size: 0.75rem;
    color: #71717A;
}

/* ===== SURVEY FORM ===== */
.ashby-survey-form-container {
    font-family: var(--fontFamily);
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #E4E4E7;
}
