/* HIGOLD — мобильная версия */
:root {
  --ink: #10151b;
  --paper: #ffffff;
  --bg: #F2F0EC;
  --line: #E2DED6;
  --muted: #6B7280;
  --coral: #FF6B57;
  --sky: #4A9FD8;
  --dark: #101820;
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: 'Golos Text', -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: 15px;
  line-height: 1.45;
  padding-bottom: 78px;
  overscroll-behavior-y: contain;
}
img { max-width: 100%; display: block; border-radius: 14px; }
.m-head img, .m-item-ph img { border-radius: 10px; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; }

/* шапка */
.m-head {
  position: sticky; top: 0; z-index: 30;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
  padding: 10px 14px;
  display: flex; align-items: center; gap: 12px;
}
.m-head img { height: 26px; }
.m-head-tel { margin-left: auto; font-weight: 700; font-size: 14px; letter-spacing: .01em; white-space: nowrap; }
@media (max-width: 400px) {
  .m-head { gap: 8px; padding: 10px 12px; }
  .m-head-tel { font-size: 13px; }
  .m-head-call { padding: 8px 11px; font-size: 12px; }
}
.m-head-call {
  background: #223E6E; color: #fff; border-radius: 999px;
  padding: 8px 14px; font-size: 13px; font-weight: 600;
}

/* низ */
.m-nav {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
  background: var(--paper);
  border-top: 1px solid var(--line);
  display: grid; grid-template-columns: repeat(4, 1fr);
  padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
}
.m-nav button {
  background: none; border: 0; padding: 6px 2px; font-size: 11px; color: var(--muted);
  display: flex; flex-direction: column; align-items: center; gap: 3px; cursor: pointer;
}
.m-nav button b { font-size: 17px; line-height: 1; font-weight: 600; }
.m-nav button.active { color: var(--ink); font-weight: 700; }
.m-badge {
  position: absolute; transform: translate(14px, -6px);
  background: var(--coral); color: #fff; border-radius: 999px;
  font-size: 10px; padding: 1px 6px; font-weight: 700;
}

