/* ════════════════════════════════════════════
   kj-program.css — Програми за kojata.com
   Плум-златна естетика, мобилно първо.
════════════════════════════════════════════ */
.kjpr {
  --kjp-plum: #6b2d5e; --kjp-deep: #4f1f46; --kjp-gold: #c9956a;
  --kjp-gold-soft: #e8d3bf; --kjp-paper: #fffaf5; --kjp-ink: #2c2530;
  --kjp-muted: #6f6675; --kjp-line: rgba(107,45,94,.14);
  font-family: 'DM Sans', system-ui, sans-serif; color: var(--kjp-ink);
  max-width: 680px; margin: 0 auto;
}
.kjpr-title {
  font-family: 'Playfair Display', Georgia, serif; font-weight: 700;
  color: var(--kjp-deep); font-size: 1.7rem; margin: 0 0 .3em;
}
.kjpr-sub { color: var(--kjp-muted); font-size: 1rem; line-height: 1.6; margin: 0 0 1em; }
.kjpr-tag {
  font-family: 'DM Sans', sans-serif; font-size: .7rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .06em; color: var(--kjp-gold);
  border: 1px solid var(--kjp-gold-soft); border-radius: 50px; padding: .2em .7em;
  vertical-align: middle;
}

/* Старт екран */
.kjpr-hero {
  background: var(--kjp-paper); border: 1px solid var(--kjp-line);
  border-radius: 16px; padding: 1.6em;
}
.kjpr-points { margin: 0 0 1.3em; padding-left: 1.2em; }
.kjpr-points li { margin-bottom: .5em; line-height: 1.5; color: var(--kjp-ink); }

.kjpr-start {
  background: var(--kjp-plum); color: #fff; border: none; border-radius: 9px;
  padding: .75em 1.5em; font-size: .95rem; font-weight: 600; font-family: inherit;
  cursor: pointer; transition: background .15s;
}
.kjpr-start:hover { background: var(--kjp-deep); }
.kjpr-ghost {
  background: none; border: 1px solid var(--kjp-line); color: var(--kjp-muted);
  border-radius: 8px; padding: .5em 1em; font-size: .82rem; font-family: inherit;
  cursor: pointer; margin-right: 8px;
}
.kjpr-ghost:hover { border-color: var(--kjp-plum); color: var(--kjp-plum); }
.kjpr-link { font-size: .85rem; color: var(--kjp-plum); font-weight: 600; text-decoration: none; }
.kjpr-link:hover { text-decoration: underline; }

/* Прогрес */
.kjpr-head { margin-bottom: 1.2em; }
.kjpr-week { font-size: .9rem; color: var(--kjp-muted); margin-bottom: .5em; }
.kjpr-week strong { color: var(--kjp-plum); font-size: 1.1em; }
.kjpr-bar {
  height: 8px; background: #f0e8ee; border-radius: 50px; overflow: hidden;
}
.kjpr-fill {
  height: 100%; background: linear-gradient(90deg, var(--kjp-plum), var(--kjp-gold));
  border-radius: 50px; transition: width .4s;
}

/* План за седмицата */
.kjpr-plan {
  background: var(--kjp-paper); border: 1px solid var(--kjp-line);
  border-left: 4px solid var(--kjp-gold); border-radius: 12px;
  padding: 1.2em 1.4em; margin-bottom: 1.2em;
}
.kjpr-freq {
  font-family: 'Playfair Display', serif; font-weight: 700;
  color: var(--kjp-deep); font-size: 1.15rem; margin-bottom: .5em;
}
.kjpr-how { line-height: 1.65; margin: 0 0 .8em; }
.kjpr-tip {
  font-size: .88rem; color: var(--kjp-muted); line-height: 1.55;
  padding-top: .8em; border-top: 1px dashed var(--kjp-line);
}

