/* Copyright (c) 2026 JackCan.Dev. All rights reserved. JobBrain: Roles at Dave (/roles/). Uses the Dave 2026 design tokens when present, with fallbacks. */

/* ------------------------------------------------------------------ jobs (/jobs/) */
.dv-jobs__hero{max-width:900px;padding:28px 0 8px}
.dv-jobs__hero h1{font:900 64px/.95 var(--dv-head);letter-spacing:-.04em;margin:10px 0 14px;color:var(--text)}
.dv-jobs__lede{font-size:19px;line-height:1.5;color:var(--muted);max-width:720px;margin:0 0 22px}
.dv-jobs__perks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:900px}
.dv-jobs__perks li{border-top:3px solid var(--y);padding:10px 0 0}
.dv-jobs__perks b{display:block;font:800 16px var(--dv-head)}
.dv-jobs__perks span{font-size:13px;color:var(--muted)}
.dv-jobs__list{list-style:none;margin:0 0 72px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1200px}
.dv-job{all:unset;text-decoration:none;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"team go" "title go" "intro go" "meta go";gap:4px 16px;width:100%;height:100%;padding:20px 20px 18px;background:var(--card);border:1px solid var(--line);border-radius:4px;color:var(--text);transition:border-color .15s ease}
.dv-job:hover,.dv-job:focus-visible{border-color:var(--y)}
.dv-job:focus-visible{outline:2px solid var(--y);outline-offset:2px}
.dv-job__team{grid-area:team;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--link)}
[data-theme="light"] .dv-job__team{color:var(--text)}
.dv-job__title{grid-area:title;font:800 24px/1.12 var(--dv-head);letter-spacing:-.02em;margin:4px 0}
.dv-job__intro{grid-area:intro;font-size:14px;line-height:1.45;color:var(--muted)}
.dv-job__meta{grid-area:meta;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.dv-job__meta i{font:600 12px var(--dv-body);font-style:normal;background:var(--soft);border-radius:3px;padding:4px 8px}
.dv-job__meta i.is-close{background:transparent;border:1px solid var(--line)}
.dv-job__go{grid-area:go;align-self:center;width:44px;height:44px;border-radius:50%;background:var(--y);color:#111316;display:grid;place-items:center}
.dv-jobs__none{max-width:640px;padding:8px 0 72px}
.dv-jobs__none p{font-size:17px;color:var(--muted)}
.dv-jobs__none .dv-xbtn{max-width:280px}
.dv-jobdlg{width:min(720px,calc(100vw - 24px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--line);border-top:4px solid var(--y);border-radius:6px;background:var(--bg);color:var(--text);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.dv-jobdlg::backdrop{background:rgba(5,8,15,.65)}
.dv-jobdlg[open]{animation:dv-pop .18s ease-out}
@keyframes dv-pop{from{opacity:0;transform:translateY(10px)}}
.dv-jobdlg__x{position:sticky;top:12px;float:right;margin:12px 12px 0 0;background:var(--card)}
.dv-jobdlg__in{padding:28px 30px 30px}
.dv-jobdlg__in h2{font:900 36px/1.02 var(--dv-head);letter-spacing:-.03em;margin:8px 0 10px;color:var(--text)}
.dv-jobdlg__body{font-size:16px;line-height:1.6;margin:18px 0 24px}
.dv-jobdlg__body h2,.dv-jobdlg__body h3{font-size:19px;margin:20px 0 6px;letter-spacing:-.01em}
.dv-jobdlg__body ul{padding-left:20px}
.dv-cuppa{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:20px}
.dv-cuppa__mug{width:56px;height:56px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--text)}
.dv-cuppa b{display:block;font:900 24px var(--dv-head);letter-spacing:-.02em}
.dv-cuppa p{margin:6px 0 14px;color:var(--muted);font-size:15px}
.dv-cuppa__btns{display:flex;flex-wrap:wrap;gap:8px}
.dv-cuppa__btns .dv-xbtn{width:auto;padding:0 20px;height:48px}
.dv-cuppa__btns .dv-tbtn{height:48px}
.dv-cuppa .dv-cuppa__small{font-size:13px;margin:12px 0 0}
@media (max-width:760px){
  .dv-jobs__hero h1{font-size:42px}.dv-jobs__lede{font-size:16px}
  .dv-jobs__perks,.dv-jobs__list{grid-template-columns:minmax(0,1fr)}
  .dv-job{padding:16px}.dv-job__title{font-size:20px}
  .dv-jobdlg{width:100vw;max-width:100vw;max-height:92vh;margin:auto 0 0;border-radius:12px 12px 0 0}
  .dv-jobdlg__in{padding:20px 18px 24px}.dv-jobdlg__in h2{font-size:28px}
  .dv-cuppa{grid-template-columns:minmax(0,1fr)}.dv-cuppa__btns .dv-xbtn,.dv-cuppa__btns .dv-tbtn{flex:1}
}
/* without the Dave 2026 theme: sensible defaults */
body:not(.dv) .dv-jobs{--bg:#fff;--card:#fff;--soft:#f3f3ef;--line:#deded7;--text:#111316;--muted:#575d66;--y:#FEF200;--link:#111316;--dv-head:inherit;--dv-body:inherit}

/* application form */
.jb-form{margin-top:4px}
.jb-form h3{font:900 22px var(--dv-head);margin:6px 0 14px;color:var(--text)}
.jb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.jb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.jb-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--text)}
.jb-grid label span,.jb-consent span>span{color:var(--live,#E0263F)}
.jb-grid .jb-wide{grid-column:1/-1}
.jb-grid input,.jb-grid textarea{font:500 15px var(--dv-body);color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:4px;padding:11px 12px;min-height:46px;box-sizing:border-box;width:100%}
.jb-grid textarea{min-height:0;resize:vertical}
.jb-grid input:focus,.jb-grid textarea:focus{outline:2px solid var(--y);outline-offset:0;border-color:var(--y)}
.jb-consent{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;margin:16px 0 6px;font-size:13px;line-height:1.45;color:var(--muted)}
.jb-consent input{width:20px;height:20px;margin:1px 0 0;accent-color:#FEF200}
.jb-msg{min-height:1.4em;font-size:14px;font-weight:600;color:var(--muted);margin:8px 0}
.jb-msg.is-bad{color:var(--live,#E0263F)}
.jb-done{text-align:center;padding:16px 0 4px}
.jb-done .dv-cuppa__mug{margin:0 auto 10px}
.jb-done b{display:block;font:900 30px var(--dv-head);letter-spacing:-.02em}
.jb-done p{color:var(--muted);font-size:16px;max-width:480px;margin:8px auto 18px}
.dv-jobs [hidden]{display:none !important}
@media (max-width:760px){.jb-grid{grid-template-columns:minmax(0,1fr)}}
.jb-grid label b{font-weight:700}

/* the site's headline look: last word on a yellow block */
.dv-jobs__hero h1 span{background:var(--y,#FEF200);color:#111316;padding:0 .12em}

/* ------------------------------------------------------------------ Roles at Dave (0.3.0) */
.jb-roles .dv-wrap{padding-bottom:24px}
.jb-hl{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:1100px}
.jb-hl li{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--y);border-radius:4px;padding:16px 16px 18px;display:flex;flex-direction:column;gap:6px}
.jb-hl__i{width:36px;height:36px;border-radius:50%;background:var(--y);color:#111316;display:grid;place-items:center;margin-bottom:4px}
.jb-hl b{font:800 18px/1.2 var(--dv-head);letter-spacing:-.01em;color:var(--text)}
.jb-hl li>span:last-child{font-size:14px;line-height:1.5;color:var(--muted)}
.jb-hl--list{grid-template-columns:minmax(0,1fr);max-width:none}
.jb-how{margin:36px 0 8px;max-width:1100px}
.jb-how h2,.jb-ad__get h2{font:900 30px/1.05 var(--dv-head);letter-spacing:-.03em;margin:0 0 14px;color:var(--text)}
.jb-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.jb-steps li{border:1px solid var(--line);border-radius:4px;padding:14px;background:var(--card);display:flex;flex-direction:column;gap:4px}
.jb-steps__n{width:30px;height:30px;border-radius:50%;background:var(--text);color:var(--bg);display:grid;place-items:center;font:900 15px var(--dv-head);margin-bottom:6px}
.jb-steps b{font:800 16px/1.2 var(--dv-head);color:var(--text)}
.jb-steps li>span:last-child{font-size:13px;color:var(--muted);line-height:1.45}
.jb-small{font-size:13px;color:var(--muted);margin:14px 0 0}
.jb-note{font-size:14px;background:var(--soft);border-left:3px solid var(--y);padding:10px 12px;border-radius:3px;color:var(--text);margin:10px 0}
.jb-hint{font-size:12px;color:var(--muted);font-weight:500}
.jb-off{background:var(--soft) !important;color:var(--muted) !important;border:1px dashed var(--line) !important;cursor:default;pointer-events:none;width:auto;padding:0 20px}
a.dv-xbtn,span.dv-xbtn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
/* the advert */
.jb-ad{max-width:820px;padding:20px 0 64px}
.jb-ad__head h1{font:900 54px/.98 var(--dv-head);letter-spacing:-.04em;margin:10px 0 12px;color:var(--text)}
.jb-ad__cta{margin:18px 0 6px}.jb-ad__cta .dv-xbtn{width:auto;padding:0 24px;height:50px}
.jb-ad__body{font-size:17px;line-height:1.65}
.jb-ad__body h3{font:800 20px var(--dv-head);margin:24px 0 6px}
.jb-ad__get{margin:30px 0}
.jb-ad__apply{margin-top:12px}
/* forms */
.jb-form-wrap{max-width:760px;padding:20px 0 64px}
.jb-form-wrap h1{font:900 54px/.98 var(--dv-head);letter-spacing:-.04em;margin:10px 0 12px;color:var(--text)}
.jb-grid select,.jb-field input{font:500 15px var(--dv-body);color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:4px;padding:11px 12px;min-height:46px;box-sizing:border-box;width:100%}
.jb-grid input[readonly]{background:var(--soft);color:var(--muted)}
.jb-grid label[hidden]{display:none}
.jb-radios{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.jb-radios legend{font-size:13px;margin-bottom:8px;padding:0;color:var(--text)}
.jb-radios legend span{color:var(--live,#E0263F)}
.jb-radios>label{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;min-height:44px}
.jb-radios input{width:20px;height:20px;accent-color:#FEF200}
.jb-radios .jb-note{flex-basis:100%;margin:2px 0 0}
.jb-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;margin:6px 0 12px;color:var(--text)}
.jb-sheet form{display:flex;flex-direction:column;gap:8px}
.jb-sheet .dv-xbtn{height:50px}
.jb-sheet__lede{color:var(--muted);font-size:15px}
.jb-sheet__small{font-size:12px;color:var(--muted);margin-top:10px}
.jb-drop{display:block;border:2px dashed var(--line);border-radius:6px;padding:28px 16px;text-align:center;cursor:pointer;background:var(--card)}
.jb-drop:hover{border-color:var(--y)}
.jb-drop input{position:absolute;opacity:0;width:1px;height:1px}
.jb-drop__t{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text)}
.jb-drop__t b{font:800 18px var(--dv-head)}.jb-drop__t small{color:var(--muted)}
.jb-file{font-size:14px;font-weight:600;margin:10px 0 0}
.jb-form progress{width:100%;height:10px;accent-color:#FEF200;margin-top:10px}
.jb-done{text-align:left}
@media (max-width:900px){.jb-steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:760px){
  .jb-hl,.jb-steps{grid-template-columns:minmax(0,1fr)}
  .jb-steps li{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px}.jb-steps__n{margin:0}.jb-steps li>span:last-child{flex-basis:100%}
  .jb-ad__head h1,.jb-form-wrap h1{font-size:38px}.jb-how h2,.jb-ad__get h2{font-size:24px}
  .jb-ad__cta .dv-xbtn,.jb-form .dv-cuppa__btns .dv-xbtn{width:100%}
}
.jb-grid .jb-radios>label{flex-direction:row;align-items:center;font-size:15px}
.jb-grid .jb-hint span,.jb-grid label .jb-hint span{color:inherit}

/* 18+ (0.3.0) and the sticky header / bottom bar never covering a field */
.jb-age{display:inline-block;font:800 12px var(--dv-body);letter-spacing:.04em;text-transform:uppercase;background:var(--y);color:#111316;border-radius:3px;padding:5px 9px;margin:0 0 16px}
.jb-roles :is(input,select,textarea,fieldset,label,.jb-msg,.jb-done,h1,h2){scroll-margin-top:110px;scroll-margin-bottom:110px}
.jb-roles .jb-form-wrap,.jb-roles .jb-ad{padding-bottom:120px}
