/* Frontend text actions only. Native selectors also cover AJAX markup immediately.
 * Page styles own width, margins and placement; this file owns variants and sizes.
 * Editor tools/tabs, toggles, icon-only controls, provider-branded and destructive
 * actions deliberately have no alias here. New markup can use pa-button classes.
 * Header login/register retain their Elementor appearance and header.css layout.
 * Explicit exclusions also protect them if shared classes are added later. */
body.promoakce-frontend :is(
    .pa-button,
    .pa-button--primary,
    .elementor-377 :is(.elementor-element-00ab7f6,.elementor-element-91ac8b0) .elementor-button,
    .elementor-976 .elementor-button,
    .careerfy-packages-priceplane-btn,
    #wpforms-submit-986,
    #JobSearchModalLogin input[type=submit],
    .jobsearch-login-box :is(input[type=submit],.jobsearch-login-submit-btn,.jobsearch-reset-password-submit-btn,.jobsearch-register-submit-btn),
    .jobsearch-employer-profile-submit,
    .jobsearch-candidate-profile-submit,
    .jobsearch-postjob-btn,
    .pa-profile-actions > input[type=submit],
    .jobsearch-add-popup input[type=submit],
    .jobearch-replyemail-submitbtn,
    .reply-review-submit,
    .jobsearch_box_contact_form input[type=submit],
    .jobsearch-applyjob-btn:not(.jobsearch-applyjob-google-btn),
    .pa-candidate-actions .jobsearch-candidate-download-btn,
    .jobalert-submit,
    .pa-public-jobs-index .jobsearch-banner-submit button,
    .add-new-applyquestbtn,
    .aplics-mnemp-filterbtn,
    .show-applyjob-questsbtn,
    .jobsearch-featureto-job:not(.job-is-fetured),
    .promoakce-media-use,
    .woocommerce :is(a.button,button.button,input.button):not(.remove):not(.cancel),
    .wc-block-components-checkout-place-order-button,
    .pa-button--secondary,
    .elementor-377 :is(.elementor-element-267aaf6,.elementor-element-762954c,.elementor-element-b6c709f) .elementor-button,
    .elementor-976 .elementor-element-e60d87f .elementor-button,
    .jobsearch-fileUpload,
    .wp-media-buttons .button,
    .pa-job-draft-save,
    .jobsearch-repblishin-jobtn,
    .pa-job-draft-resume,
    .jobsearch-empmember-add-popup,
    .jobsearch-add-more-imgs,
    .jobsearch-resume-addbtn,
    .pa-favourite-control:not(.pa-favourite-actions .pa-favourite-control,.pa-job-list-favourite),
    .pa-public-job .pa-job-secondary-actions > a,
    .pa-public-job .jobsearch-sendmessage-btn,
    .jobsearch_box_view_jobs_btn,
    .pa-public-job .file-download-btn,
    .open-listin-mobfiltrs,
    .jobsearch-rssfeed-btn,
    .pa-public-profile :is(.jobsearch-employerdetail-btn,.jobsearch-candinvite-btn,.jobsearch-cand-details-btns a):not(.jobsearch-candidate-download-btn),
    .lodmore-empactjobs-btn,
    .load-more-team,
    .pa-candidate-list :is(.allplics-export-excel,.more-actions,.preview-candidate-profile,.lodmore-apps-btn,.lodmore-jobapps-btn,.load-more-shortlisted-cands,.load-more-rejected-cands,.jobsearch-cand-export-excel-applcnts,.jobsearch-cand-export-pdf-applcnts,.applicnts-view-btn),
    .pa-reviews .reply-review,
    .promoakce-media-more,
    .promoakce-media-drop > label.button
):not(:where(.elementor-location-header :is(.login-button,.register-button))) {
    --pa-button-control: 1;
    display:inline-flex; box-sizing:border-box; align-items:center; justify-content:center;
    gap:var(--pa-button-icon-gap); min-height:var(--pa-btn-height)!important; height:auto;
    max-width:100%; padding:var(--pa-btn-padding)!important;
    border:1px solid var(--pa-btn-border)!important; border-radius:var(--pa-button-radius)!important;
    background:var(--pa-btn-bg)!important; color:var(--pa-btn-fg)!important;
    font-family:var(--pa-button-font-family)!important; font-size:var(--pa-btn-font-size)!important;
    font-weight:600!important; line-height:22px!important; letter-spacing:normal!important;
    text-align:center; text-transform:none!important; text-decoration:none!important;
    white-space:normal; overflow-wrap:anywhere; vertical-align:middle;
    box-shadow:none; text-shadow:none; filter:none; transform:none!important; cursor:pointer;
    transition:none!important; animation:none!important;

    &::before, &::after, & :is(span,i,svg), & :is(span,i)::before, & :is(span,i)::after {
        transition:none!important; animation:none!important;
    }
    & :is(span,i,svg) { color:inherit!important; }
    & > i, & > svg, & > span > i, & > span > svg {
        flex-shrink:0; vertical-align:middle; margin:0; line-height:1;
    }
    & > i, & > span > i { display:inline-flex; align-items:center; justify-content:center; width:var(--pa-button-icon-size); height:var(--pa-button-icon-size); font-size:var(--pa-button-icon-size)!important; line-height:1!important; }
    & .elementor-button-content-wrapper { display:flex; align-items:center; gap:var(--pa-button-icon-gap); }
    & .elementor-button-icon { display:inline-flex; align-items:center; margin:0; }
    & .elementor-button-icon svg { fill:currentColor; }
    &:is(:hover,:active) {
        background:var(--pa-btn-hover-bg)!important; border-color:var(--pa-btn-hover-border)!important;
        color:var(--pa-btn-fg)!important; box-shadow:none; filter:none; transform:none;
    }
    &:focus-visible, &:has(input[type=file]:focus-visible) {
        outline:3px solid var(--pa-button-focus)!important; outline-offset:3px; box-shadow:none;
    }
    &:is(:disabled,[aria-disabled=true],.disabled,.jobsearch-disable-btn), &:has(input[type=file]:disabled) {
        background:var(--pa-button-disabled-bg)!important; color:var(--pa-button-disabled-fg)!important;
        border-color:var(--pa-button-disabled-border)!important; opacity:1; cursor:not-allowed; box-shadow:none;
    }
    &:is(.pa-invalid-control,[aria-invalid=true]) { border-color:var(--pa-color-error)!important; }
}

