/* Стили раздела (kitchen: рецепты, меню, покупки, подписка) — только токенами из app.css (тест SectionCssTest). */
.kbox { display: flex; flex-direction: column; gap: 12px; }
#recipes-q { width: 100%; }

/* плитка рецепта: карточка + сердечко избранного поверх фото */
.ktile { position: relative; }
.ktile .recipe-card { width: 100%; height: 100%; }
.kfav { position: absolute; top: 8px; right: 8px; width: 40px; height: 40px; border-radius: 50%; border: 0; cursor: pointer;
  background: var(--card); color: var(--accent-text); font: inherit; font-size: 20px; line-height: 1; box-shadow: var(--shadow); }
.kfav[aria-pressed="true"] { color: var(--warm-ink); }
.recipe-cover.ktile .kfav { top: 12px; right: 12px; }

/* порции − 1 + */
.kstep { display: flex; align-items: center; gap: 12px; }
.kstep .round { width: 44px; height: 44px; font-size: 22px; }
.kstep b { min-width: 96px; text-align: center; font-size: 15px; }

/* чек-лист: ингредиенты и покупки */
.kcheck { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 15px; cursor: pointer; }
.kcheck:last-child { border-bottom: 0; }
.kcheck input { width: 24px; height: 24px; margin: 0; accent-color: var(--sage); }
.kcheck input:checked + span { color: var(--strike); text-decoration: line-through; }
.kcount { min-width: 32px; text-align: center; color: var(--accent-text); background: var(--sage-soft); border-radius: 10px; padding: 4px 8px; }

/* полоса «сколько куплено» на светлой карточке */
.kbar { height: 8px; border-radius: 4px; background: var(--sage-soft); overflow: hidden; }
.kbar > div { height: 8px; background: var(--sage); border-radius: 4px; transition: width 0.3s; }

/* «Чем заменить?» — выбор варианта */
.kopt { flex-direction: row; align-items: center; gap: 12px; padding: 10px; font: inherit; color: inherit; text-align: left; cursor: pointer; width: 100%; }
.kopt img { width: 56px; height: 56px; border-radius: 12px; object-fit: cover; flex-shrink: 0; background: var(--placeholder); }
.kopt[aria-pressed="true"] { border-color: var(--sage); box-shadow: 0 0 0 2px var(--sage); }

/* итог действия: «Блюдо заменено», «Записано», «Покупки отмечены», «Меню готово» */
.kdone { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; }
.kdone h2 { margin: 0; }
.kdone .btn { margin-top: 4px; }
.kok { width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: var(--sage-soft); color: var(--accent-text); font-size: 28px; }
#menuready { justify-content: center; min-height: 100vh; }

/* «Моя подписка» */
.ksub-status { font-size: 20px; }
.ksub.ok .ksub-status { color: var(--accent-text); }
.ksub.warn .ksub-status { color: var(--warm-ink); }