/* герой */
.m-hero { padding: 18px 14px 6px; }
.m-label { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.m-hero h1 {
  font-family: 'Archivo Black', 'Golos Text', sans-serif;
  text-transform: uppercase; font-size: 26px; line-height: 1.05;
  margin: 10px 0 8px; letter-spacing: -.015em;
}
.m-slogan { font-size: 16px; font-weight: 600; margin: 0 0 14px; }
.m-btns { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.m-btn {
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--ink); border-radius: 999px; background: var(--paper);
  padding: 11px 18px; font-size: 14px; font-weight: 600; cursor: pointer;
}
.m-btn-dark { background: #223E6E; color: #fff; border-color: #223E6E; }
.m-btn-dark:hover { background: #2F5494; border-color: #2F5494; }
.m-btn-more { display: none; margin: 14px auto 0; }
.m-hero-gal { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.m-hero-cell { margin: 0; border-radius: 14px; overflow: hidden; aspect-ratio: 3/4; background: #ddd; }
.m-hero-cell--0 { grid-row: span 2; aspect-ratio: 3/5; }
.m-hero-cell img { width: 100%; height: 100%; object-fit: cover; }

/* секции */
.m-sec { padding: 22px 14px 0; }
.m-h2 { font-family: 'Archivo Black', sans-serif; text-transform: uppercase; font-size: 18px; margin: 0 0 12px; }
.m-sub { display: block; font-size: 12px; color: var(--muted); font-weight: 400; }
.m-card { background: var(--paper); border-radius: 16px; padding: 14px; border: 1px solid var(--line); margin-bottom: 12px; }
.m-card-head b { font-family: 'Archivo Black', sans-serif; text-transform: uppercase; font-size: 16px; }
.m-row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--line); }
.m-row:first-of-type { margin-top: 10px; }
.m-row-name { font-weight: 600; flex: 1; }
.m-row-count { font-size: 12px; color: var(--muted); }
.m-row-go { border: 0; background: none; font-size: 20px; cursor: pointer; color: var(--ink); padding: 0 4px; }

.m-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.m-tile { position: relative; display: block; border-radius: 14px; overflow: hidden; aspect-ratio: 1/1; background: #ddd; }
.m-tile img { width: 100%; height: 100%; object-fit: cover; }
.m-tile-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 10px 9px; color: #fff;
  background: linear-gradient(to top, rgba(10,14,18,.9), rgba(10,14,18,0)); display: flex; flex-direction: column; }
.m-tile-cap b { font-size: 14px; font-weight: 700; }
.m-tile-cap i { font-style: normal; font-size: 11px; opacity: .75; }

/* поиск и чипы */
.m-search { padding: 12px 14px 0; position: sticky; top: 47px; background: var(--bg); z-index: 20; }
.m-search input {
  width: 100%; padding: 12px 14px; border-radius: 999px; border: 1px solid var(--line);
  background: var(--paper); font-size: 15px;
}
.m-chips { display: flex; gap: 7px; overflow-x: auto; padding: 10px 14px 4px; scrollbar-width: none; }
.m-chips::-webkit-scrollbar { display: none; }
.m-chip { white-space: nowrap; border: 1px solid var(--line); background: var(--paper); border-radius: 999px; padding: 7px 13px; font-size: 13px; cursor: pointer; }
.m-chip.active { background: var(--ink); color: #fff; border-color: var(--ink); }

/* список */
.m-list { padding: 8px 14px 0; }
.m-count { font-size: 12px; color: var(--muted); padding: 4px 0 10px; }
.m-item { display: flex; gap: 12px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 10px; margin-bottom: 10px; }
.m-item-ph { width: 92px; flex: none; border-radius: 10px; overflow: hidden; background: var(--bg); aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; }
.m-item-ph img { width: 100%; height: 100%; object-fit: cover; }
.m-item-no { font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: var(--muted); }
.m-item-body { flex: 1; min-width: 0; }
.m-item-art { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: var(--muted); }
.m-item-name { font-size: 13.5px; font-weight: 600; margin: 2px 0 4px; line-height: 1.3; }
.m-item-meta { font-size: 11.5px; color: var(--muted); margin-bottom: 4px; }
.m-item-price { font-weight: 700; font-size: 15px; }
.m-item-avail { font-size: 11px; color: var(--muted); }
.m-item-avail.yes { color: #1B8A4B; font-weight: 600; }
.m-add { margin-top: 8px; padding: 8px 14px; font-size: 13px; }

/* корзина */
.m-cart-row { display: flex; gap: 10px; padding: 12px 14px; background: var(--paper); border-bottom: 1px solid var(--line); }
.m-cart-row .m-item-body { flex: 1; }
.m-q { display: inline-flex; align-items: center; gap: 10px; margin-top: 8px; }
.m-q { display: flex; }
.m-q button.m-q { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--line); background: var(--paper); font-size: 16px; cursor: pointer; }
.m-qn { font-size: 13px; min-width: 48px; text-align: center; }
.m-sum { padding: 16px 14px; font-weight: 700; font-size: 16px; }
.m-form { padding: 0 14px 20px; display: flex; flex-direction: column; gap: 8px; }
.m-form input { padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line); font-size: 15px; }

/* CTA и контакты */
.m-cta { margin: 24px 14px 0; padding: 20px 16px; background: #223E6E; color: #fff; border-radius: 18px; }
.m-cta h3 { font-family: 'Archivo Black', sans-serif; text-transform: uppercase; margin: 0 0 8px; font-size: 18px; }
.m-cta p { font-size: 13.5px; opacity: .85; margin: 0 0 14px; }
.m-cta .m-btn { background: #fff; color: var(--dark); border-color: #fff; }
.m-contacts { padding-bottom: 30px; }
.m-tel { display: inline-block; font-family: 'Archivo Black', sans-serif; font-size: 22px; margin: 4px 0 6px; }
.m-muted { font-size: 12.5px; color: var(--muted); }

/* тост */
#m-toast {
  position: fixed; left: 50%; bottom: 92px; transform: translate(-50%, 20px);
  background: var(--ink); color: #fff; padding: 10px 18px; border-radius: 999px;
  font-size: 13px; opacity: 0; transition: .25s; pointer-events: none; z-index: 50;
}
#m-toast.show { opacity: 1; transform: translate(-50%, 0); }

.m-chips-sub { padding-top: 2px; }
.m-chips-sub .m-chip { background: #f2f4f7; border-color: #e2e6ec; color: #33415c; }
.m-chips-sub .m-chip.active { background: #223E6E; border-color: #223E6E; color: #fff; }
.m-chip-photo { margin: 2px 14px 0; }
.m-chip-photo.active { background: #223E6E; border-color: #223E6E; color: #fff; }
.m-filters-reset { width: 100%; margin-top: 8px; }

/* номера телефонов не переносятся */
.m-head-tel, .m-tel { white-space: nowrap; }

/* ---------- Правовая страница ---------- */
.m-legal { background: var(--paper); }
.m-legal .m-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 18px; border-bottom: 1px solid var(--line); background: var(--paper); }
.m-legal .m-logo img { height: 22px; width: auto; }
.m-legal .m-back { font-size: 14px; color: var(--muted); }
.m-legal .m-wrap { padding: 22px 18px 60px; }
.m-legal .legal-hero { background: none; border: 0; padding: 0 0 22px; }
.m-legal .legal-hero h1 { font-size: 26px; line-height: 1.15; margin: 10px 0 12px; }
.m-legal .legal-hero p { font-size: 14px; line-height: 1.55; color: var(--muted); }
.m-legal .legal-text section { padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid var(--line); }
.m-legal .legal-text h2 { font-size: 19px; margin: 0 0 10px; }
.m-legal .legal-text p, .m-legal .legal-text li { font-size: 14px; line-height: 1.6; }
.m-legal .legal-text a { color: var(--sky); }
.m-legal .legal-cta { flex-direction: column; align-items: flex-start; padding: 20px; }
.m-legal .legal-cta h2 { font-size: 19px; }
.m-consent { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.5; color: var(--muted); margin: 14px 0 4px; }
.m-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--sky); }
.m-consent a { color: var(--sky); text-decoration: underline; }

/* ---------- Согласие на обработку персональных данных ---------- */
body.consent-locked { overflow: hidden; }
.m-consent-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: flex-end; justify-content: center; }
.m-consent-back { position: absolute; inset: 0; background: rgba(6, 8, 12, .72); opacity: 0; transition: opacity .26s ease; }
.m-consent-modal.is-open .m-consent-back { opacity: 1; }
.m-consent-box {
  position: relative; width: 100%; max-height: 92vh; overflow-y: auto;
  background: var(--paper); border-top-left-radius: 20px; border-top-right-radius: 20px;
  padding: 22px 20px calc(22px + env(safe-area-inset-bottom));
  transform: translateY(18px); opacity: 0; transition: transform .26s ease, opacity .26s ease;
}
.m-consent-modal.is-open .m-consent-box { transform: none; opacity: 1; }
.m-consent-top { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 16px; }
.m-consent-logo { flex: 0 0 auto; height: 20px; width: 97px; background: url('assets/logo-blue.svg') no-repeat left center / contain; }
.m-consent-cap { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); font-family: 'IBM Plex Mono', monospace; }
.m-consent-box h2 { font-size: 21px; line-height: 1.2; margin: 0 0 12px; font-weight: 700; }
.m-consent-box p { font-size: 14px; line-height: 1.55; color: var(--muted); margin: 0 0 10px; }
.m-consent-box .m-consent-small { font-size: 12.5px; }
.m-consent-box a { color: var(--sky); text-decoration: underline; }
.m-consent-check { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.5; color: var(--muted); margin: 16px 0 18px; padding: 13px 14px; border: 1px solid var(--line); background: var(--bg); }
.m-consent-check input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--sky); }
.m-consent-box .m-btn { width: 100%; margin-bottom: 10px; }
.m-consent-box .m-btn[disabled] { opacity: .45; pointer-events: none; }
.m-btn-line { background: transparent; color: var(--ink); border-color: var(--line); }
.m-consent-foot { font-size: 12px !important; margin: 4px 0 0 !important; }