/* Variant aliases share the very same hover/active/disabled declarations above. */
body.promoakce-frontend :is(
    .pa-button--secondary,
    .elementor-377 :is(.elementor-element-267aaf6,.elementor-element-762954c,.elementor-element-b6c709f) .elementor-button,
    .elementor-976 .elementor-element-e60d87f .elementor-button,
    .jobsearch-fileUpload,
    .wp-media-buttons .button,
    .pa-job-draft-save,
    .jobsearch-repblishin-jobtn,
    .pa-job-draft-resume,
    .jobsearch-empmember-add-popup,
    .jobsearch-add-more-imgs,
    .jobsearch-resume-addbtn,
    .pa-favourite-control:not(.pa-favourite-actions .pa-favourite-control,.pa-job-list-favourite),
    .pa-public-job .pa-job-secondary-actions > a,
    .pa-public-job .jobsearch-sendmessage-btn,
    .jobsearch_box_view_jobs_btn,
    .pa-public-job .file-download-btn,
    .open-listin-mobfiltrs,
    .jobsearch-rssfeed-btn,
    .pa-public-profile :is(.jobsearch-employerdetail-btn,.jobsearch-candinvite-btn,.jobsearch-cand-details-btns a):not(.jobsearch-candidate-download-btn),
    .lodmore-empactjobs-btn,
    .load-more-team,
    .pa-candidate-list :is(.allplics-export-excel,.more-actions,.preview-candidate-profile,.lodmore-apps-btn,.lodmore-jobapps-btn,.load-more-shortlisted-cands,.load-more-rejected-cands,.jobsearch-cand-export-excel-applcnts,.jobsearch-cand-export-pdf-applcnts,.applicnts-view-btn),
    .pa-reviews .reply-review,
    .promoakce-media-more,
    .promoakce-media-drop > label.button
):not(:where(.elementor-location-header :is(.login-button,.register-button))) {
    --pa-btn-bg:#fff;
    --pa-btn-fg:var(--pa-button-primary);
    --pa-btn-hover-bg:var(--pa-button-secondary-hover);
    --pa-btn-hover-border:var(--pa-button-primary);
}
body.promoakce-frontend :is(
    .pa-button--large,
    .pa-public-jobs-index .jobsearch-banner-submit button,
    #JobSearchModalLogin input[type=submit],
    .jobsearch-login-box input[type=submit],
    .jobsearch-employer-profile-submit,
    .jobsearch-candidate-profile-submit,
    .jobsearch-postjob-btn,
    .pa-profile-actions > input[type=submit],
    .pa-job-draft-save,
    .jobsearch-repblishin-jobtn,
    .jobsearch-applyjob-btn:not(.jobsearch-applyjob-google-btn),
    .jobsearch_box_contact_form input[type=submit],
    .aplics-mnemp-filterbtn,
    .woocommerce :is(a.button,button.button,input.button):not(.remove):not(.cancel),
    .wc-block-components-checkout-place-order-button,
    .elementor-976 .elementor-button,
    .careerfy-packages-priceplane-btn,
    #wpforms-submit-986
):not(:where(.elementor-location-header :is(.login-button,.register-button))) {
    --pa-btn-height:var(--pa-button-height-large);
    --pa-btn-padding:var(--pa-button-padding-large);
    --pa-btn-font-size:var(--pa-button-font-size-large);
}
body.promoakce-frontend :is(.pa-button--compact,.pa-job-draft-resume,.reply-review-submit,.pa-reviews .reply-review):not(:where(.elementor-location-header :is(.login-button,.register-button))) {
    --pa-btn-height:var(--pa-button-height-compact);
    --pa-btn-padding:var(--pa-button-padding-compact);
}
/* Transparent upload labels must not paint over their wrapper's state. */
body.promoakce-frontend .jobsearch-fileUpload > span { background:transparent!important; }

body.promoakce-frontend .jobsearch-fileUpload-info { font-weight:400; }
