.fbvm-board{
    --fbvm-text:#172033;
    --fbvm-muted:#667085;
    --fbvm-border:#e4e7ec;
    --fbvm-green:#16794b;
    --fbvm-green-dark:#0f5f3a;
    --fbvm-soft:#f6f8fb;
    --fbvm-warn:#b54708;
    --fbvm-shadow:0 14px 35px rgba(16,24,40,.08);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--fbvm-text);
}
.fbvm-board *{box-sizing:border-box}
.fbvm-hero{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:flex-end;
    padding:28px;
    border-radius:22px;
    background:
        radial-gradient(circle at 90% 0%,rgba(255,193,7,.18),transparent 32%),
        linear-gradient(135deg,#101828,#1c344b);
    color:#fff;
    margin-bottom:18px;
    overflow:hidden;
}
.fbvm-kicker{
    display:inline-block;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    opacity:.82;
    margin-bottom:8px;
}
.fbvm-hero h2{
    color:#fff;
    margin:0 0 8px;
    font-size:clamp(28px,4vw,44px);
    line-height:1.05;
}
.fbvm-hero p{margin:0;max-width:720px;color:rgba(255,255,255,.82)}
.fbvm-count{
    flex:0 0 auto;
    min-width:150px;
    padding:18px 20px;
    text-align:center;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.08);
    border-radius:18px;
}
.fbvm-count strong{display:block;font-size:34px;line-height:1;color:#fff}
.fbvm-count span{display:block;margin-top:5px;font-size:13px;color:rgba(255,255,255,.78)}
.fbvm-toolbar{
    display:grid;
    grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(150px,.65fr)) auto;
    gap:10px;
    padding:14px;
    background:#fff;
    border:1px solid var(--fbvm-border);
    box-shadow:0 6px 24px rgba(16,24,40,.05);
    border-radius:16px;
    margin-bottom:22px;
    position:sticky;
    top:10px;
    z-index:8;
}
.fbvm-toolbar input,
.fbvm-toolbar select{
    width:100%;
    min-height:46px;
    border:1px solid #d0d5dd;
    border-radius:11px;
    padding:0 13px;
    background:#fff;
    color:var(--fbvm-text);
    font:inherit;
}
.fbvm-toolbar input:focus,
.fbvm-toolbar select:focus{
    outline:2px solid rgba(22,121,75,.17);
    border-color:var(--fbvm-green);
}
.fbvm-clear{
    border:0;
    border-radius:11px;
    padding:0 15px;
    font-weight:700;
    cursor:pointer;
    color:#344054;
    background:#f2f4f7;
}
.fbvm-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.fbvm-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    background:#fff;
    border:1px solid var(--fbvm-border);
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 4px 15px rgba(16,24,40,.04);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.fbvm-card:hover{
    transform:translateY(-3px);
    box-shadow:var(--fbvm-shadow);
    border-color:#cfd5dd;
}
.fbvm-card.is-featured{
    border-color:#f2b92f;
    box-shadow:0 10px 30px rgba(181,71,8,.10);
}
.fbvm-featured-badge{
    position:absolute;
    top:12px;
    right:12px;
    z-index:2;
    padding:6px 9px;
    border-radius:999px;
    background:#fff3cd;
    color:#7a4b00;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.fbvm-thumb{
    display:block;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#eef2f6;
}
.fbvm-thumb img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .3s ease;
}
.fbvm-card:hover .fbvm-thumb img{transform:scale(1.025)}
.fbvm-card-body{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:20px;
}
.fbvm-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    min-height:24px;
}
.fbvm-tags span{
    display:inline-flex;
    align-items:center;
    padding:5px 8px;
    border-radius:999px;
    background:#ecfdf3;
    color:#067647;
    font-size:11px;
    font-weight:800;
}
.fbvm-card h3{
    margin:10px 0 5px;
    font-size:21px;
    line-height:1.2;
}
.fbvm-card h3 a{color:var(--fbvm-text);text-decoration:none}
.fbvm-card h3 a:hover{color:var(--fbvm-green)}
.fbvm-employer{font-weight:700;color:#475467;margin-bottom:10px}
.fbvm-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px 12px;
    margin-bottom:12px;
    color:#475467;
    font-size:13px;
}
.fbvm-excerpt{
    color:var(--fbvm-muted);
    line-height:1.6;
    margin:0 0 16px;
}
.fbvm-deadline{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid #eef1f4;
    font-size:12px;
    color:#667085;
}
.fbvm-deadline strong{color:var(--fbvm-warn)}
.fbvm-actions{
    display:flex;
    gap:8px;
    margin-top:14px;
}
.fbvm-btn{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:42px;
    padding:9px 14px;
    border-radius:10px;
    border:1px solid #d0d5dd;
    background:#fff;
    color:#344054!important;
    text-decoration:none!important;
    font-size:13px;
    font-weight:800;
    transition:.18s ease;
}
.fbvm-btn:hover{border-color:#98a2b3;background:#f9fafb}
.fbvm-btn-primary{
    background:var(--fbvm-green);
    border-color:var(--fbvm-green);
    color:#fff!important;
}
.fbvm-btn-primary:hover{background:var(--fbvm-green-dark);border-color:var(--fbvm-green-dark)}
.fbvm-empty{
    grid-column:1/-1;
    text-align:center;
    padding:36px;
    border:1px dashed #d0d5dd;
    border-radius:16px;
    background:#fafbfc;
    color:#667085;
}
.fbvm-filter-empty{margin-top:18px}
.fbvm-single-meta{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:0 0 24px;
    padding:18px;
    border:1px solid #e4e7ec;
    border-radius:16px;
    background:#f9fafb;
}
.fbvm-single-meta div{display:flex;flex-direction:column;gap:4px}
.fbvm-single-meta strong{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#667085}
.fbvm-single-meta span{font-weight:700;color:#172033}
.fbvm-single-apply{margin:28px 0}
@media(max-width:1024px){
    .fbvm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .fbvm-toolbar{grid-template-columns:1fr 1fr 1fr}
    .fbvm-search{grid-column:1/-1}
}
@media(max-width:700px){
    .fbvm-hero{align-items:flex-start;flex-direction:column;padding:22px}
    .fbvm-count{width:100%;text-align:left}
    .fbvm-count strong{display:inline;margin-right:6px;font-size:28px}
    .fbvm-count span{display:inline}
    .fbvm-toolbar{position:static;grid-template-columns:1fr}
    .fbvm-search{grid-column:auto}
    .fbvm-grid{grid-template-columns:1fr}
    .fbvm-single-meta{grid-template-columns:1fr}
}

.fbvm-board [hidden]{display:none!important}

.fbvm-phone a{
    color:inherit;
    text-decoration:none;
    font-weight:700;
}
.fbvm-phone a:hover{
    color:var(--fbvm-green);
    text-decoration:underline;
}

/* ===== Enhanced single vacancy page ===== */
body.single-fbvm_vacancy .entry-meta,
body.single-fbvm_vacancy .post-meta,
body.single-fbvm_vacancy .entry-header .entry-meta,
body.single-fbvm_vacancy .entry-header .post-meta{
    display:none!important;
}

.fbvm-single{
    --fbvm-text:#172033;
    --fbvm-muted:#667085;
    --fbvm-border:#e4e7ec;
    --fbvm-green:#118451;
    --fbvm-green-dark:#08613a;
    --fbvm-green-soft:#ecfdf3;
    --fbvm-gold:#f5b82e;
    --fbvm-navy:#101828;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--fbvm-text);
    margin:28px 0 48px;
}
.fbvm-single *{box-sizing:border-box}

.fbvm-single-hero{
    position:relative;
    display:flex;
    justify-content:space-between;
    gap:30px;
    align-items:flex-end;
    padding:30px;
    margin-bottom:18px;
    border-radius:24px;
    color:#fff;
    background:
        radial-gradient(circle at 90% 0%,rgba(245,184,46,.26),transparent 34%),
        linear-gradient(135deg,#101828 0%,#17394d 100%);
    overflow:hidden;
    box-shadow:0 18px 44px rgba(16,24,40,.13);
}
.fbvm-single-hero:after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    right:-100px;
    bottom:-130px;
    border:28px solid rgba(255,255,255,.05);
    border-radius:50%;
}
.fbvm-single-hero-main{position:relative;z-index:1;min-width:0}
.fbvm-single-badges{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:18px;
}
.fbvm-single-badge{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.13);
    color:#fff;
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:.02em;
}
.fbvm-single-badge.is-featured{
    background:#fff2c7;
    border-color:#fff2c7;
    color:#7a4b00;
}
.fbvm-single-eyebrow{
    display:block;
    margin-bottom:5px;
    color:rgba(255,255,255,.67);
    text-transform:uppercase;
    letter-spacing:.09em;
    font-size:11px;
    font-weight:800;
}
.fbvm-single-heading h2{
    color:#fff!important;
    margin:0 0 10px!important;
    font-size:clamp(24px,3.3vw,38px)!important;
    line-height:1.12!important;
}
.fbvm-single-heading-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 18px;
    color:rgba(255,255,255,.84);
    font-size:14px;
}
.fbvm-single-deadline{
    position:relative;
    z-index:1;
    flex:0 0 225px;
    padding:18px;
    border-radius:17px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.09);
    backdrop-filter:blur(8px);
}
.fbvm-single-deadline span,
.fbvm-single-deadline em{
    display:block;
    color:rgba(255,255,255,.72);
    font-size:12px;
    font-style:normal;
}
.fbvm-single-deadline strong{
    display:block;
    margin:5px 0 7px;
    color:#fff;
    font-size:18px;
    line-height:1.25;
}
.fbvm-single-deadline em{
    color:#ffd66f;
    font-weight:800;
}
.fbvm-single-image{
    margin:0 0 18px;
    overflow:hidden;
    border-radius:22px;
    border:1px solid var(--fbvm-border);
    background:#f2f4f7;
}
.fbvm-single-image img{
    display:block;
    width:100%;
    max-height:460px;
    object-fit:cover;
}

