/**
 * JobBricks — unified frontend buttons (admin excluded)
 */
:root {
    --jw-ui-primary: #0a65cc;
    --jw-ui-primary-hover: #084fa3;
    --jw-ui-primary-soft: #eff6ff;
    --jw-ui-btn-min-height: 40px;
    --jw-ui-btn-padding-y: 10px;
    --jw-ui-btn-padding-x: 16px;
    --jw-ui-btn-font-size: 13px;
    --jw-ui-btn-font-weight: 700;
    --jw-ui-btn-radius: 8px;
    --jw-ui-btn-line-height: 1.2;
    --jw-ui-nav-btn-padding-y: 8px;
    --jw-ui-nav-btn-padding-x: 14px;
    --jw-ui-nav-btn-font-size: 12px;
    --jw-ui-nav-btn-font-weight: 500;
    --jw-ui-nav-btn-radius: 10px;
}

/* Core button component (available on landing + app) */
.jw-employer-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: var(--jw-ui-btn-min-height);
    padding: var(--jw-ui-btn-padding-y) var(--jw-ui-btn-padding-x);
    border-radius: var(--jw-ui-btn-radius);
    font-size: var(--jw-ui-btn-font-size);
    font-weight: var(--jw-ui-btn-font-weight);
    line-height: var(--jw-ui-btn-line-height);
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease, color 0.18s ease;
    white-space: nowrap;
    box-sizing: border-box;
}

.jw-employer-btn--primary {
    background: var(--jw-ui-primary);
    color: #fff;
    box-shadow: 0 4px 14px rgba(10, 101, 204, 0.28);
}

.jw-employer-btn--primary:hover,
.jw-employer-btn--primary:focus {
    background: var(--jw-ui-primary-hover);
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(10, 101, 204, 0.32);
}

.jw-employer-btn--ghost {
    color: var(--jw-ui-primary) !important;
    border: 1px solid var(--jw-ui-primary);
    background: #fff;
    box-shadow: none;
}

.jw-employer-btn--ghost:hover,
.jw-employer-btn--ghost:focus {
    background: var(--jw-ui-primary-soft);
    color: var(--jw-ui-primary) !important;
    border-color: #bfdbfe;
    text-decoration: none;
    transform: none;
    box-shadow: none;
}

.jw-employer-btn--outline {
    background: #fff;
    color: var(--jw-ui-primary);
    border: 1px solid #bfdbfe;
    box-shadow: none;
}

.jw-employer-btn--outline:hover,
.jw-employer-btn--outline:focus {
    background: var(--jw-ui-primary-soft);
    color: var(--jw-ui-primary-hover);
    border-color: #93c5fd;
    text-decoration: none;
    transform: none;
    box-shadow: none;
}

.jw-employer-empty .jw-employer-btn {
    background: var(--jw-ui-primary-soft);
    color: var(--jw-ui-primary);
    box-shadow: none;
    border: 1px dashed var(--jw-ui-primary);
}

/* Header Post a Job — same on home + app */
.jb-nav-links li a.jw-employer-btn,
.jb-nav.scrolled .jb-nav-links li a.jw-employer-btn,
.jb-nav.menu-open .jb-nav-links li a.jw-employer-btn,
.jb-nav a.jw-employer-btn,
.jb-nav-actions a.jw-employer-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: auto;
    padding: var(--jw-ui-nav-btn-padding-y) var(--jw-ui-nav-btn-padding-x) !important;
    font-size: var(--jw-ui-nav-btn-font-size) !important;
    font-weight: var(--jw-ui-nav-btn-font-weight) !important;
    line-height: 1.25;
    border-radius: var(--jw-ui-nav-btn-radius) !important;
    box-sizing: border-box;
    text-decoration: none !important;
    opacity: 1 !important;
}

.jb-nav-links li a.jw-employer-btn:hover,
.jb-nav-links li a.jw-employer-btn:focus,
.jb-nav.scrolled .jb-nav-links li a.jw-employer-btn:hover,
.jb-nav.scrolled .jb-nav-links li a.jw-employer-btn:focus {
    background: var(--jw-ui-primary-soft) !important;
    opacity: 1 !important;
}

