/*
Theme Name: WB Jobs 24
Theme URI: https://wbjobs24.in
Author: WBJobs24.in
Author URI: https://wbjobs24.in
Description: Clean, friendly job portal theme for WBJobs24.in. Soft blue design with rounded job cards, filterable job board tabs, live deadline countdowns, Deadline Radar, saved jobs drawer, dark mode, job details (vacancy, salary, qualification, dates), JobPosting schema, sticky mobile apply bar and bottom app-style navigation.
Version: 3.6.1
Requires at least: 5.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: wbjobs24
*/

:root{
  --bg:#f4f7fb; --card:#ffffff; --ink:#1d2939; --muted:#667085; --line:#e4e9f0; --soft:#eef3fa;
  --brand:#1b5fd1; --brand-dark:#154aa5; --brand-soft:#e8f0fd;
  --green:#12a150; --green-soft:#e6f6ec; --orange:#e8590c; --orange-soft:#fff1e7;
  --amber:#b7791f; --amber-soft:#fff7e0; --red:#d92d20; --red-soft:#fdecea;
  --radius:12px; --shadow:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.06);
  --shadow-lg:0 8px 24px -6px rgba(16,24,40,.12);
  --f-head:'Plus Jakarta Sans','Hind Siliguri',system-ui,sans-serif;
  --f-body:'Plus Jakarta Sans','Hind Siliguri',system-ui,sans-serif;
  --w:1200px;
}
html[data-theme="dark"]{
  --bg:#0f1520; --card:#171f2d; --ink:#e6ebf2; --muted:#98a2b3; --line:#263042; --soft:#1d2636;
  --brand:#5b8ff0; --brand-dark:#7aa5f5; --brand-soft:#1c2a45;
  --green-soft:#12301f; --orange-soft:#33200f; --amber-soft:#30260f; --red-soft:#3a1714;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:15.5px/1.65 var(--f-body);padding-bottom:64px;-webkit-font-smoothing:antialiased}
@media(min-width:900px){body{padding-bottom:0}}
a{color:inherit}
img{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--f-head);line-height:1.25;margin:0 0 .5em;font-weight:700}
.wrap{max-width:var(--w);margin:0 auto;padding:0 18px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.skip-link:focus{clip:auto;width:auto;height:auto;z-index:999;background:var(--brand);color:#fff;padding:10px;left:10px;top:10px}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

.wbj-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--brand);z-index:300}

/* latest strip */
.wbj-alert{background:var(--brand-dark);color:#fff;font-size:13.5px}
html[data-theme="dark"] .wbj-alert{background:#11284f}
.wbj-alert .wrap{display:flex;align-items:center;gap:14px;height:38px}
.wbj-live{display:inline-flex;align-items:center;gap:7px;background:#fff;color:var(--brand-dark);padding:3px 10px;border-radius:999px;font-weight:700;font-size:12px;flex:none}
.wbj-live i{width:7px;height:7px;border-radius:50%;background:var(--red);animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.3}}
.wbj-marquee{flex:1;overflow:hidden;white-space:nowrap}
.wbj-marquee-in{display:inline-block;animation:mq 45s linear infinite}
.wbj-marquee:hover .wbj-marquee-in{animation-play-state:paused}
.wbj-marquee a{text-decoration:none;margin-right:32px;opacity:.95}
.wbj-marquee a:hover{text-decoration:underline}
.wbj-marquee a::before{content:"•";margin-right:10px;opacity:.6}
@keyframes mq{to{transform:translateX(-50%)}}

/* header */
.wbj-head{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}
.wbj-head .wrap{display:flex;align-items:center;gap:18px;height:68px}
.wbj-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 22px/1 var(--f-head);color:var(--ink)}
.wbj-brand .mk{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--brand);color:#fff}
.wbj-brand .mk svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.wbj-brand b{color:var(--orange)}
.wbj-brand small{display:block;font-weight:500;font-size:11.5px;color:var(--muted);margin-top:4px}
.wbj-nav{margin-left:auto}
.wbj-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.wbj-nav a{display:block;padding:8px 12px;border-radius:8px;text-decoration:none;font-weight:600;font-size:14.5px;color:var(--ink)}
.wbj-nav a:hover,.wbj-nav .current-menu-item>a{background:var(--brand-soft);color:var(--brand)}
.wbj-nav li{position:relative}
.wbj-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:210px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;flex-direction:column;z-index:5}
.wbj-nav li:hover>.sub-menu{display:flex}
.wbj-tools{display:flex;gap:6px}
.wbj-ibtn{position:relative;width:40px;height:40px;display:grid;place-items:center;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:background .15s}
.wbj-ibtn:hover{background:var(--soft)}
.wbj-ibtn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wbj-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;background:var(--orange);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;border-radius:999px}
.wbj-count:empty,.wbj-count[data-n="0"]{display:none}
.wbj-burger{display:none}
@media(max-width:899px){
  .wbj-nav{position:fixed;inset:68px 0 auto 0;background:var(--card);border-bottom:1px solid var(--line);display:none;padding:10px 16px;box-shadow:var(--shadow-lg)}
  .wbj-nav.open{display:block}
  .wbj-nav ul{flex-direction:column}
  .wbj-nav .sub-menu{position:static;display:flex;box-shadow:none;border:0;padding-left:14px}
  .wbj-burger{display:grid}
  .wbj-tools{margin-left:auto}
}

