/*
Theme Name: Sponsor NI
Theme URI: https://sponsorni.co.uk/
Author: Sponsor NI
Description: Clean Sponsor NI sponsorship opportunity marketplace theme converted from Jobtex. Creates Sponsor NI pages, navigation, categories, county filters, messaging and secure sponsorship payment hooks.
Version: 1.38.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: sponsorship, marketplace, opportunities, northern-ireland, job-board
Text Domain: jobtex
*/
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    clear: both;
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 32px 2em;
}
.wp-block-image .alignright{
    margin-left: 2em;
}
.alignleft {
    float: left;
    margin: 5px 2em 32px 0;
}
.wp-block-image .alignleft{
    margin-right: 2em;
}
a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000; /* Above WP toolbar. */
}
.gallery-caption {
    box-sizing: border-box;
}
.bypostauthor{
    box-sizing: border-box;
}
.wp-block-pullquote{
    border:none;
}
.wp-block-archives.aligncenter, .wp-block-categories.aligncenter, .wp-block-latest-posts.aligncenter {
    text-align: center;
}
.wp-block-cover{
    margin-bottom: 28px;
}
.wp-block-embed{
    margin-bottom: 28px;
}
.wp-block-cover.has-background-dim .wp-block-cover-text{
    color: #fff;
}
.wp-block-button {
    margin-top: 15px;
    margin-bottom: 15px;
}
.wp-block-image, .wp-block-gallery {
    margin-bottom: 28px;
}
figcaption {
    margin-top: 15px;
}
#ui-datepicker-div {
    display: none;
}
.sticky-top {
    z-index: 1;
}

