/* Тема сайта. Основа — вёрстка дизайнера (app.css), шрифты свои, без Google Fonts.
   Отличия живого сайта от вёрстки — в конце файла, раздел «Правки темы». */

/* Шрифты (этап 18): IBM Plex Sans — вариативный, все начертания 400–700 в одном файле на набор знаков
   (кириллица и латиница с цифрами — по unicode-range); курсив браузер делает сам. Nunito — только цифры
   счётчика корзины. Как получены файлы — scripts/fonts_subset.py. */
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-cyrillic-wght.70800b98b5e7.woff2") format("woff2-variations"), url("../fonts/ibm-plex-sans-cyrillic-wght.70800b98b5e7.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-latin-wght.b2c9031d9fd6.woff2") format("woff2-variations"), url("../fonts/ibm-plex-sans-latin-wght.b2c9031d9fd6.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/nunito-digits-600.6f2fa24d4573.woff2") format("woff2");
  unicode-range: U+0030-0039, U+002B;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
  flex: 1 0 auto;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

.wight400 {
  font-weight: 400!important;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

/*
 * Container style
 */
.ps {
  overflow: hidden !important;
  overflow-anchor: none;
  -ms-overflow-style: none;
  touch-action: auto;
  -ms-touch-action: auto;
}

/*
 * Scrollbar rail styles
 */
.ps__rail-x {
  display: none;
  opacity: 0;
  transition: background-color var(--motion-base) linear, opacity var(--motion-base) linear;
  height: 15px;
  /* there must be 'bottom' or 'top' for ps__rail-x */
  bottom: 0px;
  /* please don't change 'position' */
  position: absolute;
}

.ps__rail-y {
  display: none;
  opacity: 0;
  transition: background-color var(--motion-base) linear, opacity var(--motion-base) linear;
  width: 15px;
  /* there must be 'right' or 'left' for ps__rail-y */
  right: 0;
  /* please don't change 'position' */
  position: absolute;
}

.ps--active-x > .ps__rail-x,
.ps--active-y > .ps__rail-y {
  display: block;
  background-color: transparent;
}

.ps:hover > .ps__rail-x,
.ps > .ps__rail-y,
.ps--focus > .ps__rail-x,
.ps--focus > .ps__rail-y,
.ps--scrolling-x > .ps__rail-x,
.ps--scrolling-y > .ps__rail-y {
  opacity: 0.6;
}

.ps .ps__rail-x:hover,
.ps .ps__rail-y:hover,
.ps .ps__rail-x:focus,
.ps .ps__rail-y:focus,
.ps .ps__rail-x.ps--clicking,
.ps .ps__rail-y.ps--clicking {
  background-color: #eee;
  opacity: 0.9;
}

/*
 * Scrollbar thumb styles
 */
.ps__thumb-x {
  background-color: #aaa;
  border-radius: 6px;
  transition: background-color var(--motion-fast) linear;
  height: 6px;
  /* there must be 'bottom' for ps__thumb-x */
  bottom: 2px;
  /* please don't change 'position' */
  position: absolute;
}

.ps__thumb-y {
  background-color: #aaa;
  border-radius: 6px;
  transition: background-color var(--motion-fast) linear;
  width: 6px;
  /* there must be 'right' for ps__thumb-y */
  right: 2px;
  /* please don't change 'position' */
  position: absolute;
}

.ps__rail-x:hover > .ps__thumb-x,
.ps__rail-x:focus > .ps__thumb-x,
.ps__rail-x.ps--clicking .ps__thumb-x {
  background-color: #999;
  height: 11px;
}

.ps__rail-y:hover > .ps__thumb-y,
.ps__rail-y:focus > .ps__thumb-y,
.ps__rail-y.ps--clicking .ps__thumb-y {
  background-color: #999;
  width: 11px;
}

/* MS supports */
@supports (-ms-overflow-style: none) {
  .ps {
    overflow: auto !important;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ps {
    overflow: auto !important;
  }
}

@charset "UTF-8";
* {
  box-sizing: border-box;
}

input[readonly] {
  cursor: default;
}

input[type=number] {
  -moz-appearance: textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

textarea {
  resize: none;
  width: 100%;
  appearance: none;
  outline: none;
  font-family: inherit;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  cursor: pointer;
}

button {
  background-color: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
}

ul {
  margin: 0;
  padding: 0;
}

.f-plex-mono {
  font-family: "IBM Plex Mono", monospace;
}

.f-plex-sans {
  font-family: "IBM Plex Sans", sans-serif;
}

.f-nunito {
  font-family: "Nunito", sans-serif;
}

.f-roboto {
  font-family: "Roboto", sans-serif;
}

html, body {
  position: relative;
  overflow-x: hidden;
}

.body {
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 13px;
  line-height: 1.3;
  background-color: #fff;
}
@media screen and (min-width: 1440px) {
  .body {
    font-size: 14px;
  }
}

.container {
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
  max-width: 1400px;
  margin: auto;
}

.link {
  color: #014CE4;
  cursor: pointer;
}
.link:hover {
  color: #1a65fe;
}
.link:active {
  color: #0144cb;
}
.link--disabled, .link--disabled:hover {
  color: #BCBCBC;
}

.red-label {
  color: #BE1C1C;
}

.button {
  background-color: #014CE4;
  color: white;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  cursor: pointer;
  font-size: 16px;
  padding: 12px 14px;
  border-radius: 5px;
}
.button:hover {
  background-color: #0154fd;
}
.button_white {
  background-color: white;
  border: 1px solid #014CE4;
  color: #014CE4;
  font-size: 14px;
  font-weight: 500;
}
.button_white:hover {
  background-color: white;
}
.button_light {
  background-color: #EEF2F5;
  color: #014CE4;
  font-size: 14px;
}
.button_light:hover {
  background-color: #dee6ec;
}
.button_dark {
  background-color: #182532;
  color: #fff;
}
.button_dark:hover {
  background-color: #203243;
}
.button_disable {
  background-color: #EEF2F5;
  cursor: default;
}
.button--disabled, .button--disabled:hover {
  background-color: #BCBCBC;
  cursor: default;
}
.button svg {
  margin-right: 5px;
}

.h1 {
  font-size: 30px;
  font-weight: 500;
}
@media screen and (min-width: 1440px) {
  .h1 {
    font-size: 38px;
  }
}

.h2 {
  font-size: 26px;
  font-weight: 500;
}
@media screen and (min-width: 1440px) {
  .h2 {
    font-size: 32px;
  }
}

.h3 {
  font-size: 21px;
  font-weight: 700;
}
@media screen and (min-width: 1440px) {
  .h3 {
    font-size: 23px;
  }
}

.h4 {
  font-size: 19px;
  font-weight: 500;
}
@media screen and (min-width: 1440px) {
  .h4 {
    font-size: 21px;
  }
}

.content-block p, .content-block ul, .content-block li, .content-block ol,
.content-block h1, .content-block h2, .content-block h3, .content-block h4, .content-block h5, .content-block h6, .content-block p {
  margin: revert;
  padding: revert;
}

.input {
  position: relative;
  border: 1px solid #E9E9E9;
  border-radius: 7px;
  background-color: #fff;
  padding: 8px 9px;
  line-height: 22px;
  display: flex;
  width: 100%;
  align-items: baseline;
}
	.input.error {
		border: 1px solid #FA4451 !important;
	}
.input__control {
  border: none;
  appearance: none;
  outline: none;
  width: 100%;
  height: 100%;
}
.input_before::before, .input_after::before {
  font-size: 14px;
  line-height: 22px;
  color: #BFBFBF;
  margin-right: 10px;
}
.input_before::before {
  content: "от";
}
.input_after::before {
  content: "до";
}
.input_name::before {
  content: "";
  width: 12px;
  height: 12px;
  margin: auto;
  margin-right: 15px;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 0.166748C4.39175 0.166748 3.08333 1.47516 3.08333 3.08341C3.08333 4.69166 4.39175 6.00008 6 6.00008C7.60825 6.00008 8.91667 4.69166 8.91667 3.08341C8.91667 1.47516 7.60825 0.166748 6 0.166748ZM6 4.83341C5.03517 4.83341 4.25 4.04825 4.25 3.08341C4.25 2.11858 5.03517 1.33341 6 1.33341C6.96483 1.33341 7.75 2.11858 7.75 3.08341C7.75 4.04825 6.96483 4.83341 6 4.83341ZM11.25 11.2501V10.6667C11.25 8.41566 9.41775 6.58341 7.16667 6.58341H4.83333C2.58167 6.58341 0.75 8.41566 0.75 10.6667V11.2501H1.91667V10.6667C1.91667 9.0585 3.22508 7.75008 4.83333 7.75008H7.16667C8.77492 7.75008 10.0833 9.0585 10.0833 10.6667V11.2501H11.25Z' fill='%23014CE4'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.input_company::before {
  content: "";
  width: 12px;
  height: 12px;
  margin: auto;
  margin-right: 15px;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='14' viewBox='0 0 12 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.33301 2.33325H9.49967C9.80909 2.33325 10.1058 2.45617 10.3246 2.67496C10.5434 2.89375 10.6663 3.1905 10.6663 3.49992V11.6666C10.6663 11.976 10.5434 12.2728 10.3246 12.4915C10.1058 12.7103 9.80909 12.8333 9.49967 12.8333H2.49967C2.19026 12.8333 1.89351 12.7103 1.67472 12.4915C1.45592 12.2728 1.33301 11.976 1.33301 11.6666V3.49992C1.33301 3.1905 1.45592 2.89375 1.67472 2.67496C1.89351 2.45617 2.19026 2.33325 2.49967 2.33325H3.66634' stroke='%23014CE4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.75033 1.16675H4.25033C3.92816 1.16675 3.66699 1.42792 3.66699 1.75008V2.91675C3.66699 3.23891 3.92816 3.50008 4.25033 3.50008H7.75033C8.07249 3.50008 8.33366 3.23891 8.33366 2.91675V1.75008C8.33366 1.42792 8.07249 1.16675 7.75033 1.16675Z' stroke='%23014CE4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.input_mail::before {
  content: "";
  width: 12px;
  height: 12px;
  margin: auto;
  margin-right: 15px;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='10' viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.667 0.333252H1.33366C0.690242 0.333252 0.166992 0.856502 0.166992 1.49992V8.49992C0.166992 9.14333 0.690242 9.66658 1.33366 9.66658H10.667C11.3104 9.66658 11.8337 9.14333 11.8337 8.49992V1.49992C11.8337 0.856502 11.3104 0.333252 10.667 0.333252ZM10.667 1.49992V1.798L6.00033 5.42808L1.33366 1.79859V1.49992H10.667ZM1.33366 8.49992V3.27558L5.64216 6.62683C5.74716 6.70908 5.87374 6.74992 6.00033 6.74992C6.12691 6.74992 6.25349 6.70908 6.35849 6.62683L10.667 3.27558L10.6682 8.49992H1.33366Z' fill='%23014CE4'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.input_password::before {
  content: "";
  width: 12px;
  height: 12px;
  margin: auto;
  margin-right: 15px;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='22' viewBox='0 0 20 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 10H3C1.89543 10 1 10.8954 1 12V19C1 20.1046 1.89543 21 3 21H17C18.1046 21 19 20.1046 19 19V12C19 10.8954 18.1046 10 17 10Z' stroke='%23014CE4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5 10V6C5 4.67392 5.52678 3.40215 6.46447 2.46447C7.40215 1.52678 8.67392 1 10 1C11.3261 1 12.5979 1.52678 13.5355 2.46447C14.4732 3.40215 15 4.67392 15 6V10' stroke='%23014CE4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.input_phone::before {
  content: "";
  width: 12px;
  height: 12px;
  margin: auto;
  margin-right: 15px;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.32822 6.1709C9.10014 5.94282 8.73147 5.94282 8.50339 6.1709L7.57355 7.10073C7.14247 6.9724 6.33805 6.68073 5.82822 6.1709C5.31839 5.66107 5.02672 4.85665 4.89839 4.42557L5.82822 3.49573C6.0563 3.26765 6.0563 2.89898 5.82822 2.6709L3.49489 0.337566C3.2668 0.109483 2.89814 0.109483 2.67005 0.337566L1.08805 1.91957C0.866387 2.14123 0.741553 2.44573 0.74622 2.75665C0.759637 3.58732 0.979554 6.47248 3.25339 8.74632C5.52722 11.0202 8.41239 11.2395 9.24364 11.2535C9.24655 11.2535 9.25705 11.2535 9.25997 11.2535C9.56797 11.2535 9.85905 11.1322 10.0796 10.9117L11.6616 9.32965C11.8896 9.10157 11.8896 8.7329 11.6616 8.50482L9.32822 6.1709ZM9.25414 10.0862C8.52614 10.074 6.0353 9.87857 4.07822 7.9209C2.11472 5.9574 1.92455 3.45782 1.91289 2.7444L3.08247 1.57482L4.59097 3.08332L3.83672 3.83757C3.6973 3.9764 3.6378 4.17707 3.67805 4.36957C3.69205 4.43665 4.03447 6.0274 5.0028 6.99573C5.97114 7.96407 7.56189 8.30648 7.62897 8.32048C7.82322 8.3619 8.02214 8.30182 8.16097 8.1624L8.9158 7.40815L10.4243 8.91665L9.25414 10.0862Z' fill='%23014CE4'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.checkbox {
  position: relative;
  display: block;
  padding-left: 25px;
}
.checkbox__input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 18px;
  opacity: 0;
}
.checkbox__input[type=radio] ~ .checkbox__label:before, .checkbox__input[type=radio] ~ .checkbox__label:after {
  border-radius: 50%;
}
.checkbox__input[type=checkbox]:checked ~ .checkbox__label:before {
  background-color: #014CE4;
  border: none;
}
.checkbox__input[type=checkbox]:checked ~ .checkbox__label:after {
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='9' viewBox='0 0 11 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.83366 1.25L3.87533 7.20833L1.16699 4.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.checkbox__input[type=radio]:checked ~ .checkbox__label:after {
  width: 8px;
  height: 8px;
  left: 5px;
  background-color: #014CE4;
}
.checkbox__label {
  cursor: pointer;
}
.checkbox__label:before {
  content: "";
  position: absolute;
  left: 0;
  width: 18px;
  height: 18px;
  box-sizing: border-box;
  border: 1px solid #E9E9E9;
  border-radius: 3px;
  background-color: white;
  transition: background-color var(--motion-fast) var(--ease-out);
}
.checkbox__label:after {
  content: "";
  position: absolute;
  top: 5px;
  left: 4px;
  width: 11px;
  height: 9px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.select-link {
  font-weight: 600;
  color: #014CE4;
  position: relative;
  border-bottom: 1px dotted #014CE4;
  cursor: pointer;
}
.select-link:hover {
  border-bottom: 1px solid #014CE4;
}
.select-link::after {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg width='6' height='5' viewBox='0 0 6 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.14648 0.646515L2.99998 2.79301L0.853484 0.646515L0.146484 1.35351L2.99998 4.20701L5.85348 1.35351L5.14648 0.646515Z' fill='%23014CE4'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 6px;
  height: 5px;
  right: -10px;
  bottom: 0;
  top: 0;
  margin: auto;
}

.header-mobile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.04);
}
.header-mobile__button,
.header-mobile .header__cart.cart-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  height: 51px;
}
.header-mobile__button.header-mobile__button___menu {
  background-color: #014CE4;
  margin-right: 5px;
}
.header-mobile .header__cart.cart-button {
  background-color: #EEF2F5;
  margin-left: 5px;
}
.header-mobile__button-icon {
  position: relative;
  line-height: 0;
}
.header-mobile__button-count {
  position: absolute;
  top: -7px;
  right: -8px;
}
.header-mobile__logo {
  flex: 1;
  display: flex;
  line-height: 1;
}
.header-mobile__logo-link {
  margin: auto;
  line-height: 0;
}
.header-mobile__logo img {
  width: 106px;
  height: 13.05px;
}

.inform-circle {
  position: absolute;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background-color: #FA4451;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Nunito", sans-serif;
  font-weight: 600;
  font-size: 11px;
  line-height: 1;
}

@media screen and (min-width: 1440px) {
  .header__mobile {
    display: none;
  }
}
.header__desktop {
  display: none;
}
@media screen and (min-width: 1440px) {
  .header__desktop {
    display: block;
  }
}
.header__top {
  background-color: #EEF2F5;
  padding-top: 16px;
  padding-bottom: 16px;
}
.header__top-list {
  display: flex;
  align-items: center;
  list-style: none;
  padding: 0;
}
.header__top-item:not(:last-child) {
  margin-right: 33px;
}
.header__top-item:last-child {
  margin-left: auto;
}
.header__top-item:last-child svg {
  width: 14px;
  height: 13px;
  margin-right: 10px;
}
.header__top-link {
  color: #000;
  display: flex;
  align-items: center;
}
.header__main {
  display: flex;
  padding-top: 20px;
  padding-bottom: 20px;
}
.header__logo {
  display: flex;
  align-items: center;
  margin-right: 70px;
}
.header__logo-text {
  max-width: 160px;
  color: #000;
}
.header__logo img {
  width: 83px;
  height: 75px;
  margin-right: 25px;
}
.header__location {
  flex-basis: 298px;
  margin-right: 52px;
  font-weight: 500;
}
.header__location .header__location-text_black:last-child {
  font-weight: 400;
}
.header__location-text {
  color: #636363;
}
.header__location-text:not(:last-child) {
  margin-bottom: 9px;
}
.header__location-text_black {
  color: #000;
}
.header__schedule {
  margin-right: 47px;
}
.header__contacts {
  display: flex;
  flex-direction: column;
  margin-right: 52px;
}
.header__contacts-mail {
  margin-bottom: 9px;
}
.header__contacts-phone {
  font-size: 18px;
  font-weight: 700;
  color: #000;
  margin-bottom: 5px;
}
.header__social {
  flex-basis: 280px;
}
.header__social-title {
  margin-bottom: 7px;
  color: #636363;
}
.header__social-list {
  display: flex;
}
.header__social-row {
  display: flex;
  flex-direction: column;
}
.header__social-row:first-child {
  margin-right: 35px;
}
.header__social-row a:first-child {
  margin-bottom: 1px;
}
.header__social-item {
  display: flex;
  align-items: center;
  color: #000;
  cursor: pointer;
}
.header__social-item svg {
  margin-right: 10px;
}
.header__bottom {
  display: flex;
  align-items: center;
  position: relative;
  height: 65px;
  background-color: #014CE4;
  border-radius: 7px;
}
.header__nav {
  /*flex: 1;
  margin-left: 18px;*/
}
.header__button {
  margin-right: 35px;
  position: relative;
}
.header__button-count:empty{
	display: none;
}
.header__button-count {
  position: absolute;
  top: -7px;
  right: -8px;
}
@media (min-width: 992px) and (max-width: 1199px) {
  .header__button {
    margin-right: 20px;
  }
}

.schedule__title {
  color: #636363;
  margin-bottom: 18px;
}
.schedule__days {
  display: flex;
  margin-bottom: 16px;
}
.schedule__day {
  width: 18px;
  height: 4px;
  border-radius: 6px;
}
.schedule__day:not(:last-child) {
  margin-right: 2px;
}
.schedule__day_green {
  background-color: #28C57C;
}
.schedule__day_green + .schedule__day_red {
  margin-left: 10px;
}
.schedule__day_red {
  background-color: #FA4451;
}
.schedule__info {
  display: flex;
  font-weight: 500;
  justify-content: center;
}
.schedule__time {
  margin-right: 20px;
}
.schedule__text {
  color: #fa4451;
  margin-right: 3px;
}

.nav__list {
  display: flex;
  align-items: center;
  list-style: none;
}
.nav__item:hover .nav__item-sub {
  visibility: visible;
  opacity: 1;
}
.nav__item-button {
  position: relative;
  display: flex;
}
.nav__item:not(:last-child) .nav__item-button {
  padding-right: 40px;
  margin-right: 45px;
}
.nav__item:not(:last-child) .nav__item-button::after {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg width='3' height='11' viewBox='0 0 3 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='0.5' d='M1.632 2.144C1.376 2.144 1.188 2.08 1.068 1.952C0.956 1.824 0.9 1.656 0.9 1.448V1.292C0.9 1.084 0.956 0.916 1.068 0.788C1.188 0.66 1.376 0.596 1.632 0.596C1.888 0.596 2.072 0.66 2.184 0.788C2.304 0.916 2.364 1.084 2.364 1.292V1.448C2.364 1.656 2.304 1.824 2.184 1.952C2.072 2.08 1.888 2.144 1.632 2.144ZM1.632 6.144C1.376 6.144 1.188 6.08 1.068 5.952C0.956 5.824 0.9 5.656 0.9 5.448V5.292C0.9 5.084 0.956 4.916 1.068 4.788C1.188 4.66 1.376 4.596 1.632 4.596C1.888 4.596 2.072 4.66 2.184 4.788C2.304 4.916 2.364 5.084 2.364 5.292V5.448C2.364 5.656 2.304 5.824 2.184 5.952C2.072 6.08 1.888 6.144 1.632 6.144ZM1.632 10.144C1.376 10.144 1.188 10.08 1.068 9.952C0.956 9.824 0.9 9.656 0.9 9.448V9.292C0.9 9.084 0.956 8.916 1.068 8.788C1.188 8.66 1.376 8.596 1.632 8.596C1.888 8.596 2.072 8.66 2.184 8.788C2.304 8.916 2.364 9.084 2.364 9.292V9.448C2.364 9.656 2.304 9.824 2.184 9.952C2.072 10.08 1.888 10.144 1.632 10.144Z' fill='white'/%3E%3C/svg%3E%0A");
  width: 3px;
  height: 11px;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background-position: center;
  background-size: contain;
  background-position: no-repeat;
}
.nav__item-sub {
  visibility: hidden;
  opacity: 0;
  overflow: auto;
  max-height: 500px;
  margin-top: 10px;
  position: absolute;
  width: 100%;
  top: 100%;
  left: 0;
  transition-duration: 0.3s;
  z-index: 5;
  border-radius: 7px;
  background-color: white;
  padding: 40px;
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
.nav__item-link {
  margin-right: 15px;
  display: flex;
  align-items: center;
  color: white;
  font-size: 18px;
  font-weight: 500;
}
.nav__item-link svg {
  margin-right: 10px;
}

.header__bottom .cart-button {
  background-color: #182532;
  display: flex;
  align-items: center;
  padding-left: 20px;
  padding-right: 30px;
  height: 100%;
  color: white;
  border-radius: 0 7px 7px 0;
}
.header__bottom div.cart-button{
	padding: 0;
}
.header__bottom .cart-button__icon {
  margin-right: 18px;
  position: relative;
}
.header__bottom .cart-button__count {
  position: absolute;
  top: -7px;
  right: -8px;
}
.header__bottom .cart-button__text {
  opacity: 0.5;
}
.header__bottom .cart-button__price {
  font-weight: 700;
}
@media (min-width: 992px) and (max-width: 1199px) {
  .header__bottom .cart-button {
    padding-left: 10px;
    padding-right: 15px;
  }
}

.hm-container {
  position: fixed;
  background-color: white;
  z-index: 100;
  overflow: auto;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: 300px;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  padding-top: 34px;
  transform: translateX(-110%);
  transition: transform var(--motion-base) var(--ease-out);
}
.hm-container_open {
  transform: translateX(0);
}
.hm-container__close {
  position: absolute;
  right: 10px;
  z-index: 10;
  display: flex;
  top: 10px;
  cursor: pointer;
}
.hm-container__wrapper {
  transition: transform var(--motion-base) var(--ease-out);
}
.hm-container__menu {
  margin-bottom: 20px;
}
.hm-container__menu-sub {
  display: none;
  position: absolute;
  left: 100%;
  top: 0;
  width: 100%;
}
.hm-container__menu-sub_open {
  display: block;
}
.hm-container__menu-item {
  border-bottom: 1px solid #f2f2f2;
}
.hm-container__menu-back, .hm-container__menu-title, .hm-container__menu-link {
  display: block;
  background: #fff;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 20px 13px;
  color: black;
}
.hm-container__menu-back {
  font-weight: 400;
  cursor: pointer;
  position: relative;
  padding-left: 45px;
}
.hm-container__menu-back::before {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg width='45' height='35' viewBox='0 0 45 35' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-0.000826302 17.844C-0.000826412 19.094 0.477173 20.268 1.36117 21.152L14.3242 34.121C15.3012 35.098 16.8852 35.098 17.8602 34.121C18.8382 33.144 18.8362 31.553 17.8602 30.575L7.28617 20.005L42.4672 20.005C43.8492 20.004 44.9512 18.871 44.9512 17.488C44.9512 17.485 44.9512 17.463 44.9512 17.46C44.9512 16.078 43.8492 14.937 42.4672 14.937L7.28517 14.937L17.8572 4.37301C18.8352 3.39501 18.8352 1.80901 17.8572 0.83201C16.8802 -0.14699 15.2962 -0.145991 14.3192 0.833009L1.36117 13.803C0.476173 14.685 -0.000826129 15.862 -0.000826238 17.112C-0.000826249 17.235 -0.000826292 17.721 -0.000826302 17.844Z'/%3E%3C/svg%3E%0A");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
  top: 0;
  bottom: 0;
  left: 20px;
  margin: auto;
}
.hm-container__menu-title {
  background-color: #fbfbfb;
  color: #014CE4;
}
.hm-container__menu-link_arrow {
  position: relative;
}
.hm-container__menu-link_arrow::after {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='30' viewBox='0 0 18 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-1.16496e-06 26.9625L3.02812 30L18 15L3.02813 1.0753e-06L9.26625e-07 3.0375L11.9344 15L-1.16496e-06 26.9625Z' fill='black'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 15px;
  height: 15px;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
}
.hm-container__sections {
  display: flex;
  flex-direction: column;
  padding-left: 20px;
}
.hm-container__section {
  margin-bottom: 20px;
}
.hm-container__section:not(:last-child) {
  margin-bottom: 15px;
}
.hm-container__social {
  padding-left: 20px;
  display: flex;
  flex-direction: column;
}
.hm-container__social-item {
  color: black;
  display: flex;
  align-items: center;
}
.hm-container__social-item:not(:last-child) {
  margin-bottom: 15px;
}
.hm-container__social-item svg {
  margin-right: 20px;
}
footer{
  flex: 0 0 auto;
}
.footer__top {
  background-color: #FFF;
  margin-bottom: 3px;
  padding-top: 13px;
  padding-bottom: 13px;
}
.footer__top-container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
@media screen and (min-width: 1440px) {
  .footer__top-container {
    flex-wrap: nowrap;
  }
}
.footer__logo {
  display: flex;
  align-items: flex-start;
  color: #000;
  max-width: 230px;
  margin-bottom: 35px;
  margin-right: 15px;
  margin-top: 5px;
}
.footer__logo p {
  display: none;
}
@media screen and (min-width: 1440px) {
  .footer__logo {
    max-width: 285px;
    margin-bottom: 0;
    margin-right: 0;
    flex: none;
  }
  .footer__logo p {
    margin-top: 27px;
    display: block;
  }
}
.footer__logo img {
  width: 83px;
  height: 75px;
  margin-right: 25px;
  flex: none;
}
@media screen and (min-width: 1440px) {
  .footer__logo img {
  }
}
.footer__item {
  display: flex;
  margin-right: 15px;
  margin-top: 13px;
  flex-basis: 19%;
}
@media screen and (min-width: 1440px) {
  .footer__item {
    margin-left: 70px;
    margin-right: 0;
    flex: none;
    flex-basis: auto;
  }
}
@media (min-width: 992px) and (max-width: 1250px) {
  .footer__item {
    flex-basis: 23%;
  }
}
@media (min-width: 500px) and (max-width: 991px) {
  .footer__item {
    flex-basis: fit-content;
    margin-right: 20px;
  }
}
.footer__item_phones {
  order: 3;
}
@media screen and (min-width: 1440px) {
  .footer__item_phones {
  }
}
.footer__item_email {
  order: 4;
}
@media screen and (min-width: 1440px) {
  .footer__item_email {

  }
}
@media (min-width: 992px) and (max-width: 1250px) {
  .footer__item_email {
    display: none;
  }
}
.footer__item_address {
  margin-left: auto;
  min-width: 320px;
}
@media screen and (min-width: 1440px) {
  .footer__item_address {
    max-width: 340px;
    margin-left: 40px;
  }
}
@media screen and (max-width: 991px) {
  .footer__item_address {
    margin-left: 0;
  }
}
.footer__item_schedule {
  width: 210px;
  margin-bottom: 15px;
  order: 2;
}
@media screen and (min-width: 1440px) {
  .footer__item_schedule {
    width: auto;
    margin-bottom: 0;
    margin-left: 70px;
  }
}
.footer__item svg {
  flex: none;
  margin-right: 10px;
}
.footer__item-title {
  margin-bottom: 10px;
  color: #636363;
}
.footer__location-text:first-of-type {
  margin-bottom: 10px;
}
.footer__phone {
  color: #000;
  font-size: 16px;
  font-weight: 700;
  display: block;
  line-height: 20px;
  white-space: nowrap;
}
.footer__phone + .footer__phone, .footer__phone-note + .footer__phone { margin-top: 7px; }
/* номер другого региона скрыт атрибутом hidden — display: block выше его бы показал (владелец 28.10: «криво») */
.footer__phone[hidden], .footer__phone-note[hidden] { display: none; }
@media screen and (min-width: 1440px) {
  .footer__phone {
  }
}
.footer__schedule .schedule__title {
  margin-bottom: 17px;
}
.footer__schedule .schedule__days {
  margin-bottom: 17px;
}
.footer__schedule .schedule__day {
  width: 18px;
}
.footer__schedule .schedule__info {
}
.footer__address {
  font-weight: 500;
}
.footer__bottom {
  padding-top: 15px;
  padding-bottom: 15px;
  background-color: #F6F8FA;
}
@media screen and (min-width: 1440px) {
  .footer__bottom-container {
    display: flex;
    align-items: center;
  }
}
.footer__copyright {
  margin-bottom: 10px;
  font-size: 12px;
}
@media screen and (min-width: 1440px) {
  .footer__copyright {
    margin-bottom: 0;
    margin-right: 285px;
  }
}
.footer__legal {
  margin: 10px 0 0;
  font-size: 11px;
  color: #999;
}
.footer__links {
  line-height: 18px;
}
@media screen and (min-width: 1440px) {
  .footer__links::before {
    content: "Информация:";
    font-size: 12px;
    font-weight: 600;
    margin-right: 30px;
  }
}
.footer__link {
  color: #000;
  font-size: 12px;
}
@media screen and (min-width: 1440px) {
  .footer__link {
    color: #000;
    font-size: 12px;
  }
}
.footer__link:not(:last-child) {
  margin-right: 30px;
}

.breadcrumb {
  font-size: 12px;
  line-height: 22px;
}
.breadcrumb__list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.breadcrumb__item {
  display: inline;
}
.breadcrumb__slash {
  margin-left: 15px;
  margin-right: 15px;
  color: #A3A3A3;
}
.breadcrumb__span {
  color: #A3A3A3;
}
.breadcrumb__link {
  color: #A3A3A3;
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagination__link {
  font-size: 17px;
  font-weight: 500;
  color: #424651;
  display: none;
}
@media screen and (min-width: 1440px) {
  .pagination__link {
    display: block;
  }
}
.pagination__container {
  overflow: hidden;
  display: inline-flex;
  border: 1px solid #EEF2F5;
  border-radius: 7px;
}
@media screen and (min-width: 1440px) {
  .pagination__container {
    margin-left: 25px;
    margin-right: 25px;
  }
}
.pagination__page {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  color: #424651;
  font-weight: 500;
}
.pagination__page_active {
  background-color: #014CE4;
  color: white;
  font-weight: 700;
}

.tab-control {
  display: flex;
  flex-wrap: wrap;
  padding-top: 1px;
  padding-left: 1px;
}
.tab-control__button {
  padding: 15px 44px;
  margin-top: -1px;
  margin-left: -1px;
  white-space: nowrap;
  border: 1px solid #EEF2F5;
  background-color: white;
  font-size: 18px;
  font-weight: 500;
}
.tab-control__button:first-child {
  border-radius: 7px 0 0 7px;
}
.tab-control__button:last-child {
  border-radius: 0 7px 7px 0;
}
.tab-control__button.active-tab {
  cursor: default;
  background-color: #014CE4;
  color: white;
}

.tab-content__block {
  display: none;
}
.tab-content__block.active-content {
  display: block;
}

.modal-control {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1005;
  background-color: rgba(24, 37, 50, 0.7);
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  transition: opacity var(--motion-base) var(--ease-out), visibility 0s linear var(--motion-base);
}
.modal-control_show {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}

.modal {
  background-color: white;
  padding: 50px;
  margin-left: 15px;
  margin-right: 15px;
  min-width: 400px;
  max-width: 700px;
  position: absolute;
  z-index: 100;
}
.modal__close {
  top: 15px;
  right: 15px;
  position: absolute;
  width: 20px;
  height: 20px;
}
@media screen and (min-width: 1440px) {
  .modal__close {
    width: 28px;
    height: 28px;
  }
}
#popup__product-preview .modal__content, #popup__product-preview .modal-control__modal, #popup__product-preview{
  overflow: hidden;
}
#popup__product-preview ul.product__properties div.group{
  margin: 9px 0 10px!important;
}
.modal__content {
  display: flex;
  flex-direction: column;
  align-items: self-start;
}
.modal__title {
  margin-bottom: 20px;
}
.modal_preview {
  width: 1200px;
  height: 100%;
  max-height: 700px;
  overflow-y: auto;
  padding: 5px 100px;
}
.modal_preview .product__params {
  height: auto;
  margin-bottom: 10px;
}
.modal_preview .product__main {
  width: 100%;
}
.modal_preview .product__price {
  max-width: 378px;
  padding-top: 15px;
  padding-bottom: 20px;
}
.modal_preview .product__price-top {
  align-items: center;
}
.modal_preview .product__price-middle {
  margin-bottom: 20px;
}
.modal_preview .product__price-buy {
  padding-top: 19px;
  padding-bottom: 19px;
}
.modal_preview .product__modal-more {
  align-self: center;
  padding: 20px 40px;
}

body.body_no-scroll {
  overflow: hidden;
}