/* Чекин */
.kjpr-checkin {
  background: #fff; border: 1px solid var(--kjp-line); border-radius: 12px;
  padding: 1.2em 1.4em; margin-bottom: 1.2em;
}
.kjpr-checkin h3 {
  font-family: 'Playfair Display', serif; color: var(--kjp-deep);
  font-size: 1.15rem; margin: 0 0 .2em;
}
.kjpr-ch-sub { font-size: .85rem; color: var(--kjp-muted); margin: 0 0 1em; }
.kjpr-q {
  display: flex; align-items: center; justify-content: space-between; gap: 1em;
  padding: .6em 0; border-bottom: 1px solid #f3eef1;
}
.kjpr-q:last-of-type { border-bottom: none; margin-bottom: .8em; }
.kjpr-q span { font-size: .92rem; }
.kjpr-yn { display: flex; gap: 5px; }
.kjpr-yn-btn {
  background: #fff; border: 1px solid var(--kjp-line); color: var(--kjp-muted);
  border-radius: 50px; padding: .35em .95em; font-size: .82rem; font-weight: 600;
  font-family: inherit; cursor: pointer; transition: all .15s;
}
.kjpr-yn-btn.is-active { background: var(--kjp-plum); border-color: var(--kjp-plum); color: #fff; }

.kjpr-nextin {
  background: #f7f2f6; border-radius: 10px; padding: .9em 1.1em;
  font-size: .88rem; color: var(--kjp-muted); margin-bottom: 1.2em;
}

/* Резултат от чекин */
.kjpr-result {
  border-radius: 12px; padding: 1em 1.2em; margin-bottom: 1.2em;
  font-size: .92rem; line-height: 1.6;
}
.kjpr-result-advance { background: #edf7f2; border: 1px solid rgba(45,122,79,.25); color: #21563a; }
.kjpr-result-hold { background: #fdf6ec; border: 1px solid rgba(201,149,106,.35); color: #6e4a22; }
.kjpr-result-done { background: #f3eaf0; border: 1px solid var(--kjp-line); color: var(--kjp-deep); }

/* История */
.kjpr-hist { margin-bottom: 1.2em; }
.kjpr-hist h4 {
  font-size: .78rem; text-transform: uppercase; letter-spacing: .05em;
  color: var(--kjp-muted); margin: 0 0 .5em;
}
.kjpr-hist ul { margin: 0; padding-left: 1.2em; }
.kjpr-hist li { font-size: .85rem; color: var(--kjp-muted); margin-bottom: .25em; }
.kjpr-holds { font-size: .8rem; color: var(--kjp-gold); margin: .5em 0 0; }

/* Мост към рафта */
.kjpr-shelfhint {
  background: #f3eaf0; border-radius: 10px; padding: .8em 1.1em;
  font-size: .85rem; color: var(--kjp-deep); margin-bottom: 1.2em; line-height: 1.55;
}
.kjpr-shelfhint a { color: var(--kjp-plum); font-weight: 600; }

/* Done екран */
.kjpr-done, .kjpr-paused {
  background: var(--kjp-paper); border: 1px solid var(--kjp-line);
  border-radius: 16px; padding: 1.6em; text-align: left;
}
.kjpr-done-badge {
  display: inline-block; background: #edf7f2; color: #2d7a4f;
  border-radius: 50px; padding: .3em .9em; font-size: .8rem; font-weight: 700;
  margin-bottom: .8em;
}
.kjpr-done-msg { line-height: 1.65; }

.kjpr-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 1em; }
.kjpr-disclaimer {
  font-size: .76rem; color: var(--kjp-muted); line-height: 1.5;
  padding-top: 1em; border-top: 1px solid var(--kjp-line); margin: 0;
}

/* ── Броячи (социално доказателство) — за продуктовите страници ── */
.kj-shelf-counts {
  display: flex; align-items: center; gap: .6em; flex-wrap: wrap;
  margin-top: .6em; font-family: 'DM Sans', system-ui, sans-serif;
  font-size: .8rem;
}
.kjpd-hero-shelf + .kj-shelf-counts, .kjpd-hero-meta .kj-shelf-counts { color: rgba(255,255,255,.78); }
.kj-shelf-counts .kj-cnt-sep { opacity: .5; }