.elementor-lightbox .swiper .elementor-swiper-button{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

/* Sponsor NI brand overrides */
:root{--sni-green:#17e077;}
a:hover,.text-theme,.text-primary{color:var(--sni-green)!important;}
.btn-theme,.btn-primary,.button,input[type=submit],.apus-btn-theme{background-color:var(--sni-green)!important;border-color:var(--sni-green)!important;color:#050505!important;}
.bg-theme,.bg-primary{background-color:var(--sni-green)!important;}


/* Sponsor NI v12 social sharing: Facebook, Instagram, X and LinkedIn only. */
.sponsorni-social-share a.instagram,
.share-blog a.instagram,
.share-listing .bo-social-icons a.instagram {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.sponsorni-social-share a.instagram i,
.sponsorni-social-share a.x-twitter i {
    line-height: 1;
}


/* Sponsor NI v14 fixes: proper X logo and restore Plus Jakarta Sans everywhere. */
.sponsorni-social-share a.facebook,
.sponsorni-social-share a.instagram,
.sponsorni-social-share a.x-twitter,
.sponsorni-social-share a.linkedin,
.share-blog a.facebook,
.share-blog a.instagram,
.share-blog a.x-twitter,
.share-blog a.linkedin,
.share-listing .bo-social-icons a.facebook,
.share-listing .bo-social-icons a.instagram,
.share-listing .bo-social-icons a.x-twitter,
.share-listing .bo-social-icons a.linkedin {
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.sponsorni-social-share .sni-x-logo,
.sponsorni-social-share .sni-x-logo svg {
    display:block;
    width:20px;
    height:20px;
    line-height:1;
}
.sponsorni-social-share .sni-x-logo svg {
    fill:currentColor;
}
html, body, button, input, select, optgroup, textarea,
h1, h2, h3, h4, h5, h6,
p, a, li, span, label, small, strong, em,
.btn, .button, .apus-btn, .apus-btn-theme, .btn-theme, .btn-primary,
.site, .wrapper, .main-page, .page-wrapper, .entry-content, .widget,
.elementor-widget, .elementor-widget-container,
.menu, .nav, .navbar-nav > li > a, .title, .widget-title, .page-title, .entry-title {
    font-family: "Plus Jakarta Sans", sans-serif !important;
}


/* Sponsor NI v15 registration improvements. */
.sni-register-wrap{max-width:980px;margin:0 auto 50px;}
.sni-register-intro{margin-bottom:18px;}
.sni-register-tabs{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap;}
.sni-register-tabs a{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;background:#f3f5f4;color:#111;font-weight:700;text-decoration:none;}
.sni-register-tabs a.active{background:#17e077;color:#03110a;}
.sni-register-form h2{margin-top:0;}
.sni-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0;}
.sni-register-form label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:#111;}
.sni-register-form input,.sni-register-form select,.sni-register-form textarea{width:100%;border:1px solid #dfe5e2;border-radius:12px;padding:13px 14px;font:inherit;background:#fff;color:#111;}
.sni-register-form textarea{margin-top:8px;}
.sni-alert{padding:14px 16px;border-radius:12px;margin:14px 0;font-weight:700;}
.sni-alert-error{background:#fff1f1;color:#9b1c1c;border:1px solid #ffd0d0;}
.sni-muted{color:#5d6661;}
.sni-login-under-register{margin-top:22px;}
@media(max-width:760px){.sni-form-grid{grid-template-columns:1fr}.sni-register-tabs a{flex:1 1 100%;}}


/* Sponsor NI v16: improve advanced filter readability and stop category text truncation/overlap. */
.filter-listing-form.horizontal .advance-search-wrapper {
    overflow: visible;
}
.filter-listing-form .advance-search-wrapper-fields .row {
    row-gap: 10px;
}
.filter-listing-form .circle-check .list-item {
    margin-bottom: 14px;
}
.filter-listing-form .circle-check .list-item label {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    display: block;
    line-height: 1.4;
    word-break: break-word;
}
.filter-listing-form .circle-check .list-item [type="checkbox"] + label,
.filter-listing-form .circle-check .list-item [type="radio"] + label {
    padding-left: 36px;
    min-height: 22px;
}
.filter-listing-form .circle-check .list-item [type="checkbox"] + label:before,
.filter-listing-form .circle-check .list-item [type="radio"] + label:before {
    top: 2px;
    transform: none;
}
.filter-listing-form .circle-check .list-item [type="checkbox"] + label:after,
.filter-listing-form .circle-check .list-item [type="radio"] + label:after {
    top: 7px;
    margin-top: 0;
    transform: rotate(-45deg);
}
.filter-listing-form .tax-viewmore-field .terms-list,
.filter-listing-form .radios-viewmore-field .terms-list {
    max-height: none;
}
.filter-listing-form .toggle-filter-viewmore,
.filter-listing-form .toggle-filter-list {
    margin-top: 14px;
}
@media (min-width: 992px) {
    .filter-listing-form.horizontal .advance-search-wrapper-fields > .row > div {
        margin-bottom: 14px;
    }
}
@media (max-width: 1199px) {
    .filter-listing-form .heading-label {
        margin-bottom: 14px;
    }
}


/* Sponsor NI v17: place the black opportunities hero above the top search bar. */
.sni-page-hero.sni-opportunities-hero-moved{max-width:calc(100% - 20px);margin:30px auto 26px;}
.jobs-filter-top-sidebar-wrapper.sni-search-below-hero,.filter-top-sidebar-wrapper.sni-search-below-hero{margin-top:0!important;margin-bottom:34px!important;}
.sni-card.sni-opportunities-list-card{margin-top:0;}
@media(max-width:900px){.sni-page-hero.sni-opportunities-hero-moved{max-width:calc(100% - 16px);margin:20px auto 20px}.jobs-filter-top-sidebar-wrapper.sni-search-below-hero,.filter-top-sidebar-wrapper.sni-search-below-hero{margin-bottom:24px!important}}


/* Sponsor NI v18: stop Filter More icon overlapping the label. */
.filter-listing-form .advance-link,
.filter-listing-form.horizontal .advance-link {
    margin-right: 34px !important;
    padding-right: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    min-width: 170px !important;
}

.filter-listing-form .advance-search-btn,
.filter-listing-form.horizontal .advance-search-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 16px !important;
    white-space: nowrap !important;
}

.filter-listing-form .advance-search-btn i,
.filter-listing-form.horizontal .advance-search-btn i {
    margin-right: 14px !important;
    flex: 0 0 auto !important;
}

.filter-listing-form .advance-search-btn span,
.filter-listing-form.horizontal .advance-search-btn span {
    display: inline-block !important;
    padding-left: 6px !important;
    white-space: nowrap !important;
}

.filter-listing-form.horizontal .wrapper-submit {
    gap: 22px !important;
}

@media (max-width: 1199px) {
    .filter-listing-form .advance-link,
    .filter-listing-form.horizontal .advance-link {
        min-width: 145px !important;
        margin-right: 20px !important;
        padding-right: 14px !important;
    }
}


/* Sponsor NI v19: register button loading state. */
.sni-register-form button[disabled]{opacity:.7; cursor:wait;}


/* Sponsor NI v20: final brand green and bolder modern typography. */
:root {
    --jobtex-theme-color: #17e077 !important;
    --jobtex-theme-hover-color: #13c96a !important;
    --jobtex-theme-color-015: rgba(23, 224, 119, 0.15) !important;
    --sponsorni-green: #17e077 !important;
}

html, body, button, input, select, optgroup, textarea,
h1, h2, h3, h4, h5, h6,
p, a, li, span, label, small, strong, em,
.btn, .button, .apus-btn, .apus-btn-theme, .btn-theme, .btn-primary,
.site, .wrapper, .main-page, .page-wrapper, .entry-content, .widget,
.elementor-widget, .elementor-widget-container,
.menu, .nav, .navbar-nav > li > a, .title, .widget-title, .page-title, .entry-title {
    font-family: "Space Grotesk", sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.page-title, .entry-title, .widget-title,
.sni-hero h1, .sni-card h2, .sni-card h3,
.job-title, .employer-title, .candidate-title,
.navbar-nav > li > a,
.btn, .button, .btn-theme, .sni-sponsor-button {
    font-weight: 700 !important;
    letter-spacing: -0.035em;
}

.sni-hero h1,
.page-title,
.entry-title {
    font-weight: 800 !important;
    letter-spacing: -0.055em;
}

.btn-theme,
.btn-primary,
.sni-sponsor-button,
.filter-listing-form .btn-submit {
    background-color: #17e077 !important;
    border-color: #17e077 !important;
}

.btn-theme:hover,
.btn-primary:hover,
.sni-sponsor-button:hover,
.filter-listing-form .btn-submit:hover {
    background-color: #13c96a !important;
    border-color: #13c96a !important;
}


/* Sponsor NI v21: stronger product polish, onboarding panels and cleaner cards. */
.sni-home-cta-strip,
.sni-onboarding-strip {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 24px;
    align-items: center;
    background: #060606;
    color: #fff;
    border-radius: 28px;
    padding: 34px;
    margin: 28px 0;
    box-shadow: 0 18px 45px rgba(0,0,0,0.12);
}

.sni-home-cta-strip h2,
.sni-onboarding-strip h2 {
    color: #fff;
    margin: 0 0 10px;
    font-size: clamp(30px, 4vw, 54px);
    line-height: 0.95;
}

.sni-home-cta-strip p,
.sni-onboarding-strip p {
    color: rgba(255,255,255,0.82);
    margin: 0;
    font-size: 17px;
}

.sni-cta-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.sni-cta-actions a,
.sni-secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 22px;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none !important;
}

.sni-cta-actions a:first-child,
.sni-primary-button {
    background: #17e077;
    color: #020202 !important;
}

.sni-cta-actions a:last-child,
.sni-secondary-button {
    background: rgba(255,255,255,0.10);
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.16);
}

.sni-refinement-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 28px 0;
}

.sni-refinement-card {
    border: 1px solid #ececec;
    border-radius: 22px;
    padding: 24px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(0,0,0,0.04);
}

.sni-refinement-card span {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(23,224,119,0.14);
    color: #07110b;
    font-weight: 800;
    margin-bottom: 14px;
}

.sni-refinement-card h3 {
    margin: 0 0 8px;
    font-size: 21px;
}

.sni-refinement-card p {
    margin: 0;
    color: #5f6570;
}

.sni-empty-state {
    text-align: center;
    padding: 42px 26px;
    border: 1px dashed #d9d9d9;
    border-radius: 24px;
    background: #fafafa;
}

.sni-empty-state h3 {
    margin: 0 0 8px;
    font-size: 26px;
}

.sni-empty-state p {
    margin: 0 0 20px;
    color: #606772;
}

.sni-form-help {
    display: block;
    font-size: 13px;
    color: #6b7280;
    margin-top: 6px;
    line-height: 1.45;
}

.sni-register-form label,
.sni-opportunity-form label {
    font-weight: 700;
}

.sni-register-form input,
.sni-register-form textarea,
.sni-register-form select,
.sni-opportunity-form input,
.sni-opportunity-form textarea,
.sni-opportunity-form select {
    border-radius: 14px !important;
    border: 1px solid #dfe3e8 !important;
    min-height: 48px;
}

.sni-register-form input:focus,
.sni-register-form textarea:focus,
.sni-register-form select:focus,
.sni-opportunity-form input:focus,
.sni-opportunity-form textarea:focus,
.sni-opportunity-form select:focus {
    border-color: #17e077 !important;
    box-shadow: 0 0 0 4px rgba(23,224,119,0.14) !important;
    outline: none !important;
}

.sni-dashboard-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 22px 0;
}

.sni-dashboard-menu a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 17px;
    border-radius: 999px;
    background: #f4f5f6;
    color: #111 !important;
    text-decoration: none !important;
    font-weight: 700;
}

.sni-dashboard-menu a:hover {
    background: rgba(23,224,119,0.16);
}

.sni-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 16px 0 0;
}

.sni-trust-row span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 13px;
    border-radius: 999px;
    background: #f5f6f7;
    color: #1b1f23;
    font-weight: 700;
    font-size: 13px;
}

.item-job,
.job-grid-style,
.employer-grid,
.candidate-grid,
.sni-card {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.item-job:hover,
.job-grid-style:hover,
.employer-grid:hover,
.candidate-grid:hover,
.sni-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 42px rgba(0,0,0,0.08);
    border-color: rgba(23,224,119,0.38) !important;
}

@media (max-width: 900px) {
    .sni-home-cta-strip,
    .sni-onboarding-strip {
        grid-template-columns: 1fr;
        padding: 26px;
    }
    .sni-cta-actions {
        justify-content: flex-start;
    }
    .sni-refinement-grid {
        grid-template-columns: 1fr;
    }
}


/* Sponsor NI v22: remove dropdown filter and add category buttons below search. */
.widget-job-search-form .advance-link,
.widget-job-search-form .advance-search-wrapper,
.widget-job-search-form .advance-search-btn {
    display: none !important;
}
.widget-job-search-form .wrapper-submit {
    justify-content: flex-end !important;
}
.widget-job-search-form .sni-search-category-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
    padding: 4px 2px 0;
}
.widget-job-search-form .sni-search-category-button {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #e6e8eb;
    color: #121212 !important;
    text-decoration: none !important;
    font-weight: 700;
    line-height: 1.2;
    transition: all .18s ease;
    box-shadow: 0 4px 14px rgba(0,0,0,0.04);
}
.widget-job-search-form .sni-search-category-button:hover,
.widget-job-search-form .sni-search-category-button:focus {
    background: #17e077;
    border-color: #17e077;
    color: #020202 !important;
    transform: translateY(-1px);
}
@media (max-width: 767px) {
    .widget-job-search-form .sni-search-category-buttons {
        gap: 10px;
    }
    .widget-job-search-form .sni-search-category-button {
        min-height: 40px;
        padding: 0 14px;
        font-size: 14px;
    }
}


/* Sponsor NI v23: category buttons filter the current results instead of navigating away. */
.widget-job-search-form .sni-search-category-button {
    appearance: none;
    cursor: pointer;
    font-family: inherit !important;
}

.widget-job-search-form .sni-search-category-button.active {
    background: #17e077 !important;
    border-color: #17e077 !important;
    color: #020202 !important;
    box-shadow: 0 10px 24px rgba(23,224,119,0.22);
}


/* Sponsor NI v24: selected category chip and clear-all behaviour refinement. */
.results-filter-wrapper .results-filter li a,
.results-filter-wrapper .inner > a {
    cursor: pointer;
}

.widget-job-search-form .sni-search-category-button.active {
    background: #17e077 !important;
    border-color: #17e077 !important;
    color: #020202 !important;
}


/* Sponsor NI v25: selected category chip must show the category name. */
.results-filter-wrapper .results-filter .sni-selected-category-chip a {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 8px;
    background: #fff !important;
    color: #111 !important;
    text-decoration: none !important;
    font-weight: 800;
}

.results-filter-wrapper .results-filter .sni-selected-category-chip .sni-chip-x {
    color: #ff3347;
    font-weight: 900;
    font-size: 16px;
    line-height: 1;
}

.results-filter-wrapper .results-filter .sni-selected-category-chip .sni-chip-label {
    color: #111;
}


/* Sponsor NI v26: clean share buttons, align X logo and remove unused circular rings. */
.sponsorni-social-share,
.apus-social-share.share-blog.sponsorni-social-share {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.sponsorni-social-share .title {
    margin: 0 6px 0 0 !important;
    line-height: 44px;
}

.sponsorni-social-share a.facebook,
.sponsorni-social-share a.instagram,
.sponsorni-social-share a.x-twitter,
.sponsorni-social-share a.linkedin,
.share-blog.sponsorni-social-share a.facebook,
.share-blog.sponsorni-social-share a.instagram,
.share-blog.sponsorni-social-share a.x-twitter,
.share-blog.sponsorni-social-share a.linkedin {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    position: relative;
}

.sponsorni-social-share a i,
.sponsorni-social-share a svg {
    display: block !important;
    line-height: 1 !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
}

.sponsorni-social-share .sni-x-logo {
    width: 18px !important;
    height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

.sponsorni-social-share .sni-x-logo svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    fill: currentColor !important;
}

/* Remove the empty circular Jobtex action buttons that were showing as rings. */
.single-job_listing .job-detail-header .sponsorni-listing-share,
.single-job_listing .job-detail-header .share-listing,
.single-job_listing .job-detail-header .btn-follow,
.single-job_listing .job-detail-header .btn-action-job,
.single-job_listing .job-detail-header .btn-add-job-shortlist,
.single-job_listing .job-detail-header .btn-added-job-shortlist,
.single-job_listing .job-detail-header .btn-shortlist,
.job-list .btn-add-job-shortlist,
.job-list .btn-added-job-shortlist,
.jobs-listing-wrapper .btn-add-job-shortlist,
.jobs-listing-wrapper .btn-added-job-shortlist,
.related-jobs .btn-add-job-shortlist,
.related-jobs .btn-added-job-shortlist {
    display: none !important;
}

/* Hide any remaining blank circular links/buttons, but do not affect real social share buttons. */
.single-job_listing .job-detail-header a.btn-follow:empty,
.single-job_listing .job-detail-header a.btn-action-job:empty,
.single-job_listing .job-detail-header a:not(.btn):not(.sni-sponsor-button):not(.facebook):not(.instagram):not(.x-twitter):not(.linkedin):empty {
    display: none !important;
}

@media (max-width: 767px) {
    .sponsorni-social-share .title {
        flex-basis: 100%;
        line-height: 1.2;
    }
}


/* Sponsor NI v27: move sponsorship/seeker details beneath the opportunity description. */
.list-content-job > .sni-content-block {
    margin: 28px 0 !important;
}

.sni-opportunity-details,
.sni-sponsor-seeker-info {
    border-radius: 22px;
}

.sni-details-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 22px;
    margin-bottom: 8px;
}

.sni-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 18px;
}

