﻿/* Balanset-1A Knowledge Base — scoped styles (.vbm-kb), v3 */
/* !important used deliberately to beat theme (Hestia) resets inside the KB scope only */

.vbm-kb{
  --kb-ink:#22303f; --kb-muted:#5f6b78; --kb-line:#e6e9ed;
  --kb-acc:#0b6e4f; --kb-acc2:#0d8a62; --kb-soft:#eef6f2;
  --kb-warn-bg:#fff8e6; --kb-warn-line:#eec643;
  --kb-code:#f2f4f6;
  background:#fff !important;
  max-width:880px !important;
  margin:0 auto 48px !important;
  padding:40px 48px 44px !important;
  border-radius:16px !important;
  box-shadow:0 2px 6px rgba(20,30,45,.06), 0 16px 44px rgba(20,30,45,.08) !important;
  color:var(--kb-ink) !important;
  font-size:17px !important;
  line-height:1.7 !important;
  overflow-wrap:break-word;
}
@media (max-width:760px){
  .vbm-kb{padding:24px 18px 30px !important; border-radius:12px !important}
}

/* ---------- typography ---------- */
.vbm-kb p{margin:0 0 14px !important; color:var(--kb-ink) !important; font-size:17px !important; line-height:1.7 !important}
.vbm-kb .lead{color:var(--kb-muted) !important; font-size:18.5px !important; margin-bottom:22px !important}
.vbm-kb h2{
  margin:40px 0 14px !important; padding:0 0 8px !important;
  font-size:25px !important; line-height:1.3 !important; font-weight:700 !important;
  color:var(--kb-ink) !important; border-bottom:1px solid var(--kb-line) !important; border-top:0 !important;
  position:relative;
}
.vbm-kb h2::after{
  content:""; position:absolute; left:0; bottom:-1px; width:56px; height:3px;
  background:linear-gradient(90deg,var(--kb-acc),var(--kb-acc2)); border-radius:2px;
}
.vbm-kb h3{margin:28px 0 10px !important; font-size:19px !important; font-weight:700 !important; color:var(--kb-ink) !important}
.vbm-kb a{color:var(--kb-acc) !important; text-decoration:none !important; border-bottom:1px solid rgba(11,110,79,.35); box-shadow:none !important}
.vbm-kb a:hover{color:var(--kb-acc2) !important; border-bottom-color:var(--kb-acc2)}
.vbm-kb b, .vbm-kb strong{color:var(--kb-ink) !important; font-weight:700 !important}

/* ---------- lists ---------- */
.vbm-kb ul, .vbm-kb ol{margin:0 0 16px !important; padding-left:26px !important}
.vbm-kb li{margin:0 0 7px !important; line-height:1.65 !important}
.vbm-kb li::marker{color:var(--kb-acc)}

/* ---------- images / figures ---------- */
.vbm-kb img{
  max-width:100% !important; height:auto !important; display:block !important;
  border:1px solid var(--kb-line) !important; border-radius:10px !important;
  box-shadow:0 3px 12px rgba(20,30,45,.08) !important; margin:0 !important;
}
.vbm-kb figure{margin:20px 0 !important; padding:0 !important}
.vbm-kb figcaption{
  font-size:13.5px !important; color:var(--kb-muted) !important; line-height:1.5 !important;
  margin-top:8px !important; padding-left:12px !important; border-left:3px solid var(--kb-line) !important;
  font-style:normal !important;
}
.vbm-kb .imgrow{display:flex !important; gap:14px !important; flex-wrap:wrap !important; margin:20px 0 !important}
.vbm-kb .imgrow figure{flex:1 1 300px !important; min-width:260px !important; margin:0 !important}

