/*
Theme Name: Career Group Africa
Author: Career Group Africa
Description: Recruitment, executive search and HR advisory WordPress theme with job board and enquiry forms.
Version: 1.4.0
Requires PHP: 7.4
Text Domain: career-group-africa
*/
:root{--navy:#0b1f3c;--blue:#0963b5;--sky:#0cb7e6;--orange:#ff891f;--yellow:#ffd000;--gold:#ff891f;--cream:#f7fbfe;--ink:#0b1f3c;--muted:#53667e}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65;background:white}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.container{width:min(1160px,92%);margin:auto}.topbar{background:#0b1f3c;color:#c8d1dc;font-size:13px;padding:7px 0}.topbar .container{display:flex;justify-content:space-between;gap:12px}.header{background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 2px 16px #10203812}.nav{display:flex;align-items:center;justify-content:space-between;min-height:80px;gap:20px}.brand{font-size:23px;font-weight:800;letter-spacing:-.6px;color:var(--navy);line-height:1.1}.brand span{display:block;color:#0963b5;font-size:10px;letter-spacing:3px;text-transform:uppercase;margin-top:7px}.navlinks{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:700}.navlinks a:hover{color:#0963b5}.btn{display:inline-block;background:var(--gold);color:#122138;padding:13px 23px;border:0;border-radius:4px;font-weight:800;cursor:pointer}.btn:hover{background:#e0b773}.btn-outline{background:transparent;border:1px solid #fff;color:#fff}.btn-dark{background:var(--navy);color:white}.hero{background:linear-gradient(105deg,#0b1f3cf5,#0963b5d9),radial-gradient(circle at 80% 50%,#7a8ba1,transparent);color:#fff;padding:112px 0 122px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:-120px;top:-120px;width:600px;height:600px;border:90px solid #ffffff08;border-radius:50%}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:3px;font-weight:800;color:var(--gold)}h1,h2,h3{line-height:1.18;margin:0 0 18px}h1{font-size:clamp(40px,5.5vw,70px);max-width:780px;letter-spacing:-2px}h2{font-size:clamp(29px,3.5vw,44px);letter-spacing:-1px}h3{font-size:21px}.hero p{font-size:18px;color:#d8e0e8;max-width:620px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.section{padding:82px 0}.section-alt{background:var(--cream)}.section-head{max-width:730px;margin-bottom:34px}.section-head p,.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:white;padding:32px;border:1px solid #e5e9ed;border-radius:7px;box-shadow:0 9px 25px #14243b08}.card .num{color:#0963b5;font-size:13px;font-weight:800;letter-spacing:2px}.card p{color:var(--muted)}.card a.more{font-weight:800;color:#0963b5}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.panel{background:var(--navy);color:white;padding:55px;border-radius:8px}.panel p{color:#d4dce5}.banner{background:var(--navy);color:#fff;padding:65px 0}.banner .container{display:flex;align-items:center;justify-content:space-between;gap:24px}.pagehero{background:var(--navy);color:#fff;padding:75px 0}.pagehero h1{font-size:clamp(36px,4vw,55px)}.pagehero p{max-width:700px;color:#d4dce5}.content{max-width:830px}.content p{margin:0 0 20px}.job-meta{font-size:13px;color:#64738a;font-weight:700}.form{display:grid;gap:15px;max-width:700px}.form input,.form select,.form textarea{width:100%;padding:14px;border:1px solid #cbd3dc;border-radius:4px;font:inherit;background:#fff}.form label{font-weight:700;font-size:14px}.form label span{display:block;margin-bottom:6px}.notice{padding:15px;background:#eef7ef;border-left:4px solid #3d8b54;margin-bottom:20px}.footer{background:#0b1f3c;color:#d5dde7;padding:65px 0 25px}.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}.footer a{display:block;margin:8px 0}.footer h3{color:white}.copyright{border-top:1px solid #ffffff22;margin-top:42px;padding-top:20px;font-size:12px}.menu-toggle{display:none}.pagination{margin-top:30px}.pagination a,.pagination span{padding:8px 12px;border:1px solid #ddd;margin-right:5px}@media(max-width:850px){.nav{flex-wrap:wrap}.menu-toggle{display:block;background:var(--navy);color:white;border:0;padding:10px 14px}.navlinks{display:none;width:100%;flex-direction:column;align-items:flex-start;padding:12px 0 22px}.navlinks.open{display:flex}.grid,.grid.two,.split,.footergrid{grid-template-columns:1fr}.banner .container{display:block}.section{padding:55px 0}.hero{padding:80px 0}.topbar .container{display:block}.panel{padding:30px}}

/* Official brand identity */
.brand img,.brand .custom-logo{display:block;width:min(260px,33vw);height:auto;max-height:76px;object-fit:contain;object-position:left center}.nav{min-height:94px}.btn{background:var(--orange);color:#fff}.btn:hover{background:var(--yellow);color:var(--navy)}.btn-dark{background:var(--blue);color:#fff}.btn-outline{background:transparent;border:2px solid white;color:white}.eyebrow,.card .num{color:var(--sky)}.hero{border-bottom:7px solid var(--yellow)}.card{border-top:3px solid var(--sky)}.card:nth-child(3n+2){border-top-color:var(--orange)}.card:nth-child(3n){border-top-color:var(--yellow)}.navlinks a:hover{color:var(--orange)}.footer a:hover{color:var(--yellow)}@media(max-width:850px){.brand img,.brand .custom-logo{width:205px;max-width:65vw}}

/* Version 1.2: photo-integrated branded homepage hero */
body.home .topbar{display:none}
.cga-hero{min-height:560px;padding:0;display:flex;align-items:center;background:linear-gradient(100deg,#092345 0%,#0b315b 55%,#1263a6 100%);border-bottom:0;isolation:isolate}
.cga-hero:after{display:none}
.cga-hero-photo{position:absolute;z-index:-1;inset:0 0 0 42%;background-image:linear-gradient(90deg,#092345 0%,rgba(9,35,69,.84) 12%,rgba(9,35,69,.25) 37%,transparent 65%),url('assets/hero-african-team.webp');background-size:cover;background-position:center 43%}
.cga-hero-inner{position:relative;padding:72px 0 78px}
.cga-hero-copy{max-width:690px}
.cga-hero .eyebrow{color:var(--sky);font-size:14px;letter-spacing:3px}
.cga-hero h1{font-size:clamp(40px,4.5vw,68px);line-height:1.12;letter-spacing:-2.5px;margin:18px 0 26px;max-width:760px;font-weight:800}
.cga-hero h1 em{font-style:normal;color:var(--yellow)}
.cga-hero p{font-size:19px;max-width:640px;line-height:1.55;color:#edf4ff}
.cga-hero .btn{padding:16px 27px;font-size:16px;background:var(--orange);color:white}
.cga-hero .btn-outline{background:transparent;border:2px solid white}
.cga-hero .btn:hover{background:var(--yellow);color:var(--navy)}
.cga-feature-band{background:#fff}
.cga-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:32px 0;gap:0}
.cga-feature-grid a{display:flex;align-items:center;gap:15px;padding:5px 20px;border-right:1px solid #d6dce6}
.cga-feature-grid a:first-child{padding-left:0}.cga-feature-grid a:last-child{border-right:0}
.cga-feature-icon{width:54px;height:54px;flex:0 0 54px;border-radius:12px;background:#e0f0fc;color:#0963b5;display:grid;place-items:center;font-size:28px;font-weight:700}
.cga-feature-icon.orange{color:#ff891f;background:#fff0e2}.cga-feature-icon.sky{color:#0cb7e6;background:#dff6fd}
.cga-feature-grid strong{display:block;color:#0b1f3c;font-size:15px;line-height:1.3}
.cga-feature-grid small{display:block;color:#64738a;font-size:13px;line-height:1.5;margin-top:5px}
.cga-colour-strip{height:7px;background:linear-gradient(90deg,#0b1f3c 0 20%,#0963b5 20% 40%,#0cb7e6 40% 60%,#ff891f 60% 80%,#ffd000 80%)}
@media(max-width:1050px){.cga-feature-grid{grid-template-columns:repeat(2,1fr);row-gap:20px}.cga-feature-grid a:nth-child(2){border-right:0}.cga-hero-copy{max-width:600px}}
@media(max-width:700px){.cga-hero{min-height:610px;align-items:flex-end}.cga-hero-photo{inset:0;background-image:linear-gradient(0deg,#092345 0%,rgba(9,35,69,.96) 25%,rgba(9,35,69,.55) 60%,rgba(9,35,69,.1) 100%),url('assets/hero-african-team.webp');background-position:57% top}.cga-hero-inner{padding:235px 0 45px}.cga-hero h1{font-size:clamp(34px,8vw,48px);letter-spacing:-1.5px}.cga-hero p{font-size:16px}.cga-hero .btn{font-size:14px;padding:13px 17px}.cga-feature-grid{grid-template-columns:1fr;padding:18px 0}.cga-feature-grid a{padding:13px 0;border-right:0;border-bottom:1px solid #e6ebf0}.cga-feature-grid a:last-child{border-bottom:0}}

/* v1.3 critical repair: photo and service grid, robust against older styles */
body.home .cga-hero{position:relative!important;isolation:isolate;overflow:hidden;min-height:560px;background:linear-gradient(105deg,#092345,#0963b5)!important}
body.home .cga-hero-photo{position:absolute!important;z-index:-1!important;inset:0 0 0 39%!important;display:block!important;overflow:hidden;background:none!important;pointer-events:none}
body.home .cga-hero-photo img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:50% 45%}
body.home .cga-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#092345 0%,rgba(9,35,69,.84) 12%,rgba(9,35,69,.28) 38%,transparent 70%)}
body.home .cga-hero-inner{position:relative!important;z-index:1}
body.home .cga-feature-band{display:block!important;background:white!important;clear:both}
body.home .cga-feature-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;align-items:stretch;padding:28px 0!important}
body.home .cga-feature-grid>a{display:flex!important;flex-direction:row!important;align-items:center!important;gap:14px!important;min-width:0!important;padding:8px 16px!important;border-right:1px solid #d6dce6!important;text-decoration:none!important}
body.home .cga-feature-grid>a:last-child{border-right:0!important}
body.home .cga-feature-grid>a>span:last-child{display:block;min-width:0}
body.home .cga-feature-grid strong{display:block!important;font-size:15px!important;line-height:1.3!important;color:#0b1f3c!important}
body.home .cga-feature-grid small{display:block!important;font-size:13px!important;line-height:1.45!important;color:#64738a!important;margin-top:5px!important}
body.home .cga-feature-icon{display:grid!important;place-items:center!important;flex:0 0 54px!important;width:54px!important;height:54px!important}
@media(max-width:1050px){body.home .cga-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.home .cga-feature-grid>a:nth-child(2){border-right:0!important}}
@media(max-width:700px){body.home .cga-hero-photo{inset:0!important}body.home .cga-hero-photo:after{background:linear-gradient(0deg,#092345 0%,rgba(9,35,69,.96) 27%,rgba(9,35,69,.6) 65%,rgba(9,35,69,.12) 100%)}body.home .cga-feature-grid{grid-template-columns:1fr!important}body.home .cga-feature-grid>a{border-right:0!important;border-bottom:1px solid #e6ebf0!important}body.home .cga-feature-grid>a:last-child{border-bottom:0!important}}

/* v1.4: seamless hero transition and live vacancy carousel */
body.home .cga-hero-photo{inset:0 0 0 30%!important}body.home .cga-hero-photo:after{background:linear-gradient(90deg,#092345 0%,rgba(9,35,69,.98) 12%,rgba(9,35,69,.87) 28%,rgba(9,35,69,.54) 46%,rgba(9,35,69,.13) 68%,transparent 86%)!important}body.home .cga-hero-copy{position:relative;z-index:2}
.cga-job-filter{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 25px}.cga-job-filter button{border:1px solid #cbd9e9;border-radius:30px;background:white;color:#0b1f3c;padding:10px 17px;cursor:pointer;font:inherit;font-weight:700}.cga-job-filter button.active,.cga-job-filter button:hover{background:#0963b5;color:white;border-color:#0963b5}.cga-jobs-wrap{position:relative}.cga-job-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:5px 3px 18px}.cga-job-card{background:#fff;border:1px solid #e0e8f1;border-top:3px solid #0cb7e6;border-radius:12px;box-shadow:0 8px 25px rgba(10,30,59,.05);flex:0 0 min(340px,85vw);padding:25px;scroll-snap-align:start;display:flex;flex-direction:column;min-height:295px}.cga-job-card[hidden]{display:none!important}.cga-job-card h3{font-size:21px;line-height:1.3;margin:15px 0 8px;color:#0b1f3c}.cga-job-pill{align-self:flex-start;border-radius:20px;background:#e6f5ff;color:#0963b5;padding:6px 12px;font-size:12px;font-weight:800}.cga-job-company{font-weight:700;margin:0 0 8px}.cga-job-location,.cga-job-summary{color:#596e86;font-size:14px}.cga-job-summary{flex:1}.cga-job-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e9eef5;padding-top:14px}.cga-job-bottom small{font-size:11px;color:#65788d}.cga-job-bottom a,.cga-job-empty a{color:#0963b5;font-weight:800;text-decoration:none}.cga-job-arrow{position:absolute;top:40%;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:#0963b5;color:white;font-size:30px;cursor:pointer;box-shadow:0 5px 20px #09234533}.cga-job-arrow.prev{left:-19px}.cga-job-arrow.next{right:-19px}.cga-job-empty{background:white;border:1px solid #e0e8f1;border-radius:12px;padding:28px;min-width:280px}.cga-job-no-results{color:#596e86}.cga-vacancies-footer{margin-top:25px}@media(max-width:700px){body.home .cga-hero-photo{inset:0!important}body.home .cga-hero-photo:after{background:linear-gradient(0deg,#092345 0%,rgba(9,35,69,.98) 30%,rgba(9,35,69,.6) 65%,rgba(9,35,69,.15) 100%)!important}.cga-job-arrow{display:none}.cga-job-card{flex-basis:85vw}}
