/*
 * promo-styles.css  —  Generic KBank partner-promotion card styles
 * ธีมกลาง ๆ (เขียวกสิกร #00a94f) ปรับสีได้ที่ตัวแปร --kbppromo-* ด้านล่าง
 * ทุก selector ใช้ !important เพื่อกัน CSS ของ CMS มา override
 */
.kbppromo-root {
  --kbppromo-accent: #00a94f;
  --kbppromo-accent-dark: #007a3a;
  --kbppromo-ink: #1a1a1a;
  --kbppromo-muted: #7a7a7a;
  --kbppromo-line: #e7e7e7;
  --kbppromo-card-bg: #ffffff;
  --kbppromo-radius: 14px;
  color: var(--kbppromo-ink) !important;
}
.kbppromo-root *,
.kbppromo-root *::before,
.kbppromo-root *::after {
  box-sizing: border-box !important;
}

.kbppromo-tabs-wrap {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  margin: 0 0 20px !important;
  scrollbar-width: none !important;
}
.kbppromo-tabs-wrap::-webkit-scrollbar {
  display: none !important;
}
.kbppromo-tabs-row {
  display: inline-flex !important;
  gap: 8px !important;
  padding: 2px !important;
  min-width: 100% !important;
}
.kbppromo-tab {
  flex: 0 0 auto !important;
  border: 1px solid var(--kbppromo-line) !important;
  background: #fff !important;
  color: #555 !important;
  border-radius: 999px !important;
  padding: 9px 18px !important;
  font-size: clamp(14px, 2vw, 15px) !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: all 0.18s ease !important;
}
.kbppromo-tab:hover {
  border-color: var(--kbppromo-accent) !important;
  color: var(--kbppromo-accent) !important;
}
.kbppromo-tab.on {
  background: var(--kbppromo-accent) !important;
  border-color: var(--kbppromo-accent) !important;
  color: #fff !important;
}
.kbppromo-tab-n {
  display: inline-block !important;
  min-width: 20px !important;
  padding: 0 6px !important;
  margin-left: 4px !important;
  border-radius: 999px !important;
  background: rgba(0, 0, 0, 0.08) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}
.kbppromo-tab.on .kbppromo-tab-n {
  background: rgba(255, 255, 255, 0.28) !important;
}

.kbppromo-title-row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 16px !important;
}

.kbppromo-title-row.kbppromo-solo {
  justify-content: flex-start !important;
  margin-bottom: 12px !important;
}
.kbppromo-title {
  font-size: clamp(18px, 2.6vw, 22px) !important;
  font-weight: 800 !important;
  color: var(--kbppromo-ink) !important;
}
.kbppromo-pginfo {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--kbppromo-muted) !important;
}