.sni-payment-note {
    display: block;
    margin-top: 12px;
    color: #5d6470;
    line-height: 1.6;
}

.sni-seeker-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.sni-seeker-header h4 {
    margin: 0;
    font-size: 22px;
}

.sni-seeker-logo {
    width: 58px;
    height: 58px;
    border-radius: 14px;
    object-fit: cover;
}

.sni-seeker-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-top: 14px;
}

.sni-seeker-meta span {
    background: #f6f7f8;
    border-radius: 999px;
    padding: 9px 13px;
}

.sni-private-message-button .btn,
.sni-private-message-button a,
.sni-message-actions .btn,
.sni-message-actions a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 999px !important;
    font-weight: 800;
}

/* Do not show moved Sponsor NI detail cards inside the sticky sidebar. */
.sidebar-job .sni-opportunity-details,
.sidebar-job .sni-sponsor-seeker-info {
    display: none !important;
}

@media (max-width: 767px) {
    .sni-details-grid {
        grid-template-columns: 1fr;
    }
    .sni-seeker-meta {
        flex-direction: column;
    }
}


/* Sponsor NI v28: opportunity banner upload and branded empty banner fallback. */
.sni-banner-upload {
    border: 1px dashed rgba(23,224,119,0.45);
    background: rgba(23,224,119,0.055);
    border-radius: 18px;
    padding: 18px;
    margin: 18px 0;
}

