/* Done Job Board — restrained, theme-friendly frontend styles */
.ddjb-board,.ddjb-single{--ddjb-accent:#315e52;--ddjb-border:#e5eae8;--ddjb-ink:#1f302a;--ddjb-muted:#63726a;--ddjb-soft:#f5f7f6;color:inherit;font:inherit;max-width:100%}
.ddjb-board *,.ddjb-single *{box-sizing:border-box}
.ddjb-board .screen-reader-text,.ddjb-single .screen-reader-text{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.ddjb-board-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;margin:0 0 24px}
.ddjb-board-filters>label{min-width:155px;flex:1;display:block}
.ddjb-board-filters .ddjb-search-wrap{flex:2;min-width:210px}
.ddjb-board-filters input,.ddjb-board-filters select,.ddjb-application-form input:not([type=checkbox]):not([type=radio]),.ddjb-application-form select,.ddjb-application-form textarea{appearance:auto;background:#fff;border:1px solid #dce4e0;border-radius:10px;box-shadow:none;color:#1d3028;font:inherit;font-size:15px;line-height:1.45;min-height:47px;padding:11px 13px;width:100%;transition:border-color .16s,box-shadow .16s}
.ddjb-board-filters input:focus,.ddjb-board-filters select:focus,.ddjb-application-form input:focus,.ddjb-application-form select:focus,.ddjb-application-form textarea:focus{border-color:var(--ddjb-accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--ddjb-accent),transparent 85%)}
.ddjb-card-grid{display:grid;grid-template-columns:repeat(var(--ddjb-columns,2),minmax(0,1fr));gap:16px}
.ddjb-card{background:#fff;border:1px solid var(--ddjb-border);border-radius:16px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:26px;min-width:0;min-height:222px;text-decoration:none!important;color:var(--ddjb-ink)!important;transition:border-color .17s,box-shadow .17s,transform .17s}
.ddjb-card:hover,.ddjb-card:focus-visible{border-color:color-mix(in srgb,var(--ddjb-accent),white 55%);box-shadow:0 10px 34px rgba(22,50,37,.08);transform:translateY(-2px)}
.ddjb-card h3{font-size:clamp(18px,1.4vw,22px);line-height:1.3;font-weight:650;color:inherit;margin:0 0 12px;padding:0}
.ddjb-card .ddjb-card-description{font-size:14px;line-height:1.6;color:var(--ddjb-muted);margin:12px 0 15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ddjb-card-location,.ddjb-job-location{display:flex;align-items:center;gap:7px;color:var(--ddjb-muted);font-size:14px;line-height:1.5;margin:0}
.ddjb-card-location svg,.ddjb-job-location svg{flex:none}
.ddjb-tags{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0 0}
.ddjb-tags span{display:inline-flex;align-items:center;border-radius:100px;padding:6px 10px;background:var(--ddjb-soft);color:#4f6259;font-size:12px;font-weight:600;line-height:1.2;letter-spacing:.005em}
.ddjb-card-link{display:inline-flex;justify-content:space-between;gap:10px;align-items:center;color:var(--ddjb-accent);font-weight:650;font-size:13px}
.ddjb-card-link svg{transition:transform .2s}.ddjb-card:hover .ddjb-card-link svg{transform:translateX(4px)}
.ddjb-empty-board,.ddjb-no-results{background:var(--ddjb-soft);border-radius:16px;padding:42px 25px;text-align:center;color:var(--ddjb-muted)}
.ddjb-empty-board h3{font-size:22px;color:var(--ddjb-ink);margin:0 0 8px}.ddjb-empty-board p{margin:0}
.ddjb-single{width:100%;margin:0 auto}
.ddjb-classic-job{box-sizing:border-box;max-width:1120px;margin:48px auto 72px;padding:0 24px}
.ddjb-job-title{margin:0 0 28px;text-align:left;font-size:clamp(2rem,4vw,3rem);line-height:1.15;font-weight:500}
.ddjb-job-canvas .wp-block-post-title{text-align:left}
.ddjb-job-canvas.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:1120px;margin-left:auto !important;margin-right:auto !important}
.ddjb-job-layout{display:block}
.ddjb-single-open .ddjb-job-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,400px);gap:40px 48px;align-items:start}
.ddjb-job-header{border-bottom:1px solid var(--ddjb-border);padding:4px 0 26px;margin-bottom:30px}
.ddjb-apply-jump{margin:22px 0 0}
.ddjb-job-header .ddjb-tags{margin:0 0 16px}
.ddjb-job-header .ddjb-job-location{font-size:16px}
.ddjb-job-salary{font-weight:600;margin:12px 0 0}.ddjb-close-date{font-size:14px;color:var(--ddjb-muted);margin:10px 0}
.ddjb-single .ddjb-primary-btn{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ddjb-accent);color:#fff!important;border:1px solid var(--ddjb-accent);border-radius:10px;font:inherit;font-weight:650;font-size:15px;min-height:48px;padding:12px 22px;text-decoration:none!important;transition:filter .2s,transform .2s}
.ddjb-single .ddjb-primary-btn:hover{filter:brightness(.9);transform:translateY(-1px)}
.ddjb-single .ddjb-primary-btn:focus-visible,.ddjb-card:focus-visible{outline:3px solid color-mix(in srgb,var(--ddjb-accent),transparent 60%);outline-offset:2px}
.ddjb-job-description{margin:0}.ddjb-job-description h2,.ddjb-job-description h3{margin-top:1.4em}
.ddjb-job-description > :first-child{margin-top:0}
.ddjb-closed-message{border:1px solid var(--ddjb-border);background:var(--ddjb-soft);padding:16px 20px;margin:18px 0 0;border-radius:10px;color:var(--ddjb-muted)}
.ddjb-apply{scroll-margin-top:30px;padding:28px;max-width:none;border-radius:18px;border:1px solid var(--ddjb-border);background:#fafbfa}
.ddjb-single-open .ddjb-apply{position:sticky;top:calc(20px + var(--wp-admin--admin-bar--height, 0px))}
@media(min-width:960px){.ddjb-single-open .ddjb-apply-jump{display:none}.ddjb-single-open .ddjb-form-grid{grid-template-columns:1fr}.ddjb-single-open .ddjb-name-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ddjb-form-heading h2{font-size:clamp(23px,2.5vw,30px);line-height:1.3;color:var(--ddjb-ink);margin:0 0 6px}.ddjb-form-heading p{font-size:15px;color:var(--ddjb-muted);margin:0 0 28px}
.ddjb-application-form{display:flex;flex-direction:column;gap:20px;margin:0}
.ddjb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ddjb-application-form>label,.ddjb-form-grid>label{display:flex;flex-direction:column;align-items:stretch;gap:8px;font-size:14px;font-weight:600;color:var(--ddjb-ink)}
.ddjb-label{display:block;width:auto;max-width:100%;font:inherit;font-weight:600;line-height:1.35}
.ddjb-label .ddjb-req,.ddjb-label .ddjb-optional{display:inline;width:auto;margin-left:.35em;white-space:nowrap;vertical-align:baseline}
.ddjb-label .ddjb-req{color:var(--ddjb-accent);font-weight:700}
.ddjb-consent .ddjb-label{display:block;flex:1;min-width:0;font-weight:400;font-size:13px;line-height:1.6}
.ddjb-application-form label small{font-size:12px;font-weight:400;color:var(--ddjb-muted)}
.ddjb-application-form input[type=file]{cursor:pointer;background:#fff;border:1px dashed #c4d3cb!important;padding:20px!important}
.ddjb-optional{font-size:12px;color:var(--ddjb-muted);font-weight:400}
.ddjb-application-form .ddjb-consent{display:flex;flex-direction:row;gap:10px;align-items:flex-start;font-weight:400;font-size:13px;line-height:1.6}
.ddjb-consent input[type=checkbox]{width:17px;height:17px;flex:none;margin:3px 0 0;accent-color:var(--ddjb-accent)}
.ddjb-consent a{color:var(--ddjb-accent);text-decoration:underline}
.ddjb-radio-group{display:flex;flex-direction:column;gap:10px;margin-top:5px}
.ddjb-radio-option{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:400}
.ddjb-radio-option input{accent-color:var(--ddjb-accent);width:16px;height:16px}
.ddjb-single .ddjb-submit{align-self:flex-start;min-width:195px}
.ddjb-form-footnote{margin:0;font-size:12px;color:var(--ddjb-muted)}
.ddjb-alert{padding:17px 19px;border:1px solid;border-radius:10px;font-size:14px;line-height:1.55}
.ddjb-alert-success{border-color:#a5cbb7;color:#165a34;background:#edf9f1}
.ddjb-alert-error{border-color:#e6b3b3;color:#862929;background:#fff0f0;margin:0 0 22px}
.ddjb-honeypot{position:absolute!important;left:-9999px!important;height:0!important;width:0!important;overflow:hidden!important}
.ddjb-board [hidden],.ddjb-single [hidden]{display:none!important}
@media(max-width:900px){.ddjb-card-grid{grid-template-columns:repeat(min(2,var(--ddjb-columns,2)),minmax(0,1fr))}}
@media(max-width:959px){.ddjb-single-open .ddjb-job-layout{grid-template-columns:1fr;gap:36px}.ddjb-single-open .ddjb-apply{position:static}}
@media(max-width:620px){.ddjb-card-grid,.ddjb-form-grid,.ddjb-single-open .ddjb-form-grid{grid-template-columns:1fr}.ddjb-card{padding:22px;min-height:190px}.ddjb-apply{padding:23px 18px}.ddjb-board-filters{flex-direction:column}.ddjb-board-filters>label{width:100%}.ddjb-single .ddjb-submit{width:100%}}
@media(prefers-reduced-motion:reduce){.ddjb-card,.ddjb-card-link svg,.ddjb-single .ddjb-primary-btn{transition:none}.ddjb-card:hover{transform:none}}
.ddjb-return-link{margin:25px 0 0;font-size:14px}.ddjb-return-link a{color:var(--ddjb-accent);font-weight:600;text-decoration:none}.ddjb-return-link a:hover{text-decoration:underline}

.ddjb-radio-fieldset{border:0;padding:0;margin:0;min-width:0}.ddjb-radio-fieldset legend{font-size:14px;font-weight:600;color:var(--ddjb-ink);padding:0;margin:0 0 10px;float:none;width:auto}
