/* ==========================================================================
   AroJobs custom overrides
   Loaded AFTER style.css AND style.integration.css (last in <head>), so these
   rules win. Additive/mobile-first. Safe to redeploy: source copy lives at
   platform/themes/jobbox/public/css/custom-overrides.css
   ========================================================================== */

/* --- Re-enable numbered pagination (was hidden site-wide by legacy custom CSS,
       with no infinite-scroll replacement -> users were stuck on page 1) --- */
.paginations .pager {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 4px;
    padding: 0;
}
.paginations .pager li a.pager-number {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    position: relative;
}

/* --- Global horizontal-overflow guard (stops full-page sideways scroll on mobile).
       Use overflow-x:clip (not hidden) so it never traps position:sticky. --- */
.main { overflow-x: clip; }
@supports not (overflow: clip) { .main { overflow-x: hidden; } }

/* --- Job description body: contain admin-pasted wide tables / media / long words --- */
.content-single { overflow-wrap: break-word; word-wrap: break-word; }
.content-single img,
.content-single video,
.content-single iframe,
.content-single embed { max-width: 100%; height: auto; }
.content-single table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.content-single pre { white-space: pre-wrap; word-break: break-word; overflow-x: auto; }

/* --- AdSense: cap width so ad units never trigger horizontal scroll --- */
ins.adsbygoogle { display: block; max-width: 100%; overflow: hidden; }
.content-single ins.adsbygoogle { margin: 16px auto; }

/* --- Tap targets: minimum 44x44 on touch controls --- */
/* Burger: enlarge hit area with a transparent pseudo-element (bars don't move) */
.burger-icon { position: relative; }
.burger-icon::before {
    content: "";
    position: absolute;
    top: -13px; right: -12px; bottom: -13px; left: -12px;
    z-index: 1;
}
/* Save-job bookmark (logged-in users) */
.job-bookmark-saved .job-bookmark-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    vertical-align: middle;
}

/* --- Filter sidebar: taller, thumb-friendly checkbox rows on tablet/phone --- */
@media (max-width: 991.98px) {
    .sidebar-filters .cb-container { min-height: 40px; padding-top: 9px; padding-bottom: 9px; line-height: 22px; }
    .sidebar-filters .checkmark { top: 8px; }
}

/* --- Mobile drawer never wider than the viewport on small phones (<=375px) --- */
.mobile-header-wrapper-style { width: min(380px, 90vw); max-width: 100vw; }

/* --- Minimum legible utility fonts on phones --- */
@media (max-width: 575.98px) {
    .font-xxs { font-size: 11px !important; }
    .font-xs, .text-small { font-size: 13px !important; }
}

/* --- Mobile: make the (visible) bottom Apply button full-width & prominent --- */
@media (max-width: 767.98px) {
    .single-apply-jobs .col-md-5 { width: 100%; margin-bottom: 12px; }
    .single-apply-jobs .btn-default { width: 100%; margin: 0; text-align: center; }
}
