/*
Theme Name: SA 4x4 World
Theme URI: https://sa4x4world.co.za/
Author: SA 4x4 World
Description: A sleek, vehicle-first WordPress theme for 4x4, overlanding, suspension, recovery, lighting and fitment products. Includes seeded brand/product placeholders and vehicle filtering.
Version: 4.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: sa4x4world
*/
:root{--bg:#080b0e;--panel:#11161c;--panel2:#171d24;--text:#f5f7fa;--muted:#a7b0ba;--orange:#ff6a00;--line:#2a313a;--white:#fff;--radius:18px;--shadow:0 18px 45px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:60;background:rgba(8,11,14,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:86px}.brand img{width:92px;display:block}.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;align-items:center}.nav a{color:#dbe0e6;font-weight:700;font-size:14px}.nav a:hover{color:var(--orange)}.header-cta{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 18px;border-radius:999px;border:1px solid var(--line);font-weight:800;font-size:14px;transition:.2s}.btn:hover{transform:translateY(-1px);border-color:#5a6570}.btn-primary{background:var(--orange);color:#111;border-color:var(--orange)}.btn-ghost{background:#11161c}.hero{min-height:680px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 75% 25%,rgba(255,106,0,.20),transparent 32%),linear-gradient(135deg,#050607 0%,#0c1116 54%,#050607 100%)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 96%,rgba(255,255,255,.04) 97%),linear-gradient(90deg,transparent 96%,rgba(255,255,255,.04) 97%);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent)}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:55px;padding:80px 0}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.16em;color:var(--orange);font-size:12px;font-weight:900}.hero h1{font-size:clamp(46px,7vw,88px);line-height:.95;margin:15px 0 20px;letter-spacing:-.05em}.hero p{max-width:680px;color:#c7ced6;font-size:19px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-badge{background:linear-gradient(145deg,#171d23,#0d1115);border:1px solid #2b333c;border-radius:30px;padding:34px;box-shadow:var(--shadow);transform:rotate(-1.5deg)}.hero-badge img{display:block;width:min(100%,470px);margin:auto;filter:drop-shadow(0 18px 22px rgba(0,0,0,.45))}.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0b0f13}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.trust-item{padding:21px 18px;text-align:center;border-right:1px solid var(--line);font-weight:800;font-size:14px}.trust-item:last-child{border-right:0}.section{padding:80px 0}.section-alt{background:#0d1115}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.section-head h2,.page-hero h1{font-size:clamp(32px,4vw,52px);line-height:1;margin:8px 0}.section-head p,.page-hero p{max-width:700px;color:var(--muted)}.grid{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.category-card,.product-card,.brand-card,.info-card{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.15);transition:.2s}.category-card:hover,.product-card:hover,.brand-card:hover{transform:translateY(-4px);border-color:#454f5a}.category-media,.product-media{aspect-ratio:16/10;background:radial-gradient(circle at 80% 20%,rgba(255,106,0,.2),transparent 27%),linear-gradient(135deg,#202832,#0f1419);display:flex;align-items:flex-end;padding:22px;position:relative;overflow:hidden}.category-media:after,.product-media:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-55px;top:-65px}.category-icon{font-size:46px}.card-body{padding:20px}.card-body h3{margin:0 0 8px;font-size:20px}.card-body p{margin:0;color:var(--muted);font-size:14px}.brand-card{min-height:150px;display:flex;align-items:center;justify-content:center;padding:22px;background:#fff}.brand-card img{max-width:82%;max-height:90px;object-fit:contain}.product-brand{position:absolute;top:15px;left:15px;background:rgba(255,255,255,.94);border-radius:10px;padding:9px 12px;max-width:140px;z-index:2}.product-brand img{width:100%;height:34px;object-fit:contain}.placeholder-title{font-size:26px;font-weight:900;max-width:80%;line-height:1.05;position:relative;z-index:2}.product-meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.pill{border:1px solid var(--line);border-radius:99px;padding:6px 9px;font-size:11px;color:#c8d0d8;background:#0a0e12}.filters{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:12px;background:#10151a;border:1px solid var(--line);padding:18px;border-radius:16px;margin:28px 0}.filters select,.filters input,.contact-form input,.contact-form textarea{width:100%;background:#080b0e;color:#fff;border:1px solid #303944;border-radius:10px;padding:13px}.page-hero{padding:90px 0 50px;background:radial-gradient(circle at 80% 0,rgba(255,106,0,.16),transparent 30%),#0b0f13;border-bottom:1px solid var(--line)}.brand-intro{display:grid;grid-template-columns:250px 1fr;gap:35px;align-items:center}.brand-intro-logo{background:#fff;border-radius:18px;padding:30px;text-align:center}.brand-intro-logo img{max-height:110px;object-fit:contain}.site-footer{border-top:1px solid var(--line);padding:50px 0 25px;background:#07090b}.footer-grid{display:grid;grid-template-columns:1.1fr .8fr .8fr 1fr;gap:30px}.footer-logo{width:110px}.footer-title{font-size:13px;text-transform:uppercase;letter-spacing:.15em;color:var(--orange);font-weight:900;margin-bottom:12px}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin:8px 0;color:#bcc4cd;font-size:14px}.copyright{padding-top:28px;margin-top:30px;border-top:1px solid var(--line);color:#7f8994;font-size:13px;display:flex;justify-content:space-between;gap:20px}.notice{background:#121820;border-left:4px solid var(--orange);padding:14px 16px;border-radius:8px;color:#cbd3db;font-size:13px}.vehicle-panel{background:linear-gradient(135deg,#141b22,#0a0e12);padding:26px;border:1px solid var(--line);border-radius:18px}.vehicle-results{margin-top:24px}.empty-state{text-align:center;padding:45px 20px;border:1px dashed #39424c;border-radius:16px;color:#9da7b2}.content{padding:55px 0}.content h2{margin-top:36px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}.contact-form{display:grid;gap:14px}.contact-form textarea{min-height:150px;resize:vertical}.mobile-toggle{display:none;background:none;border:0;color:#fff;font-size:24px}
@media(max-width:900px){.hero-grid,.brand-intro,.contact-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.mobile-toggle{display:block}.nav{display:none;position:absolute;top:86px;left:0;right:0;background:#0a0e12;border-bottom:1px solid var(--line);padding:20px}.nav.open{display:block}.nav ul{flex-direction:column;align-items:flex-start}.header-cta{display:none}}
@media(max-width:620px){.wrap{width:min(100% - 26px,1180px)}.hero{min-height:auto}.hero-grid{padding:60px 0}.hero h1{font-size:48px}.grid-4,.grid-3,.filters,.footer-grid,.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)}.section{padding:60px 0}.copyright{flex-direction:column}}

.brand-wordmark{font-weight:950;font-size:22px;letter-spacing:-.04em;color:#111;text-align:center;line-height:1.05}.brand-wordmark small{display:block;font-size:10px;letter-spacing:.12em;color:#666;margin-top:7px}.product-media.has-photo{background-size:cover;background-position:center}.product-media.has-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.08) 65%)}.product-media.has-photo .placeholder-title{color:#fff}.catalog-hero{min-height:460px;display:flex;align-items:end;background-size:cover;background-position:center;position:relative}.catalog-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,9,.94),rgba(5,7,9,.45),rgba(5,7,9,.15))}.catalog-hero .wrap{position:relative;padding-bottom:55px}.catalog-hero h1{font-size:clamp(42px,7vw,78px);margin:8px 0 14px;line-height:.95}.catalog-hero p{max-width:680px;color:#d5dbe1;font-size:18px}.brand-chip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.brand-chip{background:#fff;color:#111;border-radius:14px;padding:18px;min-height:105px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;border:1px solid #ddd}.brand-chip:hover{transform:translateY(-2px)}.subnav{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 0}.catalog-note{padding:16px 18px;border:1px solid #3a424b;background:#10161b;border-radius:12px;color:#b9c3cc}.split-feature{display:grid;grid-template-columns:1fr 1fr;gap:24px}.media-card{min-height:320px;border-radius:18px;background-size:cover;background-position:center;border:1px solid var(--line);position:relative;overflow:hidden}.media-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78),transparent 65%)}.media-card .card-body{position:absolute;left:0;right:0;bottom:0;z-index:2}.media-card h3{font-size:28px;margin:0 0 4px}@media(max-width:900px){.brand-chip-grid,.split-feature{grid-template-columns:1fr 1fr}}@media(max-width:620px){.brand-chip-grid,.split-feature{grid-template-columns:1fr}}
/* v2.0 configurator + engineering tools */
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.tool-card{background:linear-gradient(145deg,#171d24,#10151a);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.tool-card h2{margin:7px 0 8px}.muted{color:var(--muted)}.calc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.calc-grid label{font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:#aeb7c0}.calc-grid input,.calc-grid select{width:100%;margin-top:7px;background:#080b0e;border:1px solid #343d47;color:#fff;border-radius:10px;padding:13px;font-size:15px}.result-panel{margin-top:18px;background:#090d11;border:1px solid #303842;border-radius:14px;padding:16px;min-height:58px}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.result-stat{padding:13px;border-radius:11px;background:#141a20;border:1px solid #28313a}.result-stat strong{display:block;font-size:21px;color:#fff}.result-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8f9aa5}.result-good{color:#72d99b}.result-warn{color:#ffb35c}.result-bad{color:#ff7f7f}.alt-table{width:100%;border-collapse:collapse;font-size:13px}.alt-table th,.alt-table td{padding:9px;border-bottom:1px solid #242c34;text-align:left}.alt-table th{color:#ff8b38}.grid-2{grid-template-columns:repeat(2,1fr)}.brake-hero-grid .info-card{min-height:280px}.config-hero{padding:100px 0 60px;background:radial-gradient(circle at 75% 25%,rgba(255,106,0,.2),transparent 32%),linear-gradient(135deg,#06080a,#10161b)}.config-hero h1{font-size:clamp(48px,7vw,86px);line-height:.95;margin:10px 0 18px}.config-hero p{max-width:760px;color:#c5ced7;font-size:19px}.config-shell{border:1px solid var(--line);border-radius:22px;background:#0d1217;overflow:hidden}.config-steps{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line)}.config-step{border:0;border-right:1px solid var(--line);background:#0a0e12;color:#8f99a4;padding:17px 10px;font-weight:850;cursor:pointer}.config-step.active{background:#171d24;color:#fff;box-shadow:inset 0 -3px 0 var(--orange)}.config-panel{display:none;padding:30px}.config-panel.active{display:block}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.choice-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;padding:18px;border-radius:14px;border:1px solid #303944;background:#111820;color:#fff;cursor:pointer;min-height:100px}.choice-card strong{font-size:16px}.choice-card span{font-size:12px;color:#9eabb6}.choice-card.selected{border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange);background:#1a1714}.check-card input{accent-color:var(--orange);transform:scale(1.25);margin-bottom:5px}.config-nav{display:flex;justify-content:space-between;padding:20px 30px;border-top:1px solid var(--line);background:#090d11}.build-summary{display:grid;gap:12px}.summary-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #28313a;padding:12px 0}.summary-row span:first-child{color:#96a1ac}.summary-row strong{text-align:right}.brand-source{font-size:12px;color:#9aa4ae;margin-top:10px}.brand-source a{color:var(--orange)}
@media(max-width:900px){.tool-grid,.grid-2{grid-template-columns:1fr}.choice-grid{grid-template-columns:repeat(2,1fr)}.config-steps{grid-template-columns:1fr}.config-step{border-right:0;border-bottom:1px solid var(--line)}.calc-grid{grid-template-columns:1fr 1fr}.result-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.choice-grid,.calc-grid,.result-grid{grid-template-columns:1fr}.config-panel{padding:20px}.config-nav{padding:15px 20px}}

/* v3.0 vehicle-fitment engine */
.fitment-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.fitment-main{display:grid;gap:22px}.build-basket{position:sticky;top:92px;background:#0b1015;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.basket-head h2{margin:5px 0 12px}.fitment-selects{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.fitment-selects label{font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:#aeb7c0}.fitment-selects select{width:100%;margin-top:7px;background:#080b0e;border:1px solid #343d47;color:#fff;border-radius:10px;padding:13px}.vehicle-spec-card{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.vehicle-spec-card div{background:#0a0f13;border:1px solid #28313a;border-radius:11px;padding:12px}.vehicle-spec-card span{display:block;color:#8995a0;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.vehicle-spec-card strong{display:block;margin-top:4px;font-size:13px}.profile-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.fitment-results{display:grid;gap:24px;margin-top:18px}.fitment-group-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.fitment-group-title h3{margin:0}.fitment-group-title span{color:#8f9aa5;font-size:12px}.fitment-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.fitment-card{background:#10161c;border:1px solid #2a333c;border-radius:15px;padding:17px}.fitment-card h4{font-size:18px;margin:5px 0 8px}.fitment-card p{color:#aab4bd;font-size:13px;min-height:54px}.fitment-brand{text-transform:uppercase;color:var(--orange);font-size:11px;font-weight:900;letter-spacing:.1em}.fitment-tags{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.fitment-tags span{font-size:10px;background:#1a222a;border:1px solid #323d48;border-radius:999px;padding:5px 8px}.fitment-tags .verified{color:#7ee2a4;border-color:#315e43}.fitment-tags .catalogue{color:#ffbf75;border-color:#6a4c2e}.fitment-requires{font-size:11px;color:#c8d0d8;margin:10px 0}.fitment-card-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.basket-items{display:grid;gap:8px;margin:18px 0}.basket-item{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #27303a;padding:10px 0}.basket-item strong{display:block;font-size:13px}.basket-item span{display:block;color:#8d99a4;font-size:10px;margin-top:3px}.basket-remove{background:none;border:0;color:#ff8b74;font-size:22px;cursor:pointer}.basket-total{display:flex;justify-content:space-between;border-top:1px solid #36414c;padding-top:14px;margin-top:10px}.basket-total span{color:#9aa6b1}.basket-total strong{font-size:20px}.btn-block{display:block;width:100%;text-align:center;margin-top:10px}.small{font-size:11px}.quote-success{margin-top:14px;padding:12px;border-radius:12px;background:#101a14;border:1px solid #315e43}.quote-success>strong{font-size:18px;color:#7ee2a4}.section-head{display:flex;justify-content:space-between;gap:15px;align-items:end}
@media(max-width:1050px){.fitment-layout{grid-template-columns:1fr}.build-basket{position:static}.fitment-selects{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.fitment-selects,.vehicle-spec-card,.profile-buttons,.fitment-card-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}}

/* v3.2 product imagery */
.product-media.has-photo{background-size:cover;background-position:center;min-height:280px;position:relative}.product-title-overlay{background:rgba(0,0,0,.68);color:#fff;padding:10px 14px;border-radius:6px;position:absolute;left:14px;right:14px;bottom:14px}.product-brand{background:rgba(255,255,255,.92);padding:7px 10px;border-radius:5px;max-width:135px}
