/* ============================================================
   خط به خط — سیستم طراحی (Design System) v2.0 «لاکچری اینترپرایز»
   Khat-be-Khat Design System — HTML/Bootstrap 5.3 RTL
   هویت: سرمه‌ای نیمه‌شب + طلایی شامپاینی + عاج — فونت استعداد + مارسلوس
   توکن‌ها، تایپوگرافی، مگامنوی چندسطحی، دکمه‌ها، کارت‌ها، سکشن‌ها
   ============================================================ */

/* ---------- فونت‌های Self-hosted ---------- */
/* استعداد — فونت اصلی هویت */
@font-face { font-family: 'Estedad'; src: url('../fonts/Estedad-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: block; }
@font-face { font-family: 'Estedad'; src: url('../fonts/Estedad-Medium.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: block; }
@font-face { font-family: 'Estedad'; src: url('../fonts/Estedad-SemiBold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: block; }
@font-face { font-family: 'Estedad'; src: url('../fonts/Estedad-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: block; }
@font-face { font-family: 'Estedad'; src: url('../fonts/Estedad-ExtraBold.woff2') format('woff2'); font-weight: 800; font-style: normal; font-display: block; }
@font-face { font-family: 'Estedad'; src: url('../fonts/Estedad-Black.woff2') format('woff2'); font-weight: 900; font-style: normal; font-display: block; }
/* وزیرمتن — پشتیبان */
@font-face { font-family: 'Vazirmatn'; src: url('../fonts/Vazirmatn-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: block; }
@font-face { font-family: 'Vazirmatn'; src: url('../fonts/Vazirmatn-Medium.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: block; }
@font-face { font-family: 'Vazirmatn'; src: url('../fonts/Vazirmatn-SemiBold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: block; }
@font-face { font-family: 'Vazirmatn'; src: url('../fonts/Vazirmatn-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: block; }
@font-face { font-family: 'Vazirmatn'; src: url('../fonts/Vazirmatn-ExtraBold.woff2') format('woff2'); font-weight: 800; font-style: normal; font-display: block; }
/* مارسلوس — لاتین سریف مجلل (برچسب‌های انگلیسی) */
@font-face { font-family: 'Marcellus'; src: url('../fonts/Marcellus-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: block; }
/* جت‌برینز مونو — کد و اعداد فنی */
@font-face { font-family: 'JetBrains Mono'; src: url('../fonts/JetBrainsMono-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: block; }
@font-face { font-family: 'JetBrains Mono'; src: url('../fonts/JetBrainsMono-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: block; }
@font-face { font-family: 'JetBrains Mono'; src: url('../fonts/JetBrainsMono-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: block; }

/* ---------- توکن‌های طراحی (Design Tokens) ---------- */
:root {
  /* سرمه‌ای نیمه‌شب — رنگ سازمانی */
  --kbk-navy: #0A1626;
  --kbk-navy-2: #102743;
  --kbk-navy-3: #16324A;
  --kbk-navy-soft: #EEF1F5;

  /* طلایی شامپاینی — لهجه لاکچری */
  --kbk-primary: #C4A052;
  --kbk-primary-dark: #A9853E;
  --kbk-accent: #C4A052;
  --kbk-accent-dark: #A9853E;
  --kbk-primary-soft: #F6F0E2;
  --kbk-gold-deep: #8F6E2F;

  /* سطح‌ها */
  --kbk-ink: #101C2C;
  --kbk-ink-soft: #4A5468;
  --kbk-bg: #FAF9F6;
  --kbk-surface: #FFFFFF;
  --kbk-line: #E8E4DA;
  --kbk-line-gold: rgba(196, 160, 82, .38);
  --kbk-muted: #8B93A2;
  --kbk-success: #2F7D5C;
  --kbk-warning: #B07514;
  --kbk-error: #B3382E;

  /* شعاع */
  --kbk-radius-sm: 10px;
  --kbk-radius: 14px;
  --kbk-radius-lg: 20px;
  --kbk-radius-pill: 999px;

  /* سایه — لطیف و لاکچری */
  --kbk-shadow-subtle: 0 1px 2px rgba(16, 28, 44, .05), 0 4px 14px rgba(16, 28, 44, .05);
  --kbk-shadow-hover: 0 18px 44px rgba(16, 28, 44, .13), 0 4px 12px rgba(16, 28, 44, .06);
  --kbk-shadow-gold: 0 10px 26px rgba(196, 160, 82, .32);
  --kbk-shadow-mega: 0 24px 60px rgba(10, 22, 38, .18), 0 4px 14px rgba(10, 22, 38, .08);

  /* تایپوگرافی */
  --kbk-font-fa: 'Estedad', 'Vazirmatn', Tahoma, sans-serif;
  --kbk-font-latin: 'Marcellus', 'Times New Roman', serif;
  --kbk-font-mono: 'JetBrains Mono', 'Vazirmatn', monospace;

  /* اسپیسینگ سکشن */
  --kbk-section-py: 5.5rem;
  --kbk-section-py-sm: 3.5rem;
}

/* ---------- پایه ---------- */
html { scroll-behavior: smooth; }

body {
  font-family: var(--kbk-font-fa);
  background-color: var(--kbk-bg);
  color: var(--kbk-ink-soft);
  line-height: 1.9;
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

::selection { background: rgba(196, 160, 82, .32); color: var(--kbk-ink); }

/* اسکرول‌بار سفارشی */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--kbk-bg); }
::-webkit-scrollbar-thumb { background: #C9C4B6; border-radius: 8px; border: 2px solid var(--kbk-bg); }
::-webkit-scrollbar-thumb:hover { background: var(--kbk-primary); }

.container-xxl { max-width: 1400px; }

/* ---------- تایپوگرافی ---------- */
h1, h2, h3, h4, h5, h6 { font-weight: 800; line-height: 1.5; color: var(--kbk-ink); }

.kbk-h1 { font-size: clamp(1.95rem, 4.3vw, 3.5rem); font-weight: 900; line-height: 1.55; letter-spacing: -0.01em; }
.kbk-h2 { font-size: clamp(1.55rem, 3vw, 2.4rem); font-weight: 800; }
.kbk-h3 { font-size: clamp(1.15rem, 2vw, 1.5rem); font-weight: 700; }

.text-ink-soft { color: var(--kbk-ink-soft) !important; }

/* لید متن */
.kbk-lead { font-size: clamp(1.02rem, 1.6vw, 1.22rem); color: var(--kbk-ink-soft); font-weight: 400; line-height: 2.05; }

/* ابرلیبل — خط طلایی + متن */
.kbk-eyebrow {
  font-size: .95rem;
  font-weight: 600;
  color: var(--kbk-gold-deep);
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: 1.1rem;
}
.kbk-eyebrow::before { content: ''; width: 34px; height: 1px; background: linear-gradient(90deg, var(--kbk-primary), transparent); }
.kbk-eyebrow::after { content: ''; width: 6px; height: 6px; transform: rotate(45deg); background: var(--kbk-primary); }
/* حالت وسط‌چین */
.kbk-eyebrow.justify-content-center::before,
.kbk-eyebrow.center::before { content: ''; width: 34px; height: 1px; background: linear-gradient(90deg, transparent, var(--kbk-primary), transparent); }
.kbk-eyebrow.justify-content-center::after,
.kbk-eyebrow.center::after { display: none; }

/* برچسب لاتین سریف — امضای لاکچری */
.kbk-latin {
  font-family: var(--kbk-font-latin);
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 400;
}

/* اعداد مونو */
.kbk-mono { font-family: var(--kbk-font-mono); font-variant-numeric: tabular-nums; }

/* هایلایت طلایی متن */
.kbk-highlight { color: var(--kbk-gold-deep); }
.kbk-highlight-bg {
  background: linear-gradient(transparent 64%, rgba(196, 160, 82, .32) 64%);
  padding: 0 .15em;
  border-radius: 2px;
}
/* هایلایت روی زمینه تیره */
.kbk-highlight-dark { color: var(--kbk-primary); }

/* جداکننده مجلل — خط با لوزی طلایی وسط */
.kbk-divider { display: flex; align-items: center; gap: .8rem; justify-content: center; color: var(--kbk-primary); }
.kbk-divider::before, .kbk-divider::after { content: ''; height: 1px; width: 72px; background: linear-gradient(90deg, transparent, var(--kbk-line-gold)); }
.kbk-divider::after { background: linear-gradient(90deg, var(--kbk-line-gold), transparent); }
.kbk-divider .diamond { width: 7px; height: 7px; background: var(--kbk-primary); transform: rotate(45deg); }

/* ---------- دکمه‌ها ---------- */
.btn { font-weight: 600; border-radius: var(--kbk-radius-sm); padding: .74rem 1.7rem; transition: all .25s ease; border: none; letter-spacing: 0; }
.btn:focus-visible { outline: 3px solid rgba(196, 160, 82, .45); outline-offset: 2px; }

/* اصلی — طلایی شامپاینی با متن سرمه‌ای */
.btn-kbk-primary {
  background: linear-gradient(135deg, #D2B26A 0%, var(--kbk-primary) 55%, #B08A3C 100%);
  color: var(--kbk-navy);
  box-shadow: var(--kbk-shadow-gold);
  border: 1px solid rgba(176, 138, 60, .6);
}
.btn-kbk-primary:hover, .btn-kbk-primary:focus {
  background: linear-gradient(135deg, #DDC083 0%, #CDAE5F 55%, #B6913F 100%);
  color: var(--kbk-navy);
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(196, 160, 82, .42);
}
.btn-kbk-primary:active { background: var(--kbk-primary-dark) !important; color: var(--kbk-navy) !important; transform: translateY(0); }

/* دوم — سرمه‌ای سازمانی */
.btn-kbk-secondary {
  background: var(--kbk-navy);
  color: #F3EFE6;
  border: 1px solid var(--kbk-navy);
}
.btn-kbk-secondary:hover, .btn-kbk-secondary:focus {
  background: var(--kbk-navy-2);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(10, 22, 38, .28);
}

/* خط‌دار — حاشیه طلایی */
.btn-kbk-outline-gold {
  background: transparent;
  color: var(--kbk-gold-deep);
  border: 1.5px solid var(--kbk-primary);
}
.btn-kbk-outline-gold:hover, .btn-kbk-outline-gold:focus {
  background: var(--kbk-primary);
  color: var(--kbk-navy);
  transform: translateY(-2px);
}

/* خط‌دار روی تیره */
.btn-kbk-ghost-dark { background: rgba(255,255,255,.04); color: #F3EFE6; border: 1px solid rgba(255,255,255,.28); }
.btn-kbk-ghost-dark:hover { background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.5); transform: translateY(-2px); }

/* روح — حاشیه مویی */
.btn-kbk-ghost { background: transparent; color: var(--kbk-ink-soft); border: 1px solid var(--kbk-line); }
.btn-kbk-ghost:hover { border-color: var(--kbk-primary); color: var(--kbk-gold-deep); background: var(--kbk-primary-soft); }

/* سازگاری نام قدیمی */
.btn-kbk-outline { background: transparent; color: var(--kbk-ink); border: 1.5px solid var(--kbk-navy); }
.btn-kbk-outline:hover { background: var(--kbk-navy); color: #fff; }

.btn-lg { padding: .98rem 2.2rem; font-size: 1.05rem; }
.btn-sm { padding: .45rem 1.15rem; font-size: .88rem; }

/* لینک با فلش */
.kbk-link {
  font-weight: 600;
  color: var(--kbk-gold-deep);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  transition: gap .2s ease, color .2s ease;
}
.kbk-link:hover { color: var(--kbk-primary-dark); gap: .75rem; }
.kbk-link .arrow { font-family: var(--kbk-font-mono); }

/* بج حاشیه طلایی */
.kbk-badge {
  display: inline-flex; align-items: center; gap: .5rem;
  border: 1px solid var(--kbk-line-gold);
  color: var(--kbk-gold-deep);
  background: rgba(246, 240, 226, .6);
  border-radius: var(--kbk-radius-pill);
  padding: .3rem 1rem;
  font-size: .82rem; font-weight: 600;
}

/* ---------- هدر: نوار بالا + ناوبری شیشه‌ای ---------- */
.kbk-header { position: fixed; top: 0; right: 0; left: 0; z-index: 1030; }

/* نوار بالا (فقط دسکتاپ) */
.kbk-topbar {
  background: var(--kbk-navy);
  color: rgba(243, 239, 230, .8);
  font-size: .8rem;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  transition: margin-top .3s ease;
}
.kbk-topbar .tb-item { color: rgba(243, 239, 230, .82); text-decoration: none; display: inline-flex; align-items: center; gap: .45rem; padding: .42rem 0; transition: color .2s ease; }
.kbk-topbar .tb-item:hover { color: var(--kbk-primary); }
.kbk-topbar .tb-item svg { color: var(--kbk-primary); }
.kbk-topbar .tb-sep { width: 1px; height: 14px; background: rgba(255, 255, 255, .16); margin: 0 .9rem; }
.kbk-topbar .tb-muted { color: rgba(243, 239, 230, .5); }
.kbk-header.scrolled .kbk-topbar { margin-top: -34px; }

/* ناوبری اصلی — شیشه عاجی */
.kbk-navbar {
  background: rgba(250, 249, 246, .88);
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  backdrop-filter: saturate(180%) blur(18px);
  border-bottom: 1px solid var(--kbk-line);
  transition: box-shadow .3s ease, background .3s ease;
  padding: .85rem 0;
}
.kbk-header.scrolled .kbk-navbar { box-shadow: 0 8px 30px rgba(10, 22, 38, .08); padding: .55rem 0; }

.kbk-brand { display: flex; align-items: center; gap: .7rem; text-decoration: none; }
.kbk-brand-text { display: flex; flex-direction: column; line-height: 1.35; }
.kbk-brand-text .name { font-weight: 900; font-size: 1.12rem; color: var(--kbk-ink); }
.kbk-brand-text .tag { font-family: var(--kbk-font-latin); font-size: .64rem; color: var(--kbk-gold-deep); letter-spacing: .18em; text-transform: uppercase; }

/* لینک‌های منو */
.kbk-navbar .nav-link {
  color: var(--kbk-ink);
  font-weight: 500;
  font-size: .96rem;
  padding: .55rem .9rem !important;
  border-radius: var(--kbk-radius-sm);
  transition: color .2s ease, background .2s ease;
  position: relative;
  display: flex; align-items: center; gap: .35rem;
}
.kbk-navbar .nav-link:hover, .kbk-navbar .nav-link.active { color: var(--kbk-gold-deep); background: var(--kbk-primary-soft); }
.kbk-navbar .nav-link .caret { width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s ease; opacity: .65; }
.dropdown.show > .nav-link .caret { transform: rotate(225deg) translateY(-1px); }
/* رفع فلش دوتایی: کِرِت پیش‌فرض بوت‌استرپ (::after) در ناوبری حذف می‌شود — فقط caret سفارشی می‌ماند */
.kbk-navbar .nav-link.dropdown-toggle::after { content: none !important; display: none !important; }

/* آیکون همبرگر */
.kbk-toggler { border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius-sm); padding: .45rem .7rem; background: var(--kbk-surface); }
.kbk-toggler .bars { display: block; width: 20px; height: 2px; background: var(--kbk-ink); position: relative; transition: all .25s ease; }
.kbk-toggler .bars::before, .kbk-toggler .bars::after { content: ''; position: absolute; right: 0; width: 20px; height: 2px; background: var(--kbk-ink); transition: all .25s ease; }
.kbk-toggler .bars::before { top: -6px; } .kbk-toggler .bars::after { top: 6px; }

/* ---------- مگامنوی خدمات (چندسطحی) ---------- */
.kbk-dd-has-mega, .kbk-dd { position: static; }
@media (min-width: 992px) {
  .kbk-dd-has-mega { position: relative; }
}
.dropdown-menu.kbk-mega, .dropdown-menu.kbk-dropdown {
  border: 1px solid var(--kbk-line);
  border-radius: var(--kbk-radius-lg);
  box-shadow: var(--kbk-shadow-mega);
  padding: 0;
  background: var(--kbk-surface);
}
/* پنل مگا محتوایش را کوتاه می‌کند؛ دراپ‌داون باید زیرمنوی پروازی را نشان دهد */
.dropdown-menu.kbk-mega { overflow: hidden; }
.dropdown-menu.kbk-dropdown { overflow: visible; }
/* پنل مگا — تمام‌عرض زیر هدر */
.kbk-mega { width: min(1080px, calc(100vw - 2rem)); margin-inline: auto; }
.kbk-mega-inner { display: flex; }
/* ستون تب‌ها (سمت راست در RTL) */
.kbk-mega-tabs {
  flex: 0 0 272px;
  background: linear-gradient(180deg, var(--kbk-navy) 0%, var(--kbk-navy-2) 100%);
  padding: 1.1rem .8rem;
  display: flex; flex-direction: column; gap: .35rem;
}
.kbk-mega-tabs .tabs-label { font-size: .72rem; color: rgba(243, 239, 230, .45); padding: .35rem .8rem .5rem; font-weight: 600; }
.kbk-mega-tab {
  display: flex; align-items: center; gap: .8rem;
  width: 100%; text-align: right;
  background: transparent; border: 1px solid transparent;
  border-radius: var(--kbk-radius);
  padding: .7rem .85rem;
  color: rgba(243, 239, 230, .78);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.kbk-mega-tab:hover, .kbk-mega-tab.active { background: rgba(255, 255, 255, .07); border-color: rgba(196, 160, 82, .45); color: #fff; }
.kbk-mega-tab .mt-ic {
  flex: 0 0 40px; width: 40px; height: 40px;
  border-radius: 11px;
  background: rgba(196, 160, 82, .14);
  color: var(--kbk-primary);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem;
  transition: background .2s ease;
}
.kbk-mega-tab:hover .mt-ic, .kbk-mega-tab.active .mt-ic { background: var(--kbk-primary); color: var(--kbk-navy); }
.kbk-mega-tab .mt-txt { display: flex; flex-direction: column; line-height: 1.5; }
.kbk-mega-tab .mt-txt strong { font-size: .93rem; font-weight: 700; }
.kbk-mega-tab .mt-txt small { font-size: .72rem; color: rgba(243, 239, 230, .55); }
/* پنل محتوا */
.kbk-mega-panels { flex: 1; padding: 1.4rem 1.5rem 0; background: var(--kbk-surface); min-width: 0; }
.kbk-mega-panel { display: none; }
.kbk-mega-panel.active { display: block; animation: kbk-mega-fade .25s ease; }
@keyframes kbk-mega-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.kbk-mega-panel .row { --bs-gutter-x: .9rem; }
/* آیتم مگامنو */
.kbk-mega-item {
  display: flex; gap: .8rem; align-items: flex-start;
  padding: .75rem .8rem;
  border-radius: var(--kbk-radius);
  text-decoration: none;
  transition: background .2s ease;
  height: 100%;
}
.kbk-mega-item:hover { background: var(--kbk-primary-soft); }
.kbk-mega-item .mi-ic {
  flex: 0 0 42px; width: 42px; height: 42px;
  border-radius: 11px;
  background: var(--kbk-navy-soft);
  color: var(--kbk-navy-2);
  display: flex; align-items: center; justify-content: center;
  transition: background .2s ease, color .2s ease;
}
.kbk-mega-item:hover .mi-ic { background: var(--kbk-primary); color: var(--kbk-navy); }
.kbk-mega-item .mi-txt { display: flex; flex-direction: column; line-height: 1.6; min-width: 0; }
.kbk-mega-item .mi-txt strong { font-size: .92rem; font-weight: 700; color: var(--kbk-ink); }
.kbk-mega-item .mi-txt small { font-size: .78rem; color: var(--kbk-ink-soft); }
/* نوار پایین مگا */
.kbk-mega-foot {
  margin: .6rem -1.5rem 0;
  padding: .85rem 1.6rem;
  border-top: 1px solid var(--kbk-line);
  background: var(--kbk-bg);
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  font-size: .87rem;
}
.kbk-mega-foot .mf-note { color: var(--kbk-ink-soft); }
.kbk-mega-foot a { color: var(--kbk-gold-deep); font-weight: 700; text-decoration: none; white-space: nowrap; }
.kbk-mega-foot a:hover { color: var(--kbk-primary-dark); }

/* ---------- دراپ‌داون استاندارد + زیرمنو (چندسطحی) ---------- */
.dropdown-menu.kbk-dropdown { padding: .55rem; min-width: 250px; }
.kbk-dropdown .dropdown-item {
  border-radius: var(--kbk-radius-sm);
  padding: .58rem .9rem;
  font-size: .92rem;
  font-weight: 500;
  color: var(--kbk-ink);
  display: flex; align-items: center; gap: .6rem;
  transition: background .18s ease, color .18s ease, padding .18s ease;
}
.kbk-dropdown .dropdown-item:hover, .kbk-dropdown .dropdown-item:focus { background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); }
.kbk-dropdown .dropdown-item .di-ic { color: var(--kbk-primary); flex: 0 0 18px; display: inline-flex; justify-content: center; }
.kbk-dropdown .dropdown-divider { border-color: var(--kbk-line); margin: .45rem .5rem; opacity: 1; }
.kbk-dropdown .drop-label { font-size: .72rem; font-weight: 700; color: var(--kbk-muted); padding: .5rem .9rem .3rem; }
/* زیرمنوی پروازی سطح دوم */
@media (min-width: 992px) {
  .kbk-dd, .dropdown-submenu { position: relative; }
  .dropdown-submenu > .kbk-flyout {
    position: absolute; top: -.6rem; right: 100%;
    margin-top: 0; margin-right: 6px;
    display: none;
  }
  .dropdown-submenu:hover > .kbk-flyout,
  .dropdown-submenu:focus-within > .kbk-flyout { display: block; animation: kbk-mega-fade .2s ease; }
  .dropdown-submenu > a::after .chev { }
  .dropdown-submenu > a .chev { margin-inline-start: auto; font-family: var(--kbk-font-mono); color: var(--kbk-primary); font-size: .8rem; }
}
/* انیمیشن ورود منو */
@media (min-width: 992px) {
  .kbk-dd .dropdown-menu, .kbk-dd-has-mega .dropdown-menu { display: none; }
  .kbk-dd.open, .kbk-dd-has-mega.open { }
  .kbk-dd.open > .dropdown-menu, .kbk-dd-has-mega.open > .dropdown-menu { display: block; animation: kbk-mega-drop .22s ease; }
  .kbk-dd.show > .dropdown-menu, .kbk-dd-has-mega.show > .dropdown-menu { display: block; }
}
@keyframes kbk-mega-drop { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* ---------- منوی موبایل Offcanvas ---------- */
.kbk-offcanvas { background: var(--kbk-bg); max-width: 340px; }
.kbk-offcanvas .offcanvas-header { border-bottom: 1px solid var(--kbk-line); background: var(--kbk-surface); }
.kbk-offcanvas .mnav-link {
  display: flex; align-items: center; justify-content: space-between;
  color: var(--kbk-ink); font-weight: 600; font-size: .98rem;
  padding: .85rem 1rem; border-radius: var(--kbk-radius-sm);
  text-decoration: none; border: 1px solid transparent;
}
.kbk-offcanvas .mnav-link:hover { color: var(--kbk-gold-deep); background: var(--kbk-primary-soft); }
.kbk-offcanvas .mnav-group { border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius); background: var(--kbk-surface); margin-bottom: .6rem; overflow: hidden; }
.kbk-offcanvas .mnav-head { display: flex; align-items: stretch; justify-content: space-between; border-bottom: 1px solid transparent; }
.kbk-offcanvas .mnav-head:has(+ .mnav-sub.show) { border-bottom-color: var(--kbk-line); }
.kbk-offcanvas .mnav-head .mnav-link { flex: 1; }
.kbk-offcanvas .mnav-head .chev {
  flex: 0 0 52px;
  display: flex; align-items: center; justify-content: center;
  background: transparent; border: none; border-inline-start: 1px solid var(--kbk-line);
  color: var(--kbk-primary); font-size: 1.15rem; font-family: var(--kbk-font-mono);
  cursor: pointer; transition: background .2s ease, transform .25s ease;
}
.kbk-offcanvas .mnav-head .chev:hover { background: var(--kbk-primary-soft); }
.kbk-offcanvas .mnav-head .chev[aria-expanded="true"] { transform: rotate(-90deg); background: var(--kbk-primary-soft); }
.kbk-offcanvas .mnav-sub { border-top: 1px solid var(--kbk-line); padding: .5rem .6rem .7rem; background: var(--kbk-bg); }
.kbk-offcanvas .mnav-sub .mnav-sub-label { font-size: .74rem; font-weight: 700; color: var(--kbk-muted); padding: .4rem .7rem .2rem; }
.kbk-offcanvas .mnav-sub .mnav-group { border-color: var(--kbk-line); }
.kbk-offcanvas .mnav-sub a { display: flex; align-items: center; gap: .6rem; color: var(--kbk-ink-soft); text-decoration: none; font-size: .9rem; padding: .5rem .7rem; border-radius: 8px; transition: background .18s ease, color .18s ease; }
.kbk-offcanvas .mnav-sub a:hover { background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); }
.kbk-offcanvas .mnav-sub a .dot { width: 4px; height: 4px; border-radius: 50%; background: var(--kbk-primary); flex: 0 0 4px; }
.kbk-offcanvas .chev { font-family: var(--kbk-font-mono); color: var(--kbk-primary); transition: transform .2s ease; }
.kbk-offcanvas .chev[aria-expanded="true"] { transform: rotate(90deg); }
.kbk-offcanvas .btn-close { margin-inline-start: 0; margin-inline-end: auto; }

/* ---------- هیرو لاکچری (تمام‌عرض سرمه‌ای) ---------- */
.kbk-hero {
  position: relative;
  background:
    radial-gradient(900px 420px at 12% -10%, rgba(196, 160, 82, .16) 0%, transparent 60%),
    radial-gradient(700px 380px at 88% 8%, rgba(22, 50, 74, .55) 0%, transparent 65%),
    linear-gradient(160deg, #0A1626 0%, #0D1D33 52%, #102743 100%);
  color: #F3EFE6;
  overflow: hidden;
}
/* بافت «خط به خط» — خطوط افقی ظریف */
.kbk-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: repeating-linear-gradient(0deg, transparent 0 47px, rgba(255, 255, 255, .035) 47px 48px);
  pointer-events: none;
}
.kbk-hero::after {
  content: '';
  position: absolute; bottom: -1px; right: 0; left: 0; height: 90px;
  background: linear-gradient(180deg, transparent, rgba(250, 249, 246, 1));
  pointer-events: none;
}
.kbk-hero .container-xxl { position: relative; z-index: 2; }
.kbk-hero h1, .kbk-hero h2 { color: #fff; }
.kbk-hero .kbk-lead { color: rgba(243, 239, 230, .78); }
.kbk-hero .kbk-eyebrow { color: var(--kbk-primary); }
.kbk-hero .kbk-eyebrow::before { background: linear-gradient(90deg, var(--kbk-primary), transparent); }
/* ابرلیبل لاتین روی تیره */
.kbk-hero .kbk-hero-en { color: rgba(196, 160, 82, .8); font-size: .72rem; }

/* پنل نمایش سازمانی (جایگزین ترمینال) */
.kbk-panel {
  background: linear-gradient(165deg, rgba(16, 39, 67, .92), rgba(10, 22, 38, .94));
  border: 1px solid rgba(196, 160, 82, .28);
  border-radius: var(--kbk-radius-lg);
  box-shadow: 0 30px 70px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .07);
  overflow: hidden;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.kbk-panel-head {
  display: flex; align-items: center; gap: .55rem;
  padding: .9rem 1.2rem;
  background: rgba(255, 255, 255, .04);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.kbk-panel-head .dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.14); }
.kbk-panel-head .dot.gold { background: var(--kbk-primary); }
.kbk-panel-head .title { font-size: .82rem; color: rgba(243, 239, 230, .66); margin-inline-start: .4rem; font-weight: 500; }
.kbk-panel-body { padding: 1.4rem 1.3rem; }
/* کاشی KPI داخل پنل */
.kbk-panel-tile {
  background: rgba(255, 255, 255, .045);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: var(--kbk-radius);
  padding: .9rem 1rem;
  transition: background .2s ease, border-color .2s ease;
}
.kbk-panel-tile:hover { background: rgba(255, 255, 255, .075); border-color: rgba(196, 160, 82, .4); }
.kbk-panel-tile .pt-label { font-size: .76rem; color: rgba(243, 239, 230, .6); margin-bottom: .25rem; }
.kbk-panel-tile .pt-value { font-size: 1.35rem; font-weight: 800; color: #fff; }
.kbk-panel-tile .pt-value .up { color: #7FCFA4; font-size: .78rem; font-weight: 600; margin-inline-start: .35rem; }
/* نمودار میله‌ای طلایی */
.kbk-bars { display: flex; align-items: flex-end; gap: .55rem; height: 84px; padding: .2rem .1rem 0; }
.kbk-bars .bar { flex: 1; border-radius: 6px 6px 2px 2px; background: linear-gradient(180deg, rgba(196, 160, 82, .95), rgba(196, 160, 82, .25)); min-height: 12%; }
.kbk-bars .bar.dim { background: linear-gradient(180deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .05)); }
/* ردیف ماژول‌ها */
.kbk-panel-row {
  display: flex; align-items: center; gap: .65rem;
  padding: .58rem .75rem;
  border-radius: 10px;
  font-size: .86rem;
  color: rgba(243, 239, 230, .85);
  transition: background .18s ease;
}
.kbk-panel-row:hover { background: rgba(255, 255, 255, .05); }
.kbk-panel-row .ok { color: var(--kbk-primary); font-weight: 700; }
.kbk-panel-row .dim { margin-inline-start: auto; font-size: .74rem; color: rgba(243, 239, 230, .45); }
/* تایپ‌انیمیشن */
.kbk-typing-line { border-top: 1px dashed rgba(255, 255, 255, .12); margin-top: .9rem; padding-top: .95rem; color: #fff; font-weight: 600; font-size: 1rem; }
.kbk-cursor { display: inline-block; width: 9px; height: 1.15em; background: var(--kbk-primary); vertical-align: text-bottom; margin-inline-start: 4px; animation: kbk-blink 1s steps(1) infinite; }
@keyframes kbk-blink { 50% { opacity: 0; } }

/* ترمینال کد (سازگاری نسخه قبل — صفحات داخلی) */
.kbk-terminal {
  background: linear-gradient(165deg, rgba(16, 39, 67, .95), rgba(10, 22, 38, .97));
  border: 1px solid rgba(196, 160, 82, .28);
  border-radius: var(--kbk-radius-lg);
  box-shadow: var(--kbk-shadow-hover);
  overflow: hidden;
  direction: ltr;
}
.kbk-terminal-head { display: flex; align-items: center; gap: .5rem; padding: .8rem 1.1rem; background: rgba(255, 255, 255, .05); border-bottom: 1px solid rgba(255, 255, 255, .07); }
.kbk-terminal-head .dot { width: 11px; height: 11px; border-radius: 50%; }
.kbk-terminal-head .dot:nth-child(1) { background: #E8B4B0; }
.kbk-terminal-head .dot:nth-child(2) { background: var(--kbk-primary); }
.kbk-terminal-head .dot:nth-child(3) { background: #7FCFA4; }
.kbk-terminal-head .title { font-family: var(--kbk-font-mono); font-size: .75rem; color: rgba(243, 239, 230, .55); margin-inline-start: .5rem; }
.kbk-terminal-body { padding: 1.6rem 1.4rem; font-family: var(--kbk-font-mono); font-size: .92rem; line-height: 2.15; color: #E8E3D6; min-height: 300px; }
.kbk-terminal-body .cmd { color: var(--kbk-primary); }
.kbk-terminal-body .kw { color: #E8C983; }
.kbk-terminal-body .cm { color: rgba(243, 239, 230, .38); }

/* ---------- هیرو داخلی صفحات ---------- */
.kbk-hero-sm {
  position: relative;
  background:
    radial-gradient(700px 320px at 85% -20%, rgba(196, 160, 82, .14) 0%, transparent 60%),
    linear-gradient(160deg, #0A1626 0%, #0D1D33 55%, #102743 100%);
  color: #F3EFE6;
  padding: 9.5rem 0 4.5rem;
  overflow: hidden;
}
.kbk-hero-sm::before {
  content: '';
  position: absolute; inset: 0;
  background: repeating-linear-gradient(0deg, transparent 0 47px, rgba(255, 255, 255, .03) 47px 48px);
  pointer-events: none;
}
.kbk-hero-sm h1 { color: #fff; font-weight: 900; font-size: clamp(1.7rem, 3.4vw, 2.7rem); }
.kbk-hero-sm .kbk-lead { color: rgba(243, 239, 230, .75); }
.kbk-hero-sm .kbk-eyebrow { color: var(--kbk-primary); }
/* بردکرامب روی تیره */
.kbk-breadcrumb { --bs-breadcrumb-divider-color: rgba(243, 239, 230, .4); font-size: .84rem; }
.kbk-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: var(--kbk-primary); }
.kbk-breadcrumb a { color: rgba(243, 239, 230, .72); text-decoration: none; }
.kbk-breadcrumb a:hover { color: var(--kbk-primary); }
.kbk-breadcrumb .active { color: var(--kbk-primary); }

/* نوار اعتماد */
.kbk-trustbar {
  background: var(--kbk-surface);
  border: 1px solid var(--kbk-line);
  border-radius: var(--kbk-radius-lg);
  box-shadow: 0 24px 60px rgba(10, 22, 38, .14);
  position: relative;
}
.kbk-stat { text-align: center; padding: 1.6rem 1rem; position: relative; }
.kbk-stat + .kbk-stat::before { content: ''; position: absolute; inset-inline-start: 0; top: 24%; bottom: 24%; width: 1px; background: linear-gradient(180deg, transparent, var(--kbk-line-gold), transparent); }
.kbk-stat .num { font-weight: 900; font-size: clamp(1.7rem, 3vw, 2.4rem); color: var(--kbk-ink); line-height: 1.3; }
.kbk-stat .num .suffix { color: var(--kbk-gold-deep); }
.kbk-stat .label { font-size: .86rem; color: var(--kbk-ink-soft); margin-top: .25rem; }
/* نوار اعتماد روی زمینه تیره */
.kbk-trustbar-dark { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .1); box-shadow: none; }
.kbk-trustbar-dark .kbk-stat .num { color: #fff; }
.kbk-trustbar-dark .kbk-stat .label { color: rgba(243, 239, 230, .65); }

/* ---------- سکشن‌ها ---------- */
.kbk-section { padding: var(--kbk-section-py) 0; }
.kbk-section-sm { padding: var(--kbk-section-py-sm) 0; }
.kbk-section-surface { background: var(--kbk-surface); border-block: 1px solid var(--kbk-line); }
.kbk-section-dark {
  background:
    radial-gradient(800px 400px at 90% 0%, rgba(196, 160, 82, .1) 0%, transparent 55%),
    linear-gradient(160deg, #0A1626 0%, #0D1D33 60%, #102743 100%);
  color: #E9E5DA;
  position: relative;
  overflow: hidden;
}
.kbk-section-dark::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 47px, rgba(255,255,255,.028) 47px 48px); pointer-events: none; }
.kbk-section-dark > .container-xxl, .kbk-section-dark > .container { position: relative; z-index: 1; }
.kbk-section-dark h2, .kbk-section-dark h3, .kbk-section-dark h4 { color: #fff; }
.kbk-section-dark .kbk-lead, .kbk-section-dark p { color: rgba(233, 229, 218, .76); }

/* ---------- کارت‌ها ---------- */
.kbk-card {
  background: var(--kbk-surface);
  border: 1px solid var(--kbk-line);
  border-radius: var(--kbk-radius-lg);
  padding: 2rem;
  height: 100%;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  position: relative;
  overflow: hidden;
}
.kbk-card::before {
  content: '';
  position: absolute; top: 0; right: 0; left: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--kbk-primary), transparent);
  opacity: 0;
  transition: opacity .3s ease;
}
.kbk-card:hover { transform: translateY(-6px); box-shadow: var(--kbk-shadow-hover); border-color: var(--kbk-line-gold); }
.kbk-card:hover::before { opacity: 1; }

.kbk-card .icon-wrap {
  width: 58px; height: 58px;
  border-radius: 15px;
  background: var(--kbk-navy-soft);
  color: var(--kbk-navy-2);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.55rem;
  margin-bottom: 1.2rem;
  transition: background .25s ease, color .25s ease, transform .25s ease;
  border: 1px solid rgba(16, 39, 67, .07);
}
.kbk-card:hover .icon-wrap { background: linear-gradient(135deg, #D2B26A, var(--kbk-primary)); color: var(--kbk-navy); transform: rotate(-4deg) scale(1.05); border-color: transparent; }

/* شماره لاکچری کارت (۰۱، ۰۲…) */
.kbk-card .card-num {
  position: absolute; top: 1.15rem; left: 1.4rem;
  font-family: var(--kbk-font-latin);
  font-size: 2rem;
  color: var(--kbk-primary);
  opacity: .28;
  line-height: 1;
}
.kbk-card .tagline { font-size: .92rem; font-weight: 600; color: var(--kbk-gold-deep); margin-bottom: .5rem; }
.kbk-card p { color: var(--kbk-ink-soft); font-size: .95rem; }

/* کارت تیره (سکشن‌های سرمه‌ای) */
.kbk-card-dark {
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: var(--kbk-radius);
  padding: 1.3rem 1.5rem;
  color: #E9E5DA;
  transition: background .25s ease, transform .25s ease, border-color .25s ease;
}
.kbk-card-dark:hover { background: rgba(255, 255, 255, .085); border-color: rgba(196, 160, 82, .4); transform: translateY(-3px); }

/* ---------- جدول مقایسه ---------- */
.kbk-compare { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--kbk-surface); border-radius: var(--kbk-radius-lg); overflow: hidden; box-shadow: var(--kbk-shadow-subtle); border: 1px solid var(--kbk-line); }
.kbk-compare th, .kbk-compare td { padding: 1.1rem 1.4rem; border-bottom: 1px solid var(--kbk-line); vertical-align: top; text-align: right; font-size: .95rem; }
.kbk-compare thead th { background: var(--kbk-navy); color: #F3EFE6; font-weight: 700; font-size: .95rem; }
.kbk-compare thead th:first-child { border-inline-end: 1px solid rgba(255, 255, 255, .12); }
.kbk-compare tbody tr:last-child td { border-bottom: none; }
.kbk-compare tbody tr { transition: background .2s ease; }
.kbk-compare tbody tr:hover { background: rgba(246, 240, 226, .55); }
.kbk-compare .problem { color: var(--kbk-ink-soft); }
.kbk-compare .answer { font-weight: 600; color: var(--kbk-ink); border-inline-start: 1px solid var(--kbk-line); }
.kbk-compare .answer::before { content: '✓ '; color: var(--kbk-success); font-weight: 700; }
.kbk-compare .problem::before { content: '✕ '; color: var(--kbk-muted); font-weight: 700; }

/* گارانتی‌ها */
.kbk-guarantee { display: flex; gap: .9rem; align-items: flex-start; padding: 1.15rem; background: var(--kbk-surface); border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius); height: 100%; transition: border-color .25s ease, box-shadow .25s ease; }
.kbk-guarantee:hover { border-color: var(--kbk-line-gold); box-shadow: var(--kbk-shadow-subtle); }
.kbk-guarantee .g-icon { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 13px; background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; font-weight: 800; border: 1px solid var(--kbk-line-gold); }
.kbk-guarantee h4 { font-size: 1rem; font-weight: 700; margin-bottom: .25rem; }
.kbk-guarantee p { font-size: .88rem; color: var(--kbk-ink-soft); margin: 0; }

/* ---------- کیس‌استادی ---------- */
.kbk-case {
  background: var(--kbk-surface);
  border: 1px solid var(--kbk-line);
  border-radius: var(--kbk-radius-lg);
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease;
  height: 100%;
  display: flex; flex-direction: column;
}
.kbk-case:hover { transform: translateY(-6px); box-shadow: var(--kbk-shadow-hover); }
.kbk-case .case-visual { height: 170px; position: relative; display: flex; align-items: center; justify-content: center; background: linear-gradient(160deg, var(--kbk-navy) 0%, var(--kbk-navy-2) 100%); }
.kbk-case .case-kpi { font-weight: 800; font-size: clamp(1.6rem, 2.4vw, 2rem); color: #fff; text-align: center; }
.kbk-case .case-kpi .n { color: var(--kbk-primary); }
.kbk-case .case-kpi small { display: block; font-size: .78rem; font-weight: 400; color: rgba(243, 239, 230, .8); margin-top: .3rem; }
.kbk-case .case-body { padding: 1.5rem; flex: 1; display: flex; flex-direction: column; }
.kbk-case .case-industry { font-size: .74rem; font-weight: 600; color: var(--kbk-gold-deep); background: var(--kbk-primary-soft); border: 1px solid var(--kbk-line-gold); border-radius: var(--kbk-radius-pill); padding: .22rem .85rem; align-self: flex-start; margin-bottom: .8rem; }
.kbk-case h3 { font-size: 1.08rem; }
.kbk-case p { font-size: .92rem; color: var(--kbk-ink-soft); flex: 1; }

/* ---------- تایم‌لاین فرایند ---------- */
.kbk-timeline { position: relative; }
.kbk-timeline::before {
  content: '';
  position: absolute;
  top: 34px; right: 34px; left: 34px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--kbk-line-gold), var(--kbk-line-gold), transparent);
}
.kbk-step { text-align: center; position: relative; padding: 0 .5rem; }
.kbk-step .step-num {
  width: 68px; height: 68px;
  margin: 0 auto 1rem;
  border-radius: 50%;
  background: var(--kbk-surface);
  border: 1px solid var(--kbk-line-gold);
  color: var(--kbk-gold-deep);
  font-weight: 800;
  font-size: 1.3rem;
  display: flex; align-items: center; justify-content: center;
  position: relative;
  z-index: 1;
  box-shadow: 0 0 0 6px var(--kbk-bg), 0 6px 18px rgba(196, 160, 82, .18);
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
.kbk-step:hover .step-num { background: linear-gradient(135deg, #D2B26A, var(--kbk-primary)); color: var(--kbk-navy); border-color: transparent; transform: scale(1.08); }
/* حالت روی زمینه تیره */
.kbk-section-dark .kbk-step .step-num { background: var(--kbk-navy-2); box-shadow: 0 0 0 6px var(--kbk-navy-2), 0 6px 18px rgba(0, 0, 0, .3); }
.kbk-section-dark .kbk-step:hover .step-num { background: linear-gradient(135deg, #D2B26A, var(--kbk-primary)); color: var(--kbk-navy); }
.kbk-step h4 { font-size: 1rem; font-weight: 700; margin-bottom: .4rem; }
.kbk-step p { font-size: .85rem; color: var(--kbk-ink-soft); }
.kbk-section-dark .kbk-step p { color: rgba(233, 229, 218, .7); }
.kbk-step .step-en { font-family: var(--kbk-font-latin); font-size: .68rem; color: var(--kbk-muted); letter-spacing: .12em; text-transform: uppercase; }

/* ---------- تستیمونیال ---------- */
.kbk-quote {
  background: var(--kbk-surface);
  border: 1px solid var(--kbk-line);
  border-radius: var(--kbk-radius-lg);
  padding: 2rem;
  height: 100%;
  position: relative;
}
.kbk-quote::before {
  content: '«';
  position: absolute;
  top: 1rem; left: 1.5rem;
  font-size: 4.5rem;
  line-height: 1;
  color: var(--kbk-primary-soft);
  font-weight: 900;
}
.kbk-quote p { font-size: 1rem; position: relative; z-index: 1; color: var(--kbk-ink-soft); }
.kbk-quote .who { display: flex; align-items: center; gap: .8rem; margin-top: 1.2rem; }
.kbk-quote .avatar { width: 46px; height: 46px; border-radius: 50%; background: var(--kbk-navy); color: var(--kbk-primary); display: flex; align-items: center; justify-content: center; font-weight: 800; border: 1px solid var(--kbk-line-gold); }
.kbk-quote .who .name { font-weight: 700; font-size: .95rem; color: var(--kbk-ink); }
.kbk-quote .who .role { font-size: .8rem; color: var(--kbk-muted); }

/* ---------- صنایع ---------- */
.kbk-industry {
  display: flex; align-items: center; gap: 1rem;
  background: var(--kbk-surface);
  border: 1px solid var(--kbk-line);
  border-radius: var(--kbk-radius);
  padding: 1.15rem 1.3rem;
  text-decoration: none;
  color: var(--kbk-ink);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  height: 100%;
}
.kbk-industry:hover { transform: translateY(-4px); box-shadow: var(--kbk-shadow-subtle); border-color: var(--kbk-line-gold); color: var(--kbk-ink); }
.kbk-industry .i-icon { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 13px; background: var(--kbk-navy-soft); color: var(--kbk-navy-2); display: flex; align-items: center; justify-content: center; font-size: 1.3rem; transition: background .22s ease, color .22s ease; }
.kbk-industry:hover .i-icon { background: var(--kbk-primary); color: var(--kbk-navy); }
.kbk-industry .i-title { font-weight: 700; font-size: .98rem; }
.kbk-industry .i-desc { font-size: .82rem; color: var(--kbk-ink-soft); }

/* ---------- مقالات ---------- */
.kbk-post {
  background: var(--kbk-surface);
  border: 1px solid var(--kbk-line);
  border-radius: var(--kbk-radius-lg);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  height: 100%;
  text-decoration: none;
  color: var(--kbk-ink);
  display: flex; flex-direction: column;
}
.kbk-post:hover { transform: translateY(-5px); box-shadow: var(--kbk-shadow-hover); color: var(--kbk-ink); border-color: var(--kbk-line-gold); }
.kbk-post .post-cover { height: 155px; position: relative; display: flex; align-items: flex-end; padding: 1rem; background: linear-gradient(160deg, var(--kbk-navy) 0%, var(--kbk-navy-3) 100%); }
.kbk-post .post-cat { font-size: .72rem; font-weight: 600; background: rgba(255, 255, 255, .94); color: var(--kbk-gold-deep); border: 1px solid var(--kbk-line-gold); padding: .25rem .85rem; border-radius: var(--kbk-radius-pill); }
.kbk-post .post-body { padding: 1.3rem 1.4rem 1.5rem; flex: 1; display: flex; flex-direction: column; }
.kbk-post h3 { font-size: 1.02rem; line-height: 1.75; flex: 1; }
.kbk-post .post-meta { font-size: .78rem; color: var(--kbk-muted); margin-top: .8rem; display: flex; gap: 1rem; }

/* ---------- FAQ (آکاردئون) ---------- */
.kbk-accordion .accordion-item { border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius) !important; margin-bottom: .8rem; overflow: hidden; background: var(--kbk-surface); }
.kbk-accordion .accordion-button { font-weight: 700; font-size: 1rem; padding: 1.15rem 1.4rem; color: var(--kbk-ink); background: var(--kbk-surface); box-shadow: none; }
.kbk-accordion .accordion-button:not(.collapsed) { background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); }
.kbk-accordion .accordion-button:focus { box-shadow: none; border-color: var(--kbk-line-gold); }
.kbk-accordion .accordion-button::after { margin-right: auto; margin-left: 0; background-size: 1.1rem; }
.kbk-accordion .accordion-body { color: var(--kbk-ink-soft); font-size: .95rem; padding: 1rem 1.4rem 1.3rem; }
/* آکاردئون روی تیره */
.kbk-accordion-dark .accordion-item { background: rgba(255, 255, 255, .045); border-color: rgba(255, 255, 255, .1); }
.kbk-accordion-dark .accordion-button { background: transparent; color: #F3EFE6; }
.kbk-accordion-dark .accordion-button:not(.collapsed) { background: rgba(196, 160, 82, .14); color: var(--kbk-primary); }
.kbk-accordion-dark .accordion-body { color: rgba(233, 229, 218, .78); }
.kbk-accordion-dark .accordion-button::after { filter: invert(1) sepia(1) saturate(2) hue-rotate(5deg); opacity: .8; }

/* ---------- فرم ---------- */
.kbk-form .form-label { font-weight: 600; font-size: .92rem; margin-bottom: .4rem; color: var(--kbk-ink); }
.kbk-form .form-control, .kbk-form .form-select {
  border: 1.5px solid var(--kbk-line);
  border-radius: var(--kbk-radius-sm);
  padding: .82rem 1.1rem;
  font-size: .95rem;
  background: var(--kbk-surface);
  color: var(--kbk-ink);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.kbk-form .form-control:focus { border-color: var(--kbk-primary); box-shadow: 0 0 0 4px rgba(196, 160, 82, .16); }
.kbk-form .form-control::placeholder { color: #B0ABA0; }
.form-hint { font-size: .82rem; color: var(--kbk-muted); }

/* پیشنهادهای سریع فرم (چیپ) */
.kbk-chip {
  font-size: .82rem; font-weight: 500;
  border: 1px solid var(--kbk-line); background: var(--kbk-surface);
  color: var(--kbk-ink-soft);
  border-radius: var(--kbk-radius-pill);
  padding: .35rem .95rem;
  cursor: pointer;
  transition: all .2s ease;
}
.kbk-chip:hover, .kbk-chip.active { border-color: var(--kbk-primary); background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); }

/* ---------- CTA نهایی — پنل سرمه‌ای با قاب طلایی ---------- */
.kbk-cta-panel {
  background:
    radial-gradient(600px 300px at 85% 0%, rgba(196, 160, 82, .16) 0%, transparent 60%),
    linear-gradient(160deg, #0A1626 0%, #102743 100%);
  border: 1px solid rgba(196, 160, 82, .4);
  border-radius: var(--kbk-radius-lg);
  position: relative;
  overflow: hidden;
  color: #F3EFE6;
  box-shadow: 0 30px 70px rgba(10, 22, 38, .25);
}
.kbk-cta-panel::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 47px, rgba(255,255,255,.03) 47px 48px); pointer-events: none; }
.kbk-cta-panel::after { content: ''; position: absolute; top: 0; right: 0; left: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--kbk-primary), transparent); }
.kbk-cta-panel > .container, .kbk-cta-panel > * { position: relative; z-index: 1; }
.kbk-cta-panel h2, .kbk-cta-panel h3 { color: #fff; }
.kbk-cta-panel p { color: rgba(243, 239, 230, .78); }
/* فرم داخل پنل تیره */
.kbk-cta-panel .form-label { color: #F3EFE6; }
.kbk-cta-panel .form-hint { color: rgba(243, 239, 230, .55); }
.kbk-cta-panel .invalid-feedback { color: #F0B9B2; }
.kbk-cta-panel .form-control {
  background: rgba(255, 255, 255, .07);
  border-color: rgba(255, 255, 255, .2);
  color: #fff;
}
.kbk-cta-panel .form-control::placeholder { color: rgba(243, 239, 230, .38); }
.kbk-cta-panel .form-control:focus { background: rgba(255, 255, 255, .1); }
.kbk-cta-panel .kbk-chip { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .16); color: rgba(243, 239, 230, .8); }
.kbk-cta-panel .kbk-chip:hover, .kbk-cta-panel .kbk-chip.active { border-color: var(--kbk-primary); background: rgba(196, 160, 82, .16); color: #E8C983; }
/* نسخه روشن (سازگاری) */
.kbk-cta-panel-light {
  background: var(--kbk-primary-soft);
  border: 1px solid var(--kbk-line-gold);
  border-radius: var(--kbk-radius-lg);
  position: relative;
  overflow: hidden;
}
.kbk-cta-panel-light::after { content: ''; position: absolute; top: 0; right: 0; left: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--kbk-primary), transparent); }

/* ---------- فوتر ---------- */
.kbk-footer {
  background: linear-gradient(180deg, #081220 0%, #0A1626 100%);
  color: rgba(233, 229, 218, .72);
  margin-top: auto;
  border-top: 1px solid rgba(196, 160, 82, .22);
  position: relative;
}
.kbk-footer::before { content: ''; position: absolute; top: 0; right: 0; left: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--kbk-primary), transparent); opacity: .6; }
.kbk-footer h6 { color: #fff; font-weight: 700; margin-bottom: 1.1rem; font-size: .95rem; }
.kbk-footer .f-links { list-style: none; padding: 0; margin: 0; }
.kbk-footer .f-links li { margin-bottom: .55rem; }
.kbk-footer .f-links a { color: rgba(233, 229, 218, .62); text-decoration: none; font-size: .9rem; transition: color .2s ease, padding .2s ease; display: inline-flex; align-items: center; gap: .45rem; }
.kbk-footer .f-links a::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--kbk-primary); opacity: 0; transition: opacity .2s ease; }
.kbk-footer .f-links a:hover { color: var(--kbk-primary); padding-inline-start: .25rem; }
.kbk-footer .f-links a:hover::before { opacity: 1; }
.kbk-footer .f-desc { font-size: .9rem; line-height: 2; }
.kbk-footer .f-slogan { color: var(--kbk-primary); font-size: .95rem; margin-top: .8rem; font-weight: 600; }
.kbk-footer .f-contact li { display: flex; gap: .6rem; align-items: flex-start; font-size: .9rem; margin-bottom: .6rem; }
.kbk-footer .f-contact .ic { color: var(--kbk-primary); font-style: normal; flex: 0 0 18px; text-align: center; }
.kbk-footer .newsletter .form-control { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); color: #fff; }
.kbk-footer .newsletter .form-control::placeholder { color: rgba(233, 229, 218, .4); }
.kbk-footer .newsletter .form-control:focus { border-color: var(--kbk-primary); box-shadow: 0 0 0 4px rgba(196, 160, 82, .18); background: rgba(255, 255, 255, .09); }
.kbk-footer .socials a {
  width: 40px; height: 40px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .06); color: rgba(233, 229, 218, .8);
  border: 1px solid rgba(255, 255, 255, .09);
  text-decoration: none; font-size: 1rem;
  transition: background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}
.kbk-footer .socials a:hover { background: var(--kbk-primary); color: var(--kbk-navy); border-color: transparent; transform: translateY(-3px); }
.kbk-footer .f-bottom { border-top: 1px solid rgba(255, 255, 255, .08); font-size: .84rem; color: rgba(233, 229, 218, .5); }
.kbk-footer .f-bottom .gold { color: var(--kbk-primary); }
.kbk-footer .f-bottom .latin { font-family: var(--kbk-font-latin); letter-spacing: .14em; }
/* نوار برند فوتر */
.kbk-footer .f-brandline { display: flex; align-items: center; gap: .7rem; margin-bottom: 1rem; }

/* ---------- CTA شناور موبایل ---------- */
.kbk-float-cta {
  position: fixed;
  bottom: 0; right: 0; left: 0;
  z-index: 1040;
  padding: .7rem 1rem calc(.7rem + env(safe-area-inset-bottom));
  background: rgba(250, 249, 246, .96);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-top: 1px solid var(--kbk-line);
  transform: translateY(110%);
  transition: transform .3s ease;
}
.kbk-float-cta.show { transform: translateY(0); }
@media (min-width: 992px) { .kbk-float-cta { display: none; } }

/* ---------- آنیمیشن ورود اسکرول ---------- */
.kbk-reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.kbk-reveal.in-view { opacity: 1; transform: none; }
.kbk-reveal.d1 { transition-delay: .1s; } .kbk-reveal.d2 { transition-delay: .2s; }
.kbk-reveal.d3 { transition-delay: .3s; } .kbk-reveal.d4 { transition-delay: .4s; }

@media (prefers-reduced-motion: reduce) {
  .kbk-reveal { opacity: 1; transform: none; transition: none; }
  .kbk-cursor { animation: none; }
  html { scroll-behavior: auto; }
  .kbk-mega-panel.active { animation: none; }
}

/* ---------- ریسپانسیو ---------- */
@media (max-width: 991.98px) {
  :root { --kbk-section-py: 4rem; }
  .kbk-timeline::before { display: none; }
  .kbk-timeline { display: grid; gap: 1rem; }
  .kbk-step { display: flex; text-align: right; gap: 1rem; align-items: flex-start; }
  .kbk-step .step-num { margin: 0; flex: 0 0 54px; width: 54px; height: 54px; font-size: 1.1rem; box-shadow: 0 0 0 4px var(--kbk-bg); }
  .kbk-section-dark .kbk-step .step-num { box-shadow: 0 0 0 4px var(--kbk-navy-2); }
  .kbk-hero-sm { padding: 7.5rem 0 3.5rem; }
}
@media (max-width: 575.98px) {
  :root { --kbk-section-py: 3.25rem; --kbk-section-py-sm: 2.75rem; }
  .kbk-stat + .kbk-stat::before { display: none; }
  .kbk-stat { padding: 1.05rem .5rem; }
  .kbk-card { padding: 1.5rem; }
}

/* ---------- جایگاه تصویر (Image Slot) — فضای بارگزاری عکس ---------- */
/* قاب لوکس آماده برای عکس‌های واقعی مشتری/دفتر/محصول — کافی است داخل figure تصویر قرار گیرد */
.kbk-img-slot {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: .55rem; width: 100%; margin: 0; padding: 1.4rem 1rem; text-align: center; overflow: hidden;
  border-radius: 20px; border: 1px dashed rgba(143, 110, 47, .5);
  background:
    repeating-linear-gradient(-45deg, rgba(196, 160, 82, .06) 0 10px, transparent 10px 22px),
    linear-gradient(160deg, #FBFAF7, #F4EFE3);
  color: var(--kbk-gold-deep);
  box-shadow: var(--kbk-shadow-sm);
}
.kbk-img-slot::after { content: ""; position: absolute; inset: 9px; border: 1px solid rgba(196, 160, 82, .22); border-radius: 14px; pointer-events: none; }
.kbk-img-slot .is-ic {
  width: 48px; height: 48px; border-radius: 50%; flex: 0 0 auto;
  background: rgba(196, 160, 82, .13) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%238F6E2F' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='3'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='M21 15l-4.35-4.35a1.5 1.5 0 0 0-2.12 0L5 20'/%3E%3C/svg%3E") center / 24px no-repeat;
  border: 1px solid rgba(196, 160, 82, .45);
}
.kbk-img-slot .is-label { font-size: .92rem; font-weight: 600; color: #6B5A32; }
.kbk-img-slot .is-size { font-size: .72rem; color: var(--kbk-muted); letter-spacing: .04em; }
.kbk-img-slot-dark {
  border: 1px dashed rgba(196, 160, 82, .55);
  background:
    repeating-linear-gradient(-45deg, rgba(196, 160, 82, .09) 0 10px, transparent 10px 22px),
    linear-gradient(160deg, var(--kbk-navy-2), var(--kbk-navy));
  color: var(--kbk-primary);
  box-shadow: none;
}
.kbk-img-slot-dark::after { border-color: rgba(196, 160, 82, .28); }
.kbk-img-slot-dark .is-ic { background-color: rgba(196, 160, 82, .16); }
.kbk-img-slot-dark .is-label { color: #E9DFC8; }
.kbk-img-slot-dark .is-size { color: rgba(243, 239, 230, .5); }
/* وقتی تصویر واقعی داخل slot گذاشته شد: img با border-radius کامل و کلاس is-real */
.kbk-img-slot.is-real { border-style: solid; border-color: var(--kbk-line); padding: 0; background: none; }
.kbk-img-slot.is-real::after { content: none; }
.kbk-img-slot.is-real img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 20px; }

/* ---------- دسترسی‌پذیری ---------- */
/* لینک پرش — پنهان تا زمانی که فوکوس نگیرد (سازگار با همه صفحات) */
.sr-only-focusable:not(:focus):not(:focus-within) {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;
}
.sr-only-focusable:focus { position: fixed; top: 8px; right: 8px; z-index: 2000; background: #fff; padding: .6rem 1rem; border-radius: 8px; box-shadow: var(--kbk-shadow-hover); }
:focus-visible { outline: 3px solid rgba(196, 160, 82, .5); outline-offset: 2px; border-radius: 4px; }

/* ============================================================
   لایه سازگاری وردپرس — قالب خط به خط
   (مکمل سیستم طراحی؛ استایل‌های مخصوص WP + واکر مگامنو + عناصر قالب)
   ============================================================ */

/* ---------- لوگوی سفارشی وردپرس در برند ---------- */
.kbk-brand .kbk-logo-img { height: 42px; width: auto; max-width: 220px; object-fit: contain; }
.kbk-footer .kbk-logo-img-footer { height: 46px; background: #102743; border-radius: 10px; padding: 4px; }

/* ---------- واکر مگامنو: توضیح منو + زیرلیست + فال‌بک بدون JS ---------- */
.kbk-dropdown .dropdown-item { flex-wrap: wrap; align-items: baseline; }
.kbk-dropdown .dropdown-item .di-txt { flex: 1 1 auto; }
.kbk-dropdown .kbk-menu-desc { flex: 1 0 100%; font-size: .74rem; color: var(--kbk-muted); margin-top: .1rem; }
.kbk-dropdown .dropdown-item:hover .kbk-menu-desc { color: var(--kbk-gold-deep); opacity: .8; }

/* گروه ساده داخل مگا (آیتم سطح ۲ بدون کلاس kbk-mega-col) */
.kbk-mega-plain { padding: .3rem .8rem; }
.kbk-mega-plain .kbk-mega-item { height: auto; }
.kbk-mega-plain .kbk-mega-item .chev { margin-inline-start: auto; color: var(--kbk-primary); font-family: var(--kbk-font-mono); font-size: .85rem; }

/* زیرلیست فشرده داخل پنل مگا (سطح ۴ یا گروه‌های ساده) */
.kbk-mega-sub { list-style: none; padding: .1rem .6rem .5rem 0; margin: 0; }
.kbk-mega-sub li a { display: flex; align-items: center; gap: .55rem; padding: .45rem .6rem; border-radius: 8px; color: var(--kbk-ink-soft); text-decoration: none; font-size: .88rem; transition: background .18s ease, color .18s ease; }
.kbk-mega-sub li a:hover { background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); }
.kbk-mega-sub li a::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--kbk-primary); flex: 0 0 4px; }

/* توضیح آیتم‌های کارت مگا */
.kbk-mega-item .kbk-menu-desc { font-size: .78rem; color: var(--kbk-ink-soft); }
.kbk-mega-item:hover .kbk-menu-desc { color: var(--kbk-ink-soft); }

/* فال‌بک بدون JS: ساختار wrapper مستقیم از واکر می‌آید و پنل اول با کلاس active نمایان است. */

/* ---------- نوار اطلاعیه (سفارشی‌سازی) ---------- */
.kbk-notice { background: linear-gradient(90deg, rgba(196, 160, 82, .16), rgba(196, 160, 82, .05) 55%, transparent); border-bottom: 1px solid var(--kbk-line-gold); padding: .48rem 0; font-size: .85rem; font-weight: 600; color: var(--kbk-gold-deep); }
.kbk-notice a { color: var(--kbk-gold-deep); text-decoration: none; }
.kbk-notice a:hover { color: var(--kbk-primary-dark); }

/* ---------- شبکه‌های اجتماعی فشرده نوار بالا ---------- */
.kbk-topbar .tb-social { width: 25px; height: 25px; padding: 0; justify-content: center; border: 1px solid rgba(255, 255, 255, .18); border-radius: 8px; font-size: .68rem; font-family: var(--kbk-font-latin); letter-spacing: 0; }
.kbk-topbar .tb-social:hover { border-color: var(--kbk-primary); }

/* ---------- آفکانوس: گروه‌های تو در تو (جای استایل inline پیش‌نمایش) ---------- */
.kbk-offcanvas .mnav-group-2 { border: none; background: var(--kbk-bg); border-radius: 0; margin-bottom: 0; }
.kbk-offcanvas .mnav-group-2 .mnav-head { background: var(--kbk-bg); }
.kbk-offcanvas .mnav-group-2 .mnav-link { font-size: .92rem; padding: .75rem .85rem; }
.kbk-offcanvas .mnav-sub-2 { padding: .35rem .5rem .55rem; }
.kbk-offcanvas .mnav-link.active { color: var(--kbk-gold-deep); background: var(--kbk-primary-soft); }

/* ---------- هیرو داخلی: فرم جستجو روی زمینه تیره ---------- */
.kbk-hero-sm .kbk-searchform .form-control { background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .22); color: #F3EFE6; }
.kbk-hero-sm .kbk-searchform .form-control::placeholder { color: rgba(243, 239, 230, .45); }
.kbk-hero-sm .kbk-searchform .form-control:focus { background: rgba(255, 255, 255, .1); border-color: var(--kbk-primary); box-shadow: 0 0 0 4px rgba(196, 160, 82, .18); color: #fff; }

/* ---------- تصاویر شاخص و محتوای برگه/نوشته ---------- */
.kbk-page-thumb { margin: 0 0 2rem; }
.kbk-radius-img { display: block; width: 100%; height: auto; border-radius: var(--kbk-radius-lg); border: 1px solid var(--kbk-line); box-shadow: var(--kbk-shadow-subtle); }
.kbk-prose-card { padding: 2.2rem; }
.kbk-page-links { margin-top: 1.5rem; display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; font-weight: 600; }
.kbk-page-links a { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 .7rem; border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius-sm); color: var(--kbk-ink-soft); text-decoration: none; background: var(--kbk-bg); }
.kbk-page-links a:hover { border-color: var(--kbk-line-gold); color: var(--kbk-gold-deep); }

/* تایپوگرافی محتوای ویرایشگر (kbk-prose) — زبان لاکچری */
.kbk-prose { font-size: 1.02rem; line-height: 2.1; color: var(--kbk-ink-soft); }
.kbk-prose > h2 { font-size: clamp(1.35rem, 2.4vw, 1.8rem); font-weight: 800; color: var(--kbk-ink); margin: 2.2rem 0 .9rem; position: relative; padding-inline-start: 1rem; }
.kbk-prose > h2::before { content: ''; position: absolute; inset-inline-start: 0; top: .35rem; bottom: .35rem; width: 4px; border-radius: 4px; background: linear-gradient(180deg, var(--kbk-primary), rgba(196, 160, 82, .25)); }
.kbk-prose > h3 { font-size: clamp(1.15rem, 1.9vw, 1.4rem); font-weight: 700; color: var(--kbk-ink); margin: 1.8rem 0 .7rem; }
.kbk-prose > h4, .kbk-prose > h5, .kbk-prose > h6 { font-weight: 700; color: var(--kbk-ink); margin: 1.5rem 0 .6rem; }
.kbk-prose p { margin-bottom: 1.1rem; }
.kbk-prose a { color: var(--kbk-gold-deep); text-decoration: underline; text-decoration-color: var(--kbk-line-gold); text-underline-offset: 3px; transition: color .2s ease; }
.kbk-prose a:hover { color: var(--kbk-primary-dark); }
.kbk-prose ul, .kbk-prose ol { padding-inline-start: 1.4rem; margin-bottom: 1.1rem; }
.kbk-prose li { margin-bottom: .45rem; }
.kbk-prose ul li::marker { color: var(--kbk-primary); }
.kbk-prose blockquote { margin: 1.6rem 0; padding: 1.1rem 1.4rem; background: var(--kbk-primary-soft); border-inline-start: 3px solid var(--kbk-primary); border-radius: var(--kbk-radius-sm); color: var(--kbk-ink); font-weight: 500; }
.kbk-prose blockquote p:last-child { margin-bottom: 0; }
.kbk-prose img { max-width: 100%; height: auto; border-radius: var(--kbk-radius); }
.kbk-prose table { width: 100%; border-collapse: collapse; margin: 1.4rem 0; font-size: .95rem; }
.kbk-prose table th, .kbk-prose table td { border: 1px solid var(--kbk-line); padding: .65rem .9rem; text-align: right; }
.kbk-prose table th { background: var(--kbk-primary-soft); color: var(--kbk-ink); font-weight: 700; }
.kbk-prose pre, .kbk-prose code { font-family: var(--kbk-font-mono); direction: ltr; text-align: left; }
.kbk-prose pre { background: var(--kbk-navy); color: #E9E5DA; padding: 1.1rem 1.3rem; border-radius: var(--kbk-radius); overflow-x: auto; font-size: .88rem; }
.kbk-prose code { background: var(--kbk-navy-soft); color: var(--kbk-navy-2); padding: .12rem .45rem; border-radius: 6px; font-size: .88em; }
.kbk-prose pre code { background: none; color: inherit; padding: 0; }
.kbk-prose figure { margin: 1.6rem 0; }
.kbk-prose figcaption { font-size: .84rem; color: var(--kbk-muted); text-align: center; margin-top: .5rem; }
.kbk-prose hr { border: none; height: 1px; background: linear-gradient(90deg, transparent, var(--kbk-line-gold), transparent); margin: 2rem 0; }

/* ترازبندی بلوکی گوتنبرگ */
.kbk-prose .alignwide { width: min(110%, 100%); margin-inline: calc((110% - 100%) / -2); max-width: none; }
.kbk-prose .alignfull { width: 100vw; margin-inline: calc(50% - 50vw); max-width: none; }
.kbk-prose .aligncenter { margin-inline: auto; }
.kbk-prose .wp-caption { max-width: 100%; }
.kbk-prose .has-gold-color { color: var(--kbk-primary); }

/* کاور کارت مقاله با تصویر واقعی */
.kbk-post .post-cover { position: relative; overflow: hidden; min-height: 150px; }
.kbk-post .post-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.kbk-post:hover .post-cover img { transform: scale(1.05); }
.kbk-post .post-cover .post-cat { z-index: 2; }

/* ---------- صفحه‌بندی (ارقام فارسی از فیلتر paginate_links_output) ---------- */
.kbk-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; margin: .15rem; padding: 0 .75rem; border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius-sm); background: var(--kbk-surface); color: var(--kbk-ink-soft); font-weight: 600; text-decoration: none; transition: all .2s ease; }
.kbk-pagination .page-numbers:hover { border-color: var(--kbk-line-gold); color: var(--kbk-gold-deep); background: var(--kbk-primary-soft); }
.kbk-pagination .page-numbers.current { background: var(--kbk-navy); border-color: var(--kbk-navy); color: #F3EFE6; }
.kbk-pagination .page-numbers.dots { border: none; background: none; min-width: 24px; }

/* ---------- برچسب‌های نوشته ---------- */
.kbk-tags .kbk-badge { text-decoration: none; transition: background .2s ease, color .2s ease; }
.kbk-tags .kbk-badge:hover { background: var(--kbk-primary); color: var(--kbk-navy); }
.kbk-post-nav a { text-decoration: none; color: var(--kbk-ink); }
.kbk-post-nav a:hover strong { color: var(--kbk-gold-deep); }

/* ---------- دیدگاه‌ها ---------- */
.kbk-comments { margin-top: 2.5rem; }
.kbk-comments .comment-list { list-style: none; padding: 0; margin: 0; }
.kbk-comments .comment-list .children { list-style: none; padding-inline-start: 1.6rem; }
.kbk-comments .comment-body { background: var(--kbk-bg); border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius); padding: 1.1rem 1.3rem; margin-bottom: 1rem; }
.kbk-comments .comment-meta { font-size: .82rem; color: var(--kbk-muted); margin-bottom: .5rem; }
.kbk-comments .comment-author img { border-radius: 50%; margin-inline-end: .5rem; }
.kbk-comments .comment-form p { margin-bottom: 1rem; }
.kbk-comments .comment-form label { display: block; font-size: .88rem; font-weight: 600; color: var(--kbk-ink); margin-bottom: .35rem; }
.kbk-comments .comment-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.kbk-comments .comment-form textarea { width: 100%; padding: .72rem 1rem; border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius-sm); background: var(--kbk-bg); color: var(--kbk-ink); font-family: inherit; font-size: .95rem; transition: border-color .2s ease, box-shadow .2s ease; }
.kbk-comments .comment-form input:focus, .kbk-comments .comment-form textarea:focus { outline: none; border-color: var(--kbk-primary); box-shadow: 0 0 0 4px rgba(196, 160, 82, .16); }
.kbk-comments .comment-form input[type="submit"] { background: linear-gradient(135deg, #D2B26A 0%, var(--kbk-primary) 55%, #B08A3C 100%); color: var(--kbk-navy); border: 1px solid rgba(176, 138, 60, .6); border-radius: var(--kbk-radius-sm); padding: .74rem 1.7rem; font-weight: 700; font-family: inherit; cursor: pointer; box-shadow: var(--kbk-shadow-gold); transition: transform .25s ease, box-shadow .25s ease; }
.kbk-comments .comment-form input[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(196, 160, 82, .42); }
.kbk-comments .comment-reply-title { font-weight: 800; color: var(--kbk-ink); }
.kbk-comments .bypostauthor > .comment-body { border-color: var(--kbk-line-gold); background: var(--kbk-primary-soft); }
.kbk-comments .comment-navigation .nav-previous, .kbk-comments .comment-navigation .nav-next { display: inline-block; }

/* ---------- 404 — واترمارک و کارت‌های لینک سریع (پورت از 404.html) ---------- */
.kbk-nf-hero { position: relative; overflow: hidden; padding: 9.5rem 0 5rem; }
.nf-watermark { position: absolute; top: 42%; left: 50%; transform: translate(-50%, -50%); font-weight: 900; font-size: clamp(15rem, 34vw, 23rem); line-height: 1; color: var(--kbk-primary); opacity: .13; pointer-events: none; user-select: none; letter-spacing: .02em; z-index: 1; }
.nf-card { background: var(--kbk-surface); border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius); padding: 1.2rem 1rem; display: flex; flex-direction: column; align-items: center; gap: .65rem; text-decoration: none; color: var(--kbk-ink); height: 100%; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, color .25s ease; }
.nf-card:hover { transform: translateY(-4px); border-color: var(--kbk-line-gold); box-shadow: var(--kbk-shadow-hover); color: var(--kbk-gold-deep); }
.nf-card .nf-ic { width: 46px; height: 46px; border-radius: 13px; background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); border: 1px solid var(--kbk-line-gold); display: flex; align-items: center; justify-content: center; transition: background .25s ease, color .25s ease; font-size: 1.1rem; }
.nf-card:hover .nf-ic { background: var(--kbk-primary); color: var(--kbk-navy); }
.nf-card .nf-label { font-size: .88rem; font-weight: 600; }

/* ---------- وردپرس: کلاس‌های هسته، نوار مدیریت و صفحه‌بندی دیدگاه ---------- */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body.admin-bar .kbk-header { top: 32px; }
@media (max-width: 782.98px) { body.admin-bar .kbk-header { top: 46px; } }
.sticky .kbk-post { border-color: var(--kbk-line-gold); }
.bypostauthor { position: relative; }
.gallery { display: grid; gap: .6rem; grid-template-columns: repeat(3, 1fr); margin: 1.4rem 0; }
.gallery-item img { width: 100%; height: auto; border-radius: var(--kbk-radius-sm); border: 1px solid var(--kbk-line); }
.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }

/* محتوای المنتور: بدون محدودیت — قالب تمام‌عرض/برگه المنتور */
.kbk-elementor-content { padding: 0; margin: 0; }
.kbk-elementor-content .elementor-section, .kbk-elementor-content .elementor-section-boxed { position: relative; }
body.kbk-elementor-page { overflow-x: hidden; }

/* بوم خالی */
body.kbk-canvas { margin: 0; }

/* ---------- اصلاحات ریسپانسیو مخصوص قالب ---------- */
@media (max-width: 991.98px) {
  .kbk-nf-hero { padding: 7.5rem 0 3.5rem; }
  .kbk-prose-card { padding: 1.4rem; }
  .kbk-page-thumb { margin-bottom: 1.2rem; }
  .nav-cta { display: none; } /* دکمه CTA دسکتاپ در موبایل داخل آفکانوس است */
}
@media (max-width: 575.98px) {
  .kbk-prose { font-size: .98rem; }
  .kbk-pagination .page-numbers { min-width: 38px; height: 38px; }
}

/* دسترس‌پذیری: فوکوس واضح در همه عناصر تعاملی قالب */
.kbk-post:focus-visible, .nf-card:focus-visible, .kbk-brand:focus-visible { outline: 3px solid rgba(196, 160, 82, .5); outline-offset: 2px; border-radius: var(--kbk-radius-sm); }

/* CTA شناور — رعایت safe-area در iOS (الزام چیدمان) */
.kbk-float-cta { bottom: calc(14px + env(safe-area-inset-bottom, 0px)); }

/* ============================================================
   نسخه ۲.۲ قالب — پریلودر پریمیوم + فوتر v2 متحرک + فوتر تک‌ردیفه
   (پورت از kbk-design-system.css v2.2 — پریلودر در CSS بحرانی هم هست)
   ============================================================ */

/* ---------- پریلودر پریمیوم «خط به خط» ---------- */
.kbk-preloader {
  position: fixed; inset: 0; z-index: 30000;
  display: flex; align-items: center; justify-content: center;
  background:
    radial-gradient(720px 380px at 78% 12%, rgba(196, 160, 82, .13) 0%, transparent 62%),
    repeating-linear-gradient(0deg, transparent 0 46px, rgba(243, 239, 230, .028) 46px 47px),
    linear-gradient(165deg, #081220 0%, #0A1626 55%, #102743 100%);
  animation: pl-failsafe 0s 4.4s forwards;
}
.kbk-preloader.is-done { opacity: 0; visibility: hidden; transition: opacity .55s ease, visibility .55s ease; }
.kbk-preloader .pl-box { display: flex; flex-direction: column; align-items: center; gap: 1.15rem; text-align: center; animation: pl-enter .8s cubic-bezier(.22,.9,.3,1) both; transition: transform .55s ease, opacity .55s ease; }
.kbk-preloader.is-done .pl-box { transform: translateY(-18px); opacity: 0; }
@keyframes pl-enter { from { opacity: 0; transform: translateY(26px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes pl-failsafe { to { opacity: 0; visibility: hidden; pointer-events: none; } }
.kbk-preloader .pl-logo { filter: drop-shadow(0 14px 34px rgba(0, 0, 0, .45)); }
.kbk-preloader .pl-logo .pl-line { stroke-dasharray: 20; stroke-dashoffset: 20; animation: pl-draw .7s ease forwards; }
.kbk-preloader .pl-logo .pl-line-2 { animation-delay: .18s; }
.kbk-preloader .pl-logo .pl-line-3 { animation-delay: .36s; }
.kbk-preloader .pl-logo .pl-arrow { stroke-dasharray: 12; stroke-dashoffset: 12; animation: pl-draw .5s ease .62s forwards; }
@keyframes pl-draw { to { stroke-dashoffset: 0; } }
.kbk-preloader .pl-en { font-family: var(--kbk-font-latin); font-size: .68rem; letter-spacing: .46em; color: rgba(196, 160, 82, .85); text-transform: uppercase; padding-inline-start: .46em; }
.kbk-preloader .pl-bar { width: 168px; height: 2px; border-radius: 2px; background: rgba(243, 239, 230, .1); overflow: hidden; }
.kbk-preloader .pl-bar span { display: block; height: 100%; width: 40%; border-radius: 2px; background: linear-gradient(90deg, transparent, var(--kbk-primary), #E8CE96); animation: pl-sweep 1.15s ease-in-out infinite; }
@keyframes pl-sweep { from { transform: translateX(160%); } to { transform: translateX(-260%); } }
.kbk-preloader .pl-tag { margin: 0; font-size: .88rem; color: rgba(243, 239, 230, .68); }

/* ---------- فوتر نسخه ۲ — پترن حرکت‌دار + نوار اعتماد + CTA پنل ---------- */
.kbk-footer { overflow: hidden; }
.kbk-footer .f-pattern {
  position: absolute; inset: 0; pointer-events: none;
  background:
    repeating-linear-gradient(0deg, transparent 0 54px, rgba(196, 160, 82, .05) 54px 55px),
    repeating-linear-gradient(90deg, transparent 0 54px, rgba(243, 239, 230, .022) 54px 55px);
  animation: f-lines-drift 26s linear infinite;
  -webkit-mask-image: radial-gradient(1200px 620px at 50% 0%, rgba(0,0,0,.9), transparent 78%);
          mask-image: radial-gradient(1200px 620px at 50% 0%, rgba(0,0,0,.9), transparent 78%);
}
@keyframes f-lines-drift { from { background-position: 0 0, 0 0; } to { background-position: 0 55px, 55px 0; } }
.kbk-footer .f-glow { position: absolute; border-radius: 50%; filter: blur(70px); pointer-events: none; opacity: .5; }
.kbk-footer .f-glow-a { width: 420px; height: 420px; top: -180px; right: -120px; background: rgba(196, 160, 82, .16); animation: f-glow-float 13s ease-in-out infinite alternate; }
.kbk-footer .f-glow-b { width: 360px; height: 360px; bottom: -200px; left: -100px; background: rgba(22, 50, 74, .55); animation: f-glow-float 16s ease-in-out infinite alternate-reverse; }
@keyframes f-glow-float { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(0, 34px, 0) scale(1.12); } }
.kbk-footer .f-trust {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem;
  background: rgba(255, 255, 255, .032);
  border: 1px solid rgba(196, 160, 82, .24);
  border-radius: var(--kbk-radius);
  padding: .95rem 1.25rem;
  margin-bottom: 2.6rem;
  font-size: .88rem; color: rgba(243, 239, 230, .82);
}
.kbk-footer .f-trust span { display: inline-flex; align-items: center; gap: .55rem; }
.kbk-footer .f-trust svg { color: var(--kbk-primary); flex: 0 0 15px; }
.kbk-footer .f-stat { display: flex; align-items: baseline; gap: .4rem; margin-bottom: .55rem; }
.kbk-footer .f-stat b { font-size: 1.25rem; color: var(--kbk-primary); font-weight: 900; }
.kbk-footer .f-stat span { font-size: .78rem; color: rgba(233, 229, 218, .6); }
.kbk-footer .socials a svg { width: 18px; height: 18px; fill: currentColor; }

/* ---------- فوتر تک‌ردیفه متقارن (۶ستون ≥۱۴۰۰px) ---------- */
@media (min-width: 1400px) {
  .kbk-footer-v2 .f-brandline { flex-direction: column; align-items: flex-start; gap: .6rem; }
  .kbk-footer-v2 .f-desc { font-size: .78rem; line-height: 1.9; }
  .kbk-footer-v2 .f-slogan { font-size: .82rem; margin-top: .5rem; }
  .kbk-footer-v2 h6 { font-size: .88rem; margin-bottom: .8rem; }
  .kbk-footer-v2 .f-links li { margin-bottom: .42rem; }
  .kbk-footer-v2 .f-links a { font-size: .82rem; }
  .kbk-footer-v2 .socials { flex-wrap: wrap; gap: .45rem !important; }
  .kbk-footer-v2 .socials a { width: 36px; height: 36px; border-radius: 11px; }
  .kbk-footer-v2 .socials a svg { width: 16px; height: 16px; }
  .kbk-footer-v2 .f-stat b { font-size: 1.08rem; }
  .kbk-footer-v2 .f-contact li { font-size: .8rem; margin-bottom: .45rem; }
}

/* ---------- احترام به کاهش حرکت ---------- */
@media (prefers-reduced-motion: reduce) {
  .kbk-preloader, .kbk-preloader .pl-box, .kbk-preloader .pl-bar span,
  .kbk-preloader .pl-logo .pl-line, .kbk-preloader .pl-logo .pl-arrow { animation: none !important; }
  .kbk-preloader .pl-bar span { width: 100%; opacity: .7; }
  .kbk-preloader .pl-logo .pl-line, .kbk-preloader .pl-logo .pl-arrow { stroke-dashoffset: 0; }
  .kbk-footer .f-pattern, .kbk-footer .f-glow { animation: none !important; }
}

/* ============================================================
   نسخه ۱.۲.۱ قالب — فاز ۲: هدرهای آماده چندگانه + واتساپ شناور
   (classic = هدر فعلی | transparent = شفاف روی هیرو | minimal = مینیمال)
   ============================================================ */

/* ---------- حالت شفاف (Transparent) — هدر absolute با گرادیان سرمه‌ای ---------- */
body.kbk-header-transparent:not(.kbk-elementor-page),
body.kbk-header-transparent {
  --kbk-tp-ivory: #F3EFE6;
}
.kbk-header.kbk-header-transparent {
  position: absolute;
  background:
    linear-gradient(180deg, rgba(8, 18, 32, .9) 0%, rgba(10, 22, 38, .5) 58%, rgba(10, 22, 38, 0) 100%);
}
.kbk-header.kbk-header-transparent .kbk-topbar {
  background: transparent;
  border-bottom-color: rgba(243, 239, 230, .12);
}
.kbk-header.kbk-header-transparent .kbk-navbar {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border-bottom-color: rgba(243, 239, 230, .14);
}
.kbk-header.kbk-header-transparent .kbk-brand-text .name { color: var(--kbk-tp-ivory, #F3EFE6); }
.kbk-header.kbk-header-transparent .kbk-brand-text .tag { color: rgba(196, 160, 82, .92); }
.kbk-header.kbk-header-transparent .kbk-navbar .nav-link { color: var(--kbk-tp-ivory, #F3EFE6); }
.kbk-header.kbk-header-transparent .kbk-navbar .nav-link:hover,
.kbk-header.kbk-header-transparent .kbk-navbar .nav-link.active {
  color: var(--kbk-primary);
  background: rgba(243, 239, 230, .07);
}
.kbk-header.kbk-header-transparent .kbk-toggler {
  background: rgba(243, 239, 230, .08);
  border-color: rgba(243, 239, 230, .26);
}
.kbk-header.kbk-header-transparent .kbk-toggler .bars,
.kbk-header.kbk-header-transparent .kbk-toggler .bars::before,
.kbk-header.kbk-header-transparent .kbk-toggler .bars::after { background: var(--kbk-tp-ivory, #F3EFE6); }
/* پس از اسکرول: ناوبری سرمه‌ای شیشه‌ای می‌شود (متن عاجی حفظ می‌شود) */
.kbk-header.kbk-header-transparent.scrolled .kbk-navbar {
  background: rgba(8, 18, 32, .86);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  backdrop-filter: saturate(160%) blur(14px);
  box-shadow: 0 10px 34px rgba(4, 10, 18, .38);
}
.kbk-header.kbk-header-transparent.scrolled .kbk-brand-text .name { color: var(--kbk-tp-ivory, #F3EFE6); }
/* موبایل: هدر شفاف نزدیک بالای صفحه ثابت می‌ماند؛ آفکانوس تغییر نمی‌کند */
@media (max-width: 991.98px) {
  .kbk-header.kbk-header-transparent { background: linear-gradient(180deg, rgba(8, 18, 32, .8), rgba(10, 22, 38, 0)); }
}

/* ---------- حالت مینیمال (Minimal) — بدون نوار بالا + خط طلایی زیرین ---------- */
body.kbk-header-minimal .kbk-topbar { display: none !important; }
.kbk-navbar.kbk-navbar-min {
  position: relative;
  padding: .6rem 0;
  background: rgba(250, 249, 246, .94);
}
.kbk-navbar.kbk-navbar-min::after {
  content: '';
  position: absolute;
  right: 0; left: 0; bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--kbk-primary) 20%, var(--kbk-primary) 80%, transparent);
  pointer-events: none;
}
.kbk-navbar.kbk-navbar-min .kbk-brand-text .name { font-size: 1.04rem; }
.kbk-navbar.kbk-navbar-min .kbk-navbar .nav-link,
.kbk-navbar.kbk-navbar-min .nav-link { padding-top: .45rem !important; padding-bottom: .45rem !important; }
.kbk-header.scrolled .kbk-navbar.kbk-navbar-min { padding: .45rem 0; }
.kbk-header.scrolled .kbk-navbar.kbk-navbar-min::after { opacity: .75; }

/* ---------- واتساپ شناور برندشده (فاز ۲) ---------- */
.kbk-wa-float {
  position: fixed;
  z-index: 1045;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  width: 56px; height: 56px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, var(--kbk-navy-2, #102743), var(--kbk-navy, #0A1626));
  border: 1px solid rgba(196, 160, 82, .55);
  color: var(--kbk-primary, #C4A052);
  box-shadow: 0 14px 34px rgba(10, 22, 38, .35);
  text-decoration: none;
  transition: transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.kbk-wa-float svg { width: 27px; height: 27px; }
.kbk-wa-float.is-left { left: 18px; right: auto; }
.kbk-wa-float.is-right { right: 18px; left: auto; }
.kbk-wa-float:hover,
.kbk-wa-float:focus-visible {
  background: linear-gradient(160deg, var(--kbk-primary, #C4A052), var(--kbk-gold-deep, #8F6E2F));
  color: var(--kbk-navy, #0A1626);
  border-color: var(--kbk-primary, #C4A052);
  box-shadow: 0 16px 40px rgba(196, 160, 82, .4);
  transform: translateY(-3px);
}
.kbk-wa-float:focus-visible { outline: 3px solid rgba(196, 160, 82, .5); outline-offset: 3px; }
/* حالت «فقط موبایل» */
@media (min-width: 992px) {
  .kbk-wa-float.is-mobile-only { display: none; }
}
/* موبایل: بالاتر از نوار CTA شناور می‌نشیند */
@media (max-width: 991.98px) {
  .kbk-wa-float {
    width: 50px; height: 50px;
    bottom: calc(78px + env(safe-area-inset-bottom, 0px));
  }
  .kbk-wa-float svg { width: 24px; height: 24px; }
}

/* ---------- دکمه بازگشت به بالا (v2.3) ---------- */
.kbk-to-top {
  position: fixed;
  z-index: 1039;
  right: 22px;
  bottom: calc(22px + env(safe-area-inset-bottom, 0px));
  width: 46px; height: 46px;
  border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(160deg, #102743, #0A1626 72%);
  border: 1px solid rgba(196, 160, 82, .45);
  box-shadow: 0 10px 26px rgba(4, 10, 20, .38);
  color: #C4A052;
  cursor: pointer;
  opacity: 0; visibility: hidden;
  transform: translateY(14px);
  transition: opacity .35s ease, transform .35s ease, visibility 0s linear .35s, background .25s ease, color .25s ease, box-shadow .25s ease;
}
.kbk-to-top.show { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.kbk-to-top:hover {
  background: linear-gradient(160deg, #C4A052, #A88342);
  color: #0A1626;
  border-color: transparent;
  box-shadow: 0 12px 30px rgba(196, 160, 82, .38);
  transform: translateY(-3px);
}
.kbk-to-top:focus-visible { outline: 3px solid rgba(196, 160, 82, .5); outline-offset: 3px; }
.kbk-to-top svg { width: 20px; height: 20px; display: block; }
/* موبایل: بالای نوار CTA شناور و روبه‌روی واتساپ شناور */
@media (max-width: 991.98px) {
  .kbk-to-top { right: 16px; bottom: calc(86px + env(safe-area-inset-bottom, 0px)); width: 44px; height: 44px; }
  .kbk-to-top svg { width: 19px; height: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .kbk-to-top { transition: opacity .2s ease; transform: none; }
  .kbk-to-top:hover { transform: none; }
}

/* ============================================================
   v1.2.3 (قالب) — حرکت و انیمیشن ویجت‌ها (خط به خط) — فاز ۳
   ورود: کلاس «kbk-motion» + کلاس افکت «kbk-m-*» → رسیدن به «kbk-in»
   (تشخیص دید با IntersectionObserver در JS قالب/پیش‌نمایش)
   پارالاکس اسکرول: اتریبیوت data-kbk-parallax="dir:speed" → متغیر --kbk-px
   ============================================================ */
.kbk-motion {
	transition: opacity .7s cubic-bezier(.22, .61, .36, 1), transform .7s cubic-bezier(.22, .61, .36, 1);
	transform: var(--kbk-px, none);
	will-change: opacity, transform;
}
/* حالت پنهان ورود — فقط وقتی جاوااسکریپت فعال است (کلاس kbk-has-js روی html)
   و هنوز کلاس kbk-in نیامده؛ بدون JS هیچ عنصری پنهان نمی‌شود (فال‌بک امن). */
html.kbk-has-js .kbk-motion.kbk-m-fade-in:not(.kbk-in),
html.kbk-has-js .kbk-motion.kbk-m-fade-up:not(.kbk-in),
html.kbk-has-js .kbk-motion.kbk-m-fade-down:not(.kbk-in),
html.kbk-has-js .kbk-motion.kbk-m-zoom-in:not(.kbk-in),
html.kbk-has-js .kbk-motion.kbk-m-slide-right:not(.kbk-in),
html.kbk-has-js .kbk-motion.kbk-m-slide-left:not(.kbk-in) { opacity: 0; }
html.kbk-has-js .kbk-motion.kbk-m-fade-in:not(.kbk-in) { transform: translateY(12px); }
html.kbk-has-js .kbk-motion.kbk-m-fade-up:not(.kbk-in) { transform: translateY(30px); }
html.kbk-has-js .kbk-motion.kbk-m-fade-down:not(.kbk-in) { transform: translateY(-30px); }
html.kbk-has-js .kbk-motion.kbk-m-zoom-in:not(.kbk-in) { transform: scale(.93); }
html.kbk-has-js .kbk-motion.kbk-m-slide-right:not(.kbk-in) { transform: translateX(44px); }
html.kbk-has-js .kbk-motion.kbk-m-slide-left:not(.kbk-in) { transform: translateX(-44px); }
/* کاهش حرکت — کاربر با prefers-reduced-motion همیشه نسخه بی‌حرکت را می‌بیند. */
@media (prefers-reduced-motion: reduce) {
	.kbk-motion { transition: none !important; }
	html.kbk-has-js .kbk-motion { opacity: 1 !important; transform: var(--kbk-px, none) !important; }
}

/* ═════════════════════════════════════════════════════════════════
   v1.4.0 — سینک کامل استایل صفحات با بیس‌لاین preview (فاز W3)
   استایل‌های اختصاصی صفحات (pricing/panel/portfolio/faq/...) که در نسخه ۱٫۳ نبود
   ═════════════════════════════════════════════════════════════════ */
html.kbk-booting, html.kbk-booting body { overflow: hidden !important; }
.kbk-preloader { position: fixed; inset: 0; z-index: 30000; display: flex; align-items: center; justify-content: center; background: radial-gradient(720px 380px at 78% 12%, rgba(196,160,82,.13) 0%, transparent 62%), repeating-linear-gradient(0deg, transparent 0 46px, rgba(243,239,230,.028) 46px 47px), linear-gradient(165deg, #081220 0%, #0A1626 55%, #102743 100%); animation: kbk-pl-fs 0s 4.4s forwards; }
.kbk-preloader .pl-box { display: flex; flex-direction: column; align-items: center; gap: 1.15rem; text-align: center; }
.kbk-preloader .pl-logo { filter: drop-shadow(0 14px 34px rgba(0,0,0,.45)); }
.kbk-preloader .pl-line { stroke-dasharray: 20; stroke-dashoffset: 20; animation: kbk-pl-draw .7s ease forwards; }
.kbk-preloader .pl-line-2 { animation-delay: .18s; }
.kbk-preloader .pl-line-3 { animation-delay: .36s; }
.kbk-preloader .pl-arrow { stroke-dasharray: 12; stroke-dashoffset: 12; animation: kbk-pl-draw .5s ease .62s forwards; }
.kbk-preloader .pl-en { font-family: 'Marcellus', 'Times New Roman', serif; font-size: .68rem; letter-spacing: .46em; color: rgba(196,160,82,.85); text-transform: uppercase; padding-inline-start: .46em; }
.kbk-preloader .pl-bar { width: 168px; height: 2px; border-radius: 2px; background: rgba(243,239,230,.1); overflow: hidden; }
.kbk-preloader .pl-bar span { display: block; height: 100%; width: 40%; border-radius: 2px; background: linear-gradient(90deg, transparent, #C4A052, #E8CE96); animation: kbk-pl-sweep 1.15s ease-in-out infinite; }
.kbk-preloader .pl-tag { margin: 0; font-size: .88rem; color: rgba(243,239,230,.68); }
.kbk-nf-hero { position: relative; overflow: hidden;
      padding: 9.5rem 0 5rem; }
.nf-watermark { position: absolute; top: 42%; left: 50%; transform: translate(-50%, -50%);
      font-weight: 900; font-size: clamp(15rem, 34vw, 23rem); line-height: 1;
      color: var(--kbk-primary); opacity: .13;
      pointer-events: none; user-select: none; letter-spacing: .02em;
      z-index: 1; }
.nf-latin { color: rgba(143, 110, 47, .75);
      font-size: .8rem; letter-spacing: .35em; }
.nf-card { background: var(--kbk-surface);
      border: 1px solid var(--kbk-line);
      border-radius: var(--kbk-radius);
      padding: 1.2rem 1rem;
      display: flex; flex-direction: column; align-items: center; gap: .65rem;
      text-decoration: none; color: var(--kbk-ink);
      height: 100%;
      transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, color .25s ease; }
.nf-card:hover { transform: translateY(-4px);
      border-color: var(--kbk-line-gold);
      box-shadow: var(--kbk-shadow-hover);
      color: var(--kbk-gold-deep); }
.nf-card .nf-ic { width: 46px; height: 46px; border-radius: 13px;
      background: var(--kbk-primary-soft); color: var(--kbk-gold-deep);
      border: 1px solid var(--kbk-line-gold);
      display: flex; align-items: center; justify-content: center;
      transition: background .25s ease, color .25s ease; }
.nf-card:hover .nf-ic { background: var(--kbk-primary); color: var(--kbk-navy); }
.nf-card .nf-label { font-size: .88rem; font-weight: 600; }
section[id] { scroll-margin-top: 110px; }
.kbk-preloader { display:none!important }
.kbk-brandline { font-family: var(--kbk-font-mono);
      font-size: clamp(1rem, 1.8vw, 1.18rem);
      line-height: 2.2;
      color: #E8E3D6; }
.kbk-brandline .hl { color: var(--kbk-primary); }
.kbk-shred-card { background: rgba(196, 160, 82, .10);
      border: 1px solid rgba(196, 160, 82, .38);
      border-radius: var(--kbk-radius-lg);
      padding: 2rem; height: 100%; }
.kbk-shred-card h3 { color: var(--kbk-gold-deep); }
.kbk-overview { width: 100%; border-collapse: separate; border-spacing: 0;
      background: var(--kbk-surface); border: 1px solid var(--kbk-line);
      border-radius: var(--kbk-radius-lg); overflow: hidden;
      box-shadow: var(--kbk-shadow-subtle); font-size: .9rem; }
.kbk-overview th, .kbk-overview td { padding: .95rem 1.1rem; border-bottom: 1px solid var(--kbk-line); vertical-align: top; text-align: right; }
.kbk-overview thead th { background: var(--kbk-navy); color: #F3EFE6; font-weight: 700; font-size: .86rem; }
.kbk-overview tbody tr:last-child td { border-bottom: none; }
.kbk-overview tbody tr:hover { background: rgba(246, 240, 226, .55); }
.kbk-overview .step-no { font-family: var(--kbk-font-mono); font-weight: 700; color: var(--kbk-gold-deep); white-space: nowrap; }
.kbk-overview .step-name { font-weight: 700; color: var(--kbk-ink); }
.kbk-overview .step-owner { font-size: .84rem; color: var(--kbk-ink-soft); }
.step-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .8rem; margin: 1.2rem 0 1rem; }
.step-meta .m-cell { background: var(--kbk-bg); border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius-sm); padding: .8rem 1rem; }
.step-meta .m-label { display: block; font-family: var(--kbk-font-mono); font-size: .68rem; color: var(--kbk-muted); margin-bottom: .3rem; }
.step-meta .m-value { font-size: .88rem; font-weight: 600; color: var(--kbk-ink); margin: 0; }
.step-deliverables { padding-inline-start: 1.2rem; color: var(--kbk-ink-soft); font-size: .92rem; margin: 0; }
.step-deliverables li { margin-bottom: .35rem; }
.kbk-team .t-avatar { width: 76px; height: 76px; border-radius: 50%;
      background: linear-gradient(135deg, var(--kbk-navy), var(--kbk-navy-3));
      color: #F3EFE6; font-weight: 800; font-size: 1.6rem;
      display: flex; align-items: center; justify-content: center;
      border: 1px solid var(--kbk-line-gold);
      margin-bottom: 1rem; }
.kbk-team .t-role-en { font-family: var(--kbk-font-mono); font-size: .7rem; color: var(--kbk-muted); letter-spacing: .05em; }
.kbk-team h3 { font-size: 1.05rem; margin-bottom: .2rem; }
.kbk-team .t-role { font-size: .86rem; font-weight: 600; color: var(--kbk-gold-deep); margin-bottom: .7rem; }
.kbk-search { background: var(--kbk-surface); border: 1px solid var(--kbk-line);
      border-radius: var(--kbk-radius-pill); padding: .35rem .4rem .35rem 1.6rem;
      display: flex; gap: .5rem; align-items: center;
      box-shadow: var(--kbk-shadow-subtle); max-width: 560px; }
.kbk-search .form-control { border: none; box-shadow: none; background: transparent; padding: .6rem .4rem; }
.kbk-search .form-control:focus { box-shadow: none; }
.kbk-search:focus-within { border-color: var(--kbk-primary); box-shadow: 0 0 0 4px rgba(196, 160, 82, .16); }
.kbk-featured { background: var(--kbk-surface); border: 1px solid var(--kbk-line-gold);
      border-radius: var(--kbk-radius-lg); overflow: hidden;
      transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
      text-decoration: none; color: var(--kbk-ink); display: flex; flex-direction: column; }
.kbk-featured:hover { transform: translateY(-5px); box-shadow: var(--kbk-shadow-hover); color: var(--kbk-ink); border-color: var(--kbk-primary); }
.kbk-featured .f-cover { min-height: 240px; position: relative; display: flex; align-items: flex-end; padding: 1.5rem;
      background: linear-gradient(135deg, #C4A052 0%, #A9853E 100%); }
.kbk-featured .f-flag { position: absolute; top: 1.2rem; right: 1.2rem;
      font-size: .72rem; font-weight: 700; color: var(--kbk-navy);
      background: rgba(250, 249, 246, .94); border: 1px solid var(--kbk-line-gold);
      border-radius: var(--kbk-radius-pill); padding: .3rem .9rem; }
.kbk-featured .f-body { padding: 2rem; display: flex; flex-direction: column; }
.kbk-featured h2 { font-size: clamp(1.2rem, 2.2vw, 1.7rem); line-height: 1.7; }
.kbk-featured p { color: var(--kbk-ink-soft); font-size: .96rem; flex: 1; }
.kbk-catbar { position: sticky; top: 86px; z-index: 1020;
      background: rgba(250, 249, 246, .95); backdrop-filter: blur(12px);
      border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius);
      padding: .9rem 1.25rem; box-shadow: var(--kbk-shadow-subtle); }
.kbk-catbar .kbk-chip[aria-pressed="true"] { border-color: var(--kbk-navy); background: var(--kbk-navy); color: #F3EFE6; }
.kbk-catbar .kbk-chip[aria-pressed="true"]:hover { color: #F3EFE6; }
.kbk-result-count { font-family: var(--kbk-font-mono); font-size: .78rem; color: var(--kbk-gold-deep); }
.kbk-empty { border: 1px dashed var(--kbk-line); border-radius: var(--kbk-radius-lg);
      padding: 3rem 1.5rem; text-align: center; color: var(--kbk-ink-soft); background: var(--kbk-surface); }
.kbk-leadmagnet { position: relative; }
.kbk-leadmagnet .lm-badge { position: absolute; top: -12px; right: 1.4rem;
      font-size: .68rem; font-weight: 700;
      background: var(--kbk-primary); color: var(--kbk-navy);
      border: 1px solid var(--kbk-line-gold);
      border-radius: var(--kbk-radius-pill); padding: .25rem .9rem;
      box-shadow: var(--kbk-shadow-gold); }
.kbk-newsletter-panel { position: relative; overflow: hidden; }
.kbk-newsletter-panel::after { content: '>_';
      position: absolute; bottom: -1.6rem; left: .8rem;
      font-family: var(--kbk-font-mono); font-size: 7rem; font-weight: 700;
      color: rgba(196, 160, 82, .10); line-height: 1; pointer-events: none; }
}
@media (max-width: 991.98px) {
  .kbk-catbar { top: 72px; }
}
.kbk-cta-panel textarea.form-control { min-height: 140px; resize: vertical; }
.job-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .8rem; }
.job-meta .kbk-badge { font-size: .74rem; padding: .22rem .8rem; }
.job-skills { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 1.1rem; padding: 0; list-style: none; }
.job-skills li { font-size: .78rem; font-weight: 600; color: var(--kbk-ink-soft);
      background: var(--kbk-bg); border: 1px solid var(--kbk-line);
      border-radius: var(--kbk-radius-pill); padding: .2rem .8rem;
      transition: border-color .2s ease, color .2s ease; }
.kbk-card:hover .job-skills li { border-color: var(--kbk-line-gold); color: var(--kbk-gold-deep); }
.kbk-card h3 { margin-bottom: .55rem; }
.kbk-response-badge { display: inline-flex; align-items: center; gap: .5rem;
      background: var(--kbk-surface); border: 1px solid var(--kbk-line-gold);
      color: var(--kbk-gold-deep); font-weight: 700; font-size: .9rem;
      border-radius: var(--kbk-radius-pill); padding: .5rem 1.2rem;
      box-shadow: var(--kbk-shadow-subtle); }
.kbk-response-badge .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--kbk-success);
      animation: pulse-dot 2s ease infinite; }
}
@media (prefers-reduced-motion: reduce) {
  .kbk-response-badge .dot { animation: none; }
}
.kbk-form-card { background: var(--kbk-surface); border: 1px solid var(--kbk-line);
      border-radius: var(--kbk-radius-lg); padding: 2rem; position: relative; overflow: hidden;
      box-shadow: var(--kbk-shadow-subtle); }
.kbk-form-card::before { content: ''; position: absolute; top: 0; right: 0; left: 0; height: 3px;
      background: linear-gradient(90deg, var(--kbk-primary), transparent); }
.kbk-info-panel { background: var(--kbk-surface); border: 1px solid var(--kbk-line);
      border-radius: var(--kbk-radius-lg); padding: 2rem; height: 100%; }
.kbk-channel { display: flex; gap: .9rem; align-items: flex-start; padding: 1rem 0; border-bottom: 1px dashed var(--kbk-line); }
.kbk-channel:last-of-type { border-bottom: none; }
.kbk-channel .c-icon { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 12px;
      background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); border: 1px solid var(--kbk-line-gold);
      display: flex; align-items: center; justify-content: center; font-size: 1.15rem; }
.kbk-channel h3 { font-size: .98rem; font-weight: 700; margin-bottom: .15rem; color: var(--kbk-ink); }
.kbk-channel p { font-size: .84rem; color: var(--kbk-ink-soft); margin: 0; }
.kbk-channel .c-value { font-weight: 600; font-size: .95rem; color: var(--kbk-ink); }
.kbk-map { position: relative; overflow: hidden; min-height: 320px;
      border-radius: var(--kbk-radius-lg); border: 1px solid var(--kbk-line);
      background:
        linear-gradient(180deg, rgba(250, 249, 246, 0) 0%, rgba(250, 249, 246, .6) 100%),
        repeating-linear-gradient(90deg, #F2EFE8 0 119px, #E8E4DA 119px 120px),
        repeating-linear-gradient(0deg, #F6F4EF 0 89px, #E8E4DA 89px 90px);
      display: flex; align-items: center; justify-content: center; }
.kbk-map::after { content: ''; position: absolute; inset: 0;
      background: linear-gradient(35deg, transparent 42%, rgba(10, 22, 38, .05) 42%, rgba(10, 22, 38, .05) 52%, transparent 52%),
                  linear-gradient(-15deg, transparent 60%, rgba(196, 160, 82, .08) 60%, rgba(196, 160, 82, .08) 70%, transparent 70%);
      pointer-events: none; }
.kbk-map-inner { position: relative; z-index: 1; text-align: center; padding: 2rem; }
.kbk-pin { width: 58px; height: 58px; margin: 0 auto 1rem; border-radius: 50% 50% 50% 0;
      transform: rotate(45deg); background: var(--kbk-primary);
      box-shadow: var(--kbk-shadow-gold); position: relative; }
.kbk-pin::after { content: ''; position: absolute; inset: 18px; border-radius: 50%; background: #fff; }
.kbk-search { background: var(--kbk-surface); border: 1px solid var(--kbk-line);
      border-radius: var(--kbk-radius-pill); padding: .35rem .4rem .35rem 1.6rem;
      display: flex; gap: .5rem; align-items: center;
      box-shadow: var(--kbk-shadow-subtle); max-width: 660px; }
.kbk-chipbar { position: sticky; top: 86px; z-index: 1020;
      background: rgba(250, 249, 246, .95); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
      border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius);
      padding: .8rem 1.1rem; box-shadow: var(--kbk-shadow-subtle); }
.kbk-chipbar a.kbk-chip { text-decoration: none; }
.faq-cat-head { display: flex; align-items: center; gap: 1rem; }
.faq-cat-head .icon-wrap { flex: 0 0 54px; width: 54px; height: 54px; border-radius: 15px;
      background: var(--kbk-primary-soft); color: var(--kbk-gold-deep);
      border: 1px solid var(--kbk-line-gold);
      display: flex; align-items: center; justify-content: center; }
.faq-cat-head .cat-en { display: block; font-family: var(--kbk-font-latin); font-size: .7rem; letter-spacing: .16em; color: var(--kbk-muted); }
section[id] { scroll-margin-top: 175px; }
}
@media (max-width: 991.98px) {
  .kbk-chipbar { top: 72px; }
  section[id] { scroll-margin-top: 150px; }
}
.tbl-wrap { overflow-x: auto; border-radius: var(--kbk-radius-lg); box-shadow: var(--kbk-shadow-subtle); }
.tbl-wrap > table { min-width: 640px; }
.tier-price { font-weight: 800; color: var(--kbk-gold-deep); white-space: nowrap; }
.kbk-callout { background: var(--kbk-primary-soft); border: 1px solid var(--kbk-line-gold); border-radius: var(--kbk-radius); padding: 1.15rem 1.35rem; font-size: .92rem; color: var(--kbk-ink-soft); }
.kbk-callout-gold { box-shadow: inset -3px 0 0 var(--kbk-primary); }
.kbk-callout a { color: var(--kbk-gold-deep); font-weight: 600; }
.kbk-case-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.kbk-case-kpis .kpi .v { font-family: var(--kbk-font-mono); font-weight: 700; font-size: clamp(1.05rem, 2vw, 1.45rem); color: var(--kbk-primary); direction: ltr; }
.kbk-case-kpis .kpi .l { font-size: .72rem; color: rgba(243, 239, 230, .85); margin-top: .25rem; }
}
@media (max-width: 575.98px) {
  .kbk-case-kpis { grid-template-columns: 1fr; }
}
.kbk-region { display: flex; flex-wrap: wrap; gap: .5rem; }
.kbk-region .rg { border: 1px solid var(--kbk-line-gold); background: #fff; color: var(--kbk-gold-deep); border-radius: 999px; padding: .32rem .85rem; font-size: .85rem; font-weight: 600; line-height: 1.6; }
.ld-model { display: flex; flex-direction: column; gap: .55rem; height: 100%; }
.ld-model .m-title { font-size: 1.02rem; font-weight: 800; margin: 0; }
.ld-model p { font-size: .9rem; margin: 0; }
.ld-model .kbk-link { margin-top: auto; align-self: flex-start; }
[id] { scroll-margin-top: 118px; }
.kbk-panel-hero { position: relative;
      background:
        radial-gradient(760px 340px at 88% -12%, rgba(196, 160, 82, .15) 0%, transparent 60%),
        linear-gradient(160deg, var(--kbk-navy) 0%, var(--kbk-navy-2) 100%);
      color: #F3EFE6;
      padding: 9.5rem 0 4.5rem;
      overflow: hidden; }
.kbk-panel-hero::before { content: ''; position: absolute; inset: 0;
      background: repeating-linear-gradient(0deg, transparent 0 47px, rgba(255, 255, 255, .028) 47px 48px);
      pointer-events: none; }
.kbk-panel-hero h1 { color: #fff; font-weight: 900; font-size: clamp(1.7rem, 3.4vw, 2.7rem); }
.kbk-panel-hero .kbk-lead { color: rgba(243, 239, 230, .75); }
.kbk-panel-hero .kbk-eyebrow { color: var(--kbk-primary); }
.kbk-hero-note { color: rgba(243, 239, 230, .55); font-size: .84rem; margin: 0; }
.kbk-frame-wrap { background: var(--kbk-navy);
      border: 1px solid rgba(196, 160, 82, .32);
      border-radius: var(--kbk-radius-lg);
      box-shadow: 0 34px 80px rgba(10, 22, 38, .28);
      overflow: hidden; }
.kbk-frame-bar { display: flex; align-items: center; gap: .5rem; padding: .85rem 1.2rem; border-bottom: 1px solid rgba(255, 255, 255, .09); }
.kbk-frame-bar .dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, .14); }
.kbk-frame-bar .dot.gold { background: var(--kbk-primary); }
.kbk-frame-bar .title { font-size: .82rem; color: rgba(243, 239, 230, .66); margin-inline-start: .4rem; font-weight: 500; }
.kbk-frame-bar .url { margin-inline-start: auto; font-size: .7rem; color: rgba(243, 239, 230, .42); }
.kbk-frame-body { display: grid; grid-template-columns: 252px 1fr; }
.kbk-frame-side { background: linear-gradient(180deg, var(--kbk-navy) 0%, var(--kbk-navy-2) 100%); border-inline-end: 1px solid rgba(255, 255, 255, .08); padding: 1.15rem .85rem; }
.kbk-frame-user { display: flex; align-items: center; gap: .65rem; padding: .45rem .6rem .85rem; border-bottom: 1px dashed rgba(255, 255, 255, .12); margin-bottom: .8rem; }
.kbk-frame-user .fu-ava { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; background: rgba(196, 160, 82, .14); border: 1px solid rgba(196, 160, 82, .4); color: var(--kbk-primary); display: flex; align-items: center; justify-content: center; font-weight: 800; }
.kbk-frame-user .fu-name { font-size: .86rem; font-weight: 700; color: #fff; line-height: 1.7; }
.kbk-frame-user .fu-org { font-size: .72rem; color: rgba(243, 239, 230, .5); display: block; }
.kbk-side-label { font-size: .66rem; letter-spacing: .14em; color: rgba(243, 239, 230, .4); padding: .3rem .6rem; }
.kbk-side-items { display: grid; gap: .25rem; }
.kbk-side-item { display: flex; align-items: center; gap: .65rem;
      padding: .68rem .8rem; border-radius: 11px;
      color: rgba(243, 239, 230, .78); text-decoration: none;
      font-size: .88rem; font-weight: 500; border: 1px solid transparent;
      transition: background .2s ease, color .2s ease, border-color .2s ease; }
.kbk-side-item svg { flex: 0 0 17px; }
.kbk-side-item:hover, .kbk-side-item:focus-visible { background: rgba(255, 255, 255, .07); color: #fff; }
.kbk-side-item.active { background: rgba(196, 160, 82, .16); border-color: rgba(196, 160, 82, .45); color: var(--kbk-primary); font-weight: 700; }
.kbk-side-item .si-badge { margin-inline-start: auto; font-size: .68rem; background: rgba(196, 160, 82, .18); color: var(--kbk-primary); border-radius: var(--kbk-radius-pill); padding: .05rem .55rem; font-weight: 700; }
.kbk-side-foot { margin-top: 1rem; padding: .75rem .8rem 0; border-top: 1px dashed rgba(255, 255, 255, .12); font-size: .72rem; color: rgba(243, 239, 230, .45); line-height: 1.9; }
.kbk-frame-main { background: var(--kbk-bg); padding: 1.6rem; }
.pf-card { background: var(--kbk-surface); border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius); padding: 1.35rem 1.4rem; box-shadow: 0 10px 26px rgba(10, 22, 38, .06); height: 100%; }
.pf-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.05rem; }
.pf-head h3 { font-size: 1.02rem; font-weight: 800; color: var(--kbk-ink); margin: 0; }
.pf-head .pf-link { font-size: .8rem; font-weight: 700; color: var(--kbk-gold-deep); text-decoration: none; white-space: nowrap; }
.pf-head .pf-link:hover, .pf-head .pf-link:focus-visible { color: var(--kbk-primary-dark); text-decoration: underline; }
.pf-note { font-size: .78rem; color: var(--kbk-muted); margin: .75rem 0 0; }
.st-badge { display: inline-flex; align-items: center; gap: .4rem; font-size: .76rem; font-weight: 700; border-radius: var(--kbk-radius-pill); padding: .22rem .75rem; white-space: nowrap; }
.st-badge .dt { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.st-open { background: rgba(196, 160, 82, .14); color: var(--kbk-gold-deep); border: 1px solid var(--kbk-line-gold); }
.st-review { background: rgba(176, 117, 20, .12); color: var(--kbk-warning); border: 1px solid rgba(176, 117, 20, .35); }
.st-closed { background: rgba(47, 125, 92, .1); color: var(--kbk-success); border: 1px solid rgba(47, 125, 92, .32); }
.st-draft { background: var(--kbk-navy-soft); color: var(--kbk-ink-soft); border: 1px solid var(--kbk-line); }
.vtl { list-style: none; padding: 0; margin: 0; position: relative; }
.vtl::before { content: ''; position: absolute; top: 14px; bottom: 14px; inset-inline-start: 13px; width: 2px; background: linear-gradient(180deg, var(--kbk-primary) 0%, var(--kbk-line-gold) 55%, var(--kbk-line) 100%); }
.vtl li { position: relative; padding-inline-start: 2.8rem; padding-bottom: 1.3rem; }
.vtl li:last-child { padding-bottom: .1rem; }
.vtl .vt-dot { position: absolute; inset-inline-start: 0; top: 2px; width: 28px; height: 28px; border-radius: 50%; background: var(--kbk-surface); border: 2px solid var(--kbk-line-gold); color: var(--kbk-gold-deep); display: flex; align-items: center; justify-content: center; font-size: .74rem; font-weight: 800; z-index: 1; }
.vtl li.done .vt-dot { background: var(--kbk-primary); border-color: var(--kbk-primary); color: var(--kbk-navy); }
.vtl li.now .vt-dot { border-color: var(--kbk-primary); color: var(--kbk-gold-deep); box-shadow: 0 0 0 5px rgba(196, 160, 82, .16); }
.vtl li.next .vt-dot { border-color: var(--kbk-line); color: var(--kbk-muted); background: var(--kbk-bg); }
.vtl h4 { font-size: .95rem; font-weight: 700; margin: 0 0 .15rem; color: var(--kbk-ink); }
.vtl .vt-state { font-size: .72rem; font-weight: 700; margin-inline-start: .4rem; }
.vtl li.done .vt-state { color: var(--kbk-success); }
.vtl li.now .vt-state { color: var(--kbk-warning); }
.vtl li.next .vt-state { color: var(--kbk-muted); }
.vtl .vt-date { font-size: .74rem; color: var(--kbk-muted); }
.vtl p { font-size: .84rem; color: var(--kbk-ink-soft); margin: .15rem 0 0; line-height: 1.9; }
.act-list { list-style: none; padding: 0; margin: 0; }
.act-list li { display: flex; gap: .8rem; align-items: flex-start; padding: .72rem 0; border-bottom: 1px dashed var(--kbk-line); font-size: .88rem; }
.act-list li:last-child { border-bottom: none; padding-bottom: .1rem; }
.act-list .a-date { flex: 0 0 auto; font-size: .75rem; color: var(--kbk-muted); background: var(--kbk-bg); border: 1px solid var(--kbk-line); border-radius: 8px; padding: .18rem .55rem; margin-top: .15rem; white-space: nowrap; }
.act-list .a-txt { color: var(--kbk-ink-soft); line-height: 1.9; }
.act-list a { color: var(--kbk-gold-deep); font-weight: 700; text-decoration: none; white-space: nowrap; }
.act-list a:hover, .act-list a:focus-visible { color: var(--kbk-primary-dark); text-decoration: underline; }
.tbl-wrap { overflow-x: auto; border-radius: var(--kbk-radius); box-shadow: var(--kbk-shadow-subtle); }
.tbl-wrap > table.kbk-compare th, .tbl-wrap > table.kbk-compare td { padding: .9rem 1.1rem; font-size: .9rem; }
.sum-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .68rem 0; border-bottom: 1px dashed var(--kbk-line); font-size: .9rem; }
.sum-row:last-of-type { border-bottom: none; }
.sum-row .s-label { color: var(--kbk-ink-soft); }
.sum-row .s-value { font-weight: 800; color: var(--kbk-ink); white-space: nowrap; }
.sum-row.hl .s-value { color: var(--kbk-gold-deep); }
.pay-prog { height: 10px; background: var(--kbk-bg); border: 1px solid var(--kbk-line); border-radius: 999px; overflow: hidden; margin: .9rem 0 .45rem; }
.pay-prog span { display: block; height: 100%; width: 70%; background: linear-gradient(90deg, var(--kbk-primary), #D2B26A); border-radius: 999px; }
.file-group h4 { font-size: .86rem; font-weight: 800; color: var(--kbk-gold-deep); margin: 0 0 .25rem; }
.file-group + .file-group { margin-top: 1.35rem; }
.file-row { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; padding: .8rem .2rem; border-bottom: 1px dashed var(--kbk-line); }
.file-group .file-row:last-child { border-bottom: none; }
.file-row .f-ic { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 11px; background: var(--kbk-primary-soft); border: 1px solid var(--kbk-line-gold); color: var(--kbk-gold-deep); display: flex; align-items: center; justify-content: center; font-family: var(--kbk-font-latin); font-size: .66rem; font-weight: 700; letter-spacing: .04em; }
.file-row .f-name { font-weight: 700; font-size: .92rem; color: var(--kbk-ink); }
.file-row .f-meta { font-size: .75rem; color: var(--kbk-muted); display: block; margin-top: .15rem; }
.file-row .f-dl { margin-inline-start: auto; }
.rep-months { display: flex; gap: .55rem; padding-top: .4rem; }
.rep-months span { flex: 1; text-align: center; font-size: .7rem; color: var(--kbk-muted); }
.kpi-mini { background: var(--kbk-surface); border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius); padding: 1.1rem 1.2rem; height: 100%; }
.kpi-mini .k-label { font-size: .78rem; color: var(--kbk-muted); margin-bottom: .3rem; }
.kpi-mini .k-value { font-weight: 900; font-size: 1.45rem; color: var(--kbk-ink); }
.kpi-mini .k-trend { font-size: .76rem; font-weight: 700; }
.kpi-mini .up { color: var(--kbk-success); }
.kbk-signlist { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.kbk-signlist li { display: flex; gap: .6rem; align-items: flex-start; font-size: .93rem; color: var(--kbk-ink-soft); }
.kbk-signlist li .mk { color: var(--kbk-gold-deep); font-weight: 800; flex: 0 0 auto; }
.kbk-form .form-label { font-size: .88rem; font-weight: 600; color: var(--kbk-ink); }
.kbk-form .form-control, .kbk-form .form-select { border: 1px solid var(--kbk-line); border-radius: 10px; padding: .6rem .9rem; font-size: .92rem; }
.kbk-form .form-control:focus, .kbk-form .form-select:focus { border-color: var(--kbk-primary); box-shadow: 0 0 0 .2rem rgba(196, 160, 82, .18); }
.kbk-form .form-check-input:checked { background-color: var(--kbk-primary); border-color: var(--kbk-primary); }
.kbk-form .form-check-label { font-size: .9rem; color: var(--kbk-ink-soft); }
.kbk-form .form-hint { font-size: .78rem; color: var(--kbk-muted); }
.kbk-section-dark .vtl p, .kbk-section-dark .kbk-signlist li { color: rgba(233, 229, 218, .72); }
}
@media (max-width: 991.98px) {
  .kbk-frame-body { grid-template-columns: 1fr; }
  .kbk-frame-side { border-inline-end: none; border-bottom: 1px solid rgba(255, 255, 255, .08); }
  .kbk-side-items { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
  .kbk-frame-user, .kbk-side-foot { display: none; }
  .kbk-frame-main { padding: 1.05rem; }
}
@media (max-width: 575.98px) {
  .kbk-frame-bar .url { display: none; }
  .kbk-frame-main { padding: .85rem; }
  .pf-card { padding: 1.05rem 1rem; }
}
.vtl li.done .vt-dot { background: var(--kbk-success); border-color: var(--kbk-success); color: #fff; }
.kbk-panel-hero { position: relative;
      background:
        radial-gradient(760px 340px at 88% -12%, rgba(196, 160, 82, .15) 0%, transparent 60%),
        linear-gradient(160deg, var(--kbk-navy) 0%, var(--kbk-navy-2) 100%);
      color: #F3EFE6;
      padding: 9.5rem 0 5.5rem;
      overflow: hidden; }
.kbk-panel-hero .kbk-hero-note { color: rgba(243, 239, 230, .55); font-size: .84rem; margin: 0; }
.kbk-login-card { background: var(--kbk-surface);
      border: 1px solid var(--kbk-line);
      border-radius: var(--kbk-radius-lg);
      box-shadow: var(--kbk-shadow-mega);
      padding: 2.4rem 2.2rem;
      position: relative;
      overflow: hidden; }
.kbk-login-card::before { content: ''; position: absolute; top: 0; right: 0; left: 0; height: 3px;
      background: linear-gradient(90deg, var(--kbk-primary), transparent); }
.kbk-login-card h1 { font-size: clamp(1.55rem, 3vw, 2.15rem);
      font-weight: 900;
      color: var(--kbk-ink);
      line-height: 1.5; }
.kbk-login-sub { color: var(--kbk-ink-soft); font-size: .95rem; line-height: 2; }
.kbk-pass-wrap { position: relative; }
.kbk-pass-wrap .form-control { padding-inline-end: 4.8rem; }
.kbk-pass-toggle { position: absolute; inset-inline-end: .55rem; top: 50%; transform: translateY(-50%);
      background: var(--kbk-primary-soft); color: var(--kbk-gold-deep);
      border: 1px solid var(--kbk-line-gold); border-radius: 8px;
      font-size: .78rem; font-weight: 700; padding: .28rem .7rem; cursor: pointer;
      transition: background .2s ease, color .2s ease; }
.kbk-pass-toggle:hover, .kbk-pass-toggle:focus-visible { background: var(--kbk-primary); color: var(--kbk-navy); }
.kbk-forget { color: var(--kbk-gold-deep); font-weight: 700; font-size: .88rem; text-decoration: none; }
.kbk-forget:hover, .kbk-forget:focus-visible { color: var(--kbk-primary-dark); text-decoration: underline; }
.kbk-2fa { display: flex; gap: .65rem; align-items: flex-start;
      background: var(--kbk-primary-soft);
      border: 1px dashed var(--kbk-line-gold);
      border-radius: var(--kbk-radius-sm);
      padding: .85rem .95rem; font-size: .84rem; line-height: 1.9; color: var(--kbk-gold-deep); }
.kbk-2fa svg { flex: 0 0 18px; margin-top: .15rem; }
.kbk-demo-ok { background: rgba(47, 125, 92, .1);
      border: 1px solid rgba(47, 125, 92, .38);
      color: var(--kbk-success);
      border-radius: var(--kbk-radius-sm);
      padding: .95rem 1.1rem; font-size: .9rem; line-height: 2; }
.kbk-mini-dash .kbk-panel-tile .pt-value { font-size: 1rem; font-weight: 800; }
.kbk-mini-dash-note { font-size: .72rem; color: rgba(243, 239, 230, .45); padding: 0 1.3rem 1.1rem; margin: -.4rem 0 0; }
.kbk-panel-title { color: #fff; font-size: 1.15rem; font-weight: 800; margin: 0 0 .5rem; }
.kbk-panel-list { list-style: none; padding: 0; margin: 0; }
.kbk-panel-list li { display: flex; gap: .85rem; align-items: flex-start;
      padding: .85rem 0; border-bottom: 1px dashed rgba(255, 255, 255, .1); }
.kbk-panel-list li:last-child { border-bottom: none; padding-bottom: .2rem; }
.kbk-panel-list .pl-ic { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 11px;
      background: rgba(196, 160, 82, .12); color: var(--kbk-primary);
      border: 1px solid rgba(196, 160, 82, .35);
      display: flex; align-items: center; justify-content: center;
      transition: background .2s ease, color .2s ease; }
.kbk-panel-list li:hover .pl-ic { background: var(--kbk-primary); color: var(--kbk-navy); }
.kbk-panel-list strong { color: #fff; font-weight: 700; display: block; font-size: .95rem; margin-bottom: .1rem; }
.kbk-panel-list small { color: rgba(233, 229, 218, .58); font-size: .8rem; line-height: 1.9; display: block; }
.kbk-filterbar { position: sticky;
      top: 92px;
      z-index: 1020;
      background: rgba(250, 249, 246, .95);
      backdrop-filter: blur(12px);
      border: 1px solid var(--kbk-line);
      border-radius: var(--kbk-radius);
      padding: 1rem 1.25rem;
      box-shadow: var(--kbk-shadow-subtle); }
.kbk-filterbar .f-label { display: block;
      font-size: .78rem;
      font-weight: 600;
      letter-spacing: .02em;
      color: var(--kbk-muted);
      margin-bottom: .45rem; }
.kbk-fchip { font-weight: 600; }
.kbk-fchip[aria-pressed="true"] { border-color: var(--kbk-primary); background: var(--kbk-primary); color: var(--kbk-navy); }
.kbk-fchip[aria-pressed="true"]:hover { color: var(--kbk-navy); }
.kbk-result-count { font-size: .84rem; font-weight: 600; color: var(--kbk-gold-deep); }
.kbk-case .case-tags { display: flex; flex-wrap: wrap; gap: .4rem; align-self: flex-start; margin-bottom: .8rem; }
.kbk-case .case-service { font-size: .72rem; font-weight: 600; color: var(--kbk-gold-deep);
      background: rgba(196, 160, 82, .14); border: 1px solid var(--kbk-line-gold);
      border-radius: var(--kbk-radius-pill); padding: .2rem .8rem; }
.kbk-video-panel { position: relative; overflow: hidden;
      border-radius: var(--kbk-radius-lg);
      background: linear-gradient(160deg, var(--kbk-navy) 0%, var(--kbk-navy-2) 100%);
      min-height: 360px;
      display: flex; align-items: center; justify-content: center;
      border: 1px solid var(--kbk-line-gold); }
.kbk-video-panel::before { content: '';
      position: absolute; inset: 0;
      background: repeating-linear-gradient(90deg, transparent 0 79px, rgba(255, 255, 255, .04) 79px 80px),
                  repeating-linear-gradient(0deg, transparent 0 39px, rgba(255, 255, 255, .03) 39px 40px);
      pointer-events: none; }
.kbk-video-inner { position: relative; z-index: 1; text-align: center; padding: 2rem; color: #F3EFE6; }
.kbk-play { width: 86px; height: 86px; border-radius: 50%;
      background: var(--kbk-primary); color: var(--kbk-navy);
      display: inline-flex; align-items: center; justify-content: center;
      font-size: 1.6rem; border: none; cursor: pointer;
      box-shadow: var(--kbk-shadow-gold);
      transition: transform .2s ease, background .2s ease; }
.kbk-play:hover { transform: scale(1.08); background: var(--kbk-primary-dark); color: var(--kbk-navy); }
.kbk-play:focus-visible { outline: 3px solid rgba(196, 160, 82, .5); outline-offset: 3px; }
.kbk-video-badge { display: inline-block; font-size: .74rem;
      color: var(--kbk-primary); border: 1px dashed rgba(196, 160, 82, .55);
      border-radius: var(--kbk-radius-pill); padding: .25rem .9rem; margin-bottom: 1.2rem; }
.kbk-logo-panel { background: var(--kbk-surface); border: 1px solid var(--kbk-line);
      border-radius: var(--kbk-radius-lg); padding: 2rem; box-shadow: var(--kbk-shadow-subtle); }
.kbk-logo-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .9rem; }
.kbk-logo-tile { display: flex; align-items: center; gap: .6rem;
      border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius);
      padding: .9rem .8rem; color: var(--kbk-muted); font-weight: 700; font-size: .9rem;
      filter: grayscale(1); opacity: .82;
      transition: all .25s ease; }
.kbk-logo-tile:hover { color: var(--kbk-gold-deep); border-color: var(--kbk-line-gold); filter: none; opacity: 1; transform: translateY(-3px); }
.kbk-logo-tile .mark { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 9px;
      background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); border: 1px solid var(--kbk-line-gold);
      display: flex; align-items: center; justify-content: center;
      font-weight: 700; font-size: .8rem; }
.kbk-empty { border: 1px dashed var(--kbk-line-gold); border-radius: var(--kbk-radius-lg);
      padding: 3rem 1.5rem; text-align: center; color: var(--kbk-ink-soft); background: var(--kbk-surface); }
}
@media (max-width: 991.98px) {
  .kbk-filterbar { top: 76px; }
}
.kbk-callout { background: var(--kbk-primary-soft); border: 1px solid var(--kbk-line-gold); border-radius: var(--kbk-radius); padding: 1.15rem 1.35rem; font-size: .92rem; }
.kbk-callout .co-t { font-weight: 700; margin-bottom: .25rem; color: var(--kbk-gold-deep); }
.kbk-hero-chips { display: flex; flex-wrap: wrap; gap: .6rem; }
.kbk-hero-chips .chip { display: inline-flex; align-items: center; gap: .5rem;
      background: var(--kbk-surface); border: 1px solid var(--kbk-line-gold);
      border-radius: var(--kbk-radius-pill); padding: .5rem 1.1rem;
      font-size: .85rem; font-weight: 600; color: var(--kbk-ink-soft);
      box-shadow: var(--kbk-shadow-subtle); }
.kbk-hero-chips .chip .ck { color: var(--kbk-success); font-weight: 700; }
.kbk-rule .r-num { font-family: var(--kbk-font-mono); font-size: 1.9rem; font-weight: 700; color: var(--kbk-gold-deep); line-height: 1; display: block; margin-bottom: .7rem; }
.kbk-rule h3 { font-size: 1.02rem; }
.kbk-rule p { font-size: .9rem; color: var(--kbk-ink-soft); margin: 0; }
.kbk-table-scroll { overflow-x: auto; border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius-lg); background: var(--kbk-surface); box-shadow: var(--kbk-shadow-subtle); -webkit-overflow-scrolling: touch; }
.kbk-price { min-width: 880px; width: 100%; border-collapse: separate; border-spacing: 0; }
.kbk-price th, .kbk-price td { padding: .9rem 1.15rem; border-bottom: 1px solid var(--kbk-line); text-align: right; vertical-align: top; font-size: .89rem; color: var(--kbk-ink-soft); }
.kbk-price thead th { background: var(--kbk-navy); border-bottom: 2px solid var(--kbk-line); color: #F3EFE6; vertical-align: bottom; }
.kbk-price thead .col-name { font-size: 1.06rem; font-weight: 800; }
.kbk-price thead .col-tag { display: block; font-size: .68rem; color: rgba(243, 239, 230, .6); font-weight: 400; margin-top: .15rem; }
.kbk-price tbody tr:last-child th, .kbk-price tbody tr:last-child td { border-bottom: none; }
.kbk-price .feat { position: sticky; right: 0; z-index: 2; min-width: 140px; font-weight: 600; color: var(--kbk-ink); background: var(--kbk-bg); box-shadow: inset -1px 0 0 var(--kbk-line); font-size: .88rem; }
.kbk-price .pop { background: rgba(246, 240, 226, .55); }
.kbk-price thead th.pop { background: var(--kbk-navy-2); color: #fff; border-bottom: 2px solid var(--kbk-primary); }
.kbk-price .pop-col { box-shadow: inset 1px 0 0 var(--kbk-line-gold), inset -1px 0 0 var(--kbk-line-gold); }
.kbk-price .pop-badge { display: inline-block; font-size: .7rem; font-weight: 700; background: var(--kbk-primary); color: var(--kbk-navy); border-radius: var(--kbk-radius-pill); padding: .18rem .75rem; margin-bottom: .4rem; }
.kbk-price .val-ok { color: var(--kbk-success); font-weight: 700; }
.kbk-price .val-no { color: var(--kbk-muted); }
.kbk-price .price-cell { font-family: var(--kbk-font-mono); font-weight: 700; font-size: 1.02rem; color: var(--kbk-gold-deep); direction: rtl; }
.kbk-price .price-sub { display: block; font-family: var(--kbk-font-fa); font-weight: 400; font-size: .74rem; color: var(--kbk-muted); margin-top: .15rem; }
.kbk-inlist { list-style: none; padding: 0; margin: 0; font-size: .92rem; color: var(--kbk-ink-soft); }
.kbk-inlist li { position: relative; padding-inline-start: 1.6rem; margin-bottom: .55rem; }
.kbk-inlist li::before { content: '✓'; position: absolute; inset-inline-start: 0; color: var(--kbk-success); font-weight: 700; }
.kbk-outlist { list-style: none; padding: 0; margin: 0; font-size: .92rem; color: var(--kbk-ink-soft); }
.kbk-outlist li { position: relative; padding-inline-start: 1.6rem; margin-bottom: .55rem; }
.kbk-outlist li::before { content: '✕'; position: absolute; inset-inline-start: 0; color: var(--kbk-warning); font-weight: 700; }
.kbk-rate { background: var(--kbk-surface); border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius); padding: 1.35rem 1.4rem; height: 100%; transition: transform .22s ease, box-shadow .22s ease; display: flex; flex-direction: column; }
.kbk-rate:hover { transform: translateY(-4px); box-shadow: var(--kbk-shadow-subtle); border-color: var(--kbk-line-gold); }
.kbk-rate .rt-name { font-weight: 800; font-size: .98rem; margin-bottom: .45rem; }
.kbk-rate .rt-desc { font-size: .85rem; color: var(--kbk-ink-soft); flex: 1; }
.kbk-rate .rt-price { font-family: var(--kbk-font-mono); font-weight: 700; color: var(--kbk-gold-deep); font-size: 1.05rem; margin-top: .8rem; direction: rtl; }
.kbk-rate .rt-unit { font-family: var(--kbk-font-fa); font-size: .72rem; color: var(--kbk-muted); font-weight: 400; }
.kbk-rate .kbk-badge { font-size: .68rem; padding: .14rem .7rem; vertical-align: middle; }
.kbk-pay { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; }
}
@media (max-width: 767.98px) {
  .kbk-pay { grid-template-columns: 1fr; }
}
.kbk-pay-block { position: relative; background: var(--kbk-surface); border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius); padding: 1.5rem 1.4rem; height: 100%; transition: border-color .25s ease, box-shadow .25s ease; }
.kbk-pay-block:hover { border-color: var(--kbk-line-gold); box-shadow: var(--kbk-shadow-subtle); }
.kbk-pay-block .pct { font-family: var(--kbk-font-mono); font-weight: 700; font-size: 2.15rem; color: var(--kbk-gold-deep); line-height: 1; margin-bottom: .7rem; display: block; direction: ltr; text-align: right; }
.kbk-pay-block h4 { font-size: 1rem; font-weight: 700; margin-bottom: .35rem; }
.kbk-pay-block p { font-size: .87rem; color: var(--kbk-ink-soft); margin: 0; }
.kbk-pay-block::after { content: '←'; position: absolute; top: 1.6rem; left: -0.85rem; color: var(--kbk-gold-deep); font-size: 1.2rem; }
.kbk-pay-block:last-child::after { display: none; }
}
@media (max-width: 767.98px) {
  .kbk-pay-block::after { display: none; }
}
.kbk-est-panel { background: var(--kbk-primary-soft); border: 1px solid var(--kbk-line-gold); border-radius: var(--kbk-radius-lg); padding: 2rem 1.75rem; position: relative; overflow: hidden; }
.kbk-est-panel::before { content: ''; position: absolute; top: 0; right: 0; left: 0; height: 3px; background: linear-gradient(90deg, transparent, var(--kbk-primary), transparent); }
.kbk-est-out { background: var(--kbk-surface); border: 1px dashed var(--kbk-line-gold);
      border-radius: var(--kbk-radius); padding: 1.1rem 1.3rem; font-size: .95rem; }
.kbk-est-out .est-num { font-family: var(--kbk-font-mono); font-weight: 700; color: var(--kbk-gold-deep); font-size: 1.15rem; }
.kbk-card .case-industry { display: inline-block; font-size: .74rem; font-weight: 600; color: var(--kbk-gold-deep);
      background: var(--kbk-primary-soft); border: 1px solid var(--kbk-line-gold);
      border-radius: var(--kbk-radius-pill); padding: .22rem .85rem; }
.kbk-cta-panel .form-label { color: #F3EFE6; }
section[id], h3[id] { scroll-margin-top: 110px; }
.kbk-article { max-width: 860px; margin-inline: auto; }
.kbk-article-intro { color: var(--kbk-ink-soft); font-size: 1.02rem; line-height: 2.15; }
.kbk-article-sec { padding: 2.4rem 0; }
.kbk-article-sec + .kbk-article-sec { border-top: 1px solid var(--kbk-line); }
.kbk-article-sec h2 { font-size: clamp(1.2rem, 2vw, 1.5rem);
      font-weight: 800;
      color: var(--kbk-ink);
      margin-bottom: 1rem;
      display: flex;
      align-items: baseline;
      gap: .6rem; }
.kbk-article-sec h2 .sec-no { font-weight: 900;
      color: var(--kbk-gold-deep);
      flex: 0 0 auto; }
.kbk-article-sec h3 { font-size: 1.02rem; font-weight: 700; color: var(--kbk-ink); margin: 1.2rem 0 .5rem; }
.kbk-article-sec p { color: var(--kbk-ink-soft); font-size: .96rem; line-height: 2.15; margin-bottom: .8rem; }
.kbk-article-sec p:last-child { margin-bottom: 0; }
.kbk-article-sec ul { padding-inline-start: 1.2rem; margin-bottom: .8rem; }
.kbk-article-sec li { color: var(--kbk-ink-soft); font-size: .95rem; line-height: 2.1; margin-bottom: .35rem; }
.kbk-article-sec a { color: var(--kbk-gold-deep); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--kbk-line-gold); }
.kbk-article-sec a:hover, .kbk-article-sec a:focus-visible { color: var(--kbk-primary-dark); border-bottom-color: var(--kbk-primary-dark); }
.kbk-updated { display: inline-flex; align-items: center; gap: .5rem;
      border: 1px solid rgba(196, 160, 82, .38);
      background: rgba(196, 160, 82, .08);
      color: var(--kbk-primary);
      border-radius: var(--kbk-radius-pill);
      padding: .45rem 1.1rem;
      font-size: .85rem; font-weight: 600; }
.kbk-toc { background: var(--kbk-surface);
      border: 1px solid var(--kbk-line-gold);
      border-radius: var(--kbk-radius-lg);
      box-shadow: var(--kbk-shadow-subtle);
      padding: 1.5rem 1.7rem; }
.kbk-toc h2 { font-size: .98rem; font-weight: 800; color: var(--kbk-ink); margin-bottom: .8rem; }
.kbk-toc ol { columns: 2; column-gap: 2.2rem;
      padding-inline-start: 1.1rem; margin: 0; }
.kbk-toc li { font-size: .88rem; margin-bottom: .45rem; break-inside: avoid; }
.kbk-toc a { color: var(--kbk-ink-soft); text-decoration: none; }
.kbk-toc a:hover, .kbk-toc a:focus-visible { color: var(--kbk-gold-deep); }
}
@media (max-width: 575.98px) {
  .kbk-toc ol { columns: 1; }
}
.kbk-article-sec .table-responsive { border-radius: var(--kbk-radius-lg); }
.kbk-compare td { font-size: .9rem; }
.kbk-policy-contact { background: var(--kbk-primary-soft);
      border: 1px solid var(--kbk-line-gold);
      border-radius: var(--kbk-radius-lg);
      padding: 1.6rem 1.7rem; }
.kbk-policy-contact h3 { font-size: 1.05rem; font-weight: 800; color: var(--kbk-gold-deep); margin-bottom: .6rem; }
.kbk-policy-contact p { font-size: .92rem; margin-bottom: 0; }
.kbk-datatable { width: 100%; border-collapse: separate; border-spacing: 0;
      background: var(--kbk-surface); border: 1px solid var(--kbk-line);
      border-radius: var(--kbk-radius-lg); overflow: hidden;
      box-shadow: var(--kbk-shadow-subtle); font-size: .9rem; }
.kbk-datatable th, .kbk-datatable td { padding: .95rem 1.1rem; border-bottom: 1px solid var(--kbk-line); vertical-align: top; text-align: right; }
.kbk-datatable thead th { background: var(--kbk-navy); color: #F3EFE6; font-weight: 700; font-size: .86rem; }
.kbk-datatable tbody tr:last-child td { border-bottom: none; }
.kbk-datatable tbody tr:hover { background: rgba(246, 240, 226, .55); }
.kbk-datatable .cell-key { font-weight: 700; color: var(--kbk-ink); }
.kbk-datatable .cell-num { font-family: var(--kbk-font-mono); font-weight: 700; color: var(--kbk-gold-deep); white-space: nowrap; }
.step-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .8rem; margin: 1.2rem 0 1.1rem; }
.kbk-promise { display: flex; gap: .9rem; align-items: center;
      background: var(--kbk-primary-soft); border: 1px solid var(--kbk-line-gold);
      border-radius: var(--kbk-radius); padding: 1rem 1.25rem;
      color: var(--kbk-gold-deep); font-weight: 700; }
.kbk-promise .tick { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%;
      background: var(--kbk-primary); color: var(--kbk-navy);
      display: flex; align-items: center; justify-content: center; font-weight: 800; }
.kbk-promise a { color: var(--kbk-gold-deep); }
section[id] { scroll-margin-top: 120px; }
.bpm-mod th { white-space: nowrap; }
.bpm-mod td .out { font-size:.8rem; color: var(--kbk-muted); display:block; margin-top:.25rem; }
.crm-mod th { white-space: nowrap; }
.crm-mod td .out { font-size:.8rem; color: var(--kbk-muted); display:block; margin-top:.25rem; }
.fin-mod th { white-space: nowrap; }
.fin-mod td .out { font-size:.8rem; color: var(--kbk-muted); display:block; margin-top:.25rem; }
.pcard { position: relative; display: flex; flex-direction: column; height: 100%; }
.pcard .pc-name { display: flex; align-items: center; gap: .75rem; margin-bottom: .5rem; }
.pcard .pc-name h3 { font-size: 1.18rem; font-weight: 800; margin: 0; }
.pcard .pc-en { font-family: var(--kbk-font-latin); font-size: .62rem; color: var(--kbk-gold-deep); letter-spacing: .16em; text-transform: uppercase; margin-bottom: .6rem; }
.pcard .pc-feats { list-style: none; padding: 0; margin: 0 0 1.1rem; display: grid; gap: .45rem; }
.pcard .pc-feats li { display: flex; gap: .55rem; align-items: flex-start; font-size: .88rem; color: var(--kbk-ink-soft); }
.pcard .pc-feats li .mk { color: var(--kbk-gold-deep); font-weight: 800; flex: 0 0 auto; }
.pcard .pc-sub { font-size: .72rem; color: var(--kbk-muted); margin: 0 0 .8rem; }
.kbk-resource { display: flex; flex-direction: column; }
.kbk-resource h3 { font-size: 1.02rem; line-height: 1.8; }
.kbk-resource .res-desc { font-size: .92rem; color: var(--kbk-ink-soft); }
.res-meta { display: flex; flex-wrap: wrap; gap: .35rem 1rem;
      font-size: .78rem; color: var(--kbk-muted);
      border-top: 1px solid var(--kbk-line);
      padding-top: .85rem; margin-top: auto; }
.res-meta span { display: inline-flex; align-items: center; gap: .35rem; }
.kbk-trustbar-overlap { margin-top: -2.8rem; z-index: 3; }
}
@media (max-width: 991.98px) {
  .kbk-trustbar-overlap { margin-top: -1.6rem; }
}
.kbk-assure { display: flex; flex-wrap: wrap; gap: .6rem; }
.kbk-assure .item { display: inline-flex; align-items: center; gap: .55rem;
      background: var(--kbk-surface); border: 1px solid var(--kbk-line);
      border-radius: var(--kbk-radius-pill); padding: .55rem 1.15rem;
      font-size: .86rem; font-weight: 600; color: var(--kbk-ink-soft);
      box-shadow: var(--kbk-shadow-subtle); }
.kbk-assure .item .ck { color: var(--kbk-success); font-weight: 700; }
.kbk-who .icon-wrap { width: 52px; height: 52px; font-size: 1.35rem; background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); border: 1px solid var(--kbk-line-gold); }
.kbk-who h3 { font-size: 1.05rem; }
.kbk-who p { font-size: .9rem; margin-bottom: 0; }
.kbk-table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--kbk-surface); border-radius: var(--kbk-radius-lg); overflow: hidden; box-shadow: var(--kbk-shadow-subtle); }
.kbk-table th, .kbk-table td { padding: .95rem 1.25rem; border-bottom: 1px solid var(--kbk-line); text-align: right; vertical-align: top; font-size: .93rem; }
.kbk-table thead th { background: var(--kbk-navy); color: #F3EFE6; font-weight: 700; font-size: .9rem; white-space: nowrap; }
.kbk-table tbody tr:last-child td { border-bottom: none; }
.kbk-table tbody tr:hover { background: rgba(246, 240, 226, .55); }
.kbk-table .ok { color: var(--kbk-success); font-weight: 700; }
.kbk-callout { background: var(--kbk-primary-soft); border: 1px solid var(--kbk-line-gold); border-radius: var(--kbk-radius); padding: 1.2rem 1.4rem; font-size: .93rem; }
.kbk-callout .co-t { font-weight: 700; margin-bottom: .3rem; }
.kbk-tier { background: var(--kbk-surface); border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius-lg); padding: 1.6rem; height: 100%; transition: transform .25s ease, box-shadow .25s ease; display: flex; flex-direction: column; }
.kbk-tier:hover { transform: translateY(-5px); box-shadow: var(--kbk-shadow-hover); }
.kbk-tier .t-name { font-weight: 800; font-size: 1rem; margin-bottom: .2rem; }
.kbk-tier .t-en { font-family: var(--kbk-font-latin); font-size: .7rem; color: var(--kbk-muted); letter-spacing: .06em; }
.kbk-tier .t-range { font-family: var(--kbk-font-mono); font-size: 1.24rem; font-weight: 700; color: var(--kbk-gold-deep); margin: .8rem 0 .2rem; }
.kbk-tier .t-unit { font-size: .78rem; color: var(--kbk-muted); }
.kbk-tier p { font-size: .88rem; color: var(--kbk-ink-soft); margin-top: .8rem; flex: 1; }
.kbk-relcard { display: flex; align-items: flex-start; gap: .9rem; height: 100%; }
.kbk-relcard .icon-wrap { width: 46px; height: 46px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); border: 1px solid var(--kbk-line-gold); }
.kbk-relcard h3 { font-size: .98rem; margin-bottom: .25rem; }
.kbk-relcard p { font-size: .84rem; color: var(--kbk-ink-soft); margin-bottom: .4rem; }
.kbk-cta-panel .kbk-link { color: var(--kbk-primary); }
.kbk-cta-panel .kbk-link:hover { color: var(--kbk-primary-dark); }
.kbk-cta-panel .invalid-feedback { color: #F2AFA8; }
.ba-card .ba-col { border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius); padding: .85rem 1rem; font-size: .88rem; color: var(--kbk-ink-soft); background: var(--kbk-bg); }
.ba-card .ba-col + .ba-col { border-color: var(--kbk-line-gold); background: var(--kbk-primary-soft); color: var(--kbk-ink); }
.ba-card .ba-tag { display: inline-block; font-size: .68rem; font-weight: 700; margin-bottom: .35rem; color: var(--kbk-muted); }
.ba-card .ba-col + .ba-col .ba-tag { color: var(--kbk-gold-deep); }
.who-card h3 { font-size: 1.02rem; }
.who-card .icon-wrap { background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); border: 1px solid var(--kbk-line-gold); }
.kbk-rate:hover { transform: translateY(-5px); box-shadow: var(--kbk-shadow-hover); }
.kbk-rate .rt-name { font-weight: 800; font-size: 1.05rem; color: var(--kbk-ink); margin-bottom: .5rem; }
.kbk-rate .rt-desc { font-size: .88rem; color: var(--kbk-ink-soft); line-height: 1.9; margin-bottom: 1rem; }
.kbk-rate .rt-meta { font-size: .8rem; font-weight: 700; color: var(--kbk-gold-deep); margin-bottom: .6rem; display: flex; align-items: center; gap: .45rem; }
.kbk-rate .rt-price { margin-top: auto; font-weight: 800; color: var(--kbk-gold-deep); font-size: 1.12rem; }
.kbk-rate .rt-unit { font-size: .78rem; font-weight: 600; color: var(--kbk-muted); margin-inline-start: .3rem; }
.rel-item { display: flex; gap: 1rem; align-items: flex-start; background: var(--kbk-surface); border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius); padding: 1.1rem 1.2rem; height: 100%; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.rel-item:hover { transform: translateY(-4px); box-shadow: var(--kbk-shadow-hover); border-color: var(--kbk-primary); }
.rel-item .icon-wrap { flex-shrink: 0; width: 52px; height: 52px; background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); border: 1px solid var(--kbk-line-gold); }
.rel-item .rl-t { font-weight: 700; color: var(--kbk-ink); margin-bottom: .25rem; font-size: .98rem; }
.rel-item .rl-d { font-size: .84rem; color: var(--kbk-ink-soft); margin: 0; line-height: 1.8; }
.rel-item .rl-go { font-size: .8rem; font-weight: 700; color: var(--kbk-gold-deep); margin-top: .5rem; display: inline-block; }
.kbk-case .case-industry { font-size: .72rem; font-weight: 600; color: var(--kbk-ink-soft); background: var(--kbk-bg); border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius-pill); padding: .2rem .8rem; }
.kbk-case .case-service { font-size: .72rem; font-weight: 600; color: var(--kbk-gold-deep); background: rgba(196, 160, 82, .14); border: 1px solid var(--kbk-line-gold); border-radius: var(--kbk-radius-pill); padding: .2rem .8rem; }
.kbk-case { display: flex; flex-direction: column; height: 100%; }
.kbk-case .case-body { display: flex; flex-direction: column; flex: 1 1 auto; }
.kbk-img-slot { margin-bottom: 0; }
.qs-card { position: relative; }
.qs-card .q-num { font-family: var(--kbk-font-mono); font-size: .74rem; font-weight: 700; color: var(--kbk-gold-deep); letter-spacing: .08em; margin-bottom: .6rem; display: block; }
.chap-item { display: flex; gap: 1rem; align-items: flex-start; background: var(--kbk-surface); border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius); padding: 1rem 1.1rem; height: 100%; transition: border-color .2s ease, transform .2s ease; }
.chap-item:hover { border-color: var(--kbk-primary); transform: translateY(-3px); }
.chap-item .ch-num { font-family: var(--kbk-font-mono); font-weight: 700; font-size: .8rem; color: var(--kbk-gold-deep); background: var(--kbk-primary-soft); border: 1px solid var(--kbk-line-gold); border-radius: var(--kbk-radius-sm); padding: .25rem .55rem; white-space: nowrap; margin-top: .1rem; }
.chap-item h3 { font-size: .95rem; font-weight: 700; margin-bottom: .3rem; }
.chap-item p { font-size: .82rem; color: var(--kbk-ink-soft); margin: 0; line-height: 1.8; }
.kbk-checklist { counter-reset: kck; list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.kbk-checklist li { counter-increment: kck; display: flex; gap: .7rem; align-items: flex-start; font-size: .92rem; color: var(--kbk-ink-soft); }
.kbk-checklist li::before { content: counter(kck, decimal); font-family: var(--kbk-font-latin); font-weight: 700; font-size: .8rem; color: var(--kbk-gold-deep); background: var(--kbk-primary-soft); border: 1px solid var(--kbk-line-gold); border-radius: 10px; min-width: 1.9rem; height: 1.9rem; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; margin-top: .1rem; }
.kbk-assure .item .n { font-family: var(--kbk-font-mono); color: var(--kbk-gold-deep); font-weight: 700; }
.kbk-concept .icon-wrap { background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); border: 1px solid var(--kbk-line-gold); }
.kbk-concept h3 { font-size: 1.02rem; }
.kbk-concept p { font-size: .9rem; }
.kbk-table thead th { background: var(--kbk-navy); color: #F3EFE6; font-weight: 700; font-size: .9rem; }
.kbk-callout .co-t { font-weight: 700; margin-bottom: .3rem; color: var(--kbk-gold-deep); }
.kbk-tier .t-en { font-family: var(--kbk-font-mono); font-size: .7rem; color: var(--kbk-muted); }
.kbk-tier .t-range { font-family: var(--kbk-font-mono); font-size: 1.26rem; font-weight: 700; color: var(--kbk-gold-deep); margin: .8rem 0 .2rem; }
.rel-card { display: block; height: 100%; }
.rel-card .rl-latin { font-family: var(--kbk-font-mono); font-size: .68rem; color: var(--kbk-muted); letter-spacing: .12em; display: block; margin-bottom: .5rem; }
.rel-card h3 { font-size: 1rem; margin-bottom: .35rem; display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.rel-card h3 .arrow { color: var(--kbk-primary); transition: transform .2s ease; }
.rel-card:hover h3 .arrow { transform: translateX(-4px); }
.rel-card p { font-size: .86rem; color: var(--kbk-ink-soft); margin: 0; }
.kbk-case-kpis .kpi .v { font-family: var(--kbk-font-mono); font-weight: 700; font-size: clamp(1.05rem, 2vw, 1.4rem); color: var(--kbk-primary); }
.kbk-pain .icon-wrap { background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); border: 1px solid var(--kbk-line-gold); }
.kbk-pain h3 { font-size: 1.02rem; }
.kbk-pain .p-idx { font-family: var(--kbk-font-mono); font-size: .72rem; color: var(--kbk-muted); }
.kbk-principle .p-num { font-family: var(--kbk-font-mono); font-size: 1.7rem; font-weight: 700; color: var(--kbk-gold-deep); line-height: 1; display: block; margin-bottom: .7rem; }
.kbk-principle h3 { font-size: 1rem; }
.kbk-principle p { font-size: .88rem; }
.kbk-type .icon-wrap { width: 52px; height: 52px; font-size: 1.35rem; }
.kbk-type h3 { font-size: 1.08rem; }
.kbk-type .en { font-family: var(--kbk-font-mono); font-size: .7rem; color: var(--kbk-muted); letter-spacing: .03em; }
.kbk-type .fit { display: inline-block; font-size: .78rem; font-weight: 600;
      background: var(--kbk-primary-soft); color: var(--kbk-gold-deep);
      border: 1px solid var(--kbk-line-gold);
      border-radius: var(--kbk-radius-pill); padding: .2rem .85rem; margin-bottom: .6rem; }
.kbk-type .mods { list-style: none; padding: 0; margin: .6rem 0 0; font-size: .84rem; color: var(--kbk-ink-soft); }
.kbk-type .mods li { position: relative; padding-inline-start: 1.3rem; margin-bottom: .3rem; }
.kbk-type .mods li::before { content: '›'; position: absolute; inset-inline-start: 0; color: var(--kbk-primary-dark); font-weight: 700; }
.kbk-techchip { display: inline-block; font-family: var(--kbk-font-mono); font-size: .8rem;
      border: 1px solid var(--kbk-line); background: var(--kbk-surface);
      color: var(--kbk-ink-soft); border-radius: var(--kbk-radius-pill); padding: .4rem 1rem; }
.kbk-tier .t-range { font-family: var(--kbk-font-mono); font-size: 1.28rem; font-weight: 700; color: var(--kbk-gold-deep); margin: .8rem 0 .2rem; }
.kbk-case-kpis .kpi .v { font-family: var(--kbk-font-mono); font-weight: 700; font-size: clamp(1.15rem, 2.2vw, 1.6rem); color: var(--kbk-primary); direction: ltr; }
.kbk-case-kpis .kpi .l { font-size: .74rem; color: rgba(243, 239, 230, .85); margin-top: .25rem; }
.pkg-item { display: flex; gap: 1rem; align-items: flex-start; }
.pkg-item .pk-num { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; background: var(--kbk-primary-soft); border: 1px solid var(--kbk-line-gold); color: var(--kbk-gold-deep); font-weight: 800; display: flex; align-items: center; justify-content: center; }
.pkg-item h3 { font-size: .98rem; font-weight: 700; margin-bottom: .3rem; }
.pkg-item p { font-size: .85rem; color: var(--kbk-ink-soft); margin: 0; line-height: 1.85; }
.phase-row { display: flex; gap: .9rem; align-items: flex-start; background: var(--kbk-surface); border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius); padding: 1.05rem 1.15rem; height: 100%; transition: border-color .2s ease, transform .2s ease; }
.phase-row:hover { border-color: var(--kbk-primary); transform: translateY(-3px); }
.phase-row .ph-w { flex: 0 0 auto; font-family: var(--kbk-font-mono); font-size: .74rem; font-weight: 700; color: var(--kbk-navy); background: var(--kbk-primary); border-radius: var(--kbk-radius-pill); padding: .3rem .75rem; white-space: nowrap; margin-top: .15rem; }
.phase-row h3 { font-size: .95rem; font-weight: 700; margin-bottom: .3rem; }
.phase-row p { font-size: .83rem; color: var(--kbk-ink-soft); margin: 0; line-height: 1.8; }
.vs-pair .vs-side { background: var(--kbk-surface); border: 1px solid var(--kbk-line); border-radius: var(--kbk-radius); padding: 1.4rem 1.4rem; height: 100%; }
.vs-pair .vs-side h4 { font-size: 1rem; font-weight: 800; margin-bottom: .7rem; }
.vs-pair .vs-side.vs-good { border-color: var(--kbk-primary); box-shadow: var(--kbk-shadow-subtle); }
.vs-pair .vs-tag { display: inline-block; font-size: .72rem; font-weight: 700; border-radius: var(--kbk-radius-pill); padding: .2rem .8rem; margin-bottom: .8rem; }
.vs-pair .vs-bad .vs-tag { color: var(--kbk-error, #B3382E); background: rgba(179, 56, 46, .08); border: 1px solid rgba(179, 56, 46, .25); }
.vs-pair .vs-good .vs-tag { color: var(--kbk-gold-deep); background: rgba(196, 160, 82, .14); border: 1px solid var(--kbk-line-gold); }
.item-card h3 { font-size: .98rem; }
.item-card .icon-wrap { background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); border: 1px solid var(--kbk-line-gold); }
.item-card .it-en { font-family: var(--kbk-font-latin); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--kbk-muted); }
.spec-cell { font-size: .86rem; }
.spec-cell ul { padding-inline-start: 1.1rem; margin: 0; }
.spec-cell li { margin-bottom: .3rem; }
.uix-item h3 { font-size: .98rem; }
.uix-item .icon-wrap { background: var(--kbk-primary-soft); color: var(--kbk-gold-deep); border: 1px solid var(--kbk-line-gold); }
.uix-item .ut-en { font-family: var(--kbk-font-latin); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--kbk-muted); }
.kbk-hero-chips .chip { display: inline-flex; align-items: center; gap: .5rem;
      background: var(--kbk-surface); border: 1px solid var(--kbk-line);
      border-radius: var(--kbk-radius-pill); padding: .5rem 1.1rem;
      font-size: .86rem; font-weight: 600; color: var(--kbk-ink-soft);
      box-shadow: var(--kbk-shadow-subtle); }
.kbk-hero-chips .chip .n { font-family: var(--kbk-font-mono); color: var(--kbk-gold-deep); font-weight: 700; }
.kbk-ticks { list-style: none; padding: 0; margin: .75rem 0 1.1rem; font-size: .88rem; color: var(--kbk-ink-soft); }
.kbk-ticks li { position: relative; padding-inline-start: 1.45rem; margin-bottom: .38rem; }
.kbk-ticks li::before { content: '✓'; position: absolute; inset-inline-start: 0; color: var(--kbk-success); font-weight: 700; }
.kbk-card-sm { padding: 1.5rem; }
.kbk-card-sm .icon-wrap { width: 48px; height: 48px; font-size: 1.25rem; margin-bottom: .9rem; }
.kbk-card-sm h3 { font-size: 1.02rem; font-weight: 700; }
.kbk-card-sm p { font-size: .9rem; }
.kbk-select td:first-child { width: 58%; }
.kbk-section-dark .kbk-step .step-en { color: rgba(233, 229, 218, .5); }
.kbk-card-dark .kbk-ticks li { color: rgba(233, 229, 218, .85); }
.kbk-card-dark .kbk-ticks li::before { color: var(--kbk-primary); }
.kbk-tri .tri-num { font-family: var(--kbk-font-mono); font-size: 2rem; font-weight: 700; color: var(--kbk-gold-deep); line-height: 1; margin-bottom: .8rem; display: block; }
.kbk-tri h3 { font-size: 1.05rem; }
.kbk-tri p { font-size: .92rem; color: var(--kbk-ink-soft); margin: 0; }
.kbk-tariff-strip { background: var(--kbk-primary-soft);
      border: 1px solid var(--kbk-line-gold);
      border-radius: var(--kbk-radius-lg);
      padding: 1.75rem; }
.kbk-compare-wrap { overflow-x: auto; border-radius: var(--kbk-radius-lg); }
.kbk-compare-wrap .kbk-compare { min-width: 620px; }
.kbk-card .kbk-badge { margin-top: .35rem; }
.kbk-article-sec { padding: 3rem 0 0; }
.kbk-article-sec + .kbk-article-sec { border-top: 1px solid var(--kbk-line); margin-top: 3rem; }
.kbk-article-sec h2 { font-size: clamp(1.25rem, 2.1vw, 1.6rem);
      font-weight: 800;
      color: var(--kbk-ink);
      margin-bottom: 1rem;
      display: flex;
      align-items: baseline;
      gap: .6rem; }
.kbk-article-sec h2 .sec-no { font-weight: 900; color: var(--kbk-gold-deep); flex: 0 0 auto; }
.kbk-article-sec h3 { font-size: 1.05rem; font-weight: 700; color: var(--kbk-ink); margin: 1.4rem 0 .6rem; }
.kbk-clause-note { display: flex; gap: .7rem; align-items: flex-start;
      background: var(--kbk-primary-soft);
      border: 1px dashed var(--kbk-line-gold);
      border-radius: var(--kbk-radius-sm);
      padding: .9rem 1.05rem;
      font-size: .88rem; line-height: 2; color: var(--kbk-gold-deep); }
.kbk-clause-note svg { flex: 0 0 18px; margin-top: .25rem; }
.kbk-scope-card h3 { font-size: 1rem; font-weight: 800; margin: .9rem 0 .4rem; }
.kbk-scope-card p { font-size: .88rem; line-height: 2; margin: 0; }
.kbk-flow-step { position: relative; padding: 1.4rem; height: 100%; }
.kbk-flow-step .fs-no { font-family: var(--kbk-font-latin);
      font-size: .68rem; letter-spacing: .14em; text-transform: uppercase;
      color: var(--kbk-gold-deep); margin-bottom: .5rem; }
.kbk-terms-footnote { font-size: .84rem; color: var(--kbk-muted); border-top: 1px solid var(--kbk-line); padding-top: 1.2rem; }
.kbk-navbar .navbar-nav { gap: .3rem; }
html.kbk-booting, html.kbk-booting body { overflow: hidden; }
.kbk-offcanvas .mnav-usercard { background: linear-gradient(150deg, #0D1D33 0%, #102743 70%);
  border: 1px solid rgba(196, 160, 82, .32);
  border-radius: var(--kbk-radius);
  padding: 1.05rem 1rem 1rem;
  margin-bottom: 1rem;
  position: relative; overflow: hidden; }
.kbk-offcanvas .mnav-usercard::before { content: ''; position: absolute; inset: 0;
  background: repeating-linear-gradient(0deg, transparent 0 30px, rgba(243, 239, 230, .035) 30px 31px);
  pointer-events: none; }
.kbk-offcanvas .mnav-usercard .uc-title { color: #fff; font-weight: 800; font-size: .98rem; display: flex; align-items: center; gap: .5rem; margin-bottom: .35rem; }
.kbk-offcanvas .mnav-usercard .uc-title svg { color: var(--kbk-primary); flex: 0 0 16px; }
.kbk-offcanvas .mnav-usercard .uc-sub { color: rgba(243, 239, 230, .6); font-size: .8rem; margin-bottom: .8rem; }
.kbk-offcanvas .mnav-usercard .uc-actions { display: flex; gap: .55rem; position: relative; }
.kbk-offcanvas .mnav-usercard .uc-info { margin-top: .85rem; padding-top: .8rem; border-top: 1px solid rgba(255, 255, 255, .09);
  display: flex; flex-direction: column; gap: .45rem; position: relative; }
.kbk-offcanvas .mnav-usercard .uc-info a, .kbk-offcanvas .mnav-usercard .uc-info span { display: flex; align-items: center; gap: .55rem;
  color: rgba(243, 239, 230, .78); font-size: .84rem; text-decoration: none; }
.kbk-offcanvas .mnav-usercard .uc-info svg { color: var(--kbk-primary); flex: 0 0 14px; }
.kbk-offcanvas .mnav-usercard .uc-info a:hover { color: var(--kbk-primary); }
.kbk-offcanvas .mnav-usercard .btn-kbk-primary, .kbk-offcanvas .mnav-usercard .btn-kbk-ghost-dark { flex: 1; white-space: nowrap; }
}