/* search overlay */
.wbj-search{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:400;display:none;place-items:start center;padding-top:14vh}
.wbj-search.open{display:grid}
.wbj-search form{width:min(640px,92vw);background:var(--card);border-radius:14px;padding:14px;box-shadow:var(--shadow-lg)}
.wbj-search input{width:100%;font:500 18px var(--f-body);padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
.wbj-search p{font-size:12.5px;color:var(--muted);margin:8px 4px 0}

/* hero */
.wbj-hero{background:linear-gradient(180deg,var(--brand-soft),var(--bg));padding:46px 0 40px}
.wbj-hero .wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}
.wbj-kicker{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--brand);background:var(--card);border:1px solid var(--line);padding:5px 12px;border-radius:999px;margin-bottom:14px}
.wbj-kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}
.wbj-hero h1{font-size:clamp(30px,4.4vw,48px);font-weight:800;letter-spacing:-.02em;line-height:1.15}
.wbj-hero h1 em{font-style:normal;color:var(--brand)}
.wbj-hero h1 u{text-decoration:none;color:var(--orange)}
.wbj-hero p.lead{font-size:17px;color:var(--muted);max-width:54ch;margin:0}
.wbj-bigsearch{display:flex;gap:8px;margin:24px 0 16px;padding:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg)}
.wbj-bigsearch input{flex:1;border:0;background:transparent;padding:10px 12px;font:500 16px var(--f-body);color:var(--ink);min-width:0;outline:0}
.wbj-bigsearch button{border:0;border-radius:10px;background:var(--brand);color:#fff;font:700 15px var(--f-head);padding:0 22px;cursor:pointer;transition:background .15s}
.wbj-bigsearch button:hover{background:var(--brand-dark)}
.wbj-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.wbj-chips::before{content:"Popular:";font-size:13px;color:var(--muted);margin-right:2px}
.wbj-chip{font-size:13px;font-weight:500;text-decoration:none;padding:5px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--ink)}
.wbj-chip:hover{border-color:var(--brand);color:var(--brand)}
.wbj-quick{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow-lg)}
.wbj-quick h2{font-size:17px;margin-bottom:14px}
.wbj-tile{display:flex;gap:14px;align-items:center;padding:12px;border-radius:12px;text-decoration:none;transition:background .15s}
.wbj-tile+.wbj-tile{margin-top:4px}
.wbj-tile:hover{background:var(--soft)}
.wbj-tile .ic{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center}
.wbj-tile svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.wbj-tile.t-job .ic{background:var(--brand-soft);color:var(--brand)}
.wbj-tile.t-result .ic{background:var(--green-soft);color:var(--green)}
.wbj-tile.t-admit .ic{background:var(--orange-soft);color:var(--orange)}
.wbj-tile.t-admission .ic{background:var(--amber-soft);color:var(--amber)}
.wbj-tile b{display:block;font-size:15px}
.wbj-tile small{color:var(--muted);font-size:13px}
.wbj-open{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.wbj-open strong{color:var(--green)}
@media(max-width:899px){.wbj-hero .wrap{grid-template-columns:1fr}.wbj-hero{padding:30px 0}}

/* layout */
.wbj-grid{display:grid;grid-template-columns:230px 1fr 300px;gap:24px;padding:30px 18px 50px}
.wbj-grid.two{grid-template-columns:1fr 320px}
@media(max-width:1100px){.wbj-grid{grid-template-columns:1fr 300px}.wbj-rail{display:none}}
@media(max-width:899px){.wbj-grid,.wbj-grid.two{grid-template-columns:1fr}}

.wbj-rail{position:sticky;top:90px;align-self:start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 10px}
.wbj-rail h3{font-size:14px;padding:0 8px;margin-bottom:8px}
.wbj-rail ol{list-style:none;margin:0;padding:0}
.wbj-rail a{display:flex;justify-content:space-between;align-items:center;padding:8px;border-radius:8px;text-decoration:none;font-size:14px;color:var(--ink)}
.wbj-rail a:hover{background:var(--brand-soft);color:var(--brand)}
.wbj-rail a small{font-size:12px;color:var(--muted);background:var(--soft);padding:1px 8px;border-radius:999px}

/* board */
.wbj-board-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.wbj-board-head h2{font-size:22px;margin:0}
.wbj-tabs{display:flex;flex-wrap:wrap;gap:6px}
.wbj-tab{border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 13px var(--f-body);padding:6px 13px;border-radius:999px;cursor:pointer}
.wbj-tab:hover{border-color:var(--brand)}
.wbj-tab[aria-selected="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.wbj-list{display:flex;flex-direction:column;gap:12px}
.wbj-job{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s;position:relative}
.wbj-job:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line));box-shadow:var(--shadow-lg)}
.wbj-job[hidden]{display:none}
.wbj-ava{width:52px;height:52px;display:grid;place-items:center;border-radius:12px;font:700 17px var(--f-head);background:var(--brand-soft);color:var(--brand);overflow:hidden}
.wbj-ava img{width:100%;height:100%;object-fit:cover}
.wbj-job:nth-child(4n+2) .wbj-ava{background:var(--green-soft);color:var(--green)}
.wbj-job:nth-child(4n+3) .wbj-ava{background:var(--orange-soft);color:var(--orange)}
.wbj-job:nth-child(4n+4) .wbj-ava{background:var(--amber-soft);color:var(--amber)}
.wbj-job h3{font-size:16.5px;font-weight:700;margin:0 0 4px}
.wbj-job h3 a{text-decoration:none}
.wbj-job:hover h3 a{color:var(--brand)}
.wbj-job h3 a::after{content:"";position:absolute;inset:0}
.wbj-facts{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:13.5px;color:var(--muted)}
.wbj-facts span+span::before{content:"·";margin-right:8px;opacity:.6}
.wbj-side{display:flex;flex-direction:column;align-items:end;gap:8px;position:relative;z-index:2}
.wbj-side>div{display:flex;gap:6px}
.wbj-tag{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--soft);color:var(--muted)}
.wbj-tag.t-new{background:var(--green-soft);color:var(--green)}
.wbj-tag.t-updated{background:var(--brand-soft);color:var(--brand)}
.wbj-tag.t-extended{background:var(--amber-soft);color:var(--amber)}
.wbj-tag.t-closed{text-decoration:line-through}
.wbj-tag.t-result{background:var(--green-soft);color:var(--green)}
.wbj-tag.t-admit{background:var(--orange-soft);color:var(--orange)}
.wbj-cd{font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:6px;background:var(--brand-soft);color:var(--brand)}
.wbj-cd.hot{background:var(--red-soft);color:var(--red)}
.wbj-cd.over{background:var(--soft);color:var(--muted)}
.wbj-save{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--card);cursor:pointer;color:var(--muted)}
.wbj-save:hover{color:var(--brand);border-color:var(--brand)}
.wbj-save svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
.wbj-save.on{color:var(--orange);border-color:var(--orange)}
.wbj-save.on svg{fill:currentColor}
.wbj-empty{background:var(--card);border:1px dashed var(--line);border-radius:var(--radius);padding:28px;text-align:center;color:var(--muted)}
@media(max-width:600px){.wbj-job{grid-template-columns:44px 1fr;padding:14px}.wbj-ava{width:44px;height:44px;font-size:15px}.wbj-side{grid-column:1/-1;flex-direction:row;align-items:center;flex-wrap:wrap}.wbj-side .wbj-save{margin-left:auto}}

