/* Shared desktop type scale. Keep mobile layouts and the BA full-text exception intact.
   Deliberately target UI components, never all descendants or imported descriptions. */
@media (min-width: 992px) {
    body.portal-public-page { font-size: 16px; }

    /* Navigation and footer */
    .portal-public-page .portal-home-desktop-nav > a,
    .portal-public-page .portal-home-more summary,
    .portal-public-page .portal-home-more a,
    .portal-public-page .portal-home-login,
    .portal-public-page .portal-home-mobile-nav :is(summary,a),
    .portal-public-page .portal-home-button-small,
    .portal-account-page .navbar-portal .nav-link,
    .portal-account-page .top-nav-user-name-field { font-size: 14px; }
    .portal-public-page .portal-home-announcement,
    .portal-account-page #top-header { font-size: 14px; }
    .portal-public-page .portal-home-logo > span { font-size: 12px; }
    .portal-public-page .portal-footer .nav-link { font-size: 15px; }
    .portal-public-page .portal-footer .footer-heading,
    .portal-public-page .portal-footer .footer-copy,
    .portal-public-page .portal-footer-eyebrow { font-size: 13px; }

    /* Homepage search, cards and explanatory copy */
    .portal-home-page .portal-home-eyebrow,
    .portal-home-page .portal-home-kicker { font-size: 13px; }
    .portal-home-page .portal-home-field-label { font-size: 13px; }
    .portal-home-page .portal-home-search input:not([type=hidden]) { font-size: 16px; }
    .portal-home-page .portal-home-search-tabs a,
    .portal-home-page .portal-home-directory > a > span,
    .portal-home-page .portal-home-section-heading > a { font-size: 15px; }
    .portal-home-page :is(.portal-home-suggestions,.portal-home-software),
    .portal-home-page .portal-home-directory small,
    .portal-home-page .portal-home-application-note,
    .portal-home-page .portal-home-application-note p { font-size: 14px; }
    .portal-home-page .portal-home-cards .card-body > .row > .col,
    .portal-home-page .portal-home-cards .card-body .pe-5,
    .portal-home-page .portal-home-employer-teaser > span:last-child,
    .portal-home-page .portal-home-audience li,
    .portal-home-page .portal-home-steps li p { font-size: 15px; line-height: 1.8; }
    .portal-home-page .portal-home-cards .fs-6 { font-size: 14px !important; }
    .portal-home-page .portal-home-cards :is(.badge,.topjob-badge) { font-size: 13px; }
    .portal-home-page .portal-home-cards .stepstone-btn,
    .portal-home-page .portal-home-audience > .portal-home-button { font-size: 14px; }

    /* Shared public lists */
    .portal-offer-list-page .portal-jobs-breadcrumb,
    .portal-offer-list-page .portal-jobs-kicker { font-size: 13px; }
    .portal-offer-list-page .portal-jobs-lead { font-size: 16px; line-height: 1.8; }
    .portal-offer-list-page .portal-search-page label { font-size: 14px; }
    .portal-offer-list-page .portal-search-page :is(.form-control,.form-select),
    .portal-offer-list-page .portal-search-page .bootstrap-select .dropdown-toggle { font-size: 15px; }
    .portal-offer-list-page .portal-search-page .portal-search-checkbox,
    .portal-offer-list-page .portal-search-more > summary,
    .portal-offer-list-page .portal-search-submit,
    .portal-offer-list-page .portal-search-apply a,
    .portal-offer-list-page .portal-search-profile-hint,
    .portal-offer-list-page .portal-search-pagination,
    .portal-offer-list-page .portal-search-pagination .btn { font-size: 14px; }
    .portal-offer-list-page .portal-search-geo-credit { font-size: 13px; }
    .portal-offer-list-page .card-company .card-body > .row > .col,
    .portal-offer-list-page .card-company .pe-5 { font-size: 15px; line-height: 1.8; }
    .portal-offer-list-page .card-company .fs-6 { font-size: 14px !important; }
    .portal-offer-list-page .card-company .badge,
    .portal-offer-list-page .topjob-badge { font-size: 13px; }
    .portal-offer-list-page .stepstone-btn { font-size: 14px; }

    /* Details and other portal content. No descendant color rule for BA text. */
    .portal-offer-detail-page .card .card-body,
    .portal-offer-detail-page .portal-detail-summary .card-body > .row > .col,
    .portal-public-page .portal-rest-content,
    .portal-public-page .portal-rest-content .card .card-body,
    .portal-public-page .modal-body { font-size: 16px; line-height: 1.8; }
    .portal-offer-detail-page .breadcrumb,
    .portal-offer-detail-page .portal-detail-kicker { font-size: 13px; }
    .portal-offer-detail-page .card .fs-6,
    .portal-offer-detail-page .portal-detail-related .fs-6 { font-size: 14px !important; }
    .portal-offer-detail-page .card .badge,
    .portal-offer-detail-page .portal-detail-related .card .badge,
    .portal-offer-detail-page .topjob-badge { font-size: 13px !important; }
    .portal-offer-detail-page .portal-job-description > summary,
    .portal-offer-detail-page .portal-detail-main .btn,
    .portal-offer-detail-page .portal-detail-related .btn,
    .portal-public-page .portal-rest-content .btn { font-size: 14px; }

    /* Personal pages: consistent labels, readable fields and supporting text */
    .portal-account-page .portal-account-navigation a { font-size: 14px; }
    .portal-account-page :is(.portal-account-sidebar-label,.portal-account-eyebrow,.portal-account-count) { font-size: 13px; }
    .portal-account-page .portal-account-frame .portal-account-content { font-size: 16px; }
    .portal-account-page .portal-account-heading p,
    .portal-account-page .portal-account-welcome p { font-size: 16px; }
    .portal-public-page :is(.portal-rest-content,.modal) .input-group-header,
    .portal-account-page :is(.portal-account-content,.modal) .input-group-header { font-size: 14px; }
    .portal-public-page :is(.portal-rest-content,.modal) :is(.form-control,.form-select,.bootstrap-select > .dropdown-toggle),
    .portal-account-page :is(.portal-account-content,.modal) :is(.form-control,.form-select,.bootstrap-select > .dropdown-toggle) { font-size: 16px; }
    .portal-account-page :is(.portal-account-content,.modal) :is(.input-group-text,.invalid-feedback,.help-block.form-error),
    .portal-account-page .portal-account-content :is(small,.badge),
    .portal-public-page .portal-rest-content .nav-tabs .nav-link { font-size: 14px; }
    .portal-account-page .portal-account-content .alert,
    .portal-account-page .portal-account-content .widgetPlaceholderText,
    .portal-account-page .portal-account-content .portal-account-dashboard .portal_tile_text { font-size: 15px; line-height: 1.8; }
    .portal-account-page .portal-account-content .portal-account-dashboard .portal_tile_title { font-size: 17px; }
    .portal-account-page .portal-account-dashboard .d-inline-block > .mt-2 { font-size: 14px !important; }
    .portal-account-page .portal-account-content .card .card-header { font-size: 16px; }
    .portal-account-page .portal-account-content .btn,
    .portal-account-page .portal-account-content .portal-applications-actions .btn,
    .portal-account-page .portal-table-view-options summary { font-size: 14px; }
    .portal-account-page .portal-account-content .status_color_purple { color: #6350a3 !important; }
    .portal-account-page .portal-account-content .status_color_blue { color: #17638c !important; }
    .portal-account-page .portal-account-content .status_color_red { color: #a22920 !important; }
    .portal-account-page .portal-account-content .status_color_green { color: #067556 !important; }
    .portal-account-page .portal-account-content .status_color_orange { color: #865716 !important; }

    /* Native tables retain original controls, sorting and responsive card mode. */
    .portal-account-page .portal-account-content table.table,
    .portal-account-page table.portal-native-table > :not(caption) > * > td { font-size: 15px; }
    .portal-account-page .portal-account-content table.table thead th,
    .portal-account-page table.portal-native-table th { font-size: 13px; white-space: normal; }
    .portal-account-page .portal-table-toolbar label,
    .portal-account-page .portal-table-info,
    .portal-account-page .portal-table-pagination,
    .portal-account-page .portal-table-select-all-label { font-size: 14px; }
    .portal-account-page .portal-table-toolbar :is(input,select) { font-size: 16px; }
    .portal-account-page .portal-application-filter-choice { font-size: 14px; }
    .portal-account-page .portal-native-table tbody td::before,
    .portal-account-page .portal-native-table .portal-table-details,
    .portal-account-page .portal-application-direction a,
    .portal-account-page .portal-application-status > a { font-size: 13px; }
    .portal-account-page #advertiseApplicationTable.portal-native-table .portal-application-actions .btn { font-size: 14px; }

    /* Legacy utility classes declare their size important; override only UI text. */
    body.portal-public-page :is(.portal-home-cards,.portal-search-page) .card-company .badge,
    body.portal-account-page .portal-account-content .badge { font-size: 13px !important; }
    body.portal-public-page :is(.portal-rest-content,.modal,.portal-detail-container) .btn { font-size: 14px !important; }
    body.portal-offer-list-page [data-portal-filter-count] { font-size: 13px; }
}