.m-pdf { display: block; text-decoration: none; color: inherit; }
.m-pdf b { display: block; font-size: 15px; margin-bottom: 4px; }
.m-pdf .m-sub { display: block; font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.m-pdf .m-row-count { color: var(--brand); font-weight: 600; }

/* ===== главная: 13 разделов, как на десктопе ===== */
.m-sect { padding-top: 30px; }
.m-sect .m-h2 { margin-top: 4px; }
.m-num {
  display: inline-block; font-family: 'IBM Plex Mono', monospace; font-size: 11px;
  color: var(--ink); border: 1px solid var(--line); border-radius: 6px; padding: 1px 6px; margin-right: 6px;
}
.m-lead { font-size: 13.5px; color: var(--muted); margin: 0 0 14px; line-height: 1.5; }
.m-text { font-size: 13.5px; line-height: 1.6; margin: 0 0 16px; }

/* 02, 03 — плитки коллекций */
.m-tile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.m-tile-card { display: block; border-radius: 14px; overflow: hidden; background: var(--paper); border: 1px solid var(--line); }
.m-tile-fig { position: relative; margin: 0; aspect-ratio: 4/5; overflow: hidden; }
.m-tile-fig img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.m-tile-cap {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 10px 9px; color: #fff;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.72) 100%);
  display: flex; flex-direction: column; gap: 2px;
}
.m-tile-cap b { font-family: 'Archivo Black', sans-serif; text-transform: uppercase; font-size: 14px; letter-spacing: .01em; }
.m-tile-cap i { font-style: normal; font-size: 11px; opacity: .8; }
.m-tile-note { font-family: 'IBM Plex Mono', monospace; font-size: 10px; opacity: .7; text-transform: uppercase; }

/* 04 — список коллекций */
.m-coll-list { display: flex; flex-direction: column; gap: 12px; }
.m-coll {
  display: block; border-radius: 16px; overflow: hidden; background: var(--paper);
  border: 1px solid var(--line);
}
.m-coll-fig { position: relative; margin: 0; aspect-ratio: 16/11; }
.m-coll-fig img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.m-coll-body { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px 14px; }
.m-coll-body b { font-family: 'Archivo Black', sans-serif; text-transform: uppercase; font-size: 17px; }
.m-coll-sub { font-size: 12.5px; color: var(--muted); }
.m-coll-text { font-size: 12.5px; line-height: 1.5; color: var(--ink); opacity: .82; }
.m-coll-go { font-size: 13px; font-weight: 700; color: var(--sky); margin-top: 4px; }

/* 05 — аудитория */
.m-aud { display: flex; flex-direction: column; gap: 14px; }
.m-aud-card { border-radius: 16px; overflow: hidden; background: var(--paper); border: 1px solid var(--line); }
.m-aud-fig { margin: 0; aspect-ratio: 16/10; overflow: hidden; }
.m-aud-fig img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.m-aud-body { padding: 14px; }
.m-aud-body h3 { font-family: 'Archivo Black', sans-serif; text-transform: uppercase; font-size: 16px; margin: 4px 0 8px; }
.m-aud-body p { font-size: 13px; line-height: 1.5; margin: 0 0 8px; color: var(--ink); opacity: .85; }
.m-aud-link { display: inline-block; font-size: 13px; font-weight: 700; color: var(--sky); }

/* 06 — дерево каталога */
.m-chips-wrap { flex-wrap: wrap; overflow: visible; padding: 0 0 14px; }
.m-tree { display: flex; flex-direction: column; gap: 8px; }
.m-tree-sec {
  display: flex; align-items: center; gap: 8px; padding: 12px 14px;
  background: var(--ink); color: var(--bg); border-radius: 14px;
}
.m-tree-sec b { font-family: 'Archivo Black', sans-serif; text-transform: uppercase; font-size: 15px; }
.m-tree-sec .m-row-count { color: var(--bg); opacity: .7; margin-left: auto; }
.m-tree-sec .m-row-go { color: var(--bg); }

/* 07 — подбор фурнитуры */
.m-guide { display: flex; flex-direction: column; gap: 14px; }
.m-guide-card { border-radius: 16px; overflow: hidden; background: var(--paper); border: 1px solid var(--line); padding-bottom: 14px; }
.m-guide-fig { margin: 0; aspect-ratio: 16/10; overflow: hidden; }
.m-guide-fig img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.m-guide-card h3 { font-family: 'Archivo Black', sans-serif; text-transform: uppercase; font-size: 15px; margin: 12px 14px 8px; }
.m-guide-list { margin: 0 14px 10px; padding-left: 18px; }
.m-guide-list li { font-size: 12.5px; line-height: 1.5; margin-bottom: 4px; }
.m-guide-card .m-aud-link { margin-left: 14px; }

/* 08 — партнёрам */
.m-dark { background: var(--dark); color: #fff; border-radius: 20px; margin: 30px 14px 0; padding: 20px 16px; }
.m-dark .m-lead { color: rgba(255,255,255,.72); }
.m-dark .m-h2 { color: #fff; }
.m-dark .m-label { color: rgba(255,255,255,.6); }
.m-dark .m-num { color: #fff; border-color: rgba(255,255,255,.3); }
.m-btn-light { background: #fff; color: var(--dark); border-color: #fff; }
.m-btn-ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.m-levels { display: flex; flex-direction: column; gap: 14px; margin-top: 18px; }
.m-level { border-top: 1px solid rgba(255,255,255,.16); padding-top: 12px; }
.m-level h3 { font-family: 'Archivo Black', sans-serif; text-transform: uppercase; font-size: 15px; margin: 4px 0 6px; }
.m-level p { font-size: 13px; line-height: 1.55; margin: 0; color: rgba(255,255,255,.78); }

/* 09 / 13 — формы */
.m-field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; }
.m-field label { font-size: 12px; font-weight: 600; color: var(--muted); }
.m-field input, .m-field select, .m-field textarea {
  padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line);
  background: var(--paper); color: var(--ink); font-size: 15px; width: 100%; font-family: inherit;
}
.m-field textarea { min-height: 90px; resize: vertical; }
.m-legend { font-size: 12px; font-weight: 600; color: var(--muted); }
.m-checks { display: flex; flex-direction: column; gap: 6px; }
.m-check { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; line-height: 1.4; }
.m-check input { width: 18px; height: 18px; flex: none; margin-top: 1px; accent-color: var(--sky); }
.m-consent { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; line-height: 1.45; margin: 12px 0; }
.m-consent input { width: 18px; height: 18px; flex: none; margin-top: 1px; accent-color: var(--sky); }
.m-consent a { text-decoration: underline; }
.m-form-note { font-size: 11.5px; color: var(--muted); margin: 8px 0 12px; }
.m-form .m-btn { width: 100%; justify-content: center; }

/* 10 — о компании */
.m-brand-fig { margin: 0 0 16px; border-radius: 14px; overflow: hidden; }
.m-brand-fig img { width: 100%; border-radius: 0; }
.m-cap { font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: var(--muted); padding: 8px 10px; }
.m-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.m-stat { background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; }
.m-stat b { display: block; font-family: 'Archivo Black', sans-serif; font-size: 15px; }
.m-stat span { font-size: 11px; color: var(--muted); line-height: 1.35; display: block; margin-top: 3px; }

/* 11 — выставка */
.m-expo-meta { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.m-expo-meta li { display: flex; gap: 10px; background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; }
.m-expo-meta span { font-size: 12px; color: var(--muted); flex: none; width: 86px; }
.m-expo-meta b { font-size: 13px; }
.m-note { font-size: 12.5px; color: var(--muted); line-height: 1.5; }
.m-hint { margin-top: 12px; }
.m-expo-fig img { max-height: 320px; object-fit: contain; background: var(--paper); }

/* 12 — каталоги PDF */
.m-pdf-grid { display: flex; flex-direction: column; gap: 12px; }
.m-pdf-card { display: block; border-radius: 16px; overflow: hidden; background: var(--paper); border: 1px solid var(--line); }
.m-pdf-fig { margin: 0; display: flex; flex-direction: column; }
.m-pdf-fig img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 0; }
.m-pdf-body { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px 14px; }
.m-pdf-body b { font-family: 'Archivo Black', sans-serif; text-transform: uppercase; font-size: 15px; }
.m-pdf-note { font-size: 12px; color: var(--muted); line-height: 1.45; }
.m-pdf-dl { font-size: 13px; font-weight: 700; color: var(--sky); margin-top: 4px; }

/* логотип с подписью */
.m-logo { display: flex; flex-direction: column; gap: 1px; }
.m-logo span { font-family: 'IBM Plex Mono', monospace; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