.modal-form__input {
  margin-bottom: 10px;
}
.modal-form__button {
  margin-top: 20px;
  min-width: 200px;
}
.modal-form__footer {
  margin-top: 10px;
}
.modal-form .recovery {
  margin-top: 10px;
  display: block;
  cursor: pointer;
}

.select-city__input {
  margin-bottom: 20px;
}
.select-city__list {
  position: relative;
  list-style-type: none;
  height: 170px;
}
.select-city__item {
  margin-bottom: 5px;
}

.custom-select {
  position: relative;
  height: 50px;
  font-size: 14px;
  background: #fff;
  border: 1px solid #EEF2F5;
  color: black;
  padding: 0 42px 0 13px;
  display: flex;
  align-items: center;
  border-radius: 7px;
  font-weight: 500;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='6' height='5' viewBox='0 0 6 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.14648 0.6465L2.99998 2.793L0.853484 0.6465L0.146484 1.3535L2.99998 4.207L5.85348 1.3535L5.14648 0.6465Z' fill='%23014CE4'/%3E%3C/svg%3E%0A");
  background-size: 7px 6px;
  background-position: right 11px top 22px;
  background-repeat: no-repeat;
}

.ps__thumb-x {
  height: 3px;
  bottom: 0;
  background-color: #014CE4;
  border-radius: 7px;
}

.ps__thumb-y {
  width: 3px;
  right: 0;
  background-color: #014CE4;
  border-radius: 7px;
}

.ps__rail-x {
  height: 3px;
  border-radius: 7px;
}

.ps__rail-y {
  width: 3px;
  border-radius: 7px;
}

.ps .ps__rail-x:hover,
.ps .ps__rail-y:hover,
.ps .ps__rail-x:focus,
.ps .ps__rail-y:focus,
.ps .ps__rail-x.ps--clicking,
.ps .ps__rail-y.ps--clicking {
  background-color: #fff;
}

.ps__rail-x:hover > .ps__thumb-x,
.ps__rail-x:focus > .ps__thumb-x,
.ps__rail-x.ps--clicking .ps__thumb-x {
  background-color: #014CE4;
  height: 3px;
}

.ps__rail-y:hover > .ps__thumb-y,
.ps__rail-y:focus > .ps__thumb-y,
.ps__rail-y.ps--clicking .ps__thumb-y {
  background-color: #014CE4;
  width: 3px;
}

.index__offer {
  margin-bottom: 35px;
}
@media screen and (min-width: 1440px) {
  .index__offer {
    margin-top: 20px;
    margin-bottom: 80px;
  }
}
.index__how-it-work {
  margin-bottom: 75px;
}
.index__special {
  margin-bottom: 55px;
}
.index__facts {
  margin-bottom: 60px;
}
@media screen and (min-width: 1440px) {
  .index__facts {
    margin-bottom: 80px;
  }
}
.index__hits {
  margin-bottom: 60px;
}
@media screen and (min-width: 1440px) {
  .index__hits {
    margin-bottom: 80px;
  }
}
.index__services {
  margin-bottom: 60px;
}
@media screen and (min-width: 1440px) {
  .index__services {
    margin-bottom: 80px;
  }
}
.index__brands {
  margin-bottom: 60px;
}
.seo-text {
	margin-top: -20px;
	margin-bottom: 60px;
}
.seo-text h3 {
	margin-bottom: 25px;
}
@media screen and (min-width: 1440px) {
  .index__brands {
    margin-bottom: 60px;
  }
}
@media screen and (min-width: 960px) {
  .index__articles {
    margin-bottom: 20px;
  }
}
.index__articles {
  margin-bottom: 0px;
}
@media screen and (min-width: 1440px) {
  .index__articles {
    margin-bottom: 80px;
  }
}
.index__content {
  margin-bottom: 60px;
}
.index__content .content__text p:first-of-type {
  margin-top: 0;
}
.index__content .content__container {
  flex-wrap: nowrap;
}
.index__content .content__container .content__image {
  flex-basis: auto;
  margin-right: 20px;
}

@media screen and (min-width: 1440px) {
  .index__content {
    margin-bottom: 80px;
  }
}

.offer-slider {
  max-width: 1370px;
  overflow: hidden;
  border-radius: 7px;
  display: flex;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 991.98px) {
  .offer-slider {
    border-radius: 0;
  }
  .product-slider .named-block__container {
	  overflow-y: hidden;
  }
}
.offer-slider__container {
  position: relative;
  overflow: hidden;
}
/*.offer-slider__wrapper {
  display: flex;
}
.offer-slider__slide {
  flex: none;
  width: 100%;
}
.offer-slider__slide img {
  width: 100%;
  display: block;
  vertical-align: middle;
}
@media screen and (min-width: 1440px) {
  .offer-slider__navigation {
    display: block;
  }
}
@media (min-width: 992px) and (max-width: 1439.98px) {
  .offer-slider__slide img {
    border-radius: 7px;
  }
}*/
.offer-slider__navigation {
  position: relative;
  display: none;
  background-color: #014CE4;
  width: 58px;
  flex: none;
}

.offer-slider__navigation::before {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M26.5 0.866025C25.5718 0.330127 24.4282 0.330127 23.5 0.866025L4.84936 11.634C3.92116 12.1699 3.34937 13.1603 3.34937 14.2321V35.768C3.34937 36.8397 3.92116 37.8301 4.84937 38.366L23.5 49.134C24.4282 49.6699 25.5718 49.6699 26.5 49.134L45.1506 38.366C46.0788 37.8301 46.6506 36.8397 46.6506 35.7679V14.232C46.6506 13.1603 46.0788 12.1699 45.1506 11.634L26.5 0.866025Z' fill='%23014CE4'/%3E%3C/svg%3E%0A");
  top: 0;
  bottom: 0;
  left: -25px;
  margin: auto;
  width: 50px;
  height: 50px;
}
.offer-slider__arrows {
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 35px;
}
.offer-slider__arrow {
  width: 35px;
  height: 35px;
}
.offer-slider__arrow svg {
  transition: transform var(--motion-fast) var(--ease-out);
  width: 15px;
  height: 18px;
}
.offer-slider__arrow:hover svg {
  transform: scale(1.4);
}
.offer-slider__arrow_left {
  transform: scaleX(-1);
  margin-right: 5px;
}
.offer-slider__dots {
  position: absolute;
  display: flex;
  align-items: center;
  flex-direction: column;
  left: 0;
  right: 0;
  bottom: 25px;
  margin: auto;
}
.offer-slider__dot {
  cursor: pointer;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #91C8E7;
}
.offer-slider__dot:not(:last-child) {
  margin-bottom: 15px;
}
.offer-slider__dot_active {
  background-color: #fff;
  cursor: default;
  width: 12px;
  height: 12px;
}

.how-it-work__header {
  margin-bottom: 40px;
}
@media screen and (min-width: 1440px) {
  .how-it-work__header {
    display: flex;
  }
}
.how-it-work__title {
  margin-bottom: 20px;
}
@media screen and (min-width: 1440px) {
  .how-it-work__title {
    margin-bottom: 0;
    margin-right: 150px;
  }
}
.how-it-work__tabs {
  max-width: 530px;
}
@media screen and (min-width: 1440px) {
  .how-it-work__tabs {
    flex: 1 0 auto;
  }
}
.how-it-work__product_pool, .how-it-work__product_fontan, .how-it-work__product_prud {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 1440px) {
  .how-it-work__product_pool, .how-it-work__product_fontan, .how-it-work__product_prud {
    align-items: center;
  }
}
.how-it-work__product_pool .how-it-work__list, .how-it-work__product_fontan .how-it-work__list, .how-it-work__product_prud .how-it-work__list {
  height: 240px;
  margin-bottom: 40px;
}
@media screen and (min-width: 1440px) {
  .how-it-work__product_pool .how-it-work__list, .how-it-work__product_fontan .how-it-work__list, .how-it-work__product_prud .how-it-work__list {
    width: 710px;
  }
}
.how-it-work__product_pool .how-it-work__sticker:nth-child(1), .how-it-work__product_fontan .how-it-work__sticker:nth-child(1), .how-it-work__product_prud .how-it-work__sticker:nth-child(1) {
  right: 220px;
  bottom: 185px;
}
@media screen and (min-width: 1440px) {
  .how-it-work__product_pool .how-it-work__sticker:nth-child(1), .how-it-work__product_fontan .how-it-work__sticker:nth-child(1), .how-it-work__product_prud .how-it-work__sticker:nth-child(1) {
    right: 275px;
    bottom: 305px;
  }
}
.how-it-work__product_pool .how-it-work__sticker:nth-child(2), .how-it-work__product_fontan .how-it-work__sticker:nth-child(2), .how-it-work__product_prud .how-it-work__sticker:nth-child(2) {
  right: 270px;
  bottom: 115px;
}
@media screen and (min-width: 1440px) {
  .how-it-work__product_pool .how-it-work__sticker:nth-child(2), .how-it-work__product_fontan .how-it-work__sticker:nth-child(2), .how-it-work__product_prud .how-it-work__sticker:nth-child(2) {
    right: 350px;
    bottom: 185px;
  }
}
.how-it-work__product_pool .how-it-work__sticker:nth-child(3), .how-it-work__product_fontan .how-it-work__sticker:nth-child(3), .how-it-work__product_prud .how-it-work__sticker:nth-child(3) {
  right: 413px;
  bottom: 190px;
}
@media screen and (min-width: 1440px) {
  .how-it-work__product_pool .how-it-work__sticker:nth-child(3), .how-it-work__product_fontan .how-it-work__sticker:nth-child(3), .how-it-work__product_prud .how-it-work__sticker:nth-child(3) {
    right: 535px;
    bottom: 325px;
  }
}
.how-it-work__product_pool .how-it-work__sticker:nth-child(4), .how-it-work__product_fontan .how-it-work__sticker:nth-child(4), .how-it-work__product_prud .how-it-work__sticker:nth-child(4) {
  right: 60px;
  bottom: 216px;
}
@media screen and (min-width: 1440px) {
  .how-it-work__product_pool .how-it-work__sticker:nth-child(4), .how-it-work__product_fontan .how-it-work__sticker:nth-child(4), .how-it-work__product_prud .how-it-work__sticker:nth-child(4) {
    right: 90px;
    bottom: 356px;
  }
}
.how-it-work__product_pool .how-it-work__sticker:nth-child(5), .how-it-work__product_fontan .how-it-work__sticker:nth-child(5), .how-it-work__product_prud .how-it-work__sticker:nth-child(5) {
  right: 170px;
  bottom: 125px;
}
@media screen and (min-width: 1440px) {
  .how-it-work__product_pool .how-it-work__sticker:nth-child(5), .how-it-work__product_fontan .how-it-work__sticker:nth-child(5), .how-it-work__product_prud .how-it-work__sticker:nth-child(5) {
    right: 220px;
    bottom: 210px;
  }
}
.how-it-work__product_pool .how-it-work__sticker:nth-child(6), .how-it-work__product_fontan .how-it-work__sticker:nth-child(6), .how-it-work__product_prud .how-it-work__sticker:nth-child(6) {
  right: 240px;
  bottom: 0;
}
@media screen and (min-width: 1440px) {
  .how-it-work__product_pool .how-it-work__sticker:nth-child(6), .how-it-work__product_fontan .how-it-work__sticker:nth-child(6), .how-it-work__product_prud .how-it-work__sticker:nth-child(6) {
    right: 330px;
    bottom: 50px;
  }
}
.how-it-work__product_pool .how-it-work__sticker:nth-child(7), .how-it-work__product_fontan .how-it-work__sticker:nth-child(7), .how-it-work__product_prud .how-it-work__sticker:nth-child(7) {
  right: 130px;
  bottom: 10px;
}
@media screen and (min-width: 1440px) {
  .how-it-work__product_pool .how-it-work__sticker:nth-child(7), .how-it-work__product_fontan .how-it-work__sticker:nth-child(7), .how-it-work__product_prud .how-it-work__sticker:nth-child(7) {
    right: 170px;
    bottom: 50px;
  }
}
.how-it-work__product_pool .how-it-work__sticker:nth-child(8), .how-it-work__product_fontan .how-it-work__sticker:nth-child(8), .how-it-work__product_prud .how-it-work__sticker:nth-child(8) {
  right: 410px;
  bottom: 15px;
}
@media screen and (min-width: 1440px) {
  .how-it-work__product_pool .how-it-work__sticker:nth-child(8), .how-it-work__product_fontan .how-it-work__sticker:nth-child(8), .how-it-work__product_prud .how-it-work__sticker:nth-child(8) {
    right: 530px;
    bottom: 60px;
  }
}
.how-it-work__list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}
.how-it-work__item {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding-left: 15px;
  padding-right: 15px;
  max-width: 50%;
}
.how-it-work__item:not(:last-child) {
  margin-bottom: 10px;
}
.how-it-work__item-num {
  margin-right: 15px;
}
.how-it-work__item-num svg {
  fill: white;
  filter: drop-shadow(0px 4px 13px rgba(79, 94, 100, 0.12));
}
.how-it-work__item-num svg text {
  fill: black;
  font-weight: 500;
}
.how-it-work__item-text {
  font-weight: 500;
}
.how-it-work__item_active {
  cursor: default;
}
.how-it-work__item_active .how-it-work__item-num svg {
  fill: #28C57C;
  filter: drop-shadow(0px 4px 11px rgba(1, 76, 228, 0.11));
}
.how-it-work__item_active .how-it-work__item-num svg text {
  fill: white;
  font-weight: 700;
}
.how-it-work__item_active .how-it-work__item-text {
  font-weight: 700;
}
.how-it-work__picture {
  position: relative;
  display: inline-flex;
  margin-right: 0;
  margin-left: auto;
  right: -15px;
}
@media screen and (min-width: 1440px) {
  .how-it-work__picture {
    right: 0;
  }
}
.how-it-work__sticker {
  position: absolute;
  cursor: pointer;
}
.how-it-work__sticker svg {
  fill: white;
  filter: drop-shadow(0px 4px 13px rgba(79, 94, 100, 0.12));
}
.how-it-work__sticker svg text {
  fill: black;
  font-weight: 500;
}
.how-it-work__sticker_active {
  cursor: default;
}
.how-it-work__sticker_active svg {
  fill: #28C57C;
  filter: drop-shadow(0px 4px 11px rgba(1, 76, 228, 0.11));
}
.how-it-work__sticker_active svg text {
  fill: white;
  font-weight: 700;
}

.product-slider .named-block__container {
  overflow-x: hidden;
}
.product-slider__header {
  display: flex;
  margin-bottom: 20px;
}
.product-slider__count {
  margin-left: 10px;
  font-size: 14px;
}
.product-slider__container {
  position: relative;
  width: calc(100% - 1px);
  display: inline-block;
  border-radius: 7px;
  margin-bottom: 20px;
}
.product-slider__wrapper {
  display: flex;
}
.product-slider__slide {
  flex: none;
  width: 224px;
  border: 1px solid #eef2f5;
}
@media screen and (min-width: 1440px) {
  .product-slider__slide {
    width: calc(100% / 5);
  }
}
.product-slider__arrows {
  display: flex;
  justify-content: center;
}
.product-slider__arrow .arrow-bg {
  fill: #014CE4;
}
.product-slider__arrow_left {
  margin-right: 15px;
}
.product-slider__arrow_disabled .arrow-bg {
  fill: #dadada;
}
.product-slider__arrow_hide {
  display: none;
}

.is-available {
  font-size: 14px;
  color: #28C57C;
  display: flex;
  align-items: center;
}
.is-available_not {
  color: #FA4451;
}
.is-available_not svg {
  display: none;
}
.is-available_maybe {
  color: #FAB300;
}
.is-available svg {
  margin-right: 5px;
}

.product-card {
  position: relative;
}
@media screen and (min-width: 1440px) {
  .product-card_detail .product-card__header {
    display: none;
  }
}
@media screen and (min-width: 1440px) {
  .product-card_detail .product-card__label-list {
    top: 0;
  }
}

@media screen and (min-width: 1440px) {
  .product-card_detail .product-card__is-available-detail {
    display: flex;
  }
}
.product__params-button {
	cursor: pointer;
}

.product-card_detail .product-card__preview-btn {
  display: none;
}

@media screen and (min-width: 1440px) {
  .product-card_detail:hover .product-card__container {
    position: absolute;
    background-color: white;
    /* height: 124%; */
    height: auto;
    z-index: 2;
    width: 100%;
  }
  .product-card_detail:hover .product-card__preview-btn, .product-card_detail:hover .product-card__more {
    display: block;
  }

  .product-card__preview-btn {
    /*display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: unset!important;*/

    position: absolute;
    width: fit-content;
    top: calc(50% - 30px);
    padding: 0;
    /* height: 100%; */
    background-color: unset!important;
  }
  .product-card__preview-btn span {
    opacity: 0.9;
    font-weight: 400;
    font-size: 14px;
    padding: 12px 25px;
    background-color: #014CE4;
    display: block;
    position: relative;
    width: fit-content;
    margin: auto;
    top: calc(50% - 30px);
  }
}
.product-card_not-available .is-available {
  color: #FA4451;
}
.product-card_not-available .is-available svg {
  display: none;
}
.product-card_not-available .product-card__button {
  cursor: default;
  background-color: #EEF2F5;
}
.product-card_maybe-available .is-available {
  color: #FAB300;
}
.product-card__container {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  height: 353px;
  padding: 15px 12px;
}
@media screen and (min-width: 1440px) {
  .product-card__container {
    height: 366px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.product-card__header {
  display: flex;
}
.product-card__is-available {
  flex: 1;
  font-size: 11px;
}
.product-card__wish, .product-card__compare {
  cursor: pointer;
}
.product-card__compare.active path {
	fill: red;
}
.product-card__wish {
  margin-left: 25px;
}
.product-card__label-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: absolute;
  /*top: 5px;
  left: 0;*/
  z-index: 2;
  top: 10px;
  left: 20px;
}
/* этап 21: стикеры — соседи ссылки-фото (не внутри aria-hidden), стоят там же; щелчок по стикеру — в фото */
.product-card__media {
  position: relative;
}
.product-card__media .product-card__label-list {
  pointer-events: none;
}
.product-card__label-list div:not(:last-child) {
  margin-right: 5px;
}
.product-card__label {
  padding: 3px 6px;
  font-size: 10px;
  color: white;
  display: inline-block;
  border-radius: 2px;
  overflow: hidden;
}
.product-card__label_green {
  background-color: #28C57C;
}
.product-card__label_orange {
  background-color: #FA8644;
}
.product-card__label_indigo {
  background-color: #6501E4;
}
.product-card__label_article {
  background-color: #000000;
}
.product-card__image {
  height: 200px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-card__image img {
  max-height: 185px;
}

@media screen and (max-width: 1439px) {

}

.product-card__discount {
  font-family: "IBM Plex Mono";
  font-size: 10px;
  font-weight: 500;
  width: 36px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  background-image: url("data:image/svg+xml,%3Csvg width='36' height='24' viewBox='0 0 36 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.60532 5.22714H32.5263C33.4856 5.22714 34.2632 6.00036 34.2632 6.95452V19.9089C34.2632 20.8635 33.4856 21.6363 32.5263 21.6363H5.60532C4.64607 21.6363 3.86846 20.8635 3.86846 19.9089V6.95452C3.86846 6.00036 4.64607 5.22714 5.60532 5.22714Z' fill='%23FA4451'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.48077 5.62527L28.5049 2.31661C29.432 2.19896 30.2787 2.86012 30.3959 3.79392L31.9861 16.4708C32.1033 17.4042 31.4464 18.2567 30.5193 18.3743L4.49516 21.6834C3.56789 21.801 2.72121 21.1399 2.60413 20.2064L1.01396 7.52919C0.896775 6.59574 1.55351 5.74329 2.48077 5.62527Z' fill='%23FA4451'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.product-card__category {
  color: #424651;
  font-size: 10px;
  margin-bottom: 5px;
}
.compare_page .product-card__category {
  text-align: left;
}
.compare_page th {
  vertical-align: top;
}
.product-card__is-available-detail {
  display: none;
  font-size: 11px;
  margin-bottom: 5px;
}
.product-card__title {
  color: #424651;
  font-size: 13px;
  margin-bottom: 10px;
  font-weight: 500;
}
.compare_page .product-card__title {
  text-align: left;
  min-height: 55px;
}
@media screen and (min-width: 1440px) {
  .product-card__title {
    font-size: 14px;
    margin-bottom: 25px;
  }
}
.product-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
}
.product-card__more {
  display: none;
  margin-left: -15px;
  margin-right: -15px;
  padding-left: 15px;
  padding-right: 15px;
  margin-top: 10px;
}
.product-card__more-buttons {
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 1px solid #EEF2F5;
  border-bottom: 1px solid #EEF2F5;
  display: flex;
  margin-bottom: 10px;
}
.product-card__more-button {
  margin-right: 25px;
  display: flex;
}
.product-card__more-button.active path {
	fill: red;
}
.product-card__more-link {
  margin-left: auto;
  font-weight: 500;
}
.product-card__more-info {
  font-size: 13px;
  line-height: 17px;
}
.product-card__more-info span {
  color: #808080;
}

.product-price {
  display: flex;
  flex-direction: column;
}
.product-price__current {
  font-size: 15px;
  font-weight: 700;
}
@media screen and (min-width: 1440px) {
  .product-price__current {
    font-size: 18px;
  }
}
.product-price__old {
  color: #696969;
  font-size: 13px;
  position: relative;
  text-decoration: line-through;
}
@media screen and (min-width: 1440px) {
  .product-price__old {
    font-size: 14px;
  }
}

.facts__numbers {
  background-image: url("../img/facts-bg.386a20b77221.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  margin-left: -15px;
  margin-right: -15px;
  padding: 20px 40px 40px;
  color: white;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  margin-bottom: 60px;
  border-radius: 7px;
  overflow: hidden;
}

@media(max-width:500px){
  .facts__numbers{
    min-height: 340px!important;
    justify-content: flex-start!important;
  }
}
@media screen and (min-width: 1440px) {
  .facts__numbers {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 45px;
  }
}
.facts__numbers::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.47);
}
.facts__number {
  position: relative;
  z-index: 1;
}
.facts__number:first-child {
  margin-bottom: 35px;
}
@media screen and (min-width: 796px) {
  .facts__number:first-child {
    margin-bottom: 0;
  }
}
.facts__number-num {
  font-size: 56px;
  font-weight: 700;
}
.facts__number-text {
  font-size: 17px;
  font-weight: 500;
  width: 100px;
}
@media screen and (min-width: 1440px) {
  .facts__profit {
    position: relative;
    height: 663px;
  }
}
.facts__profit-title {
  margin: auto;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (min-width: 1440px) {
  .facts__profit-title {
    top: 35px;
    left: 0;
    right: 0;
    max-width: 370px;
    position: absolute;
  }
}
.facts__profit-container {
  position: relative;
  overflow-x: hidden;
  margin-left: -15px;
  margin-right: -15px;
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (min-width: 1440px) {
  .facts__profit-container {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    overflow-x: visible;
    position: absolute;
    width: 100%;
    height: 100%;
  }
}
.facts__profit-wrapper {
  display: flex;
}
@media screen and (min-width: 1440px) {
  .facts__profit-wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
  }
}
.facts__profit-slide {
  flex: none;
  margin-right: 10px;
}
@media screen and (min-width: 1440px) {
  .facts__profit-slide {
    margin-right: 0;
    position: absolute;
  }
  .facts__profit-slide:nth-child(1) {
    top: 0;
    left: 0;
  }
  .facts__profit-slide:nth-child(2) {
    bottom: 0;
    left: 183px;
  }
  .facts__profit-slide:nth-child(3) {
    z-index: 1;
    bottom: 110px;
    left: 0;
    right: 0;
    margin: auto;
  }
  .facts__profit-slide:nth-child(4) {
    bottom: 0;
    right: 183px;
  }
  .facts__profit-slide:nth-child(5) {
    top: 0;
    right: 0;
  }
}
.facts__arrows {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 1440px) {
  .facts__arrows {
    display: none;
  }
}
.facts__arrow .arrow-bg {
  fill: #014CE4;
}
.facts__arrow_left {
  margin-right: 15px;
}
.facts__arrow_disabled .arrow-bg {
  fill: #dadada;
}
.facts__arrow_hide {
  display: none;
}

.profit-slide {
  background-image: url("data:image/svg+xml,%3Csvg width='292' height='331' viewBox='0 0 292 331' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M142.524 0.989226C144.677 -0.243182 147.323 -0.24318 149.476 0.989228L287.969 80.2339C290.148 81.4807 291.492 83.799 291.492 86.3096V244.69C291.492 247.201 290.148 249.519 287.969 250.766L149.476 330.011C147.323 331.243 144.677 331.243 142.524 330.011L4.03125 250.766C1.8522 249.519 0.507736 247.201 0.507736 244.69V86.3096C0.507736 83.799 1.8522 81.4807 4.03125 80.2339L142.524 0.989226Z' fill='%23014CE4'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 291px;
  height: 333px;
  padding-top: 35px;
  padding-left: 25px;
  padding-right: 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: white;
}
@media screen and (min-width: 1440px) {
  .profit-slide {
    width: 323px;
    height: 373px;
    padding-top: 65px;
  }
}
.profit-slide_dark {
  background-image: url("data:image/svg+xml,%3Csvg width='326' height='371' viewBox='0 0 326 371' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M159.521 0.992568C161.676 -0.241755 164.324 -0.241752 166.479 0.992572L322.292 90.2334C324.469 91.4806 325.813 93.7981 325.813 96.3076V274.692C325.813 277.202 324.469 279.519 322.292 280.767L166.479 370.007C164.324 371.242 161.676 371.242 159.521 370.007L3.70823 280.767C1.5306 279.519 0.187225 277.202 0.187225 274.692V96.3076C0.187225 93.7981 1.53059 91.4806 3.70823 90.2334L159.521 0.992568Z' fill='%23182532'/%3E%3C/svg%3E%0A");
}
.profit-slide__icon {
  margin-bottom: 25px;
}
.profit-slide__title {
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 20px;
}
@media screen and (min-width: 1440px) {
  .profit-slide__title {
    font-size: 17px;
  }
}
.profit-slide__text {
  font-size: 12px;
  line-height: 15px;
  text-align: center;
}
@media screen and (min-width: 1440px) {
  .profit-slide__text {
    font-size: 13px;
    line-height: 20px;
  }
}

.services__title {
  margin-bottom: 33px;
}
.services__list {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1440px) {
  .services__list {
    flex-direction: row;
    margin-left: -10px;
    margin-right: -10px;
  }
}
.services__item {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  max-width: 457px;
  height: 237px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: 21px;
  color: white;
  margin-bottom: 12px;
  position: relative;
  margin-left: 10px;
  margin-right: 10px;
}
@media screen and (min-width: 1440px) {
  .services__item {
    margin-left: 10px;
    margin-right: 10px;
    height: 445px;
    align-items: flex-start;
    padding-top: 40px;
  }
}
.services__item::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.51) 0%, rgba(0, 0, 0, 0) 100%);
}
.services__item:nth-child(2)::before {
  content: "";
  position: absolute;
  width: 148px;
  height: 58px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background-image: url("../img/after.28ef61e1be8a.png");
  background-size: cover;
  background-position: top;
}
@media screen and (min-width: 1440px) {
  .services__item:nth-child(2)::before {
    width: 240px;
    height: 223px;
    background-size: auto;
  }
}
.services__item-text {
  max-width: 300px;
  text-align: center;
  position: relative;
  z-index: 1;
  margin-top: 34px;
}

.brands .named-block__container {
  overflow-x: hidden;
}
.brands__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
}
@media screen and (min-width: 1440px) {
  .brands__header {
    justify-content: flex-start;
  }
}
@media screen and (min-width: 1440px) {
  .brands__title {
    margin-right: 50px;
  }
}

.brands__container {
	border-right: none;
	margin-bottom: 30px;
	position: relative;
}
.brands__wrapper {
	display: flex;
}
.brands__slide {
	align-items: center;
	border: 1px solid #EEF2F5;
	display: flex;
	flex: none;
	height: 130px;
	justify-content: center;
	overflow: hidden;
	text-align: center;
	width: 224px;
}
.brands__slide img {
	max-height: 90px;	
}
.brands__name {
	color: #424651;
	font-weight: 500;
}

@media screen and (min-width: 1440px) {
  .brands__slide {
    width: calc(100% / 5);
    height: 145px;
    min-width: 256px;
	overflow: hidden;
  }
}
.brands__slide:hover {
  box-shadow: 0px 4px 13px rgba(79, 94, 100, 0.12);
}
.brands__arrows {
  display: flex;
  justify-content: center;
}
.brands__arrow .arrow-bg {
  fill: #014CE4;
}
.brands__arrow_left {
  margin-right: 15px;
}
.brands__arrow_disabled .arrow-bg {
  fill: #dadada;
}
.brands__arrow_hide {
  display: none;
}

