/* Kabandima — Soko (marketplace) shared styles.
   Same brand palette as the main site (public_html/index.php) so the
   marketplace feels like the same company, not a bolted-on page. */
:root{
  --green-900:#211A12;
  --green-800:#43784A;
  --green-700:#4C8654;
  --green-600:#5C9163;
  --green-100:#F1E6D0;
  --gold-600:#8C2E17;
  --gold-500:#A83D22;
  --gold-100:#F1E6D0;
  --cream:#FBF3E3;
  --surface:#FFFFFF;
  --ink-primary:#211A12;
  --ink-secondary:#5B4E3D;
  --ink-muted:#93805D;
  --border:rgba(33,26,18,0.12);
  --radius:14px;
}
*{box-sizing:border-box;}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink-primary);background:var(--cream);line-height:1.55;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.logo{display:flex;align-items:center;gap:10px;}
.logo-mark-img{width:34px;height:34px;flex:0 0 auto;border-radius:8px;object-fit:cover;}
.logo-text{display:flex;flex-direction:column;line-height:1.1;}
.logo-word{font-size:20px;font-weight:800;letter-spacing:0.5px;color:var(--green-800);}
.logo-tag{font-size:9px;font-weight:700;letter-spacing:2.5px;color:var(--gold-600);text-transform:uppercase;}
header.site{position:sticky;top:0;z-index:50;background:rgba(251,243,227,0.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:12px 0;flex-wrap:wrap;gap:12px;}
nav.links{display:flex;gap:20px;flex-wrap:wrap;align-items:center;}
nav.links a{font-size:14px;font-weight:600;color:var(--ink-secondary);white-space:nowrap;}
nav.links a.active,nav.links a:hover{color:var(--green-800);}
.cart-link{display:inline-flex;align-items:center;gap:6px;background:var(--green-800);color:#fff !important;padding:9px 16px;border-radius:999px;font-weight:700;font-size:13.5px;}
.cart-count{background:var(--gold-500);color:#fff;border-radius:999px;min-width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;padding:0 5px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:700;font-size:14px;border:none;cursor:pointer;transition:transform .15s, box-shadow .15s;}
.btn-primary{background:var(--green-800);color:#fff;box-shadow:0 4px 14px rgba(67,120,74,0.28);}
.btn-primary:hover{transform:translateY(-1px);}
.btn-primary:disabled{opacity:0.5;cursor:not-allowed;transform:none;box-shadow:none;}
.btn-ghost{background:transparent;color:var(--green-800);border:1.5px solid var(--green-800);}
.btn-ghost:hover{background:var(--green-100);}
.btn-danger{background:#fdeceb;color:#8a2323;}
.btn-small{padding:8px 14px;font-size:13px;}
.btn-block{width:100%;}
.page-hero{background:linear-gradient(160deg, var(--green-900) 0%, var(--green-800) 55%, var(--green-600) 100%);color:#fff;padding:52px 0 64px;}
.page-hero h1{font-size:clamp(26px,4vw,38px);font-weight:800;margin:0 0 10px;}
.page-hero p{font-size:15.5px;color:rgba(255,255,255,0.85);max-width:600px;margin:0;}
.crumb{font-size:12.5px;color:rgba(255,255,255,0.7);margin-bottom:14px;}
.crumb a{color:#fff;font-weight:600;}
main.soko{padding:44px 0 80px;}
.section-title{font-size:20px;font-weight:800;color:var(--green-900);margin:0 0 18px;}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.cat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px 22px;transition:transform .15s, box-shadow .15s;display:flex;flex-direction:column;gap:10px;}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(33,26,18,0.12);}
.cat-icon{width:48px;height:48px;border-radius:12px;background:var(--green-100);display:flex;align-items:center;justify-content:center;}
.cat-icon svg{width:24px;height:24px;color:var(--green-800);}
.cat-card h3{margin:0;font-size:16.5px;color:var(--green-900);}
.cat-card p{margin:0;font-size:13.5px;color:var(--ink-secondary);flex:1;}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.p-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:10px;}
.p-card h3{margin:0;font-size:16px;color:var(--green-900);}
.p-price{font-size:19px;font-weight:800;color:var(--green-800);}
.p-unit{font-size:12.5px;color:var(--ink-muted);}
.p-actions{display:flex;gap:8px;align-items:center;margin-top:auto;}
.qty-input{width:64px;padding:9px 10px;border-radius:8px;border:1.5px solid var(--border);font-size:14px;text-align:center;background:var(--cream);}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap;width:fit-content;}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;}
.badge.good{background:#e7f7e7;color:#0ca30c;} .badge.good::before{background:#0ca30c;}
.badge.warning{background:var(--gold-100);color:var(--gold-600);} .badge.warning::before{background:var(--gold-600);}
.badge.critical{background:#fdeceb;color:#8a2323;} .badge.critical::before{background:#8a2323;}
.empty-note{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:36px 24px;text-align:center;color:var(--ink-secondary);}
.notice{padding:14px 16px;border-radius:10px;font-size:13.5px;margin-bottom:18px;}
.notice.warning{background:var(--gold-100);color:var(--gold-600);}
.notice.error{background:#fdeceb;color:#8a2323;}
.notice.success{background:#e7f7e7;color:#1a5c1a;}
.cart-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.cart-table th,.cart-table td{padding:14px 16px;text-align:left;font-size:14px;border-bottom:1px solid var(--border);}
.cart-table th{font-size:12px;text-transform:uppercase;letter-spacing:0.5px;color:var(--ink-muted);background:var(--green-100);}
.cart-table tr:last-child td{border-bottom:none;}
.cart-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin-top:18px;max-width:360px;margin-left:auto;}
.cart-summary .row{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px;}
.cart-summary .row.total{font-weight:800;font-size:17px;color:var(--green-900);border-top:1px solid var(--border);padding-top:10px;margin-top:10px;}
form.soko-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px;display:grid;gap:16px;max-width:640px;}
.field{display:grid;gap:6px;}
.field label{font-size:12.5px;font-weight:700;color:var(--ink-secondary);}
.field input,.field textarea,.field select{padding:12px 14px;border-radius:10px;border:1.5px solid var(--border);font-family:inherit;font-size:14px;background:var(--cream);color:var(--ink-primary);}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--green-600);outline-offset:1px;}
.radio-row{display:flex;gap:18px;flex-wrap:wrap;}
.radio-opt{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:var(--ink-secondary);background:var(--cream);border:1.5px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer;flex:1;min-width:200px;}
.radio-opt input{width:auto;margin-top:2px;}
.radio-opt strong{display:block;color:var(--ink-primary);font-size:13.5px;}
.hp-field{position:absolute;left:-9999px;top:-9999px;}
.car-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:8px;}
.car-card h3{margin:0;font-size:16.5px;color:var(--green-900);}
.car-meta{font-size:13px;color:var(--ink-secondary);}
.success-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:40px;text-align:center;max-width:560px;margin:0 auto;}
.success-box .check-circ{width:64px;height:64px;border-radius:50%;background:#e7f7e7;color:#0ca30c;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:30px;}
.ref-code{display:inline-block;background:var(--green-100);color:var(--green-800);font-weight:800;padding:8px 16px;border-radius:8px;font-size:16px;letter-spacing:0.5px;margin:12px 0;}
.calendar-note{font-size:12.5px;color:var(--ink-muted);margin-top:-6px;}
footer.site{background:var(--green-900);color:rgba(255,255,255,0.85);padding:36px 0 22px;margin-top:40px;}
footer.site .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:12.5px;color:rgba(255,255,255,0.6);}
footer.site a{color:rgba(255,255,255,0.85);}
footer.site a:hover{color:var(--gold-500);}
@media (max-width:900px){
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .product-grid{grid-template-columns:repeat(2,1fr);}
  nav.links{display:none;}
}
@media (max-width:560px){
  .cat-grid,.product-grid{grid-template-columns:1fr;}
}
