/* MorozMusic — новый футер. Desktop: rem (1rem = 1px при 1920), mobile <=768: px */
.mmf {
  --mmf-bg: #1C1C1C; --mmf-card: #2A2A2A; --mmf-muted: #A8A8A8; --mmf-dim: #737373; --mmf-line: #383838; --mmf-red: #FF1F1F;
  box-sizing: border-box; width: 100%; background: var(--mmf-bg); color: #fff;
  font-family: "Inter", Arial, sans-serif; letter-spacing: 0; line-height: 1.35; text-align: left;
}
.mmf *, .mmf *::before, .mmf *::after { box-sizing: border-box; }
.mmf a { color: inherit; text-decoration: none; transition: color .2s, background .2s, border-color .2s; }
.mmf ul { list-style: none; margin: 0; padding: 0; }
.mmf li { margin: 0; padding: 0; background: none; }
.mmf li::before { display: none; }
.mmf p { margin: 0; }

.mmf__inner { max-width: 1260rem; margin: 0 auto; padding: 80rem 0 0; }
.mmf__cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20rem; }
.mmf__col { display: flex; flex-direction: column; gap: 14rem; min-width: 0; }

.mmf__logo { display: inline-block; align-self: flex-start; }
.mmf__logo img { height: 86rem !important; width: auto; display: block; }
.mmf__about { font-size: 14rem; line-height: 1.45; color: var(--mmf-muted); max-width: 290rem; }
.mmf__soc { display: flex; gap: 10rem; margin-top: 4rem; }
.mmf__soc-btn { width: 44rem; height: 44rem; border-radius: 11rem; background: var(--mmf-card); display: flex; align-items: center; justify-content: center; color: #fff; }
.mmf__soc-btn svg { width: 20rem; height: 20rem; }
.mmf__soc-btn:hover { background: var(--mmf-red); color: #fff; }
.mmf__rating iframe { display: block; border: 0; border-radius: 11rem; }

.mmf .mmf__heading {
  display: flex; align-items: center; justify-content: space-between; width: 100%;
  margin: 0; padding: 0; border: 0; background: none; color: #fff; cursor: default; text-align: left;
  font: 600 16rem/1.3 "Inter", Arial, sans-serif;
}
.mmf__toggle { display: none; width: 20rem; height: 20rem; transition: transform .2s; }
.mmf__links { display: flex; flex-direction: column; gap: 10rem; }
.mmf__links a { font-size: 14rem; color: var(--mmf-muted); }
.mmf__links a:hover, .mmf__legal a:hover, .mmf__mail:hover, .mmf__auth-btn:hover, .mmf__dev a:hover { color: #fff; }

.mmf__col--contacts { gap: 16rem; }
.mmf__phone { display: flex; flex-direction: column; gap: 2rem; }
.mmf__phone span { font-size: 13rem; color: var(--mmf-muted); }
.mmf__phone-big { font-size: 24rem; font-weight: 700; line-height: 1.2; }
.mmf__phone-mid { font-size: 17rem; font-weight: 600; line-height: 1.2; }
.mmf__phone a:hover { color: var(--mmf-red); }
.mmf__mail { font-size: 14rem; color: #fff; }
.mmf__addr { font-size: 14rem; color: var(--mmf-muted); }
.mmf__call {
  display: inline-flex; align-items: center; justify-content: center; gap: 8rem; align-self: flex-start;
  height: 48rem; padding: 0 22rem; border: 1.5px solid var(--mmf-red); border-radius: 11rem;
  font-size: 16rem; font-weight: 500; color: #fff;
}
.mmf__call svg { width: 18rem; height: 18rem; }
.mmf__call:hover { background: var(--mmf-red); }
.mmf__call:hover svg path { stroke: #fff; }

.mmf__bottom {
  display: flex; align-items: center; justify-content: space-between; gap: 24rem;
  margin-top: 56rem; padding: 24rem 0 28rem; border-top: 1px solid var(--mmf-line);
  font-size: 13rem; color: var(--mmf-muted);
}
.mmf__legal { display: flex; flex-wrap: wrap; gap: 8rem 24rem; }
.mmf__legal a { color: var(--mmf-muted); text-decoration: underline; text-underline-offset: 3px; }
.mmf__side { display: flex; align-items: center; gap: 20rem; }
.mmf__auth { display: flex; gap: 8rem; }
.mmf__auth-btn {
  display: inline-flex; align-items: center; gap: 6rem; height: 32rem; padding: 0 12rem;
  border-radius: 8rem; background: var(--mmf-card); color: var(--mmf-muted) !important; font-size: 13rem;
}
.mmf__auth-btn svg { width: 15rem; height: 15rem; }
.mmf__dev { color: var(--mmf-dim); }
.mmf__dev a { color: var(--mmf-dim); }

.mmf__counters { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- мобилка ---------- */
@media (max-width: 768px) {
  .mmf__inner { padding: 40px 20px 0; }
  .mmf__cols { display: flex; flex-direction: column; gap: 28px; }
  .mmf__col { gap: 14px; }
  .mmf__col--brand { order: 1; }
  .mmf__col--contacts { order: 2; gap: 14px; }
  .mmf__col--menu { order: 3; gap: 0; border-top: 1px solid var(--mmf-line); }
  .mmf__col--menu + .mmf__col--menu { margin-top: -28px; }
  .mmf__col--menu:last-of-type, .mmf__cols > .mmf__col--menu:nth-child(3) { border-bottom: 1px solid var(--mmf-line); }
  .mmf__logo img { height: 64px !important; }
  .mmf__about { font-size: 13px; max-width: none; }
  .mmf__soc { gap: 8px; }
  .mmf__soc-btn { width: 40px; height: 40px; border-radius: 10px; }
  .mmf__soc-btn svg { width: 18px; height: 18px; }
  .mmf__rating iframe { border-radius: 10px; }

  .mmf .mmf__heading { font-size: 16px; padding: 16px 0; cursor: pointer; }
  .mmf .mmf__heading--static { padding: 0; }
  .mmf__toggle { display: block; width: 20px; height: 20px; }
  .js-mmf-acc .mmf__links { display: none; gap: 10px; padding: 0 0 16px; }
  .js-mmf-acc.is-open .mmf__links { display: flex; }
  .js-mmf-acc.is-open .mmf__toggle { transform: rotate(180deg); }
  .mmf__links a { font-size: 14px; }

  .mmf__phone span { font-size: 12px; }
  .mmf__phone-big { font-size: 24px; }
  .mmf__phone-mid { font-size: 17px; }
  .mmf__mail, .mmf__addr { font-size: 14px; }
  .mmf__call { align-self: stretch; height: 52px; gap: 8px; border-radius: 12px; font-size: 16px; }
  .mmf__call svg { width: 18px; height: 18px; }

  .mmf__bottom { flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 28px; padding: 20px 0 28px; font-size: 12px; }
  .mmf__copy { order: 3; }
  .mmf__legal { order: 1; flex-direction: column; gap: 8px; }
  .mmf__side { order: 2; gap: 14px; flex-wrap: wrap; }
  .mmf__auth { gap: 8px; }
  .mmf__auth-btn { height: 34px; padding: 0 12px; gap: 6px; border-radius: 8px; font-size: 13px; }
  .mmf__auth-btn svg { width: 15px; height: 15px; }
}

/* v1.1 — фиксы */
.mmf__copy, .mmf__dev, .mmf__phone-big, .mmf__phone-mid { white-space: nowrap; }
.mmf__legal { gap: 8rem 20rem; }
@media (max-width: 768px) {
  .mmf__inner { max-width: none; width: 100%; }
  .mmf__copy { white-space: normal; }
}

/* v1.2 — полоса подписки над копирайтом */
.mmf__sub { margin-top: 56rem; padding: 32rem 0; border-top: 1px solid var(--mmf-line); }
.mmf__sub + .mmf__bottom { margin-top: 0; }
@media (max-width: 768px) {
  .mmf__sub { margin-top: 28px; padding: 24px 0; }
}
@media (max-width: 768px) {
  .mmf__sub { margin-top: 0; padding: 28px 0 24px; border-top: 0; }
}

/* v1.4 — убрана кнопка «наверх» с синей рукой; отступ между «Комплексными решениями» и каталогом на мобилке */
img.scroll-top, .scroll-top { display: none !important; }
@media (max-width: 768px) {
  #info-blocks ~ .wrap_inner { margin-top: 30px; }
}

/* v1.5 GAP: одинаковый отступ от контента до футера на всех страницах */
.body > .wrap > .wrap_inner > .wrap_inside { display: flow-root; padding-bottom: 120rem !important; }
.wrap_inside > :last-child,
.wrap_inside > :last-child > :last-child,
.wrap_inside > :last-child > :last-child > :last-child { margin-bottom: 0 !important; }
.wrap_inside > br:last-child, .wrap_inside > :last-child > br:last-child { display: none; }
@media (max-width: 768px) {
  .body > .wrap > .wrap_inner > .wrap_inside { padding-bottom: 60px !important; }
}
/* v1.6 GAP: точечные исправления */
#thanks-block { padding-bottom: 0 !important; }
.catalog > .catalog_section_description:last-child { margin-bottom: 0 !important; }
#order_form_content > :last-child, #order_form_content > :last-child > :last-child { margin-bottom: 0 !important; }
/* v1.7 GAP */
.catalog_section_description:empty { display: none !important; }