/* category lists */
.wbj-strips{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}
@media(max-width:700px){.wbj-strips{grid-template-columns:1fr}}
.wbj-strip{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.wbj-strip header{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line);border-top:3px solid var(--brand)}
.wbj-strip:nth-child(2n) header{border-top-color:var(--orange)}
.wbj-strip header h3{margin:0;font-size:16px}
.wbj-strip header a{font-size:13px;font-weight:600;text-decoration:none;color:var(--brand)}
.wbj-strip ul{list-style:none;margin:0;padding:4px 0}
.wbj-strip li a{display:flex;gap:10px;justify-content:space-between;padding:9px 16px;text-decoration:none;font-size:14.5px}
.wbj-strip li a:hover{background:var(--soft);color:var(--brand)}
.wbj-strip li time{font-size:12.5px;color:var(--muted);flex:none}

/* sidebar */
.wbj-aside{display:flex;flex-direction:column;gap:18px}
.wbj-box,.wbj-aside .widget{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.wbj-box h3,.wbj-aside .widget-title{font-size:15.5px;margin:0 0 12px}
.wbj-radar ol{list-style:none;margin:0;padding:0}
.wbj-radar li{padding:10px 0;border-top:1px solid var(--line)}
.wbj-radar li:first-child{border:0;padding-top:0}
.wbj-radar a{text-decoration:none;font-weight:600;font-size:14px;line-height:1.4}
.wbj-radar a:hover{color:var(--brand)}
.wbj-radar small{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.wbj-latest ul{list-style:none;margin:0;padding:0}
.wbj-latest li{padding:10px 0;border-top:1px solid var(--line)}
.wbj-latest li:first-child{border:0;padding-top:0}
.wbj-latest a{text-decoration:none;font-weight:600;font-size:14px;line-height:1.4}
.wbj-latest a:hover{color:var(--brand)}
.wbj-latest small{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.wbj-meter{height:5px;background:var(--soft);border-radius:999px;margin-top:6px;overflow:hidden}
.wbj-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--amber),var(--red));border-radius:999px}
.wbj-join a{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-radius:10px;text-decoration:none;font-weight:600;font-size:14.5px;margin-bottom:8px;color:#fff}
.wbj-join a:last-child{margin-bottom:0}
.wbj-join a:hover{filter:brightness(.95)}
.wbj-join .wa{background:#1fa855}
.wbj-join .tg{background:#2694d0}
.wbj-join .yt{background:#e0262c}
.wbj-aside ul{margin:0;padding-left:18px}

/* single */
.wbj-crumb{font-size:13px;color:var(--muted);margin-bottom:12px}
.wbj-crumb a{text-decoration:none}.wbj-crumb a:hover{color:var(--brand)}
.wbj-article{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:clamp(18px,3vw,32px)}
.wbj-article h1{font-size:clamp(24px,3.2vw,34px);letter-spacing:-.01em}
.wbj-byline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:20px}
.wbj-byline .wbj-save{margin-left:auto}
.wbj-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 26px}
.wbj-cards div{padding:12px 14px;border-radius:10px;background:var(--soft)}
.wbj-cards dt{font-size:12px;color:var(--muted)}
.wbj-cards dd{margin:2px 0 0;font-weight:700;font-size:15px}
.wbj-cards div:first-child{background:var(--brand-soft)}
.wbj-cards div:first-child dd{color:var(--brand)}
.wbj-timeline{margin:0 0 26px;padding:16px 18px;list-style:none;border:1px solid var(--line);border-radius:12px}
.wbj-timeline li{display:flex;justify-content:space-between;gap:10px;padding:8px 0 8px 26px;position:relative;border-top:1px dashed var(--line)}
.wbj-timeline li:first-child{border:0}
.wbj-timeline li::before{content:"";position:absolute;left:4px;top:15px;width:10px;height:10px;border-radius:50%;border:2px solid var(--line);background:var(--card)}
.wbj-timeline li.done::before{background:var(--green);border-color:var(--green)}
.wbj-timeline li.next::before{background:var(--orange);border-color:var(--orange)}
.wbj-timeline li.next b{color:var(--orange)}
.wbj-timeline b{font-weight:600;font-size:14.5px}
.wbj-timeline span{font-size:14px;font-weight:600}
.wbj-actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.wbj-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;font:700 14.5px var(--f-head);text-decoration:none;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;transition:.15s}
.wbj-btn:hover{border-color:var(--brand);color:var(--brand)}
.wbj-btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.wbj-btn.primary:hover{background:var(--brand-dark);color:#fff}
.wbj-btn.volt{background:var(--orange-soft);border-color:transparent;color:var(--orange)}
.wbj-content{font-size:16px}
.wbj-content h2{font-size:21px;margin-top:1.6em}
.wbj-content h3{font-size:18px;margin-top:1.4em}
.wbj-content ul,.wbj-content ol{padding-left:1.4em}
.wbj-content li{margin:.25em 0}
.wbj-content ul li::marker{color:var(--brand)}
.wbj-content a{color:var(--brand)}
.wbj-content table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:14.5px;display:block;overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.wbj-content th,.wbj-content td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.wbj-content th{background:var(--soft);font-weight:700}
.wbj-content blockquote{margin:1.2em 0;padding:14px 18px;background:var(--amber-soft);border-left:4px solid var(--amber);border-radius:0 10px 10px 0}
.wbj-share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.wbj-share strong{font-size:14px;margin-right:4px}
.wbj-share a,.wbj-share button{font:600 13px var(--f-body);padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);text-decoration:none;cursor:pointer}
.wbj-share a:hover,.wbj-share button:hover{border-color:var(--brand);color:var(--brand)}
.wbj-related{margin-top:30px}
.wbj-related h2{font-size:20px}

.wbj-applybar{position:fixed;left:0;right:0;bottom:64px;z-index:90;display:flex;gap:10px;align-items:center;padding:10px 14px;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -4px 14px rgba(16,24,40,.08)}
.wbj-applybar span{flex:1;font-size:13px;color:var(--muted)}
.wbj-applybar a{background:var(--brand);color:#fff;padding:10px 18px;border-radius:10px;font-weight:700;font-size:14px;text-decoration:none}
@media(min-width:900px){.wbj-applybar{display:none}}

.wbj-dock{position:fixed;left:0;right:0;bottom:0;z-index:95;display:grid;grid-template-columns:repeat(5,1fr);background:var(--card);border-top:1px solid var(--line);height:64px}
.wbj-dock a,.wbj-dock button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:600 11px var(--f-body);text-decoration:none;border:0;background:none;color:var(--muted);cursor:pointer;position:relative}
.wbj-dock a:hover,.wbj-dock button:hover{color:var(--brand)}
.wbj-dock svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.wbj-dock .center{color:var(--brand)}
.wbj-dock .wbj-count{top:6px;right:calc(50% - 20px)}
@media(min-width:900px){.wbj-dock{display:none}}

.wbj-drawer{position:fixed;top:0;right:0;bottom:0;width:min(380px,92vw);background:var(--card);z-index:500;transform:translateX(105%);transition:transform .25s;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}
.wbj-drawer.open{transform:none}
.wbj-drawer header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}
.wbj-drawer header h3{margin:0;font-size:17px}
.wbj-drawer ul{list-style:none;margin:0;padding:8px 18px;overflow:auto;flex:1}
.wbj-drawer li{display:flex;gap:10px;align-items:start;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}
.wbj-drawer li a{font-weight:600;text-decoration:none;color:var(--ink)}
.wbj-drawer li button{border:0;background:var(--soft);color:var(--muted);border-radius:6px;width:26px;height:26px;cursor:pointer}
.wbj-shade{position:fixed;inset:0;background:rgba(15,23,42,.4);z-index:450;display:none}
.wbj-shade.open{display:block}