body:not(.page-header-fixed):not(.login) :is(
    .jw-employer-btn,
    .jw-cd-btn,
    .jw-cs-pro-card__cta,
    .jw-ep-cs-btn-view-profile,
    .jw-ep-cs-sidebar__clear,
    .jp-btn-continue,
    .jp-btn-back,
    .jp-btn-draft,
    .jp-btn-asset-save,
    .jp-preview-v2__edit-btn,
    .jb-btn-outline,
    .jb-btn-primary,
    .jb-btn-link,
    .jb-btn-soft,
    .jb-apply-btn,
    .jw-joblist-apply-btn,
    .jw-jobs-empty-btn,
    .jw-jobs-find-btn,
    .jw-company-card__follow-btn,
    .jw-submit,
    .jw-cookie-consent__btn,
    .jw-btn-primary,
    .jw-btn-outline,
    .jw-btn-save,
    .jw-btn-cancel,
    .jb-search-btn,
    .rb-header-btn--primary,
    .rb-header-btn--outline,
    .rb-editor-page .rb-btn,
    .btn.btn-primary,
    input.btn.btn-primary,
    button.btn.btn-primary
):not(.btn-xs):not(.btn-sm):not(.btn-lg):not(.btn-link):not(.jp-info-btn):not(.jp-info-btn--inline):not(.rb-btn--xs):not(.rb-btn--icon):not(.rb-btn--sm) {
    min-height: var(--jw-ui-btn-min-height);
    padding: var(--jw-ui-btn-padding-y) var(--jw-ui-btn-padding-x);
    font-size: var(--jw-ui-btn-font-size);
    font-weight: var(--jw-ui-btn-font-weight);
    line-height: var(--jw-ui-btn-line-height);
    border-radius: var(--jw-ui-btn-radius);
    box-sizing: border-box;
}

body:not(.page-header-fixed):not(.login) :is(
    .jw-ep-cs-sidebar__clear,
    .jb-btn-outline,
    .jb-btn-link,
    .jb-btn-soft,
    .jw-submit,
    .jw-cookie-consent__btn,
    .jw-btn-primary,
    .jw-btn-outline,
    .jw-btn-save,
    .jw-btn-cancel,
    .jb-search-btn,
    .rb-header-btn--outline,
    .rb-editor-page .rb-btn
) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body:not(.page-header-fixed):not(.login) .jw-joblist-card .jw-joblist-apply-btn:not(.jb-apply-btn--applied):not(.jw-joblist-apply-btn--applied) {
    min-height: var(--jw-ui-btn-min-height);
    height: auto;
    padding: var(--jw-ui-btn-padding-y) var(--jw-ui-btn-padding-x);
    font-size: var(--jw-ui-btn-font-size);
    font-weight: var(--jw-ui-btn-font-weight);
    border-radius: var(--jw-ui-btn-radius);
}

body:not(.page-header-fixed):not(.login) .btn.btn-primary,
body:not(.page-header-fixed):not(.login) input.btn.btn-primary,
body:not(.page-header-fixed):not(.login) button.btn.btn-primary,
body:not(.page-header-fixed):not(.login) .jw-btn-primary,
body:not(.page-header-fixed):not(.login) .jw-btn-save {
    background: var(--jw-ui-primary);
    border-color: var(--jw-ui-primary);
    color: #fff;
}

body:not(.page-header-fixed):not(.login) .btn.btn-primary:hover,
body:not(.page-header-fixed):not(.login) .btn.btn-primary:focus,
body:not(.page-header-fixed):not(.login) input.btn.btn-primary:hover,
body:not(.page-header-fixed):not(.login) input.btn.btn-primary:focus,
body:not(.page-header-fixed):not(.login) button.btn.btn-primary:hover,
body:not(.page-header-fixed):not(.login) button.btn.btn-primary:focus,
body:not(.page-header-fixed):not(.login) .jw-btn-primary:hover,
body:not(.page-header-fixed):not(.login) .jw-btn-save:hover {
    background: var(--jw-ui-primary-hover);
    border-color: var(--jw-ui-primary-hover);
    color: #fff;
}

body:not(.page-header-fixed):not(.login) .jb-search-btn {
    background: linear-gradient(135deg, var(--jw-ui-primary), #3b82f6);
    box-shadow: 0 8px 24px rgba(10, 101, 204, 0.25);
}

body:not(.page-header-fixed):not(.login) .jb-search-btn:hover,
body:not(.page-header-fixed):not(.login) .jb-search-btn:focus {
    color: #fff !important;
}

/* Nav CTA keeps compact size */
.jb-nav-links li a.jw-employer-btn,
.jb-nav.scrolled .jb-nav-links li a.jw-employer-btn,
.jb-nav.menu-open .jb-nav-links li a.jw-employer-btn,
.jb-nav a.jw-employer-btn,
.jb-nav-actions a.jw-employer-btn {
    min-height: auto;
    padding: var(--jw-ui-nav-btn-padding-y) var(--jw-ui-nav-btn-padding-x) !important;
    font-size: var(--jw-ui-nav-btn-font-size) !important;
    font-weight: var(--jw-ui-nav-btn-font-weight) !important;
    border-radius: var(--jw-ui-nav-btn-radius) !important;
}