.articles__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
@media screen and (min-width: 1440px) {
  .articles__header {
    justify-content: flex-start;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1440px) {
  .articles__title {
    margin-right: 50px;
  }
}
.articles__list {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 1440px) {
  .articles__list {
    margin-left: -5px;
    margin-right: -5px;
  }
}
.articles__item {
  width: calc((100% - 20px) / 2);
  margin-bottom: 50px;
  padding-bottom: 20px;
  transition: transform var(--motion-fast) var(--ease-out);
  background: #fff;
  border-radius: 7px;
}
@media screen and (min-width: 1440px) {
  .articles__item {
    width: calc((100% - 40px) / 3);
    margin-left: 5px;
    margin-right: 5px;
  }
}
.articles__item:first-child {
  margin-right: 20px;
}
@media screen and (min-width: 1440px) {
  .articles__item:first-child {
    margin-right: 5px;
  }
}
.articles__item:last-child {
  display: none;
}
@media screen and (min-width: 1440px) {
  .articles__item:last-child {
    display: flex;
  }
}

.article {
  min-height: 341px;
  display: flex;
  flex-direction: column;
}
.article__picture {
  margin-bottom: 10px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 7px;
  width: 100%;
  padding-bottom: 61%;
}
@media screen and (min-width: 1440px) {
  .article__picture {
    margin-bottom: 30px;
  }
}
.article__title {
  margin-bottom: 15px;
  display: block;
  color: black;
}
@media screen and (min-width: 1440px) {
  .article__title {
    margin-bottom: 20px;
  }
}
.article__text {
  flex: 1;
}
@media screen and (min-width: 1440px) {
  .article__text {
    line-height: 1.5;
  }
}
.article__button {
  margin-top: 20px;
}
@media screen and (min-width: 1440px) {
  .article__button {
    margin-top: 30px;
  }
}

.content__title {
  margin-bottom: 20px;
  max-width: 920px;
}
@media screen and (min-width: 1440px) {
  .content__title {
    margin-bottom: 40px;
  }
}
.content__container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.content__image {
  width: 100%;
  padding-bottom: 50%;
  background-position: center;
  background-size: cover;
  border-radius: 7px;
  margin-bottom: 25px;
}
@media screen and (min-width: 500px) {
  .content__image {
    /*width: 500px;*/
    height: 238px;
    padding-bottom: 0;
  }
}
.content__text {
  font-size: 14px;
  line-height: 1.5;
  max-width: 760px;
}
.index__content .content__text {
  width: fit-content;
}
@media screen and (max-width: 960px) { 
  .index__content .content__container {
    flex-wrap: wrap;
  }
  .index__content .content__container .content__image {
    margin-right: 0;
  }
  .index__content .content__text {
    max-width: fit-content;
  }
}

.catalog-list {
  background-color: #F7F8FA;
  padding-top: 45px;
  padding-bottom: 30px;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
@media screen and (min-width: 1440px) {
  .catalog-list {
    padding-top: 25px;
  }
}
.catalog-list::before, .catalog-list::after {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg width='309' height='307' viewBox='0 0 309 307' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.431637 130.794L96.1328 0.32071L250.415 23.0737L308.995 176.3L213.294 306.773L59.0121 284.02L0.431637 130.794Z' fill='%23FCFCFD'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  width: 351px;
  height: 373px;
  z-index: -1;
}
@media screen and (min-width: 1440px) {
  .catalog-list::before, .catalog-list::after {
    width: 852px;
    height: 946px;
    background-image: url("data:image/svg+xml,%3Csvg width='749' height='777' viewBox='0 0 749 777' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='0.78' d='M0.927553 331.023L232.806 0.428522L606.621 58.0804L748.558 446.327L516.68 776.922L142.865 719.27L0.927553 331.023Z' fill='white'/%3E%3C/svg%3E%0A");
    opacity: 0.78;
  }
}
.catalog-list::before {
  top: -80px;
  left: -130px;
}
@media screen and (min-width: 1440px) {
  .catalog-list::before {
    top: -500px;
    left: -100px;
  }
}
.catalog-list::after {
  bottom: -80px;
  right: -130px;
}
@media screen and (min-width: 1440px) {
  .catalog-list::after {
    bottom: -610px;
    right: -100px;
  }
}
.catalog-list__title {
  margin-bottom: 20px;
}
.catalog-list__list {
  display: flex;
  flex-wrap: wrap;
}
.catalog-list__header {
  color: black;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 500;
  min-height: 40px;
  display: flex;
}
@media screen and (min-width: 1440px) {
  .catalog-list__header {
    align-items: center;
  }
}
.catalog-list__header svg {
  margin-right: 15px;
}
.catalog-list__item {
  flex: 1 0 200px;
  margin-bottom: 30px;
}
@media screen and (min-width: 1440px) {
  .catalog-list__item {
    margin-bottom: 0;
  }
}
/*.catalog-list__item:first-child svg {
  width: 34px;
  height: 19px;
}
@media screen and (min-width: 1440px) {
  .catalog-list__item:first-child svg {
    width: 53px;
    height: 28px;
  }
}07.09.22*/
.catalog-list__link {
  display: block;
  line-height: 26px;
  color: black;
}
@media screen and (min-width: 1440px) {
  .catalog-list__link {
    display: block;
    line-height: 26px;
    color: black;
  }
}
@media screen and (min-width: 1440px) {
  .catalog-list__more {
    margin-top: 30px;
    display: block;
  }
}
.catalog__header .catalog__title span {
  display: inline;
}
.catalog__header .catalog__title span.tag-title{
  text-transform: lowercase;
  display: inline-block;
}
.catalog__header .catalog__title span.tag-title::first-letter{
  text-transform: uppercase;
}
.catalog__title .catalog__count {
  display: inline-block;
  position: relative;
  bottom: 3px;
}
.categories__mobile-header {
  /*margin-bottom: 11px;*/
}
.categories__breadcrumb {
  display: none;
}
@media screen and (min-width: 1440px) {
  .categories__breadcrumb {
    display: block;
    padding-top: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e9e9e9;
    margin-bottom: 26px;
  }
}
.categories__nav {
  margin-bottom: 100px;
}
.categories__how-it-work {
  margin-bottom: 70px;
}
.categories__brands {
  margin-bottom: 80px;
}
.categories__special {
  margin-bottom: 40px;
}
@media screen and (min-width: 1440px) {
  .categories__special {
    margin-bottom: 70px;
  }
}

.sections__header {
  margin-bottom: 25px;
}
@media screen and (min-width: 1440px) {
  .sections__header {
    display: flex;
    margin-bottom: 55px;
  }
}
.sections__title {
  margin-bottom: 25px;
}
@media screen and (min-width: 1440px) {
  .sections__title {
    margin-bottom: 0;
    margin-right: 45px;
  }
}
.sections__columns {
  margin-left: -15px;
  margin-right: -15px;
  margin-bottom: -25px;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 1440px) {
  .sections__columns {
    margin-bottom: -50px;
  }
}
.sections__group {
  padding-left: 15px;
  padding-right: 15px;
  flex: 1 1 50%;
  min-width: 33.3%;
  max-width: 33.3%;
}
@media screen and (min-width: 1440px) {
  .sections__group {
    padding-left: 0;
    padding-right: 0;
    display: flex;
  }
}
@media screen and (max-width: 949px) {
	.sections__group {
	  min-width: 50%;
	  max-width: 50%;
	}	
}
@media screen and (max-width: 500px) {
	.sections__group {
	  min-width: 100%;
	  max-width: 100%;
	}	
}
@media screen and (min-width: 1440px) {
  .sections__column {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.sections__item {
  margin-bottom: 25px;
}
@media screen and (min-width: 1440px) {
  .sections__item {
    margin-bottom: 50px;
  }
}

.sections-item {
  display: flex;
}
.sections-item__icon {
  width: 40px;
  height: 40px;
  flex: none;
  background-size: contain;
  background-repeat: no-repeat;
  /* margin-right: 10px; */
  margin-right: 19px;
}
@media screen and (min-width: 1440px) {
  .sections-item__icon {
    width: 50px;
    height: 50px;
  }
}
.sections-item__title {
  font-size: 15px;
  color: black;
  display: block;
  max-width: 160px;
  font-weight: 500;
}
	.sections__item .sections-item__title {
		max-width: unset;
	}
@media screen and (min-width: 1440px) {
  .sections-item__title {
    font-size: 17px;
    margin-bottom: 20px;
  }
}
.sections-item__sub {
  display: flex;
  flex-direction: column;
  height: 0;
  overflow: hidden;
}
@media screen and (min-width: 1440px) {
  .sections-item__sub {
    height: auto;
    margin-top: 10px;
  }
}
.sections-item__sub_active {
  margin-top: 10px;
}
.sections-item__sub-link {
  color: black;
  line-height: 18px;
}
@media screen and (min-width: 1440px) {
  .sections-item__sub-link {
    line-height: 22px;
  }
}
.sections-item__toggle {
  margin-top: 10px;
  position: relative;
  display: inline-block;
}
@media screen and (min-width: 1440px) {
  .sections-item__toggle {
    display: none;
  }
}
.sections-item__toggle::after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  background-image: url("data:image/svg+xml,%3Csvg width='5' height='3' viewBox='0 0 5 3' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.25 0.625L2.5 2.375L0.75 0.625' stroke='%23014CE4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-size: auto;
  background-position: center;
  background-repeat: no-repeat;
  top: 0;
  bottom: 0;
  margin: auto;
  right: -10px;
}
.sections-item__toggle_active::after {
  transform: rotate(180deg);
}

.category__mobile-header {
  margin-bottom: 25px;
}
.category__breadcrumb {
  display: none;
}
@media screen and (min-width: 1440px) {
  .category__breadcrumb {
    display: block;
    padding-top: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e9e9e9;
    margin-bottom: 25px;
  }
}
.category__title {
  margin-bottom: 5px;
}
@media screen and (min-width: 1440px) {
  .category__title {
    margin-bottom: 10px;
  }
}
.category__qnt {
  font-size: 12px;
  margin-bottom: 45px;
}
@media screen and (min-width: 1440px) {
  .category__qnt {
    margin-bottom: 75px;
  }
}
.category__qnt span {
  font-weight: 700;
}
.category__how-it-work {
  margin-bottom: 70px;
}
.category__grid {
  margin-bottom: 80px;
}
@media screen and (min-width: 1440px) {
  .category__grid {
    margin-bottom: 130px;
  }
}
.category__products {
  margin-bottom: 60px;
}
@media screen and (min-width: 1440px) {
  .category__products {
    margin-bottom: 100px;
  }
}
.category__articles {
  margin-bottom: 60px;
}

.section-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  /* grid-template-rows: 180px 180px 230px 230px; */
  grid-template-rows: 180px;
  gap: 10px;
}
@media screen and (min-width: 960px) {
  .section-grid {
    /* grid-template-columns: repeat(6, 1fr) 442px; */
    /* grid-template-rows: repeat(2, 235px);     */
		grid-template-columns: repeat(6, 1fr) auto;
    grid-template-rows: repeat(2, auto);
    gap: 20px;
  }
}
.section-grid__item {
  border: 1px solid #eef2f5;
  border-radius: 7px;
  padding: 15px 20px;
  position: relative;
  cursor: pointer;
  display: flex;
  flex-direction: column;
	color: #000;

  justify-content: space-between;
}
@media screen and (min-width: 960px) {
  .section-grid__item {
    padding: 30px;
    grid-column: auto/span 2;
  }
}
.section-grid__item:hover {
  box-shadow: 0px 4px 13px rgba(79, 94, 100, 0.12);
}
.section-grid__item:hover .section-grid__item-title {
  color: #014CE4;
}
.section-grid__item:nth-child(6n+1), 
.section-grid__item:nth-child(6n+2) {
  grid-column: 1/3;
  flex-direction: row;
  justify-content: space-between;
}
@media screen and (min-width: 960px) {
  .block-4-elements .section-grid__item:nth-child(6n+1), 
  .block-4-elements .section-grid__item:nth-child(6n+2), 
  .block-4-elements .section-grid__item:nth-child(6n+3), 
  .block-4-elements .section-grid__item:nth-child(6n+4) {
    padding: 30px;
    grid-column: auto/span 3;
    flex-direction: row;
    justify-content: space-between;
  }
  .block-3-elements .section-grid__item:nth-child(6n+1), 
  .block-3-elements .section-grid__item:nth-child(6n+2), 
  .block-3-elements .section-grid__item:nth-child(6n+3) {
    padding: 30px;
    grid-column: auto/span 2;

    flex-direction: column;
    justify-content: space-between; 
  }
  .section-grid__item:nth-child(6n+1), 
  .section-grid__item:nth-child(6n+2) {
    grid-column: auto/span 3;
  }
}
.section-grid__item:nth-child(6n+1) .section-grid__item-pic, 
.section-grid__item:nth-child(6n+2) .section-grid__item-pic {
  width: 126px;
  height: 126px;/* 143px;*/
}
.block-3-elements .section-grid__item:nth-child(6n+1) .section-grid__item-pic, 
.block-3-elements .section-grid__item:nth-child(6n+2) .section-grid__item-pic, 
.block-3-elements .section-grid__item:nth-child(6n+3) .section-grid__item-pic {
  width: 126px;
  height: 126px;
}
@media screen and (min-width: 1250px) {
  .block-4-elements .section-grid__item:nth-child(6n+1) .section-grid__item-pic, 
  .block-4-elements .section-grid__item:nth-child(6n+2) .section-grid__item-pic, 
  .block-4-elements .section-grid__item:nth-child(6n+3) .section-grid__item-pic, 
  .block-4-elements .section-grid__item:nth-child(6n+4) .section-grid__item-pic {
    width: 169px;
    height: 169px;/* 193px;*/
  }
  .block-3-elements .section-grid__item:nth-child(6n+1) .section-grid__item-pic, 
  .block-3-elements .section-grid__item:nth-child(6n+2) .section-grid__item-pic, 
  .block-3-elements .section-grid__item:nth-child(6n+3) .section-grid__item-pic {
    width: 169px;
    height: 169px;/* 193px;*/
  }
  .section-grid__item:nth-child(6n+1) .section-grid__item-pic, 
  .section-grid__item:nth-child(6n+2) .section-grid__item-pic {
    width: 169px;
    height: 169px;/* 193px;*/
  }
}
@media screen and (min-width: 960px) {
  /* Шестая плитка каждой шестёрки — высокая, в правой колонке своей пары рядов. Раньше стояло
     grid-row: 1/3, и 12-я, 18-я… плитки ложились поверх 6-й в первые два ряда (корень с 19 подразделами).
     span 2 + dense: плитка встаёт в первые два свободных ряда 7-й колонки, остальные идут по порядку. */
  .section-grid {
    grid-auto-flow: row dense;
  }
  .section-grid__item:nth-child(6n+6) {
    grid-column: 7/8;
    grid-row: span 2;
    justify-content: flex-start;
  }
}
@media screen and (min-width: 1250px) {
  .section-grid__item:nth-child(6n+6) .section-grid__item-pic {
    width: 169px;
    height: 169px;/* 193px;*/
  }
}
@media screen and (min-width: 1440px) {
  .section-grid__item:nth-child(6n+6) .section-grid__item-pic {
    width: 315px;
    height: 315px;/*330px;*/
  }
}
.section-grid__item-title {
  font-size: 15px;
  margin-bottom: 20px;
  font-weight: 500;
}
@media screen and (min-width: 960px) {
  .section-grid__item-title {
    font-size: 21px;
    max-width: 220px;
  }
}
.section-grid__item-qnt {
  font-size: 12px;
  margin-bottom: 15px;
}
@media screen and (min-width: 960px) {
  .section-grid__item-qnt {
    display: none;
  }
}
.section-grid__item-qnt span {
  font-weight: 700;
}
.section-grid__item-pic {
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 169px;
  height: 169px;/*193px;*/
  align-self: center;
  flex: none;
}
/*
@media screen and (min-width: 1250px) {
  .section-grid__item-pic {
    width: 126px;
    height: 143px;
  }
}
*/

@media screen and (min-width: 1440px) {
  .section-grid__item-pic {
    width: 185px;
    height: 185px;/*135px;*/
  }
}
.section-grid__item-btn {
  position: absolute;
  bottom: 15px;
  left: 20px;
}
@media screen and (min-width: 960px) {
  .section-grid__item-btn {
    display: none;
  }
}

.product-block__header {
  display: flex;
  margin-bottom: 20px;
}
.product-block__count {
  margin-left: 10px;
  font-size: 14px;
}
.product-block__items {
  display: flex;
  /* align-items: flex-start; */
  flex-wrap: wrap;
  padding-left: 1px;
  padding-top: 1px;
}
.product-block__item {
  flex: 0 1 calc(100% / 5);
  border: 1px solid #eef2f5;
  margin-left: -1px;
  margin-top: -1px;
}
@media screen and (min-width: 1440px) {
  .product-block__item {
    margin-bottom: 25px;
  }
}

.sub-category__mobile-header {
  margin-bottom: 25px;
}
.sub-category__breadcrumb {
  display: none;
}
@media screen and (min-width: 1440px) {
  .sub-category__breadcrumb {
    display: block;
    padding-top: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e9e9e9;
    margin-bottom: 25px;
  }
}
.sub-category__title {
  margin-bottom: 5px;
}
@media screen and (min-width: 1440px) {
  .sub-category__title {
    margin-bottom: 10px;
  }
}
.sub-category__qnt {
  font-size: 12px;
  margin-bottom: 35px;
}
@media screen and (min-width: 1440px) {
  .sub-category__qnt {
    margin-bottom: 75px;
  }
}
.sub-category__qnt span {
  font-weight: 700;
}
.sub-category__grid {
  margin-bottom: 50px;
  margin-top: 10px;
}
@media screen and (min-width: 1440px) {
  .sub-category__grid {
    margin-bottom: 20px;
    margin-top: 20px;
  }
  .sub-category__grid:last-of-type {
    margin-bottom: 110px;
  }
}
.sub-category__products {
  margin-bottom: 60px;
}
@media screen and (min-width: 1440px) {
  .sub-category__products {
    margin-bottom: 130px;
  }
}
.sub-category__brands {
  margin-bottom: 50px;
}
@media screen and (min-width: 1440px) {
  .sub-category__brands {
    margin-bottom: 100px;
  }
}
.sub-category__nav {
  margin-bottom: 90px;
}
.sub-category__articles {
  margin-bottom: 50px;
}
@media screen and (min-width: 1440px) {
  .sub-category__articles {
    margin-bottom: 80px;
  }
}

.catalog__mobile-header {
  margin-bottom: 25px;
}
.catalog__breadcrumb {
  display: none;
}
@media screen and (min-width: 1440px) {
  .catalog__breadcrumb {
    display: block;
    padding-top: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #E9E9E9;
    margin-bottom: 25px;
  }
}
.catalog__header {
  margin-bottom: 20px;
}
@media screen and (min-width: 1440px) {
  .catalog__header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
  }
}
.catalog__title {
  margin-top: 15px;
  margin-bottom: 10px;
}
@media screen and (min-width: 1440px) {
  .catalog__title {
    margin-right: 20px;
  }
}
.catalog__tags {
  display: flex;
  align-items: baseline;
  margin-bottom: 25px;
}
.catalog__tags-title {
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  margin-right: 10px;
}
.catalog__tags-items {
  display: flex;
  max-width: 100%;
  overflow-x: auto;
}
@media screen and (min-width: 1440px) {
  .catalog__tags-items {
    overflow: hidden;
    max-width: 1160px;
    flex-wrap: wrap;
    height: 20px;
  }
}
.catalog__tags-item {
  display: flex;
  white-space: nowrap;
  font-weight: 500;
}
.catalog__tags-item:not(:last-child) {
  margin-bottom: 10px;
  margin-right: 15px;
}
.catalog__tags-count {
  color: #C0C0C0;
  font-size: 12px;
  margin-left: 5px;
}
.catalog__tags-button {
  display: none;
}
@media screen and (min-width: 1440px) {
  .catalog__tags-button {
    display: block;
    margin-left: auto;
  }
}
.catalog__container {
  display: flex;
  margin-bottom: 75px;
}
.catalog__container .catalog__main {
	max-width: 100%;
	min-width: 300px;
}
@media screen and (max-width: 1439px) {
  .catalog__filter {
    position: fixed;
    z-index: 1000;
    background-color: white;
    top: 0;
    right: calc(-100% - 20px);
    max-width: 550px;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    padding: 50px 15px;
    width: 100%;
    height: 100%;
    overflow: auto;
  }
}
@media screen and (min-width: 1440px) {
  .catalog__filter {
    visibility: visible;
    opacity: 1;
    flex: 0 0 311px;
    margin-right: 20px;
  }
}
@media screen and (min-width: 1440px) {
  .catalog__main {
    flex: 1;
  }
}
.catalog__buttons {
  display: flex;
  justify-content: space-between;
  margin-bottom: 25px;
}
.catalog__buttons.fixed {
  margin: 0 auto;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1002;
  left: 0;
  right: 0;
  top: 65px;
  bottom: unset;
}

@media screen and (min-width: 1440px) {
  .catalog__buttons {
    display: none;
  }
}
@media screen and (max-width: 500px) {
	.catalog__buttons {
		bottom: 56px !important;
	}
	.bx-aside-nav-control {
		display: none;
	}
}
.catalog__button {
  background-color: #EEF2F5;
  width: 50%;
  height: 51px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 500;
}
.catalog__button svg {
  margin-right: 15px;
}
.catalog__tools {
  display: flex;
  justify-content: space-between;
}
.catalog__show {
  display: flex;
  align-items: center;
  font-weight: 500;
  margin-bottom: 10px;
}
@media screen and (max-width: 1439px) {
  .catalog__show {
    display: none;
  }
}
.catalog__show-items {
  margin-left: 20px;
  overflow: hidden;
  display: flex;
  border: 1px solid #EEF2F5;
  border-radius: 7px;
}
.catalog__show-item {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 17px;
  font-weight: 500;
}
.catalog__show-item_active {
  background-color: #014CE4;
  color: white;
  cursor: default;
}
@media screen and (max-width: 1439px) {
  .catalog__sort {
    display: none;
  }
}
@media screen and (max-width: 1439px) {
  .catalog__popover-sort {
    padding: 15px;
    background-color: white;
    z-index: 3;
    visibility: hidden;
    opacity: 0;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  }
}
.catalog__popover-sort_show {
  visibility: visible;
  opacity: 1;
}
.catalog__popover-sort-arrow {
  position: absolute;
  width: 20px;
  top: -10px;
  height: 20px;
  background: inherit;
  visibility: hidden;
}
.catalog__popover-sort-arrow::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background: inherit;
  visibility: visible;
  transform: rotate(45deg);
}
.catalog__items {
  display: flex;
  flex-wrap: wrap;
  padding-top: 1px;
  padding-left: 1px;
  margin-bottom: 40px;
}
@media screen and (min-width: 1440px) {
  .catalog__items {
    margin-bottom: 10px;
  }
}
.catalog__item {
  flex: 0 1 50%;
  margin-top: -1px;
  margin-left: -1px;
  border: 1px solid #EEF2F5;
}
@media screen and (min-width: 718px) {
  .catalog__item {
    flex: 0 1 33%;
  }
}
@media screen and (min-width: 960px) {
  .catalog__item {
    flex: 0 1 25%;
  }
}
@media screen and (min-width: 1440px) {
  .catalog__item {
    min-height: 366px;
    margin-bottom: 20px;
  }
  .catalog__items.five .catalog__item {
	  flex: 0 1 20%;
  }
}
@media screen and (min-width: 1440px) {
  .catalog__pagination {
    justify-content: flex-end;
  }
}
.catalog__brands {
  margin-bottom: 50px;
}
.catalog__brands .brands__title {
  margin-bottom: 25px;
}
.catalog__articles {
  margin-bottom: 50px;
}

.mobile-header {
  position: relative;
  text-align: left;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #E2E4E4;
  padding-left: 50px;
  white-space: nowrap;
}
@media screen and (min-width: 1440px) {
  .mobile-header {
    display: none;
  }
}
@media screen and (min-width: 650px) {
  .mobile-header {
    text-align: center;
  }
}
.mobile-header__arrow {
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mobile-header__menu {
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-block {
  background-color: #FAFAFA;
  border-radius: 7px;
  padding: 20px 25px;
}
.toggle-block_close .toggle-block__container {
  margin-top: 0;
}
.toggle-block_close .toggle-block__toggle-button {
  background-image: url("data:image/svg+xml,%3Csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='17' height='16' rx='8' fill='white'/%3E%3Cline x1='5' y1='8.5' x2='12' y2='8.5' stroke='black'/%3E%3Cline x1='8.5' y1='5' x2='8.5' y2='12' stroke='black'/%3E%3C/svg%3E%0A");
}
.toggle-block__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.toggle-block__toggle-button {
  margin-right: 10px;
  width: 17px;
  height: 17px;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='17' height='16' rx='8' fill='white'/%3E%3Cline x1='5' y1='8.5' x2='12' y2='8.5' stroke='black'/%3E%3C/svg%3E");
}
.toggle-block__title {
  font-size: 17px;
  flex: 1;
  font-weight: 500;
}
.toggle-block__reset {
  font-size: 13px;
}
.toggle-block__container {
  margin-top: 18px;
  position: relative;
  /* max-height: 150px; */
}

.filter_show {
  right: 0;
}
.filter__close {
  position: absolute;
  top: 15px;
  left: 15px;
}
@media screen and (min-width: 1440px) {
  .filter__close {
    display: none;
  }
}
.filter__block {
  margin-bottom: 10px;
}
.filter__result-item {
  display: flex;
}
.filter__result-item:not(:last-child) {
  margin-bottom: 15px;
}
.filter__result-item svg {
  margin-right: 18px;
}
.filter__range {
  height: 100%;
}
.filter__select-item:not(:last-child) {
  margin-bottom: 15px;
}
.filter__button {
  margin-top: 5px;
  padding: 12px 45px;
}

.range__inputs {
  display: flex;
  justify-content: space-between;
  margin-left: -7.5px;
  margin-right: -7.5px;
  margin-bottom: 10px;
}
.range__input {
  margin-left: 7.5px;
  margin-right: 7.5px;
}

.product_not-available .is-available {
  color: #FA4451;
}
.product_not-available .is-available svg {
  display: none;
}
.product_maybe-available .is-available {
  color: #FAB300;
}
.product__mobile-header {
  margin-bottom: 25px;
}
.product__breadcrumb {
  display: none;
}
@media screen and (min-width: 1440px) {
  .product__breadcrumb {
    display: block;
    padding-top: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #E9E9E9;
    margin-bottom: 25px;
  }
}
.product__title {
  margin-top: 15px;
  margin-bottom: 10px;
}
.product__top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
.product__article span {
  color: #BCBCBC;
}
@media screen and (min-width: 1250px) {
  .product__is-available {
    display: none;
  }
}
.product__is-available svg {
  margin-right: 5px;
}

.product__main {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (min-width: 1250px) {
  .product__main {
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
  }
}

.product__preview-for {
  margin-bottom: 20px;
}
@media screen and (min-width: 1440px) {
  .product__column {
    width: 100%;
    max-width: 445px;
  }
}

.product__params {
  margin-bottom: 30px;
  max-width: 444px;
}
@media screen and (min-width: 1440px) {
  .product__params {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    /*height: 459px;*/
    height: unset;
    width: 426px;
  }
}
@media screen and (min-width: 1250px) and (max-width: 1439.98px) {
  .product__params {
    margin-right: 20px;
    max-width: 426px;
    margin-bottom: 0;
  }
}

.product__params-buttons {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
.product__params-button.active, .product__params-button.active path {
	color: red;
	fill: red;
}
@media screen and (min-width: 1250px) {
  .product__params-buttons {
    width: 100%;
    justify-content: space-between;
    padding-bottom: 15px;
    border-bottom: 1px solid #EBF1F6;
  }
}
.product__params-button {
  color: #014CE4;
  font-size: 15px;
  font-weight: 500;
  display: flex;
  align-items: center;
}
.product__params-button svg {
  margin-right: 5px;
}
.product__params-button:not(:last-child) {
  margin-right: 30px;
}
@media screen and (min-width: 1440px) {
  .product__params-button:not(:last-child) {
    margin-right: 0;
  }
}
.product__params-button:last-child {
  margin-left: auto;
}
@media screen and (min-width: 1250px) {
  .product__params-button:last-child {
    display: none;
  }
}
.product__options {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 1249px) {
  .product__options.no-series {
    display: block;
  }
}
@media screen and (min-width: 1250px) {
  .product__options {
    flex-wrap: nowrap;
    flex-direction: column;
    flex: 1;
    align-content: flex-start;
    margin-bottom: 20px;
  }
}
.product__option:not(:last-child) {
  margin-right: 60px;
  margin-bottom: 23px;
}
@media screen and (min-width: 1250px) {
  .product__option:not(:last-child) {
    margin-bottom: 30px;
  }
}
.product__doc-button {
  display: none;
}
@media screen and (min-width: 1440px) {
  .product__doc-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #EEF2F5;
    border-radius: 7px;
    font-size: 17px;
    color: #014CE4;
    font-weight: 500;
    padding: 18px 29px;
    margin-bottom: 5px;
  }
}
.product__doc-icon1 {
  margin-right: 11px;
}
.product__doc-icon2 {
  margin-left: 30px;
}
.product__cost {
  display: flex;
  margin-bottom: 12px;
}
@media screen and (min-width: 1440px) {
  .product__cost {
    max-width: 378px;
    flex-direction: column;
    justify-content: flex-start;
    height: 459px;
    width: 100%;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1250px) and (max-width: 1439.98px) {
  .product__cost {
    max-width: 378px;
    flex-direction: column;
    justify-content: flex-start;
    height: 459px;
    width: 100%;
    margin-bottom: 0;
  }
}

.product__cost-more {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.product__cost-features {
  border: 1px solid #EBF1F7;
  border-radius: 0 7px 7px 0;
  margin-bottom: 12px;
}
@media screen and (min-width: 1440px) {
  .product__cost-features {
    margin-bottom: 12px;
  }
}
.product__cost-feature {
	cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  padding: 12px;
  text-align: center;
  border: 1px solid #EBF1F7;
}
@media screen and (min-width: 1440px) {
  .product__cost-feature {
    padding: 20px;
  }
}
.product__cost-feature span {
  color: #014CE4;
}
.product__price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 15px 25px 15px 15px;
  box-shadow: 0px 4px 11px rgba(1, 76, 228, 0.11);
  border-radius: 7px 0px 0px 7px;
  margin-bottom: 12px;
}
@media screen and (min-width: 1440px) {
  .product__price {
    padding: 20px 35px 30px 35px;
    margin-bottom: 12px;
  }
}
.product__price-top {
  margin-bottom: 20px;
}
@media screen and (min-width: 1250px) {
  .product__price-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
  }
}
.product__price-title {
  color: #696969;
  font-weight: 500;
}
.product__price-block {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 1440px) {
  .product__price-block {
    align-items: flex-start;
    flex-direction: column;
  }
}
.product__price-new {
  font-weight: 700;
  font-size: 28px;
  margin-right: 15px;
  line-height: 1;
  margin-bottom: 4px;
}
.product__price-profit {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media screen and (min-width: 1440px) {
  .product__price-profit {
    flex-direction: row;
  }
}
.product__price-old {
  font-size: 13px;
  color: #696969;
  position: relative;
  display: inline-flex;
  text-decoration: line-through;
  margin-bottom: 3px;
}
@media screen and (min-width: 1440px) {
  .product__price-old {
    margin-right: 10px;
  }
}
.product__price-is-available {
  display: none;
}
@media screen and (min-width: 1250px) {
  .product__price-is-available {
    display: flex;
    justify-content: flex-end;
    flex: 1;
    font-size: 11px;
    align-items: center;
    color: #28C57C;
  }
}
.product__price-is-available svg {
  margin-right: 5px;
}

.product__price-discount {
  background-color: #FA4451;
  color: white;
  border-radius: 2px;
  padding: 0 4px;
  display: inline-block;
  font-size: 12px;
  line-height: 16px;
}
@media screen and (min-width: 1440px) {
  .product__price-discount {
    font-size: 13px;
  }
}
.product__price-middle {
  display: flex;
  align-items: center;
}
	.product__price-middle + .product__price-link {
		margin-top: 20px;
	}
	.modal__content .product__price-middle + .product__price-link {
		margin-top: 0;
	}
@media screen and (min-width: 1250px) {
  .product__price-middle {
    width: 100%;
  }
}
.product__price-input {
  width: 70px;
  margin-right: 5px;
}
@media screen and (min-width: 1440px) {
  .product__price-input {
    width: 84px;
  }
}
.product__price-buy {
  padding: 13px 12px;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 1250px) {
  .product__price-buy {
    height: 100%;
    flex: 1;
  }
}
.product__price-link {
  font-size: 14px;
  font-weight: 500;
  align-self: center;
  display: inline-block;
}
@media screen and (min-width: 1250px) {
  .product__price-link {
    align-self: center;
  }
}
.product__ask-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #EEF2F5;
  border-radius: 0 7px 7px 0;
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: 12px;
  line-height: 16px;
  color: #014CE4;
  font-weight: 500;
}
@media screen and (min-width: 1440px) {
  .product__ask-btn {
    font-size: 14px;
    border-radius: 7px;
  }
}
.product__ask-btn svg {
  margin-right: 10px;
  width: 12px;
  height: 12px;
}
@media screen and (min-width: 1440px) {
  .product__ask-btn svg {
    width: 20px;
    height: 20px;
  }
}
.product__info {
  margin-bottom: 50px;
  display: flex;
  justify-content: space-between;
}
.product__recommended {
  margin-bottom: 60px;
}
.product__similar {
  margin-bottom: 100px;
}
.product__form {
  margin-bottom: 80px;
}
.product__facts {
  margin-bottom: 60px;
}
@media screen and (min-width: 1440px) {
  .product__facts {
    margin-bottom: 100px;
  }
}

.product-main-slider__container {
  overflow-x: hidden;
  position: relative;
}
.product-main-slider__wrapper {
  display: flex;
}
.product-main-slider__slide {
  flex: none;
  width: 100%;
  max-height: 300px;
  border: 1px solid #E9E9E9;
  border-radius: 7px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.product-main-slider__slide a, .product-main-slider__slide img{
  height: 100%;
}

.product-main-slider__slide img {
  padding: 5px;
}
/*.product-main-slider__slide > .product-card__label {*/
.product-main-slider__container > .product-card__label {
  position: absolute;
  right: 20px;
  top: 10px;
  z-index: 2;
}
.product-main-slider__label-list {
  position: absolute;
  display: flex;
  align-items: center;
  top: 10px;
  left: 20px;
  z-index: 2;
}
.product-main-slider__label-list div:not(:last-child) {
  margin-right: 5px;
}
.product-main-slider__label-list .product-card__discount {
  margin-right: 10px;
}

.product-nav-slider {
  display: flex;
  justify-content: space-between;
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (min-width: 1440px) {
  .product-nav-slider {
    padding-left: 35px;
    padding-right: 35px;
  }
}
.product-nav-slider__container {
  position: relative;
  width: 270px;
  overflow: hidden;
}
.product-nav-slider__wrapper {
  display: flex;
}
.product-nav-slider__slide {
  flex: none;
  border: 1px solid #E9E9E9;
  border-radius: 7px;
  display: flex;
  cursor: pointer;
}
.product-nav-slider__slide img {
  width: 80px;
  height: 72px;
  opacity: 0.2;
  object-fit: contain;
}
.product-nav-slider__slide_active img {
  opacity: 1;
}

.product-option__title {
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 8px;
}
.product-option__items {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.product-option__item {
  padding: 3px 9px;
  border: 1px solid #CAD5DE;
  border-radius: 7px;
  font-size: 12px;
  line-height: 20px;
  margin-bottom: 7px;
}
.product-option__item:not(:last-child) {
  margin-right: 7px;
}
.product-option__item_active {
  border: 1px solid #28C57C;
}
.product-option__item_disabled {
  opacity: 0.3;
  cursor: default;
}

.input-arrows {
  border: 1px solid #014CE4;
  border-radius: 7px;
  display: flex;
  padding: 12px;
}
@media screen and (min-width: 1250px) {
  .input-arrows {
    padding: 18px;
  }
}
.input-arrows__control {
  font-size: 14px;
  font-weight: 600;
}
.input-arrows__button {
  display: flex;
  cursor: pointer;
}
.input-arrows__button:first-child {
  margin-bottom: 5px;
}
.info {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 1440px) {
  .info {

  }
}
@media screen and (min-width: 1250px) {
  .info {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
  }
}

.info__content {
  margin-bottom: 40px;
  max-width: 445px;
}
@media screen and (min-width: 1440px) {
  .info__content {
    width: 490px;
    margin-bottom: 0;
    max-width: unset;
  }
}
@media screen and (min-width: 1250px) and (max-width: 1439.98px) {
  .info__content {
      margin-right: 20px;
      max-width: 490px;
      margin-bottom: 0;
  }
}

.info__content-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
}
@media screen and (min-width: 1440px) {
  .info__content-header {
    margin-bottom: 20px;
  }
}
.info__content-title {
  margin-top: 10px;
}
.info__content-logo {
  width: 152px;
  height: 70px;
  border: 1px solid #E9E9E9;
  border-radius: 7px;
  background-size: 120px 50px;
  background-repeat: no-repeat;
  background-position: center;
}
.info__content-block {
  margin-bottom: 30px;
}
@media screen and (min-width: 1440px) {
  .info__content-block {
    margin-bottom: 50px;
  }
}
.info__category-title {
  margin-bottom: 20px;
}
.info__category-separator {
  display: inline;
  color: #014CE4;
  margin-left: 15px;
  margin-right: 15px;
}
.info__delivery,
.info__specifications {
  margin-bottom: 40px;
  max-width: 328px;
}
@media screen and (min-width: 1440px) {
  .info__delivery,
  .info__specifications {
    margin-bottom: 0;
    width: 426px;
    max-width: unset;
  }
}
@media screen and (min-width: 1250px) and (max-width: 1439.98px) {
  .info__delivery,
  .info__specifications {
      margin-right: 20px;
      max-width: 426px;
      margin-bottom: 0;
  }
}

.product__options-title,
.info__delivery-title,
.info__paysystem-title,
.info__specifications-title {
  margin-bottom: 20px;
  margin-top: 10px;
}
.product__options-title {
	margin-bottom: 0;
}
@media screen and (min-width: 1440px) {
  .product__options-title,
  .info__delivery-title,
  .info__paysystem-title,
  .info__specifications-title {
    height: 70px;
    display: flex;
    align-items: center;
    margin-top: 0;
  }
}
.info__specification-group:not(:last-child) {
  margin-bottom: 25px;
}
@media screen and (min-width: 1440px) {
  .info__specification-group:not(:last-child) {
    margin-bottom: 45px;
  }
}
.info__specification-title {
  margin-bottom: 15px;
  font-size: 14px;
  font-weight: 500;
}
.info__specification-item {
  display: flex;
}
.info__specification-item:not(:last-child) {
  margin-bottom: 10px;
}
.info__specification-line {
  border-bottom: 1px dashed #E2E2E2;
  margin-bottom: 3px;
  flex: 1;
  margin-left: 10px;
  margin-right: 10px;
}
.info__specification-dd {
  font-weight: 500;
}
.info__terms,
.info__paysystem {
  width: 450px;
}
@media screen and (min-width: 1440px) {
  .info__terms,
  .info__paysystem {
    width: 378px;
  }
}
@media screen and (min-width: 1250px) and (max-width: 1439.98px) {
  .info__terms,
  .info__paysystem {
      max-width: 378px;
      flex-direction: column;
      justify-content: space-between;
      /*height: 459px;*/
      height: unset;
      width: 100%;
      margin-bottom: 0;
  }
}

.info__terms-tabs {
  display: flex;
  align-items: flex-end;
}
.info__terms-tab {
  flex-basis: 50%;
  font-size: 19px;
  font-weight: 500;
  background-color: #EEF2F5;
  padding-top: 12px;
  padding-bottom: 12px;
  padding-left: 30px;
  cursor: pointer;
}
@media screen and (min-width: 1440px) {
  .info__terms-tab {
    font-size: 21px;
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.info__terms-tab:first-child {
  border-radius: 5px 0 5px 0;
}
.info__terms-tab:last-child {
  border-radius: 0 5px 0 5px;
}
.info__terms-tab.active-tab {
  background-color: white;
  color: #014CE4;
  cursor: default;
  position: relative;
  padding-top: 18px;
}
@media screen and (min-width: 1440px) {
  .info__terms-tab.active-tab {
    padding-top: 25px;
  }
}
.info__terms-tab.active-tab::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  box-shadow: 0px 4px 11px rgba(1, 76, 228, 0.11);
  top: 0;
  left: 0;
  z-index: -1;
}
.info__terms-contents {
  box-shadow: 0px 4px 11px rgba(1, 76, 228, 0.11);
  padding: 30px 25px;
  background-color: white;
  border-radius: 0 0 7px 7px;
}
.info__terms-content {
  display: none;
}
.info__terms-content.active-content {
  display: block;
}
.info__terms-block:not(:last-child) {
  margin-bottom: 35px;
}

.terms-block {
  display: flex;
}
.terms-block__icon {
  display: flex;
  flex: none;
  margin-right: 15px;
  width: 50px;
  height: 35px;
  background-size: 100%;
  background-position: top;
}
.terms-block__title {
  color: #014CE4;
  font-weight: 500;
}
.terms-block__cost {
  font-weight: 500;
  margin-bottom: 5px;
}
@media screen and (min-width: 1440px) {
  .terms-block__cost {
    margin-bottom: 15px;
  }
}
.terms-block__text {
  color: #6F6F6F;
  font-size: 12px;
}

.feedback-form__container {
  position: relative;
  background-color: #182532;
  background-image: url("data:image/svg+xml,%3Csvg width='273' height='436' viewBox='0 0 273 436' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='0.28' d='M-214.357 190.385C-215.362 188.011 -214.964 185.263 -213.321 183.242L-66.6372 2.7967C-65.0802 0.881329 -62.6393 -0.0919473 -60.2051 0.231981L176.771 31.7666C179.205 32.0906 181.276 33.6643 182.229 35.9137L272.017 247.826C273.023 250.2 272.624 252.948 270.981 254.97L124.298 435.415C122.741 437.33 120.3 438.303 117.866 437.98L-119.11 406.445C-121.544 406.121 -123.616 404.547 -124.569 402.298L-214.357 190.385Z' fill='black'/%3E%3C/svg%3E%0A"), url("data:image/svg+xml,%3Csvg width='257' height='272' viewBox='0 0 257 272' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='0.25' d='M0.746035 119.444C-0.259739 117.07 0.138786 114.322 1.78189 112.3L90.8731 2.70329C92.4301 0.787925 94.871 -0.185351 97.3053 0.138577L241.435 19.3182C243.87 19.6421 245.941 21.2158 246.894 23.4652L301.429 152.175C302.434 154.548 302.036 157.297 300.393 159.318L211.302 268.915C209.745 270.83 207.304 271.804 204.869 271.48L60.7393 252.3C58.3051 251.976 56.2335 250.403 55.2805 248.153L0.746035 119.444Z' fill='black'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat, no-repeat;
  background-size: auto, auto;
  background-position: left bottom, right top;
  color: white;
  margin-left: -15px;
  margin-right: -15px;
  padding: 40px 20px 90px;
}
@media screen and (min-width: 1440px) {
  .feedback-form__container {
    margin-left: 0;
    margin-right: 0;
    padding: 40px 0 50px 50px;
    border-radius: 7px;
    background-image: url("data:image/svg+xml,%3Csvg width='593' height='426' viewBox='0 0 593 426' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='0.28' d='M-152.747 -5.22051C-153.575 -7.43012 -153.26 -9.88674 -151.907 -11.7682L75.3791 -327.878C76.873 -329.955 79.4002 -331.013 81.954 -330.628L447.473 -275.637C450.026 -275.253 452.192 -273.49 453.106 -271.05L592.233 100.185C593.061 102.395 592.746 104.852 591.393 106.733L364.106 422.842C362.613 424.92 360.085 425.978 357.532 425.593L-7.98721 370.602C-10.541 370.218 -12.7064 368.455 -13.6208 366.014L-152.747 -5.22051Z' fill='black'/%3E%3C/svg%3E%0A"), url("data:image/svg+xml,%3Csvg width='337' height='244' viewBox='0 0 337 244' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='0.25' d='M0.560004 -22.1869C-0.268083 -24.3965 0.0470141 -26.8532 1.39983 -28.7347L140.749 -222.541C142.243 -224.619 144.77 -225.677 147.324 -225.292L371.078 -191.629C373.632 -191.245 375.797 -189.482 376.712 -187.042L462.01 40.5628C462.838 42.7725 462.523 45.2291 461.17 47.1106L321.821 240.917C320.327 242.995 317.8 244.052 315.246 243.668L91.4921 210.005C88.9383 209.621 86.7729 207.858 85.8584 205.417L0.560004 -22.1869Z' fill='black'/%3E%3C/svg%3E%0A");
    background-position: left top, right top;
  }
}
.feedback-form__container::before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("../img/octopus-one.c50b7f16801c.png");
  width: 225px;
  height: 225px;
  z-index: 0;
  display: block;
	left: -30px;
	top: -67px;
}

.feedback-form__container::after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("../img/octopus-two.28b6a472561c.png");
  width: 972px;
  height: 725px;
  right: -32px;
  bottom: -50px;

  top: -68px;
  bottom: auto;
}
.product__form .feedback-form__container::after {
	width: 765px;
  height: 565px;
  right: -26px;
  bottom: -40px;
  background-size: 100%;

  top: -51px;
}
.product__form .feedback-form__container::before {
	content: "";
	left: -48px;
    right: auto;
    top: -68px;
}
@media screen and (max-width: 1440px) {
	.feedback-form__container::after {
		right: -32px;
		top: -68px;
		bottom: auto;
	}
	.product__form .feedback-form__container::after {
		top: -51px;
	}
}
@media screen and (max-width: 800px) {
	.feedback-form__container::after, .product__form .feedback-form__container::after {
		background-image: url("../img/octopus-two-mob.4ee4946fd12c.png");
		bottom: -93px;
		right: 0px;
		width: 414px;
		height: 368px;
		top: auto;
	}
	.feedback-form__container::before, .product__form .feedback-form__container::before {
		background: transparent;
	}
}
@media screen and (max-width: 500px) {
	.feedback-form__container::after, .product__form .feedback-form__container::after {
		width: 286px;
		height: 296px;
		background-size: 100%;
		bottom: -82px;
	}
	.feedback-form__container::before, .product__form .feedback-form__container::before {
		background-image: url("../img/octopus-one-mob.feadffd91c2e.png");
		right: 0px;
		left: auto;
		width: 100%;
		background-size: 100%;
		height: 100%;
		top: -57px;
		background-repeat: no-repeat;
	}
	.contacts__form .feedback-form__container {
		padding-bottom: 116px !important;
	}
}	

.feedback-form__title {
  margin-bottom: 20px;
  max-width: 350px;
  z-index: 10;
	position: relative;
}
@media screen and (min-width: 1440px) {
  .feedback-form__title {
    max-width: none;
    margin-bottom: 35px;
  }
}
.feedback-form__form {
	z-index: 10;
	margin-bottom: 20px;
    position: relative;
}
@media screen and (min-width: 1440px) {
  .feedback-form__form {
    display: flex;
  }
}
.feedback-form__left {
  margin-bottom: 10px;
}
@media screen and (min-width: 1440px) {
  .feedback-form__left {
    width: 383px;
    margin-right: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: 0;
  }
}
.feedback-form__right {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1440px) {
  .feedback-form__right {
    width: 548px;
  }
}
.feedback-form__input {
  padding-top: 20px;
  padding-bottom: 20px;
  border: 1px solid #fff;
}
.feedback-form__input:not(:last-child) {
  margin-bottom: 10px;
}
.feedback-form__textarea {
  height: 145px;
  border-radius: 7px;
  margin-bottom: 10px;
  padding: 20px 15px;
}
@media screen and (min-width: 1440px) {
  .feedback-form__textarea {
    margin-bottom: 19px;
  }
}
.feedback-form__button {
  padding: 20px 72px;
  font-size: 16px;
  font-weight: 500;
}
.feedback-form__text {
  font-size: 12px;
  position: relative;
  z-index: 1;
}
.feedback-form__text_top {
  margin-bottom: 25px;
  max-width: 795px;
}
.feedback-form__text a {
  text-decoration: underline;
}

.brands-page__mobile-header {
  margin-bottom: 25px;
}
.brands-page__breadcrumb {
  display: none;
}
@media screen and (min-width: 1440px) {
  .brands-page__breadcrumb {
    display: block;
    padding-top: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #E9E9E9;
    margin-bottom: 25px;
  }
}
.brands-page__title {
  display: none;
}
@media screen and (min-width: 1440px) {
  .brands-page__title {
    display: block;
    margin-bottom: 70px;
  }
}
.brands-page__letter-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
}
@media screen and (min-width: 1440px) {
  .brands-page__letter-links {
    margin-bottom: 70px;
  }
}
.brands-page__letter-link {
  font-weight: 500;
  font-size: 21px;
  line-height: 36px;
  padding: 0 15px;
  color: black;
}
.brands-page__letter-link_disable {
  color: #CCCCCC;
  cursor: pointer;
}
.brands-page__letter-blocks {
  margin-bottom: 70px;
}
@media screen and (min-width: 1440px) {
  .brands-page__letter-blocks {
    margin-bottom: 160px;
  }
}
.brands-page__letter-block:not(:last-child) {
  margin-bottom: 40px;
}
@media screen and (min-width: 1440px) {
  .brands-page__letter-block:not(:last-child) {
    margin-bottom: 70px;
  }
}
.brands-page__facts {
  margin-bottom: 70px;
}
@media screen and (min-width: 1440px) {
  .brands-page__facts {
    margin-bottom: 100px;
  }
}
.brands-page__services {
  margin-bottom: 40px;
}
@media screen and (min-width: 1440px) {
  .brands-page__services {
    margin-bottom: 100px;
  }
}

.letter-brands__title {
  margin-bottom: 15px;
}
@media screen and (min-width: 1440px) {
  .letter-brands__title {
    margin-bottom: 25px;
  }
}
.letter-brands__items {
  display: flex;
  flex-wrap: wrap;
  padding-top: 1px;
  padding-left: 1px;
}
.letter-brands__item {
  flex: none;
  /*width: 224px;*/
  height: 145px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #EEF2F5;
  margin-top: -1px;
  margin-left: -1px;
  padding: 5px 30px;
}
@media screen and (min-width: 1250px) {
  .letter-brands__item {
    width: calc((100% + 5px) / 5);
    height: 145px;
  }
}
@media screen and (max-width: 1249px) {
  .letter-brands__item {
    width: calc(100% / 4);
  }
}
@media screen and (max-width: 760px) {
  .letter-brands__item {
    width: calc(100% / 3);
  }
}
@media screen and (max-width: 500px) {
  .letter-brands__item {
    width: calc(100% / 2);
  }
}
.letter-brands__item:hover {
  box-shadow: 0px 4px 13px rgba(79, 94, 100, 0.12);
}
.letter-brands__item img {
  height: 100%;
  object-fit: contain;
}

.brand__mobile-header {
  margin-bottom: 25px;
}
.brand__breadcrumb {
  display: none;
}
@media screen and (min-width: 1440px) {
  .brand__breadcrumb {
    display: block;
    padding-top: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #E9E9E9;
    margin-bottom: 40px;
  }
}
.brand__main {
  display: flex;
  padding-bottom: 80px;
}
@media screen and (min-width: 1440px) {
  .brand__left {
    display: block;
    flex: 1 0 311px;
    margin-right: 20px;
  }
}
@media screen and (max-width: 1439px) {
  .brand__left {
    position: absolute;
    z-index: 10;
    background-color: white;
    top: 0;
    right: calc(-100% - 20px);
    max-width: 550px;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    padding: 50px 15px;
    width: 100%;
    height: 100%;
    overflow: auto;
  }
}
.brand__left_show {
  right: 0;
}
.brand__left-close {
  position: absolute;
  top: 15px;
  left: 15px;
}
@media screen and (min-width: 1440px) {
  .brand__left-close {
    display: none;
  }
}
.brand__info {
  display: flex;
  margin-bottom: 35px;
}
@media screen and (min-width: 1440px) {
  .brand__info {
    margin-bottom: 50px;
  }
}
.brand__title {
  margin-bottom: 15px;
}
.brand__logo {
  flex: none;
  width: 134px;
  height: 75px;
  border: 1px solid #EEF2F5;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 15px;
}
@media screen and (min-width: 1440px) {
  .brand__logo {
    width: 245px;
    height: 138px;
  }
}
.brand__logo img {
  width: 120px;
  height: 60px;
  object-fit: contain;
}
@media screen and (min-width: 1440px) {
  .brand__logo img {
    width: 200px;
    height: 100px;
  }
}
@media screen and (min-width: 1440px) {
  .brand__text {
    line-height: 22px;
  }
}
.brand__link {
  font-size: 14px;
  line-height: 22px;
  color: black;
  display: block;
}
.brand__link:not(:last-child) {
  margin-bottom: 10px;
}
.brand__products-line {
  margin-bottom: 60px;
}
.brand__facts {
  margin-bottom: 70px;
}
@media screen and (min-width: 1440px) {
  .brand__facts {
    margin-bottom: 100px;
  }
}
.brand__services {
  margin-bottom: 40px;
}
@media screen and (min-width: 1440px) {
  .brand__services {
    margin-bottom: 100px;
  }
}

.products-line__title {
  margin-bottom: 25px;
}
.products-line__items {
  display: flex;
  padding-top: 1px;
  padding-left: 1px;
}
.products-line__item {
  border: 1px solid #EEF2F5;
  flex: 1 1 50%;
  margin-top: -1px;
  margin-left: -1px;
}
.products-line__item:nth-child(3), .products-line__item:nth-child(4) {
  display: none;
}
@media screen and (min-width: 718px) {
  .products-line__item {
    flex: 0 1 33%;
  }
  .products-line__item:nth-child(3) {
    display: block;
  }
}
@media screen and (min-width: 960px) {
  .products-line__item {
    flex: 0 1 25%;
  }
  .products-line__item:nth-child(4) {
    display: block;
  }
}
.products-line__more {
  margin-top: 15px;
  width: 100%;
}
@media screen and (min-width: 1440px) {
  .products-line__more {
    max-width: 160px;
    text-align: center;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 25px;
  }
}

.contacts__mobile-header {
  margin-bottom: 25px;
}
.contacts__breadcrumb {
  display: none;
}
@media screen and (min-width: 1440px) {
  .contacts__breadcrumb {
    display: block;
    padding-top: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #E9E9E9;
    margin-bottom: 25px;
  }
}
.contacts__title {
  display: none;
}
@media screen and (min-width: 1440px) {
  .contacts__title {
    display: block;
    margin-bottom: 30px;
  }
}
.contacts__content {
  position: relative;
}
.contacts__address {
  margin-bottom: 35px;
  max-width: 540px;
  line-height: 22px;
}
@media screen and (min-width: 1440px) {
  .contacts__address {
    margin-bottom: 50px;
  }
}
.contacts__address-title {
  margin-bottom: 20px;
}
@media screen and (min-width: 1440px) {
  .contacts__address-title {
    margin-bottom: 30px;
  }
}
.contacts__address em {
  display: block;
  margin-top: 15px;
}
@media screen and (min-width: 1440px) {
  .contacts__address em {
    margin-top: 25px;
  }
}
.contacts__path {
  margin-bottom: 35px;
}
@media screen and (min-width: 1440px) {
  .contacts__path {
    position: absolute;
    right: 17px;
    top: 0;
  }
}
.contacts__path-title {
  margin-bottom: 25px;
}
.contacts__phones {
  margin-bottom: 30px;
}
@media screen and (min-width: 1440px) {
  .contacts__phones {
    margin-bottom: 55px;
  }
}
.contacts__phones-title {
  margin-bottom: 10px;
}
@media screen and (min-width: 1440px) {
  .contacts__phones-title {
    margin-bottom: 25px;
  }
}
.contacts__phone:not(:last-child) {
  margin-bottom: 10px;
}
@media screen and (min-width: 1440px) {
  .contacts__phone:not(:last-child) {
    margin-bottom: 15px;
  }
}
.contacts__phone a {
  font-size: 19px;
  font-weight: 500;
  color: black;
}
@media screen and (min-width: 1440px) {
  .contacts__phone a {
    font-size: 21px;
  }
}
.contacts__mail {
  margin-bottom: 44px;
}
@media screen and (min-width: 1440px) {
  .contacts__mail {
    margin-bottom: 70px;
  }
}
.contacts__mail-title {
  margin-bottom: 12px;
}
.contacts__map {
  margin-bottom: 60px;
}
@media screen and (min-width: 1440px) {
  .contacts__map {
    margin-bottom: 70px;
  }
}
.contacts__map-title {
  margin-bottom: 25px;
}
.contacts__map-container {
  margin-left: -15px;
  margin-right: -15px;
  width: calc(100% + 30px);
  height: 283px;
}
@media screen and (min-width: 1440px) {
  .contacts__map-container {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    height: 590px;
  }
}
.contacts__form {
  margin-bottom: 40px;
}
@media screen and (min-width: 1440px) {
  .contacts__form {
    margin-bottom: 60px;
  }
}
.contacts__form .feedback-form__container {
  padding-bottom: 25px;
}
@media screen and (min-width: 1440px) {
  .contacts__form .feedback-form__container {
    padding-bottom: 50px;
  }
}


@media screen and (min-width: 1440px) {
  .contacts__form .feedback-form__container::after {
    bottom: -89px;
  }
}
@media screen and (min-width: 1440px) {
  .contacts__form .feedback-form__textarea {
    height: 226px;
  }
}
.contacts__requisites {
  margin-bottom: 60px;
}
@media screen and (min-width: 1440px) {
  .contacts__requisites {
    margin-bottom: 100px;
  }
}

.requisites {
  font-size: 12px;
  line-height: 24px;
}
@media screen and (min-width: 1440px) {
  .requisites {
    font-size: 14px;
  }
}
.requisites__title {
  margin-bottom: 20px;
}
.requisites__item {
  display: flex;
}
.requisites__item-left {
  max-width: 240px;
  display: flex;
  width: 100%;
}
@media screen and (min-width: 1440px) {
  .requisites__item-left {
    max-width: 300px;
  }
}
.requisites__item-dt {
  color: #8C8C8C;
}
.requisites__item-dots {
  border-bottom: 1px dashed #E2E2E2;
  flex: 1;
  min-width: 10px;
  margin-left: 5px;
  margin-right: 5px;
  height: 17px;
}

.basket__mobile-header {
  margin-bottom: 25px;
}
.basket__breadcrumb {
  display: none;
}
@media screen and (min-width: 1440px) {
  .basket__breadcrumb {
    display: block;
    padding-top: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #E9E9E9;
    margin-bottom: 25px;
  }
}
.basket__title {
  display: none;
}
@media screen and (min-width: 1440px) {
  .basket__title {
    display: block;
    margin-bottom: 15px;
  }
}
.basket__warning {
  display: flex;
  align-items: center;
  margin-bottom: 35px;
}
.basket__warning svg {
  flex: none;
  margin-right: 12px;
}
.basket__table {
  margin-bottom: 65px;
}
@media screen and (min-width: 1440px) {
  .basket__table {
    margin-bottom: 85px;
  }
}

.basket-table__header {
  display: flex;
  font-weight: 500;
  padding-bottom: 9px;
  border-bottom: 1px solid #D5DFE7;
}
@media screen and (min-width: 1440px) {
  .basket-table__header-item:first-child {
    margin-right: 795px;
  }
}
@media screen and (min-width: 1440px) {
  .basket-table__header-item:nth-child(2) {
    margin-right: 165px;
  }
}
@media screen and (min-width: 1440px) {
  .basket-table__header-item:nth-child(3) {
    margin-right: 110px;
  }
}
.basket-table__header-item:not(:first-child) {
  display: none;
}
@media screen and (min-width: 796px) {
  .basket-table__header-item:not(:first-child) {
    display: block;
  }
}
.basket-table__items {
  margin-bottom: 20px;
}
@media screen and (min-width: 1440px) {
  .basket-table__items {
    margin-bottom: 30px;
  }
}
.basket-table__item {
  display: flex;
  flex-wrap: wrap;
  padding-top: 15px;
  padding-bottom: 30px;
}
@media screen and (min-width: 796px) {
  .basket-table__item {
    flex-wrap: nowrap;
  }
}
@media screen and (min-width: 1440px) {
  .basket-table__item {
    align-items: center;
    padding-bottom: 20px;
  }
}
.basket-table__item:not(:last-child) {
  border-bottom: 1px solid #EEF2F5;
}
.basket-table__item:last-child {
  border-bottom: 1px solid #D5DFE7;
}
.basket-table__item-img {
  width: 117px;
  height: 88px;
  object-fit: contain;
  margin-right: 10px;
  margin-bottom: 30px;
}
@media screen and (min-width: 796px) {
  .basket-table__item-img {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1440px) {
  .basket-table__item-img {
    margin-right: 45px;
  }
}
.basket-table__item-info {
  flex: 1 1 40%;
  margin-right: 60px;
}
@media screen and (min-width: 796px) {
  .basket-table__item-info {
    margin-right: 30px;
    flex: 1 1 180px;
  }
}
@media screen and (min-width: 1440px) {
  .basket-table__item-info {
    width: 330px;
    flex: none;
    margin-right: 100px;
  }
}
.basket-table__item-title {
  font-size: 15px;
  font-weight: 500;
  color: #424651;
  margin-bottom: 10px;
}
.basket-table__item-available {
  font-size: 11px;
}
.basket-table__item-article {
  width: 80px;
  font-size: 13px;
}
@media screen and (min-width: 796px) {
  .basket-table__item-article {
    margin-right: 30px;
  }
}
@media screen and (min-width: 1440px) {
  .basket-table__item-article {
    width: 200px;
    margin-right: 20px;
  }
}
.basket-table__item-article span {
  color: #808080;
}
@media screen and (max-width: 795px) {
  .basket-table__item-price {
    position: relative;
    justify-content: center;
    flex: 1 0 30%;
    padding-top: 30px;
  }
  .basket-table__item-price::before {
    content: "Цена";
    position: absolute;
    font-size: 14px;
    font-weight: 500;
    top: 0;
    left: 0;
  }
}
@media screen and (min-width: 796px) {
  .basket-table__item-price {
    margin-right: 30px;
    flex: none;
  }
}
@media screen and (min-width: 1440px) {
  .basket-table__item-price {
    margin-right: 30px;
	width: 170px;
  }
}
@media screen and (max-width: 795px) {
  .basket-table__item-input {
    position: relative;
    padding-top: 30px;
    flex: 1 1 25%;
  }
  .basket-table__item-input::before {
    content: "Кол-во";
    position: absolute;
    font-size: 14px;
    font-weight: 500;
    top: 0;
    left: 0;
  }
}
@media screen and (min-width: 796px) {
  .basket-table__item-input {
    margin-right: 30px;
  }
}
@media screen and (min-width: 1440px) {
  .basket-table__item-input {
    margin-right: 70px;
  }
}
.basket-table__item-input .input-arrows {
  width: 85px;
}
.basket-table__item-sum {
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 795px) {
  .basket-table__item-sum {
    position: relative;
    padding-top: 40px;
    flex: 1 1 25%;
  }
  .basket-table__item-sum::before {
    content: "Сумма";
    position: absolute;
    font-size: 14px;
    font-weight: 500;
    top: 0;
    left: 0;
  }
}
@media screen and (min-width: 796px) {
  .basket-table__item-sum {
    flex: none;
    margin-right: 30px;
  }
}
.basket-table__item-sum .rouble {
  font-size: 15px;
}
.basket-table__item-delete {
  display: flex;
  margin-top: 40px;
}
@media screen and (min-width: 796px) {
  .basket-table__item-delete {
    margin-top: 0;
  }
}
@media screen and (min-width: 1440px) {
  .basket-table__item-delete {
    margin-left: auto;
  }
}
@media screen and (min-width: 1440px) {
  .basket-table__footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
}
.basket-table__discount {
  display: flex;
  margin-bottom: 30px;
}
@media screen and (min-width: 1440px) {
  .basket-table__discount {
    max-width: 450px;
    width: 100%;
    margin-bottom: 0;
  }
}
.basket-table__discount-input {
  border: 1px solid #D5D5D5;
  margin-right: 10px;
  padding: 20px;
}
.basket-table__discount-button {
  flex-basis: 173px;
  flex: none;
}
.basket-table__general {
  font-size: 19px;
  line-height: 25px;
  font-weight: 500;
  margin-bottom: 17px;
}
@media screen and (min-width: 1440px) {
  .basket-table__general {
    margin-bottom: 0;
  }
}
.basket-table__general-item {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.basket-table__general-title {
  text-align: right;
}
.basket-table__general-value {
  margin-left: 20px;
  width: 95px;
  text-align: right;
}
.basket-table__sum {
  font-size: 21px;
  line-height: 28px;
  font-weight: 700;
  display: flex;
  justify-content: flex-end;
}
.basket-table__sum span {
  color: #014CE4;
  margin-left: 10px;
}

.basket-order__header {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}
@media screen and (min-width: 1440px) {
  .basket-order__header {
    flex-direction: column;
    margin-bottom: 30px;
  }
}
.basket-order__title {
  max-width: 200px;
}
@media screen and (min-width: 1440px) {
  .basket-order__title {
    max-width: none;
  }
}
.basket-order__login {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (min-width: 1440px) {
  .basket-order__login {
    position: absolute;
    flex-direction: row;
    align-items: center;
    bottom: 0;
    right: 0;
  }
}
.basket-order__login-title {
  font-size: 14px;
  font-weight: 500;
}
@media screen and (min-width: 1440px) {
  .basket-order__login-title {
    margin-right: 40px;
    font-size: 18px;
  }
}
.basket-order__login-button {
  font-size: 15px;
  font-weight: 500;
  padding-top: 15px;
  padding-bottom: 15px;
}
.basket-order__tabs {
  max-width: 460px;
  margin-top: 30px;
}
@media screen and (min-width: 1440px) {
  .basket-order__tabs {
    margin-top: 40px;
  }
}
.basket-order__tabs .tab-control__button {
  padding: 15px 30px;
  flex: 1 1 auto;
}
.basket-order__tabs .tab-control__button.active-tab {
  background-color: #2162E8;
}
.basket-order__steps {
  margin-bottom: 20px;
}
@media screen and (min-width: 1440px) {
  .basket-order__steps {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1440px) {
  .basket-order__step {
    width: 668px;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 1439px) {
  .basket-order__step:not(:last-child) {
    margin-bottom: 13px;
  }
}
.basket-order__flex {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.basket-order__help {
  background-color: #EEF2F5;
  padding: 25px;
  display: flex;
  font-size: 15px;
  font-weight: 500;
  border-radius: 7px;
  margin-bottom: 15px;
}
@media screen and (min-width: 1440px) {
  .basket-order__help {
    font-size: 17px;
    align-items: center;
    padding: 30px 48px;
    margin-bottom: 35px;
  }
}
@media screen and (min-width: 1440px) {
  .basket-order__help-text {
    margin-right: 60px;
  }
}
.basket-order__help-button {
  flex: none;
  padding: 19px 36px;
}
.basket-order__info {
  font-size: 15px;
  line-height: 20px;
  font-weight: 500;
  width: 240px;
  margin-left: auto;
  margin-bottom: 30px;
}
@media screen and (min-width: 1440px) {
  .basket-order__info {
    margin-bottom: 0;
  }
}
.basket-order__info p {
  display: flex;
  justify-content: space-between;
}
.basket-order__info p span:first-child {
  width: 150px;
  text-align: right;
}
.basket-order__info p span:last-child {
  flex: none;
}
.basket-order__submit {
  display: flex;
  justify-content: space-between;
  margin-bottom: 26px;
  width: 100%;
}
@media screen and (min-width: 1440px) {
  .basket-order__submit {
    max-width: 455px;
    order: 4;
    margin-left: auto;
  }
}
.basket-order__submit-text {
  font-size: 21px;
  line-height: 28px;
  font-weight: 700;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1440px) {
  .basket-order__submit-text {
    text-align: right;
  }
}
.basket-order__submit-text span:first-child {
  margin-right: 10px;
}
.basket-order__submit-text span:last-child {
  color: #014CE4;
}
.basket-order__submit-button {
  padding: 19px 36px;
  flex: none;
}
.basket-order__privacy {
  max-width: 668px;
}
@media screen and (min-width: 1440px) {
  .basket-order__privacy {
    order: 3;
    line-height: 22px;
  }
}

.basket-step {
  box-shadow: 0px 4px 13px rgba(79, 94, 100, 0.12);
  border-radius: 7px;
  padding: 30px 25px;
}
@media screen and (min-width: 1440px) {
  .basket-step {
    padding: 40px 60px 40px 40px;
  }
}
.basket-step__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
@media screen and (min-width: 1440px) {
  .basket-step__header {
    margin-bottom: 30px;
  }
}
.basket-step__title {
  font-size: 21px;
  font-weight: 700;
}
.basket-step__title span {
  color: #014CE4;
  margin-right: 20px;
}
.basket-step__link {
  flex: none;
  max-width: 130px;
  text-align: right;
}
@media screen and (min-width: 1440px) {
  .basket-step__link {
    max-width: none;
  }
}
.basket-step__container {
  max-width: 515px;
}

.choose-city__label {
  margin-bottom: 15px;
  display: block;
}
.choose-city__input {
  margin-top: 15px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.choose-delivery {
  padding-right: 50px;
}
.choose-delivery__city {
  margin-bottom: 15px;
}
.choose-delivery__item:not(:last-child) {
  margin-bottom: 25px;
}
.choose-delivery__item-checkbox .checkbox__label {
  font-size: 15px;
  font-weight: 500;
}
@media screen and (min-width: 1440px) {
  .choose-delivery__item-checkbox .checkbox__label {
    font-size: 17px;
  }
}
.choose-delivery__text {
  margin-top: 10px;
  line-height: 18px;
  padding-left: 25px;
}

.choose-payment__city {
  margin-bottom: 20px;
}
.choose-payment__item:not(:last-child) {
  margin-bottom: 25px;
}
.choose-payment__item-checkbox .checkbox__label {
  font-size: 15px;
  font-weight: 500;
}
@media screen and (min-width: 1440px) {
  .choose-payment__item-checkbox .checkbox__label {
    font-size: 17px;
  }
}
.choose-payment__text {
  margin-top: 10px;
  line-height: 18px;
  padding-left: 25px;
}

.order-form__field {
  margin-bottom: 15px;
}
.order-form__field-input {
  border: 1px solid #D5D5D5;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media screen and (min-width: 1440px) {
  .order-form__field-input {
    max-width: 383px;
  }
}
.order-form__field-textarea {
  height: 75px;
  border-radius: 7px;
  padding: 20px 15px;
  border: 1px solid #D5D5D5;
}
.order-form__field-text {
  margin-top: 5px;
  color: #737373;
}
.order-form__note {
  color: #737373;
  margin-bottom: 20px;
}

.named-block {
  position: relative;
}
.named-block .container {
  position: relative;
}
.named-block__name {
  display: none;
  color: #E3E3E3;
  writing-mode: vertical-lr;
  transform: scale(-1);
  position: absolute;
  line-height: 1;
  top: 10px;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
}
@media screen and (min-width: 1440px) {
  .named-block__name {
    display: inline-block;
  }
  .named-block__name::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(100% + 43px);
    margin: auto;
    width: 56px;
    height: 1px;
    background-color: #e3e3e3;
    transform: rotate(90deg);
  }
}
@media screen and (min-width: 1440px) {
  .named-block__container {
    margin-left: 70px;
	width: calc(100% - 70px) !important;
  }
}

.inline-search-block {
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.inline-search-block button {
  padding: 15px 30px;
}

.navbar-user__cart {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 20;
  width: 540px;
  opacity: 0;
  visibility: hidden;
  background: #ffffff;
  border-radius: 4px;
  box-shadow: 0 9px 30px -7px rgba(0, 0, 0, 0.18);
  transition: opacity var(--motion-base) var(--ease-out);
  transition-delay: 0.3s;
  cursor: default;
  color: black;
}
.navbar-user__cart::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 10px;
}
.navbar-user__cart--header {
  padding: 16px 28px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #f2f2f0;
}
.navbar-user__cart--header b {
  display: flex;
  font-size: 20px;
  line-height: 28px;
  font-weight: 600;
}
.navbar-user__cart--header b span {
  margin-left: 10px;
  display: block;
  color: #d9d9d9;
}
.navbar-user__cart--clear {
  display: flex;
  align-items: center;
  color: #bdbdbd;
  transition: color var(--motion-base) var(--ease-out);
  cursor: pointer;
}
.navbar-user__cart--body {
  padding: 8px 4px 8px 0;
  display: flex;
  flex-direction: column;
}
.navbar-user__cart--body-wrap {
  max-height: 351px;
  overflow: auto;
}
.navbar-user__cart--item {
  position: relative;
  padding: 20px 28px;
  display: flex;
  transition: background-color var(--motion-base) var(--ease-out);
}
.navbar-user__cart--item:first-child {
  padding-top: 4px;
}
.navbar-user__cart--item:not(:last-child):before {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 0;
  height: 1px;
  background: #f2f2f0;
}
.navbar-user__cart--image {
  width: 78px;
  height: 78px;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.navbar-user__cart--info {
  position: relative;
  margin-left: 18px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  line-height: 24px;
}
.navbar-user__cart--info a {
  color: black;
}
.navbar-user__cart--info > span {
  color: #bdbdbd;
}
.navbar-user__cart--amount {
  margin-top: 6px;
  display: flex;
}
.navbar-user__cart--amount div {
  margin: 0 8px;
  color: #bdbdbd;
}
.navbar-user__cart--amount span {
  color: #bdbdbd;
  transition: color var(--motion-base) var(--ease-out);
  cursor: pointer;
  user-select: none;
}
.navbar-user__cart--price {
  position: absolute;
  right: 0;
  bottom: 0;
  line-height: 24px;
  font-weight: 500;
}
.navbar-user__cart--footer {
  padding: 12px 28px 10px;
  display: flex;
  flex-direction: column;
  border-top: 1px solid #f2f2f0;
}
.navbar-user__cart--footer .btn-primary {
  padding: 10px 80px;
  height: 56px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #ffffff;
  background-color: #014CE4;
  border: none;
  border-radius: 4px;
  transition: background-color var(--motion-base) var(--ease-out), color var(--motion-base) var(--ease-out);
  cursor: pointer;
}
.navbar-user__cart--footer .btn-primary:hover {
  background-color: #1a65fe;
}
.navbar-user__cart--total {
  margin-bottom: 13px;
  display: flex;
  justify-content: space-between;
  font-size: 20px;
  line-height: 28px;
  font-weight: 600;
}

div.header__cart:hover .navbar-user__cart {
  opacity: 1;
  visibility: visible;
}
.search_btn{
	cursor: pointer;
  margin-left: auto;
}
@media (max-width: 991.98px){
	.product-block__item{
		width: 100%;
		flex: 0 0 100%;
	}
  .facts__numbers{
    padding: 0 40px!important;
  }
	.facts__number{
		width: auto;
    padding: 20px 0;
	}
	.facts__number:first-child {
		margin-bottom: 0px;
	}
	.product__preview{
		width: 100%;
	}
	.product__params{
		width: 100%;
		max-width: none;
	}
	.product__cost{
		width: 100%;
		max-width: none;
	}
	.product__params-buttons{
		flex-direction: column;
		align-items: flex-start;
	}
	.product__params-button{
		margin-top: 10px;
	}
	.product__params-button:last-child {
		margin-left: 0;
	}
	.product__cost{
		flex-direction: column;
	}
	.info__content{
		max-width: none;
		width: 100%;
	}
  .info__delivery,
	.info__specifications{
		max-width: none;
		width: 100%;
	}
  .info__paysystem,
	.info__terms {
		width: 100%;
	}
}

@media (min-width: 992px) and (max-width: 1439.98px) {
	.header-mobile{
		display: none;
	}	
	.header__logo-text{
		display: none;
	}	
	.header__schedule.schedule{
		/*display: none;*/
	}	
	p.header__location-text{
		/*display: none;*/
	}	
	.header__desktop{
		display: block;
	}
	.header__location {
		flex-basis: auto;
		margin-right: auto;
	}
	.services__list{
		flex-direction: row;
	}
	.offer-slider {
		padding-left: 15px;
		padding-right: 15px;
		margin-top: 15px;
	}
	/*.catalog-list__more{
		display: none;
	} 07.09.22*/

	.product__params{
		width: 50%;
		max-width: none;
    padding-right: 20px;
	}
	.info__content{
		width: 100%;
		max-width: none;
	}
  .info__delivery,
	.info__specifications{
		width: 100%;
		max-width: none;

    /*width: 50%;*/
    max-width: none;
    padding-right: 20px;
	}
  .info__paysystem,
	.info__terms {
		width: 100%;
	}
	.product-slider__slide{
		width: 275px;
	}
}
@media (min-width: 992px) and (max-width: 1250px) {
	.header__schedule.schedule{
		display: none;
	}
	.product__cost{
		width: 50%;
		max-width: none;
		justify-content: space-evenly;
	}
  .product__cost .product__price,
  .product__cost .product__cost-more {
    margin-left: 6px;
    margin-right: 6px;
  }
	.info__content{
		/*width: 50%;*/
    width: 100%;
		max-width: none;
	}
  ..info__delivery,
  .info__specifications {
    padding-right: 0;
    padding-left: 20px;
  }
}
@media (max-width: 1250px) {
	.product-block__item {
		flex: 0 1 calc(100% / 4);
	}
}
@media (max-width: 950px) {
	.product-block__item {
		flex: 0 1 calc(100% / 3);
	}
}
@media (max-width: 750px) {
	.product-block__item {
		flex: 0 1 calc(100% / 2);
	}
}
@media (max-width: 500px) {
	.product-block__item {
		flex: 0 1 100%;
	}
}
.named-block__container {
	min-width: 300px;
    width: 100%;
}
@media(max-width:500px){
  .row-1{
   margin-right: 45px;
  }
  .facts__number-text{
    width:90px!important;
  }
  .facts__numbers .facts__number:nth-child(1){
    order: 1;
  }
  .facts__numbers .facts__number:nth-child(2){
    order: 2;
  }
  .facts__numbers .facts__number:nth-child(3){
    order: 4;
  }
  .facts__numbers .facts__number:nth-child(4){
    order: 5;
  }
  .facts__numbers .facts__number:nth-child(5){
    margin-right: 0px!important;
    order: 3;
  }
  .facts__numbers .row-2{
    margin-top: -18px;
  }
  .facts__numbers .row-2-item{
    margin-right: 70px!important;
  }
  
  .mobile-header__title.h2{
	font-size: 14px;
  }
  
  .mobile-header {
		height: 56px;
	}
}
@media(max-width:415px){
  .row-1, .row-2, .facts__numbers .row-2-item{margin-right: 0px!important;}
  .facts__numbers{
    justify-content: space-between!important;
    column-count: 2;
    column-gap: 20px;
  }
  .facts__numbers .row-2{
    margin-top: 0px;
  }
}
@media(max-width:361px){
  .facts__number{
    width: auto!important;
  }
}


.articles__list .articles__item:hover {
	transform: scale(1.2);
	transition: transform var(--motion-slow) var(--ease-out);
	z-index: 1;
	transform-origin: center center;
	box-shadow: 0px 4px 13px rgb(79 94 100 / 12%);
}
.articles__list .articles__item:hover .article__text, .articles__list .articles__item:hover .article__title, .articles__list .articles__item:hover .article__button {
	transform: scale(0.85);
	transition: transform var(--motion-slow) var(--ease-out);
}

@media (max-width: 991px) {
  .header {
    margin: 0 auto;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10;
    background-color: white;
  }
  main {
    display: block;
    flex: 1 0 auto;
    margin-top: 51px;
  }
}

.fixed {
  margin: 0 auto;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1002;
  left: 0;
  right: 0;
}

.strong-green {
  font-weight: 900;
  color: #28C57C;
}



/*02.2023*/
.product__preview {
  margin-bottom: 25px;
  width: 455px;
}
@media (max-width: 991.98px){
	.product__preview{
		width: 100%;
	}
}
@media (min-width: 992px) and (max-width: 1439.98px) {
  .product__preview {
      width: 100%;
      max-width: none;
  }
}

@media screen and (min-width: 1440px) {
  .product__preview {
    width: 490px;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1250px) and (max-width: 1439.98px) {
  .product__preview {
    margin-right: 20px;
    max-width: 490px;
    margin-bottom: 0;
  }
} 

.product__options {
  width: 100%;
}
.product__options .product__properties,
.info__specifications .product__properties,
.product__main .product__properties {
  width: 100%;
  padding: 0;
}

.only_mobile-mode {
  display: none;
}
@media screen and (max-width: 1249px) {
  .only_mobile-mode {
    display: block;
  }
  .info__delivery {
    display: none;
  }
  .info__paysystem {
    display: none;
  }
}

.bx-soa-cart-total .rouble {
  margin-left: 5px;
}


/*04.2023*/
.phones_list .modal__close a {
  display: inline-block;
  border: 0 none;
  border-bottom: 1px dotted #0144cb;
  line-height: 1.1;
  margin-bottom: 5px;
}

span.prop-name {
	display: flex;
	position: relative;
}
div.tooltip {
	background: #ffffff;
	border-radius: 12px;
	bottom: 31px;
	box-shadow: 0 4px 16px 1px rgba(0,26,52,.16);
	display: none;
	font-size: 14px;
	font-weight: normal;
	padding: 20px 16px;
    position: absolute;
	z-index: 1000;
}
div.tooltip a.close {
	background: url("../img/close.e4d3a83bebcd.svg");
    background-size: 88%;
    color: #000000;
    display: block;
    height: 18px;
    position: absolute;
    right: 4px;
    top: 5px;
    width: 18px;
}
a.tooltip {
	background: url("../img/tooltip.5c9bb71e7b60.svg");
	display: block;
	height: 16px;
	margin-left: 5px;
	width: 16px;
}
div.tooltip-end {
	position: absolute;
	right: -2px;
    top: -12px;
	z-index: 1000;
}
div.tooltip-end:before {
	background: hsla(0,0%,100%,0);
    border-color: hsla(0,0%,100%,0);
    border-style: solid;
	border-top-color: rgba(204,214,228,.6);
	border-width: 11px;
	border-bottom-width: 0;
    content: "";
    display: block;
    position: relative;
}
div.tooltip-end:after {
	background: hsla(0,0%,100%,0);
    border-color: hsla(0,0%,100%,0);
    border-style: solid;
	border-top-color: #fff;
	bottom: 1px;
	border-width: 11px;
	border-bottom-width: 0;
	 content: "";
    display: block;
    position: absolute;
    transform: translateX(1px);
}
div.filter__wrapper div.tooltip {
	bottom: 35px;
	left: -52px;
}
div.filter__wrapper div.tooltip-end {
	right: auto;
}
.view-all-elements{
  width: 100%;
  display: flex;
  margin-top: 20px;
}
.view-all-elements a{
  margin: 0 auto;
}
@media(max-width:410px){
  .modal{
    max-width: 300px;
    min-width: 300px;
  }
}

/* ==========================================================================
   Правки темы: отличия нашей разметки и живого сайта от вёрстки дизайнера
   ========================================================================== */
.is-stub {
  visibility: hidden;
}
.inform-circle:empty {
  display: none;
}
.nav__item_open .nav__item-sub {
  visibility: visible;
  opacity: 1;
}
.nav__item-arrow {
  display: flex;
  align-items: center;
  color: inherit;
}
@media screen and (min-width: 1440px) {
  .footer__links_catalog::before {
    content: "Каталог:";
  }
}
/* Полоса каталога: как на живом сайте — меню занимает всё место слева, кнопки и корзина справа */
.header__nav {
  flex: 1;
  padding-left: 30px;
}
.nav__item-link {
  font-size: 15px;
  font-weight: 600;
  margin-right: 18px;
}
.nav__item:not(:last-child) .nav__item-button {
  padding-right: 25px;
  margin-right: 30px;
}
.header__bottom .cart-button {
  min-width: 152px;
}
/* Подвал: строки адреса разнесены, как на живом сайте */
.footer__address + .footer__address {
  margin-top: 10px;
}
.footer__phone-note {
  margin-top: 5px;
  color: #636363;
}
@media screen and (min-width: 1440px) {
  .footer__item svg {
    margin-right: 13px;
  }
  .footer__item_address {
    min-width: 328px;
  }
}
/* Корень каталога: подразделы раскрыты сразу, как на живом сайте (без «Развернуть») */
.categories__nav .sections-item__sub {
  height: auto;
  margin-top: 10px;
}
.categories__nav .sections__group {
  margin-bottom: 25px;
}
/* Раздел: сортировка ссылками (у дизайнера — выпадающий список на JS) */
.sub-category__grid {
  margin-bottom: 40px;
}
.sub-category__sort {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
  margin-bottom: 20px;
  font-size: 14px;
}
.sub-category__sort-title {
  color: #636363;
}
.sub-category__sort-link {
  color: #424651;
}
.sub-category__sort-link.active {
  color: #014CE4;
  font-weight: 600;
}
/* Карточка в листинге: артикул, «Цену уточняйте», неактивная «Купить» до этапа корзины */
.product-card__sku {
  color: #636363;
  font-size: 11px;
  margin-top: 5px;
  margin-bottom: 10px;
}
.product-price__ask {
  font-size: 14px;
  font-weight: 500;
  color: #424651;
}
.product-card__button:disabled {
  cursor: default;
  opacity: 0.5;
}
.pagination__link {
  color: #424651;
}
.product-card__image img {
  /* атрибуты width/height — только для резерва места (CLS); размер считает браузер по
     пропорциям: иначе max-height ужимает высоту при заданной ширине и фото сплющивается */
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 185px;
  object-fit: contain;
}
/* Узкий экран: две карточки в ряд (иначе минимальная ширина подвала карточки ломает сетку) */
.catalog__item {
  min-width: 0;
}
/* Подвал карточки в сетке: «Цену уточняйте» шире цены — кнопка переносится под надпись, а карточка
   растёт по содержимому (этап 13: при фиксированной высоте 353/366 px подвал вылезал из рамки на
   средних ширинах — длинная подпись раздела + название в три строки); ряд выравнивается по самой
   высокой карточке (stretch у .catalog__items) */
.catalog__item .product-card__footer {
  flex-wrap: wrap;
  gap: 8px;
}
.catalog__item .product-card__container {
  height: auto;
  min-height: 353px;
}
@media screen and (min-width: 1440px) {
  .catalog__item .product-card__container {
    min-height: 366px;
  }
}

/* Карточка товара (витрина, этап 1) */
.product__article span {
  margin-right: 4px;
}
.product__article-label {
  margin-left: 12px;
}
.product-main-slider__slide {
  aspect-ratio: 4 / 3;
  max-height: 300px;
}
.product-main-slider__image {
  max-width: 100%;
  object-fit: contain;
}
.product__highlights {
  margin: 0;
  width: 100%;
  padding-top: 10px;
}
.product__highlights dd {
  margin: 0;
}
.product__highlights dt {
  flex: 1;
  display: flex;
}
.product__highlights dt::after {
  content: "";
  flex: 1;
  border-bottom: 1px dashed #E2E2E2;
  margin: 0 10px 3px;
}
.product__highlights .info__specification-item:not(:last-child) {
  margin-bottom: 14px;
}
.product__price-new_ask {
  font-size: 20px;
  font-weight: 600;
}
.product__price-middle {
  width: 100%;
}
.product__price-buy {
  flex: 1;
  align-self: stretch;
  height: auto;   /* тема: height: 100% от 1250 px отменяло растяжение — кнопка ниже блока количества */
}
.product__price-buy:disabled,
.product__price-link:disabled {
  opacity: 0.55;
  cursor: default;
}
.product__price-link {
  background: none;
  border: 0;
  color: #014CE4;
  padding: 0;
}
.input-arrows__buttons {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.input-arrows__button {
  background: none;
  border: 0;
  padding: 0;
  color: #014CE4;
}
.input-arrows__control {
  width: 100%;
  border: 0;
  outline: 0;
  -moz-appearance: textfield;
}
.input-arrows__control::-webkit-inner-spin-button,
.input-arrows__control::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.product__terms {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
}
.product__terms .product__cost-feature {
  cursor: default;
  text-align: left;
  font-weight: 400;
  padding: 10px 15px;
}
.product__cost-cheaper {
  align-self: center;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 12px;
}
.product__ask-btn svg {
  flex: none;
}
@media screen and (min-width: 1250px) {
  .product__cost {
    height: auto;
  }
}

/* Подсказка «i» на плитке подраздела (текст плитки из настроек раздела) */
.section-grid_item-tooltip-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #c0b6b6;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-weight: 600;
  z-index: 9;
  position: relative;
  margin-top: -10px;
  cursor: pointer;
}
.section-grid_item-tooltip-icon:hover {
  background: #948e8e;
}
.section-grid__item-tooltip {
  display: none;
}

/* Фото товара (этап 2, §13): <picture> не ломает раскладку темы; скрытые слайды галереи */
.product-card__image picture,
.product-main-slider__slide picture,
.product-nav-slider__slide picture {
  display: contents;
}
.product-main-slider__slide[hidden] {
  display: none;
}
.product-nav-slider__container {
  width: 100%;
  overflow-x: auto;
}
.product-nav-slider__wrapper {
  gap: 6px;
}

/* ===== Этап 3: подсказка у характеристики и у реквизита фильтра («?» с текстом в title) ===== */
.spec-hint, .facets__hint {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 4px;
  border-radius: 50%;
  background: #EEF2F5;
  color: #626B72;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  cursor: help;
  vertical-align: middle;
}

/* ===== Этап 3: фильтр каталога — колонка слева на компьютере, шторка на телефоне (< 992 px) ===== */
.facets-layout { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 40px; }
.facets-main { flex: 1; min-width: 0; }
.facets { flex: 0 0 250px; max-width: 250px; }
.facets__head { display: none; }
.facets__block { border-bottom: 1px solid #EEF2F5; padding: 12px 0; }
.facets__title { display: flex; align-items: center; list-style: none; cursor: pointer; font-weight: 600; font-size: 15px; }
.facets__title::-webkit-details-marker { display: none; }
.facets__title::after { content: ""; margin-left: auto; width: 7px; height: 7px; border-right: 2px solid #9AA3AB; border-bottom: 2px solid #9AA3AB; transform: rotate(45deg); transition: transform var(--motion-base) var(--ease-out); }
.facets__block[open] > .facets__title::after { transform: rotate(-135deg); }
.facets__values { list-style: none; margin: 10px 0 0; padding: 0; }
.facet-value { display: flex; align-items: center; gap: 6px; min-height: 28px; }
.facet-value__label { flex: 1; min-width: 0; margin: 0; }
.facet-value__count { color: #9AA3AB; font-size: 13px; white-space: nowrap; }
.facet-value__cross { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; color: #25282B; opacity: .3; text-decoration: none; font-size: 16px; line-height: 1; }
.facet-value:hover .facet-value__cross, .facet-value__cross:focus { opacity: .8; }
.facet-value_minus .facet-value__text { text-decoration: line-through; color: #9AA3AB; }
.facet-value_minus .facet-value__cross { color: #E02B2B; opacity: 1; }
.facet-value_dim { opacity: .45; }
.facets__more > summary { list-style: none; }
.facets__more > summary, .facets__more-none { display: inline-block; margin-top: 6px; color: #014CE4; font-size: 14px; cursor: pointer; }
/* раскрытый хвост списка: значения идут сплошь, а «свернуть» — внизу, не посередине */
.facets__more[open] { display: flex; flex-direction: column-reverse; }
.facets__more[open] > summary { align-self: flex-start; }
.facets__more-close, .facets__more[open] .facets__more-open { display: none; }
.facets__more[open] .facets__more-close { display: inline; }
.facets__mode { display: block; margin-top: 8px; font-size: 13px; }
.facets__slider { position: relative; z-index: 0; height: 24px; margin: 4px 0; }   /* свой слой: бегунки не ложатся поверх нижней панели шторки */
.facets__slider input[type=range] { position: absolute; left: 0; top: 0; width: 100%; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.facets__slider input[type=range]::-webkit-slider-thumb { pointer-events: auto; }
.facets__slider input[type=range]::-moz-range-thumb { pointer-events: auto; }
/* дорожка ползунка и выбранный отрезок между бегунками (--lo/--hi ставит site.js) */
.facets__slider::before, .facets__slider::after { content: ""; position: absolute; top: 11px; height: 3px; border-radius: 2px; }
.facets__slider::before { left: 0; right: 0; background: #DCE3E8; }
.facets__slider::after { left: var(--lo, 0%); right: calc(100% - var(--hi, 100%)); background: #014CE4; }
.facets__slider input[type=range] { z-index: 1; height: 24px; }
.facets__slider input[type=range]::-webkit-slider-runnable-track { background: none; }
.facets__slider input[type=range]::-moz-range-track { background: none; }
.facets__slider input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2px solid #014CE4; cursor: pointer; }
.facets__slider input[type=range]::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 2px solid #014CE4; cursor: pointer; }
.facets__footer { display: flex; gap: 10px; padding-top: 15px; }
.facets__apply { flex: 1; }
.facets__close-bottom { display: none; }
.facets-bar { display: none; margin-bottom: 15px; }
.facet-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 15px; }
.facet-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 16px; background: #EEF2F5; color: #25282B; font-size: 13px; text-decoration: none; }
.facet-chips__reset { font-size: 13px; color: #014CE4; }
.facets-empty { padding: 30px 0; }
@media screen and (min-width: 992px) {
  .facets-main .catalog__item { flex: 0 1 33.333%; }
}
@media screen and (max-width: 991px) {
  .facets-layout { display: block; }
  .facets { display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; max-width: none; background: #fff; overflow: auto; padding: 15px 15px 90px; }
  .facets:target, .body_facets-open .facets { display: block; }
  .facets__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
  .facets__close { font-size: 28px; line-height: 1; text-decoration: none; color: #25282B; }
  .facets__footer { position: fixed; left: 0; right: 0; bottom: 0; padding: 12px 15px; background: #fff; box-shadow: 0 -4px 12px rgba(0, 0, 0, .08); }
  .facets__close-bottom { display: inline-flex; }
  .facets-bar { display: flex; }
  .facet-value__cross { width: 26px; height: 26px; font-size: 20px; }
}

/* Главная: карусели без библиотеки. Лента листается сама (scroll-snap), стрелки — site.js
   ([data-carousel]). На живом сайте то же делал Swiper. */
[data-carousel-track] {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
[data-carousel-track]::-webkit-scrollbar { display: none; }
[data-carousel-track] > * { scroll-snap-align: start; }
.offer-slider__wrapper { display: flex; width: 100%; }
.offer-slider__slide { display: block; flex: none; width: 100%; }
.offer-slider__slide img { display: block; width: 100%; height: auto; }
.offer-slider__navigation-new { position: relative; z-index: 1; margin-top: -70px; margin-bottom: 30px; }
.offer-slider__arrows-new { display: flex; justify-content: center; }
.offer-slider__arrow-new:first-child { margin-right: 15px; }
@media (max-width: 1439px) {
  .offer-slider__navigation-new { margin-top: -20px; margin-bottom: 40px; }
}
/* на широком экране преимущества — сотами (вёрстка), без прокрутки */
@media screen and (min-width: 1440px) {
  .facts__profit-wrapper[data-carousel-track] { overflow: visible; }
}
.profit-slide__icon img { display: block; max-width: 74px; height: auto; }
.brands__slide img { max-width: 90%; height: auto; }
/* иконка раздела — та же, что в меню (там она белая на синем); здесь красим её силуэт в цвет темы */
.catalog-list__icon {
  width: 40px; height: 40px; margin-right: 15px; flex: none; background-color: #014CE4;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: contain; mask-size: contain;
}
.catalog-list__header { align-items: center; }

/* Карточка товара, этап 5: сетка старого сайта (3 колонки × 2 ряда), «Варианты товара»,
   сравнение/избранное в строке артикула, доставка и оплата из настроек сайта */
.product__top { align-items: center; margin-bottom: 25px; }
.product__actions { display: flex; gap: 24px; color: #014CE4; font-size: 15px; font-weight: 500; }
@media (max-width: 767px) {
  .product__action-text { display: none; }
}
.product__main { align-items: flex-start; }
.product__params > :first-child,
.product__params .info__specifications-title { margin-top: 0; }
.info__specifications_params { width: 100%; max-width: none; margin: 0; }
@media screen and (min-width: 1440px) {
  .info__specifications_params .info__specifications-title { height: auto; margin-bottom: 20px; }
}
.product-series { display: block; width: 100%; }
.product-series__title { font-size: 21px; font-weight: 500; margin: 0 0 18px; }
@media screen and (min-width: 1440px) {
  .product-series__title { height: auto; display: block; }
}
.product-series .product-option {
  display: grid; grid-template-columns: minmax(96px, 36%) 1fr; column-gap: 12px; margin: 0 0 8px;
}
.product-series .product__option:not(:last-child) { margin: 0 0 8px; }
.product-series .product-option__title { font-size: 14px; margin: 4px 0 0; }
.product-series .product-option__item { margin: 0 6px 6px 0; }
.product-series a.product-option__item { color: #014CE4; position: relative; }
.product-series a.product-option__item:hover { border-color: #014CE4; }
.product-option__item_empty { color: #9AA3AB !important; font-style: italic; }
@media (hover: hover) {
  .product-series a.product-option__item[data-tip]:hover::after,
  .product-series a.product-option__item[data-tip]:focus-visible::after {
    content: attr(data-tip); position: absolute; left: 0; top: calc(100% + 5px); z-index: 5;
    padding: 3px 8px; border-radius: 5px; background: #182532; color: #fff;
    font-size: 12px; font-style: normal; white-space: nowrap; pointer-events: none;
  }
}
/* ≥1250: оба ряда — одна сетка из трёх колонок (как на старом сайте), колонки рядов совпадают */
@media screen and (min-width: 1250px) {
  .product__main,
  .product__info.info {
    display: grid; grid-template-columns: minmax(0, 490fr) minmax(0, 445fr) minmax(0, 378fr);
    column-gap: 30px; align-items: start;
  }
  .product__main > *,
  .product__info.info > * { width: auto; max-width: none; height: auto; margin-right: 0; }
  .product__main { margin-bottom: 50px; }
}
.info__terms-tab { border: 0; text-align: left; font-family: inherit; color: inherit; }
@media screen and (max-width: 1249px) {
  .info .info__plain { display: block; width: 100%; max-width: none; margin-bottom: 40px; }
}
.info__plain { width: 378px; }
.terms-text h3 { color: #014CE4; font-size: 15px; font-weight: 500; margin: 0 0 2px; }
.terms-text h3:not(:first-child) { margin-top: 28px; }
.terms-text p { margin: 0 0 4px; font-size: 12px; color: #6F6F6F; }
.terms-text p b { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 500; color: #182532; }

/* ==========================================================================
   Этап 6: корзина и оформление — дополнения к классам темы (basket, basket-order, order-form)
   ========================================================================== */
.product-card__buy { display: contents; }
a.cart-button, a.header-mobile__button { text-decoration: none; }
.basket-table__item form { margin: 0; }
/* Этап 6: тема прячет H1 корзины до 1440px (там была мобильная плашка) — у нас заголовок виден всегда. */
.basket .basket__title { display: block; margin: 20px 0 15px; }
/* Этап 6: строка суммы — flex темы съедает пробел перед пометкой «цену уточнит менеджер». */
.basket-table__sum { flex-wrap: wrap; column-gap: 8px; }
.basket-table__sum span { margin-left: 0; }
/* Этап 6: на ≥796px заголовок и каждая строка корзины — одна и та же сетка
   (фото | название | артикул | цена | кол-во | сумма | удалить), подписи стоят над своими колонками.
   Отступы темы (margin-right под 1440px) внутри сетки обнуляются, ширины задают колонки.
   Ниже 796px — мобильный вид темы с подписями ::before, он не трогается. */
@media screen and (min-width: 796px) {
  .basket-table { --basket-cols: 100px minmax(0, 1fr) 110px 120px 100px 130px 24px; }
  .basket-table .basket-table__header,
  .basket-table .basket-table__item {
    display: grid; grid-template-columns: var(--basket-cols); column-gap: 20px; align-items: start;
  }
  .basket-table .basket-table__header-item { margin: 0; }
  .basket-table .basket-table__header-item:first-child { grid-column: 1 / 4; }
  .basket-table .basket-table__header-item:nth-child(2) { grid-column: 4; }
  .basket-table .basket-table__header-item:nth-child(3) { grid-column: 5; }
  .basket-table .basket-table__header-item:nth-child(4) { grid-column: 6; }
  .basket-table .basket-table__item > * { margin: 0; width: auto; min-width: 0; }
  .basket-table .basket-table__item-img { grid-column: 1; width: 100%; height: 80px; }
  .basket-table .basket-table__item-info { grid-column: 2; }
  .basket-table .basket-table__item-article { grid-column: 3; }
  .basket-table .basket-table__item-price { grid-column: 4; }
  .basket-table .basket-table__item-input { grid-column: 5; }
  .basket-table .basket-table__item-sum { grid-column: 6; }
  .basket-table .basket-table__item-remove { grid-column: 7; justify-self: end; }
}
@media screen and (min-width: 1440px) {
  .basket-table { --basket-cols: 117px minmax(0, 1fr) 160px 150px 110px 150px 24px; }
  .basket-table .basket-table__item { align-items: center; }
}
/* Корзина на телефоне (15.10): строка товара — компактная карточка вместо столбика темы с подписями
   «Цена / Кол-во / Сумма»: фото слева; справа название и крестик, артикул, внизу цена за штуку, количество и сумма. */
@media screen and (max-width: 795px) {
  .basket-table .basket-table__header { display: none; }
  .basket-table .basket-table__item {
    display: grid; grid-template-columns: 72px minmax(0, 1fr) auto auto; column-gap: 12px; row-gap: 6px;
    grid-template-areas: "img info info del" "img art art art" "img price qty sum"; align-items: center;
    padding: 14px 0;
  }
  .basket-table .basket-table__item > * { margin: 0; padding: 0; min-width: 0; }
  .basket-table .basket-table__item > picture { grid-area: img; align-self: start; display: block; }
  .basket-table .basket-table__item-img { grid-area: img; width: 72px; height: 72px; margin: 0; align-self: start; }
  .basket-table .basket-table__item-info { grid-area: info; align-self: start; }
  .basket-table .basket-table__item-title { font-size: 14px; line-height: 1.3; margin-bottom: 2px; }
  .basket-table .basket-table__item-article { grid-area: art; width: auto; font-size: 12px; }
  .basket-table .basket-table__item-price { grid-area: price; font-size: 13px; color: #808080; }
  .basket-table .basket-table__item-price .product-price__current { font-size: 13px; font-weight: 400; color: inherit; }
  .basket-table .basket-table__item-input { grid-area: qty; }
  .basket-table .basket-table__item-input .input-arrows { width: 76px; }
  .basket-table .basket-table__item-sum { grid-area: sum; font-size: 16px; text-align: right; white-space: nowrap; }
  .basket-table .basket-table__item-remove { grid-area: del; align-self: start; justify-self: end; }
  .basket-table .basket-table__item-delete { margin: 0; padding: 4px; }
  .basket-table .basket-table__item-price::before,
  .basket-table .basket-table__item-input::before,
  .basket-table .basket-table__item-sum::before { content: none; }
}
.hp-field { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.order-form__error { color: #FA4451; margin-top: 5px; }
.basket-order__privacy.checkbox { position: relative; }
/* Город выбран сайтом, а не покупателем (IP не российский) — подсветка и подсказка */
.select-link.select-link_auto { background: #FFF1C2; border-radius: 3px; padding: 0 3px; }
.header__location-hint[hidden], .choose-city__auto[hidden] { display: none; }
.header__location-hint, .choose-city__auto { color: #FA4451; font-size: 12px; line-height: 1.3; margin: -4px 0 9px; }
.choose-city_auto .checkbox__input:checked + .checkbox__label { background: #FFF1C2; border-radius: 3px; }
/* Корзина-оформление (владелец 15.10): сверху таблица товаров, ниже две колонки — слева табы покупателя и шаги
   1–4 одной карточкой с разделителями (город → доставка → оплата → контакты), справа липкая панель «Ваш заказ»:
   товары, доставка, итого, согласие, кнопка, ссылка «Заказать звонок». Телефон — одна колонка, панель после шагов.
   Табы — это radio mode: вид активного таба даёт :checked (и без JavaScript), класс active-tab — запасной для
   браузеров без :has. Способы доставки и оплаты — плитки: радио скрыто, рамка и точка рисуются у label. */
/* body с overflow-x: hidden — сам контейнер прокрутки, и липкая панель не прилипает; clip режет так же, но не прокручивает */
body:has(.checkout-page) { overflow-x: clip; }
.checkout-page .basket__title { display: block; margin: 28px 0 16px; }
.checkout-page .basket__table { margin-bottom: 28px; }
.checkout-page .basket-table__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; padding-top: 16px; }
.checkout-page .basket-table__sum { font-size: 19px; line-height: 26px; }
.checkout .checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; margin-bottom: 48px; }
.checkout .checkout-layout__main { min-width: 0; }
/* табы — компактный сегмент */
.checkout .basket-order__tabs { display: inline-flex; flex-wrap: nowrap; gap: 4px; max-width: 100%; margin: 0 0 16px; padding: 4px; background: #EEF2F5; border-radius: 9px; }
.checkout .basket-order__tabs .tab-control__button { position: relative; flex: 0 0 auto; margin: 0; padding: 9px 20px; border: 0; border-radius: 7px; background: transparent; color: #25282B; font-size: 16px; line-height: 22px; font-weight: 500; text-align: center; cursor: pointer; }
.checkout .basket-order__tabs .tab-control__button.active-tab,
.checkout .basket-order__tabs .tab-control__button:has(.tab-control__input:checked) { background: #fff; color: #014CE4; box-shadow: 0 1px 3px rgba(37, 40, 43, 0.12); cursor: default; }
.checkout .basket-order__tabs .tab-control__button.active-tab:not(:has(.tab-control__input:checked)) { background: transparent; color: #25282B; box-shadow: none; cursor: pointer; }
.checkout .tab-control__input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.checkout .tab-control__button:has(.tab-control__input:focus-visible) { outline: 2px solid #014CE4; outline-offset: 2px; z-index: 1; }
/* шаги — одна карточка */
.checkout .basket-order__steps { display: block; margin: 0; background: #fff; border-radius: 10px; box-shadow: 0 4px 13px rgba(79, 94, 100, 0.12); }
.checkout .basket-order__step { width: auto; margin: 0; padding: 24px 28px; border-radius: 0; box-shadow: none; min-width: 0; }
.checkout .basket-order__step + .basket-order__step { border-top: 1px solid #EEF2F5; }
.checkout .basket-step__header { margin: 0 0 16px; }
.checkout .basket-step[data-step="1"] .basket-step__header { margin-bottom: 10px; }
.checkout .basket-step__title { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 19px; line-height: 24px; font-weight: 700; }
.checkout .basket-step__title span { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: 0; border-radius: 50%; background: #014CE4; color: #fff; font-size: 14px; line-height: 1; }
.checkout .basket-step__container { max-width: none; }
/* шаг 1: город одной строкой */
.checkout .choose-city { padding-left: 40px; }
.checkout .choose-city__current { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: 0; }
.checkout .choose-city__name { font-size: 17px; line-height: 24px; font-weight: 600; }
.checkout .choose-city_auto .choose-city__name { background: #FFF1C2; border-radius: 3px; padding: 0 4px; }
.checkout .choose-city__note, .checkout .choose-city__auto { margin: 4px 0 0; font-size: 13px; line-height: 18px; }
.checkout .choose-city__note { color: #737373; }
.checkout .choose-city__label { margin: 12px 0 0; }
/* плитки-варианты доставки и оплаты */
.checkout .choose-delivery { padding: 0; }
.checkout .checkout-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.checkout .choose-delivery__item, .checkout .choose-payment__item { margin: 0; }
.checkout .checkout-option { position: relative; min-width: 0; }
.checkout .checkout-option__input { position: absolute; top: 0; left: 0; width: 1px; height: 1px; opacity: 0; }
.checkout .checkout-option__box { position: relative; display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 13px 16px 13px 46px; border: 1px solid #D9DFE6; border-radius: 8px; background: #fff; cursor: pointer;
  transition: border-color var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out); }
.checkout .checkout-option__box::before { content: ""; position: absolute; left: 16px; top: 14px; width: 18px; height: 18px; box-sizing: border-box; border: 2px solid #B8C2CE; border-radius: 50%; background: #fff;
  transition: border-color var(--motion-fast) var(--ease-out); }
.checkout .checkout-option__input:checked + .checkout-option__box { border-color: #014CE4; background: #F3F6FD; box-shadow: inset 0 0 0 1px #014CE4; }
.checkout .checkout-option__input:checked + .checkout-option__box::before { border: 5px solid #014CE4; }
.checkout .checkout-option__input:focus-visible + .checkout-option__box { outline: 2px solid #014CE4; outline-offset: 2px; }
@media not all and (hover: none) and (pointer: coarse) {
  .checkout .checkout-option__input:not(:checked) + .checkout-option__box:hover { border-color: #9DB3E6; }
}
.checkout .checkout-option__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 16px; line-height: 21px; font-weight: 600; }
/* иконка способа (владелец 29.10: «на старом сайте были иконки»): серая, у выбранного — синяя */
.checkout .checkout-option__icon { flex: none; align-self: center; width: 22px; height: 22px; margin-right: -4px; color: #7A8794; transition: color .15s; }
.checkout .checkout-option__icon + .checkout-option__name { margin-right: auto; }
.checkout .checkout-option__input:checked + .checkout-option__box .checkout-option__icon { color: #014CE4; }
.checkout .checkout-option__price { flex: none; font-weight: 600; white-space: nowrap; }
.checkout .checkout-option__promo { margin: 0; padding: 0; font-size: 13px; line-height: 18px; }
.checkout .checkout-option__text { margin: 0; padding: 0; font-size: 13px; line-height: 18px; color: #737373; }
.checkout .order-form_address { margin-top: 14px; }
.checkout .order-form__field-textarea { display: block; width: 100%; height: auto; min-height: 64px; padding: 14px 15px; resize: vertical; }
/* шаг 4: контакты сеткой */
.checkout .checkout-contacts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.checkout .checkout-contacts .order-form__field { margin: 0; min-width: 0; }
.checkout .checkout-contacts .order-form__field-input { max-width: none; padding-top: 14px; padding-bottom: 14px; }
.checkout .checkout-contacts .order-form__field-text { font-size: 13px; line-height: 18px; }
/* панель «Ваш заказ» */
.checkout .checkout-panel { display: flex; flex-direction: column; gap: 16px; min-width: 0; padding: 24px; background: #fff; border-radius: 10px; box-shadow: 0 4px 13px rgba(79, 94, 100, 0.12); }
.checkout .checkout-panel__title { margin: 0; font-size: 21px; line-height: 26px; font-weight: 700; }
.checkout .checkout-panel__lines { display: flex; flex-direction: column; gap: 10px; padding-bottom: 16px; border-bottom: 1px solid #EEF2F5; }
.checkout .checkout-panel__line { display: flex; justify-content: space-between; gap: 12px; margin: 0; font-size: 15px; line-height: 20px; }
.checkout .checkout-panel__line > span:last-child { flex: none; font-weight: 600; white-space: nowrap; }
.checkout .checkout-panel__line small { display: block; font-size: 13px; line-height: 18px; color: #737373; }
.checkout .checkout-panel__line_muted > span:last-child { font-weight: 400; color: #9AA3AD; }
.checkout .checkout-panel__note { margin: 0; font-size: 13px; line-height: 18px; color: #737373; }
.checkout .checkout-panel__total { display: flex; flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 12px; margin: 0; text-align: left; font-size: 17px; line-height: 24px; }
.checkout .checkout-panel__total > span:first-child { margin: 0; font-weight: 600; }
.checkout .checkout-panel__total [data-checkout-total] { font-size: 26px; line-height: 32px; font-weight: 700; color: #014CE4; white-space: nowrap; }
.checkout .checkout-panel__total .basket-order__submit-note { flex-basis: 100%; margin: 0; }
/* согласие прямо над кнопкой (владелец 14.10): рамка; попытка оформить без галочки — рамка красная, подсказка (site.js) */
.checkout .basket-order__finish { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.checkout .basket-order__finish > * { order: 0; }   /* старое правило ≥1440 (order: 3 у согласия) уводило галочку под кнопку */
.checkout .basket-order__finish .basket-order__privacy { max-width: none; margin: 0; padding: 11px 12px 11px 42px; border: 1px solid #C9D7F5; border-radius: 8px; background: #F3F6FD; font-size: 13px; line-height: 19px; }
.checkout .basket-order__finish .basket-order__privacy .checkbox__label:before { left: 12px; top: 12px; width: 20px; height: 20px; border: 2px solid #7D93C9; }
.checkout .basket-order__finish .basket-order__privacy .checkbox__label:after { left: 17px; top: 18px; }
.checkout .basket-order__finish .basket-order__privacy.is-error .checkbox__label:before { border-color: #FA4451; }
.checkout .basket-order__finish .basket-order__privacy.is-error { border-color: #FA4451; background: #FFF1F2; animation: agree-shake .35s ease-in-out 2; }
.checkout .basket-order__agree-note { margin: -4px 0 0; color: #FA4451; font-size: 13px; line-height: 18px; }
.checkout .basket-order__agree-note[hidden] { display: none; }
.checkout .basket-order__finish .basket-order__submit-button { width: 100%; padding: 17px 24px; }
.checkout .checkout-panel__help { margin: 0; font-size: 14px; line-height: 20px; text-align: center; color: #737373; }
@keyframes agree-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
@media (prefers-reduced-motion: reduce) {
  .checkout .basket-order__finish .basket-order__privacy.is-error { animation: none; }
  .checkout .checkout-option__box, .checkout .checkout-option__box::before { transition: none; }
}
@media (min-width: 640px) {
  .checkout .checkout-options_grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .checkout .checkout-contacts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .checkout .checkout-contacts__wide { grid-column: 1 / -1; }
}
@media (min-width: 992px) {
  .checkout .checkout-layout { grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; }
  .checkout .checkout-panel { position: sticky; top: 20px; margin-top: 62px; }   /* верх панели — вровень с карточкой шагов */
}
@media (min-width: 1440px) {
  .checkout .checkout-layout { grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; }
  .checkout .basket-order__step { padding: 26px 32px; }
}
@media (max-width: 575px) {
  .checkout .basket-order__tabs { display: flex; width: 100%; }
  .checkout .basket-order__tabs .tab-control__button { flex: 1 1 0; padding: 9px 8px; font-size: 15px; }
  .checkout .basket-order__step { padding: 20px 16px; }
  .checkout .choose-city { padding-left: 0; }
  .checkout .checkout-panel { padding: 20px 16px; }
  .checkout .checkout-option__head { flex-wrap: wrap; row-gap: 2px; }   /* длинная цена «от 750 ₽ (+50 ₽/км)» — под название */
}
/* ==========================================================================
   Шапка как на старом сайте (этап 7)
   ========================================================================== */
/* Верхняя полоска: страницы сайта и внешние ссылки подряд слева; «Кабинет» — справа (правки 12.10) */
.header__top-list { min-height: 19px; }
.header__top-item:last-child { margin-left: 0; }
/* «Способы связи с нами»: две колонки по два пункта, как на старом сайте */
.header__social-list { display: grid; grid-template-rows: auto auto; grid-auto-flow: column; column-gap: 35px; row-gap: 2px; }
.header__social-item { white-space: nowrap; }
.header__social-item svg { flex: none; }
/* Мега-меню: иконка раздела 41×41 и название; выпадашка — колонки подразделов с иконками, под
   каждым — ссылки третьего уровня */
.nav__item { display: flex; align-items: center; height: 65px; }
.nav__item-button { align-items: center; }
.nav__item-icon { width: 41px; height: 41px; margin-right: 10px; flex: none; }
.nav__item-sub { margin-top: 0; max-height: calc(100vh - 120px); padding: 35px 40px 10px; }
.nav__columns { margin: 0; }
.nav__columns .sections__group { min-width: 33.3%; max-width: 33.3%; padding: 0 15px 0 0; }
.nav__columns .sections__column { padding: 0; }
.nav__columns .sections__item { margin-bottom: 28px; }
.nav__columns .sections-item__icon { width: 40px; height: 40px; margin-right: 20px; }
.nav__columns .sections-item__title { font-size: 15px; font-weight: 600; max-width: none; margin-bottom: 6px; }
.nav__columns .sections-item__sub { height: auto; margin-top: 0; }
.nav__columns .sections-item__sub-link { font-size: 13px; line-height: 20px; color: #555; }
.nav__columns .sections-item__sub-link:hover, .nav__columns .sections-item__title:hover { color: #014CE4; }
/* Телефонное меню: третий уровень — раскрывающийся список под подразделом */
.hm-container__acc-title { list-style: none; cursor: pointer; position: relative; padding-right: 45px; }
.hm-container__acc-title::-webkit-details-marker { display: none; }
.hm-container__acc-title::after { content: ""; position: absolute; right: 22px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border-right: 2px solid #000; border-bottom: 2px solid #000; transform: rotate(45deg); transition: transform var(--motion-base) var(--ease-out); }
.hm-container__acc[open] > .hm-container__acc-title::after { transform: rotate(-135deg); margin-top: -2px; }
.hm-container__acc-list { display: flex; flex-direction: column; padding: 0 20px 12px 32px; }
.hm-container__acc-link { color: #000; font-size: 14px; line-height: 20px; padding: 5px 0; }
.hm-container__acc-link_all { font-weight: 600; }
.hm-container__social { margin-top: 10px; padding-bottom: 30px; }
.nav__columns .sections-item > .sections-item__links:first-child { margin-left: 60px; }   /* подраздел без иконки — в ряд с остальными */
/* Текстовые страницы (доставка, оплата, контакты) */
[data-text-page] { padding-bottom: 60px; }
.text-page__title { margin: 25px 0 30px; }
.contacts__schedule { display: inline-block; margin-bottom: 40px; }
.contacts__schedule .schedule__info { justify-content: flex-start; }
.text-page__body { max-width: 900px; }
/* вступление под заголовком (владелец 29.10: одна мелкая строка терялась) — крупнее, перед блоками */
[data-text-page] .text-page__body:has(+ .tp) { font-size: 17px; line-height: 1.6; color: #3d4247; margin-bottom: 8px; }
[data-text-page] .text-page__body:has(+ .tp) p { margin: 0 0 12px; }
.nav__columns .sections-item__more { font-size: 13px; line-height: 20px; color: #014CE4; font-weight: 500; }
/* Стрелка раздела — область нажатия 40×40 для пальца; значок по центру */
.nav__item-link { margin-right: 0; }
.nav__item-arrow { min-width: 40px; min-height: 40px; justify-content: center; cursor: pointer; }
/* Сенсорный экран: меню открывает касание (класс из site.js), а не «липкое» наведение. Сенсорный — «нет
   наведения» И «грубый указатель»: Chrome через удалённый рабочий стол Linux сообщает hover: none при мыши
   (pointer: fine) — там меню должно открываться наведением (этап 13) */
@media (hover: none) and (pointer: coarse) {
  .nav__item:hover .nav__item-sub { visibility: hidden; opacity: 0; }
  .nav__item.nav__item_open .nav__item-sub { visibility: visible; opacity: 1; }
}
/* Бренды (этап 8): список /nashi-brendy/ и страница бренда. Дерево разделов — <details>, без JS */
/* крошки брендов — свой класс: до 1440 px скрыты, как в каталоге; без них шапка (логотип, H1)
   отступает от меню сама (ревью задачи 3) */
.brands-crumbs { display: none; }
@media screen and (min-width: 1440px) {
  .brands-crumbs { display: block; padding-top: 12px; padding-bottom: 10px; border-bottom: 1px solid #e9e9e9; margin-bottom: 25px; }
}
.brands-index__title { margin: 30px 0 25px; }
.brands-page__letter-links { justify-content: flex-start; gap: 4px 0; margin-bottom: 30px; }
.brands-page__letter-link { padding: 0 12px; }
.brands-page__letter-link:hover { color: #014CE4; }
.letter-brands__item { color: #000; text-align: center; }
.letter-brands__item img { max-width: 100%; max-height: 80px; height: auto; }
.letter-brands__name { font-size: 16px; font-weight: 500; line-height: 22px; }
.brand-page__info { display: flex; align-items: flex-start; gap: 20px; margin: 30px 0 30px; }
@media screen and (min-width: 1440px) {
  .brands-index__title, .brand-page__info { margin-top: 10px; }
}
.brand-page__info .brand__logo { margin-right: 0; width: 200px; height: 110px; }
.brand-page__info .brand__logo img { width: auto; height: auto; max-width: 180px; max-height: 90px; }
.brand-page__title { margin-bottom: 12px; }
.brand-page__text { max-width: 900px; margin: 0; }
.brand-page__main { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 40px; }
.brand-page__tree { flex: 0 0 280px; border: 1px solid #EEF2F5; padding: 15px 18px; }
.brand-page__groups { flex: 1; min-width: 0; }
.brand-tree__title { font-weight: 600; font-size: 16px; cursor: pointer; margin-bottom: 10px; }
.brand-tree__list { list-style: none; margin: 0; padding: 0; }
.brand-tree__list .brand-tree__list { padding-left: 14px; }
.brand-tree__link { display: flex; justify-content: space-between; gap: 10px; color: #000; font-size: 14px; line-height: 20px; padding: 4px 0; }
.brand-tree__link:hover { color: #014CE4; }
.brand-tree__count { color: #8A8F94; flex: none; }
.brand-group { margin-bottom: 35px; }
.brand-group__title { margin-bottom: 15px; }
.brand-group__title a { color: #000; }
.brand-group__title a:hover { color: #014CE4; }
.brand-group .catalog__items { margin-bottom: 12px; }
.brand-group__more { color: #014CE4; font-weight: 500; }
/* этап 10: подпись-контекст плитки (пара тега, конечный раздел) вместо бренда */
a.product-card__caption { display: block; }
a.product-card__caption:hover { color: #014CE4; }
.section-groups { margin-top: 10px; margin-bottom: 20px; }
.brand-page__seo { margin-bottom: 50px; max-width: 900px; }
@media (min-width: 1200px) { .brand-group .catalog__item { flex: 0 1 25%; } }
@media (max-width: 991px) {
  .brand-page__main { display: block; }
  .brand-page__tree { margin-bottom: 25px; }
}
@media (max-width: 575px) {
  .brand-page__info { flex-direction: column; }
  .brand-page__info .brand__logo { width: 160px; height: 90px; }
  .brand-page__info .brand__logo img { max-width: 140px; max-height: 70px; }
}

/* Счётчик товаров у плитки подраздела (этап 8 — у «бренда в разделе», этап 13 — у любого раздела)
   виден и на широком экране */
@media screen and (min-width: 960px) {
  .section-grid__item-qnt_shown { display: block; font-size: 14px; color: #6B7280; }
}

/* «Все бренды в разделе» под листингом (этап 8) — плитки как в списке брендов, ниже ростом */
.section-brands { margin: 40px 0; }
.section-brands__title { margin-bottom: 20px; }
.section-brands__item { height: 90px; padding: 10px 20px; }
@media screen and (min-width: 1250px) { .section-brands__item { width: calc((100% + 6px) / 6); height: 90px; } }
.section-brands__item img { max-width: 120px; max-height: 60px; height: auto; }

/* карточка: «Этот товар относится к категориям» (этап 8) */
.info__categories { margin: 25px 0 10px; font-size: 14px; line-height: 22px; }
.info__categories-title { margin-top: 0; }   /* как «Описание» и «Характеристики» (h2), так было на старом сайте */
.info__categories-sep { color: #014CE4; }

/* страницы 404 и 500 (этап 9) */
.not-found { padding: 40px 0 70px; }
.not-found__title { margin-bottom: 20px; }
.not-found__text { font-size: 16px; line-height: 24px; margin-bottom: 20px; max-width: 760px; }
.not-found__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 40px; }
.not-found__actions .button { min-width: 180px; font-size: 16px; }
.not-found__phones { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 30px; margin-bottom: 20px; }
.not-found__phone { font-size: 21px; font-weight: 700; color: #000; }
.not-found__phone:hover { color: #014CE4; }
.not-found__note { color: #8A8F94; font-size: 14px; }
.not-found__social { display: flex; flex-wrap: wrap; gap: 12px 35px; }
.not-found__social .header__social-item { display: inline-flex; align-items: center; gap: 8px; color: #000; }
/* Статьи (этап 9): список /stati/ — те же карточки, что в блоке главной, но все видны и в сетку;
   страница статьи — дата и картинки в тексте (форматы картинок Wagtail: left, right, full-width) */
.articles_page .articles__list { gap: 20px; }
.articles_page .articles__item { width: 100%; margin: 0; padding: 0 0 20px; }
.articles_page .articles__item:first-child, .articles_page .articles__item:last-child { margin: 0; display: flex; }
@media screen and (min-width: 768px) {
  .articles_page .articles__item { width: calc((100% - 20px) / 2); }
}
@media screen and (min-width: 1440px) {
  .articles_page .articles__list { margin: 0; }
  .articles_page .articles__item { width: calc((100% - 40px) / 3); }
}
.article__date, .article-page__date { color: #7f7f7f; font-size: 14px; line-height: 20px; margin-bottom: 8px; }
.article-page__date { margin: -15px 0 25px; }
.article-page__body img { max-width: 100%; height: auto; border-radius: 7px; }
.article-page__body .richtext-image.full-width { display: block; margin: 20px 0; }
.article-page__body .richtext-image.left { float: left; max-width: 45%; margin: 5px 20px 15px 0; }
.article-page__body .richtext-image.right { float: right; max-width: 45%; margin: 5px 0 15px 20px; }
.article-page__body::after { content: ""; display: block; clear: both; }
@media screen and (max-width: 767px) {
  .article-page__body .richtext-image.left, .article-page__body .richtext-image.right { float: none; max-width: 100%; margin: 15px 0; }
}
/* Подписи к телефонам (этап 9): «звонок бесплатный» под номером */
.header__contacts-text {
  margin: -3px 0 5px;
  font-size: 13px;
  color: #636363;
}
.hm-container__section.header__contacts-text {
  margin-top: -10px;
}
.contacts__phone-note {
  color: #636363;
}

/* Карточка: «Габариты и вес» — строка-кнопка <details>, коробки нетто/брутто (решение 30.09) */
.dims { margin-top: 20px; }
.dims__toggle { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 10px 14px;
  border: 1px solid #CFD8FF; border-radius: 8px; background: #F4F7FF; color: #014CE4; font-weight: 600;
  cursor: pointer; list-style: none; }
.dims__toggle::-webkit-details-marker { display: none; }
.dims__toggle:focus-visible { outline: 2px solid #014CE4; outline-offset: 2px; }
.dims__icon, .dims__chev { flex: none; }
.dims__sum { order: 3; flex-basis: 100%; font-weight: 400; font-size: 13px; color: #555; }
.dims__chev { margin-left: auto; transition: transform var(--motion-base) var(--ease-out); }
.dims[open] .dims__chev { transform: rotate(180deg); }
.dims__body { margin-top: 10px; padding: 16px; border: 1px solid #E5E8F0; border-radius: 10px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 16px 20px; }
.dims__title { margin-bottom: 6px; }
.dims__title b { font-size: 15px; font-weight: 600; }
.dims__title span { display: block; color: #777; font-size: 12px; }
.dims__box { display: block; width: 100%; max-width: 210px; height: auto; margin: 0 auto 8px; }
.dims__face { fill: #FFF; stroke: #014CE4; stroke-width: 1.6; stroke-linejoin: round; }
.dims__face_side { fill: #EAF0FF; }
.dims__face_top { fill: #D6E1FF; }
.dims__col_gross .dims__face { stroke: #A06A1D; }
.dims__col_gross .dims__face_side { fill: #F7EFE2; }
.dims__col_gross .dims__face_top { fill: #EFE2C8; }
.dims__line { stroke: #F2A33A; stroke-width: 1.4; }
.dims__cap { font-size: 12px; font-weight: 600; fill: #C77A12; }
.dims__list { list-style: none; margin: 0; padding: 0; font-size: 13.5px; }
.dims__list li { display: flex; justify-content: space-between; gap: 8px; padding: 3px 0; border-bottom: 1px dotted #DFE3EA; }
.dims__list li:last-child { border-bottom: 0; }
.dims__list b { font-weight: 600; white-space: nowrap; }
.dims__list .dims__total { margin-top: 6px; padding-top: 6px; border-top: 1px solid #DFE3EA; color: #014CE4; }
@media screen and (min-width: 1440px) {
  .dims__body_two .dims__col + .dims__col { border-left: 1px solid #EEF0F5; padding-left: 20px; }
}

/* Этап 10: ряд тегов раздела. Кнопки «Показать всё» у нас нет — от 768px ряд переносится
   целиком (у темы на ≥1440px он обрезан одной строкой), на телефоне — прокручивается вбок, как у темы;
   текущий тег выделен. */
@media screen and (min-width: 768px) { .catalog__tags_all .catalog__tags-items { height: auto; flex-wrap: wrap; overflow: visible; } }
.catalog__tags-link.active-tag { color: #25282B; font-weight: 700; cursor: default; }

/* Оформление заказа (этап 11): цена и акция у способа доставки, справочная строка доставки в итоге */
.choose-delivery__price {
  font-weight: 400;
  white-space: nowrap;
}
.choose-delivery__promo {
  margin-top: 6px;
  padding-left: 25px;
  color: #2e8b3a;
  font-size: 14px;
}
/* «Сумма к оплате» с оценкой доставки (решение 01.10): подпись мелко под суммой, когда доставка по км */
.basket-order__submit-text [data-checkout-total] { color: #014CE4; }
.basket-order__submit-note { font-size: 13px; line-height: 18px; font-weight: 400; color: #777; margin-top: 4px; }
.basket-order__submit-note[hidden] { display: none; }

/* Формы обратной связи (этап 11): окно с прокруткой при длинной форме, многострочное поле,
   подсказки под полями, блок формы на «Контактах» */
.modal_form { width: 520px; max-height: calc(100vh - 30px); overflow-y: auto; }
.modal_form .modal-form { width: 100%; }
.site-form__intro, .site-form__product { margin-bottom: 15px; }
.site-form__help { margin: -4px 0 10px; font-size: 13px; color: #737373; }
.input_textarea { align-items: stretch; }
.input_textarea textarea.input__control { min-height: 96px; resize: vertical; font: inherit; }
.site-form-page .modal-form { max-width: 520px; margin-bottom: 40px; }
.contacts__feedback { margin-top: 20px; }
.contacts__feedback p { margin-bottom: 15px; }
@media screen and (max-width: 767px) {
  .modal_form { min-width: 0; width: calc(100% - 30px); padding: 45px 20px 25px; }
}
/* Оформление заказа, этап 12: корзина таблицей над формой; город — словами со ссылкой «Изменить»
   (без радиокнопок); подсказки адреса — выпадающий список под полем. */
.basket #cart + .checkout { margin-top: 40px; }
.checkout .choose-city__current { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin: 0 0 8px; }
.checkout .choose-city__name { font-size: 18px; font-weight: 600; }
.checkout .choose-city__change { font-size: 14px; }
.checkout .choose-city__note { color: #828282; font-size: 13px; margin: 6px 0 0; }
.checkout .choose-city_auto .choose-city__name { background: #FFF1C2; border-radius: 3px; padding: 0 3px; }
.address-suggest { position: relative; }
/* доставка и оплата на карточке товара по городу (владелец 29.10) */
.terms-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; }
.terms-list__item { display: flex; gap: 12px; align-items: flex-start; }
.terms-list__item[hidden] { display: none; }
.terms-list__icon { flex: none; width: 26px; height: 26px; margin-top: 1px; color: #014CE4; }
.terms-list__body { flex: 1; min-width: 0; }
.terms-list .terms-list__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; margin: 0; font-weight: 600; font-size: 16px; line-height: 1.4; color: #25282B; }
.terms-list__price { white-space: nowrap; }
.terms-list .terms-list__promo { margin: 2px 0 0; color: #1F9D55; font-size: 14px; }
.terms-list .terms-list__text { margin: 4px 0 0; color: #5b6570; font-size: 14px; line-height: 1.5; }
.terms-text .terms-list__city, .terms-list__city { margin: 16px 0 0; font-size: 14px; color: #5b6570; }
.city-form__note { margin: 0 0 12px; color: #5b6570; font-size: 14px; }
.city-form__error { margin: 0 0 6px; color: #D3281F; font-size: 14px; }
.city-form .address-suggest__list { left: -1px; right: -1px; top: 100%; }
.address-suggest__list { position: absolute; left: 0; right: 0; z-index: 20; max-height: 280px; overflow-y: auto; margin: 2px 0 0; padding: 4px 0; list-style: none; background: white; border: 1px solid #D6D6D6; border-radius: 4px; box-shadow: 0 6px 18px rgba(0, 0, 0, .12); }
.address-suggest__item { padding: 8px 12px; line-height: 1.35; cursor: pointer; }
.address-suggest__item:hover, .address-suggest__item_active { background: #EEF3FE; color: #014CE4; }
/* «Спасибо за покупку» (решение владельца 01.10): крупный заголовок с галочкой, состав плитками-строками,
   справа доставка/оплата и покупатель, ниже — «Если есть вопросы» и кнопки. Тексты — настройки сайта */
.thanks { padding: 30px 0 60px; }
.thanks__hero { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 35px; }
.thanks__mark { flex: none; color: #2e8b3a; }
.thanks .thanks__title { display: block; margin: 4px 0 10px; font-size: 34px; line-height: 1.15; }
.thanks__number { font-size: 18px; font-weight: 600; margin: 0 0 10px; }
.thanks__number-note { font-size: 14px; font-weight: 400; color: #8A8F94; }
.thanks__text { font-size: 16px; line-height: 24px; max-width: 760px; }
.thanks__text p { margin: 0 0 8px; }
.thanks__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 25px; margin-bottom: 25px; }
.thanks__side { display: grid; gap: 25px; align-content: start; }
.thanks__card { border: 1px solid #E3E9EE; border-radius: 8px; padding: 22px 24px; background: #fff; }
.thanks__card-title { font-size: 19px; font-weight: 700; margin: 0 0 14px; }
.thanks__lines { border-top: 1px solid #EEF2F5; }
.thanks-line { display: grid; grid-template-columns: 80px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid #EEF2F5; }
.thanks-line picture, .thanks-line__img { display: block; width: 80px; height: 64px; object-fit: contain; }
.thanks-line picture img { width: 80px; height: 64px; object-fit: contain; }
.thanks-line__title { display: block; font-size: 15px; font-weight: 500; color: #424651; margin-bottom: 5px; }
.thanks-line__meta { font-size: 13px; color: #808080; }
.thanks-line__sum { font-size: 17px; font-weight: 700; white-space: nowrap; text-align: right; }
.thanks-line__ask { font-size: 13px; font-weight: 400; color: #B07A00; white-space: normal; }
.thanks__totals { margin: 16px 0 6px; }
.thanks__totals > div, .thanks__facts > div { display: flex; justify-content: space-between; gap: 16px; padding: 5px 0; }
.thanks__totals dt, .thanks__facts dt { color: #808080; }
.thanks__totals dd, .thanks__facts dd { margin: 0; text-align: right; }
.thanks__facts dd { max-width: 70%; overflow-wrap: anywhere; }
.thanks__grand { border-top: 1px solid #D5DFE7; margin-top: 6px; padding-top: 12px !important; font-size: 21px; font-weight: 700; }
.thanks__grand dt { color: inherit !important; }
.thanks__grand dd { color: #014CE4; }
.thanks__muted { font-size: 13px; color: #8A8F94; font-weight: 400; margin: 0; }
.thanks__help { margin-bottom: 30px; }
.thanks__help-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px 40px; }
.thanks__phones { display: grid; gap: 6px; }
.thanks__phone { font-size: 21px; font-weight: 700; color: #000; text-decoration: none; }
.thanks__phone:hover { color: #014CE4; }
.thanks__social { display: flex; flex-wrap: wrap; gap: 12px 30px; align-items: center; }
.thanks__social .header__social-item { display: inline-flex; align-items: center; gap: 8px; color: #000; }
.thanks__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.thanks__actions .button { min-width: 200px; font-size: 16px; text-decoration: none; }
@media (min-width: 992px) {
  .thanks__grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 30px; }
}
@media (max-width: 575px) {
  .thanks__hero { gap: 14px; }
  .thanks__mark { width: 40px; height: 40px; }
  .thanks .thanks__title { font-size: 26px; }
  .thanks__card { padding: 18px 16px; }
  .thanks-line { grid-template-columns: 64px minmax(0, 1fr); }
  .thanks-line picture, .thanks-line__img, .thanks-line picture img { width: 64px; height: 52px; }
  .thanks-line__sum { grid-column: 2; text-align: left; }
  .thanks__facts > div { flex-direction: column; gap: 2px; }
  .thanks__facts dd { max-width: none; text-align: left; }
  .thanks__actions .button { width: 100%; }
}

/* Картинка раздела на плитке (этап 13): <picture> вместо фона старого сайта, размер — у .section-grid__item-pic */
.section-grid__item-pic picture { display: block; width: 100%; height: 100%; }
.section-grid__item-pic img { display: block; width: 100%; height: 100%; object-fit: contain; }
/* узкий экран: плитки в одну колонку, как на старом сайте (с картинкой 169 px две колонки не помещаются);
   minmax(0, …) — колонка не распирается содержимым */
@media screen and (max-width: 959px) {
  .section-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media screen and (max-width: 575px) {
  .section-grid { grid-template-columns: minmax(0, 1fr); }
  .section-grid__item,
  .section-grid__item:nth-child(6n+1),
  .section-grid__item:nth-child(6n+2) { grid-column: 1 / -1; }
  /* все плитки — как первые две: название слева, картинка 126 px справа (раньше 3-я и дальше — картинкой
     под названием, лента разнобойная) */
  .section-grid__item { flex-direction: row; justify-content: space-between; gap: 10px; }
  .section-grid .section-grid__item .section-grid__item-pic { width: 126px; height: 126px; flex: 0 0 126px; }
}
/* Картинка раздела — во всю свою зону, без полей (владелец 29.10): у плиток «название слева» — правая часть
   на всю высоту, у плиток «название сверху» — низ во всю ширину; картинка (поля уже срезаны при нарезке) вписана
   целиком, без обрезки (владелец 29.10, вечер: «не нравится сам факт обрезки»): справа по центру / по низу по центру.
   Поля плитки — переменные: картинка выходит на них отрицательными отступами, углы режет overflow плитки.
   :nth-child(n) — вес выше правил размеров выше (0,4,0 у block-N), иначе 126/169/315 px перебили бы зону. */
.section-grid__item { --tile-py: 15px; --tile-px: 20px; overflow: hidden; }
.section-grid__item-info { flex: 1 1 auto; min-width: 0; }
.section-grid .section-grid__item:nth-child(n) .section-grid__item-pic {
  position: relative; width: auto; height: auto; align-self: stretch;
  flex: 1 0 160px; margin: 0 calc(-1 * var(--tile-px)) calc(-1 * var(--tile-py));
}
.section-grid__item-pic picture,
.section-grid__item-pic img { position: absolute; inset: 0; }
.section-grid__item-pic img { object-fit: contain; object-position: center bottom; }
.section-grid .section-grid__item:nth-child(6n+1) .section-grid__item-pic img,
.section-grid .section-grid__item:nth-child(6n+2) .section-grid__item-pic img { object-position: right center; }
.section-grid .section-grid__item:nth-child(6n+1) .section-grid__item-pic,
.section-grid .section-grid__item:nth-child(6n+2) .section-grid__item-pic {
  flex: 0 0 45%; min-height: 220px; margin: calc(-1 * var(--tile-py)) calc(-1 * var(--tile-px)) calc(-1 * var(--tile-py)) 0;
}
@media screen and (min-width: 960px) {
  .section-grid__item { --tile-py: 30px; --tile-px: 30px; }
  .section-grid .section-grid__item:nth-child(n) .section-grid__item-pic { flex-basis: 200px; }
  .section-grid .section-grid__item:nth-child(6n+1) .section-grid__item-pic,
  .section-grid .section-grid__item:nth-child(6n+2) .section-grid__item-pic,
  .section-grid.block-4-elements .section-grid__item:nth-child(6n+3) .section-grid__item-pic,
  .section-grid.block-4-elements .section-grid__item:nth-child(6n+4) .section-grid__item-pic {
    flex: 0 0 50%; min-height: 229px; margin: calc(-1 * var(--tile-py)) calc(-1 * var(--tile-px)) calc(-1 * var(--tile-py)) 0;
  }
  .section-grid.block-3-elements .section-grid__item:nth-child(n) .section-grid__item-pic {
    flex: 1 0 200px; min-height: 0; margin: 0 calc(-1 * var(--tile-px)) calc(-1 * var(--tile-py));
  }
  .section-grid.block-4-elements .section-grid__item:nth-child(6n+3) .section-grid__item-pic img,
  .section-grid.block-4-elements .section-grid__item:nth-child(6n+4) .section-grid__item-pic img { object-position: right center; }
  .section-grid.block-3-elements .section-grid__item:nth-child(n) .section-grid__item-pic img { object-position: center bottom; }
}
@media screen and (max-width: 959px) {
  .section-grid { grid-template-rows: none; }      /* первый ряд был 180 px — высоту даёт зона картинки */
}
@media screen and (max-width: 575px) {
  .section-grid .section-grid__item:nth-child(n) .section-grid__item-pic {
    flex: 0 0 45%; min-height: 156px; margin: calc(-1 * var(--tile-py)) calc(-1 * var(--tile-px)) calc(-1 * var(--tile-py)) 0;
  }
  .section-grid .section-grid__item:nth-child(n) .section-grid__item-pic img { object-position: right center; }
}

/* Мега-меню (этап 13): плавное появление — прозрачность и сдвиг снизу, 180 мс, только CSS.
   Задержка открытия 120 мс и закрытия 200 мс — меню не мигает, когда мышь проходит по шапке, и
   не закрывается, если по пути к выпадашке задеть соседний пункт. Открывающаяся выпадашка — выше
   закрывающейся. visibility переключается без анимации: на открытии — вместе с началом появления,
   на закрытии — когда прозрачность уже дошла до нуля (невидимая выпадашка не ловит мышь). */
.nav__item-sub {
  z-index: 30;             /* выше плиток страницы (подсказка «i» — 9, карточки — до 20) */
  transform: translateY(8px);
  transition: opacity var(--motion-base) var(--ease-out) 200ms, transform var(--motion-base) var(--ease-out) 200ms, visibility 0s linear 400ms;
}
.nav__item:hover .nav__item-sub,
.nav__item_open .nav__item-sub {
  transform: none;
  z-index: 31;
  transition: opacity var(--motion-base) var(--ease-out) 120ms, transform var(--motion-base) var(--ease-out) 120ms, visibility 0s linear 120ms;
}
/* открыто нажатием (стрелка, клавиатура, касание) — сразу, без задержки */
.nav__item_open .nav__item-sub {
  transition: opacity var(--motion-base) var(--ease-out), transform var(--motion-base) var(--ease-out), visibility 0s;
}
/* подсказка браузеру — только пока мышь над меню, а не постоянно */
.nav__list:hover .nav__item-sub { will-change: opacity, transform; }
@media (hover: none) and (pointer: coarse) {
  /* сенсорный экран: открывает и закрывает касание — без задержек */
  .nav__item-sub { transition: opacity var(--motion-base) var(--ease-out), transform var(--motion-base) var(--ease-out), visibility 0s linear var(--motion-base); }
  .nav__item:hover .nav__item-sub { transform: translateY(8px); }
  .nav__item.nav__item_open .nav__item-sub { transform: none; transition: opacity var(--motion-base) var(--ease-out), transform var(--motion-base) var(--ease-out), visibility 0s; }
}
@media (prefers-reduced-motion: reduce) {
  /* без анимации: выпадашка появляется и исчезает сразу, задержки против мигания остаются */
  .nav__item-sub,
  .nav__item:hover .nav__item-sub,
  .nav__item_open .nav__item-sub { transform: none; }
  .nav__item-sub { transition: opacity 0s linear 200ms, visibility 0s linear 200ms; }
  .nav__item:hover .nav__item-sub { transition: opacity 0s linear 120ms, visibility 0s linear 120ms; }
  .nav__item_open .nav__item-sub,
  .nav__item.nav__item_open .nav__item-sub { transition: none; }
}

/* ==========================================================================
   Кабинет (этап 14): вход по коду, «Мои заказы», заказ со шкалой, «Мои данные».
   Сначала телефон (390 px); от 992 px меню кабинета — колонкой слева. Карточки и строки состава —
   классы страницы «Спасибо» (thanks__card, thanks-line), поля — как в оформлении (order-form__field-input).
   ========================================================================== */
.lk { padding-top: 20px; padding-bottom: 50px; }
.lk__title { font-size: 26px; font-weight: 500; line-height: 1.2; margin: 0 0 18px; }
.lk-back { display: inline-block; font-size: 14px; margin-bottom: 10px; }
.lk__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.lk__main { min-width: 0; }

/* вход и код — карточка по центру */
.lk-auth { display: flex; justify-content: center; }
.lk-auth__card { width: 100%; max-width: 440px; padding: 26px 20px 28px; border-radius: 7px; background: #fff; box-shadow: 0 4px 13px rgba(79, 94, 100, 0.12); }
.lk-auth__card .lk__title { font-size: 24px; margin-bottom: 12px; }
.lk-auth__lead { color: #4B4F58; line-height: 22px; margin: 0 0 20px; }
.lk-auth__phone { font-weight: 600; color: #000; white-space: nowrap; }

/* поля и кнопки форм кабинета */
.lk-form .order-form__field { margin-bottom: 18px; }
.lk-form .order-form__field-input { max-width: none; padding-top: 14px; padding-bottom: 14px; }
.lk-form__label { display: block; margin-bottom: 6px; font-size: 14px; color: #737373; }
.lk-form__textarea { display: block; width: 100%; height: 90px; resize: vertical; font: inherit; }
.lk-form__agree { margin: 4px 0 22px; font-size: 13px; line-height: 19px; color: #4B4F58; }
.lk-form__submit { width: 100%; padding: 15px 14px; }
.lk-form__hint { margin: 0 0 20px; color: #737373; }
.lk-phone { font-size: 18px; font-weight: 600; }
.lk-form .lk-code { padding: 0; overflow: hidden; }
.lk-code .lk-code__control { height: 56px; border-radius: 6px; background: transparent; padding: 0 0 0 0.45em; font-size: 26px; font-weight: 600; letter-spacing: 0.45em; text-align: center; font-variant-numeric: tabular-nums; }
.lk-resend { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 0; margin-top: 18px; font-size: 14px; }
.lk-resend__button { padding: 0; border: 0; background: none; font: inherit; color: #014CE4; cursor: pointer; }
.lk-resend__button:disabled { color: #8A8F94; cursor: default; }
.lk-resend__wait { margin-left: 5px; color: #8A8F94; }
.lk-resend__wait[hidden] { display: none; }

/* плашки: ошибка, «недоступно», сообщения (и в корзине после «Повторить заказ») */
.lk-notes { display: grid; gap: 10px; margin-bottom: 18px; }
.lk-notes .lk-note { margin: 0; }
.lk-note { margin: 0 0 18px; padding: 12px 16px; border-left: 4px solid #014CE4; border-radius: 7px; background: #EEF3FE; font-size: 15px; line-height: 21px; }
.lk-note_error { border-color: #FA4451; background: #FDECEE; color: #7A1820; }
.lk-note_warning { border-color: #F2A33A; background: #FFF6DB; color: #5C4300; }
.lk-note_success { border-color: #2E8B3A; background: #E8F5EA; color: #1D5E27; }
.lk-note .link { white-space: nowrap; }

/* меню кабинета: на телефоне — приветствие и строка «таблеток» */
.lk-nav__hello { margin: 0 0 10px; font-size: 15px; color: #4B4F58; }
.lk-nav__links { display: flex; align-items: center; gap: 8px; }
.lk-nav__link { display: inline-flex; align-items: center; flex: none; padding: 9px 14px; border: 0; border-radius: 20px; background: #EEF2F5; color: #182532; font: inherit; font-size: 14px; font-weight: 500; line-height: 18px; cursor: pointer; }
.lk-nav__link:hover { color: #014CE4; }
.lk-nav__link_active, .lk-nav__link_active:hover { background: #014CE4; color: #fff; }
.lk-nav__logout { display: flex; margin: 0 0 0 auto; }
.lk-nav .lk-nav__link_out { background: none; color: #737373; padding-right: 0; }

/* «Мои заказы»: карточка целиком — ссылка на заказ */
.lk-orders { display: grid; gap: 14px; }
.lk-order { position: relative; padding: 16px; border: 1px solid #E3E9EE; border-radius: 8px; background: #fff; transition: border-color var(--motion-fast); }
.lk-order_link:hover { border-color: #CFD8FF; box-shadow: 0 4px 13px rgba(79, 94, 100, 0.12); }
.lk-order__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 12px; margin-bottom: 14px; }
.lk-order__title { margin: 0; font-size: 17px; font-weight: 600; line-height: 1.3; }
.lk-order__link { color: #000; }
.lk-order__link::after { content: ""; position: absolute; inset: 0; border-radius: 8px; }
.lk-order_link:hover .lk-order__link { color: #014CE4; }
.lk-order__link:focus-visible { outline: none; }
.lk-order__link:focus-visible::after { outline: 2px solid #014CE4; outline-offset: 2px; }
.lk-order__body { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.lk-order__thumbs { display: flex; align-items: center; gap: 6px; min-width: 0; }
.lk-order__thumbs picture, .lk-order__thumbs > .lk-order__thumb { display: block; flex: none; width: 48px; height: 48px; border: 1px solid #EEF2F5; border-radius: 6px; background: #fff; object-fit: contain; overflow: hidden; }
.lk-order__thumbs picture .lk-order__thumb { display: block; width: 100%; height: 100%; object-fit: contain; }
.lk-order__more { margin-left: 4px; font-size: 13px; color: #737373; white-space: nowrap; }
.lk-order__total { margin-left: auto; font-size: 18px; font-weight: 700; white-space: nowrap; }
.lk-empty { padding: 30px 20px; border: 1px dashed #D5DFE7; border-radius: 8px; text-align: center; }
.lk-empty__text { margin: 0 0 16px; font-size: 17px; }
.lk-empty .button { text-decoration: none; }

/* статус заказа — плашка с точкой цвета шага */
.lk-status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 14px; background: #EEF2F5; color: #4B4F58; font-size: 13px; font-weight: 600; line-height: 18px; white-space: nowrap; }
.lk-status::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.lk-status_accepted, .lk-status_queued { background: #FFF6DB; color: #8A6100; }
.lk-status_work { background: #EEF3FE; color: #014CE4; }
.lk-status_shipped { background: #E4F4F7; color: #0A6E7E; }
.lk-status_received { background: #E8F5EA; color: #2E7D3A; }
.lk-status_cancelled { background: #F1F2F4; color: #737373; }

/* заказ: статус под заголовком, шкала из четырёх шагов, карточки как на «Спасибо» */
.lk-order-status { margin: -8px 0 16px; }
.lk-scale { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 25px; padding: 18px 6px 16px; border: 1px solid #E3E9EE; border-radius: 8px; list-style: none; }
.lk-scale__step { position: relative; padding-top: 32px; color: #8A8F94; font-size: 13px; line-height: 17px; text-align: center; }
.lk-scale__step::before { content: ""; position: absolute; z-index: 1; top: 0; left: 50%; box-sizing: border-box; width: 22px; height: 22px; margin-left: -11px; border: 2px solid #D5DFE7; border-radius: 50%; background: #fff no-repeat center / 11px 9px; }
.lk-scale__step::after { content: ""; position: absolute; top: 10px; right: 50%; width: 100%; height: 2px; background: #D5DFE7; }
.lk-scale__step:first-child::after { display: none; }
.lk-scale__step.is-done { color: #182532; }
.lk-scale__step.is-done::before { border-color: #014CE4; background-color: #014CE4; background-image: url("data:image/svg+xml,%3Csvg width='11' height='9' viewBox='0 0 11 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.83366 1.25L3.87533 7.20833L1.16699 4.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A"); }
.lk-scale__step.is-done::after { background: #014CE4; }
.lk-scale__step[aria-current] { color: #014CE4; font-weight: 600; }
.lk-scale__step[aria-current]::before { box-shadow: 0 0 0 5px rgba(1, 76, 228, 0.15); }
.lk-actions { display: grid; gap: 10px; }
.lk-actions form { margin: 0; }
.lk-actions__button { width: 100%; text-decoration: none; }
.lk-actions .thanks__muted { margin: -2px 0 6px; }

/* «Мои данные» и удаление */
.lk-card { max-width: 640px; }
.lk-card__text { margin: 0 0 12px; line-height: 22px; }
.lk-card__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.lk-card__actions form { margin: 0; }
.lk-card__actions .button { min-width: 180px; text-decoration: none; }
.lk-button_danger { background-color: #E5343F; }
.lk-button_danger:hover { background-color: #F04650; }
.lk-danger { margin: 20px 0 0; }
.lk-danger__link { color: #8A8F94; font-size: 14px; text-decoration: underline; }
.lk-danger__link:hover { color: #E5343F; }

/* шапка: «Кабинет» — справа в верхней полосе (правки 12.10); значок — i-user из спрайта (чёрный) */
.header__top-item.header__top-item_cabinet { margin-left: auto; }
.header__top-item_cabinet svg { flex: none; }

@media (max-width: 575px) {
  .lk-card__actions > *, .lk-card__actions .button { width: 100%; }
}
@media (min-width: 768px) {
  .lk-auth__card { padding: 36px 40px 40px; }
  .lk-order { padding: 20px 24px; }
  .lk-order__thumbs picture, .lk-order__thumbs > .lk-order__thumb { width: 64px; height: 64px; }
  .lk-scale { padding: 22px 10px 18px; }
  .lk-scale__step { font-size: 15px; }
  .lk-card .lk-form__submit { width: auto; min-width: 220px; }
}
@media (min-width: 992px) {
  .lk { padding-top: 30px; padding-bottom: 70px; }
  .lk__title { font-size: 30px; margin-bottom: 22px; }
  .lk__layout { grid-template-columns: 250px minmax(0, 1fr); gap: 40px; align-items: start; }
  .lk-nav { padding: 22px 18px; border-radius: 7px; box-shadow: 0 4px 13px rgba(79, 94, 100, 0.12); }
  .lk-nav__hello { margin-bottom: 14px; padding: 0 12px; font-size: 17px; font-weight: 600; color: #000; }
  .lk-nav__links { flex-direction: column; align-items: stretch; gap: 2px; }
  .lk-nav__link { display: flex; width: 100%; padding: 10px 12px; border-radius: 6px; background: none; font-size: 15px; text-align: left; }
  .lk-nav__link_active, .lk-nav__link_active:hover { background: #EEF3FE; color: #014CE4; }
  .lk-nav__logout { margin: 10px 0 0; padding-top: 10px; border-top: 1px solid #EEF2F5; }
  .lk-nav .lk-nav__link_out { padding-left: 12px; }
}

/* Поиск (этап 15) */
/* шапка компьютера: поле на синей полосе между меню и значками */
.header-search { position: relative; display: flex; align-items: center; flex: 1 1 300px; min-width: 0; max-width: 320px; margin: 0 28px 0 auto; }
.header-search__input { width: 100%; height: 41px; padding: 0 48px 0 14px; border: 0; border-radius: 5px; background: #fff; color: #000; font-size: 15px; outline: none; -webkit-appearance: none; appearance: none; }
.header-search__input::placeholder { color: #8A8F94; }
.header-search__input:focus { box-shadow: 0 0 0 2px #7FA6F2; }
.header-search__input::-webkit-search-cancel-button { cursor: pointer; }
.header-search .header-search__button { position: absolute; top: 3px; right: 3px; display: flex; align-items: center; justify-content: center; width: 35px; height: 35px; margin: 0; border: 0; border-radius: 4px; background: #014CE4; cursor: pointer; }
.header-search .header-search__button svg { width: 17px; height: 17px; }
.header-search .header-search__button:hover { background: #0154fd; }
.header-search__suggest { position: absolute; top: calc(100% + 8px); right: 0; z-index: 60; width: 560px; max-height: calc(100vh - 140px); overflow-y: auto; border-radius: 7px; background: #fff; box-shadow: 0 8px 28px rgba(24, 37, 50, 0.18); }
.header-search__suggest:empty, .header-search__suggest[hidden] { display: none; }
/* от 1440: место для поля берётся у поля, а не у меню — пункты меню в одну строку, как до этапа 15 (правки 12.10) */
@media (min-width: 1440px) {
  .header__bottom .nav__item-link { white-space: nowrap; }
  /* поле — 200 px, подсказка в поле видна целиком: значки сравнения и избранного чуть плотнее (35 → 24), отступ поля справа 28 → 16 */
  .header__bottom > .header__button { margin-right: 24px; }
  .header-search { margin-right: 16px; }
  .header-search__input { padding: 0 42px 0 12px; }
}
/* 992–1439: поле свёрнуто в лупу и раскрывается по фокусу влево поверх меню (без JS — :focus-within) */
@media (min-width: 992px) and (max-width: 1439.98px) {
  .header-search { flex: none; width: 41px; height: 41px; margin: 0 24px 0 auto; }
  .header-search__input { position: absolute; top: 0; right: 0; z-index: 2; width: 41px; padding: 0; background: rgba(255, 255, 255, 0.16); color: transparent; cursor: pointer; }
  .header-search__input::placeholder { color: transparent; }
  .header-search .header-search__button { z-index: 3; pointer-events: none; background: none; }
  .header-search:focus-within .header-search__input { width: 400px; padding: 0 48px 0 14px; background: #fff; color: #000; cursor: text; }
  .header-search:focus-within .header-search__input::placeholder { color: #8A8F94; }
  .header-search:focus-within .header-search__button { pointer-events: auto; background: #014CE4; }
  .header-search__suggest { width: 480px; }
}

/* телефон: лупа открывает поле поверх шапки на всю ширину */
.header-mobile { position: relative; }
.srch-mobile { position: absolute; inset: 0; z-index: 70; display: flex; align-items: center; gap: 6px; padding: 0 6px 0 10px; background: #fff; box-shadow: 0 4px 4px rgba(0, 0, 0, 0.06); }
.srch-mobile[hidden] { display: none; }
.srch-mobile__input { flex: 1; min-width: 0; height: 39px; padding: 0 12px; border: 1px solid #D5DCE3; border-radius: 5px; background: #fff; font-size: 16px; outline: none; -webkit-appearance: none; appearance: none; }
.srch-mobile__input:focus { border-color: #014CE4; }
.srch-mobile__go, .srch-mobile__close { display: flex; flex: none; align-items: center; justify-content: center; width: 39px; height: 39px; padding: 0; border: 0; border-radius: 5px; cursor: pointer; }
.srch-mobile__go { background: #014CE4; }
.srch-mobile__go svg { width: 18px; height: 18px; filter: brightness(0) invert(1); }
.srch-mobile__close { background: none; color: #636363; font-size: 30px; line-height: 1; }
.srch-mobile .header-search__suggest { position: fixed; top: 51px; left: 0; right: 0; width: auto; max-height: calc(100vh - 51px); max-height: calc(100dvh - 51px); border-radius: 0; box-shadow: 0 12px 24px rgba(24, 37, 50, 0.18); }

/* подсказки */
.search-suggest { padding: 6px 0; font-size: 14px; line-height: 18px; }
.search-suggest__group + .search-suggest__group, .search-suggest__group + .search-suggest__all { border-top: 1px solid #EEF2F5; }
.search-suggest__group { padding: 4px 0; }
.search-suggest__item { display: block; padding: 8px 16px; color: #000; text-decoration: none; }
.search-suggest__item:hover, .search-suggest__item_active { background: #EEF3FE; }
.search-suggest__section, .search-suggest__brand { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.search-suggest__section::before, .search-suggest__brand::before { flex: none; padding: 2px 6px; border-radius: 4px; background: #EEF2F5; color: #636363; font-size: 11px; font-weight: 500; line-height: 14px; }
.search-suggest__section::before { content: "Раздел"; }
.search-suggest__brand::before { content: "Бренд"; }
.search-suggest__product { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; grid-template-areas: "photo name price" "photo sku price"; column-gap: 12px; align-items: center; }
.search-suggest__photo { grid-area: photo; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; overflow: hidden; border-radius: 4px; background: #F7F9FA; }
.search-suggest__photo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.search-suggest__name { grid-area: name; align-self: end; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.search-suggest mark, .search-results mark { padding: 0; background: none; color: inherit; font-weight: 700; }
.search-suggest__sku { grid-area: sku; align-self: start; color: #8A8F94; font-size: 12px; }
.search-suggest__code { padding: 0 5px; border-radius: 3px; background: #E6F6EC; color: #1B8A4B; font-weight: 600; }
.search-suggest__price { grid-area: price; white-space: nowrap; font-weight: 600; text-align: right; }
.search-suggest__note { margin: 4px 16px 6px; padding: 6px 10px; border-radius: 5px; background: #FFF6E0; color: #6B5300; font-size: 13px; }
.search-suggest__all { padding: 12px 16px; color: #014CE4; font-weight: 600; }
.search-suggest_empty { padding: 14px 0 8px; }
.search-suggest__text { margin: 0 16px 4px; color: #636363; }
.search-suggest_empty .search-suggest__item { color: #014CE4; font-weight: 600; }
@media (max-width: 575.98px) {
  .search-suggest__product { grid-template-columns: 44px minmax(0, 1fr); grid-template-areas: "photo name" "photo sku" "photo price"; }
  .search-suggest__photo { width: 44px; height: 44px; }
  .search-suggest__price { text-align: left; font-size: 13px; }
}

/* страница результатов */
.search-page { padding-bottom: 50px; }
.search-page__title { word-break: break-word; }
.search-page__form { display: flex; gap: 8px; max-width: 640px; margin: 0 0 20px; }
.search-page__input { flex: 1; min-width: 0; height: 48px; padding: 0 14px; border: 1px solid #D5DCE3; border-radius: 5px; background: #fff; font-size: 16px; outline: none; -webkit-appearance: none; appearance: none; }
.search-page__input:focus { border-color: #014CE4; }
.search-page__button { flex: none; min-width: 110px; border: 0; }
.search-page__layout, .search-page__partial, .search-page__refine { max-width: 860px; margin: 0 0 20px; padding: 12px 16px; border-radius: 7px; font-size: 15px; line-height: 22px; }
.search-page__layout { background: #EEF3FE; }
.search-page__partial { background: #FFF6E0; }
.search-page__refine { background: #EEF2F5; }
.search-page__layout a, .search-page__partial a { color: #014CE4; font-weight: 600; white-space: nowrap; }
.search-results { display: block; }
.search-results__sections { display: flex; gap: 8px; margin: 0 -15px 20px; padding: 0 15px 4px; overflow-x: auto; scrollbar-width: none; }
.search-results__sections::-webkit-scrollbar { display: none; }
.search-results__section { display: inline-flex; flex: none; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 5px; background: #EEF2F5; color: #000; font-size: 14px; line-height: 18px; text-decoration: none; white-space: nowrap; }
.search-results__section:hover { color: #014CE4; }
.search-results__section.active { background: #014CE4; color: #fff; }
.search-results__section-count { color: #8A8F94; font-size: 13px; }
.search-results__section.active .search-results__section-count { color: rgba(255, 255, 255, 0.8); }
.search-results__main { min-width: 0; }
.search-results__main .catalog__count { margin-bottom: 12px; }
.search-results__none { padding: 20px 0; font-size: 15px; }
.search-results__none a { color: #014CE4; }
@media (min-width: 992px) {
  .search-results { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 30px; align-items: start; }
  .search-results__sections { flex-direction: column; gap: 2px; margin: 0; padding: 16px 10px; overflow: visible; border-radius: 7px; box-shadow: 0 4px 13px rgba(79, 94, 100, 0.12); }
  .search-results__section { justify-content: space-between; padding: 9px 12px; background: none; white-space: normal; }
  .search-results__section:hover { background: #EEF3FE; color: #000; }
  .search-results__section.active { background: #EEF3FE; color: #014CE4; font-weight: 600; }
  .search-results__section.active .search-results__section-count { color: #014CE4; }
}

/* ничего не нашлось */
.search-empty { max-width: 860px; }
.search-empty__title { margin-bottom: 10px; }
.search-empty__text { margin: 0 0 10px; color: #3A3F44; font-size: 15px; line-height: 22px; }
.search-empty__text a { color: #014CE4; }
.search-empty__similar, .search-empty__popular { margin: 20px 0; }
.search-empty__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.search-empty__list a { display: inline-block; padding: 8px 12px; border-radius: 5px; background: #EEF2F5; color: #000; font-size: 14px; text-decoration: none; }
.search-empty__list a:hover { background: #EEF3FE; color: #014CE4; }

/* 404: поле поиска */
.not-found__search { margin-bottom: 30px; }

/* ===== Галерея (этап 16): квадратная сцена с фоном «В», лента миниатюр слева поверх фото, точки и листание
   пальцем на телефоне (< 768), просмотр по щелчку (.gal-box). Белый фон фото растворяется в фоне сцены
   (mix-blend-mode: multiply), вырезки не нужны. Лента — 56×56 + подложка 4 px.
   Правки 12.10: фото по центру почти на всю сцену (поля 3 %), лента — поверх фото, полупрозрачная; стикеры и код —
   одной строкой наверху (.gal__top): стикеры правее ленты, код в правом верхнем углу. */
.gal { --gal-rail-x: 12px; --gal-rail-w: 64px; --gal-photo-left: calc(var(--gal-rail-x) + var(--gal-rail-w) + 12px); }
.gal__stage {
  position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; isolation: isolate; border-radius: 7px;
  background: radial-gradient(ellipse 70% 65% at 50% 45%, #fff 0, #fff 55%, #eef1f5 100%);
  box-shadow: inset 0 0 0 1px rgba(24, 37, 50, 0.05), inset 0 2px 18px rgba(24, 37, 50, 0.07);
}
.gal__track { position: absolute; inset: 0; }
.gal__slide { position: absolute; inset: 3%; display: flex; align-items: center; justify-content: center; cursor: zoom-in; }
.gal__slide[hidden] { display: none; }
.gal__slide_empty { cursor: default; }
.gal__slide picture, .gal__thumb picture { display: contents; }
.gal__img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.gal__top {
  position: absolute; top: 12px; left: 12px; right: 12px; z-index: 2; display: flex; align-items: flex-start; gap: 8px;
  pointer-events: none;
}
.gal__stage_rail .gal__top { left: var(--gal-photo-left); }
.gal__stickers { display: flex; flex-wrap: wrap; gap: 5px; min-width: 0; }
.gal .gal__code { flex: none; margin-left: auto; padding: 6px 10px; border-radius: 3px; font-size: 14px; line-height: 18px; }
.gal__rail {
  position: absolute; left: var(--gal-rail-x); top: 50%; z-index: 3; transform: translateY(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 4px; box-sizing: border-box;
  width: var(--gal-rail-w); max-height: calc(100% - 24px); padding: 4px; border-radius: 10px;
  background: rgba(255, 255, 255, 0.55); box-shadow: 0 2px 10px rgba(24, 37, 50, 0.08);
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
/* пять миниатюр (5 × 56 + 4 × 8), остальные — прокруткой внутри ленты */
.gal__rail-list {
  position: relative; display: flex; flex: 0 1 auto; flex-direction: column; gap: 8px; min-height: 0; max-height: 312px;
  overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none;
}
.gal__rail-list::-webkit-scrollbar { display: none; }
.gal__thumb {
  flex: none; display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 56px; height: 56px;
  padding: 3px; border: 2px solid transparent; border-radius: 6px; background: #fff; opacity: 0.55;
}
.gal__thumb img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.gal__thumb_active { border-color: #014CE4; opacity: 1; }
.gal__thumb:focus-visible, .gal__slide:focus-visible, .gal__rail-step:focus-visible { outline: 2px solid #014CE4; outline-offset: 1px; }
.gal__rail-step {
  flex: none; display: flex; align-items: center; justify-content: center; width: 56px; height: 22px; padding: 0;
  border: 0; border-radius: 5px; background: none; color: #182532; cursor: pointer;
}
.gal__rail-step:disabled { opacity: 0.3; cursor: default; }
.gal__dots { display: none; justify-content: center; gap: 6px; margin-top: 12px; }
.gal__dot { width: 6px; height: 6px; border-radius: 3px; background: #C9D0D8; }
.gal__dot_active { width: 16px; background: #014CE4; }
/* наведение — по правилу этапа 13: у всех, кроме сенсорного экрана (не «hover: none И pointer: coarse»; Chrome через
   удалённый рабочий стол Linux сообщает hover: none при мыши); «уменьшить движение» — без анимации (ниже) */
@media not all and (hover: none) and (pointer: coarse) {
  .gal__img { transition: transform var(--motion-base) var(--ease-out); }
  .gal__slide:hover .gal__img { transform: scale(1.03) rotate(-1deg); }
  .gal__thumb { transition: opacity var(--motion-fast) var(--ease-out); }
  .gal__thumb:hover { opacity: 1; }
  .gal__thumb:not(.gal__thumb_active):hover { border-color: #9DB6F2; }
  .gal__rail-step:not(:disabled):hover { color: #014CE4; }
  .gal-box__close:hover, .gal-box__step:hover { background: rgba(24, 37, 50, 0.8); }
}
@media (prefers-reduced-motion: reduce) {
  .gal__img, .gal__thumb, .gal-box__img { transition: none; }
  .gal__slide:hover .gal__img { transform: none; }
}
/* 768–1249: фото — над колонками во всю строку; квадрат не больше 560 px */
@media (min-width: 768px) and (max-width: 1249.98px) {
  .gal__stage { max-width: 560px; margin: 0 auto; }
}
/* телефон: без ленты, все фото в ряд с листанием пальцем (hidden у скрытых здесь не действует), точки под сценой */
@media (max-width: 767.98px) {
  .gal__rail { display: none; }
  .gal__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; }
  .gal__track::-webkit-scrollbar { display: none; }
  .gal__slide, .gal__slide[hidden] {
    position: relative; inset: auto; display: flex; flex: 0 0 100%; box-sizing: border-box; height: 100%; padding: 3%;
    scroll-snap-align: center; scroll-snap-stop: always;
  }
  .gal__stage_rail .gal__top { left: 12px; }
  .gal__dots { display: flex; }
}

/* просмотр по щелчку: затемнение, фото до 90 % экрана, стрелки, счётчик; второй щелчок — ×2, двигается за мышью */
.gal-box { position: fixed; inset: 0; z-index: 1100; background: rgba(12, 18, 26, 0.88); }
.gal-box[hidden] { display: none; }
.gal-box__view { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; touch-action: none; }
.gal-box__view picture { display: contents; }
.gal-box__img {
  display: block; max-width: 90vw; max-height: 90vh; object-fit: contain; border-radius: 4px; background: #fff;
  cursor: zoom-in; user-select: none; -webkit-user-drag: none;
}
.gal-box_zoom .gal-box__img { transform: scale(2); cursor: zoom-out; }
/* пальцы (этап 21): масштаб и сдвиг — в style фото; во время щипка и сдвига — без плавности */
.gal-box_pinched .gal-box__img { cursor: zoom-out; }
.gal-box_gesture .gal-box__img { transition-duration: 0s; }
@media (prefers-reduced-motion: no-preference) {
  .gal-box__img { transition: transform var(--motion-base) var(--ease-out); }
}
.gal-box__close, .gal-box__step {
  position: absolute; z-index: 2; display: flex; align-items: center; justify-content: center; padding: 0; border: 0;
  background: rgba(24, 37, 50, 0.55); color: #fff; cursor: pointer;
}
.gal-box__close { top: 16px; right: 16px; width: 44px; height: 44px; border-radius: 50%; }
.gal-box__step { top: 50%; width: 48px; height: 64px; border-radius: 7px; transform: translateY(-50%); }
.gal-box__step_prev { left: 16px; }
.gal-box__step_next { right: 16px; }
.gal-box__close:focus-visible, .gal-box__step:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.gal-box__count {
  position: absolute; bottom: 18px; left: 50%; z-index: 2; transform: translateX(-50%); padding: 4px 12px;
  border-radius: 14px; background: rgba(0, 0, 0, 0.4); color: #fff; font-size: 15px; line-height: 20px;
}
@media (max-width: 767.98px) {
  .gal-box__img { max-width: 100vw; max-height: 80vh; border-radius: 0; }
  .gal-box__step { width: 36px; height: 52px; }
  .gal-box__step_prev { left: 4px; }
  .gal-box__step_next { right: 4px; }
  .gal-box__close { top: 10px; right: 10px; }
}

/* === Движение (этап 17, спека docs/superpowers/specs/2026-10-12-cms-stage17-motion-design.md) ===
   Один характер на весь сайт: три длительности и две плавности. Двигаем только transform и opacity;
   наведение — только у мыши (урок этапа 13), всё движение — при prefers-reduced-motion: no-preference. */
:root {
  --motion-fast: 120ms;
  --motion-base: 200ms;
  --motion-slow: 350ms;
  --ease-out: cubic-bezier(.2, .7, .2, 1);
  --ease-in-out: cubic-bezier(.4, 0, .2, 1);
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
}

/* «В корзину»: галочка поверх кнопки (ширина кнопки не меняется), счётчик корзины вздрагивает, ошибка — качание */
.product-card__button, .product__price-buy { position: relative; }
.buy-check { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; background: inherit; border-radius: inherit; }
.is-added .buy-check { opacity: 1; }
/* ошибка — надпись поверх кнопки (текст в data-buy-error ставит site.js), ширина кнопки не меняется */
.is-failed::after { content: attr(data-buy-error); position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  padding: 0 4px; background: inherit; border-radius: inherit; font-size: 13px; line-height: 1.1; text-align: center; }
@media (prefers-reduced-motion: no-preference) {
  .buy-check { transition: opacity var(--motion-fast) var(--ease-out); }
  .buy-check svg { transform: scale(.6); transition: transform var(--motion-base) var(--ease-out); }
  .is-added .buy-check svg { transform: none; }
  .is-bumped { animation: cart-bump var(--motion-base) var(--ease-out); }
  .is-failed { animation: buy-shake 300ms var(--ease-in-out); }
}
@keyframes cart-bump { 0%, 100% { transform: none; } 50% { transform: scale(1.25); } }
@keyframes buy-shake { 0%, 100% { transform: none; } 20%, 60% { transform: translateX(-4px); } 40%, 80% { transform: translateX(4px); } }

/* Фильтр, листание, поиск: пока сервер отвечает — приглушён только список (фильтр остаётся ярким), новый
   список проявляется. htmx-request стоит на корне куска или на ссылке/форме внутри него; «Купить» в карточке
   (форма data-cart-add) — не листание, список не приглушает. Высоты не трогаем. */
#catalog-listing:is(.htmx-request, :has(.htmx-request:not([data-cart-add]))) .catalog__items { opacity: .55; }
@media (prefers-reduced-motion: no-preference) {
  #catalog-listing .catalog__items { transition: opacity var(--motion-slow) var(--ease-out), transform var(--motion-slow) var(--ease-out); }
  #catalog-listing:is(.htmx-request, :has(.htmx-request:not([data-cart-add]))) .catalog__items { transition-duration: var(--motion-fast); }
  #catalog-listing.htmx-added .catalog__items { opacity: 0; transform: translateY(4px); transition: none; }
}

/* Карточка товара: лёгкий подъём, тень проявляется (слой ::after — тень не анимируем), фото чуть крупнее */
.product-card__container::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  box-shadow: 0 10px 28px rgba(24, 37, 50, .12); opacity: 0; }
@media not all and (hover: none) and (pointer: coarse) {
  @media (prefers-reduced-motion: no-preference) {
    .product-card__container { transition: transform var(--motion-base) var(--ease-out); }
    .product-card__container::after { transition: opacity var(--motion-base) var(--ease-out); }
    .product-card__image img { transition: transform var(--motion-base) var(--ease-out); }
    .product-card__container:hover { transform: translateY(-2px); }
    .product-card__container:hover .product-card__image img { transform: scale(1.03); }
  }
  .product-card__container:hover::after { opacity: 1; }
}

/* Окна: фон проявляется, окно подъезжает снизу; закрытие — обратно, затем удаление (site.js closeModal).
   modal-control_static — окно, заменённое ответом формы: без повторного «подъезда». */
@media (prefers-reduced-motion: no-preference) {
  .modal-control_show { animation: modal-fade var(--motion-base) var(--ease-out); }
  .modal-control_show .modal { animation: modal-rise var(--motion-base) var(--ease-out); }
  .modal-control_static, .modal-control_static .modal { animation: none; }
  /* отдельные имена: та же анимация с reverse не перезапускается, окно пропадало бы сразу */
  .modal-control_leaving { animation: modal-fade-out var(--motion-base) var(--ease-out) forwards; }
  .modal-control_leaving .modal { animation: modal-sink var(--motion-base) var(--ease-out) forwards; }
}
@keyframes modal-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes modal-rise { from { opacity: 0; translate: 0 16px; } to { opacity: 1; translate: none; } }
@keyframes modal-fade-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes modal-sink { from { opacity: 1; translate: none; } to { opacity: 0; translate: 0 16px; } }

/* Шторка фильтра на телефоне и раскрывающиеся блоки: проявление — разовыми классами, которые site.js ставит
   по действию покупателя (body_facets-enter — при открытии шторки, is-opening — по нажатию на заголовок блока).
   Не по атрибуту [open] и не по body_facets-open: кусок с фильтром заменяется на каждое изменение, и анимации
   проигрывались бы заново. Высота блока меняется сразу. */
@media (prefers-reduced-motion: no-preference) {
  .body_facets-enter .facets { animation: sheet-in var(--motion-base) var(--ease-out); }
  .is-opening[open] > :not(summary) { animation: fade-in var(--motion-fast) var(--ease-out); }
}
@keyframes sheet-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }

/* Блик на баннере (галка «Блик на баннере главной»): мягкая полоса света проходит ~2 с, затем пауза; цикл 7,5 с.
   Двигается только transform готового слоя — без перерисовки. Клики проходят насквозь; вне экрана — пауза. */
@media (prefers-reduced-motion: no-preference) {
  .offer-slider--glare { position: relative; isolation: isolate; }
  .offer-slider--glare::after {
    content: ""; position: absolute; top: -10%; bottom: -10%; left: 0; width: 40%; z-index: 2; pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, .6) 50%, rgba(255, 255, 255, 0) 100%);
    mix-blend-mode: overlay;   /* soft-light .4 на баннерах почти не виден (владелец 13.10) */
    transform: translateX(-150%) skewX(-20deg);
    animation: offer-glare 7.5s var(--ease-in-out) infinite;
  }
  .offer-slider--glare.is-offscreen::after { animation-play-state: paused; }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 575px) {
  .offer-slider--glare::after { animation-duration: 9.5s; }
}
@keyframes offer-glare {
  0% { transform: translateX(-150%) skewX(-20deg); }
  30%, 100% { transform: translateX(300%) skewX(-20deg); }
}

/* Переходы между страницами (галка «Плавные переходы»; @view-transition — в base.html): шапка и подвал стоят,
   содержимое мягко сменяется; фото товара «переезжает» между плиткой и карточкой (имя ставит site.js). */
.vt-header { view-transition-name: site-header; }
/* имя перехода делает шапку контекстом наложения: без своего слоя её выпадашки (мега-меню, мини-корзина,
   подсказки поиска) уходят под карточки и баннер. На телефоне шапка fixed с z-index 10 — как было. */
@media (min-width: 992px) {
  .vt-header { position: relative; z-index: 40; }
}
.vt-footer { view-transition-name: site-footer; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: var(--motion-base); animation-timing-function: var(--ease-out); }
::view-transition-group(product-photo) { animation-duration: var(--motion-slow); animation-timing-function: var(--ease-in-out); }
::view-transition-old(product-photo), ::view-transition-new(product-photo) { height: 100%; object-fit: contain; }

/* Логотип производителя у «Описание» в карточке товара (правка 13.10): рамка темы (.info__content-logo,
   152×70) — картинкой, а не фоном. */
a.info__content-logo { display: flex; flex: none; align-items: center; justify-content: center; }
.info__content-logo img { max-width: 120px; max-height: 50px; width: auto; height: auto; }

/* Мобильное меню по запросу (этап 18): панель-сообщение на время загрузки и при ошибке сети */
.hm-container__note { padding: 24px 20px; font-size: 15px; color: #25282B; }
.hm-container_note .hm-container__close { font-size: 24px; line-height: 1; background: none; border: 0; }

/* Вход в кабинет звонком (13.10): подсказка про заглушённые номера; код на экране — только на предпоказе */
.lk-callme__call { display: flex; justify-content: center; align-items: center; width: 100%; height: 56px; font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; text-decoration: none; }
.lk-callme { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 12px; margin-top: 12px; font-size: 14px; }
.lk-callme__wait { color: #6B7682; }
.lk-callme__wait[hidden] { display: none; }
.lk-auth__or { display: flex; align-items: center; gap: 12px; margin: 22px 0 16px; color: #8A8F94; font-size: 14px; }
.lk-auth__or::before, .lk-auth__or::after { content: ""; flex: 1; border-top: 1px solid #E3E6EA; }
.lk-auth__hint { margin-top: 16px; color: #6B7682; font-size: 13px; }
.lk-auth__preview { margin-top: 16px; padding: 10px 12px; border: 1px dashed #FAB300; border-radius: 6px; font-size: 14px; }

/* Сравнение и избранное (этап 19). Плитка: две иконки справа вверху поверх фото — высота плитки та же, вёрстка
   не сдвигается. Включённая — цветом бренда (отметку ставит site.js по cookie). Ошибка — подпись под иконкой 3 с. */
.list-toggles_card { position: absolute; top: 10px; right: 10px; z-index: 3; display: flex; gap: 4px; }
.list-toggle { margin: 0; }
.list-toggle__button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 0; border: 0; background: none; color: #8A97A5; font: inherit; cursor: pointer; }
.list-toggles_card .list-toggle__button { width: 32px; height: 32px; border-radius: 50%; background: rgba(255, 255, 255, .85); }
.list-toggle__button.is-active { color: #014CE4; }
.list-toggles_product { display: flex; gap: 24px; }
.list-toggles_product .list-toggle__button { color: #46505A; font-size: 15px; font-weight: 500; }
.list-toggles_product .list-toggle__button.is-active { color: #014CE4; }
.list-toggle__button.is-failed::after { content: attr(data-list-error); inset: auto; top: calc(100% + 6px); right: 0; left: auto;
  display: block; padding: 4px 8px; border-radius: 4px; background: #182532; color: #fff; font-size: 12px; font-weight: 400;
  line-height: 1.3; white-space: nowrap; z-index: 5; }
.list-toggles_product .list-toggle__button.is-failed::after { right: auto; left: 0; }
@media not all and (hover: none) and (pointer: coarse) {
  .list-toggle__button:hover { color: #014CE4; }
}
.list-toggle__button[aria-busy="true"] { opacity: .6; }
/* подсказка плитки (этап 21): вместо title — диктор не повторяет состояние; только при наведении мышью */
@media not all and (hover: none) and (pointer: coarse) {
  .list-toggles_card .list-toggle__button[data-hint]:not(.is-failed):hover::after { content: attr(data-hint); position: absolute;
    top: calc(100% + 6px); right: 0; padding: 4px 8px; border-radius: 4px; background: #182532; color: #fff; font-size: 12px;
    font-weight: 400; line-height: 1.3; white-space: nowrap; z-index: 5; pointer-events: none; }
}
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* Страницы «Избранное» и «Сравнение» */
.lists__head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; margin: 24px 0 16px; }
.lists__clear { margin: 0; }
.lists__clear-button { padding: 0; border: 0; background: none; font: inherit; color: #014CE4; cursor: pointer; }
.lists__invite { margin: 0 0 20px; }
.lists__empty { padding: 24px 0 48px; }
.lists__empty-link { display: inline-block; margin-top: 16px; padding: 12px 24px; }
.cmp-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.cmp-tabs__tab { padding: 7px 14px; border: 1px solid #D5DDE5; border-radius: 20px; color: inherit; font-size: 14px; text-decoration: none; }
.cmp-tabs__tab_active { border-color: #014CE4; background: #014CE4; color: #fff; }
.cmp__bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 12px; }
.cmp__diff { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; cursor: pointer; }
.cmp__diff-box { position: relative; flex: none; width: 36px; height: 20px; border-radius: 10px; background: #D5DDE5; }
.cmp__diff-box::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; }
button.cmp__diff { padding: 0; border: 0; background: none; font: inherit; }
.cmp__diff[hidden] { display: none; }
.cmp__diff[aria-checked="true"] .cmp__diff-box, .cmp__diff[aria-pressed="true"] .cmp__diff-box { background: #014CE4; }
.cmp__diff[aria-checked="true"] .cmp__diff-box::after, .cmp__diff[aria-pressed="true"] .cmp__diff-box::after { left: 18px; }
@media (prefers-reduced-motion: no-preference) {
  .cmp__diff-box, .cmp__diff-box::after { transition: background-color var(--motion-fast) var(--ease-out), left var(--motion-fast) var(--ease-out); }
}
.cmp_diff tr[data-same] { display: none; }
/* таблица листается вбок, первая колонка (названия характеристик) прилипает */
.cmp__scroll { overflow-x: auto; margin-bottom: 40px; border: 1px solid #E4EAF0; border-radius: 4px; }
.cmp__table { border-collapse: separate; border-spacing: 0; font-size: 14px; }
.cmp__table th, .cmp__table td { padding: 10px 12px; border-bottom: 1px solid #E4EAF0; text-align: left; vertical-align: top; }
.cmp__col { position: relative; width: 200px; min-width: 180px; max-width: 220px; font-weight: 400; }
.cmp__corner, .cmp__label { position: sticky; left: 0; z-index: 2; min-width: 150px; max-width: 220px; background: #fff;
  box-shadow: 1px 0 0 #E4EAF0; }
.cmp__label { width: 220px; font-weight: 400; color: #5D6D7E; overflow-wrap: anywhere; hyphens: auto; }
.cmp__group th { padding: 8px 12px; background: #F5F8FA; font-weight: 600; }
.cmp__group-title { position: sticky; left: 12px; }
.cmp__image { display: block; width: 120px; height: 120px; margin: 0 auto 8px; }
.cmp__image img { width: 100%; height: 100%; object-fit: contain; }
.cmp__name { display: block; min-height: 2.6em; margin-bottom: 6px; font-weight: 500; text-decoration: none; }
.cmp__remove { position: absolute; top: 4px; right: 4px; margin: 0; }
.cmp__remove-button { width: 28px; height: 28px; padding: 0; border: 0; background: none; color: #8A97A5; font-size: 22px; line-height: 1; cursor: pointer; }
.cmp__remove-button:hover { color: #FA4451; }
.cmp__buy { margin-top: 8px; }
@media (max-width: 575px) {
  .cmp__corner, .cmp__label { min-width: 104px; max-width: 120px; padding-left: 8px; padding-right: 8px; font-size: 13px; }
  .cmp__col { width: 160px; min-width: 150px; }
}

/* Наличие — маркер Агрегатора (этап 23б): зелёный — в наличии, нейтральный — под заказ и «уточнить», серый — снят */
.stock_in { color: #28C57C; }
.stock_wait { color: #5F6B7A; }
.stock_off { color: #9AA3AD; }
.product__stock { margin: 6px 0 10px; font-size: 14px; }
.product-card__stock { margin-top: 2px; font-size: 12px; line-height: 1.2; }
.product-card__button[disabled] { cursor: default; background-color: #EEF2F5; color: #9AA3AD; }

/* Низ карточки товара (этап 24): форма с осьминогом — поля приходят куском HTMX на место .feedback-form__slot.
   Место под поля держится заранее (высота формы), чтобы страница не прыгала, когда они придут. */
.feedback-form__slot { position: relative; z-index: 10; min-height: 420px; }
@media screen and (min-width: 1440px) {
  .feedback-form__slot { min-height: 230px; }
}
.feedback-form__slot noscript .button { display: inline-block; }
.feedback-form__field { margin-bottom: 10px; }
.feedback-form__field .feedback-form__input:not(:last-child) { margin-bottom: 0; }
.feedback-form__input .input__control { background: transparent; }
.feedback-form__textarea { display: block; width: 100%; border: 1px solid #fff; background: #fff; color: #222; font: inherit; resize: vertical; }
.feedback-form__help { margin-top: 4px; font-size: 12px; opacity: .8; }
.feedback-form__agree { margin-bottom: 15px; font-size: 12px; line-height: 18px; }
.feedback-form__agree .link { color: inherit; text-decoration: underline; }
.feedback-form .order-form__error { color: #FF8A93; }
/* полей слева может быть меньше трёх (форма — из настроек): к верху, а не по краям колонки */
@media screen and (min-width: 1440px) { .feedback-form__left { justify-content: flex-start; gap: 10px; } .feedback-form__left .feedback-form__input:not(:last-child) { margin-bottom: 0; } }
.feedback-form__done { position: relative; z-index: 10; max-width: 560px; font-size: 18px; line-height: 1.5; }

/* подвал: ссылки «Информация» переносятся целиком (в разметке между ними нет пробела — «Политика конфиденциальности»
   уезжала за край на телефоне, 17.10); от 1440 px — как было, строкой с подписью */
@media screen and (max-width: 1439px) {
  .footer__links { display: flex; flex-wrap: wrap; column-gap: 30px; }
  .footer__link:not(:last-child) { margin-right: 0; }
}

/* SEO-текст раздела, тега, бренда (HTML из ПИМ): во всю ширину (владелец 17.10), заголовки, списки, ссылки, таблицы */
.seo-text { max-width: none; font-size: 16px; line-height: 1.6; color: #25282B; }
.seo-text > :first-child { margin-top: 0; }
.seo-text h2, .seo-text h3, .seo-text h4 { margin: 32px 0 12px; line-height: 1.25; font-weight: 700; color: #25282B; }
.seo-text h2 { font-size: 24px; }
.seo-text h3 { font-size: 20px; }
.seo-text h4 { font-size: 17px; }
.seo-text p { margin: 0 0 14px; }
.seo-text ul, .seo-text ol { margin: 0 0 16px; padding-left: 24px; }
.seo-text ul { list-style: disc; }
.seo-text ol { list-style: decimal; }
.seo-text li { margin: 0 0 6px; padding-left: 4px; }
.seo-text li::marker { color: #014CE4; }
.seo-text li > p { margin: 0; }
.seo-text a { color: #014CE4; text-decoration: underline; text-decoration-color: rgba(1, 76, 228, .35); text-underline-offset: 3px; transition: text-decoration-color .2s; }
.seo-text a:hover { text-decoration-color: currentColor; }
.seo-text table { width: 100%; margin: 0 0 18px; border-collapse: collapse; font-size: 15px; display: block; overflow-x: auto; }
.seo-text th, .seo-text td { padding: 8px 12px; border: 1px solid #DDE3E8; text-align: left; vertical-align: top; }
.seo-text th, .seo-text thead td { background: #EEF2F5; font-weight: 600; }
@media screen and (max-width: 767.98px) {
  .seo-text { font-size: 15px; }
  .seo-text h2 { font-size: 20px; }
  .seo-text h3 { font-size: 18px; }
}

/* Теги раздела: две строки, остальное под «Ещё N» (владелец 17.10); флажок — чтобы работало и без скрипта */
.catalog__tags_all { flex-wrap: wrap; }
.catalog__tags_all .catalog__tags-items { flex: 1 1 0; min-width: 0; max-width: none; height: auto; flex-wrap: wrap; overflow: hidden; }
.catalog__tags_all .catalog__tags-toggle ~ .catalog__tags-items { max-height: 56px; }
.catalog__tags_all .catalog__tags-toggle:checked ~ .catalog__tags-items { max-height: none; }
.catalog__tags_all .catalog__tags-item { margin-bottom: 10px; line-height: 18px; }
.catalog__tags-toggle { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.catalog__tags-more { flex: none; align-self: flex-start; margin-left: 15px; font-weight: 500; font-size: 14px; line-height: 18px; color: #014CE4; white-space: nowrap; cursor: pointer; user-select: none; }
.catalog__tags-more::after { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 0 3px 7px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); transition: transform .2s; }
.catalog__tags-more:hover { color: #25282B; }
.catalog__tags-more:focus-visible { outline: 2px solid #014CE4; outline-offset: 2px; border-radius: 3px; }
.catalog__tags-more-close { display: none; }
.catalog__tags-toggle:checked ~ .catalog__tags-more .catalog__tags-more-open { display: none; }
.catalog__tags-toggle:checked ~ .catalog__tags-more .catalog__tags-more-close { display: inline; }
.catalog__tags-toggle:checked ~ .catalog__tags-more::after { transform: rotate(-135deg); margin-bottom: -1px; }
.catalog__tags-more[hidden] { display: none; }
@media screen and (max-width: 767.98px) {
  .catalog__tags_all .catalog__tags-title { flex-basis: 100%; margin-bottom: 10px; }
  .catalog__tags-more { margin-left: 0; }
}

/* Мега-меню каталога (владелец 17.10, как на старом сайте): подразделы идут сверху вниз по трём колонкам и
   плотно, без пустот под строкой (раньше — сетка по строкам, высота строки по самому длинному разделу) */
.nav__columns { display: block; columns: 3; column-gap: 40px; margin: 0; }
.nav__columns .sections__group { display: block; min-width: 0; max-width: none; padding: 0; break-inside: avoid; page-break-inside: avoid; }
.nav__columns .sections__item { margin-bottom: 22px; }
.nav__columns .sections-item__icon { width: 36px; height: 36px; margin-right: 16px; }
.nav__columns .sections-item > .sections-item__links:first-child { margin-left: 52px; }
.nav__columns .sections-item__title { font-size: 14px; line-height: 18px; margin-bottom: 3px; }
.nav__columns .sections-item__sub-link, .nav__columns .sections-item__more { font-size: 13px; line-height: 19px; }
.nav__item-sub { padding-top: 28px; }

/* «Этот товар относится к категориям»: четыре строки, остальное под «Показать все» (владелец 17.10); ссылки — все в HTML */
.info__categories-toggle { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.info__categories-toggle ~ .info__categories-links { max-height: 142px; overflow: hidden; }   /* четыре ряда плашек: 4×28 + 3×10 */
.info__categories-toggle:checked ~ .info__categories-links { max-height: none; }
.info__categories-more { display: inline-block; margin-top: 4px; font-weight: 500; color: #014CE4; cursor: pointer; user-select: none; }
.info__categories-more::after { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 0 3px 7px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); transition: transform .2s; }
.info__categories-more:hover { color: #25282B; }
.info__categories-more:focus-visible { outline: 2px solid #014CE4; outline-offset: 2px; border-radius: 3px; }
.info__categories-more-close { display: none; }
.info__categories-toggle:checked ~ .info__categories-more .info__categories-more-open { display: none; }
.info__categories-toggle:checked ~ .info__categories-more .info__categories-more-close { display: inline; }
.info__categories-toggle:checked ~ .info__categories-more::after { transform: rotate(-135deg); margin-bottom: -1px; }
.info__categories-more[hidden] { display: none; }

/* Ссылки «относится к категориям» — плашками: первая (раздел товара) выделена, остальные — светлые */
.info__categories-links { display: grid; row-gap: 10px; padding: 2px 0; }   /* не flex: колонка с переносом и потолком высоты уходит вбок */
/* подпись группы — своей колонкой, короткие плашки — ровной колонкой справа (владелец 17.10: компактно) */
.info__categories-group { display: grid; grid-template-columns: 136px minmax(0, 1fr); column-gap: 12px; align-items: start; }
.info__categories-caption { padding-top: 5px; font-size: 13px; line-height: 18px; color: #8A8F94; }
.info__categories-chips { display: flex; flex-wrap: wrap; gap: 6px; }
@media screen and (max-width: 575.98px) {
  .info__categories-group { grid-template-columns: minmax(0, 1fr); row-gap: 6px; }
  .info__categories-caption { padding-top: 0; }
}
.info__categories-chip { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 12px; border-radius: 14px; background: #EEF2F5; color: #014CE4; font-size: 13px; line-height: 18px; font-weight: 500; text-decoration: none; transition: background-color .2s, color .2s; }
.info__categories-chip:hover { background: #DCE6FB; color: #0039B0; }
.info__categories-chip:focus-visible { outline: 2px solid #014CE4; outline-offset: 2px; }
.info__categories-chip_main { background: #014CE4; color: #fff; }
.info__categories-chip_main:hover { background: #0039B0; color: #fff; }
.info__categories-more { margin-top: 10px; }

/* Карусели товаров (под карточкой, на главной): карточка без жёсткой высоты — длинное название не обрезает цену и
   кнопку; ряд тянется по самой высокой, артикул, цена и «Купить» прижаты к низу — ровно у всех (владелец 17.10) */
.product-slider__wrapper { align-items: stretch; }
.product-slider__slide .product-card__container { height: 100%; min-height: 353px; }
@media screen and (min-width: 1440px) { .product-slider__slide .product-card__container { min-height: 366px; } }
.product-slider__slide .product-card__sku { margin-top: auto; }
.product-slider__slide .product-card__sku + .product-card__footer { margin-top: 0; }

/* Шапка (владелец 17.10, как на старом сайте): синяя полоса меню прилипает к верху при прокрутке (site.js ставит
   .is-stuck, место в потоке держит обёртка), раздел под курсором — фирменным тёмно-серым, как «Корзина» */
.header__sticky { height: 65px; }
.header__sticky.is-stuck .header__bottom { position: fixed; top: 0; z-index: 90; border-radius: 0 0 7px 7px; box-shadow: 0 6px 20px rgba(24, 37, 50, .18); }
.header__sticky.is-stuck .header__bottom .cart-button { border-radius: 0 0 7px 0; }
/* пункт меню — ровный сегмент: равные отступы слева и справа, разделитель «⋮» — на границе между пунктами (фоном
   у левого края следующего), подсветка закрывает ровно сегмент — от края полосы у первого пункта */
.header__bottom .header__nav { padding-left: 0; }
.header__bottom .nav__item { padding: 0 26px; transition: background-color var(--motion-base, .2s) ease;
  background-repeat: no-repeat; background-position: left center; background-size: 3px 11px; }
.header__bottom .nav__item + .nav__item { background-image: var(--nav-sep); }
.header__bottom .nav__item:not(:last-child) .nav__item-button { padding-right: 0; margin-right: 0; }
.header__bottom .nav__item:not(:last-child) .nav__item-button::after { content: none; }
.header__bottom .nav__item .nav__item-link { margin-right: 6px; }
.header__bottom .nav__item:hover, .header__bottom .nav__item.nav__item_open { background-color: #182532; background-image: none; }
.header__bottom .nav__item:hover + .nav__item, .header__bottom .nav__item.nav__item_open + .nav__item { background-image: none; }
.header__bottom .nav__item:first-child { border-radius: 7px 0 0 7px; }
.header__sticky.is-stuck .header__bottom .nav__item:first-child { border-radius: 0 0 0 7px; }
.header__bottom { --nav-sep: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3' height='11'%3E%3Cg fill='white' opacity='.5'%3E%3Ccircle cx='1.5' cy='1.4' r='.8'/%3E%3Ccircle cx='1.5' cy='5.4' r='.8'/%3E%3Ccircle cx='1.5' cy='9.4' r='.8'/%3E%3C/g%3E%3C/svg%3E"); }

/* Страница «Контакты» (владелец 18.10): карточки связи, офис с картой по клику, обращение к руководству, реквизиты */
.ct { display: grid; gap: 20px; margin-bottom: 70px; }
.ct__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ct-card, .ct-office, .ct-boss, .ct-req { background: #F5F7F9; border-radius: 14px; padding: 26px 28px; }
.ct-card__head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.ct-card__icon { width: 40px; height: 40px; padding: 10px; border-radius: 50%; background: #014CE4; fill: #fff; flex: none; box-sizing: border-box; }
.ct-card__title { margin: 0; font-size: 20px; line-height: 1.2; font-weight: 600; color: #25282B; }
.ct-card__note { margin: 12px 0 0; font-size: 14px; color: #737373; }
.ct-card_phones { background: #014CE4; color: #fff; }
.ct-card_phones .ct-card__title, .ct-card_phones .ct-card__note { color: #fff; }
.ct-card_phones .ct-card__icon { background: #fff; fill: #014CE4; }
.ct-phone { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 8px 0; color: #fff; text-decoration: none; border-top: 1px solid rgba(255,255,255,.2); }
.ct-phone:first-of-type { border-top: 0; padding-top: 0; }
.ct-phone__num { font: 600 24px/1.2 "Nunito", "IBM Plex Sans", sans-serif; letter-spacing: .01em; transition: opacity .2s; }
.ct-phone__note { font-size: 13px; opacity: .75; }
.ct-phone:hover .ct-phone__num { opacity: .8; }
.ct-msg { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; }
.ct-msg__item, .ct-callback { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; background: #fff; color: #25282B; font-weight: 500; font-size: 15px; text-decoration: none; transition: box-shadow .2s, transform .2s; }
.ct-msg__item svg, .ct-callback svg { width: 25px; height: 26px; flex: none; }
.ct-msg__item:hover, .ct-callback:hover { box-shadow: 0 4px 14px rgba(24,37,50,.12); transform: translateY(-1px); }
.ct-callback { margin-top: 8px; }
.ct-mail { display: inline-block; margin-top: 14px; font-size: 18px; font-weight: 600; color: #014CE4; text-decoration: none; border-bottom: 1px solid rgba(1,76,228,.3); }
.ct-mail:hover { border-bottom-color: currentColor; }
.ct-week { display: grid; gap: 4px; }
.ct-week__day { display: grid; grid-template-columns: 8px 34px 1fr; align-items: center; gap: 10px; padding: 6px 12px; border-radius: 8px; background: #fff; font-size: 15px; }
.ct-week__day span { text-align: right; }
.ct-week__day b { font-weight: 600; text-transform: capitalize; color: #25282B; }
.ct-week__day span { color: #25282B; font-feature-settings: "tnum" 1; }
.ct-week__day::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #2BB673; }
.ct-week__day_off { background: transparent; }
.ct-week__day_off::before { background: #FA4451; }
.ct-week__day_off span { color: #FA4451; }
.ct-office { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 28px; align-items: stretch; }
.ct-office__addr { margin: 0 0 10px; font-size: 20px; line-height: 1.35; font-weight: 600; color: #25282B; }
.ct-office__note { margin: 0 0 8px; font-size: 14px; color: #737373; }
.ct-office__route { display: inline-flex; margin-top: 14px; }
.ct-map { position: relative; min-height: 320px; border-radius: 12px; overflow: hidden; display: grid; place-items: center; align-content: center; gap: 8px;
  background-color: #E3EAF0; background-image: repeating-linear-gradient(0deg, transparent 0 38px, rgba(255,255,255,.75) 38px 41px), repeating-linear-gradient(90deg, transparent 0 52px, rgba(255,255,255,.75) 52px 55px), linear-gradient(115deg, transparent 47%, #C9DCEC 47% 53%, transparent 53%); }
.ct-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ct-map__show { display: inline-flex; align-items: center; gap: 8px; border: 0; border-radius: 999px; padding: 12px 20px; background: #fff; color: #25282B; font: 600 15px "IBM Plex Sans", sans-serif; cursor: pointer; box-shadow: 0 6px 20px rgba(24,37,50,.15); transition: transform .2s; }
.ct-map__show svg { width: 20px; height: 20px; fill: #014CE4; }
.ct-map__show:hover { transform: translateY(-2px); }
.ct-map__hint { margin: 0; font-size: 13px; color: #737373; }
.ct-boss { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #182532; color: #fff; }
.ct-boss__title { margin: 0 0 6px; font-size: 22px; font-weight: 600; color: #fff; }
.ct-boss__text { margin: 0; max-width: 720px; font-size: 15px; line-height: 1.5; opacity: .8; }
.ct-boss__btn { flex: none; }
.ct-req__title { cursor: pointer; font-size: 20px; font-weight: 600; color: #25282B; list-style: none; }
.ct-req__title::-webkit-details-marker { display: none; }
.ct-req__title::after { content: ""; display: inline-block; width: 8px; height: 8px; margin: 0 0 4px 10px; border: solid #25282B; border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .2s; }
.ct-req[open] .ct-req__title::after { transform: rotate(-135deg); margin-bottom: 0; }
.ct-req__list { margin: 16px 0 0; display: grid; gap: 2px; }
.ct-req__row { display: flex; align-items: baseline; gap: 8px; padding: 6px 0; font-size: 15px; }
.ct-req__row dt { color: #737373; flex: none; }
.ct-req__row dt::after { content: ""; }
.ct-req__row dd { margin: 0; color: #25282B; font-weight: 500; }
.ct-req__row dt + dd { display: flex; flex: 1; gap: 8px; }
.ct-req__row dt + dd::before { content: ""; flex: 1; border-bottom: 1px dotted #C0C6CC; transform: translateY(-4px); order: -1; min-width: 20px; }
@media screen and (max-width: 1100px) { .ct__cards { grid-template-columns: 1fr 1fr; } .ct-card_hours { grid-column: 1 / -1; } .ct-office { grid-template-columns: 1fr; } }
@media screen and (max-width: 640px) {
  .ct__cards { grid-template-columns: 1fr; }
  .ct-card, .ct-office, .ct-boss, .ct-req { padding: 20px; }
  .ct-boss { flex-direction: column; align-items: flex-start; }
  .ct-req__row { flex-wrap: wrap; } .ct-req__row dt + dd::before { display: none; }
  .ct-phone__num { font-size: 21px; }
}

/* Галерея (владелец 21.10): фото всегда вписано на всю сцену (не по своему пиксельному размеру из srcset — иначе мелкое);
   широкое фото (схема, баннер) начинается правее ленты миниатюр, чтобы лента не закрывала его край */
.gal__img { width: 100%; height: 100%; }
.gal__slide_empty .gal__img { width: auto; height: auto; }
@media screen and (min-width: 768px) {
  .gal__stage_rail .gal__slide_wide { left: var(--gal-photo-left); }
}

/* ---- Текстовые страницы: блоки (владелец 28.10 — «Доставка», «Оплата», «Контакты», услуги наглядно) ---- */
.tp { display: grid; gap: 40px; margin: 32px 0 56px; }
.tp-block__title { margin: 0 0 18px; font: 600 26px/1.25 "IBM Plex Sans", sans-serif; color: #25282B; }
.tp-cards__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.tp-card { display: flex; flex-direction: column; gap: 10px; padding: 22px 22px 20px; border-radius: 14px; background: #F5F7F9; }
.tp-card__title { display: flex; align-items: center; gap: 10px; margin: 0; font: 600 18px/1.3 "IBM Plex Sans", sans-serif; color: #25282B; }
.tp-card__icon { flex: none; width: 30px; height: 30px; color: #014CE4; }
.tp-card__accent { margin: 0; font: 700 24px/1.2 "Nunito", "IBM Plex Sans", sans-serif; color: #014CE4; }
.tp-card__text { font-size: 15px; line-height: 1.5; color: #3d4247; }
.tp-card__text p { margin: 0 0 8px; }
.tp-card__text ul { margin: 0; padding-left: 18px; }
.tp-card__link { margin-top: auto; font-weight: 600; }
.tp-highlight { display: grid; gap: 6px; padding: 20px 24px; border-radius: 14px; background: #014CE4; color: #fff; }
.tp-highlight__title { margin: 0; font: 700 20px/1.3 "IBM Plex Sans", sans-serif; }
.tp-highlight__text { font-size: 15px; line-height: 1.5; opacity: .92; }
.tp-highlight__text p { margin: 0; }
.tp-highlight__text a { color: #fff; }
.tp-folds { display: grid; gap: 10px; }
.tp-folds .tp-block__title { margin-bottom: 8px; }
.tp-fold { border-radius: 12px; background: #F5F7F9; }
.tp-fold__title { list-style: none; cursor: pointer; padding: 16px 52px 16px 20px; position: relative; font: 600 17px/1.35 "IBM Plex Sans", sans-serif; color: #25282B; }
.tp-fold__title::-webkit-details-marker { display: none; }
.tp-fold__title::after { content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 24px; font-weight: 400; color: #014CE4; transition: transform .2s; }
.tp-fold[open] .tp-fold__title::after { transform: translateY(-50%) rotate(45deg); }
.tp-fold__text { padding: 0 20px 18px; font-size: 15px; line-height: 1.6; color: #3d4247; }
.tp-figure { margin: 0; }
.tp-figure img { display: block; width: 100%; max-width: 900px; height: auto; border-radius: 14px; }
.tp-figure__caption { margin-top: 8px; font-size: 14px; color: #737373; }
.tp-table__scroll { overflow-x: auto; border-radius: 12px; border: 1px solid #E3E8EF; }
.tp-table table { width: 100%; border-collapse: collapse; font-size: 15px; }
.tp-table th, .tp-table td { padding: 12px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid #E3E8EF; }
.tp-table thead th { background: #F5F7F9; font-weight: 600; color: #25282B; white-space: nowrap; }
.tp-table tbody th { font-weight: 600; color: #25282B; }
.tp-table tbody tr:last-child th, .tp-table tbody tr:last-child td { border-bottom: 0; }
.tp-table__note { margin: 10px 0 0; font-size: 14px; color: #737373; }
.tp-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.tp-cta__note { margin: 0; color: #3d4247; }
.tp-toc { margin: 8px 0 28px; padding: 18px 22px; border-radius: 12px; background: #F5F7F9; }
.tp-toc__title { margin: 0 0 8px; font-weight: 600; color: #25282B; }
.tp-toc__list { margin: 0; padding-left: 22px; columns: 2 320px; column-gap: 32px; line-height: 1.7; }
.text-page__body h2[id], .text-page__body h3[id] { scroll-margin-top: 90px; }
.ct-map_open { display: block; width: 100%; min-height: 480px; background: #F5F7F9; }
@media screen and (max-width: 767px) {
  .tp { gap: 28px; }
  .tp-block__title { font-size: 21px; }
  .tp-card__accent { font-size: 21px; }
  .ct-map_open { min-height: 420px; }
}