.kbppromo-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
}
@media (min-width: 768px) {
  .kbppromo-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (min-width: 991px) {
  .kbppromo-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

.kbppromo-card {
  position: relative !important;
  background: var(--kbppromo-card-bg) !important;
  border: 1px solid var(--kbppromo-line) !important;
  border-radius: var(--kbppromo-radius) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease !important;
}

.kbppromo-section{
  margin-bottom: 24px !important;
}

.kbppromo-badge {
  display: inline-block !important;
  align-self: flex-start !important;
  margin-top: 6px !important;
  background: rgba(0, 169, 79, 0.12) !important;
  color: var(--kbppromo-accent-dark) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0, 169, 79, 0.25) !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.kbppromo-card-hero {
  position: relative !important;
  width: 100% !important;
  max-height: 420px !important;
  background: #f1f1f1 !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
}
.kbppromo-card-hero img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.kbppromo-card-hero.kbppromo-hero-empty {
  background: linear-gradient(135deg, #eafaf0 0%, #d6f0e0 100%) !important;
}
.kbppromo-card-hero .kbppromo-card-logo {
  position: absolute !important;
  left: 12px !important;
  bottom: -26px !important;
  width: 64px !important;
  height: 64px !important;
}

.kbppromo-card-hd {
  padding: 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}
.kbppromo-card-hero + .kbppromo-card-hd {
  padding-top: 28px !important;
}
.kbppromo-card-logo {
  width: 64px !important;
  height: 64px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  background: #fff !important;
  border: 1px solid #eee !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px !important;
}
.kbppromo-card-logo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}
.kbppromo-card-logo.kbppromo-logo-fallback {
  background: var(--kbppromo-accent) !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  padding: 0 !important;
}
.kbppromo-card-logo.kbppromo-logo-fallback img {
  display: none !important;
}
.kbppromo-card-meta {
  min-width: 0 !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.kbppromo-card-name {
  font-size: clamp(16px, 2vw, 18px) !important;
  font-weight: 800 !important;
  color: var(--kbppromo-ink) !important;
  line-height: 1.5 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.kbppromo-card-body {
  padding: 4px 16px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.kbppromo-card-headline {
  font-size: clamp(14px, 2vw, 15px) !important;
  font-weight: 800 !important;
  color: var(--kbppromo-accent-dark) !important;
  line-height: 1.5 !important;
}
.kbppromo-card-detail {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  color: #444 !important;
}

.kbppromo-benefits {
  margin: 0 !important;
  padding: 0 0 0 16px !important;
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
}
.kbppromo-benefits li {
  position: relative !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  color: #444 !important;
}
/* .kbppromo-benefits li::before {
  content: "" !important;
  position: absolute !important;
  left: -14px !important;
  top: 7px !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--kbppromo-accent) !important;
} */

.kbppromo-card-note {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #9a6200 !important;
  background: #fff7ea !important;
  border: 1px solid #ffe6bf !important;
  border-radius: 8px !important;
  padding: 7px 10px !important;
  line-height: 1.5 !important;
}

/* สาขาที่ร่วมรายการ — chip แทนตัวหนังสือยาวคั่นด้วย "·" บรรทัดเดียว */
.kbppromo-branches {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.kbppromo-branches-lbl {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--kbppromo-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}
.kbppromo-branches-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.kbppromo-branch-chip {
  display: inline-block !important;
  background: #f2f7f4 !important;
  color: #33513f !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  border: 1px solid #e0ebe4 !important;
}

/* ชิปโค้ดในกลางประโยค bullet — แทน " — โค้ด XXXX" ที่จมไปกับข้อความ */
.kbppromo-inline-code {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  vertical-align: middle !important;
  background: rgba(0, 169, 79, 0.1) !important;
  color: var(--kbppromo-accent-dark) !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  letter-spacing: 0.3px !important;
  padding: 2px 8px !important;
  border-radius: 6px !important;
  border: 1px dashed rgba(0, 169, 79, 0.4) !important;
}
.kbppromo-inline-code-lbl {
  font-weight: 500 !important;
  color: var(--kbppromo-muted) !important;
}

/* ลงทะเบียนผ่าน SMS — คำอธิบาย (ทุกจอ) + ปุ่มคลิก (โผล่เฉพาะจอมือถือ) */
.kbppromo-register {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.kbppromo-register-text {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  color: #444 !important;
}
.kbppromo-register-code,
.kbppromo-register-number {
  color: var(--kbppromo-accent-dark) !important;
  font-weight: 800 !important;
}
.kbppromo-register-btn {
  display: none !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  text-decoration: none !important;
  background: var(--kbppromo-accent) !important;
  color: #fff !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  text-align: center !important;
}
.kbppromo-register-btn-lbl {
  font-size: 14px !important;
  color: #fff !important;
}
.kbppromo-register-btn-code {
  font-size: 12px !important;
  color: #cdf7dc !important;
}
@media (max-width: 767px) {
  .kbppromo-register-btn {
    display: flex !important;
  }
}

.kbppromo-div {
  border-top: 1px solid #eee !important;
  margin: 2px 0 !important;
}

.kbppromo-subhead {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: var(--kbppromo-ink) !important;
}

.kbppromo-kv {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}
.kbppromo-kv-row {
  display: grid !important;
  grid-template-columns: 82px 1fr !important;
  gap: 8px !important;
  align-items: baseline !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
.kbppromo-kv-k {
  color: var(--kbppromo-muted) !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}
.kbppromo-kv-v {
  color: var(--kbppromo-ink) !important;
  font-weight: 700 !important;
  word-break: break-word !important;
  min-width: 0 !important;
}
.kbppromo-kv-v.kbppromo-kv-strong {
  font-weight: 800 !important;
}
.kbppromo-kv-v.kbppromo-kv-accent {
  color: var(--kbppromo-accent-dark) !important;
}
.kbppromo-kv-link {
  color: var(--kbppromo-accent-dark) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
.kbppromo-kv-link:hover {
  color: var(--kbppromo-accent) !important;
}
.kbppromo-kv-v.kbppromo-kv-code {
  display: inline-block !important;
  justify-self: start !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  color: var(--kbppromo-accent-dark) !important;
  background: rgba(0, 169, 79, 0.1) !important;
  border: 1px dashed rgba(0, 169, 79, 0.4) !important;
  border-radius: 6px !important;
  padding: 1px 8px !important;
}

/* กล่อง "เงื่อนไขโปรโมชัน" (accordion) — สี/สถานะตรงกับ .accordion ของ CMS
   ต้นฉบับ reuse แยกไฟล์: accordion-condition.html (.kb-acc) */
.kbppromo-card-foot {
  margin-top: auto !important; /* ดันเงื่อนไข+ลิงก์ไปติดล่างการ์ด */
  padding: 0 16px 16px !important;
}
.kbppromo-terms {
  background: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2) !important;
  overflow: hidden !important;
}
.kbppromo-morelink + .kbppromo-terms {
  margin-top: 12px !important;
}
.kbppromo-terms-sum {
  position: relative !important;
  list-style: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 11px 14px !important;
  color: #111 !important;
  background: transparent !important;
  user-select: none !important;
  outline: none !important;
  transition:
    background 0.2s ease,
    color 0.2s ease !important;
}
.kbppromo-terms-sum:hover {
  background: #cceedc !important;
}
.kbppromo-terms[open] .kbppromo-terms-sum {
  background: #cceedc !important;
  color: #333 !important;
}
.kbppromo-terms-sum::-webkit-details-marker {
  display: none !important;
}
.kbppromo-terms-lbl {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: inherit !important;
}
.kbppromo-terms-btn {
  position: relative !important;
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  color: var(--kbppromo-accent) !important;
}
.kbppromo-terms-btn::before,
.kbppromo-terms-btn::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background: currentColor !important;
  border-radius: 2px !important;
}
.kbppromo-terms-btn::before {
  width: 14px !important;
  height: 2px !important;
}
.kbppromo-terms-btn::after {
  width: 2px !important;
  height: 14px !important;
}
.kbppromo-terms[open] .kbppromo-terms-btn::after {
  display: none !important; /* ซ่อนขีดตั้ง = เหลือเครื่องหมายลบ */
}
.kbppromo-terms-sum:focus-visible {
  outline: 2px solid var(--kbppromo-accent) !important;
  outline-offset: -2px !important;
}
.kbppromo-terms-box {
  padding: 12px 14px 14px !important;
  background: #fff !important;
}

/* 1 กลุ่ม = 1 หัวข้อ + ข้อย่อยของหัวข้อนั้น (partner / ธนาคาร) */
.kbppromo-terms-grp + .kbppromo-terms-grp {
  margin-top: 12px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--kbppromo-line) !important;
}
.kbppromo-terms-h {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  color: var(--kbppromo-ink) !important;
  margin: 0 0 6px !important;
}

/* ไม่มี scroll ในกล่องแล้ว — ปล่อยยาวไปเลย ให้กด accordion พับเอา */
.kbppromo-terms-list {
  margin: 0 !important;
  padding: 0 0 0 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.kbppromo-terms-list li {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #666 !important;
  list-style: disc !important;
  overflow-wrap: anywhere !important;
}
/* เน้นข้อความ (เขียนกำกับในถ้อยคำที่ promo-config.js)
     **ข้อความ** → เขียว  ชื่อร้าน/ผู้ติดต่อ
     !!ข้อความ!! → แดง   คำเตือน (ใช้ให้น้อย)
   น้ำหนัก 600 ไม่ใช่ 700 — พอให้สะดุดตาโดยไม่ดูหนาไปทั้งย่อหน้า */
.kbppromo-em {
  font-weight: 600 !important;
  color: var(--kbppromo-accent-dark) !important;
}
/* .kbppromo-warn {
  font-weight: 600 !important;
  color: #c62828 !important;
} */
/* ลิงก์ "ดูรายละเอียดเพิ่มเติม" — บล็อกแยกนอกกล่องเงื่อนไข (label/URL คนละบรรทัด) */
.kbppromo-morelink {
  display: block !important;
  word-break: break-word !important;
  text-decoration: none !important;
}
.kbppromo-morelink-lbl {
  display: block !important;
  font-size: 12px !important;
  font-weight: 400 !important;      /* ประโยคยาว ไม่ควรหนา — ตัวที่ต้องเด่นคือ URL ข้างล่าง */
  line-height: 1.45 !important;
  color: var(--kbppromo-muted) !important;
}
.kbppromo-morelink-url {
  display: block !important;          /* บังคับขึ้นบรรทัดใหม่ ไม่ต่อท้าย label */
  margin-top: 2px !important;
  overflow-wrap: anywhere !important; /* URL ยาวให้ตัดบรรทัด ไม่ดันการ์ดบาน */
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--kbppromo-accent-dark) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
/* แบบกดไม่ได้: ตัวหนังสือธรรมดา ไม่ขีดเส้นใต้ ไม่เขียว */
.kbppromo-morelink--static {
  cursor: default !important;
}
.kbppromo-morelink--static .kbppromo-morelink-lbl {
  font-weight: 600 !important;
}
.kbppromo-morelink--static .kbppromo-morelink-url {
  color: var(--kbppromo-muted) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

.kbppromo-pager {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  margin-top: 24px !important;
}
.kbppromo-pg {
  min-width: 38px !important;
  height: 38px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  cursor: pointer !important;
  border: 1px solid #ddd !important;
  background: #fff !important;
  color: #555 !important;
  transition: all 0.18s ease !important;
}
.kbppromo-pg:hover {
  border-color: var(--kbppromo-accent) !important;
  color: var(--kbppromo-accent) !important;
}
.kbppromo-pg.on {
  border-color: var(--kbppromo-accent) !important;
  background: var(--kbppromo-accent) !important;
  color: #fff !important;
  pointer-events: none !important;
}
.kbppromo-pg.dis {
  opacity: 0.4 !important;
  pointer-events: none !important;
  background: #f9f9f9 !important;
}

.kbppromo-empty {
  grid-column: 1 / -1 !important;
  text-align: center !important;
  color: var(--kbppromo-muted) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 40px 16px !important;
}

@media (max-width: 420px) {
  .kbppromo-card-hd {
    padding: 14px !important;
    gap: 10px !important;
  }
  .kbppromo-card-logo {
    width: 54px !important;
    height: 54px !important;
  }
  .kbppromo-card-body {
    padding: 4px 14px 14px !important;
  }
  .kbppromo-kv-row {
    grid-template-columns: 68px 1fr !important;
    gap: 6px !important;
  }
  .kbppromo-terms {
    margin-left: 14px !important;
    margin-right: 14px !important;
  }
  .kbppromo-terms-sum,
  .kbppromo-terms-box {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .kbppromo-tab {
    padding: 8px 14px !important;
  }
}

@media (min-width: 1280px) {
  .kbppromo-grid {
    gap: 20px !important;
  }
}

/* ---------- disclaimer modal (ก่อนออกไปเว็บภายนอก) ----------
   วางไว้ที่ document.body (นอก .kbppromo-root) จึงใช้ selector ระดับบนสุด */
.kbppromo-modal-bg {
  display: none;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  background: rgba(0, 0, 0, 0.5) !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
}
.kbppromo-modal {
  background: #fff !important;
  border-radius: 8px !important;
  width: 100% !important;
  max-width: 440px !important;
  padding: 24px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;
  text-align: left !important;
}
.kbppromo-modal-title {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #1a1a1a !important;
  margin: 0 0 10px !important;
}
.kbppromo-modal-text {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #555 !important;
  margin: 0 0 14px !important;
}
.kbppromo-modal-urlwrap {
  background: #f5f6f8 !important;
  border: 1px solid #e7e7e7 !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  margin: 0 0 18px !important;
  font-size: 13px !important;
  word-break: break-all !important;
}
.kbppromo-modal-urllbl {
  font-weight: 700 !important;
  color: #1a1a1a !important;
}
.kbppromo-modal-url {
  color: var(--kbppromo-accent-dark, #007a3a) !important;
}
.kbppromo-modal-actions {
  display: flex !important;
  gap: 10px !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
}
.kbppromo-modal-btn {
  border-radius: 999px !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  border: 1px solid transparent !important;
  transition: all 0.18s ease !important;
}
.kbppromo-modal-cancel {
  background: #fff !important;
  border-color: #ddd !important;
  color: #555 !important;
}
.kbppromo-modal-cancel:hover {
  border-color: #999 !important;
  color: #222 !important;
}
.kbppromo-modal-proceed {
  background: #00a94f !important;
  color: #fff !important;
}
.kbppromo-modal-proceed:hover {
  background: #007a3a !important;
}

.kbppromo-dbgbar {
  border: 1px dashed #c026d3 !important;
  background: #fdf4ff !important;
  border-radius: var(--kbppromo-radius) !important;
  padding: 12px 16px !important;
  margin: 0 0 20px !important;
}
.kbppromo-dbgbar-t {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #86198f !important;
}
.kbppromo-dbgbar-s {
  font-size: 14px !important;
  color: #a21caf !important;
  margin-top: 2px !important;
}
.kbppromo-dbgbar-n {
  font-size: 13px !important;
  color: var(--kbppromo-muted) !important;
  margin-top: 6px !important;
}

.kbppromo-dbg {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 12px !important;
  border-bottom: 1px solid var(--kbppromo-line) !important;
  background: #fafafa !important;
}
.kbppromo-dbg-tag {
  flex: 0 0 auto !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
  color: #fff !important;
}
.kbppromo-dbg-tag--hidden { background: #dc2626 !important; }
.kbppromo-dbg-tag--draft { background: #ca8a04 !important; }
.kbppromo-dbg-tag--expired { background: #ea580c !important; }
.kbppromo-dbg-tag--future { background: #2563eb !important; }
.kbppromo-dbg-tag--nolink { background: #7c3aed !important; }
.kbppromo-dbg-why {
  font-size: 12px !important;
  color: var(--kbppromo-muted) !important;
  line-height: 1.5 !important;
}

/* การ์ดที่ไม่ขึ้นหน้าจริง — หรี่ลงให้แยกออกจากใบปกติทันที */
.kbppromo-card--dbg {
  opacity: 0.75 !important;
  box-shadow: none !important;
}
.kbppromo-card--dbg:hover { opacity: 1 !important; }
.kbppromo-card--dbg-hidden { border-color: #dc2626 !important; }
.kbppromo-card--dbg-draft { border-color: #ca8a04 !important; }
.kbppromo-card--dbg-expired { border-color: #ea580c !important; }
.kbppromo-card--dbg-future { border-color: #2563eb !important; }
.kbppromo-card--dbg-nolink { border-color: #7c3aed !important; }
