/* Блок Z22: «Распродажа» на главной. Цвета и шрифт — из site.css (:root), свои классы — с префиксом sl-. */
.sec-sale [hidden] { display: none !important; }
.sl-head { margin-bottom: 16px; }
.sl-badge { display: inline-block; background: #c62828; color: #fff; font-weight: 700; font-size: 12px;
  letter-spacing: .06em; text-transform: uppercase; padding: 4px 10px; border-radius: 6px; }
.sl-head h2 { margin: 10px 0 6px; }
.sl-lead { color: var(--muted); margin: 0; max-width: 780px; }
.sl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.sl-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden;
  display: flex; flex-direction: column; }
.sl-pic { background: #fff; aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center;
  border-bottom: 1px solid var(--line); }
.sl-pic img { width: 100%; height: 100%; object-fit: contain; padding: 12px; box-sizing: border-box; }
.sl-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.sl-body h3 { font-size: 16px; line-height: 1.3; margin: 0; }
.sl-note, .sl-stock { color: var(--muted); font-size: 14px; margin: 0; }
.sl-price { font-size: 20px; font-weight: 700; margin: 6px 0 4px; }
.sl-price-note { color: var(--muted); font-size: 14px; font-weight: 400; margin-left: 4px; }   /* Блок Z22.1 */
/* Блок Z22.1: плашка над ценой (price_badge) — фирменный жёлтый, тёмный текст */
.sl-price-badge { align-self: flex-start; background: var(--accent); color: var(--text); font-weight: 700;
  font-size: 13px; line-height: 1.2; padding: 5px 10px; border-radius: 6px; margin-top: 8px; }
.sl-price-badge + .sl-price { margin-top: 0; }
.sl-buy { display: flex; gap: 8px; align-items: stretch; margin-top: auto; }
.sl-buy input { width: 78px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; font: inherit; }
.sl-msg { font-size: 14px; margin: 4px 0 0; color: var(--green); }
.sl-msg.err { color: #b3261e; }
.sl-msg a { color: inherit; font-weight: 600; }
/* одна позиция — широкая карточка: фото слева, текст справа */
.sl-one { grid-template-columns: 1fr; }
.sl-one .sl-card { flex-direction: row; }
.sl-one .sl-pic { flex: 0 0 46%; aspect-ratio: auto; min-height: 280px; border-bottom: 0; border-right: 1px solid var(--line); }
.sl-one .sl-body { padding: 26px 30px; justify-content: center; gap: 8px; }
.sl-one .sl-body h3 { font-size: 22px; }
.sl-one .sl-price { font-size: 24px; }
.sl-one .sl-buy { margin-top: 10px; }
@media (max-width: 1024px) { .sl-grid { grid-template-columns: repeat(2, 1fr); } .sl-one { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .sl-grid { grid-template-columns: 1fr; }
  .sl-one .sl-card { flex-direction: column; }
  .sl-one .sl-pic { flex: none; min-height: 0; aspect-ratio: 4 / 3; border-right: 0; border-bottom: 1px solid var(--line); }
  .sl-one .sl-body { padding: 16px; }
  .sl-one .sl-body h3 { font-size: 18px; }
}