.wbj-archhead{background:var(--card);border-bottom:1px solid var(--line);padding:30px 0 24px}
.wbj-archhead .wbj-kicker{margin-bottom:10px}
.wbj-archhead h1{font-size:clamp(24px,3.5vw,34px);margin:0}
.wbj-archhead p{color:var(--muted);max-width:70ch;margin:6px 0 0}
.nav-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px}
.nav-links .page-numbers{min-width:38px;text-align:center;padding:7px 12px;border-radius:8px;border:1px solid var(--line);background:var(--card);text-decoration:none;font-weight:600;font-size:14px}
.nav-links .current{background:var(--brand);border-color:var(--brand);color:#fff}

.wbj-foot{background:#101828;color:#d0d5dd;margin-top:40px;font-size:14px}
.wbj-foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:34px 0 22px}
.wbj-foot-top strong{font:800 22px var(--f-head);color:#fff}
.wbj-foot-top strong span{color:#fd853a}
.wbj-foot-top p{margin:0;color:#98a2b3}
.wbj-foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:24px 0 30px;border-top:1px solid #253045}
@media(max-width:800px){.wbj-foot-cols{grid-template-columns:1fr 1fr}}
.wbj-foot h4{font-size:15px;color:#fff;margin-bottom:12px}
.wbj-foot ul{list-style:none;padding:0;margin:0}
.wbj-foot li{margin:6px 0}
.wbj-foot a{text-decoration:none;color:#d0d5dd}
.wbj-foot a:hover{color:#fff}
.wbj-foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13px;padding:16px 0;border-top:1px solid #253045;color:#98a2b3}
.wbj-totop{position:fixed;right:16px;bottom:80px;z-index:80;opacity:0;pointer-events:none;transition:.2s;background:var(--card);box-shadow:var(--shadow-lg)}
.wbj-totop.show{opacity:1;pointer-events:auto}
@media(min-width:900px){.wbj-totop{bottom:20px}}
.wbj-404{font:800 110px/1 var(--f-head);color:var(--brand);margin-bottom:10px}

.wbj-comments{margin-top:28px}
.wbj-comments ol{list-style:none;padding:0}
.wbj-comments .comment-body{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:14px;margin-bottom:10px}
input[type=text],input[type=email],input[type=url],input[type=search],textarea{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);width:100%}
input[type=submit]{font:700 14px var(--f-head);padding:10px 18px;border:0;border-radius:8px;background:var(--brand);color:#fff;cursor:pointer}
.search-form{display:flex;gap:6px}.search-form label{flex:1}
.aligncenter{display:block;margin:auto}
.wp-caption-text{font-size:13px;color:var(--muted)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== v2.1 mobile & performance refinements ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{-webkit-tap-highlight-color:transparent;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
html.wbj-lock,html.wbj-lock body{overflow:hidden}
@media(min-width:900px){body{padding-bottom:0}}

/* dock & apply bar respect notches */
.wbj-dock{height:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px)}
.wbj-applybar{bottom:calc(64px + env(safe-area-inset-bottom,0px))}
.wbj-totop{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
@media(min-width:900px){.wbj-totop{bottom:20px}}

/* bigger, easier tap targets on touch screens */
@media(pointer:coarse){
  .wbj-ibtn{width:44px;height:44px}
  .wbj-save{width:40px;height:40px}
  .wbj-tab{padding:9px 15px}
  .wbj-chip{padding:8px 14px}
  .wbj-share a,.wbj-share button{padding:9px 16px}
  .wbj-strip li a{padding:12px 16px}
  .wbj-rail a{padding:11px 8px}
  .wbj-join a{padding:13px 14px}
}

/* mobile menu: scrollable, contained, roomier links */
@media(max-width:899px){
  .wbj-nav{max-height:calc(100dvh - 68px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px))}
  .wbj-nav a{padding:13px 14px}
  .wbj-nav .sub-menu a{padding:11px 14px}
}

/* hero search stacks neatly on narrow phones */
@media(max-width:520px){
  .wbj-bigsearch{flex-direction:column;padding:10px;gap:6px}
  .wbj-bigsearch button{width:100%;padding:13px}
  .wbj-search{padding-top:9vh}
}

/* faster first paint below the fold */
.wbj-strips .wbj-strip,.wbj-foot,.wbj-aside{content-visibility:auto;contain-intrinsic-size:auto 420px}

/* smoother table scrolling on touch */
.wbj-content table{-webkit-overflow-scrolling:touch}

/* marquee: fewer layers on small screens */
@media(max-width:899px){.wbj-alert .wrap{gap:10px}.wbj-marquee a{margin-right:24px}}

/* wrap: slightly tighter gutters on phones (longhand so .wbj-grid keeps its vertical padding) */
@media(max-width:520px){.wrap{padding-left:14px;padding-right:14px}}

/* ===== v3.2: stop sideways slide / shaking on mobile ===== */
html{overflow-x:hidden;overflow-x:clip}
body{overflow-x:hidden;overflow-x:clip;overflow-wrap:break-word}
/* nothing may push the page wider than the screen */
.wbj-grid>*{min-width:0}
.wbj-alert{contain:paint}
.wbj-marquee{min-width:0;contain:paint}
/* saved-jobs drawer: fully invisible & out of layout when closed (was bleed-
   ing past the right edge and letting the page slide sideways) */
.wbj-drawer{visibility:hidden;transition:transform .25s,visibility 0s .25s}
.wbj-drawer.open{visibility:visible;transition:transform .25s,visibility 0s}
/* content-visibility caused scroll jitter on phones — desktop only now */
@media(max-width:899px){.wbj-strips .wbj-strip,.wbj-foot,.wbj-aside{content-visibility:visible;contain-intrinsic-size:auto}}

/* mobile: header shows only the burger — search/saved/dark-mode icons stay desktop-only */
@media(max-width:899px){
  .wbj-tools .wbj-ibtn[data-open-saved],
  .wbj-tools .wbj-ibtn[data-theme-toggle]{display:none}
}
