/*
Theme Name: Chefs Finder
Theme URI: https://iconstalent.com/
Author: Chefs Finder
Description: Modern, performance-focused presentation theme for the Chefs Finder recruitment platform. Backend recruitment features are provided by the Chefs Finder Core plugin.
Version: 3.6.23
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: chefs-finder
*/
:root{--cf-navy:#071a3a;--cf-navy-2:#102b5c;--cf-blue:#244da6;--cf-gold:#d7ad50;--cf-bg:#f6f8fc;--cf-text:#18243d;--cf-muted:#667085;--cf-border:#e4e9f1;--cf-white:#fff;--cf-radius:14px;--cf-shadow:0 12px 35px rgba(11,23,51,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cf-bg);color:var(--cf-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:var(--cf-blue)}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}.site-main{min-height:60vh}.cf-shell{width:min(1180px,calc(100% - 40px));margin:auto}.cf-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--cf-blue);border-radius:7px;background:var(--cf-blue);color:#fff;padding:12px 18px;font-weight:800;text-decoration:none;cursor:pointer}.cf-btn.alt{background:var(--cf-gold);border-color:var(--cf-gold);color:var(--cf-navy)}.cf-btn.ghost{background:#fff;color:var(--cf-navy);border-color:#ccd5e4}.cf-card{background:#fff;border:1px solid var(--cf-border);border-radius:var(--cf-radius);box-shadow:var(--cf-shadow);padding:28px}.cf-kicker{color:#9b7725;font-size:11px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.cf-page-title{font-size:clamp(32px,4vw,52px);line-height:1.08;color:var(--cf-navy);margin:8px 0 12px}.cf-page-wrap{padding:65px 0}.cf-section-head{margin-bottom:30px}.cf-section-head p{color:var(--cf-muted)}
/* Header */
.cf-topbar{background:#12377e;color:#fff;font-size:12px}.cf-topbar-inner{width:min(1180px,calc(100% - 40px));height:38px;margin:auto;display:flex;justify-content:space-between;align-items:center}.cf-header{background:#fff;border-bottom:1px solid var(--cf-border);position:relative;z-index:50}.cf-header-inner{width:min(1180px,calc(100% - 40px));min-height:86px;margin:auto;display:flex;align-items:center;gap:28px}.cf-brand img{display:block;width:190px;height:auto;object-fit:contain}.cf-nav{margin-left:auto;display:flex;align-items:center;gap:4px}.cf-nav a{padding:10px 11px;color:var(--cf-navy);font-size:13px;font-weight:750;text-decoration:none;border-radius:7px}.cf-nav a:hover{background:#eef3ff;color:var(--cf-blue)}.cf-header-actions{display:flex;gap:8px}.cf-menu-toggle{display:none;background:none;border:0;font-size:28px;color:var(--cf-navy)}
/* Home */
.cf-hero{position:relative;min-height:640px;background:var(--cf-navy);color:#fff;overflow:visible}.cf-hero-media{position:absolute;inset:0 0 0 43%;overflow:hidden}.cf-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.cf-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,58,.99) 0%,rgba(7,26,58,.91) 30%,rgba(7,26,58,.48) 54%,rgba(7,26,58,.05) 82%)}.cf-hero-inner{position:relative;z-index:2;width:min(1180px,calc(100% - 40px));margin:auto;padding:105px 0 175px}.cf-hero-copy{max-width:650px}.cf-hero h1{font-size:clamp(44px,5.2vw,74px);line-height:1.02;letter-spacing:-.045em;margin:16px 0 22px}.cf-hero p{max-width:600px;color:#dbe5f6;font-size:19px}.cf-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.cf-home-search{position:absolute;z-index:5;left:50%;bottom:-43px;transform:translateX(-50%);width:min(1180px,calc(100% - 40px));background:#fff;border:1px solid var(--cf-border);border-radius:13px;padding:9px;box-shadow:0 18px 45px rgba(7,26,58,.18)}.cf-home-search form{display:grid;grid-template-columns:1.6fr 1fr 1fr auto}.cf-home-search label{padding:4px 14px;border-right:1px solid var(--cf-border)}.cf-home-search label:last-of-type{border-right:0}.cf-home-search label span{display:block;color:var(--cf-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.cf-home-search input,.cf-home-search select{width:100%;height:40px;border:0;outline:0;background:#fff;color:var(--cf-text)}.cf-home-search button{border:0;border-radius:7px;background:var(--cf-blue);color:#fff;padding:0 25px;font-weight:800}.cf-stats{position:relative;z-index:4;width:min(1180px,calc(100% - 40px));margin:auto;padding:25px 10px;background:#173d8f;color:#fff;border-radius:0 0 13px 13px;display:grid;grid-template-columns:repeat(4,1fr)}.cf-stats div{text-align:center;border-right:1px solid rgba(255,255,255,.2)}.cf-stats div:last-child{border:0}.cf-stats strong{display:block;font-size:29px}.cf-stats span{font-size:13px;font-weight:750}.cf-home-section{width:min(1180px,calc(100% - 40px));margin:auto;padding:90px 0 50px}.cf-home-section-head{text-align:center;max-width:760px;margin:auto auto 35px}.cf-home-section-head h2{font-size:clamp(30px,4vw,46px);line-height:1.08;color:var(--cf-navy);margin:8px 0}.cf-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cf-feature-grid article{background:#fff;border:1px solid var(--cf-border);border-radius:var(--cf-radius);padding:30px;box-shadow:var(--cf-shadow)}.cf-feature-grid h3{color:var(--cf-navy)}.cf-feature-grid p{color:var(--cf-muted)}.cf-dual{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cf-dual article{padding:38px;border-radius:var(--cf-radius);background:#fff;border:1px solid var(--cf-border)}.cf-dual article.dark{background:linear-gradient(135deg,#071a3a,#173d8f);color:#fff}.cf-dual article.dark h2,.cf-dual article.dark li{color:#fff}.cf-dual h2{color:var(--cf-navy)}.cf-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}.cf-step b{display:grid;place-items:center;width:50px;height:50px;margin:auto;border-radius:50%;background:var(--cf-blue);color:#fff}.cf-cta{width:min(1180px,calc(100% - 40px));margin:55px auto 75px;padding:34px 38px;border-radius:var(--cf-radius);background:var(--cf-navy);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:25px}.cf-cta h2{margin:5px 0;font-size:30px}.cf-cta-actions{display:flex;gap:8px;flex-wrap:wrap}
/* Footer */
.site-footer{background:#091630;color:#cbd6e8;border-top:3px solid var(--cf-gold)}.cf-footer-inner{width:min(1180px,calc(100% - 40px));margin:auto;padding:52px 0 25px}.cf-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:30px}.site-footer h3{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.08em}.site-footer a{color:#d8e1f0;text-decoration:none}.site-footer a:hover{color:#fff}.cf-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:18px;font-size:12px}
@media(max-width:1000px){.cf-nav{display:none}.cf-menu-toggle{display:block;margin-left:auto}.cf-header-actions{display:none}.cf-feature-grid{grid-template-columns:1fr 1fr}.cf-steps{grid-template-columns:1fr 1fr}.cf-footer-grid{grid-template-columns:1fr 1fr}.cf-home-search form{grid-template-columns:1fr 1fr}.cf-home-search button{height:48px;margin-top:7px}.cf-home-search label:nth-child(2){border-right:0}.cf-home-search button{grid-column:1/-1}.cf-stats{grid-template-columns:1fr 1fr;row-gap:16px}}
@media(max-width:700px){.cf-topbar-inner,.cf-header-inner,.cf-shell,.cf-home-section{width:calc(100% - 28px)}.cf-brand img{width:150px}.cf-hero-media{inset:0;width:100%}.cf-hero-overlay{background:linear-gradient(90deg,rgba(7,26,58,.97),rgba(7,26,58,.75))}.cf-hero-inner{padding:70px 0 180px;width:calc(100% - 28px)}.cf-hero h1{font-size:43px}.cf-hero p{font-size:16px}.cf-home-search{width:calc(100% - 28px);bottom:-170px}.cf-home-search form{grid-template-columns:1fr}.cf-home-search label{border-right:0;border-bottom:1px solid var(--cf-border)}.cf-home-search button{grid-column:auto}.cf-stats{margin-top:170px;width:calc(100% - 28px)}.cf-feature-grid,.cf-dual,.cf-steps,.cf-footer-grid{grid-template-columns:1fr}.cf-cta{width:calc(100% - 28px);display:block;padding:28px 22px}.cf-cta-actions{margin-top:20px}}

/* ============================================================
   CHEFS FINDER 3.1.3 — PLATFORM UI SYSTEM
   Applied to shortcode-driven pages as well as native templates.
   Primary: Navy #071A3A / Blue #244DA6 / Gold #D7AD50
   ============================================================ */

body { background:#f5f7fb !important; color:#14233f; }
.site-main { min-height:60vh; }
.cf-page-wrap {
    width:min(1180px, calc(100% - 40px));
    margin:0 auto !important;
    padding:54px 0 76px !important;
}
.cf-page-wrap > .cf-section-head,
.cf-page-wrap > .cf-card,
.cf-page-wrap > .cf-job-grid,
.cf-page-wrap > .cf-candidate-grid,
.cf-page-wrap > .cf-feature-grid,
.cf-page-wrap > .cf-split,
.cf-page-wrap > .cf-empty { width:100%; }
.cf-section-head {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:28px;
    margin:0 0 26px !important;
}
.cf-section-head > div { min-width:0; }
.cf-section-head p { max-width:780px; margin:12px 0 0; color:#65738a; font-size:17px; }
.cf-page-title {
    margin:8px 0 0 !important;
    color:#071a3a !important;
    font-size:clamp(36px,4.6vw,58px) !important;
    line-height:1.04 !important;
    letter-spacing:-.035em;
    font-weight:800 !important;
}
.cf-card {
    background:#fff !important;
    border:1px solid #dfe5ef !important;
    border-radius:16px !important;
    box-shadow:0 10px 30px rgba(7,26,58,.06) !important;
    padding:26px !important;
}
.cf-card-head { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:18px; }
.cf-help { color:#69768a; }

/* Forms */
/* Selector is deliberately doubled (.cf-search-form.cf-search-form) to raise specificity
   above the later "fallback styling for shortcode-generated markup" rules further down
   this file (e.g. ".cf-page-wrap form { grid-template-columns:repeat(12,…) !important }")
   which target any <form> inside .cf-page-wrap and were silently winning over this block,
   collapsing the search bar to an unstyled 12-column grid it was never designed for. */
/* Matches the Company Review filter's layout: a full-width primary search field on its
   own row (with a visible caption label above it, like #cf-company-search), then the
   remaining filters paired up two-to-a-row beneath it, with the submit button spanning
   the full width as its own closing row. */
.cf-search-form.cf-search-form {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    align-items:end !important;
}
.cf-search-form.cf-search-form > label:first-child,
.cf-search-form.cf-search-form > input:first-child,
.cf-search-form.cf-search-form > input:first-of-type {
    grid-column:1 / -1 !important;
}
.cf-search-form.cf-search-form .cf-search-caption {
    grid-column:1 / -1 !important;
    margin:0 !important;
    color:#253550;
    font-weight:700;
    font-size:13px;
}
.cf-search-form input,
.cf-search-form select,
.cf-card input[type="text"],
.cf-card input[type="email"],
.cf-card input[type="tel"],
.cf-card input[type="url"],
.cf-card input[type="search"],
.cf-card input[type="password"],
.cf-card input[type="number"],
.cf-card select,
.cf-card textarea,
.cf-app-shell input,
.cf-app-shell select,
.cf-app-shell textarea {
    width:100%;
    min-width:0;
    min-height:46px;
    padding:11px 13px !important;
    border:1px solid #cfd8e6 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#14233f !important;
    box-shadow:none !important;
    outline:none;
}
.cf-search-form input:focus,
.cf-search-form select:focus,
.cf-card input:focus,
.cf-card select:focus,
.cf-card textarea:focus {
    border-color:#244da6 !important;
    box-shadow:0 0 0 3px rgba(36,77,166,.10) !important;
}
.cf-search-form.cf-search-form .cf-btn {
    min-height:46px !important;
    white-space:nowrap !important;
    /* Full-width closing row, matching the Company Review filter's "Apply Filters" CTA
       treatment, rather than a narrow auto-width button orphaned at the end of the grid. */
    grid-column:1 / -1 !important;
}
.cf-inline-check {
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    white-space:nowrap;
    color:#44526a;
    font-weight:650;
}
.cf-inline-check input { width:auto !important; min-height:auto !important; }

/* Job discovery */
.cf-job-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:22px;
}
.cf-job {
    position:relative;
    background:#fff;
    border:1px solid #dfe5ef;
    border-radius:16px;
    padding:23px;
    box-shadow:0 8px 25px rgba(7,26,58,.055);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.cf-job:hover { transform:translateY(-2px); border-color:#b9c8e3; box-shadow:0 14px 35px rgba(7,26,58,.10); }
.cf-job h3 { margin:14px 0 8px; font-size:21px; line-height:1.2; color:#071a3a; }
.cf-job h3 a { color:#071a3a; text-decoration:none; }
.cf-job p { color:#65738a; margin:0 0 15px; }
.cf-job-top { display:flex; justify-content:space-between; gap:12px; color:#69768a; font-size:12px; }
.cf-plan,.cf-featured-label,.cf-verified {
    display:inline-flex; align-items:center; gap:5px;
    padding:5px 9px; border-radius:999px;
    background:#edf2ff; color:#244da6; font-size:11px; font-weight:800;
}
.cf-featured-label { background:#fff5d9; color:#8a6616; position:absolute; top:18px; right:18px; }
.cf-chip-list,.cf-candidate-tags { display:flex; flex-wrap:wrap; gap:7px; margin:14px 0; }
.cf-chip-list span,.cf-candidate-tags span {
    padding:5px 9px; border-radius:999px; background:#f1f4f8; color:#536178; font-size:11px;
}
.cf-candidate-tags .open { background:#e8f6ed; color:#217043; }
.cf-row-actions { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:18px; }
.cf-text-link { color:#244da6; background:none; border:0; padding:0; font-weight:800; text-decoration:none; cursor:pointer; }
.cf-empty,.cf-empty h3 { color:#4d5b72; }
.cf-empty { padding:30px !important; border:1px dashed #cbd5e3; border-radius:14px; background:#fbfcfe; }

/* Candidates / companies / feature blocks */
.cf-candidate-grid {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:22px;
}
.cf-candidate-card,.cf-feature,.cf-panel {
    background:#fff;
    border:1px solid #dfe5ef;
    border-radius:16px;
    padding:24px;
    box-shadow:0 8px 25px rgba(7,26,58,.055);
}
.cf-candidate-card { display:grid; grid-template-columns:86px 1fr; gap:20px; }
.cf-candidate-photo,.cf-avatar {
    width:86px; height:86px; border-radius:50%; overflow:hidden;
    background:#244da6; color:#fff; display:grid; place-items:center;
    font-size:28px; font-weight:800;
}
.cf-candidate-photo img { width:100%; height:100%; object-fit:cover; }
.cf-card-head { display:flex; justify-content:space-between; gap:10px; }
.cf-candidate-card h3 { margin:8px 0 3px; font-size:21px; }
.cf-candidate-card h3 a { color:#071a3a; text-decoration:none; }
.cf-candidate-title { color:#244da6 !important; font-weight:750; margin:0 0 6px !important; }

/* Generic content */
.cf-content { color:#42516a; font-size:16px; }
.cf-content h2,.cf-content h3 { color:#071a3a; }
.cf-content a { color:#244da6; }
.cf-split { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cf-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.cf-feature h3,.cf-panel h2 { color:#071a3a; margin-top:8px; }
.cf-feature-icon {
    width:42px; height:42px; border-radius:12px; display:grid; place-items:center;
    background:#edf2ff; color:#244da6; font-weight:850;
}
.cf-panel { padding:30px; }

/* Contact and account forms */
.cf-page-wrap form:not(.cf-search-form) {
    max-width:100%;
}
.cf-page-wrap label {
    color:#253550;
    font-weight:700;
}
.cf-page-wrap textarea { min-height:150px; resize:vertical; }
.cf-page-wrap form p { margin:0 0 15px; }
.cf-page-wrap form .cf-btn { margin-top:6px; }

/* Dashboard/application lists */
.cf-app-shell {
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
    padding:46px 0 70px;
}
.cf-app-main { width:100%; }
.cf-app-top { margin-bottom:26px; }
.cf-dashboard-grid,.cf-app-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.cf-list,.cf-app-list { background:#fff; border:1px solid #dfe5ef; border-radius:16px; overflow:hidden; }
.cf-list-row,.cf-app-row {
    padding:16px 18px; border-bottom:1px solid #edf0f5;
}
.cf-list-row:last-child,.cf-app-row:last-child { border-bottom:0; }

/* Responsive */
@media(max-width:1050px){
    .cf-search-form.cf-search-form { grid-template-columns:1fr 1fr !important; }
    .cf-search-form .cf-btn { width:100%; }
    .cf-job-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cf-feature-grid,.cf-dashboard-grid,.cf-app-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:700px){
    .cf-page-wrap { width:calc(100% - 28px); padding:36px 0 55px !important; }
    .cf-section-head { align-items:flex-start; flex-direction:column; }
    .cf-page-title { font-size:38px !important; }
    .cf-search-form.cf-search-form { grid-template-columns:1fr !important; }
    .cf-job-grid,.cf-candidate-grid,.cf-feature-grid,.cf-split,.cf-dashboard-grid,.cf-app-grid { grid-template-columns:1fr; }
    .cf-candidate-card { grid-template-columns:1fr; }
    .cf-candidate-photo,.cf-avatar { width:72px; height:72px; }
    .cf-card { padding:20px !important; }
    .cf-app-shell { width:calc(100% - 28px); }
}

/* ============================================================
   CHEFS FINDER 3.1.4 — FORMS / DASHBOARD / APPLICATION UI
   Fixes browser-default inline forms, raw shortcode output,
   cramped authentication forms and dashboard navigation.
   ============================================================ */

/* Shared content shell */
.cf-page-wrap,
.cf-app-shell {
    width:min(1180px,calc(100% - 40px)) !important;
    margin:0 auto !important;
    padding:48px 0 72px !important;
}

/* Prevent raw shortcode/dashboard fragments from running together */
.cf-page-wrap > *,
.cf-app-shell > * { box-sizing:border-box; }
.cf-page-wrap a,
.cf-app-shell a { text-decoration:none; }
.cf-page-wrap .cf-card,
.cf-app-shell .cf-card { overflow:hidden; }

/* Auth pages */
.cf-auth-shell {
    width:min(760px,calc(100% - 40px));
    margin:0 auto;
    padding:56px 0 80px;
}
.cf-auth-card {
    background:#fff;
    border:1px solid #dce4ef;
    border-radius:20px;
    box-shadow:0 18px 45px rgba(7,26,58,.08);
    padding:38px !important;
}
.cf-auth-card h1,
.cf-auth-card h2 { color:#071a3a !important; }
.cf-auth-card h1 { font-size:clamp(38px,5vw,54px) !important; margin:6px 0 28px !important; }
.cf-auth-card h2 { font-size:28px !important; margin:0 0 10px !important; }
.cf-auth-form {
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:18px !important;
}
.cf-auth-form .cf-field {
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    min-width:0;
}
.cf-auth-form .cf-field.full { grid-column:1 / -1; }
.cf-auth-form label {
    color:#253550 !important;
    font-size:13px !important;
    font-weight:750 !important;
}
.cf-auth-form input,
.cf-auth-form select,
.cf-auth-form textarea {
    display:block !important;
    width:100% !important;
    min-height:48px !important;
    margin:0 !important;
    padding:12px 14px !important;
    border:1px solid #cbd6e5 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#14233f !important;
    font:inherit !important;
}
.cf-auth-form input:focus,
.cf-auth-form select:focus,
.cf-auth-form textarea:focus {
    border-color:#244da6 !important;
    box-shadow:0 0 0 3px rgba(36,77,166,.11) !important;
    outline:0 !important;
}
.cf-auth-form .cf-check {
    display:flex !important;
    align-items:flex-start !important;
    gap:9px !important;
    color:#526079;
    font-size:13px;
    line-height:1.5;
}
.cf-auth-form .cf-check input {
    width:17px !important;
    min-height:17px !important;
    margin:2px 0 0 !important;
    flex:0 0 auto;
}
.cf-auth-actions {
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:12px !important;
    margin-top:4px !important;
}
.cf-auth-actions .cf-btn { min-height:46px; }
.cf-auth-links {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px 18px !important;
    margin-top:22px !important;
    color:#5e6b80;
    font-size:14px;
}
.cf-auth-links a { color:#244da6 !important; font-weight:700; }

/* Candidate/employer role switch */
.cf-role-switch {
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin:0 0 24px !important;
}
.cf-role-switch a {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:46px;
    padding:10px 14px;
    border:1px solid #d3ddea;
    border-radius:10px;
    background:#f8faff;
    color:#19345f !important;
    font-weight:750;
}
.cf-role-switch a.active {
    background:#071a3a;
    color:#fff !important;
    border-color:#071a3a;
}

/* Dashboard */
.cf-dashboard-header {
    display:flex !important;
    justify-content:space-between !important;
    align-items:flex-end !important;
    gap:24px !important;
    margin-bottom:22px !important;
}
.cf-dashboard-header h1 { margin:4px 0 8px !important; color:#071a3a !important; }
.cf-dashboard-header p { margin:0; color:#69768a; }
.cf-dashboard-actions { display:flex; gap:10px; flex-wrap:wrap; }

.cf-dashboard-nav {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    padding:9px !important;
    margin:0 0 22px !important;
    background:#071a3a !important;
    border-radius:14px !important;
    box-shadow:0 10px 25px rgba(7,26,58,.10);
}
.cf-dashboard-nav a {
    display:inline-flex !important;
    align-items:center !important;
    min-height:38px;
    padding:8px 12px !important;
    border-radius:8px !important;
    color:#dfe8f7 !important;
    font-size:12px !important;
    font-weight:700 !important;
    white-space:nowrap;
}
.cf-dashboard-nav a:hover,
.cf-dashboard-nav a.active {
    background:#244da6 !important;
    color:#fff !important;
}
.cf-dashboard-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
}
.cf-dashboard-card {
    background:#fff !important;
    border:1px solid #dce4ef !important;
    border-radius:16px !important;
    padding:24px !important;
    box-shadow:0 8px 25px rgba(7,26,58,.055) !important;
}
.cf-dashboard-card.full { grid-column:1 / -1; }
.cf-dashboard-card h2,
.cf-dashboard-card h3 { color:#071a3a !important; margin:0 0 8px !important; }
.cf-stat-row {
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:12px !important;
}
.cf-stat {
    padding:18px !important;
    background:#f6f8fc !important;
    border:1px solid #e3e8f0 !important;
    border-radius:12px !important;
}
.cf-stat strong { display:block; color:#071a3a; font-size:28px; line-height:1; }
.cf-stat span { display:block; color:#68758a; margin-top:7px; font-size:12px; }

/* Kill the specific raw inline menu pattern visible in dashboard screenshots */
.cf-dashboard-links,
.cf-portal-links,
.cf-quick-links {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:9px !important;
    margin-top:14px !important;
}
.cf-dashboard-links a,
.cf-portal-links a,
.cf-quick-links a {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:42px !important;
    padding:10px 12px !important;
    border:1px solid #dce4ef !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#244da6 !important;
    font-size:12px !important;
    font-weight:750 !important;
}
.cf-dashboard-links a:hover,
.cf-portal-links a:hover,
.cf-quick-links a:hover {
    background:#edf2ff !important;
    border-color:#b9c8e3 !important;
}

/* Application status cards */
.cf-progress-grid {
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:8px !important;
    margin-top:16px !important;
}
.cf-progress-item {
    text-align:center;
    padding:13px 7px;
    border-radius:10px;
    background:#f6f8fc;
    border:1px solid #e2e7ef;
}
.cf-progress-item strong { display:block; font-size:20px; color:#071a3a; }
.cf-progress-item span { display:block; font-size:10px; color:#6a778c; margin-top:4px; }

/* Search hero overlap */
.cf-hero-search {
    position:relative !important;
    z-index:10 !important;
    width:min(1180px,calc(100% - 40px)) !important;
    margin:-54px auto 0 !important;
}
.cf-hero-search .cf-search-form {
    background:#fff !important;
    border:1px solid #dce4ef !important;
    border-radius:16px !important;
    padding:10px !important;
    box-shadow:0 15px 35px rgba(7,26,58,.14) !important;
}
.cf-stat-strip {
    width:min(1180px,calc(100% - 40px)) !important;
    margin:0 auto !important;
    background:#244da6 !important;
    color:#fff !important;
    border-radius:0 0 14px 14px !important;
}


/* Mobile */
@media(max-width:800px){
    .cf-auth-shell,.cf-page-wrap,.cf-app-shell { width:calc(100% - 28px) !important; }
    .cf-auth-card { padding:24px !important; }
    .cf-auth-form { grid-template-columns:1fr !important; }
    .cf-auth-form .cf-field.full { grid-column:auto; }
    .cf-role-switch { grid-template-columns:1fr !important; }
    .cf-dashboard-header { align-items:flex-start !important; flex-direction:column !important; }
    .cf-dashboard-grid,.cf-dashboard-links,.cf-portal-links,.cf-quick-links { grid-template-columns:1fr !important; }
    .cf-stat-row { grid-template-columns:1fr 1fr !important; }
    .cf-progress-grid { grid-template-columns:1fr 1fr !important; }
    .cf-hero-search { width:calc(100% - 28px) !important; margin:-30px auto 0 !important; }
}

/* 3.1.5 — fallback styling for shortcode-generated markup without component classes */
.cf-page-wrap form,
.cf-app-shell form {
    display:grid !important;
    grid-template-columns:repeat(12,minmax(0,1fr)) !important;
    gap:16px !important;
    align-items:start !important;
    margin:0 !important;
}
.cf-page-wrap form > p,
.cf-app-shell form > p { margin:0 !important; min-width:0; }
.cf-page-wrap form label,
.cf-app-shell form label {
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    min-width:0 !important;
    color:#253550 !important;
    font-weight:700 !important;
}
.cf-page-wrap form label input,
.cf-page-wrap form label select,
.cf-page-wrap form label textarea,
.cf-app-shell form label input,
.cf-app-shell form label select,
.cf-app-shell form label textarea {
    width:100% !important;
    box-sizing:border-box !important;
    min-height:48px !important;
}
.cf-page-wrap form input[type="checkbox"],
.cf-app-shell form input[type="checkbox"] { width:auto !important; min-height:auto !important; }
.cf-page-wrap form input[type="submit"],
.cf-page-wrap form button,
.cf-app-shell form input[type="submit"],
.cf-app-shell form button {
    grid-column:span 2 !important;
    min-height:46px !important;
    padding:11px 18px !important;
    border:0 !important;
    border-radius:9px !important;
    background:#244da6 !important;
    color:#fff !important;
    font-weight:800 !important;
    cursor:pointer !important;
}
.cf-page-wrap form input[type="submit"]:hover,
.cf-page-wrap form button:hover,
.cf-app-shell form input[type="submit"]:hover,
.cf-app-shell form button:hover { background:#071a3a !important; }
.cf-page-wrap form > p:has(input[type="text"]),
.cf-page-wrap form > p:has(input[type="email"]),
.cf-page-wrap form > p:has(input[type="tel"]),
.cf-page-wrap form > p:has(input[type="password"]),
.cf-app-shell form > p:has(input[type="text"]),
.cf-app-shell form > p:has(input[type="email"]),
.cf-app-shell form > p:has(input[type="tel"]),
.cf-app-shell form > p:has(input[type="password"]) { grid-column:span 6 !important; }

@media(max-width:700px){
    .cf-page-wrap form,
    .cf-app-shell form { grid-template-columns:1fr !important; }
    .cf-page-wrap form > p,
    .cf-page-wrap form > p:has(input),
    .cf-app-shell form > p,
    .cf-app-shell form > p:has(input) { grid-column:1 !important; }
    .cf-page-wrap form input[type="submit"],
    .cf-page-wrap form button,
    .cf-app-shell form input[type="submit"],
    .cf-app-shell form button { grid-column:1 !important; }
}

/* Raw portal navigation fallback */
.cf-page-wrap nav,
.cf-app-shell nav {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    padding:10px !important;
    background:#071a3a !important;
    border-radius:12px !important;
    margin:0 0 20px !important;
}
.cf-page-wrap nav a,
.cf-app-shell nav a {
    display:inline-flex !important;
    padding:8px 11px !important;
    border-radius:7px !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:700 !important;
}
.cf-page-wrap nav a:hover,
.cf-app-shell nav a:hover { background:#244da6 !important; }

/* Prevent accidental inline text runs in portal link groups */
.cf-page-wrap .cf-portal,
.cf-app-shell .cf-portal {
    display:grid !important;
    gap:18px !important;
}

/* ============================================================
   CHEFS FINDER 3.1.6 — EXACT CORE MARKUP STYLING
   ============================================================ */

/* Portal shell */
.cf-candidate-portal {
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
    padding:48px 0 72px;
}
.cf-candidate-portal-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:18px 22px;
    margin-bottom:16px;
    background:#071a3a;
    color:#fff;
    border-radius:14px;
}
.cf-candidate-portal-brand,
.cf-candidate-portal-user {
    display:flex;
    align-items:center;
    gap:12px;
}
.cf-candidate-portal-brand strong,
.cf-candidate-portal-brand small,
.cf-candidate-portal-user strong,
.cf-candidate-portal-user small { display:block; }
.cf-candidate-portal-brand strong { font-size:13px; letter-spacing:.1em; }
.cf-candidate-portal-brand small,
.cf-candidate-portal-user small { color:#b9c8df; font-size:11px; margin-top:2px; }
.brand-mark {
    width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
    background:#244da6;color:#fff;font-weight:900;
}
.cf-portal-avatar {
    width:42px !important;height:42px !important;border-radius:50%;
    display:grid;place-items:center;background:#244da6;color:#fff;
}
.cf-candidate-portal-nav {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    padding:8px;
    margin-bottom:24px;
    background:#fff;
    border:1px solid #dce4ef;
    border-radius:12px;
    box-shadow:0 8px 22px rgba(7,26,58,.05);
}
.cf-candidate-portal-nav a {
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:9px 11px;
    border-radius:8px;
    color:#34435d !important;
    font-size:12px;
    font-weight:750;
}
.cf-candidate-portal-nav a.active,
.cf-candidate-portal-nav a:hover {
    background:#244da6;
    color:#fff !important;
}
.cf-candidate-portal-main { min-width:0; }
.cf-candidate-page-head {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:20px;
}
.cf-candidate-page-head h1 { margin:5px 0 7px; color:#071a3a; font-size:42px; }
.cf-candidate-page-head p { margin:0; color:#68758a; }
.cf-candidate-head-actions { display:flex; gap:8px; flex-wrap:wrap; }
.cf-candidate-portal-content > section,
.cf-candidate-portal-main > section {
    margin-bottom:18px;
}

/* Profile/action cards */
.cf-candidate-action-list,
.cf-resume-action-list {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:9px !important;
}
.cf-candidate-action {
    display:grid !important;
    grid-template-columns:38px 1fr 16px;
    align-items:center;
    gap:10px;
    min-height:62px;
    padding:11px 13px;
    border:1px solid #dce4ef;
    border-radius:10px;
    background:#fff;
    color:#071a3a !important;
    transition:.15s ease;
}
.cf-candidate-action:hover { border-color:#b9c8e3; background:#f6f8ff; transform:translateY(-1px); }
.cf-candidate-action b {
    width:34px;height:34px;border-radius:9px;display:grid;place-items:center;
    background:#edf2ff;color:#244da6;
}
.cf-candidate-action strong,
.cf-candidate-action small { display:block; }
.cf-candidate-action strong { font-size:12px; }
.cf-candidate-action small { margin-top:3px;color:#78859a;font-size:10px; }
.cf-candidate-action i { font-style:normal;color:#244da6;font-weight:900; }
.cf-candidate-profile-summary {
    display:grid !important;
    grid-template-columns:80px 1fr;
    gap:18px;
    align-items:center;
}
.cf-profile-avatar {
    width:80px;height:80px;border-radius:50%;display:grid;place-items:center;
    background:#244da6;color:#fff;font-size:27px;font-weight:850;overflow:hidden;
}
.cf-profile-avatar img { width:100%;height:100%;object-fit:cover; }
.cf-candidate-profile-info h3 { margin:0 0 5px;color:#071a3a; }
.cf-candidate-profile-info p { margin:0;color:#68758a; }
.cf-profile-flags { display:flex;gap:8px;flex-wrap:wrap;margin-top:15px; }
.cf-profile-flags span {
    padding:6px 9px;border-radius:999px;background:#f0f3f7;color:#68758a;font-size:11px;font-weight:750;
}
.cf-profile-flags span.good { background:#e9f7ef;color:#217043; }
.cf-candidate-stage-list {
    display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:8px;
}
.cf-candidate-stage-list > div {
    text-align:center;padding:13px 7px;background:#f6f8fc;border:1px solid #e2e7ef;border-radius:10px;
}
.cf-candidate-stage-list span { display:block;color:#69768a;font-size:10px; }
.cf-candidate-stage-list strong { display:block;margin-top:4px;color:#071a3a;font-size:22px; }

/* Exact authentication markup emitted by Core */
.cf-auth-wrap {
    width:min(760px,calc(100% - 40px));
    margin:0 auto;
    padding:55px 0 80px;
}
.cf-auth-wrap .cf-card {
    padding:38px !important;
    border-radius:20px !important;
}
.cf-auth-wrap h1,.cf-auth-wrap h2 { color:#071a3a; }
.cf-auth-wrap h2 { font-size:28px;margin:5px 0 10px; }
.cf-auth-wrap > .cf-card > p { color:#5f6d82; }
.cf-auth-wrap form {
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:16px !important;
    margin-top:20px !important;
}
.cf-auth-wrap form > label {
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    color:#263650 !important;
    font-size:13px !important;
    font-weight:750 !important;
    min-width:0 !important;
}
.cf-auth-wrap form > label input {
    width:100% !important;
    box-sizing:border-box !important;
    min-height:48px !important;
    padding:11px 13px !important;
    border:1px solid #cbd6e5 !important;
    border-radius:9px !important;
}
.cf-auth-wrap form > label.cf-check {
    grid-column:1 / -1 !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:8px !important;
    font-weight:500 !important;
}
.cf-auth-wrap form > label.cf-check input {
    width:17px !important;
    min-height:17px !important;
    margin-top:2px !important;
}
.cf-auth-wrap form > button { grid-column:1 / -1 !important; justify-self:start; }
.cf-auth-foot { margin-top:20px !important; color:#66758a; }
.cf-auth-foot a { color:#244da6 !important; font-weight:750; }
.cf-admin-login {
    min-height:65vh;
    display:grid;
    place-items:center;
    padding:60px 20px;
}
.cf-admin-login-card {
    width:min(560px,100%);
    background:#fff;
    border:1px solid #dce4ef;
    border-radius:20px;
    padding:38px;
    box-shadow:0 18px 45px rgba(7,26,58,.08);
}
.cf-admin-login-card form {
    display:grid !important;
    gap:16px !important;
}
.cf-admin-login-card label {
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    font-weight:700;
}
.cf-admin-login-card label input { min-height:48px;padding:11px;border:1px solid #cbd6e5;border-radius:9px; }
.cf-admin-login-card .cf-btn { justify-self:start; }

/* Search forms generated by shortcodes */
.cf-job-search form,
.cf-search-wrap form,
.cf-company-search form {
    display:grid !important;
    grid-template-columns:1.5fr 1.1fr 1.1fr auto !important;
    gap:10px !important;
    align-items:end !important;
}
.cf-job-search form label,
.cf-search-wrap form label,
.cf-company-search form label {
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
    font-size:11px !important;
    font-weight:800 !important;
    color:#536178 !important;
}
.cf-job-search input,.cf-job-search select,
.cf-search-wrap input,.cf-search-wrap select,
.cf-company-search input,.cf-company-search select {
    min-height:46px !important;
    box-sizing:border-box !important;
}

/* Footer stays aligned */
.cf-footer-inner {
    width:min(1180px,calc(100% - 40px));
    margin:auto;
}
@media(max-width:800px){
    .cf-candidate-portal,.cf-auth-wrap { width:calc(100% - 28px); }
    .cf-candidate-portal-head,.cf-candidate-page-head { align-items:flex-start; flex-direction:column; }
    .cf-candidate-action-list,.cf-resume-action-list { grid-template-columns:1fr !important; }
    .cf-candidate-stage-list { grid-template-columns:repeat(2,1fr); }
    .cf-auth-wrap form { grid-template-columns:1fr !important; }
    .cf-auth-wrap form > label.cf-check,
    .cf-auth-wrap form > button { grid-column:1 !important; }
    .cf-job-search form,.cf-search-wrap form,.cf-company-search form { grid-template-columns:1fr !important; }
}

/* ============================================================
   CHEFS FINDER 3.1.7 — FINAL UI NORMALIZATION
   High-specificity component rules for Core-generated markup.
   ============================================================ */

/* Reset the content area so WordPress/editor/theme wrappers do not
   impose unexpected margins, inline widths or typography. */
body .site-main,
body .site-main > article,
body .entry-content {
    color:#18243d;
}
body .entry-content > .cf-auth-wrap,
body .entry-content > .cf-candidate-portal,
body .entry-content > .cf-page-wrap,
body .entry-content > .cf-app-shell {
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

/* ---------------- AUTH / REGISTER ---------------- */
body .cf-auth-wrap {
    display:block !important;
    width:min(900px,calc(100% - 40px)) !important;
    max-width:900px !important;
    margin:0 auto !important;
    padding:60px 0 80px !important;
}
body .cf-auth-wrap > .cf-card,
body .cf-auth-wrap > .cf-register-card {
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:42px !important;
    background:#fff !important;
    border:1px solid #dce4ef !important;
    border-radius:18px !important;
    box-shadow:0 18px 50px rgba(7,26,58,.08) !important;
}
body .cf-auth-wrap .cf-kicker {
    display:block !important;
    margin:0 0 7px !important;
    color:#9b7725 !important;
    font-size:11px !important;
    line-height:1.3 !important;
    letter-spacing:.15em !important;
    font-weight:850 !important;
}
body .cf-auth-wrap h1,
body .cf-auth-wrap h2 {
    color:#071a3a !important;
    font-weight:800 !important;
    letter-spacing:-.025em !important;
}
body .cf-auth-wrap h2 {
    font-size:32px !important;
    line-height:1.15 !important;
    margin:0 0 10px !important;
}
body .cf-auth-wrap > .cf-card > p {
    color:#637187 !important;
    font-size:16px !important;
    margin:0 0 20px !important;
}
body .cf-auth-wrap .cf-role-switch {
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin:0 0 24px !important;
}
body .cf-auth-wrap .cf-role-switch a {
    display:flex !important;
    width:100% !important;
    min-height:46px !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    border:1px solid #d5deeb !important;
    border-radius:9px !important;
    background:#f7f9fc !important;
    color:#18315a !important;
    font-size:13px !important;
    font-weight:750 !important;
    text-decoration:none !important;
}
body .cf-auth-wrap .cf-role-switch a.active {
    background:#071a3a !important;
    color:#fff !important;
    border-color:#071a3a !important;
}
body .cf-auth-wrap form {
    display:grid !important;
    width:100% !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px 16px !important;
    align-items:start !important;
    margin:0 !important;
    padding:0 !important;
}
body .cf-auth-wrap form > input[type="hidden"] { display:none !important; }
body .cf-auth-wrap form > label {
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:7px !important;
    color:#273650 !important;
    font-size:13px !important;
    line-height:1.3 !important;
    font-weight:750 !important;
}
body .cf-auth-wrap form > label input:not([type="checkbox"]) {
    display:block !important;
    width:100% !important;
    height:48px !important;
    min-height:48px !important;
    max-width:none !important;
    margin:0 !important;
    padding:11px 13px !important;
    box-sizing:border-box !important;
    border:1px solid #cbd6e5 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#14233f !important;
    font-size:14px !important;
    line-height:1.2 !important;
}
body .cf-auth-wrap form > label input:not([type="checkbox"]):focus {
    border-color:#244da6 !important;
    box-shadow:0 0 0 3px rgba(36,77,166,.10) !important;
    outline:0 !important;
}
body .cf-auth-wrap form > label.cf-check {
    grid-column:1 / -1 !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:9px !important;
    font-weight:500 !important;
    color:#59677c !important;
}
body .cf-auth-wrap form > label.cf-check input[type="checkbox"] {
    display:block !important;
    width:17px !important;
    height:17px !important;
    min-width:17px !important;
    min-height:17px !important;
    margin:2px 0 0 !important;
    padding:0 !important;
}
body .cf-auth-wrap form > button.cf-btn,
body .cf-auth-wrap form > input[type="submit"] {
    display:inline-flex !important;
    width:auto !important;
    min-width:150px !important;
    height:48px !important;
    min-height:48px !important;
    grid-column:1 / -1 !important;
    justify-self:start !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 20px !important;
    border:1px solid #244da6 !important;
    border-radius:8px !important;
    background:#244da6 !important;
    color:#fff !important;
    font-weight:800 !important;
}
body .cf-auth-wrap .cf-auth-foot {
    margin:22px 0 0 !important;
    color:#65738a !important;
    font-size:14px !important;
}
body .cf-auth-wrap .cf-auth-foot a { color:#244da6 !important; font-weight:750 !important; }

/* ---------------- CANDIDATE PORTAL ---------------- */
body .cf-candidate-portal {
    width:min(1180px,calc(100% - 40px)) !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:44px 0 75px !important;
}
body .cf-candidate-portal-head {
    display:flex !important;
    width:100% !important;
    min-height:76px !important;
    box-sizing:border-box !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px !important;
    margin:0 0 12px !important;
    padding:16px 20px !important;
    background:#071a3a !important;
    border-radius:14px !important;
    color:#fff !important;
}
body .cf-candidate-portal-nav {
    display:flex !important;
    width:100% !important;
    box-sizing:border-box !important;
    flex-wrap:wrap !important;
    gap:5px !important;
    align-items:center !important;
    margin:0 0 25px !important;
    padding:8px !important;
    background:#fff !important;
    border:1px solid #dce4ef !important;
    border-radius:12px !important;
    box-shadow:0 7px 20px rgba(7,26,58,.05) !important;
}
body .cf-candidate-portal-nav a {
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    min-height:36px !important;
    margin:0 !important;
    padding:7px 10px !important;
    border-radius:7px !important;
    color:#34435d !important;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:750 !important;
    text-decoration:none !important;
}
body .cf-candidate-portal-nav a.active,
body .cf-candidate-portal-nav a:hover {
    background:#244da6 !important;
    color:#fff !important;
}
body .cf-candidate-page-head {
    display:flex !important;
    width:100% !important;
    justify-content:space-between !important;
    align-items:flex-end !important;
    gap:20px !important;
    margin:0 0 20px !important;
}
body .cf-candidate-page-head h1 {
    margin:4px 0 7px !important;
    color:#071a3a !important;
    font-size:clamp(36px,4vw,52px) !important;
    line-height:1.05 !important;
}
body .cf-candidate-page-head p { margin:0 !important; color:#69768a !important; }
body .cf-candidate-head-actions { display:flex !important; gap:8px !important; flex-wrap:wrap !important; }
body .cf-candidate-portal-content > .cf-card,
body .cf-candidate-portal-main > .cf-card {
    width:100% !important;
    box-sizing:border-box !important;
    margin:0 0 18px !important;
}
body .cf-candidate-action-list {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
    width:100% !important;
}
body .cf-candidate-action {
    display:grid !important;
    grid-template-columns:36px minmax(0,1fr) 14px !important;
    align-items:center !important;
    gap:9px !important;
    min-width:0 !important;
    min-height:62px !important;
    box-sizing:border-box !important;
    margin:0 !important;
    padding:11px !important;
    background:#fff !important;
    border:1px solid #dce4ef !important;
    border-radius:10px !important;
    text-decoration:none !important;
}
body .cf-candidate-action span { min-width:0 !important; }
body .cf-candidate-action small {
    display:block !important;
    color:#78859a !important;
    font-size:10px !important;
    line-height:1.35 !important;
}
body .cf-candidate-action strong {
    display:block !important;
    color:#071a3a !important;
    font-size:12px !important;
    line-height:1.25 !important;
}
body .cf-candidate-action i { color:#244da6 !important; }
body .cf-candidate-stage-list {
    display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:8px !important;
}
body .cf-candidate-stage-list > div {
    display:block !important;
    text-align:center !important;
    margin:0 !important;
    padding:13px 7px !important;
    background:#f6f8fc !important;
    border:1px solid #e2e7ef !important;
    border-radius:9px !important;
}
body .cf-candidate-stage-list span,
body .cf-candidate-stage-list strong { display:block !important; }
body .cf-candidate-stage-list span { color:#69768a !important; font-size:10px !important; }
body .cf-candidate-stage-list strong { color:#071a3a !important; font-size:21px !important; }

/* ---------------- HOME SEARCH ---------------- */
body .cf-home-search form {
    display:grid !important;
    grid-template-columns:1.55fr 1fr 1fr auto !important;
    gap:0 !important;
    align-items:stretch !important;
}
body .cf-home-search label {
    display:flex !important;
    min-width:0 !important;
    flex-direction:column !important;
    justify-content:center !important;
    margin:0 !important;
    padding:5px 15px !important;
}
body .cf-home-search label span { margin:0 0 3px !important; }
body .cf-home-search input,
body .cf-home-search select {
    display:block !important;
    width:100% !important;
    height:38px !important;
    min-height:38px !important;
    margin:0 !important;
    padding:4px 0 !important;
    border:0 !important;
    outline:0 !important;
}
body .cf-home-search button {
    display:flex !important;
    min-width:150px !important;
    min-height:46px !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    border-radius:8px !important;
}

/* Generic shortcodes */
body .cf-page-wrap form {
    font-size:14px !important;
}
body .cf-page-wrap form label {
    box-sizing:border-box !important;
}
body .cf-page-wrap form input,
body .cf-page-wrap form select,
body .cf-page-wrap form textarea {
    box-sizing:border-box !important;
}
body .cf-page-wrap .cf-card {
    overflow:hidden !important;
}

/* Mobile */
@media(max-width:800px){
    body .cf-auth-wrap,
    body .cf-candidate-portal { width:calc(100% - 28px) !important; }
    body .cf-auth-wrap > .cf-card { padding:25px !important; }
    body .cf-auth-wrap form { grid-template-columns:1fr !important; }
    body .cf-auth-wrap form > label.cf-check,
    body .cf-auth-wrap form > button.cf-btn,
    body .cf-auth-wrap form > input[type="submit"] { grid-column:1 !important; }
    body .cf-auth-wrap .cf-role-switch { grid-template-columns:1fr !important; }
    body .cf-candidate-portal-head,
    body .cf-candidate-page-head { flex-direction:column !important; align-items:flex-start !important; }
    body .cf-candidate-action-list { grid-template-columns:1fr !important; }
    body .cf-candidate-stage-list { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    body .cf-home-search form { grid-template-columns:1fr !important; }
    body .cf-home-search label { border-right:0 !important; border-bottom:1px solid #e4e9f1 !important; }
}

/* 3.2.0 admin-controlled design variables */
body{background:var(--cf-page-bg,#f5f7fb)!important;color:var(--cf-text,#18243d)}
.site-footer{background:var(--cf-footer-bg,#071a3a)!important;color:var(--cf-footer-text,#dfe8f7)}
.cf-home-section{margin-bottom:var(--cf-section-gap,48px)!important}
.cf-card,.cf-job,.cf-feature,.cf-panel,.cf-dashboard-card{border-radius:var(--cf-card-radius,16px)!important}

/* ============================================================
   Chefs Finder 3.2.4 — Contact form repair
   ============================================================ */
.cf-contact-card{width:100%;padding:30px!important}
.cf-page-wrap .cf-contact-form{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:22px!important;
    align-items:start!important;
}
.cf-page-wrap .cf-contact-form .cf-contact-field{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    gap:8px!important;
}
.cf-page-wrap .cf-contact-form .cf-contact-field-full{
    grid-column:1 / -1!important;
}
.cf-page-wrap .cf-contact-form input:not([type=checkbox]):not([type=radio]),
.cf-page-wrap .cf-contact-form textarea{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}
.cf-page-wrap .cf-contact-form textarea{
    min-height:180px!important;
    height:180px!important;
    resize:vertical!important;
}
.cf-page-wrap .cf-contact-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
}
.cf-page-wrap .cf-contact-actions .cf-btn{
    width:auto!important;
    min-width:160px!important;
}
@media(max-width:700px){
    .cf-page-wrap .cf-contact-form{
        grid-template-columns:1fr!important;
    }
    .cf-page-wrap .cf-contact-form .cf-contact-field-full{
        grid-column:auto!important;
    }
    .cf-contact-card{padding:20px!important}
}

/* ============================================================
   Chefs Finder 3.3.0 — Unified Design System Compatibility Layer
   Theme owns presentation. Core Stage15 owns module-only UI.
   All shared visual controls resolve through --cf-* variables.
   ============================================================ */
:root{
  --cf-navy:#071a3a;
  --cf-blue:#244da6;
  --cf-gold:#d7ad50;
  --cf-page-bg:#f5f7fb;
  --cf-card-bg:#fff;
  --cf-text:#18243d;
  --cf-muted:#69768a;
  --cf-button-bg:#244da6;
  --cf-button-text:#fff;
  --cf-button-hover:#071a3a;
  --cf-page-width:1180px;
  --cf-section-gap:48px;
  --cf-card-radius:16px;
  --cf-button-radius:8px;
  --cf-button-height:46px;
  --cf-button-font-size:14px;
  --cf-form-max-width:900px;
  --cf-input-height:48px;
  --cf-input-font-size:14px;
  --cf-body-font-size:16px;
  --cf-heading-scale:1;
  --cf-header-height:86px;
  --cf-header-logo-width:190px;
}
html{box-sizing:border-box}
*,*:before,*:after{box-sizing:inherit}
body{background:var(--cf-page-bg);color:var(--cf-text);font-size:var(--cf-body-font-size)}
.cf-site-container,.cf-page-wrap,.cf-app-shell,.cf-candidate-portal{max-width:var(--cf-page-width)}
.cf-page-wrap{margin-left:auto;margin-right:auto}
.cf-card,.cf-panel,.cf-feature,.cf-job,.cf-dashboard-card,.cf-candidate-action{border-radius:var(--cf-card-radius);background:var(--cf-card-bg)}
.cf-page-wrap>section,.cf-page-wrap>.cf-section,.cf-page-wrap>.cf-card{margin-bottom:var(--cf-section-gap)}
.cf-btn,button,input[type=submit]{min-height:var(--cf-button-height);border-radius:var(--cf-button-radius)}
.cf-btn:not(.ghost):not(.alt),button.cf-btn,input[type=submit].cf-btn{background:var(--cf-button-bg);color:var(--cf-button-text)}
.cf-btn:hover,button.cf-btn:hover,input[type=submit].cf-btn:hover{background:var(--cf-button-hover)}
.cf-page-wrap form input:not([type=checkbox]):not([type=radio]),
.cf-page-wrap form select,
.cf-page-wrap form textarea,
.cf-auth-wrap form input:not([type=checkbox]):not([type=radio]),
.cf-auth-wrap form select,
.cf-auth-wrap form textarea{
  min-height:var(--cf-input-height);
  font-size:var(--cf-input-font-size);
  box-sizing:border-box;
}
.cf-page-wrap form textarea,.cf-auth-wrap form textarea{min-height:calc(var(--cf-input-height) * 3)}
.cf-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cf-contact-form .cf-contact-field{display:flex;flex-direction:column;gap:8px}
.cf-contact-form .cf-contact-field-full{grid-column:1/-1}
.cf-contact-form .cf-contact-actions{display:flex;align-items:center}
@media(max-width:700px){
  .cf-contact-form{grid-template-columns:1fr}
  .cf-contact-form .cf-contact-field-full{grid-column:auto}
}

/* 3.3.0 shared spacing and module variable bridge */
.cf15-wrap{margin-top:var(--cf-section-gap);margin-bottom:var(--cf-section-gap)}
.cf15-column{border-radius:var(--cf-card-radius);background:var(--cf-card-bg)}
.cf15-card,.cf15-list,.cf15-message-layout,.cf15-match{border-radius:var(--cf-card-radius);background:var(--cf-card-bg)}
.cf15-card,.cf15-match{color:var(--cf-text)}
.cf15-card-actions .cf-btn,.cf15-match .cf-btn{border-radius:var(--cf-button-radius);min-height:var(--cf-button-height)}
.cf15-score-big,.cf15-convo.active{background:color-mix(in srgb,var(--cf-blue) 10%,white);color:var(--cf-blue)}

/* 3.3.2 Page-specific design bridge: variables are inherited from the selected body target. */
body[class*="cf-design-target-"] .cf-site-container,
body[class*="cf-design-target-"] .cf-page-wrap,
body[class*="cf-design-target-"] .cf-app-shell,
body[class*="cf-design-target-"] .cf-candidate-portal{max-width:var(--cf-page-width)!important}
body[class*="cf-design-target-"] .cf-page-wrap{padding-top:var(--cf-section-gap,65px);padding-bottom:var(--cf-section-gap,55px)}
body[class*="cf-design-target-"] .cf-card,
body[class*="cf-design-target-"] .cf-dashboard-card,
body[class*="cf-design-target-"] .cf-panel{border-radius:var(--cf-card-radius,var(--cf-radius))!important}
body[class*="cf-design-target-"] .cf-page-title{font-size:calc(48px * var(--cf-heading-scale,1))!important}
body[class*="cf-design-target-"] .cf-page-wrap form,
body[class*="cf-design-target-"] .cf-auth-wrap form,
body[class*="cf-design-target-"] .cf-form{max-width:var(--cf-form-max-width,900px)!important;margin-left:auto!important;margin-right:auto!important}
body[class*="cf-design-target-"] .cf-contact-form{width:100%}
body[class*="cf-design-target-"] input:not([type="checkbox"]):not([type="radio"]),
body[class*="cf-design-target-"] select{min-height:var(--cf-input-height,46px)!important}
body[class*="cf-design-target-"] .cf-btn{min-height:var(--cf-button-height,44px)!important;border-radius:var(--cf-button-radius,7px)!important}
body[class*="cf-design-target-"] .cf-header{min-height:var(--cf-header-height,72px)}

/* ============================================================
   CHEFS FINDER 3.3.5 — UNIVERSAL FORM & FIELD SYSTEM
   Applies to all front-end theme/plugin forms.
   ============================================================ */
:root{
  --cf-field-border:#ccd6e4;
  --cf-field-border-focus:#244da6;
  --cf-field-label:#253550;
  --cf-field-help:#69768a;
  --cf-field-bg:#fff;
  --cf-field-radius:9px;
  --cf-field-padding:12px 14px;
}
.cf-page-wrap form,
.cf-auth-wrap form,
.cf-app-shell form,
.cf-contact-form,
.cf-admin-form{
  box-sizing:border-box;
}
.cf-page-wrap form label,
.cf-auth-wrap form label,
.cf-app-shell form label,
.cf-contact-form label{
  color:var(--cf-field-label,#253550);
  font-weight:700;
  line-height:1.35;
}
.cf-page-wrap form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.cf-page-wrap form select,
.cf-page-wrap form textarea,
.cf-auth-wrap form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.cf-auth-wrap form select,
.cf-auth-wrap form textarea,
.cf-app-shell form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.cf-app-shell form select,
.cf-app-shell form textarea,
.cf-contact-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.cf-contact-form select,
.cf-contact-form textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:var(--cf-input-height,48px)!important;
  padding:var(--cf-field-padding)!important;
  box-sizing:border-box!important;
  border:1px solid var(--cf-field-border)!important;
  border-radius:var(--cf-field-radius)!important;
  background:var(--cf-field-bg)!important;
  color:var(--cf-text,#18243d)!important;
  font:inherit!important;
  line-height:1.35!important;
  box-shadow:none!important;
  outline:0!important;
  appearance:auto;
}
.cf-page-wrap form textarea,
.cf-auth-wrap form textarea,
.cf-app-shell form textarea,
.cf-contact-form textarea{
  min-height:150px!important;
  height:auto;
  resize:vertical!important;
}
.cf-page-wrap form input:not([type=checkbox]):not([type=radio]):focus,
.cf-page-wrap form select:focus,
.cf-page-wrap form textarea:focus,
.cf-auth-wrap form input:not([type=checkbox]):not([type=radio]):focus,
.cf-auth-wrap form select:focus,
.cf-auth-wrap form textarea:focus,
.cf-app-shell form input:not([type=checkbox]):not([type=radio]):focus,
.cf-app-shell form select:focus,
.cf-app-shell form textarea:focus,
.cf-contact-form input:not([type=checkbox]):not([type=radio]):focus,
.cf-contact-form select:focus,
.cf-contact-form textarea:focus{
  border-color:var(--cf-field-border-focus)!important;
  box-shadow:0 0 0 3px rgba(36,77,166,.10)!important;
}
.cf-page-wrap form input[type=checkbox],
.cf-auth-wrap form input[type=checkbox],
.cf-app-shell form input[type=checkbox],
.cf-contact-form input[type=checkbox]{
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  min-height:17px!important;
  margin:2px 0 0!important;
}
.cf-page-wrap form input[type=radio],
.cf-auth-wrap form input[type=radio]{
  width:auto!important;
  min-width:auto!important;
  min-height:auto!important;
}
.cf-page-wrap form .cf-help,
.cf-auth-wrap form small,
.cf-app-shell form small,
.cf-contact-form small{
  color:var(--cf-field-help,#69768a);
  font-size:12px;
}
.cf-page-wrap form .cf-btn,
.cf-auth-wrap form .cf-btn,
.cf-app-shell form .cf-btn,
.cf-contact-form .cf-btn{
  min-height:var(--cf-button-height,46px)!important;
  padding:0 18px!important;
  border-radius:var(--cf-button-radius,8px)!important;
  font-size:var(--cf-button-font-size,14px)!important;
}
.cf-page-wrap .cf-two,
.cf-contact-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.cf-contact-form .cf-contact-field-full{grid-column:1/-1!important}
@media(max-width:700px){
  .cf-page-wrap .cf-two,
  .cf-contact-form{grid-template-columns:1fr!important}
  .cf-contact-form .cf-contact-field-full{grid-column:auto!important}
}

/* Scoped page target helpers */
body.cf-page-design-active .cf-page-wrap,
body.cf-page-design-active .cf-app-shell,
body.cf-page-design-active .cf-candidate-portal{
  max-width:var(--cf-page-width)!important;
}

/* ============================================================
   3.3.7 — PLATFORM PAGE VISUAL SHELL + FORM NORMALIZATION
   This is intentionally scoped to shortcode-driven platform pages.
   ============================================================ */

/* Visual shell for plugin-generated page content */
.cf-platform-page{
  width:min(var(--cf-page-width,1180px),calc(100% - 40px))!important;
  margin:0 auto!important;
  padding:48px 0 72px!important;
}
.cf-platform-page .cf-platform-content{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}
.cf-platform-page .cf-card{
  width:100%!important;
  max-width:100%!important;
}

/* Contact: enforce a real form grid even with older Core markup */
body.cf-platform-contact .cf-contact-form,
body.cf-platform-contact form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:start!important;
  width:100%!important;
  max-width:var(--cf-form-max-width,900px)!important;
  margin:0 auto!important;
}
body.cf-platform-contact .cf-contact-form label,
body.cf-platform-contact form label{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:var(--cf-text,#18243d)!important;
  font-size:var(--cf-input-font-size,14px)!important;
  font-weight:700!important;
  line-height:1.35!important;
}
body.cf-platform-contact form label:nth-of-type(1),
body.cf-platform-contact form label:nth-of-type(2){
  grid-column:auto!important;
}
body.cf-platform-contact form label:nth-of-type(n+3){
  grid-column:1/-1!important;
}
body.cf-platform-contact .cf-contact-field-full{
  grid-column:1/-1!important;
}
body.cf-platform-contact form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
body.cf-platform-contact form select,
body.cf-platform-contact form textarea{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:var(--cf-input-height,48px)!important;
  box-sizing:border-box!important;
  padding:12px 14px!important;
  border:1px solid #ccd6e4!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#18243d!important;
  font-size:var(--cf-input-font-size,14px)!important;
  line-height:1.35!important;
  margin:0!important;
}
body.cf-platform-contact form textarea{
  height:180px!important;
  min-height:180px!important;
  resize:vertical!important;
}
body.cf-platform-contact form input:focus,
body.cf-platform-contact form select:focus,
body.cf-platform-contact form textarea:focus{
  border-color:#244da6!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(36,77,166,.10)!important;
}
body.cf-platform-contact form button[type=submit],
body.cf-platform-contact form input[type=submit],
body.cf-platform-contact .cf-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:start!important;
  min-height:46px!important;
  min-width:160px!important;
  width:auto!important;
  padding:0 20px!important;
  border:0!important;
  border-radius:var(--cf-button-radius,8px)!important;
  background:var(--cf-button-bg,#244da6)!important;
  color:#fff!important;
  font-weight:800!important;
  cursor:pointer!important;
}
body.cf-platform-contact .cf-contact-actions{
  grid-column:1/-1!important;
  display:flex!important;
  align-items:center!important;
}
body.cf-platform-contact .cf-contact-card{
  padding:30px!important;
  border-radius:var(--cf-card-radius,16px)!important;
  background:var(--cf-card-bg,#fff)!important;
  border:1px solid #dce4ef!important;
  box-shadow:0 10px 30px rgba(7,26,58,.06)!important;
}

/* General platform forms: prevent labels/inputs from collapsing into inline text. */
body.cf-platform-page form label{
  max-width:100%;
}
body.cf-platform-page form input,
body.cf-platform-page form select,
body.cf-platform-page form textarea{
  box-sizing:border-box;
}
body.cf-platform-page .cf-section-head{
  width:100%!important;
  margin-bottom:24px!important;
}
body.cf-platform-page .cf-page-title{
  color:var(--cf-navy,#071a3a)!important;
}

@media(max-width:700px){
  .cf-platform-page{
    width:calc(100% - 28px)!important;
    padding:34px 0 55px!important;
  }
  body.cf-platform-contact form,
  body.cf-platform-contact .cf-contact-form{
    grid-template-columns:1fr!important;
  }
  body.cf-platform-contact form label:nth-of-type(n){
    grid-column:1!important;
  }
  body.cf-platform-contact form button[type=submit],
  body.cf-platform-contact form input[type=submit]{
    width:100%!important;
  }
}

/* Design-target visual diagnostics: when active, the selected target gets a clear marker
   only in the DOM, not a visible border, so screenshots stay clean. */
body.cf-page-design-active .cf-platform-page{
  width:min(var(--cf-page-width,1180px),calc(100% - 40px))!important;
}

/* ============================================================
   3.4.0 — FINAL LAYOUT / ACCESSIBILITY HARDENING
   ============================================================ */

/* Use the design system variables consistently. */
body {
    overflow-x: hidden;
}
.cf-shell,
.cf-home-section,
.cf-footer-inner,
.cf-header-inner,
.cf-topbar-inner {
    width: min(var(--cf-page-width, 1180px), calc(100% - 40px));
}
.cf-page-wrap {
    width: min(var(--cf-page-width, 1180px), calc(100% - 40px));
    margin-left: auto !important;
    margin-right: auto !important;
}
.cf-hero-kicker,
.cf-cta-kicker {
    color: var(--cf-gold, #d7ad50);
}
.cf-page-wrap .cf-content,
.cf-platform-content {
    min-width: 0;
}
.cf-platform-content img,
.cf-content img {
    max-width: 100%;
    height: auto;
}

/* Native WordPress menu markup. */
.cf-nav ul {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.cf-nav li {
    margin: 0;
    padding: 0;
}
.cf-nav a {
    display: block;
}

/* Mobile menu opened by assets/theme.js. */
@media (max-width: 1000px) {
    .cf-nav.is-open {
        display: flex !important;
        position: absolute;
        top: var(--cf-header-height, 86px);
        left: 14px;
        right: 14px;
        z-index: 100;
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
        padding: 12px;
        background: #fff;
        border: 1px solid var(--cf-border, #e4e9f1);
        border-radius: 10px;
        box-shadow: 0 15px 30px rgba(7, 26, 58, .14);
    }
    .cf-nav.is-open ul {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }
    .cf-nav.is-open a {
        width: 100%;
    }
    /* Sign In/Sign Up (or Dashboard/Sign Out) are now nested inside the nav so they open
       and close with the same toggle. They're still display:none by default on this
       breakpoint (see the .cf-header-actions rule further down) — this is what reveals
       them, stacked full-width, whenever the mobile menu is open. */
    .cf-nav.is-open .cf-header-actions {
        display: flex !important;
        flex-direction: column;
        width: 100%;
        gap: 8px;
        margin: 10px 0 0;
        padding-top: 10px;
        border-top: 1px solid var(--cf-border, #e4e9f1);
    }
    .cf-nav.is-open .cf-header-actions .cf-btn {
        width: 100%;
        text-align: center;
    }
}

/* Prevent long form controls from forcing horizontal overflow. */
.cf-page-wrap form,
.cf-platform-content form {
    width: 100%;
    min-width: 0;
}
.cf-page-wrap form input,
.cf-page-wrap form select,
.cf-page-wrap form textarea,
.cf-platform-content form input,
.cf-platform-content form select,
.cf-platform-content form textarea {
    max-width: 100%;
}

/* Better keyboard focus without removing the native outline semantics. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(36, 77, 166, .35);
    outline-offset: 2px;
}

/* Respect reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Prevent the desktop four-column search from becoming unusable. */
@media (max-width: 1000px) {
    .cf-home-search form {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 700px) {
    .cf-home-search form {
        grid-template-columns: 1fr;
    }
    .cf-home-search {
        overflow: visible;
    }
}

/* WordPress pagination and comments should remain inside the shell. */
.nav-links,
.page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.page-numbers {
    align-items: center;
    justify-content: center;
}


/* ============================================================
   CHEFS FINDER 3.4.1 — CANONICAL FRONTEND LAYER
   Public-site styles only. Never loaded in wp-admin.
   ============================================================ */
:root {
    --cf-navy: #071a3a;
    --cf-navy-2: #102b5c;
    --cf-blue: #244da6;
    --cf-gold: #d7ad50;
    --cf-bg: #f5f7fb;
    --cf-text: #18243d;
    --cf-muted: #667085;
    --cf-border: #e4e9f1;
    --cf-white: #fff;
    --cf-radius: 14px;
    --cf-shadow: 0 12px 35px rgba(11,23,51,.08);
}
html { scroll-behavior: smooth; }
body { margin:0; overflow-x:hidden; background:var(--cf-page-bg,var(--cf-bg)); color:var(--cf-text); }
*, *::before, *::after { box-sizing:border-box; }
img { max-width:100%; height:auto; }
.cf-shell,
.cf-home-section,
.cf-footer-inner,
.cf-header-inner,
.cf-topbar-inner,
.cf-page-wrap { width:min(var(--cf-page-width,1180px),calc(100% - 40px)); margin-left:auto; margin-right:auto; }
.cf-page-wrap { padding-top:var(--cf-section-gap,54px); padding-bottom:calc(var(--cf-section-gap,54px) + 22px); }
.cf-brand { display:flex; align-items:center; flex:0 0 auto; text-decoration:none; }
.cf-brand .custom-logo { display:block; width:var(--cf-header-logo-width,190px); height:auto; max-height:72px; object-fit:contain; }
.cf-brand img:not(.custom-logo) { display:block; width:var(--cf-header-logo-width,190px); height:auto; object-fit:contain; }
.cf-header { background:#fff; border-bottom:1px solid var(--cf-border); position:relative; z-index:50; }
.cf-header-inner { min-height:var(--cf-header-height,86px); display:flex; align-items:center; gap:24px; }
.cf-nav { margin-left:auto; display:flex; align-items:center; gap:4px; }
.cf-nav ul { display:flex; align-items:center; gap:4px; margin:0; padding:0; list-style:none; }
.cf-nav li { margin:0; padding:0; }
.cf-nav a { display:block; padding:10px 11px; color:var(--cf-navy); font-size:13px; font-weight:750; text-decoration:none; border-radius:7px; }
.cf-nav a:hover, .cf-nav a:focus-visible { background:#eef3ff; color:var(--cf-blue); }
.cf-menu-toggle { display:none; margin-left:auto; background:none; border:0; color:var(--cf-navy); font-size:28px; line-height:1; padding:8px; cursor:pointer; }
.cf-header-actions { display:flex; gap:8px; margin-left:16px; }
.cf-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:var(--cf-button-height,46px); padding:0 18px; border:1px solid var(--cf-button-bg,var(--cf-blue)); border-radius:var(--cf-button-radius,8px); background:var(--cf-button-bg,var(--cf-blue)); color:var(--cf-button-text,#fff); font-weight:800; text-decoration:none; cursor:pointer; }
.cf-btn:hover { background:var(--cf-button-hover,var(--cf-navy)); color:var(--cf-button-text,#fff); }
.cf-btn.alt { background:var(--cf-gold); border-color:var(--cf-gold); color:var(--cf-navy); }
.cf-btn.alt:hover { background:#c99f3e; color:var(--cf-navy); }
.cf-btn.ghost { background:#fff; color:var(--cf-navy); border-color:#ccd5e4; }
.cf-btn.ghost:hover { background:#eef3ff; color:var(--cf-blue); }
.cf-hero { position:relative; min-height:640px; background:var(--cf-navy); color:#fff; overflow:visible; }
.cf-hero-media { position:absolute; inset:0 0 0 50%; overflow:hidden; background:var(--cf-navy); }
.cf-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.cf-hero-overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#071a3a 0%,#071a3a 34%,rgba(7,26,58,.92) 47%,rgba(7,26,58,.42) 62%,rgba(7,26,58,.05) 78%,rgba(7,26,58,0) 100%); }
.cf-hero-inner { position:relative; z-index:3; width:min(var(--cf-page-width,1180px),calc(100% - 40px)); margin:auto; padding:105px 0 175px; }
.cf-hero-copy { max-width:650px; }
.cf-hero h1 { margin:16px 0 22px; color:#fff; font-size:clamp(44px,5.2vw,74px); line-height:1.02; letter-spacing:-.045em; }
.cf-hero p { max-width:600px; margin:0; color:#e8eef8; font-size:19px; }
.cf-hero-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:28px; }
.cf-home-search { position:absolute; z-index:5; left:50%; bottom:-43px; transform:translateX(-50%); width:min(var(--cf-page-width,1180px),calc(100% - 40px)); background:#fff; border:1px solid var(--cf-border); border-radius:13px; padding:9px; box-shadow:0 18px 45px rgba(7,26,58,.18); }
.cf-home-search form { display:grid; grid-template-columns:1.6fr 1fr 1fr auto; gap:0; }
.cf-home-search label { padding:4px 14px; border-right:1px solid var(--cf-border); min-width:0; }
.cf-home-search label:last-of-type { border-right:0; }
.cf-home-search label span { display:block; color:var(--cf-muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.cf-home-search input,.cf-home-search select { width:100%; min-height:40px; border:0; outline:0; background:#fff; color:var(--cf-text); }
.cf-home-search button { min-height:46px; border:0; border-radius:7px; background:var(--cf-blue); color:#fff; padding:0 25px; font-weight:800; cursor:pointer; }
.cf-stats { position:relative; z-index:4; width:min(var(--cf-page-width,1180px),calc(100% - 40px)); margin:auto; padding:25px 10px; background:#173d8f; color:#fff; border-radius:0 0 13px 13px; display:grid; grid-template-columns:repeat(4,1fr); }
.cf-stats div { text-align:center; border-right:1px solid rgba(255,255,255,.2); }
.cf-stats div:last-child { border:0; }
.cf-stats strong { display:block; font-size:29px; }
.cf-stats span { font-size:13px; font-weight:750; }
.cf-home-section { padding:90px 0 50px; }
.cf-home-section-head { max-width:760px; margin:0 auto 35px; text-align:center; }
.cf-home-section-head h2 { margin:8px 0; color:var(--cf-navy); font-size:clamp(30px,4vw,46px); line-height:1.08; }
.cf-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.cf-feature-grid article,.cf-dual article { background:#fff; border:1px solid var(--cf-border); border-radius:var(--cf-card-radius,var(--cf-radius)); box-shadow:var(--cf-shadow); }
.cf-feature-grid article { padding:30px; }
.cf-feature-grid h3,.cf-dual h2 { color:var(--cf-navy); }
.cf-feature-grid p,.cf-dual p { color:var(--cf-muted); }
.cf-dual { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.cf-dual article { padding:38px; }
.cf-dual article.dark { background:linear-gradient(135deg,#071a3a,#173d8f); color:#fff; }
.cf-dual article.dark h2,.cf-dual article.dark li { color:#fff; }
.cf-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; text-align:center; }
.cf-step b { display:grid; place-items:center; width:50px; height:50px; margin:auto; border-radius:50%; background:var(--cf-blue); color:#fff; }
.cf-cta { width:min(var(--cf-page-width,1180px),calc(100% - 40px)); margin:55px auto 75px; padding:34px 38px; border-radius:var(--cf-card-radius,var(--cf-radius)); background:var(--cf-navy); color:#fff; display:flex; justify-content:space-between; align-items:center; gap:25px; }
.cf-cta h2 { margin:5px 0; font-size:30px; }
.cf-cta-actions { display:flex; gap:8px; flex-wrap:wrap; }
.site-footer { background:var(--cf-footer-bg,#091630); color:var(--cf-footer-text,#cbd6e8); border-top:3px solid var(--cf-gold); }
.cf-footer-inner { padding:52px 0 25px; }
.cf-footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,minmax(0,1fr)); gap:30px; }
.site-footer h2,.site-footer h3 { color:#fff; }
.site-footer h3 { font-size:14px; text-transform:uppercase; letter-spacing:.08em; }
.site-footer a { color:#d8e1f0; text-decoration:none; }
.site-footer a:hover { color:#fff; }
.cf-footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:35px; padding-top:18px; font-size:12px; }
.cf-card { background:var(--cf-card-bg,#fff); border:1px solid var(--cf-border); border-radius:var(--cf-card-radius,var(--cf-radius)); box-shadow:var(--cf-shadow); padding:28px; }
.cf-kicker { color:var(--cf-gold); font-size:11px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.cf-page-title { margin:8px 0 12px; color:var(--cf-navy); font-size:calc(48px * var(--cf-heading-scale,1)); line-height:1.08; }
.cf-content { min-width:0; }
.cf-content img,.cf-platform-content img { max-width:100%; height:auto; }
.cf-platform-content,.cf-content { overflow-wrap:anywhere; }
.nav-links,.page-numbers { display:flex; flex-wrap:wrap; gap:8px; }
.page-numbers { align-items:center; justify-content:center; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid rgba(36,77,166,.35); outline-offset:2px; }
@media (max-width:1000px) {
    .cf-nav { display:none; }
    .cf-menu-toggle { display:block; }
    .cf-header-actions { display:none; }
    .cf-nav.is-open { display:flex; position:absolute; top:100%; left:14px; right:14px; z-index:100; flex-direction:column; align-items:stretch; padding:12px; background:#fff; border:1px solid var(--cf-border); border-radius:10px; box-shadow:0 15px 30px rgba(7,26,58,.14); }
    .cf-nav.is-open ul { flex-direction:column; align-items:stretch; width:100%; }
    .cf-nav.is-open a { width:100%; }
    .cf-feature-grid,.cf-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cf-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cf-home-search form { grid-template-columns:1fr 1fr; gap:0; }
    .cf-home-search label:nth-child(2) { border-right:0; }
    .cf-home-search button { grid-column:1/-1; margin-top:7px; }
    .cf-stats { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:16px; }
}
@media (max-width:700px) {
    .cf-shell,.cf-home-section,.cf-footer-inner,.cf-header-inner,.cf-topbar-inner,.cf-page-wrap { width:calc(100% - 28px); }
    .cf-brand .custom-logo,.cf-brand img:not(.custom-logo) { width:min(var(--cf-header-logo-width,190px),150px); }
    .cf-hero { min-height:650px; }
    .cf-hero-media { inset:0; }
    .cf-hero-overlay { background:linear-gradient(90deg,rgba(7,26,58,.97),rgba(7,26,58,.78)); }
    .cf-hero-inner { width:calc(100% - 28px); padding:70px 0 180px; }
    .cf-hero h1 { font-size:43px; }
    .cf-hero p { font-size:16px; }
    .cf-home-search { width:calc(100% - 28px); bottom:-170px; }
    .cf-home-search form { grid-template-columns:1fr; }
    .cf-home-search label { border-right:0; border-bottom:1px solid var(--cf-border); }
    .cf-home-search button { grid-column:auto; margin-top:7px; }
    .cf-stats { margin-top:170px; width:calc(100% - 28px); }
    .cf-feature-grid,.cf-dual,.cf-steps,.cf-footer-grid { grid-template-columns:1fr; }
    .cf-cta { width:calc(100% - 28px); display:block; padding:28px 22px; }
    .cf-cta-actions { margin-top:20px; }
    .cf-page-title { font-size:36px; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
\n\n/* ============================================================\n   Chefs Finder 3.5.6 — Homepage final layout correction\n   These rules intentionally come last so legacy CSS cannot collapse\n   the hero or move the search/stat blocks into each other.\n   ============================================================ */\nbody.home .cf-hero,\nbody.front-page .cf-hero {\n    position: relative !important;\n    display: block !important;\n    min-height: 640px !important;\n    height: auto !important;\n    overflow: visible !important;\n    background: var(--cf-navy, #071a3a) !important;\n}\nbody.home .cf-hero-inner,\nbody.front-page .cf-hero-inner {\n    position: relative !important;\n    z-index: 3 !important;\n    display: block !important;\n    min-height: 640px !important;\n    padding: 105px 0 175px !important;\n}\nbody.home .cf-hero-copy,\nbody.front-page .cf-hero-copy {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    max-width: 650px !important;\n}\nbody.home .cf-hero h1,\nbody.front-page .cf-hero h1 {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    color: #fff !important;\n}\nbody.home .cf-home-search,\nbody.front-page .cf-home-search {\n    position: absolute !important;\n    z-index: 20 !important;\n    left: 50% !important;\n    bottom: -43px !important;\n    top: auto !important;\n    transform: translateX(-50%) !important;\n    width: min(var(--cf-page-width,1180px),calc(100% - 40px)) !important;\n}\nbody.home .cf-stats,\nbody.front-page .cf-stats {\n    position: relative !important;\n    z-index: 4 !important;\n    width: min(var(--cf-page-width,1180px),calc(100% - 40px)) !important;\n    margin: 0 auto !important;\n    transform: none !important;\n}\nbody.home .cf-hero + .cf-stats,\nbody.front-page .cf-hero + .cf-stats {\n    margin-top: 0 !important;\n}\n@media (max-width:700px) {\n    body.home .cf-hero,\n    body.front-page .cf-hero { min-height: 650px !important; }\n    body.home .cf-hero-inner,\n    body.front-page .cf-hero-inner { min-height: 650px !important; padding: 70px 0 180px !important; }\n    body.home .cf-home-search,\n    body.front-page .cf-home-search { bottom: -170px !important; width: calc(100% - 28px) !important; }\n    body.home .cf-stats,\n    body.front-page .cf-stats { margin-top: 170px !important; width: calc(100% - 28px) !important; }\n}\n
/* ============================================================
 * Chefs Finder 3.6.1 — Candidate Dashboard Layout Repair
 * Presentation only. Core owns dashboard data and functionality.
 * Uses container queries so layout responds to the actual rendered
 * dashboard width, not only the browser viewport/zoom level.
 * ============================================================ */
body.cf-platform-dashboard .cf-candidate-portal,
body.cf-platform-dashboard .cf-candidate-dashboard {
    container-type: inline-size !important;
    box-sizing: border-box !important;
}

body.cf-platform-dashboard .cf-candidate-portal {
    width: min(1320px, calc(100% - 40px)) !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
}

body.cf-platform-dashboard .cf-candidate-dashboard {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* ============================================================
   Candidate dashboard — canonical theme layout
   This layer intentionally targets the rendered Core markup itself,
   not a body class, page-builder implementation, or container query.
   ============================================================ */
.cf-candidate-dashboard {
    display:block !important;
    width:min(1320px,calc(100% - 40px)) !important;
    max-width:1320px !important;
    margin:0 auto !important;
    box-sizing:border-box !important;
}
.cf-candidate-dashboard .cf-candidate-kpis,
.cf-candidate-dashboard .cf-candidate-horizontal-list {
    display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:12px !important;
    width:100% !important;
    margin:0 0 20px !important;
}
.cf-candidate-dashboard .cf-candidate-kpi {
    min-width:0 !important;
    display:flex !important;
    align-items:flex-start !important;
    gap:10px !important;
    padding:14px !important;
    box-sizing:border-box !important;
    border:1px solid #dfe5ee !important;
    border-radius:13px !important;
    background:#fff !important;
    box-shadow:0 7px 20px rgba(7,26,58,.045) !important;
    color:#18243d !important;
    text-decoration:none !important;
}
.cf-candidate-dashboard .cf-candidate-kpi strong,
.cf-candidate-dashboard .cf-candidate-kpi small,
.cf-candidate-dashboard .cf-candidate-kpi em { display:block !important; }
.cf-candidate-dashboard .cf-candidate-kpi strong { color:#071a3a !important; font-size:22px !important; line-height:1 !important; }
.cf-candidate-dashboard .cf-candidate-kpi small { margin-top:4px !important; color:#253550 !important; font-size:11px !important; font-weight:800 !important; }
.cf-candidate-dashboard .cf-candidate-kpi em { margin-top:4px !important; color:#7a8698 !important; font-size:9px !important; font-style:normal !important; }
.cf-candidate-dashboard .cf-dashboard-grid {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:20px !important;
    width:100% !important;
    align-items:start !important;
}
.cf-candidate-dashboard .cf-dashboard-grid > .cf-card,
.cf-candidate-dashboard .cf-dashboard-grid > section.cf-card {
    min-width:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
}
.cf-candidate-dashboard .cf-candidate-action-list,
.cf-candidate-dashboard .cf-resume-action-list {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    width:100% !important;
    min-width:0 !important;
}
.cf-candidate-dashboard .cf-candidate-action {
    width:100% !important;
    min-width:0 !important;
    min-height:72px !important;
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) 18px !important;
    align-items:center !important;
    gap:10px !important;
    padding:12px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    border:1px solid #dfe5ee !important;
    border-radius:10px !important;
    background:#fff !important;
    text-decoration:none !important;
}
.cf-candidate-dashboard .cf-candidate-action > span { min-width:0 !important; width:auto !important; }
.cf-candidate-dashboard .cf-candidate-action strong,
.cf-candidate-dashboard .cf-candidate-action small {
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}
.cf-candidate-dashboard .cf-candidate-action strong { font-size:12px !important; line-height:1.3 !important; color:#18243d !important; }
.cf-candidate-dashboard .cf-candidate-action small { margin-top:3px !important; font-size:10px !important; line-height:1.35 !important; color:#7a8698 !important; }
.cf-candidate-dashboard .cf-candidate-stage-list {
    display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
}
.cf-candidate-dashboard .cf-candidate-stage-list > div { min-width:0 !important; }
@media (max-width:1100px) {
    .cf-candidate-dashboard .cf-candidate-kpis,
    .cf-candidate-dashboard .cf-candidate-horizontal-list { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:900px) {
    .cf-candidate-dashboard { width:calc(100% - 28px) !important; }
    .cf-candidate-dashboard .cf-dashboard-grid { grid-template-columns:1fr !important; }
    .cf-candidate-dashboard .cf-candidate-action-list,
    .cf-candidate-dashboard .cf-resume-action-list { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .cf-candidate-dashboard .cf-candidate-stage-list { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:600px) {
    .cf-candidate-dashboard .cf-candidate-kpis,
    .cf-candidate-dashboard .cf-candidate-horizontal-list,
    .cf-candidate-dashboard .cf-candidate-action-list,
    .cf-candidate-dashboard .cf-resume-action-list { grid-template-columns:1fr !important; }
    .cf-candidate-dashboard .cf-candidate-stage-list { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

/* Global previous-page control. Kept outside page layouts so every frontend screen can use it. */

/* 3.6.1 — dashboard/login back control: normal document flow, never fixed.
 * Fixed positioning caused the button to be repeated in full-page captures and
 * to float over dashboard content while scrolling.
 */
body.cf-platform-page .cf-global-back {
    position:static !important;
    display:inline-flex !important;
    margin:10px 0 8px 20px !important;
    z-index:auto !important;
}

.cf-global-back {
    position:static !important;
    left:auto !important;
    bottom:auto !important;
    z-index:9998 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    min-height:42px !important;
    padding:10px 15px !important;
    border:1px solid #cbd6e5 !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#071a3a !important;
    box-shadow:0 8px 24px rgba(7,26,58,.14) !important;
    font:700 13px/1.2 inherit !important;
    cursor:pointer !important;
}
.cf-global-back:hover { background:#f5f7fb !important; border-color:#244da6 !important; color:#244da6 !important; }
.cf-global-back:focus-visible { outline:3px solid rgba(36,77,166,.25) !important; outline-offset:2px !important; }
@media (max-width:700px) {
    .cf-global-back { left:14px !important; bottom:14px !important; min-height:40px !important; padding:9px 13px !important; }
}

/* 3.6.1 final theme-owned override: platform Back control must never be fixed. */
body.cf-platform-page .cf-global-back {
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    z-index:auto !important;
    margin:10px 0 8px 20px !important;
}

/* ============================================================
   Chefs Finder 3.6.3 — Authentication controls & admin-safe UI
   ============================================================ */
.cf-password-wrap {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
}
.cf-password-wrap > input[type="password"],
.cf-password-wrap > input[type="text"] {
    width: 100% !important;
    box-sizing: border-box !important;
    padding-right: 76px !important;
}
.cf-password-toggle {
    position: absolute !important;
    top: 50% !important;
    right: 8px !important;
    transform: translateY(-50%) !important;
    z-index: 3 !important;
    min-width: 56px !important;
    height: 32px !important;
    padding: 0 9px !important;
    border: 1px solid #cbd6e5 !important;
    border-radius: 7px !important;
    background: #f7f9fc !important;
    color: #244da6 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 30px !important;
    cursor: pointer !important;
}
.cf-password-toggle:hover,
.cf-password-toggle:focus-visible {
    background: #edf2ff !important;
    border-color: #244da6 !important;
    outline: none !important;
}
.cf-auth-foot .cf-forgot-password-link,
.cf-auth-foot a[data-cf-forgot-password] {
    display: inline-block !important;
    margin-top: 6px !important;
}
.cf-auth-links-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px 18px !important;
    margin-top: 18px !important;
}
.cf-auth-links-row a {
    color: #244da6 !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}
.cf-auth-links-row a:hover { text-decoration: underline !important; }

/* Reset-password forms are intentionally one-column and readable. */
body.cf-platform-reset-password .cf-auth-wrap form,
body.cf-platform-forgot-password .cf-auth-wrap form {
    grid-template-columns: 1fr !important;
    max-width: 620px !important;
}
body.cf-platform-reset-password .cf-auth-wrap form > label,
body.cf-platform-forgot-password .cf-auth-wrap form > label {
    grid-column: 1 !important;
}

/* Logged-in header actions remain compact on smaller screens. */
@media (max-width: 760px) {
    .cf-header-actions { gap: 7px !important; }
    .cf-header-actions .cf-btn { min-width: 0 !important; padding-inline: 12px !important; }
    .cf-password-toggle { right: 6px !important; }
}

/* Single job vacancy page ([cf_job] shortcode output, rendered by single-cf_job.php). */
.cf-job-detail {
    display: block;
    width: 100%;
    background: #fff;
    border: 1px solid #dfe5ef;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(7,26,58,.06);
    padding: 30px;
}
.cf-job-detail > h1 {
    margin: 8px 0 6px;
    color: #071a3a;
    font-size: clamp(28px,3.6vw,42px);
    line-height: 1.08;
    letter-spacing: -.02em;
    font-weight: 800;
}
.cf-job-detail > .cf-meta {
    color: #536178;
    font-size: 15px;
    font-weight: 650;
    margin: 0 0 8px;
}
.cf-job-detail-section {
    margin-top: 26px;
    padding-top: 26px;
    border-top: 1px solid #eef1f6;
}
.cf-job-detail-section:first-of-type { border-top: 0; margin-top: 22px; padding-top: 0; }
.cf-job-detail-section h2 {
    margin: 0 0 12px;
    color: #071a3a;
    font-size: 20px;
    font-weight: 800;
}
.cf-job-detail-section > div { color: #42516a; font-size: 16px; line-height: 1.7; }
.cf-job-detail-section > div p { margin: 0 0 12px; }
.cf-job-detail-section > div :last-child { margin-bottom: 0; }
.cf-job-detail form {
    margin-top: 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 620px;
}
.cf-job-detail form textarea {
    min-height: 120px;
    width: 100%;
    resize: vertical;
    padding: 12px 13px;
    border: 1px solid #cfd8e6;
    border-radius: 9px;
    background: #fff;
    color: #14233f;
    outline: none;
}
.cf-job-detail form textarea:focus {
    border-color: #244da6;
    box-shadow: 0 0 0 3px rgba(36,77,166,.10);
}
.cf-job-detail form .cf-btn,
.cf-job-detail > a.cf-btn {
    align-self: flex-start;
}
@media (max-width: 700px) {
    .cf-job-detail { padding: 22px; }
    .cf-job-detail-section { margin-top: 20px; padding-top: 20px; }
}