.fbvm-single-details{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    padding:16px;
    margin-bottom:22px;
    border:1px solid var(--fbvm-border);
    border-radius:22px;
    background:#f8fafc;
}
.fbvm-single-detail{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    padding:15px;
    border-radius:15px;
    background:#fff;
    border:1px solid #edf0f3;
}
.fbvm-detail-icon{
    display:grid;
    place-items:center;
    flex:0 0 40px;
    width:40px;
    height:40px;
    border-radius:12px;
    background:var(--fbvm-green-soft);
    font-size:18px;
}
.fbvm-single-detail div{min-width:0}
.fbvm-single-detail small{
    display:block;
    margin-bottom:3px;
    color:var(--fbvm-muted);
    text-transform:uppercase;
    letter-spacing:.055em;
    font-size:10px;
    font-weight:800;
}
.fbvm-single-detail strong{
    display:block;
    color:var(--fbvm-text);
    font-size:14px;
    line-height:1.35;
    overflow-wrap:anywhere;
}
.fbvm-single-detail a{
    color:var(--fbvm-green-dark);
    text-decoration:none;
}
.fbvm-single-detail a:hover{text-decoration:underline}

.fbvm-single-layout{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr);
    gap:24px;
    align-items:start;
}
.fbvm-single-description{
    padding:28px;
    border:1px solid var(--fbvm-border);
    border-radius:22px;
    background:#fff;
    box-shadow:0 8px 30px rgba(16,24,40,.045);
}
.fbvm-single-section-title{
    padding-bottom:16px;
    margin-bottom:19px;
    border-bottom:1px solid #eef1f4;
}
.fbvm-single-section-title span{
    display:block;
    color:var(--fbvm-green);
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:11px;
    font-weight:900;
}
.fbvm-single-section-title h3{
    margin:4px 0 0!important;
    color:var(--fbvm-text)!important;
    font-size:26px!important;
}
.fbvm-single-content{
    color:#344054;
    font-size:17px;
    line-height:1.75;
}
.fbvm-single-content p:first-child{margin-top:0}
.fbvm-single-content ul,
.fbvm-single-content ol{padding-left:22px}
.fbvm-single-content li{margin-bottom:7px}
.fbvm-single-sidebar{
    display:grid;
    gap:14px;
    position:sticky;
    top:24px;
}
.fbvm-single-contact-card{
    padding:24px;
    border-radius:22px;
    color:#fff;
    background:
        radial-gradient(circle at 100% 0%,rgba(245,184,46,.24),transparent 35%),
        linear-gradient(145deg,#0c7647,#085832);
    box-shadow:0 15px 34px rgba(8,88,50,.16);
}
.fbvm-single-contact-kicker{
    color:#c9f6dd;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:11px;
    font-weight:900;
}
.fbvm-single-contact-card h3{
    margin:5px 0 8px!important;
    color:#fff!important;
    font-size:24px!important;
    line-height:1.15!important;
}
.fbvm-single-contact-card p{
    margin:0 0 18px;
    color:rgba(255,255,255,.82);
    font-size:14px;
    line-height:1.55;
}
.fbvm-single-actions{
    display:grid;
    gap:9px;
}
.fbvm-single-contact-card .fbvm-btn{
    min-height:46px;
}
.fbvm-single-contact-card .fbvm-btn-primary{
    background:#fff;
    border-color:#fff;
    color:#075f39!important;
}
.fbvm-single-contact-card .fbvm-btn:not(.fbvm-btn-primary){
    background:rgba(255,255,255,.09);
    border-color:rgba(255,255,255,.24);
    color:#fff!important;
}
.fbvm-btn-wide{width:100%}
.fbvm-single-closing-note{
    margin-top:18px;
    padding-top:15px;
    border-top:1px solid rgba(255,255,255,.18);
}
.fbvm-single-closing-note small{
    display:block;
    color:rgba(255,255,255,.7);
}
.fbvm-single-closing-note strong{
    display:block;
    margin-top:3px;
    color:#fff;
}
.fbvm-single-share-note{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:18px;
    border:1px solid var(--fbvm-border);
    border-radius:17px;
    background:#fff;
}
.fbvm-single-share-note strong{color:var(--fbvm-text)}
.fbvm-single-share-note span{
    color:var(--fbvm-muted);
    font-size:13px;
    line-height:1.45;
}

@media(max-width:900px){
    .fbvm-single-details{grid-template-columns:repeat(2,minmax(0,1fr))}
    .fbvm-single-layout{grid-template-columns:1fr}
    .fbvm-single-sidebar{position:static}
}
@media(max-width:700px){
    .fbvm-single{margin-top:18px}
    .fbvm-single-hero{
        flex-direction:column;
        align-items:stretch;
        padding:22px;
        border-radius:20px;
    }
    .fbvm-single-deadline{flex-basis:auto}
    .fbvm-single-details{
        grid-template-columns:1fr;
        padding:11px;
        border-radius:18px;
    }
    .fbvm-single-description{padding:21px;border-radius:18px}
    .fbvm-single-contact-card{padding:21px;border-radius:18px}
    .fbvm-single-heading-meta{flex-direction:column;gap:6px}
}

/* Elementor dynamic vacancy shortcode buttons */
.fbvm-elementor-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:44px;
    padding:10px 17px;
    border:1px solid #d0d5dd;
    border-radius:10px;
    background:#fff;
    color:#172033!important;
    font-weight:800;
    font-size:14px;
    line-height:1.2;
    text-decoration:none!important;
    transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.fbvm-elementor-button:hover{
    transform:translateY(-1px);
    border-color:#98a2b3;
    box-shadow:0 7px 18px rgba(16,24,40,.08);
}
.fbvm-elementor-button-contact{
    background:#118451;
    border-color:#118451;
    color:#fff!important;
}
.fbvm-elementor-button-contact:hover{
    background:#08613a;
    border-color:#08613a;
}
.fbvm-elementor-button-apply{
    background:#101828;
    border-color:#101828;
    color:#fff!important;
}
.fbvm-elementor-button-apply:hover{
    background:#1d2939;
    border-color:#1d2939;
}

.fbvm-single-title{
    margin:0 0 6px!important;
    color:#fff!important;
    font-size:clamp(34px,5vw,58px)!important;
    line-height:1.02!important;
    letter-spacing:-.035em;
}
.fbvm-single-shortcode .fbvm-single-heading h2{
    margin-top:5px!important;
    font-size:clamp(19px,2.4vw,28px)!important;
    color:rgba(255,255,255,.9)!important;
}
.fbvm-shortcode-notice{
    padding:18px 20px;
    border:1px solid #f2c94c;
    border-radius:12px;
    background:#fff9df;
    color:#694f00;
    font-weight:700;
}

/* ===== v1.1.2 Readability improvements ===== */
.fbvm-single-eyebrow{
    font-size:13px!important;
    letter-spacing:.08em;
}
.fbvm-single-heading-meta{
    font-size:16px!important;
    line-height:1.5;
}
.fbvm-single-deadline span,
.fbvm-single-deadline em{
    font-size:14px!important;
}
.fbvm-single-deadline strong{
    font-size:20px!important;
}
.fbvm-single-badge{
    font-size:12px!important;
    padding:7px 11px;
}

.fbvm-single-detail small{
    font-size:12px!important;
    letter-spacing:.05em;
}
.fbvm-single-detail strong{
    font-size:16px!important;
    line-height:1.45;
}
.fbvm-detail-icon{
    width:44px;
    height:44px;
    flex-basis:44px;
    font-size:20px;
}

.fbvm-single-section-title span{
    font-size:13px!important;
}
.fbvm-single-section-title h3{
    font-size:29px!important;
}
.fbvm-single-content{
    font-size:19px!important;
    line-height:1.8!important;
}
.fbvm-single-content p,
.fbvm-single-content li{
    font-size:19px!important;
}

.fbvm-single-contact-kicker{
    font-size:13px!important;
}
.fbvm-single-contact-card h3{
    font-size:27px!important;
}
.fbvm-single-contact-card p{
    font-size:16px!important;
    line-height:1.65!important;
}
.fbvm-single-contact-card .fbvm-btn{
    font-size:15px!important;
}
.fbvm-single-closing-note small{
    font-size:14px!important;
}
.fbvm-single-closing-note strong{
    font-size:20px!important;
}
.fbvm-single-share-note strong{
    font-size:18px!important;
}
.fbvm-single-share-note span{
    font-size:15px!important;
    line-height:1.55!important;
}

@media(max-width:700px){
    .fbvm-single-heading-meta{
        font-size:15px!important;
    }
    .fbvm-single-detail small{
        font-size:11px!important;
    }
    .fbvm-single-detail strong{
        font-size:15px!important;
    }
    .fbvm-single-content,
    .fbvm-single-content p,
    .fbvm-single-content li{
        font-size:18px!important;
        line-height:1.75!important;
    }
}

/* ===== v1.1.3 Social share buttons ===== */
.fbvm-single-share-note{
    gap:7px;
}
.fbvm-share-buttons{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-top:10px;
}
.fbvm-share-btn{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:42px;
    padding:9px 11px;
    border:1px solid #e4e7ec;
    border-radius:11px;
    background:#f9fafb;
    color:#172033!important;
    font-size:13px;
    font-weight:800;
    line-height:1.2;
    text-decoration:none!important;
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;
}
.fbvm-share-btn:hover{
    transform:translateY(-1px);
    border-color:#cfd5dd;
    box-shadow:0 7px 16px rgba(16,24,40,.07);
}
.fbvm-share-icon{
    display:grid;
    place-items:center;
    flex:0 0 28px;
    width:28px;
    height:28px;
    border-radius:8px;
    background:#fff;
    border:1px solid rgba(16,24,40,.08);
    font-size:11px;
    font-weight:900;
}
.fbvm-share-whatsapp{
    grid-column:1/-1;
    min-height:46px;
    background:#ecfdf3;
    border-color:#b7ebca;
    color:#067647!important;
}
.fbvm-share-whatsapp .fbvm-share-icon{
    background:#118451;
    border-color:#118451;
    color:#fff;
}
.fbvm-share-facebook .fbvm-share-icon{
    background:#eef4ff;
    color:#155eef;
}
.fbvm-share-x .fbvm-share-icon{
    background:#101828;
    color:#fff;
}
.fbvm-share-linkedin .fbvm-share-icon{
    background:#eaf2ff;
    color:#175cd3;
}
.fbvm-share-email .fbvm-share-icon{
    background:#fff4ed;
    color:#c4320a;
}
@media(max-width:480px){
    .fbvm-share-buttons{
        grid-template-columns:1fr;
    }
    .fbvm-share-whatsapp{
        grid-column:auto;
    }
}

/* ===== v1.1.4 WhatsApp icon refinement ===== */
.fbvm-share-icon svg{
    display:block;
    width:16px;
    height:16px;
    fill:currentColor;
}
.fbvm-share-whatsapp .fbvm-share-icon svg{
    width:17px;
    height:17px;
}

/* ===== v1.1.5 Vacancy card refresh ===== */
.fbvm-grid{
    gap:20px!important;
}

.fbvm-card{
    isolation:isolate;
    border-radius:22px!important;
    border:1px solid #e2e8f0!important;
    background:
        linear-gradient(180deg,#ffffff 0%,#ffffff 76%,#fbfcfe 100%)!important;
    box-shadow:
        0 1px 2px rgba(16,24,40,.03),
        0 10px 28px rgba(16,24,40,.055)!important;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease!important;
}

.fbvm-card:before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    z-index:1;
    height:4px;
    background:linear-gradient(90deg,#118451,#2aa36a);
    opacity:0;
    transition:opacity .2s ease;
}

.fbvm-card:hover{
    transform:translateY(-5px)!important;
    border-color:#cbd5e1!important;
    box-shadow:
        0 2px 5px rgba(16,24,40,.04),
        0 18px 38px rgba(16,24,40,.10)!important;
}

.fbvm-card:hover:before{
    opacity:1;
}

.fbvm-card.is-featured{
    border-color:#f4bd38!important;
    background:
        linear-gradient(180deg,#fffdf8 0%,#ffffff 35%,#ffffff 100%)!important;
    box-shadow:
        0 1px 2px rgba(181,71,8,.03),
        0 14px 34px rgba(181,71,8,.10)!important;
}

.fbvm-card.is-featured:before{
    opacity:1;
    background:linear-gradient(90deg,#f4b52f,#ffd875);
}

.fbvm-featured-badge{
    top:15px!important;
    right:15px!important;
    padding:7px 10px!important;
    border:1px solid #f5d991;
    box-shadow:0 4px 12px rgba(181,71,8,.08);
}

.fbvm-card-body{
    padding:22px!important;
}

.fbvm-tags{
    min-height:28px!important;
    gap:7px!important;
    padding-right:82px;
}

.fbvm-tag-link{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:5px 9px;
    border:1px solid #cdeedc;
    border-radius:999px;
    background:#ecfdf3;
    color:#067647!important;
    font-size:11px;
    font-weight:900;
    line-height:1;
    text-decoration:none!important;
    transition:
        transform .15s ease,
        background .15s ease,
        color .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.fbvm-tag-link:hover,
.fbvm-tag-link:focus{
    transform:translateY(-1px);
    background:#dff8e9;
    border-color:#94d8b4;
    color:#075f3a!important;
    box-shadow:0 4px 10px rgba(17,132,81,.08);
    outline:none;
}

.fbvm-tag-link.is-active{
    background:#118451;
    border-color:#118451;
    color:#fff!important;
}

.fbvm-card h3{
    margin:13px 0 6px!important;
    font-size:22px!important;
    line-height:1.2!important;
    letter-spacing:-.015em;
}

.fbvm-card h3 a{
    color:#101828!important;
}

.fbvm-card h3 a:hover{
    color:#087443!important;
}

.fbvm-employer{
    margin-bottom:12px!important;
    color:#344054!important;
    font-size:18px;
    line-height:1.35;
    font-weight:800!important;
}

.fbvm-meta{
    align-items:center;
    gap:7px!important;
    margin-bottom:14px!important;
    font-size:12px!important;
}

.fbvm-meta > span{
    display:inline-flex;
    align-items:center;
    gap:4px;
    min-height:29px;
    padding:5px 8px;
    border:1px solid #edf1f5;
    border-radius:9px;
    background:#f8fafc;
    color:#475467;
}

.fbvm-phone a{
    color:#17324a!important;
    font-weight:800!important;
}

.fbvm-phone a:hover{
    color:#087443!important;
}

.fbvm-excerpt{
    margin:0 0 18px!important;
    color:#566176!important;
    font-size:16px!important;
    font-weight:450;
    line-height:1.65!important;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
    overflow:hidden;
}

.fbvm-deadline{
    padding:14px 0 0!important;
    border-top:1px solid #e9eef4!important;
    font-size:12px!important;
}

.fbvm-deadline span{
    color:#667085;
}

.fbvm-deadline strong{
    display:inline-flex;
    align-items:center;
    padding:4px 8px;
    border-radius:999px;
    background:#fff4ed;
    color:#c4320a!important;
    font-size:11px;
    line-height:1;
}

.fbvm-actions{
    flex-wrap:wrap!important;
    gap:8px!important;
    margin-top:15px!important;
}

.fbvm-actions .fbvm-btn{
    min-height:43px!important;
    border-radius:11px!important;
    padding:9px 14px!important;
}

.fbvm-actions .fbvm-btn-primary{
    flex:1 1 135px;
    box-shadow:0 5px 12px rgba(17,132,81,.16);
}

.fbvm-actions .fbvm-btn:not(.fbvm-btn-primary){
    background:#fff!important;
}

@media(max-width:700px){
    .fbvm-card-body{
        padding:19px!important;
    }

    .fbvm-tags{
        padding-right:72px;
    }

    .fbvm-card h3{
        font-size:21px!important;
    }

    .fbvm-excerpt{
        font-size:15px!important;
        -webkit-line-clamp:5;
    }

    .fbvm-actions .fbvm-btn-primary{
        flex-basis:100%;
    }
}

/* ===== v1.1.7 Vacancy pagination ===== */
.fbvm-pagination{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-top:28px;
    padding:16px 18px;
    border:1px solid #e4e7ec;
    border-radius:16px;
    background:#fff;
    box-shadow:0 5px 20px rgba(16,24,40,.045);
}
.fbvm-pagination[hidden]{
    display:none!important;
}
.fbvm-pagination-summary{
    color:#667085;
    font-size:14px;
    font-weight:700;
}
.fbvm-pagination-controls{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:7px;
}
.fbvm-page-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:40px;
    min-height:40px;
    padding:8px 12px;
    border:1px solid #d0d5dd;
    border-radius:10px;
    background:#fff;
    color:#344054;
    font:inherit;
    font-size:13px;
    font-weight:800;
    line-height:1;
    cursor:pointer;
    transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.fbvm-page-btn:hover:not(:disabled):not(.is-current){
    transform:translateY(-1px);
    border-color:#98a2b3;
    background:#f9fafb;
    box-shadow:0 4px 10px rgba(16,24,40,.06);
}
.fbvm-page-btn.is-current{
    border-color:#118451;
    background:#118451;
    color:#fff;
    cursor:default;
}
.fbvm-page-btn:disabled{
    opacity:.45;
    cursor:not-allowed;
}
.fbvm-page-prev,
.fbvm-page-next{
    min-width:78px;
}
.fbvm-page-ellipsis{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    min-height:40px;
    color:#98a2b3;
    font-weight:800;
}
@media(max-width:700px){
    .fbvm-pagination{
        align-items:stretch;
        flex-direction:column;
        padding:14px;
    }
    .fbvm-pagination-summary{
        text-align:center;
    }
    .fbvm-pagination-controls{
        justify-content:center;
    }
    .fbvm-page-prev,
    .fbvm-page-next{
        min-width:auto;
    }
}

/* ===== v1.1.8 Show All Categories pill ===== */
.fbvm-show-all-categories{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:27px;
    padding:5px 10px;
    border:1px solid #d0d5dd;
    border-radius:999px;
    background:#fff;
    color:#344054;
    font:inherit;
    font-size:11px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    transition:
        transform .15s ease,
        background .15s ease,
        border-color .15s ease,
        color .15s ease,
        box-shadow .15s ease;
}
.fbvm-show-all-categories:hover,
.fbvm-show-all-categories:focus{
    transform:translateY(-1px);
    border-color:#98a2b3;
    background:#f8fafc;
    color:#101828;
    box-shadow:0 4px 10px rgba(16,24,40,.07);
    outline:none;
}
.fbvm-tag-link.is-active + .fbvm-show-all-categories{
    border-color:#cbd5e1;
}

/* ===== v1.4.0 AJAX search, quick filters & closing indicators ===== */
.fbvm-search{
    position:relative;
}
.fbvm-search-icon{
    position:absolute;
    left:13px;
    top:50%;
    z-index:2;
    transform:translateY(-50%);
    color:#667085;
    font-size:20px;
    line-height:1;
    pointer-events:none;
}
.fbvm-toolbar .fbvm-search input{
    padding-left:39px!important;
}

.fbvm-quick-filters{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin:-8px 0 22px;
    padding:0 4px;
}
.fbvm-quick-label{
    margin-right:3px;
    color:#667085;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.fbvm-quick-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:7px 11px;
    border:1px solid #d8dee7;
    border-radius:999px;
    background:#fff;
    color:#344054;
    font:inherit;
    font-size:12px;
    font-weight:800;
    line-height:1;
    cursor:pointer;
    transition:transform .15s ease,border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease;
}
.fbvm-quick-chip:hover,
.fbvm-quick-chip:focus{
    transform:translateY(-1px);
    border-color:#aeb8c6;
    background:#f8fafc;
    outline:none;
    box-shadow:0 4px 10px rgba(16,24,40,.06);
}
.fbvm-quick-chip.is-active{
    border-color:#118451;
    background:#118451;
    color:#fff;
}
.fbvm-quick-chip.is-priority:not(.is-active){
    border-color:#fedf89;
    background:#fffaeb;
    color:#b54708;
}

.fbvm-loading{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:52px;
    margin:0 0 16px;
    padding:12px;
    border:1px solid #dce3ea;
    border-radius:13px;
    background:#f8fafc;
    color:#475467;
    font-size:13px;
    font-weight:800;
}
.fbvm-loading[hidden]{
    display:none!important;
}
.fbvm-loading-spinner{
    width:18px;
    height:18px;
    border:2px solid #d0d5dd;
    border-top-color:#118451;
    border-radius:50%;
    animation:fbvm-spin .7s linear infinite;
}
@keyframes fbvm-spin{
    to{transform:rotate(360deg)}
}
.fbvm-board.is-loading .fbvm-grid{
    opacity:.55;
    pointer-events:none;
    transition:opacity .15s ease;
}

/* Closing urgency */
.fbvm-card{
    position:relative;
}
.fbvm-urgency-badge{
    position:absolute;
    top:15px;
    right:15px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:6px 9px;
    border-radius:999px;
    border:1px solid #fedf89;
    background:#fffaeb;
    color:#b54708;
    box-shadow:0 4px 12px rgba(181,71,8,.08);
    font-size:10px;
    font-weight:900;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.fbvm-card.is-featured .fbvm-urgency-badge{
    top:49px;
}
.fbvm-card.urgency-closing-today{
    border-color:#fda29b!important;
}
.fbvm-card.urgency-closing-today:before{
    opacity:1!important;
    background:linear-gradient(90deg,#d92d20,#f97066)!important;
}
.fbvm-card.urgency-closing-today .fbvm-urgency-badge{
    border-color:#fda29b;
    background:#fef3f2;
    color:#b42318;
}
.fbvm-card.urgency-closing-tomorrow{
    border-color:#fec84b!important;
}
.fbvm-card.urgency-closing-soon{
    border-color:#fedf89!important;
}
.fbvm-deadline-status.status-closing-today{
    background:#fef3f2!important;
    color:#b42318!important;
}
.fbvm-deadline-status.status-closing-tomorrow,
.fbvm-deadline-status.status-closing-soon{
    background:#fffaeb!important;
    color:#b54708!important;
}
.fbvm-deadline-status.status-normal{
    background:#f2f4f7!important;
    color:#475467!important;
}

@media(max-width:700px){
    .fbvm-quick-filters{
        margin-top:-5px;
        overflow-x:auto;
        flex-wrap:nowrap;
        padding:2px 0 7px;
        scrollbar-width:thin;
    }
    .fbvm-quick-label{
        flex:0 0 auto;
    }
    .fbvm-quick-chip{
        flex:0 0 auto;
    }
    .fbvm-urgency-badge{
        top:14px;
        right:14px;
    }
    .fbvm-card.is-featured .fbvm-urgency-badge{
        top:48px;
    }
}

/* ===== v1.4.3 Quick filter fix + reset button ===== */
.fbvm-reset-filters{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    margin-left:auto;
    padding:7px 12px;
    border:1px solid #d0d5dd;
    border-radius:999px;
    background:#f8fafc;
    color:#344054;
    font:inherit;
    font-size:12px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    white-space:nowrap;
    transition:transform .15s ease,border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease;
}
.fbvm-reset-filters:hover,
.fbvm-reset-filters:focus{
    transform:translateY(-1px);
    border-color:#98a2b3;
    background:#fff;
    color:#101828;
    box-shadow:0 4px 10px rgba(16,24,40,.06);
    outline:none;
}

@media(max-width:700px){
    .fbvm-reset-filters{
        flex:0 0 auto;
        margin-left:6px;
    }
}

/* ===== v1.4.4 Modern filter toolbar ===== */
.fbvm-toolbar{
    grid-template-columns:minmax(300px,1.8fr) repeat(3,minmax(145px,.72fr)) auto!important;
    gap:12px!important;
    align-items:end;
    padding:16px!important;
    margin-bottom:20px!important;
    border:1px solid #dfe6ed!important;
    border-radius:20px!important;
    background:
        radial-gradient(circle at 0% 0%,rgba(17,132,81,.06),transparent 34%),
        linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%)!important;
    box-shadow:
        0 1px 2px rgba(16,24,40,.02),
        0 10px 30px rgba(16,24,40,.06)!important;
}

.fbvm-toolbar-search,
.fbvm-filter-control,
.fbvm-clear-wrap{
    display:flex;
    flex-direction:column;
    gap:7px;
    min-width:0;
}

.fbvm-control-label{
    display:block;
    padding-left:2px;
    color:#667085;
    font-size:10px;
    font-weight:900;
    line-height:1;
    letter-spacing:.075em;
    text-transform:uppercase;
}

.fbvm-control-label-spacer{
    visibility:hidden;
}

.fbvm-search{
    position:relative;
    display:block;
}

.fbvm-search-icon{
    left:15px!important;
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
    border-radius:9px;
    background:#ecfdf3;
    color:#087443!important;
    font-size:18px!important;
    font-weight:900;
}

.fbvm-toolbar input,
.fbvm-toolbar select{
    min-height:50px!important;
    border:1px solid #d0d8e2!important;
    border-radius:13px!important;
    background:#fff!important;
    color:#172033!important;
    box-shadow:0 1px 2px rgba(16,24,40,.02);
    transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

.fbvm-toolbar .fbvm-search input{
    padding-left:51px!important;
    padding-right:15px!important;
    font-size:15px!important;
}

.fbvm-toolbar select{
    padding:0 34px 0 13px!important;
    font-size:14px!important;
    font-weight:700;
    cursor:pointer;
}

.fbvm-toolbar input::placeholder{
    color:#98a2b3;
}

.fbvm-toolbar input:hover,
.fbvm-toolbar select:hover{
    border-color:#b9c3cf!important;
    background:#fff!important;
}

.fbvm-toolbar input:focus,
.fbvm-toolbar select:focus{
    outline:none!important;
    border-color:#118451!important;
    box-shadow:0 0 0 4px rgba(17,132,81,.11)!important;
}

.fbvm-clear{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:50px!important;
    padding:0 16px!important;
    border:1px solid #d0d8e2!important;
    border-radius:13px!important;
    background:#f2f4f7!important;
    color:#344054!important;
    font-size:13px;
    font-weight:900!important;
    white-space:nowrap;
    transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease!important;
}

.fbvm-clear:hover,
.fbvm-clear:focus{
    transform:translateY(-1px);
    border-color:#aeb8c5!important;
    background:#fff!important;
    box-shadow:0 5px 14px rgba(16,24,40,.07);
    outline:none;
}

.fbvm-clear span:first-child{
    font-size:17px;
    line-height:1;
}

@media(max-width:1100px){
    .fbvm-toolbar{
        grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;
    }
    .fbvm-toolbar-search{
        grid-column:1/-1;
    }
}

@media(max-width:760px){
    .fbvm-toolbar{
        position:static!important;
        grid-template-columns:1fr 1fr!important;
        padding:14px!important;
        border-radius:17px!important;
    }

    .fbvm-toolbar-search{
        grid-column:1/-1;
    }

    .fbvm-clear-wrap{
        grid-column:1/-1;
    }

    .fbvm-control-label-spacer{
        display:none;
    }

    .fbvm-clear{
        width:100%;
    }
}

@media(max-width:520px){
    .fbvm-toolbar{
        grid-template-columns:1fr!important;
    }

    .fbvm-toolbar-search,
    .fbvm-filter-control,
    .fbvm-clear-wrap{
        grid-column:auto!important;
    }
}

/* ===== v1.4.5 Stronger search & dropdown icons ===== */
.fbvm-search-icon{
    left:13px!important;
    width:32px!important;
    height:32px!important;
    border-radius:10px!important;
    background:#e8f8ef!important;
    color:#087443!important;
}

.fbvm-search-icon svg{
    display:block;
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.fbvm-toolbar .fbvm-search input{
    padding-left:55px!important;
}

/* Remove the browser's small default arrow and use one consistent,
   heavier arrow so Category, Location and Sort align perfectly. */
.fbvm-toolbar select{
    -webkit-appearance:none!important;
    -moz-appearance:none!important;
    appearance:none!important;
    padding-right:46px!important;
    background-color:#fff!important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23172033' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
    background-repeat:no-repeat!important;
    background-position:right 14px center!important;
    background-size:18px 18px!important;
}

/* Hide legacy IE/Edge select arrow where applicable. */
.fbvm-toolbar select::-ms-expand{
    display:none;
}

@media(max-width:760px){
    .fbvm-toolbar select{
        background-position:right 13px center!important;
    }
}

/* ===== v1.4.6 Stable dropdown arrows ===== */

/* Keep the filter wrapper as the fixed positioning context. */
.fbvm-filter-control{
    position:relative;
}

/* Remove the select background-image arrow completely.
   Using a wrapper pseudo-element avoids browser repaint/jump issues. */
.fbvm-toolbar select{
    -webkit-appearance:none!important;
    -moz-appearance:none!important;
    appearance:none!important;
    background-image:none!important;
    background-color:#fff!important;
    padding-right:48px!important;
}

/* One stable arrow anchored to the control wrapper. */
.fbvm-filter-control::after{
    content:"";
    position:absolute;
    right:17px;
    bottom:19px;
    width:9px;
    height:9px;
    border-right:3px solid #172033;
    border-bottom:3px solid #172033;
    transform:rotate(45deg);
    transform-origin:center;
    pointer-events:none;
    z-index:3;
}

/* Slightly adjust only for compact mobile spacing. */
@media(max-width:760px){
    .fbvm-filter-control::after{
        right:16px;
        bottom:19px;
    }
}

/* ===== v2.0.0 Multi-type FiwiBusiness Listings ===== */
.fbvm-type-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 16px;
    padding:7px;
    border:1px solid #e1e7ee;
    border-radius:15px;
    background:#f8fafc;
}
.fbvm-type-tab{
    min-height:37px;
    padding:8px 13px;
    border:1px solid transparent;
    border-radius:10px;
    background:transparent;
    color:#475467;
    font:inherit;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
}
.fbvm-type-tab:hover{
    background:#fff;
    border-color:#d0d5dd;
}
.fbvm-type-tab.is-active{
    background:#101828;
    border-color:#101828;
    color:#fff;
    box-shadow:0 5px 12px rgba(16,24,40,.12);
}

.fbvm-listing-type-badge{
    display:inline-flex;
    align-items:center;
    width:max-content;
    min-height:25px;
    margin-bottom:6px;
    padding:5px 8px;
    border-radius:8px;
    background:#f2f4f7;
    color:#475467;
    font-size:10px;
    font-weight:900;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.045em;
}
.fbvm-listing-type-badge.type-vacancy,
.fbvm-listing-type-badge.type-apprenticeship{
    background:#eef4ff;
    color:#175cd3;
}
.fbvm-listing-type-badge.type-job_seeker{
    background:#f4f3ff;
    color:#5925dc;
}
.fbvm-listing-type-badge.type-service{
    background:#ecfdf3;
    color:#067647;
}
.fbvm-listing-type-badge.type-opportunity{
    background:#fff6ed;
    color:#b54708;
}
.fbvm-listing-type-badge.type-wanted{
    background:#fef3f2;
    color:#b42318;
}
.fbvm-listing-type-badge.type-for_sale,
.fbvm-listing-type-badge.type-rental,
.fbvm-listing-type-badge.type-classified{
    background:#f2f4f7;
    color:#344054;
}

.fbvm-type-summary{
    margin:-2px 0 13px;
    padding:8px 10px;
    border-radius:10px;
    background:#f8fafc;
    color:#475467;
    font-size:12px;
    font-weight:700;
    line-height:1.4;
}
.fbvm-inline-sub{
    color:#667085;
    font-size:.86em;
    font-weight:600;
}
.fbvm-btn-whatsapp{
    border-color:#b7ebca!important;
    background:#ecfdf3!important;
    color:#067647!important;
}

.listing-type-job_seeker:before{
    background:linear-gradient(90deg,#7f56d9,#9e77ed)!important;
}
.listing-type-service:before{
    background:linear-gradient(90deg,#118451,#2aa36a)!important;
}
.listing-type-opportunity:before{
    background:linear-gradient(90deg,#f79009,#fdb022)!important;
}

@media(max-width:700px){
    .fbvm-type-tabs{
        flex-wrap:nowrap;
        overflow-x:auto;
        scrollbar-width:thin;
    }
    .fbvm-type-tab{
        flex:0 0 auto;
    }
}

/* ===== v2.0.1 Context-aware quick filters ===== */
.fbvm-quick-label{
    color:#344054!important;
    font-size:11px!important;
}
.fbvm-quick-filters{
    min-height:38px;
}
.fbvm-type-tab.is-active + .fbvm-quick-filters{
    transition:opacity .15s ease;
}

/* ===== v2.0.2 Larger listing tabs + counts ===== */
.fbvm-type-tabs{
    display:flex!important;
    align-items:stretch;
    flex-wrap:wrap!important;
    gap:10px!important;
    margin:0 0 20px!important;
    padding:10px!important;
    border:1px solid #dce3eb!important;
    border-radius:19px!important;
    background:
        radial-gradient(circle at 0% 0%,rgba(17,132,81,.055),transparent 30%),
        linear-gradient(180deg,#fbfcfe 0%,#f6f8fb 100%)!important;
    box-shadow:
        0 1px 2px rgba(16,24,40,.02),
        0 8px 24px rgba(16,24,40,.055);
}

.fbvm-type-tab{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    flex:1 1 140px;
    min-width:125px;
    min-height:50px!important;
    padding:10px 14px!important;
    border:1px solid transparent!important;
    border-radius:13px!important;
    background:transparent!important;
    color:#344054!important;
    font-size:14px!important;
    font-weight:900!important;
    line-height:1.1!important;
    letter-spacing:-.01em;
    white-space:nowrap;
    transition:
        transform .15s ease,
        background .15s ease,
        border-color .15s ease,
        color .15s ease,
        box-shadow .15s ease!important;
}

.fbvm-type-tab:hover,
.fbvm-type-tab:focus{
    transform:translateY(-1px);
    border-color:#d0d5dd!important;
    background:#fff!important;
    color:#101828!important;
    box-shadow:0 5px 14px rgba(16,24,40,.065);
    outline:none;
}

.fbvm-type-tab.is-active{
    border-color:#101828!important;
    background:linear-gradient(135deg,#101828,#1d2939)!important;
    color:#fff!important;
    box-shadow:0 8px 18px rgba(16,24,40,.18)!important;
}

.fbvm-type-tab-label{
    display:inline-block;
}

.fbvm-type-tab-count{
    display:inline-grid;
    place-items:center;
    min-width:29px;
    height:27px;
    padding:0 8px;
    border:1px solid #d0d5dd;
    border-radius:999px;
    background:#fff;
    color:#475467;
    font-size:12px;
    font-weight:900;
    line-height:1;
    box-shadow:0 1px 2px rgba(16,24,40,.03);
}

.fbvm-type-tab.is-active .fbvm-type-tab-count{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.14);
    color:#fff;
    box-shadow:none;
}

@media(max-width:900px){
    .fbvm-type-tabs{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .fbvm-type-tab{
        width:100%;
        min-width:0;
        flex:none;
    }
}

@media(max-width:600px){
    .fbvm-type-tabs{
        display:flex!important;
        flex-wrap:nowrap!important;
        overflow-x:auto;
        padding:8px!important;
        gap:8px!important;
        scrollbar-width:thin;
    }

    .fbvm-type-tab{
        flex:0 0 auto;
        min-width:max-content;
        min-height:46px!important;
        padding:9px 12px!important;
        font-size:13px!important;
    }

    .fbvm-type-tab-count{
        min-width:27px;
        height:25px;
        font-size:11px;
    }
}

/* ===== v2.0.3 Google AdSense placements ===== */
.fbvm-adsense{
    width:100%;
    min-width:0;
    margin:16px 0 20px;
    padding:8px 0;
    overflow:hidden;
    text-align:center;
}
.fbvm-adsense-board{
    margin-top:2px;
    margin-bottom:18px;
}
.fbvm-adsense-single{
    margin-top:18px;
    margin-bottom:18px;
}
.fbvm-adsense .adsbygoogle{
    width:100%;
    min-height:90px;
}
@media(max-width:700px){
    .fbvm-adsense{
        margin:12px 0 16px;
        padding:4px 0;
    }
}

/* ===== v2.1.1 Related listings ===== */
.fbvm-related-section{
    margin-top:28px;
    padding:24px;
    border:1px solid #e1e7ee;
    border-radius:22px;
    background:
        radial-gradient(circle at 100% 0%,rgba(17,132,81,.055),transparent 28%),
        linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    box-shadow:0 10px 30px rgba(16,24,40,.05);
}
.fbvm-related-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}
.fbvm-related-heading > div > span{
    display:block;
    margin-bottom:5px;
    color:#118451;
    font-size:11px;
    font-weight:900;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.fbvm-related-heading h2{
    margin:0!important;
    color:#172033!important;
    font-size:28px!important;
    line-height:1.15!important;
}
.fbvm-related-count{
    flex:0 0 auto;
    padding:6px 10px;
    border:1px solid #d8e0e8;
    border-radius:999px;
    background:#fff;
    color:#667085;
    font-size:11px;
    font-weight:800;
}
.fbvm-related-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px;
}
.fbvm-related-card{
    min-width:0;
    overflow:hidden;
    border:1px solid #e1e7ee;
    border-radius:17px;
    background:#fff;
    box-shadow:0 5px 16px rgba(16,24,40,.045);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.fbvm-related-card:hover{
    transform:translateY(-3px);
    border-color:#c7d0db;
    box-shadow:0 12px 26px rgba(16,24,40,.09);
}
.fbvm-related-card-link{
    display:block;
    height:100%;
    color:inherit!important;
    text-decoration:none!important;
}
.fbvm-related-thumb{
    aspect-ratio:16/8.5;
    overflow:hidden;
    background:#eef2f6;
}
.fbvm-related-thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .25s ease;
}
.fbvm-related-card:hover .fbvm-related-thumb img{
    transform:scale(1.025);
}
.fbvm-related-body{
    display:flex;
    flex-direction:column;
    min-height:190px;
    padding:17px;
}
.fbvm-related-type{
    display:inline-flex;
    align-items:center;
    width:max-content;
    min-height:24px;
    margin-bottom:9px;
    padding:5px 8px;
    border-radius:8px;
    background:#eef4ff;
    color:#175cd3;
    font-size:10px;
    font-weight:900;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.fbvm-related-card.listing-type-job_seeker .fbvm-related-type{
    background:#f4f3ff;
    color:#5925dc;
}
.fbvm-related-card.listing-type-service .fbvm-related-type{
    background:#ecfdf3;
    color:#067647;
}
.fbvm-related-card.listing-type-opportunity .fbvm-related-type{
    background:#fff6ed;
    color:#b54708;
}
.fbvm-related-body h3{
    margin:0 0 6px!important;
    color:#101828!important;
    font-size:18px!important;
    line-height:1.25!important;
}
.fbvm-related-secondary{
    margin-bottom:10px;
    color:#475467;
    font-size:13px;
    font-weight:800;
}
.fbvm-related-meta{
    display:flex;
    flex-direction:column;
    gap:5px;
    margin-bottom:13px;
    color:#667085;
    font-size:12px;
    line-height:1.4;
}
.fbvm-related-view{
    margin-top:auto;
    color:#087443;
    font-size:12px;
    font-weight:900;
}
@media(max-width:900px){
    .fbvm-related-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:620px){
    .fbvm-related-section{
        margin-top:20px;
        padding:17px;
        border-radius:18px;
    }
    .fbvm-related-heading{
        align-items:flex-start;
        flex-direction:column;
    }
    .fbvm-related-heading h2{
        font-size:24px!important;
    }
    .fbvm-related-grid{
        grid-template-columns:1fr;
    }
    .fbvm-related-body{
        min-height:0;
    }
}

/* ===== v2.2.0 Sale price support ===== */
.fbvm-card-price{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 14px;
    padding:10px 12px;
    border:1px solid #d9e7df;
    border-radius:12px;
    background:#f4fbf7;
}
.fbvm-card-price span{
    color:#667085;
    font-size:10px;
    font-weight:900;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.fbvm-card-price strong{
    color:#087443;
    font-size:18px;
    line-height:1.15;
}
.listing-type-for_sale .fbvm-card-price{
    border-color:#d7e2ee;
    background:#f7f9fc;
}
.listing-type-for_sale .fbvm-card-price strong{
    color:#101828;
}
.fbvm-single-price-detail{
    border-color:#cdebd9!important;
    background:#fbfffc!important;
}
.fbvm-single-price-detail strong{
    color:#087443!important;
    font-size:17px!important;
}

/* ===== v2.2.2 URL-aware pagination ===== */
.fbvm-page-btn{
    text-decoration:none!important;
}
.fbvm-page-btn.is-disabled{
    opacity:.45;
    cursor:not-allowed;
    pointer-events:none;
}
.fbvm-page-btn.is-current{
    pointer-events:none;
}
