/**
 * МалоМетров — Каталог v2 (/catalog/). Прототип «Каталог v2 (standalone)».
 * Тёмный визард, баннер подписки, пилюли-фильтры, карточки-ссылки, нижний CTA.
 */

.mm-cat2 { background: #E7E5DF; }
.mm-cat2-wrap { padding-top: 40px; padding-bottom: 80px; }

.mm-cat2-head { margin-bottom: 26px; }
.mm-cat2-h1 { font-size: 40px; font-weight: 800; letter-spacing: -0.025em; line-height: 1.05; margin: 0; max-width: 600px; }

/* ---------- Визард (тёмный) ---------- */
.mm-wiz { background: #211C17; border-radius: 12px; overflow: hidden; margin-bottom: 28px; color: #FBF8F2; }
.mm-wiz-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 22px 28px; }
.mm-wiz.is-open .mm-wiz-head { border-bottom: 1px solid rgba(251,248,242,0.08); }
.mm-wiz-title { font-size: 19px; font-weight: 700; }
.mm-wiz-title span { color: #E2895F; }
.mm-wiz-toggle { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: rgba(251,248,242,0.7); cursor: pointer; border: 1px solid rgba(251,248,242,0.18); padding: 8px 16px; border-radius: 20px; background: transparent; white-space: nowrap; }
.mm-wiz-toggle:hover { color: #FBF8F2; border-color: rgba(251,248,242,0.4); }
.mm-wiz-body { padding: 26px 28px; }
.mm-wiz-steps { display: flex; align-items: center; margin-bottom: 16px; }
.mm-wiz-step { flex: 1; display: flex; align-items: center; gap: 9px; font-size: 12px; color: rgba(251,248,242,0.3); }
.mm-wiz-step.is-active { color: #FBF8F2; }
.mm-wiz-step.is-done { color: #C2603A; }
.mm-wiz-step-num { width: 24px; height: 24px; border-radius: 50%; border: 1px solid currentColor; display: flex; align-items: center; justify-content: center; font-size: 11px; flex-shrink: 0; }
.mm-wiz-step.is-done .mm-wiz-step-num { background: #C2603A; color: #FBF8F2; border-color: #C2603A; }
.mm-wiz-bar { height: 3px; background: rgba(251,248,242,0.12); border-radius: 2px; overflow: hidden; }
.mm-wiz-bar-fill { height: 3px; background: #C2603A; border-radius: 2px; transition: width .4s ease; width: 0; }
.mm-wiz-question { margin-top: 22px; }
.mm-wiz-q { font-size: 16px; color: rgba(251,248,242,0.78); margin-bottom: 16px; }
.mm-wiz-opts { display: flex; flex-wrap: wrap; gap: 10px; }
.mm-wiz-opt { font-family: 'Onest', sans-serif; font-size: 14px; padding: 11px 18px; border-radius: 6px; border: 1px solid rgba(251,248,242,0.18); background: transparent; color: rgba(251,248,242,0.82); cursor: pointer; transition: all .15s; }
.mm-wiz-opt:hover { background: #C2603A; border-color: #C2603A; color: #FBF8F2; }
.mm-wiz-result { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 22px; }
.mm-wiz-result-badge { background: #C2603A; color: #FBF8F2; font-size: 13px; font-weight: 600; padding: 8px 16px; border-radius: 6px; white-space: nowrap; }
.mm-wiz-result-text { font-size: 14.5px; color: #FBF8F2; }
.mm-wiz-restart { font-size: 12.5px; color: rgba(251,248,242,0.55); text-decoration: underline; cursor: pointer; margin-left: auto; background: none; border: none; }

/* ---------- Баннер подписки ---------- */
.mm-cat2-banner { background: #E4DAC9; border-radius: 14px; padding: 26px 28px; margin-bottom: 30px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.mm-cat2-banner-text { flex: 1; min-width: 240px; }
.mm-cat2-banner-title { font-size: 18px; font-weight: 700; margin-bottom: 6px; }
.mm-cat2-banner-sub { font-size: 14px; color: #5c5346; line-height: 1.5; }
.mm-cat2-banner-form { display: flex; gap: 10px; flex-wrap: wrap; }
.mm-cat2-banner-input { font-family: 'Onest', sans-serif; font-size: 15px; padding: 12px 16px; border-radius: 8px; border: 1px solid #cdbfa6; background: #FBF8F2; color: #211C17; min-width: 200px; }
.mm-cat2-banner-btn { font-family: 'Onest', sans-serif; font-size: 15px; font-weight: 600; padding: 12px 22px; border-radius: 8px; border: none; background: #211C17; color: #FBF8F2; cursor: pointer; white-space: nowrap; }

/* ---------- Layout ---------- */
.mm-cat2-layout { display: grid; grid-template-columns: 280px 1fr; gap: 40px; align-items: start; }
.mm-cat2-filters { position: sticky; top: 84px; }
.mm-cat2-filters-card { background: #FBF8F2; border: 1px solid #ece5d8; border-radius: 14px; padding: 22px; }
.mm-cat2-filters-title { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #211C17; font-weight: 600; margin-bottom: 20px; }
.mm-facet { margin-bottom: 20px; }
.mm-facet-label { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: #9a8f7e; margin-bottom: 12px; }
.mm-facet-div { height: 1px; background: #ece5d8; margin-bottom: 20px; }
.mm-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mm-chip { font-family: 'JetBrains Mono', monospace; font-size: 12.5px; padding: 8px 14px; border-radius: 999px; cursor: pointer; white-space: nowrap; transition: all .15s; line-height: 1; border: 1px solid #E4DAC9; background: transparent; color: rgba(33,28,23,0.5); font-weight: 500; }
.mm-chip:hover { border-color: #BCB0A0; color: #211C17; }
.mm-chip.is-active { border-color: #211C17; background: #211C17; color: #FBF8F2; }
.mm-chip.is-match { border-color: #C2603A; background: #F0DBCF; color: #9A4A2C; font-weight: 600; }
.mm-cat2 input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: 3px; background: #d6cab5; border-radius: 2px; outline: none; cursor: pointer; }
.mm-cat2 input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border-radius: 50%; background: #FBF8F2; border: 3px solid #C2603A; cursor: pointer; }
.mm-cat2 input[type=range]::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: #FBF8F2; border: 3px solid #C2603A; cursor: pointer; }
.mm-range-labels { display: flex; justify-content: space-between; font-size: 12px; color: #7A7163; margin-top: 9px; }
.mm-range-labels span:last-child { font-weight: 600; color: #211C17; }
.mm-cat2-clear { font-family: 'JetBrains Mono', monospace; font-size: 13px; color: #C2603A; background: none; border: none; text-decoration: underline; cursor: pointer; padding: 0; }

/* ---------- Результаты ---------- */
.mm-cat2-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }
.mm-cat2-count { font-size: 14px; color: #7A7163; }
.mm-cat2-sort { display: flex; align-items: center; gap: 10px; }
.mm-cat2-sort-label { font-family: 'JetBrains Mono', monospace; font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: #7A7163; }
.mm-cat2-sort select { font-family: 'Onest', sans-serif; font-size: 14px; padding: 9px 12px; border-radius: 8px; border: 1px solid #d6cab5; background: #FBF8F2; color: #211C17; cursor: pointer; }
.mm-cat2-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(258px, 1fr)); gap: 20px; }

.mm-c2card { background: #FBF8F2; border: 1px solid #ece5d8; border-radius: 12px; overflow: hidden; text-decoration: none; color: inherit; display: flex; flex-direction: column; box-shadow: 0 1px 3px rgba(0,0,0,0.06); transition: transform .16s ease, box-shadow .16s ease; }
.mm-c2card:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(33,28,23,0.13); }
.mm-c2card-img { position: relative; height: 168px; display: flex; align-items: center; justify-content: center; border-bottom: 1px solid #ece5d8; overflow: hidden; }
.mm-c2card-img img { width: 100%; height: 100%; object-fit: cover; }
.mm-c2card-badge { position: absolute; top: 12px; left: 12px; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.03em; padding: 5px 10px; border-radius: 6px; }
.mm-c2card-corner { position: absolute; bottom: 10px; right: 12px; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.02em; color: #7a6f5a; }
.mm-c2card-body { padding: 18px 20px; display: flex; flex-direction: column; flex: 1; }
.mm-c2card-series { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: #C2603A; margin-bottom: 8px; }
.mm-c2card-title { font-size: 18px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.25; }
.mm-c2card-meta { font-size: 13px; color: #7A7163; margin-top: 5px; }
.mm-c2card-prices { margin-top: 16px; padding-top: 14px; border-top: 1px solid #ece5d8; display: flex; flex-direction: column; gap: 5px; }
.mm-c2card-prices > div { display: flex; justify-content: space-between; font-size: 14px; }
.mm-c2card-prices > div span:first-child { color: #7A7163; }
.mm-c2card-prices > div span:last-child { font-weight: 600; }
.mm-c2card-cta { margin-top: 16px; font-size: 14px; font-weight: 600; color: #C2603A; }

/* ---------- Нет результатов ---------- */
.mm-cat2-empty { background: #FBF8F2; border: 1px dashed #d6cab5; border-radius: 14px; padding: 48px 28px; text-align: center; }
.mm-cat2-empty-title { font-size: 19px; font-weight: 700; margin: 18px 0 8px; }
.mm-cat2-empty-sub { font-size: 14px; color: #7A7163; }
.mm-cat2-empty-sub button { font-family: 'Onest', sans-serif; font-size: 14px; color: #C2603A; background: none; border: none; text-decoration: underline; cursor: pointer; padding: 0; }
.mm-cat2-empty-form { max-width: 420px; margin: 26px auto 0; padding-top: 24px; border-top: 1px solid #ece5d8; }
.mm-cat2-empty-formlabel { font-size: 14px; color: #5c5346; margin-bottom: 14px; }
.mm-cat2-inlineform { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.mm-cat2-empty-input { font-family: 'Onest', sans-serif; font-size: 15px; padding: 12px 16px; border-radius: 8px; border: 1px solid #d6cab5; background: #FBF8F2; color: #211C17; min-width: 200px; }
.mm-cat2-empty-btn { font-family: 'Onest', sans-serif; font-size: 15px; font-weight: 600; padding: 12px 22px; border-radius: 8px; border: none; background: #C2603A; color: #FBF8F2; cursor: pointer; white-space: nowrap; }

/* ---------- Нижний CTA ---------- */
.mm-cat2-bottom { background: #211C17; border-radius: 16px; padding: 36px; margin-top: 40px; color: #FBF8F2; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.mm-cat2-bottom-ico { flex: none; width: 52px; height: 52px; border-radius: 12px; background: rgba(226,137,95,0.16); display: flex; align-items: center; justify-content: center; }
.mm-cat2-bottom-text { flex: 1; min-width: 240px; }
.mm-cat2-bottom-title { font-size: 22px; font-weight: 800; letter-spacing: -0.01em; }
.mm-cat2-bottom-sub { font-size: 15px; color: rgba(251,248,242,0.7); margin-top: 6px; line-height: 1.5; }
.mm-cat2-bottom-form { display: flex; gap: 10px; flex-wrap: wrap; }
.mm-cat2-bottom-input { font-family: 'Onest', sans-serif; font-size: 15px; padding: 13px 16px; border-radius: 8px; border: 1px solid rgba(251,248,242,0.25); background: rgba(251,248,242,0.06); color: #FBF8F2; min-width: 200px; }
.mm-cat2-bottom-input::placeholder { color: rgba(251,248,242,0.5); }
.mm-cat2-bottom-btn { font-family: 'Onest', sans-serif; font-size: 15px; font-weight: 600; padding: 13px 24px; border-radius: 8px; border: none; background: #C2603A; color: #FBF8F2; cursor: pointer; white-space: nowrap; }
/* Кнопка-ссылка на полную заявку (Б8.2) — не submit-форма. */
.mm-cat2-bottom-cta { flex: none; font-family: 'Onest', sans-serif; font-size: 15px; font-weight: 600; padding: 14px 26px; border-radius: 10px; background: #C2603A; color: #FBF8F2; text-decoration: none; white-space: nowrap; transition: background .15s; }
.mm-cat2-bottom-cta:hover, .mm-cat2-bottom-cta:focus { background: #a94f2d; color: #FBF8F2; }
/* Мост из пустого состояния на полную заявку (Б8.3). */
.mm-cat2-empty-bridge { margin-top: 18px; font-size: 13.5px; }
.mm-cat2-empty-bridge a { color: #C2603A; text-decoration: underline; }

@media (max-width: 880px) {
	.mm-cat2-layout { grid-template-columns: 1fr; gap: 0; }
	.mm-cat2-filters { position: static; margin-bottom: 30px; }
	.mm-cat2-h1 { font-size: 32px; }
}