.sni-banner-upload label {
    display: block;
    font-weight: 800;
    margin-bottom: 8px;
}

.single-job_listing .job-detail-header.sni-no-banner .top-img-detail,
.single-job_listing .top-detail-job.sni-no-banner:before {
    background:
        radial-gradient(circle at 16% 22%, rgba(23,224,119,0.20), transparent 28%),
        linear-gradient(135deg, #050505 0%, #111 48%, #17e077 160%) !important;
}

.single-job_listing .job-detail-header.sni-no-banner .top-img-detail {
    min-height: 260px;
}

.single-job_listing .job-detail-header.sni-has-banner .top-img-detail {
    background-size: cover !important;
    background-position: center !important;
}

.single-job_listing .top-detail-job.sni-no-banner {
    position: relative;
}

.single-job_listing .top-detail-job.sni-no-banner:before {
    content: "";
    display: block;
    height: 260px;
    margin-bottom: -120px;
}

.single-job_listing .job-detail-header.sni-no-banner .top-detail-job,
.single-job_listing .top-detail-job.sni-no-banner .job-detail-header-inner {
    position: relative;
    z-index: 2;
}


/* Sponsor NI v29: bring the sponsor seeker search panel down below the fixed header. */
.elementor-widget-apus_element_job_board_pro_employer_search_form,
.widget-job-search-form {
    position: relative;
}

.elementor-widget-apus_element_job_board_pro_employer_search_form .widget-job-search-form,
.elementor-widget-apus_element_job_board_pro_employer_search_form .filter-listing-form.vertical,
.widget-job-search-form .filter-listing-form.vertical {
    margin-top: 34px !important;
}

.elementor-widget-apus_element_job_board_pro_employer_search_form .widget-title {
    padding-top: 6px;
}

@media (max-width: 991px) {
    .elementor-widget-apus_element_job_board_pro_employer_search_form .widget-job-search-form,
    .elementor-widget-apus_element_job_board_pro_employer_search_form .filter-listing-form.vertical,
    .widget-job-search-form .filter-listing-form.vertical {
        margin-top: 18px !important;
    }
}


/* Sponsor NI v30: add amount sought field into the top opportunities map search bar. */
.widget-job-search-form .form-group-sni_amount input,
.widget-job-search-form .form-group-sni_amount .form-control,
.widget-job-search-form .form-group-sni_amount input[type="text"],
.widget-job-search-form .form-group-sni_amount input[type="number"] {
    width: 100%;
}

.jobs-filter-top-sidebar-wrapper .widget-job-search-form .form-group-sni_amount,
.filter-top-sidebar-wrapper .widget-job-search-form .form-group-sni_amount {
    min-width: 0;
}


/* Sponsor NI v31: force amount field into map search, remove duplicate sidebar seeker card, hide seeker email. */
.sni-amount-search-col .form-group {
    margin: 0 !important;
}

.sni-amount-search-col input {
    width: 100% !important;
    min-height: 58px;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-weight: 700;
}

.jobs-filter-top-sidebar-wrapper .filter-listing-form .row,
.filter-top-sidebar-wrapper .filter-listing-form .row {
    align-items: center;
}

/* Hide the redundant sidebar box that only repeats Sponsor Seeker Information. */
.single-job_listing .sidebar-job .widget_apus_job_board_pro_employer_info,
.single-job_listing .sidebar-job .widget-job-detail-employer,
.single-job_listing .sidebar-job .job-detail-employer,
.single-job_listing .sidebar-job .employer-detail-info,
.single-job_listing .sidebar-job .widget:has(.widget-title),
.single-job_listing .sidebar-job aside:has(.widget-title) {
    display: none !important;
}

/* Keep useful sidebar widgets visible unless they are the empty seeker-info style card. */
.single-job_listing .sidebar-job .job-detail-detail,
.single-job_listing .sidebar-job .widget_apus_job_board_pro_job_detail,
.single-job_listing .sidebar-job .widget-job-detail {
    display: block !important;
}

@supports selector(:has(*)) {
    .single-job_listing .sidebar-job .widget:has(.widget-title) {
        display: none !important;
    }
}


/* Sponsor NI v32: improve hover contrast for share icons and secure sponsor button. */
.sponsorni-social-share a.facebook:hover,
.sponsorni-social-share a.instagram:hover,
.sponsorni-social-share a.x-twitter:hover,
.sponsorni-social-share a.linkedin:hover,
.share-blog.sponsorni-social-share a.facebook:hover,
.share-blog.sponsorni-social-share a.instagram:hover,
.share-blog.sponsorni-social-share a.x-twitter:hover,
.share-blog.sponsorni-social-share a.linkedin:hover {
    background: #17e077 !important;
    border-color: #17e077 !important;
    color: #ffffff !important;
}

.sponsorni-social-share a.facebook:hover i,
.sponsorni-social-share a.instagram:hover i,
.sponsorni-social-share a.x-twitter:hover i,
.sponsorni-social-share a.linkedin:hover i,
.sponsorni-social-share a.facebook:hover svg,
.sponsorni-social-share a.instagram:hover svg,
.sponsorni-social-share a.x-twitter:hover svg,
.sponsorni-social-share a.linkedin:hover svg,
.share-blog.sponsorni-social-share a.facebook:hover i,
.share-blog.sponsorni-social-share a.instagram:hover i,
.share-blog.sponsorni-social-share a.x-twitter:hover i,
.share-blog.sponsorni-social-share a.linkedin:hover i,
.share-blog.sponsorni-social-share a.facebook:hover svg,
.share-blog.sponsorni-social-share a.instagram:hover svg,
.share-blog.sponsorni-social-share a.x-twitter:hover svg,
.share-blog.sponsorni-social-share a.linkedin:hover svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

.sni-sponsor-button:hover,
.sni-sponsor-button:focus,
a.sni-sponsor-button:hover,
a.sni-sponsor-button:focus {
    background: #12c768 !important;
    border-color: #12c768 !important;
    color: #ffffff !important;
}

.sni-sponsor-button:hover *,
.sni-sponsor-button:focus * {
    color: #ffffff !important;
}


/* Sponsor NI v33: amount sought on homepage map search; hide archive category buttons on homepage. */
.widget-job-search-form .sni-amount-search-col {
    display: block !important;
}

.widget-job-search-form .sni-amount-search-col .form-group {
    margin: 0 !important;
}

.widget-job-search-form .sni-amount-search-col input {
    width: 100% !important;
    height: 62px;
    min-height: 62px;
    padding: 0 22px !important;
    border: 0 !important;
    border-left: 1px solid #e5e7eb !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-weight: 700;
}

.widget-job-search-form .sni-amount-search-col input::placeholder {
    color: #111;
    opacity: 1;
}

body.home .widget-job-search-form .sni-search-category-buttons,
body.front-page .widget-job-search-form .sni-search-category-buttons {
    display: none !important;
}

@media (max-width: 767px) {
    .widget-job-search-form .sni-amount-search-col input {
        border-left: 0 !important;
        border-top: 1px solid #e5e7eb !important;
        border-radius: 14px !important;
    }
}


/* Sponsor NI v34: amount sought dropdown and one-line desktop search row. */
.widget-job-search-form .sni-amount-search-col .form-group {
    margin: 0 !important;
}

.widget-job-search-form .sni-amount-search-col .sni-amount-select {
    width: 100% !important;
    height: 62px;
    min-height: 62px;
    padding: 0 42px 0 24px !important;
    border: 0 !important;
    border-left: 1px solid #e5e7eb !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-weight: 700;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #777 50%),
        linear-gradient(135deg, #777 50%, transparent 50%);
    background-position:
        calc(100% - 22px) calc(50% - 3px),
        calc(100% - 16px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.widget-job-search-form .sni-amount-search-col .sni-amount-select:focus {
    outline: none !important;
    box-shadow: none !important;
}

@media (min-width: 992px) {
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .col-md-4 {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .sni-amount-search-col,
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .wrapper-submit {
        flex: 0 0 16.6667%;
        max-width: 16.6667%;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .wrapper-submit {
        justify-content: center !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .wrapper-submit .btn-submit {
        width: 100%;
        min-height: 60px;
    }
}

@media (max-width: 991px) {
    .widget-job-search-form .sni-amount-search-col .sni-amount-select {
        border-left: 0 !important;
        border-top: 1px solid #e5e7eb !important;
        border-radius: 14px !important;
    }
}


/* Sponsor NI v35: refine amount dropdown, restore Contact Us menu, lower Sponsor Seeker panel. */
.widget-job-search-form .sni-amount-search-col .select2-results__option:first-child,
.select2-container .select2-results__option[aria-disabled="true"] {
    display: none !important;
}

/* Strong one-line search layout on desktop. */
@media (min-width: 992px) {
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .col-md-4:first-child {
        flex: 0 0 33% !important;
        max-width: 33% !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .col-md-4:not(:first-child) {
        flex: 0 0 30% !important;
        max-width: 30% !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .sni-amount-search-col {
        flex: 0 0 23% !important;
        max-width: 23% !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .sni-submit-search-col,
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .wrapper-submit {
        flex: 0 0 14% !important;
        max-width: 14% !important;
        justify-content: flex-end !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .sni-submit-search-col .btn-submit,
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .wrapper-submit .btn-submit {
        width: 100% !important;
        min-width: 0 !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
        white-space: nowrap !important;
    }
}

/* Keep the amount dropdown visually close to the Location field width. */
.widget-job-search-form .sni-amount-search-col .select2-container {
    width: 100% !important;
}

.widget-job-search-form .sni-amount-search-col .select2-selection,
.widget-job-search-form .sni-amount-search-col .select2-selection--single {
    min-height: 62px !important;
    height: 62px !important;
    border: 0 !important;
    border-left: 1px solid #e5e7eb !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.widget-job-search-form .sni-amount-search-col .select2-selection__rendered {
    padding-left: 24px !important;
    padding-right: 36px !important;
    font-weight: 700 !important;
    color: #111 !important;
}

/* Sponsor Seekers page left search box needs to sit lower under the header. */
.elementor-widget-apus_element_job_board_pro_employer_search_form,
body.post-type-archive-employer .widget-job-search-form,
body.page .widget-job-search-form:has(.filter-employer-form) {
    margin-top: 72px !important;
}

.elementor-widget-apus_element_job_board_pro_employer_search_form .widget-job-search-form,
.elementor-widget-apus_element_job_board_pro_employer_search_form .filter-listing-form.vertical,
.widget-job-search-form .filter-listing-form.vertical {
    margin-top: 48px !important;
}

@media (max-width: 991px) {
    .elementor-widget-apus_element_job_board_pro_employer_search_form,
    body.post-type-archive-employer .widget-job-search-form {
        margin-top: 36px !important;
    }
}


/* Sponsor NI v36: clean sponsor seeker search panel top and push homepage map search button to the far right. */

/* Sponsor Seekers page: remove the big blank top gap inside the panel, round the top corners, and let white page background show above it. */
.elementor-widget-apus_element_job_board_pro_employer_search_form,
body.post-type-archive-employer .widget-job-search-form,
body.page .widget-job-search-form:has(.filter-employer-form) {
    margin-top: 34px !important;
}

.elementor-widget-apus_element_job_board_pro_employer_search_form .widget-job-search-form,
.elementor-widget-apus_element_job_board_pro_employer_search_form .filter-listing-form.vertical,
body.post-type-archive-employer .widget-job-search-form,
body.page .widget-job-search-form:has(.filter-employer-form) {
    margin-top: 0 !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    background: #f5f5f5 !important;
}

.elementor-widget-apus_element_job_board_pro_employer_search_form .filter-listing-form.vertical,
body.post-type-archive-employer .widget-job-search-form .filter-listing-form.vertical {
    padding-top: 26px !important;
    border-radius: 28px !important;
}

/* Desktop top opportunities search: push the button to the far right and use the empty right-side space. */
@media (min-width: 992px) {
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        width: 100% !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .col-md-4:first-child,
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .col-md-4:not(:first-child) {
        flex: 0 0 32% !important;
        max-width: 32% !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .sni-amount-search-col {
        flex: 0 0 24% !important;
        max-width: 24% !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .sni-submit-search-col,
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .wrapper-submit {
        flex: 0 0 17% !important;
        max-width: 17% !important;
        margin-left: auto !important;
        justify-content: flex-end !important;
        padding-right: 0 !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .sni-submit-search-col .btn-submit,
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .wrapper-submit .btn-submit {
        width: 100% !important;
        min-height: 64px !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 991px) {
    .elementor-widget-apus_element_job_board_pro_employer_search_form,
    body.post-type-archive-employer .widget-job-search-form {
        margin-top: 20px !important;
    }

    .elementor-widget-apus_element_job_board_pro_employer_search_form .filter-listing-form.vertical,
    body.post-type-archive-employer .widget-job-search-form .filter-listing-form.vertical {
        padding-top: 18px !important;
    }
}


/* Sponsor NI v37: make the top search texts consistent and widen Location/Amount fields. */

/* Match the visible text styling across Location, Amount sought and Search button. */
.widget-job-search-form .filter-listing-form:not(.vertical) .select2-selection__rendered,
.widget-job-search-form .filter-listing-form:not(.vertical) .sni-amount-select,
.widget-job-search-form .filter-listing-form:not(.vertical) .btn-submit {
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.widget-job-search-form .filter-listing-form:not(.vertical) .select2-selection__rendered {
    color: #111 !important;
}

@media (min-width: 992px) {
    /* With the title/keyword field removed, give more width to Location and Amount. */
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .col-md-4:first-child {
        flex: 0 0 42% !important;
        max-width: 42% !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .sni-amount-search-col {
        flex: 0 0 26% !important;
        max-width: 26% !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .sni-submit-search-col,
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .wrapper-submit {
        flex: 0 0 22% !important;
        max-width: 22% !important;
        margin-left: auto !important;
        justify-content: flex-end !important;
        padding-right: 0 !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .sni-submit-search-col .btn-submit,
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .wrapper-submit .btn-submit {
        width: 100% !important;
        min-height: 64px !important;
    }
}


/* Sponsor NI v38: keep the full top opportunities search row inside one box and fully legible. */
@media (min-width: 992px) {
    .widget-job-search-form .filter-listing-form:not(.vertical) {
        padding: 8px 12px !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner,
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 0 !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > * {
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    /* Use flex ratios instead of rigid widths so everything stays inside the box. */
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .col-md-4:first-child {
        flex: 2.35 1 0 !important;
        max-width: none !important;
        width: auto !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .col-md-4:not(:first-child) {
        flex: 1.5 1 0 !important;
        max-width: none !important;
        width: auto !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .sni-amount-search-col {
        flex: 1.6 1 0 !important;
        max-width: none !important;
        width: auto !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .sni-submit-search-col,
    .widget-job-search-form .filter-listing-form:not(.vertical) .content-main-inner > .row > .wrapper-submit {
        flex: 1.25 1 0 !important;
        max-width: none !important;
        width: auto !important;
        margin-left: 0 !important;
        justify-content: flex-end !important;
        overflow: visible !important;
    }

    /* Make visible text slightly smaller so everything remains readable without clipping. */
    .widget-job-search-form .filter-listing-form:not(.vertical) .select2-selection__rendered,
    .widget-job-search-form .filter-listing-form:not(.vertical) input.form-control,
    .widget-job-search-form .filter-listing-form:not(.vertical) .sni-amount-select,
    .widget-job-search-form .filter-listing-form:not(.vertical) .btn-submit {
        font-size: 16px !important;
        line-height: 1.2 !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .btn-submit {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 58px !important;
        padding: 0 14px !important;
        white-space: nowrap !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .form-group,
    .widget-job-search-form .filter-listing-form:not(.vertical) .select2-container,
    .widget-job-search-form .filter-listing-form:not(.vertical) .select2-selection,
    .widget-job-search-form .filter-listing-form:not(.vertical) .select2-selection--single {
        width: 100% !important;
        max-width: 100% !important;
    }

    .widget-job-search-form .filter-listing-form:not(.vertical) .select2-selection__rendered {
        padding-right: 34px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}
