/* Search, registration and the public guide. Loaded after the existing theme. */
.j5.j5-search .jobs-heading { padding-top:44px; padding-bottom:28px; }
.j5.j5-search .jobs-heading h1 { font-size:clamp(2.2rem,4.5vw,4rem); letter-spacing:-.055em; }
.j5.j5-search .jobs-search { padding-top:24px; padding-bottom:32px; }
.j5.j5-search .search-bar { border:1px solid #bed0c5; border-radius:14px; background:#fff; box-shadow:0 8px 28px #143b2810; }
.j5.j5-search .j5-keyword-popup { inset:calc(100% + 8px) 0 auto; border-radius:12px; }
.j5.j5-search .jobs-layout { gap:32px; grid-template-columns:280px minmax(0,1fr); align-items:start; }
.j5.j5-search .j5-filter-studio { border:0; min-width:0; padding:0; }
.j5-filter-studio .job_search_filter_body { border:1px solid #dce6df; background:#fff; border-radius:18px; padding:24px; }
.j5-filter-studio .j5-filter-intro .eyebrow { font-size:.67rem; color:#42745d; margin:0 0 10px; letter-spacing:.13em; }
.j5-filter-studio .filter-panel__head { display:flex; align-items:center; gap:12px; padding:0; border:0; margin:0; }
.j5-filter-studio .filter-panel__head h2 { margin:0; font-size:1.4rem; line-height:1.2; letter-spacing:-.04em; }
.j5-filter-studio .j5-filter-intro p { margin:10px 0 18px; font-size:.82rem; line-height:1.5; color:#5a6d61; }
.j5-filter-studio .j5-filter-status { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 0 12px; color:#51675a; font-size:.75rem; }
.j5-filter-studio .j5-filter-status button { padding:6px; min-height:36px; border:0; background:transparent; color:#07563a; text-decoration:underline; text-underline-offset:3px; }
.j5-filter-studio .j5-filter-status button:disabled { color:#718078; text-decoration:none; cursor:default; }
.j5-filter-studio .filter-group { display:block; min-width:0; margin:0; padding:20px 0; border:0; border-top:1px solid #e5ece7; }
.j5-filter-studio .filter-group legend { float:none; width:100%; padding:0; margin:0 0 12px; border:0; font-size:.9rem; line-height:1.4; font-weight:700; }
.j5-filter-studio .j5-filter-hint { font-size:.75rem; line-height:1.4; color:#66796d; margin:-5px 0 12px; }
.j5-filter-studio .filter-group .j5-filter-choice { display:flex; align-items:center; gap:10px; min-height:44px; padding:9px 10px; margin:0 0 5px; border:1px solid transparent; border-radius:9px; color:#405548; font-size:.86rem; line-height:1.4; cursor:pointer; }
.j5-filter-studio .j5-filter-choice:hover { background:#f5f8f5; }
.j5-filter-studio .j5-filter-choice:has(input:checked) { background:#edf5ed; border-color:#b9d2bd; color:#164f35; }
.j5-filter-studio .filter-group input[type=checkbox], .j5-filter-studio .filter-group input[type=radio] { position:static; opacity:1; appearance:auto; display:block; flex:0 0 17px; width:17px; height:17px; min-height:0; margin:0; accent-color:#07563a; }
.j5-filter-studio .j5-filter-choice input:focus-visible { outline:2px solid #07563a; outline-offset:3px; }
.j5-filter-studio .select2-container { max-width:100%; width:100%!important; }
.j5-filter-studio .select2-selection { min-height:46px; border-radius:9px!important; border-color:#cad8cd!important; }
.j5-filter-studio .j5-radius-filter > label { font-size:.8rem; }
.j5-filter-studio .j5-radius-filter input { width:100%; border-radius:9px; }
.j5-filter-studio .j5-filter-done { display:none; }
.j5-filter-badge { display:inline-flex; align-items:center; justify-content:center; min-width:24px; height:24px; border-radius:50%; background:#07563a; color:#fff; font-size:.75rem; }
.j5.j5-register-compact .registration-header { padding:18px 20px; margin:-4px -4px 24px; background:#0d4c38; border-radius:12px; }
.j5.j5-register-compact .registration-header .auth-back { color:#fff; }
.j5-auth-page[data-j5-auth-mode=register] .j5-register-compact { background:#f2f6f0; padding:36px 20px; }
.j5-auth-page[data-j5-auth-mode=register] .j5-register-compact .auth-main { min-height:0; border:1px solid #dce5dc; border-radius:20px; box-shadow:0 16px 48px #1235230b; }
.j5.j5-guide .j5-guide-hero { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:64px; padding-top:64px; padding-bottom:64px; }
.j5-guide .j5-guide-hero h1 { font-size:clamp(2.8rem,5.6vw,5rem); letter-spacing:-.06em; line-height:1.06; margin:18px 0 24px; max-width:10ch; }
.j5-guide .j5-guide-hero .hero-lead { max-width:38ch; font-size:1.15rem; line-height:1.65; color:#54685a; }
.j5-guide .j5-guide-hero figure { position:relative; margin:0; padding:0 0 26px; }
.j5-guide .j5-guide-hero img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:36px 36px 100px 36px; }
.j5-guide .j5-guide-note { position:absolute; bottom:0; left:24px; right:24px; padding:20px 24px; background:#fff; border:1px solid #dbe5dc; border-radius:14px; box-shadow:0 14px 40px #12352312; font-size:.85rem; line-height:1.5; }
.j5-guide .j5-guide-note strong { display:block; margin-bottom:3px; color:#104b34; font-size:1rem; }
.j5-guide .j5-guide-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:28px; }
.j5-guide .j5-guide-steps { padding-top:52px; padding-bottom:64px; border-top:1px solid #d8e2d9; }
.j5-guide .j5-guide-steps h2 { font-size:clamp(1.8rem,3.6vw,2.8rem); line-height:1.15; letter-spacing:-.04em; margin:8px 0 32px; }
.j5-guide .j5-step-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; padding:0; margin:0; }
.j5-guide .j5-step-grid li { margin:0; padding:28px; background:#fff; border:1px solid #dce6dc; border-radius:18px; }
.j5-guide .j5-step-number { display:grid; place-items:center; width:42px; height:42px; background:#e8f1e2; border-radius:50%; color:#19553c; font-size:.8rem; font-weight:700; }
.j5-guide .j5-step-grid h3 { margin:28px 0 12px; font-size:1.25rem; line-height:1.3; letter-spacing:-.025em; }
.j5-guide .j5-step-grid p { color:#586c5e; font-size:.94rem; line-height:1.7; }
.j5-guide .j5-guide-details { display:grid; grid-template-columns:.85fr 1.15fr; gap:72px; padding-top:48px; padding-bottom:64px; }
.j5-guide .j5-guide-details h2 { font-size:clamp(1.8rem,3.8vw,3rem); line-height:1.1; letter-spacing:-.045em; }
.j5-guide .j5-guide-details .faq-item { margin:0; border-bottom:1px solid #cfded1; }
.j5-guide .j5-guide-cta { border-radius:24px; background:#0d4c38; color:#fff; padding:40px; margin-bottom:64px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.j5-guide .j5-guide-cta h2 { color:inherit; font-size:clamp(1.6rem,3vw,2.6rem); line-height:1.2; margin:0 0 12px; }
.j5-guide .j5-guide-cta p { margin:0; color:#d5e4db; }
.j5-guide .j5-guide-cta .button { background:#e9f0dc; color:#16432f; flex-shrink:0; }
@media (prefers-reduced-motion:no-preference) { .j5-guide .j5-step-grid li { transition:transform 180ms ease,border-color 180ms ease; } .j5-guide .j5-step-grid li:hover { transform:translateY(-4px); border-color:#9fbca3; } }
@media(max-width:1023px) {
 .j5.j5-search .jobs-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
 .j5-filter-studio .job_search_filter_body { border:0; border-radius:0; }
 .j5-search .j5-filter-studio.v5-panel-open .job_search_filter_body { width:min(390px,100%); padding:24px; }
 .j5-filter-studio .j5-filter-done { display:block; position:sticky; bottom:-24px; padding:16px 0 8px; background:#fff; border-top:1px solid #e3eae3; }
 .j5-filter-studio .j5-filter-done .button { width:100%; }
 .j5-filter-studio .j5-filter-done p { font-size:.72rem; margin:10px 0 0; text-align:center; color:#66766c; }
 .j5.j5-guide .j5-guide-hero { gap:32px; }
 .j5-guide .j5-guide-details { gap:32px; }
}
@media(max-width:720px) {
 .j5.j5-search .jobs-heading { padding-top:28px; padding-bottom:20px; }
 .j5.j5-search .search-bar { border-radius:12px; }
 .j5.j5-guide .j5-guide-hero { grid-template-columns:1fr; padding-top:32px; padding-bottom:40px; }
 .j5-guide .j5-guide-hero h1 { max-width:14ch; font-size:clamp(2.5rem,10vw,3.5rem); }
 .j5-guide .j5-guide-hero img { max-height:420px; border-radius:24px 24px 72px 24px; }
 .j5-guide .j5-step-grid, .j5-guide .j5-guide-details { grid-template-columns:1fr; gap:18px; }
 .j5-guide .j5-step-grid li { padding:24px; }
 .j5-guide .j5-step-grid h3 { margin-top:18px; }
 .j5-guide .j5-guide-cta { flex-direction:column; align-items:flex-start; padding:28px; margin-bottom:40px; }
 .j5-auth-page[data-j5-auth-mode=register] .j5-register-compact { padding:20px 12px; }
}