/* ---------- tables ---------- */
.vbm-kb .tablewrap{overflow-x:auto !important; margin:16px 0 !important; border-radius:10px !important; border:1px solid var(--kb-line) !important}
.vbm-kb table{
  border-collapse:collapse !important; width:100% !important; margin:0 !important;
  font-size:14.5px !important; line-height:1.5 !important;
}
.vbm-kb .tablewrap table{border:0 !important}
.vbm-kb th{
  background:var(--kb-ink) !important; color:#fff !important; font-weight:600 !important;
  border:0 !important; border-right:1px solid rgba(255,255,255,.12) !important;
  padding:9px 12px !important; text-align:left !important;
}
.vbm-kb td{
  border:0 !important; border-top:1px solid var(--kb-line) !important; border-right:1px solid var(--kb-line) !important;
  padding:8px 12px !important; text-align:left !important; vertical-align:top !important; color:var(--kb-ink) !important;
}
.vbm-kb td:last-child, .vbm-kb th:last-child{border-right:0 !important}
.vbm-kb tr:nth-child(even) td{background:#f8fafb !important}
.vbm-kb table:not(.tablewrap table){border:1px solid var(--kb-line) !important; border-radius:10px; overflow:hidden}

/* ---------- code ---------- */
.vbm-kb code{
  background:var(--kb-code) !important; color:#1c4532 !important;
  padding:2px 7px !important; border-radius:6px !important; font-size:13.5px !important;
  border:1px solid #e3e7ea !important;
}
.vbm-kb pre{
  background:#20303c !important; color:#dfe7ee !important;
  padding:18px 20px !important; border-radius:12px !important; overflow-x:auto !important;
  font-size:13.5px !important; line-height:1.6 !important; margin:16px 0 !important; border:0 !important;
}
.vbm-kb pre code{background:none !important; color:inherit !important; padding:0 !important; border:0 !important; font-size:inherit !important}

/* ---------- quotes ---------- */
.vbm-kb blockquote{
  margin:16px 0 !important; padding:14px 18px 12px 46px !important;
  border:0 !important; border-left:4px solid var(--kb-acc) !important;
  background:var(--kb-soft) !important; border-radius:0 12px 12px 0 !important;
  font-style:normal !important; position:relative; font-size:16px !important;
}
.vbm-kb blockquote::before{
  content:"\201C"; position:absolute; left:14px; top:2px;
  font-size:40px; line-height:1; color:var(--kb-acc); opacity:.55; font-family:Georgia,serif;
}
.vbm-kb blockquote p{margin:0 0 6px !important; font-size:16px !important; color:#28405a !important}
.vbm-kb .q-meta{font-size:12.5px !important; color:var(--kb-muted) !important; text-transform:uppercase; letter-spacing:.4px}

/* ---------- callouts ---------- */
.vbm-kb .callout{
  background:var(--kb-warn-bg) !important; border:1px solid var(--kb-warn-line) !important;
  border-left-width:5px !important; border-radius:10px !important;
  padding:14px 18px 14px 46px !important; margin:18px 0 !important; position:relative;
}
.vbm-kb .callout::before{content:"⚠️"; position:absolute; left:14px; top:12px; font-size:18px}
.vbm-kb .rule{
  background:var(--kb-soft) !important; border:1px solid #d5e8df !important;
  border-left:5px solid var(--kb-acc) !important; border-radius:10px !important;
  padding:16px 20px !important; margin:18px 0 !important;
}
.vbm-kb .rule ol{margin:0 !important; padding-left:22px !important}
.vbm-kb .rule li{margin-bottom:10px !important}
.vbm-kb .rule li:last-child{margin-bottom:0 !important}

/* ---------- contents cards (parent page) ---------- */
.vbm-kb .toc-cards{
  display:grid !important; grid-template-columns:repeat(auto-fill,minmax(235px,1fr)) !important;
  gap:14px !important; margin:22px 0 !important; padding:0 !important; list-style:none !important;
}
.vbm-kb .toc-cards a{
  display:block !important; border:1px solid var(--kb-line) !important; border-radius:12px !important;
  padding:16px 18px !important; color:var(--kb-ink) !important; text-decoration:none !important;
  background:#fff !important; border-bottom:1px solid var(--kb-line);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.vbm-kb .toc-cards a:hover{
  transform:translateY(-3px); box-shadow:0 10px 24px rgba(11,110,79,.14) !important;
  border-color:var(--kb-acc) !important;
}
.vbm-kb .toc-cards .n{margin-bottom:2px;
  display:inline-block; background:linear-gradient(135deg,var(--kb-acc),var(--kb-acc2));
  color:#fff !important; font-weight:700; font-size:12px; padding:2px 9px; border-radius:20px; letter-spacing:.5px;
}
.vbm-kb .toc-cards .t{display:block !important; font-weight:700 !important; margin:8px 0 4px !important; font-size:16px !important; color:var(--kb-ink) !important}
.vbm-kb .toc-cards .d{display:block !important; font-size:13px !important; color:var(--kb-muted) !important; line-height:1.5 !important}

/* ---------- breadcrumb + prev/next ---------- */
.vbm-kb .kb-crumb{margin:0 0 20px !important; font-size:13px !important}
.vbm-kb .kb-crumb a{
  display:inline-block; background:var(--kb-soft) !important; color:var(--kb-acc) !important;
  padding:6px 14px !important; border-radius:20px !important; border:1px solid #d5e8df !important;
  text-transform:uppercase; letter-spacing:.5px; font-weight:600; font-size:11.5px !important;
}
.vbm-kb .kb-crumb a:hover{background:var(--kb-acc) !important; color:#fff !important}
.vbm-kb .kb-nav{
  display:flex !important; justify-content:space-between !important; gap:12px !important;
  margin-top:44px !important; padding-top:20px !important; border-top:1px solid var(--kb-line) !important;
  font-size:14.5px !important; flex-wrap:wrap;
}
.vbm-kb .kb-nav a{
  display:inline-block; padding:10px 18px !important; border:1.5px solid var(--kb-acc) !important;
  border-radius:10px !important; color:var(--kb-acc) !important; font-weight:600 !important;
  transition:background .15s ease, color .15s ease; max-width:48%;
}
.vbm-kb .kb-nav a:hover{background:var(--kb-acc) !important; color:#fff !important}
@media (max-width:600px){
  .vbm-kb .kb-nav{flex-direction:column}
  .vbm-kb .kb-nav a{max-width:100%; text-align:center}
}

/* v4: guards against wpautop artifacts */
.vbm-kb .toc-cards > p, .vbm-kb .toc-cards > br{display:none !important}
.vbm-kb .toc-cards a:empty{display:none !important}

