/*
Theme Name: Mankhosa Solution Fresh
Theme URI: https://mankhosa.co.za/
Author: Mankhosa Solution
Description: Fresh responsive theme shell for Mankhosa Solution, preserving existing WordPress pages, service forms and WooCommerce.
Version: 2.0.0
Text Domain: mankhosa-solution-fresh
*/

:root{--g:#083d2f;--g2:#0f5a43;--gold:#d3ad3d;--cream:#f8f6ef;--ink:#15251f;--muted:#68766f;--line:#dfe7e2;--white:#fff;--shadow:0 12px 34px rgba(8,61,47,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.55;background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 32px));margin:auto}
.top{background:#062d23;color:#fff;font-size:13px}.top .container{display:flex;justify-content:space-between;padding:8px 0;gap:16px;flex-wrap:wrap}
nav{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--g)}.brand img{width:58px;height:58px;object-fit:cover;border-radius:50%;border:2px solid var(--gold)}.brand span{font-size:20px}.menu{display:flex;gap:21px;align-items:center;font-weight:700;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:9px;font-weight:900;border:1px solid transparent}.gold{background:var(--gold);color:#142119}.dark{background:var(--g);color:#fff}.outline{border-color:var(--g);color:var(--g);background:#fff}
.hero{padding:66px 0;background:radial-gradient(circle at 85% 10%,rgba(211,173,61,.20),transparent 27%),linear-gradient(135deg,#f7f5ed,#fff 60%,#edf5f1)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--g2);font-size:12px}h1{font-size:clamp(40px,6vw,66px);line-height:1.03;letter-spacing:-.03em;color:var(--g);margin:9px 0 18px}h2{font-size:clamp(30px,4vw,43px);line-height:1.1;color:var(--g);margin:8px 0 14px}.lead{font-size:18px;color:#52635b}.hero-logo{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow);text-align:center}.hero-logo img{width:min(100%,390px);border-radius:50%}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.section{padding:68px 0}.alt{background:var(--cream)}.head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:28px}.head p{max-width:620px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px;box-shadow:0 7px 20px rgba(8,61,47,.05)}.card h3{margin:5px 0 7px;color:var(--g)}.card p{color:var(--muted);font-size:14px}.tag{display:inline-block;background:#edf5f1;color:var(--g);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.price{font-size:22px;font-weight:900;color:var(--g);margin:10px 0}.card .btn{width:100%;margin-top:7px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.num{color:var(--gold);font-weight:900}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px}.panel{border:1px solid var(--line);border-radius:17px;padding:26px;background:#fff;box-shadow:var(--shadow)}.check{list-style:none;padding:0}.check li{padding:6px 0 6px 27px;position:relative}.check li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:900}
.shopbar{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 28px}.pill{border:1px solid var(--line);padding:8px 12px;border-radius:999px;background:#fff;font-size:13px;font-weight:800}.pill:hover{border-color:var(--gold)}
footer{background:#062d23;color:#dce9e3;padding:44px 0 24px}.footer{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:28px}footer h4{color:#fff}footer a{display:block;margin:7px 0}.fine{border-top:1px solid rgba(255,255,255,.13);padding-top:18px;margin-top:26px;font-size:12px;color:#abc0b7}.wa{position:fixed;right:16px;bottom:16px;z-index:40;background:var(--gold);padding:12px 16px;border-radius:999px;font-weight:900;box-shadow:var(--shadow)}
/* Additions below preserve the original design */
.form-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:start}
.form-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:26px;box-shadow:var(--shadow)}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{margin-bottom:14px}.field.full{grid-column:1/-1}
label{display:block;font-weight:800;font-size:14px;color:var(--g);margin-bottom:6px}input,select,textarea{width:100%;padding:13px;border:1px solid #cbd8d2;border-radius:9px;font:inherit;background:#fff}textarea{min-height:110px;resize:vertical}
.notice{background:#fbf7e8;border:1px solid #ead99b;border-radius:11px;padding:14px;font-size:13px;color:#5d4d1e}.summary-box{position:sticky;top:105px}.mini-list{list-style:none;padding:0}.mini-list li{padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.faq{display:grid;gap:12px}details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 18px}summary{font-weight:900;color:var(--g);cursor:pointer}
.service-links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.service-link{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px}.service-link strong{display:block;color:var(--g);margin-bottom:5px}
@media(max-width:900px){.menu{display:none}.hero-grid,.split,.form-layout{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.footer{grid-template-columns:1fr 1fr}.summary-box{position:static}.service-links{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid,.steps,.footer,.field-grid,.service-links{grid-template-columns:1fr}.brand span{font-size:16px}.hero{padding:40px 0}.section{padding:50px 0}.head{display:block}}







/* Full-width application forms */
.form-layout{grid-template-columns:minmax(0,1fr)}
.split:has(.form-card){grid-template-columns:minmax(0,1fr)}
.form-layout > *:has(.form-card),.split > *:has(.form-card){width:100%}
.modern-application,.imported-content .imported-form{max-width:none;width:100%}
