@charset "UTF-8";
/* HAVAL АвтоПремьер — единый файл стилей.
   Разделы: 1 шрифты · 2 переменные · 3 reset · 4 сетка и утилиты · 5 компоненты · 6 адаптив · 7 доступность */

/* 1. Шрифты */
@font-face {
    font-family: 'Haval';
    src: url('../fonts/Haval-Medium.woff2') format('woff2'),
        url('../fonts/Haval-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Haval';
    src: url('../fonts/Haval-Light.woff2') format('woff2'),
        url('../fonts/Haval-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Haval';
    src: url('../fonts/Haval-Regular.woff2') format('woff2'),
        url('../fonts/Haval-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Haval';
    src: url('../fonts/Haval-MediumSlanted.woff2') format('woff2'),
        url('../fonts/Haval-MediumSlanted.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

/* 2. Переменные */
:root {
  --font: 'Haval', sans-serif;
  --c-accent: #4DCDCD;
  --c-white: #fff;
  --c-black: #000;
  --c-text: #333333;
  --c-muted: #666;
  --c-line: #DDDDDD;
  --c-ink: #1a1a1a;
  --c-dark: #111;
  --c-soft: #f1f1f1;
  --gutter: 15px;
}

/* 3. Reset */
html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
em,
img,
strong,
sub,
sup,
b,
u,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
table,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-size: 100%;
}
a {
  margin:0;
  padding:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
  outline:none;
}
table {
  border-collapse: collapse; 
  border-spacing: 0;
}
td,
td img {
  vertical-align: top;
}
input,
select,
button,
textarea {
  margin: 0;
  font-size: 100%;
  outline: none;
}
input[type="text"],
input[type="password"],
textarea {
  padding: 0;
}
input[type="checkbox"] {
  vertical-align: bottom;
}
input[type="radio"] {
  vertical-align: text-bottom;
}
sub {
  vertical-align: sub;
  font-size: smaller;
}
sup {
  vertical-align: super;
  font-size: smaller;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display:block;
}
nav ul,
li {
  list-style:none;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
html,
body {
  height:100%;
}
body {
  text-align: left;
  line-height: normal;
}
a,
a:visited {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
a:focus,
a:active {
  text-decoration: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}
h1,
h2 {font-size: 36px;}
h3 {font-size: 24px;}
h4 {font-size: 18px;}
h5 {font-size: 14px;}
h6 {font-size: 12px;}
img {
  max-width:100%;height: auto;
}

/* 4. Сетка (CSS Grid) и утилиты */
*,
::before,
::after {
  box-sizing: border-box;
}

html {
  box-sizing: border-box;
}

.container {
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--gutter);
}

@media (min-width: 576px) { .container { max-width: 540px; } }
@media (min-width: 768px) { .container { max-width: 720px; } }
@media (min-width: 992px) { .container { max-width: 960px; } }
@media (min-width: 1200px) { .container { max-width: 1140px; } }

/* Ряд: 12-колоночная сетка CSS Grid. По умолчанию колонка занимает всю ширину. */
.row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  margin-inline: calc(var(--gutter) * -1);
}

.row > [class*="col-"] {
  position: relative;
  min-width: 0;
  padding-inline: var(--gutter);
}

/* Колонка по умолчанию на всю ширину (нулевая специфичность, чтобы .col-* её переопределяли) */
:where(.row) > :where([class*="col-"]) {
  grid-column: 1 / -1;
}

.col-12 { grid-column: span 12; }

@media (min-width: 576px) {
  .col-sm-12 { grid-column: span 12; }
}

@media (min-width: 768px) {
  .col-md-4 { grid-column: span 4; }
  .col-md-6 { grid-column: span 6; }
}

@media (min-width: 992px) {
  .col-lg-4 { grid-column: span 4; }
  .col-lg-6 { grid-column: span 6; }
}

@media (min-width: 1200px) {
  .col-xl-4 { grid-column: span 4; }
  .col-xl-6 { grid-column: span 6; }
  .col-xl-8 { grid-column: span 8; }
}

/* Утилиты отображения */
.d-none { display: none !important; }
.d-flex { display: flex !important; }

@media (min-width: 576px) {
  .d-sm-none { display: none !important; }
  .d-sm-block { display: block !important; }
}

@media (min-width: 768px) {
  .d-md-block { display: block !important; }
}

@media (min-width: 992px) {
  .d-lg-none { display: none !important; }
  .d-lg-block { display: block !important; }
  .d-lg-flex { display: flex !important; }
}

.flex-wrap { flex-wrap: wrap !important; }
.justify-content-between { justify-content: space-between !important; }
.align-items-center { align-items: center !important; }

/* 5. Компоненты */
.fx-column {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.text-center {text-align: center;}
.no-scroll {position: fixed;top: 0;left: 0;right: 0;}
.mt-0 {margin-top: 0 !important;}
.i-point {background: url(../img/svg/i-point.svg) center/contain no-repeat;}
.i-phone {background: url(../img/svg/i-phone.svg) center/contain no-repeat;}
.i-clock {background: url(../img/svg/i-clock.svg) center/contain no-repeat;}
.i-car {background: url(../img/svg/i-car.svg) center/contain no-repeat;}
.i-credit {background: url(../img/svg/i-credit.svg) center/contain no-repeat;}
.i-guarantee {background: url(../img/svg/i-guarantee.svg) center/contain no-repeat;}
.i-tradein {background: url(../img/svg/i-tradein.svg) center/contain no-repeat;}
a,
button,
.speed {transition: all .2s;}
button {border: 0;padding: 0;cursor: pointer;background: none;}
body {
  color: var(--c-black);
  font-size: 16px;
  font-weight: 300;
  background: var(--c-white);
  line-height: 1.4;
  font-family: var(--font);
}
.wrapper {
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-content: start;
  overflow: hidden;
  min-height: 100%;
}
.main {
  min-width: 0;
}

/* Каркас страницы: шапка / контент / подвал */
.wrapper > .header { grid-row: 1; }
.wrapper > .main { grid-row: 2; }
.wrapper > .footer { grid-row: 3; }
.btn {
  height: 51px;
  line-height: 1;
  font-size: 12px;
  padding-top: 3px;
  font-weight: 500;
  text-align: center;
  padding-left: 40px;
  padding-right: 40px;
  text-transform: uppercase;
  font-family: var(--font);
}
.btn--primary {
  color: var(--c-black);
  background: var(--c-accent);
}
.btn--primary:hover {
  background: #40bdbd;
}
.btn--second {
  color: var(--c-white);
  background: var(--c-black);
}
.btn--secondBorder {
  color: var(--c-black);
  border: 1px solid var(--c-black);
}
.btn--second:hover,
.btn--secondBorder:hover {
  color: var(--c-black);
  background: var(--c-accent);
  border-color: var(--c-accent);
}
.title {
  text-transform: uppercase;
}
.title--mb {
  margin-bottom: 28px;
}
.title--small h2 {
  font-size: 32px;
}
.title__sub {
  font-size: 20px;
  font-weight: 500;
  margin-top: 14px;
  text-transform: none;
}
.list-default li {
  padding-left: 35px;
  position: relative;
}
.list-default li+li {
  margin-top: 20px;
}
.list-default li:before {
  top: 0;left: 0;
  width: 21px;height: 16px;
  background: url(../img/svg/i-check.svg) center/contain no-repeat;
}
.form__field,
.form__field input {
  width: 100%;
  display: block;
}
.form__field {
  margin-bottom: 15px;
}
.form__field input {
  color: var(--c-black);
  height: 59px;
  padding: 0 15px;
  font-size: 16px;
  font-weight: 300;
  line-height: 59px;
  border: 1px solid var(--c-black);
  font-family: var(--font);
}
.form__field *::-webkit-input-placeholder {color: var(--c-black);}
.form__field *::-moz-placeholder {color: var(--c-black);}
.form__field *:-moz-placeholder {color: var(--c-black);}
.swiper-button {
  border-radius: 50%;
  border: 1px solid var(--c-black);
  width: 48px;height: 48px;
}
.swiper-button:after {
  display: none;
}
.swiper-button svg {
  width: 8px;
  height: 14px;
}
.swiper-button:hover {
  background: var(--c-black);
}
.swiper-button svg path {
  transition: all .2s;
}
.swiper-button:hover svg path {
  stroke: var(--c-white);
}
.swiper-button--white {
  border: 0;
  background: rgba(0, 0, 0, 0.4);
}
.swiper-button--white:hover {
  background: rgba(255, 255, 255, 0.4);
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: 0.4;
  pointer-events: none !important;
}
.swiper-pagination {
  left: 0;right: 0;bottom: 0 !important;
}
.swiper-pagination-bullet {
  margin: 0 6px;
  background: #B2AAAA;
  opacity: 1 !important;
  transition: all .2s;
}
.swiper-pagination-bullet-active {
  background: var(--c-black);
}
.swiper-pagination--green .swiper-pagination-bullet-active {
  background: var(--c-accent);
}
.header {
  z-index: 51;
  font-size: 14px;
  background: var(--c-white);
  padding-top: 22px;
  position: absolute;
  top: 0;left: 0;right: 0;
}
.logo {
  color: var(--c-black);
  font-size: 16px;
  font-weight: normal;
}
.logo img {
  width: 200px;
  flex-shrink: 0;
}
.logo__text {
  margin-left: 30px;
}
.header__badge {
  gap: 6px;
  flex-shrink: 0;
  font-size: 12px;
  color: var(--c-white);
  margin-left: 14px;
  padding: 5px 10px;
  white-space: nowrap;
  border-radius: 20px;
  background: var(--c-text);
}
.cont {
  flex-shrink: 0;
  margin-left: auto;
}
.cont__item {
  color: var(--c-black);
  margin-left: 30px;
}
.cont__item i {
  margin-right: 8px;
  width: 26px;height: 26px;
  flex-shrink: 0;
}
.cont__item span {
  top: 2px;
  position: relative;
}
.cont__item:hover {
  text-decoration: underline;
}
.header__btn {
  flex-shrink: 0;
  margin-left: 20px;
}
.header__btn .btn {
  height: 40px;
  font-size: 12px;
  padding: 0 24px;
}
.header__btn--nav .btn {
  height: 32px;
  font-size: 11px;
  padding: 0 18px;
}
.navbar-toggle {
  z-index: 1;
  margin-left: 40px;
}
.navbar-toggle span {
  display: block;
  position: relative;
  background: var(--c-accent);
  width: 40px;height: 3px;
}
.navbar-toggle .icon-bar+.icon-bar {
  margin-top: 7px;
}
.navbar-toggle.active span:first-child {
  top: 10px;
  transform: rotate(45deg);
}
.navbar-toggle.active span:nth-child(2) {
  opacity: 0;
}
.navbar-toggle.active span:last-child {
  top: -10px;
  transform: rotate(-45deg);
}
.nav {
  padding: 8px 0;
  margin-top: 4px;
  border-top: 1px solid  var(--c-line);
}
.nav__list li {
  margin-right: 50px;
}
.nav__list li a {
  color: var(--c-text);
  font-size: 13px;
  font-weight: normal;
  text-transform: none;
}
.nav__list li a:hover {
  color: var(--c-accent);
}
.header--fix {
  position: fixed;
  animation: header--fix .2s ease-in-out;
  box-shadow: 0 0 10px rgb(0 0 0 / 12%);
}
@keyframes header--fix {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
.hero__item {
  color: var(--c-white);
  height: 600px;
  padding: 60px 0 100px;
  position: relative;
}
.hero__perks {
  position: absolute;
  top: 48px;right: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  color: var(--c-white);
  text-align: right;
  max-width: 370px;
}
.hero__perk {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 64px;
  box-sizing: border-box;
  width: 100%;
  color: var(--c-ink);
  min-width: 0;
  padding: 10px 18px 10px 38px;
  text-decoration: none;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .18));
}
.hero__perk:before {
  content: "";
  position: absolute;
  left: -20px;top: 0;bottom: 0;
  width: 46px;
  background: var(--c-accent);
  clip-path: polygon(26px 0, 46px 0, 20px 100%, 0 100%);
  z-index: 0;
}
.hero__perk:after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--c-white);
  border: 1px solid #e2e2e2;
  clip-path: polygon(26px 0, 100% 0, 100% 100%, 0 100%);
  z-index: 1;
}
.hero__perk+.hero__perk {
  margin-top: 16px;
}
.hero__perk span {
  position: relative;
  z-index: 2;
  display: block;
  color: var(--c-ink);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.35;
  text-align: left;
}
.hero__perk:hover {
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .26));
}
.hero__perk:hover:before {
  background: #3fb8b8;
}
.hero__bg-item {
  z-index: -1;
  position: absolute;
  pointer-events: none;
  top: 0;left: 0;right: 0;bottom: 0;
}
.hero__box {
  margin: 0 124px;
  max-width: 780px;width: 100%;
}
.hero__title {
  font-size:24px;
  font-weight: 500;
}
.hero__title-lg {
  display: block;
  font-family: var(--font);
  font-size: 45px;
  font-weight: 500;
  line-height: 110%;
}
.hero__title-sm {
  display: block;
  margin-top: 12px;
  font-size: 22px;
  font-weight: 400;
}
.hero__btn {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 20px;
}
.hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--c-black);
  font-size: 17px;
  font-weight: 500;
  padding: 16px 28px;
  border-radius: 0;
  white-space: nowrap;
  background: var(--c-accent);
}
.hero__cta,
.header__btn .btn {
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.hero__cta:hover,
.header__btn .btn:hover {
  color: var(--c-black);
  background: var(--c-white);
  box-shadow: inset 0 0 0 1px var(--c-black);
}
.hero__controls {
  z-index: 1;
  position: absolute;
  pointer-events: none;
  top: 0;left: 0;right: 0;bottom: 0;
}
.hero__controls .swiper-button,
.hero__controls .swiper-pagination {
  pointer-events: auto;
}
.hero__controls .swiper-pagination--green {
  padding: 16px;
  border-radius: 100px;
  background: rgba(0, 0, 0, 0.4);
  left: 50%;right: auto;bottom: 12px !important;
  transform: translateX(-50%);
}
.offers {
  padding-top: 50px;
}
.offers .title h2 {
  font-weight: 500;
}
.offers__item {
  margin-top: 80px;
}
.offers__item > [class*="col-"] {
  display: flex;
}
.offers__gallery {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.offers__data {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.offers__item :is(h1, h3) {
  font-size: 32px;
  font-weight: 500;
  text-transform: uppercase;
  display: flex;
  align-items: center;
}
.offers__item :is(h1, h3) span span {
  color: var(--c-accent);
}
.offers__item :is(h1, h3) span a {
  color: var(--c-accent);
}
.offers__item :is(h1, h3) svg {
  top: -3px;
  margin-left: 20px;
  position: relative;
  flex-shrink: 0;
}
.offers__price {
  font-size: 24px;
  margin-top: 14px;
  font-weight: 500;
}
.offers__lead {
  max-width: 330px;
  margin: 2px 0 0;
  font-size: 14px;
  line-height: 1.3;
  color: var(--c-muted);
}
.offers__price p+p {
  margin-top: 4px;
}
.offers__price .tag-ribbon {
  position: relative;
  display: flex;
  align-items: center;
  width: fit-content;
  min-height: 52px;
  margin: 18px 0 0 20px;
  padding: 10px 24px 10px 38px;
  color: var(--c-ink);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .18));
}
.tag-ribbon:before {
  content: "";
  position: absolute;
  left: -20px;top: 0;bottom: 0;
  width: 46px;
  background: var(--c-accent);
  clip-path: polygon(26px 0, 46px 0, 20px 100%, 0 100%);
  z-index: 0;
}
.tag-ribbon:after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--c-white);
  border: 1px solid #e2e2e2;
  clip-path: polygon(26px 0, 100% 0, 100% 100%, 0 100%);
  z-index: 1;
}
.tag-ribbon span {
  position: relative;
  z-index: 2;
}
.offers__info {
  margin-top: 50px;
}
.offers__info li,
.offers__more {
  width: calc(50% - 15px);
}
.offers__info li {
  margin-bottom: 40px;
  display: flex;
  align-items: center;
}
.offers__info li i {
  margin-right: 20px;
  width: 44px;height: 44px;
  flex-shrink: 0;
}
.offers__info li i.i-clock {
  height: 34px;
}
.offers__more {
  margin-top: 10px;
  justify-content: flex-start;
}
.offers__more a {
  color: var(--c-black);
  text-decoration: underline;
}
.offers__more a:hover {
  color: var(--c-accent);
}
.offers__btns {
  margin-top: auto;
  padding-top: 24px;
}
.offers__btns .btn {
  padding-left: 10px;
  padding-right: 10px;
}
.offers__btns .btn:nth-child(1) {
  width: calc(47% - 10px);
}
.offers__btns .btn:nth-child(2) {
  width: calc(53% - 10px);
}
.offers__img {
  position: relative;
  pointer-events: none;
  padding: 47px 20px 11px;
}
.offers__img:after {
  z-index: -1;
  top: 43px;left: 56%;
  background: var(--c-soft);
  width: 85%;height: 245px;
  transform: skew(-20deg) translateX(-50%);
}
.offers__status {
  z-index: 1;
  color: var(--c-black);
  height: 60px;
  top: 0;left: 0;
  padding: 10px 50px;
  position: absolute;
  background: var(--c-accent);
  font-weight: normal;
  transform: skew(-20deg);
}
.offers__status span {
  transform: skew(20deg);
}
.offers__thumbs {
  width: 100%;
  padding: 0 20px;
  margin-top: 20px;
}
.offers__thumb {
  flex: 1;
  height: auto;
  aspect-ratio: 16 / 9;
  padding: 0;
  cursor: pointer;
  overflow: hidden;
  border-radius: 6px;
  background: var(--c-soft);
  border: 2px solid transparent;
}
.offers__thumb+.offers__thumb {
  margin-left: 14px;
}
.offers__thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.offers__thumb:hover {
  border-color: #B7E9E9;
}
.offers__thumb:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}
.offers__img-main {
  transition: opacity .18s ease;
}
.offers__img-main.is-swap {
  opacity: 0;
}
.offers__colors {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 12px;
  padding: 6px 0 0;
}
.offers__color {
  position: relative;
  width: 46px;
  height: 22px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  transform: skew(-20deg);
  transition: transform .15s ease;
}
.offers__color span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--c, var(--c-white));
  border: 1px solid #cfcfcf;
  box-sizing: border-box;
  transition: box-shadow .15s ease, border-color .15s ease;
}
.offers__color:hover {
  transform: skew(-20deg) translateY(-2px);
}
.offers__color.is-active span {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 2px var(--c-accent);
}
.offers__color:focus-visible {
  outline: 2px solid var(--c-text);
  outline-offset: 3px;
}
.offers__color-name {
  margin-left: 6px;
  font-size: 14px;
  color: var(--c-muted);
}
.gmodal {
  position: fixed;
  z-index: 100000;
  top: 0;left: 0;right: 0;bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(17, 17, 17, .88);
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
}
.gmodal.is-open {
  opacity: 1;
  visibility: visible;
}
.gmodal__dialog {
  position: relative;
  width: 100%;
  max-width: 1100px;
}
.gmodal__sl {
  overflow: hidden;
  background: var(--c-dark);
}
.gmodal__slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
.gmodal__slide img {
  display: block;
  width: 100%;
  height: auto;
  max-height: calc(100vh - 140px);
  object-fit: contain;
}
.gmodal__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 12px;
  color: var(--c-white);
  font-size: 16px;
}
.gmodal__close {
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  cursor: pointer;
  color: var(--c-black);
  font-size: 34px;
  line-height: 1;
  background: var(--c-accent);
}
.gmodal__arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: 46px;
  height: 64px;
  margin-top: -10px;
  padding: 0;
  border: 0;
  cursor: pointer;
  color: var(--c-white);
  font-size: 26px;
  background: rgba(17, 17, 17, .55);
}
.gmodal__arrow:hover {
  background: var(--c-accent);
}
.gmodal__arrow--prev {left: 0;}
.gmodal__arrow--next {right: 0;}
.gmodal__arrow.swiper-button-disabled {
  opacity: .3;
  cursor: default;
}
body.is-modal-open {
  overflow: hidden;
}
.models {
  padding-top: 50px;
}
.models .row {
  margin-top: 16px;
}
.models .row [class*='col-'] {
  margin-top: 30px;
}
.models__item {
  height: 100%;
  padding: 0 20px 30px;
  border: 1px solid transparent;
}
.models__img {
  margin-bottom: 20px;
}
.models__name {
  font-size: 28px;
  text-transform: uppercase;
}
.models__name a {
  color: var(--c-accent);
  display: flex;
  justify-content: space-between;
}
.models__name a svg {
  top: 7px;
  margin-left: 15px;
  position: relative;
  flex-shrink: 0;
}
.models__info {
  margin-top: 20px;
  font-weight: 500;
  text-transform: uppercase;
}
.models__info p+p,
.models__desc,
.models__btns {
  margin-top: 30px;
}
.models__desc p+p {
  margin-top: 10px;
}
.models__btns .btn {
  width: 100%;
}
.models__btns .btn:not(:last-child) {
  margin-bottom: 20px;
}
.models__item:hover {
  border-color: var(--c-line);
}
.service {
  padding-top: 50px;
}
.service .title__sub {
  margin-top: 40px;
}
.service .paragraph {
  margin-top: 14px;
}
.service .row [class*='col-'] {
  margin-top: 40px;
}
.service__item,
.service__item * {
  display: block;
}
.service__item {
  height: 100%;
  padding: 20px;
  border: 1px solid var(--c-line);
}
.service__item a {
  color: var(--c-black);
}
.service__item i {
  padding-bottom: 56.3%;
}
.service__item span {
  font-size: 20px;
  margin-top: 20px;
  font-weight: normal;
  text-decoration: underline;
}
.service__item:hover span {
  text-decoration: none;
}
.service__item p {
  display: none !important;
}
.service__btn {
  margin-top: 60px;
}
.stock {
  padding-top: 30px;
}
.stock .title h2 {
  top: 4px;
  margin-right: auto;
  position: relative;
}
.stock .title .swiper-button {
  margin-left: 15px;
}
.stock__sl {
  padding-bottom: 48px;
  position: relative;
  overflow: hidden;
}
.stock__item,
.stock__item *:not(.btn) {
  display: block;
}
.stock__item {
  height: auto;
  padding: 20px 20px 30px;
  border: 1px solid var(--c-line);
  display: flex;
  flex-direction: column;
}
.stock__item a.open-modal-info {
  flex: 1 0 auto;
}
.stock__item i {
  padding-bottom: 67%;
}
.stock__name,
.stock__item .btn {
  margin-top: 20px;
}
.stock__name {
  color: var(--c-black);
  font-size: 20px;
  font-weight: normal;
}
.stock__item:hover .stock__name {
  color: var(--c-accent);
}
.stock__item p {
  display: none !important;
}
.stock__btn {
  margin-top: 60px;
}
.contacts {
  padding-top: 50px;
}
.contacts .title__sub {
  margin-top: 60px;
}
.contacts .row {
  margin-top: 40px;
}
.contacts__img {
  display: block;
  min-height: 258px;
  padding-bottom: 56%;
}
.contacts__list {
  max-width: 340px;
  flex: 1 0 auto;
}
.contacts__list li,
.contacts__list li a {
  display: flex;
}
.contacts__list li:not(:last-child) {
  margin-bottom: 30px;
}
.contacts__list li a {
  color: inherit;
}
.contacts__list li a:hover {
  text-decoration: underline;
}
.contacts__list li svg {
  top: -3px;
  margin-right: 8px;
  position: relative;
  flex-shrink: 0;
}
.contacts .more {
  margin-top: 50px;
  padding-left: 34px;
}
.contacts .more a {
  color: var(--c-black);
  font-size: 14px;
  text-decoration: underline;
}
.contacts .more a svg {
  margin-left: 15px;
  flex-shrink: 0;
}
.contacts .more a:hover {
  text-decoration: none;
}
.contacts__map-wrap {
  position: relative;
  margin-top: 40px;
}
.map {
  height: 520px;
  border-radius: 16px;
  overflow: hidden;
}
.contacts__float-card {
  position: absolute;
  top: 30px;left: 30px;
  z-index: 2;
  width: max-content;
  max-width: 460px;
  background: var(--c-white);
  border-radius: 14px;
  padding: 30px;
  box-shadow: 0 10px 40px rgba(0,0,0,.15);
}
.contacts__float-card .contacts__list {
  max-width: none;
}
.contacts__float-card .more {
  margin-top: 30px;
}
.map {
  position: relative;
}
.map-label {
  position: absolute;
  left: 50%;top: 50%;
  z-index: 1000;
  width: max-content;
  max-width: calc(100% - 24px);
  transform: translate(-50%, calc(-100% - 34px));
  pointer-events: none;
  text-align: center;
  white-space: normal;
  font-family: var(--font);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.15;
  color: var(--c-ink);
  text-shadow: -1px -1px 0 var(--c-white), 1px -1px 0 var(--c-white), -1px 1px 0 var(--c-white), 1px 1px 0 var(--c-white), 0 0 4px var(--c-white);
}
.map-caption {
  white-space: nowrap;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  color: var(--c-ink);
  text-shadow: -1px -1px 0 var(--c-white), 1px -1px 0 var(--c-white), -1px 1px 0 var(--c-white), 1px 1px 0 var(--c-white), 0 0 4px var(--c-white);
}
.reviews {
  padding-top: 50px;
}
.reviews__sl {
  overflow: hidden;
}
.reviews__list {
  margin-top: 16px;
}
.reviews__slide {
  height: auto;
}
.reviews__nav {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 24px;
}
.reviews__ratings {
  margin-top: 36px;
}
.reviews__rating-card {
  height: 100%;
  padding: 18px 22px;
  border-radius: 14px;
  background: var(--c-white);
  box-shadow: 0 2px 14px rgba(0,0,0,.08);
}
.reviews__rating-icon {
  width: 34px;
  height: 34px;
  margin-right: 16px;
  flex-shrink: 0;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
}
.reviews__rating-icon--yandex {
  background: var(--c-accent);
}
.reviews__rating-icon--2gis {
  background: var(--c-accent);
}
.reviews__rating-icon--google {
  background: var(--c-accent);
}
.reviews__rating-stars {
  color: var(--c-accent);
  font-size: 16px;
  letter-spacing: 2px;
}
.reviews__rating-text {
  margin-top: 4px;
  font-size: 14px;
  color: #4B4B4B;
}
.reviews__card {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.reviews__img {
  display: block;
  padding-bottom: 66%;
  position: relative;
  background: var(--c-soft);
  border-radius: 6px;
  overflow: hidden;
}
.reviews__img img {
  top: 0;left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
}
.reviews__head {
  margin-top: 20px;
}
.reviews__name {
  font-size: 18px;
  font-weight: 500;
}
.reviews__stars {
  color: var(--c-accent);
  font-size: 16px;
  margin-top: 8px;
  letter-spacing: 2px;
}
.reviews__text {
  margin-top: 12px;
  color: #4B4B4B;
  line-height: 1.5;
}
.reviews__text strong {
  color: var(--c-black);
}
.text {
  padding-top: 24px;
  padding-bottom: 0;
  color: var(--c-white);
  background: var(--c-text);
}
.accordion > li {
  padding: 24px 40px;
  border: 1px solid rgba(255, 255, 255, .35);
}
.accordion__head {
  cursor: pointer;
  font-weight: 500;
  position: relative;
  padding-right: 50px;
}
.accordion__icon {
  top: 50%;right: 0;
  position: absolute;
  width: 18px;height: 11px;
  background: url(../img/svg/i-arrow-down.svg) center/contain no-repeat;
  transform: translateY(-50%);
  filter: brightness(0) invert(1);
}
.accordion__body {
  display: none;
  font-size: 14px;
}
.accordion__body p {
  margin-top: 25px;
}
.accordion > li.active .accordion__icon {
  transform: translateY(-50%) rotate(180deg);
}
.text .paragraph {
  margin-top: 40px;
}
.text .paragraph :is(h1, h2) {
  font-size: inherit;
  font-weight: inherit;
}
.text .paragraph p {
  margin-top: 15px;
}
.footer-menu {
  color: var(--c-white);
  background: var(--c-text);
  padding: 60px 0;
}
.footer-menu__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.footer-menu__brand {
  flex: 0 0 auto;
  max-width: 460px;
}
.footer-menu__logo {
  height: 26px;
  width: auto;
  display: block;
  flex-shrink: 0;
  filter: brightness(0) invert(1);
}
.footer-menu__brand-row {
  margin-bottom: 20px;
}
.footer-menu__tagline {
  font-size: 14px;
  margin-left: 16px;
  color: var(--c-white);
}
.footer-menu__tagline--below {
  display: block;
  margin-left: 0;
}
.footer-menu__col h4 {
  font-size: 15px;
  margin-bottom: 24px;
  text-transform: uppercase;
  color: var(--c-white);
}
.footer-menu__col ul li:not(:last-child) {
  margin-bottom: 16px;
}
.footer-menu__col ul li a {
  color: var(--c-white);
  font-size: 14px;
  display: block;
}
.footer-menu__col ul li a:hover {
  color: var(--c-accent);
}
.footer-menu__contacts {
  display: flex;
  flex-direction: column;
}
.footer-menu__address,
.footer-menu__tel {
  color: var(--c-white);
  display: block;
  font-size: 14px;
}
.footer-menu__address {
  margin-bottom: 12px;
}
.footer-menu__address:hover,
.footer-menu__tel:hover {
  color: var(--c-accent);
}
.footer-menu__btn {
  height: 44px;
  font-size: 12px;
  margin-top: 20px;
  padding: 0 24px;
}
.footer {
  font-size: 14px;
  padding: 20px 0 60px;
  color: var(--c-white);
  background: var(--c-text);
}
.policy {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 30px;
}
.policy a {
  color: inherit;
  text-decoration: underline;
}
.policy a:hover {
  text-decoration: none;
}
.copyright {
  margin-top: 20px;
}
.footer__footnote {
  margin: 0;
  font-size: 12px;
  opacity: .7;
}
.modal {
  z-index: 99;
  display: none;
  overflow: auto;
  position: fixed;
  background: rgb(0 0 0 / 68%);
  top: 0;left: 0;right: 0;bottom: 0;
}
.fullScreen {
  padding: 50px 0;
  min-height: 100%;
}
.modal__box {
  padding: 50px;
  background: var(--c-white);
  position: relative;
  max-width: 600px;width: 96%;
}
.modal__close {
  position: absolute;
  top: 15px;right: 15px;
}
.modal__close:hover {
  opacity: .6;
}
.modal h3 {
  margin-bottom: 35px;
}
.modal .btn {
  width: 100%;
}
.modal--info .modal__box {
  max-width: 740px;
}
.modal__info {
  font-size: 20px;
}
.card-hero {
  min-height: 400px;
  position: relative;
}
.card-hero__img {
  position: absolute;
  top: 0;left: 0;right: 0;bottom: 0;
}
.card-info {
  padding-top: 40px;
}
.card-info__item {
  line-height: 1;
  padding: 29px 40px;
  text-align: center;
  border: 1px solid var(--c-black);
}
.card-info__item svg {
  display: block;
  margin: 0 auto;
}
.card-info__item span {
  display: block;
  font-size: 20px;
  margin-top: 14px;
}
.card-info__item p {
  margin-top: 14px;
}
.card-review {
  padding-top: 120px;
}
.card-review__heading h2 {
  font-weight: 500;
}
.card-review__heading p {
  margin: 20px auto 0;
  text-transform: none;
  max-width: 940px;width: 100%;
}
.card-review__inner,
.accordion-inner {
  margin-top: 120px;
}
.card-review__inner p {
  margin-bottom: 40px;
  font-weight: normal;
}
.card-review__inner img {
  width: 100%;
  display: block;
}
.accordion-inner > li {
  border-bottom: 1px solid var(--c-line);
}
.accordion-inner__head {
  font-size: 20px;
  cursor: pointer;
  font-weight: 500;
  min-height: 108px;
  position: relative;
  display: flex;
  align-items: center;
  padding: 15px 70px 15px 0;
}
.accordion-inner__head:after {
  top: 50%;right: 42px;
  width: 18px;height: 10px;
  background: url(../img/svg/i-arrow-down-green.svg) center/contain no-repeat;
  transform: translateY(-50%);
  transition: all .2s;
}
.accordion-inner__body {
  display: none;
  padding-bottom: 40px;
}
.accordion-inner__body .list-default li+li {
  margin-top: 26px;
}
.accordion-inner > li.active .accordion-inner__head:after {
  transform: translateY(-50%) rotate(180deg);
}
.characteristics {
  padding-top: 120px;
}
.characteristics .title p {
  margin: 20px auto 0;
  text-transform: none;
  max-width: 1316px;width: 100%;
}
.table+.table {
  margin-top: 40px;
}
.table p {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 20px;
}
.table__item {
  padding: 14px 0;
  min-height: 74px;
  border-top: 1px solid var(--c-accent);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.table__item:last-child {
  border-bottom: 1px solid var(--c-accent);
}
.table__item span {
  width: 49%;
}
.table__left {
  font-size: 14px;
}
.table__right {
  text-align: right;
  font-weight: normal;
}
.offers__img a {
    pointer-events: auto;
}
.stock .stock__sl {
    padding-bottom: 0;
}
.stock .swiper-pagination {
    display: none;
}
.offers__item:nth-child(1) {
    margin-top: 0;
}
.modal__info-img i {
  display: block;
  width: 100%;
  padding-bottom: 67%;
}
.offers__img:after,
.list-default li:before,
.accordion-inner__head:after {
  content: " ";
  position: absolute;
}
.main-banner-block {
  background: var(--c-muted);
  color: var(--c-white);
  padding: 30px 0;
}
.main-banner-block__row {
  display: flex;
  flex-wrap: wrap;
  margin: -15px;
  align-items: center;
  justify-content: center;
}
.main-banner-block__left {
  padding: 15px;
  flex: 0 1 auto;
  width: auto;
  max-width: 100%;
  text-align: left;
  font-size: 22px;
 
}
.main-banner-block__right {
  padding: 15px;
  flex: 0 1 auto;
  width: auto;
  max-width: 100%;
  font-size: 22px;
}
.countdown {
  gap: 6px;
  color: var(--c-dark);
  display: inline-flex;
  font-size: 13px;
  font-weight: 500;
  margin-left: 12px;
  padding: 4px 10px;
  vertical-align: middle;
  border-radius: 20px;
  background: var(--c-accent);
  white-space: nowrap;
}
.main-banner-block__right--timer {
  gap: 16px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.countdown--lg {
  margin-left: 0;
  font-size: 18px;
  font-weight: 300;
  padding: 10px 22px;
  border-radius: 30px;
}
.ah-main-product__row {
  display: flex;
  flex-wrap: wrap;
  margin: -15px;
}
.ah-main-product__col {
  padding: 15px;
  flex: 0 0 auto;
  width: 33.333%;
  max-width: 100%;
}
.ah-main-product__col .stock__item {
  height: 100%;
}
@media (max-width:1199.98px) {
.ah-main-product__row {
    margin: -5px;
  }
.ah-main-product__col {
    padding: 5px;
    flex: 0 0 auto;
    width: 50%;
    max-width: 100%;
  }
}
@media (max-width:991.98px) {
.main-banner-block__left {
    font-size: 20px;
  }
.main-banner-block__right {
    font-size: 16px;
  }
.countdown--lg {
    font-size: 16px;
    padding: 8px 16px;
  }
.main-banner-block__right--timer {
    flex-wrap: wrap;
    justify-content: center;
  }
.main-banner-block {
    width: calc(100% - 30px);
    max-width: 480px;
    margin: 20px auto 0;
    padding: 20px 0;
    border-radius: 6px;
  }
.main-banner-block .container {
    max-width: none !important;
    padding: 0 16px;
  }
.main-banner-block__row {
    margin: 0;
  }
.main-banner-block__left,
.main-banner-block__right {
    flex: 0 0 100%;
    width: 100%;
    text-align: center;
    padding: 0;
  }
.main-banner-block__left {
    margin-bottom: 12px;
  }
.countdown--lg {
    flex: 1 1 100%;
    min-width: 0;
    justify-content: center;
    box-sizing: border-box;
    padding: 10px 8px;
    font-size: min(16px, calc((100vw - 50px) / 25));
  }
}
@media (max-width:767.98px) {
.ah-main-product__row {
    margin: -20px 0;
  }
.ah-main-product__col {
    padding: 20px 0;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
  }
.ah-main-product__col .stock__item {
    width: 100%;
  }
.main-banner-block {
    margin-top: 20px;
    max-width: none;
  }
.main-banner-block__row {
    margin: 0;
  }
.main-banner-block__left,
.main-banner-block__right {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    text-align: center;
    padding: 0;
  }
.main-banner-block__right--timer {
    justify-content: center;
  }
.countdown--lg {
    flex: 1 1 100%;
    justify-content: center;
    box-sizing: border-box;
    padding: 10px 8px;
    font-size: min(16px, calc((100vw - 50px) / 25));
  }
}
.about-block {
  margin-top: 20px;
  margin-bottom: 20px;
}
.about-block__row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}
.about-block__left {
  flex: 0 0 auto;
  width: 50%;
  max-width: 100%;
  padding: 0 15px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.about-block__right {
  flex: 0 0 auto;
  width: 50%;
  max-width: 100%;
  padding: 0 15px;
}
.about-block__img {
  height: 100%;
}
.about-block__img img {
  max-width: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.about-block__heading {
  margin-bottom: 20px;
}
.about-block__title {
  margin-bottom: 20px;
  text-transform: none;
}
.about-block__text {
  margin-bottom: 20px;
  text-transform: none;
}
.about-block__btn {
  display: flex;
  margin-top: 20px;
}
.main-about-text {
  text-transform: none;
}
.main-about-text p:not(:last-child) {
  margin-bottom: 20px;
}
@media (max-width:991px) {
.about-block__left {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    order: 1;
    margin-top: 20px;
  }
.about-block__right {
   flex: 0 0 auto;
   width: 100%;
   max-width: 100%;
  }
}
.ah-form-checkbox {
  margin: 0;
  display: block;
  position: relative;
  cursor: pointer;
  user-select: none;
  margin-bottom: 15px;
}
.ah-form-checkbox input {
  width: 1px;
  height: 1px;
  outline: none;
  border: none;
  position: absolute;
  top: 10px;
  left: 10px;
}
.ah-form-checkbox input:checked + span:before {
  background: #4DCDCD url("data:image/svg+xml;base64,CTxzdmcgdmlld0JveD0iMCAwIDgwMCA4MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZmlsbD0iI2ZmZiI+DQoJCTxwYXRoIGQ9Ik02NDMuNzk3IDE5Mi40MTZDNjU2Ljg5OSAxODAuMDQ4IDY3Ny41NDkgMTgwLjMyIDY5MC4zMTkgMTkzLjE3OEM3MDMuMjkxIDIwNi4yNDEgNzAzLjIxNyAyMjcuMzQ3IDY5MC4xNTQgMjQwLjMxOUwzMjAuOTI0IDYwNi45ODZDMzA3LjkyNiA2MTkuODk0IDI4Ni45NDYgNjE5Ljg5MyAyNzMuOTQ3IDYwNi45ODVMMTA5Ljg0NSA0NDQuMDIyTDEwOS4yNDIgNDQzLjQwOEM5Ni43ODM2IDQzMC4zOTIgOTYuOTExOCA0MDkuNzQxIDEwOS42ODEgMzk2Ljg4MkMxMjIuNDUgMzg0LjAyNCAxNDMuMTAxIDM4My43NTEgMTU2LjIwMyAzOTYuMTE5TDE1Ni44MjEgMzk2LjcxN0wyOTcuNDM2IDUzNi4zNTVMNjQzLjE3OSAxOTMuMDE0TDY0My43OTcgMTkyLjQxNloiLz4NCgk8L3N2Zz4g") center / 15px 15px no-repeat;
}
.ah-form-checkbox span {
  display: block;
  position: relative;
  padding-left: 30px;
}
.ah-form-checkbox span a {
  text-decoration: underline;
  color: inherit;
}
.ah-form-checkbox span a:hover {
  text-decoration: none;
}
.ah-form-checkbox span:before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 2px;
  border: 1px solid var(--c-accent);
  position: absolute;
  left: 0;
  top: -1px;
  z-index: 1;
}
#cookie_notification {
  display: none;
  justify-content: space-between;
  align-items: flex-end;
  position: fixed;
  bottom: 15px;
  left: 50%;
  z-index: 99999;
  width: 900px;
  max-width: 90%;
  transform: translateX(-50%);
  padding: 25px;
  background-color: white;
  border-radius: 4px;
  box-shadow: 2px 3px 10px rgba(0, 0, 0, 0.4);
}
#cookie_notification p {
  margin: 0;
  font-size: 0.7rem;
  text-align: left;
}
#cookie_notification p a {
  color: inherit;
  text-decoration: underline;
}
@media (min-width: 576px) {
#cookie_notification.show {
    display: flex;
  }
.cookie_accept {
    margin: 0 0 0 25px;
  }
}
@media (max-width: 575px) {
#cookie_notification.show {
    display: block;
    text-align: left;
  }
.cookie_accept {
    margin: 10px 0 0 0;
  }
}
.stock__item .text-for-modal-js__desc {
  display: none;
}
.modal__info p ul li {
  list-style: disc;
}

/* 6. Адаптив */
@media only screen and (max-width : 1439px) {
h1,
h2 {
    font-size: 32px;
  }
.title--small h2 {
    font-size: 28px;
  }
.title__sub {
    font-size: 16px;
  }
.btn {
    height: 44px;
    font-size: 12px;
    padding-left: 25px;
    padding-right: 25px;
  }
.header {
    font-size: 12px;
  }
.logo {
    font-size: 13px;
  }
.logo img {
    width: 170px;
  }
.logo__text,
.cont__item {
    margin-left: 30px;
  }
.cont__item span {
    top: 1px;
  }
.nav__list li {
    margin-right: 30px;
  }
.nav {
    padding: 6px 0;
    margin-top: 2px;
  }
.hero__box {
    margin: 0 90px;
    max-width: 480px;
  }
.hero__title {
    font-size: 28px;
  }
.hero__title-sm {
    font-size: 24px;
  }
.offers__item {
    margin-top: 40px;
  }
.offers__item+.offers__item {
    margin-top: 60px;
  }
.offers__item :is(h1, h3) {
    font-size: 28px;
  }
.offers__price {
    font-size: 20px;
  }
.offers__info li,
.offers__more a {
    font-size: 14px;
  }
.models__btns .btn {
    padding-left: 10px;
    padding-right: 10px;
  }
.card-info__item {
    padding: 20px;
  }
}
@media only screen and (max-width : 1199px) {
.row {margin-left: -5px;margin-right: -5px;}
.row [class*='col-'] {padding-left: 5px;padding-right: 5px;}
.title--mb {
    margin-bottom: 24px;
  }
.offers {
    padding-top: 35px;
  }
.offers__data {
    padding-top: 40px;
  }
.offers__item :is(h1, h3) svg {
    margin-left: 15px;
    width: 7px;height: 13px;
  }
.offers__price {
    font-size: 24px;
  }
.offers__info li,
.offers__more a {
    font-size: 16px;
  }
.models {
    padding-top: 40px;
  }
.models .row [class*='col-'] {
    margin-top: 10px;
  }
.models__item {
    border-color: var(--c-line);
  }
.service {
    padding-top: 35px;
  }
.service .title__sub {
    margin-top: 20px;
  }
.stock {
    padding-top: 30px;
  }
.stock__sl {
    padding-bottom: 38px;
  }
.stock__item {
    padding: 10px 10px 20px;
  }
.stock__btn {
    margin-top: 40px;
  }
.contacts {
    padding-top: 35px;
  }
.reviews {
    padding-top: 35px;
  }
.reviews__ratings {
    margin-top: 24px;
  }
.reviews__ratings > [class*="col-"]:not(:last-child) {
    margin-bottom: 16px;
  }
.contacts .title__sub {
    margin-top: 40px;
  }
.contacts .row {
    margin-top: 30px;
  }
.map {
    height: 340px;
    
  }
.text,
.footer {
    padding-top: 20px;
  }
.card-hero {
    min-height: 272px;
  }
.card-info__item p {
    font-size: 14px;
  }
.card-review {
    padding-top: 60px;
  }
.card-review__inner,
.accordion-inner {
    margin-top: 60px;
  }
.accordion-inner__head {
    min-height: 88px;
  }
.characteristics {
    padding-top: 60px;
  }
.characteristics .row [class*='col-']:not(:last-child) {
    margin-bottom: 40px;
  }
.table p {
    font-size: 16px;
  }
}
@media only screen and (max-width : 991px) {
.map {
    margin-top: 0;
  }
.list-default li+li {
    margin-top: 14px;
  }
.header {
    font-size: 14px;
    padding: 14px 0;
    position: fixed;
    animation: none !important;
    transform: initial !important;
  }
.logo {
    font-size: 16px;
  }
.logo__text span {
    display: none;
  }
.footer-menu__tagline span {
    display: none;
  }
.header__badge {
    font-size: 11px;
    margin-left: 8px;
    padding: 4px 8px;
  }
.header__badge svg {
    width: 12px;height: 12px;
  }
.cont__item {
    font-size: 0;
    margin-left: 16px;
    width: 32px;height: 32px;
  }
.cont__item i {
    margin-right: 0;
    width: 100%;height: 100%;
  }
.nav {
    z-index: -1;
    display: none;
  }
.nav.is-open {
    display: block;
  }
.nav {
    margin-top: 0;
    padding: 20px 0;
    position: fixed;
    overflow-y: auto;
    background: var(--c-white);
    top: 76px;left: 0;right: 0;bottom: 0;
  }
.nav__body {
    margin-top: 50px;
  }
.nav__list li {
    margin: 0 0 15px;
  }
.hero__item {
    color: var(--c-black);
    height: 900px;
    text-align: center;
    padding: 30px 0 60px;
  }
.hero__box {
    margin: 0 auto;
  }
.hero__perks {
    position: static;
    max-width: 510px;
    margin: 24px auto 0;
    padding: 0 15px;
    flex-direction: column;
  }
.hero__perk,
.hero__cta {
    width: 100%;
  }
.hero__cta {
    color: var(--c-white);
    background: var(--c-dark);
    font-size: 14px;
    letter-spacing: .5px;
    text-transform: uppercase;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
  }
.hero__cta:hover {
    color: var(--c-black);
    background: var(--c-white);
    box-shadow: inset 0 0 0 1px var(--c-black);
  }
.hero__btn {
    position: static;
    left: auto;bottom: auto;
    transform: none;
    margin-top: 15px;
    flex-direction: column;
    gap: 10px;
  }
.models__img {
    margin-bottom: 10px;
  }
.models__info {
    margin-top: 10px;
  }
.models__btns .btn:not(:last-child) {
    margin-bottom: 10px;
  }
.service__item {
    padding: 20px 20px 30px;
  }
.service__btn {
    margin-top: 40px;
  }
.stock__item i {
    padding-bottom: 80%;
  }
.card-info {
    padding-top: 4px;
  }
.card-info .row [class*='col-'] {
    margin-top: 16px;
  }
.card-info__item {
    padding: 12px 20px;
  }
.card-info__item p {
    font-size: 16px;
  }
.card-review__heading {
    text-align: left;
  }
.card-review__inner .title {
    text-align: center;
    margin-bottom: 24px;
  }
.card-review__inner .row [class*='col-']:not(:last-child) {
    margin-bottom: 24px;
  }
.card-review__inner p {
    text-align: center;
    margin-bottom: 20px;
  }
.accordion-inner {
    margin-top: 40px;
  }
.accordion-inner__head {
    min-height: 66px;
    padding: 10px 30px 10px 0;
  }
.accordion-inner__head:after {
    right: 5px;
  }
.accordion-inner__body {
    padding-bottom: 20px;
  }
}
@media only screen and (max-width : 767px) {
.container {max-width: 100% !important;}
.contacts__float-card {
    position: static;
    width: auto;
    max-width: 100%;
    margin-bottom: 20px;
    padding: 20px;
  }
.map {
    height: 320px;
  }
.footer-menu__row {
    flex-direction: column;
  }
.footer-menu__brand {
    max-width: 100%;
    margin-bottom: 36px;
  }
.footer-menu__col {
    margin-bottom: 30px;
  }
.footer-menu__contacts {
    margin-bottom: 0;
  }
h1,
h2 {
    font-size: 24px;
  }
.title--small h2 {
    font-size: 20px;
  }
.title--mb {
    margin-bottom: 20px;
  }
.title__sub {
    margin-top: 12px;
  }
.btn {
    width: 100%;
    height: 51px;
    font-size: 12px;
    padding-left: 20px;
    padding-right: 20px;
  }
.swiper-button {
    width: 36px;height: 36px;
  }
.swiper-button svg {
    width: 6px;height: 11px;
  }
.header {
    padding: 10px 0 14px;
    box-shadow: 0 0 10px rgb(0 0 0 / 9%);
  }
.logo {
    width: 156px;
    font-size: 14px;
    flex-wrap: wrap;
    justify-content: center;
  }
.logo img {
    width: 140px;
  }
.logo__text {
    width: 100%;
    margin: 10px 0 0;
  }
.header__body {
    position: relative;
    align-items: flex-start !important;
  }
.header__badge {
    position: absolute;
    right: 15px;left: auto;top: 33.5px;
    margin: 0;
    font-size: 10px;
    padding: 3px 7px;
    gap: 5px;
  }
.cont {
    margin-left: auto;
  }
.cont__item {
    margin-left: 12px;
    width: 26px;height: 26px;
  }
.navbar-toggle {
    margin-left: 24px;
    height: 26px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
.navbar-toggle span {
    width: 36px;height: 2px;
  }
.navbar-toggle .icon-bar+.icon-bar {
    margin-top: 6px;
  }
.navbar-toggle.active span:first-child {
    top: 8px;
  }
.navbar-toggle.active span:last-child {
    top: -8px;
  }
.nav {
    top: 71px;
  }
.nav__body {
    margin-top: 28px;
  }
.hero__item {
    padding: 0;
    height: initial;
  }
.hero__bg-item,
.hero__controls {
    padding-bottom: 78%;
  }
.hero__bg-item {
    position: static;
  }
.hero__box {
    max-width: 100%;
    margin-top: 32px;
  }
.hero__title {
    font-size: 20px;
  }
.hero__title-lg {
    font-size: 32px;
  }
.hero__title-sm {
    font-size: 18px;
    margin-top: 8px;
  }
.hero__perks {
    max-width: none;
    margin-top: 18px;
  }
.hero__perk {
    padding: 12px 16px 12px 34px;
  }
.hero__perk span {
    font-size: 15px;
  }
.hero__btn {
    margin-top: 12px;
  }
.hero__controls {
    bottom: auto;
  }
.hero__controls .swiper-pagination--green {
    padding: 0;
    background: transparent;
    bottom: 26px !important;
  }
.hero__controls .swiper-button {
    margin-top: 0;
    top: auto;bottom: 12px;
  }
.hero__cta {
    padding: 12px 16px;
    font-size: 15px;
    white-space: normal;
  }
.offers__img {
    padding: 45px 0 0;
  }
.offers__status {
    height: 40px;
    font-size: 14px;
    padding: 5px 10px;
  }
.offers__img:after {
    top: 22px;
    height: 115px;
  }
.offers__thumbs {
    margin-top: 16px;
    padding: 0;
  }
.offers__colors {
    padding: 8px 0 0;
    gap: 8px 10px;
  }
.offers__color {
    width: 38px;
    height: 20px;
  }
.gmodal {
    padding: 12px;
  }
.gmodal__arrow {
    width: 38px;
    height: 54px;
  }
.offers__thumb+.offers__thumb {
    margin-left: 10px;
  }
.offers__data {
    padding-top: 30px;
  }
.offers__item :is(h1, h3) {
    font-size: 24px;
    align-items: flex-start;
  }
.offers__item :is(h1, h3) svg {
    top: 7px;
  }
.offers__price {
    font-size: 20px;
  }
.offers__info {
    margin-top: 40px;
    flex-wrap: wrap;
  }
.offers__info li,
.offers__more {
    width: 100%;
  }
.offers__info li {
    margin-bottom: 20px;
  }
.offers__info li i {
    margin-right: 14px;
    width: 40px;height: 40px;
  }
.offers__info li i.i-clock {
    height: 30px;
  }
.offers__more,
.offers__btns {
    margin-top: 20px;
  }
.offers__btns {
    flex-wrap: wrap;
  }
.offers__btns .btn {
    width: 100% !important;
  }
.offers__btns .btn+.btn {
    margin-top: 20px;
  }
.models {
    padding-top: 35px;
  }
.models .row {
    margin-top: 0;
  }
.models .row [class*='col-'] {
    margin-top: 30px;
  }
.models .row [class*='col-'] + [class*='col-'] {
    margin-top: 40px;
  }
.models__item {
    padding: 0 10px 20px;
  }
.models__info p+p,
.models__desc,
.models__btns {
    margin-top: 20px;
  }
.service__item {
    padding: 0;
  }
.service__item span {
    padding: 20px;
    margin-top: 0;
    font-size: 16px;
  }
.stock .title .swiper-button {
    margin-left: 10px;
  }
.stock__sl {
    overflow: hidden;
    padding-bottom: 28px;
  }
.stock__item {
    width: 100%;
  }
.stock__item i {
    padding-bottom: 67%;
  }
.stock__name {
    font-size: 16px;
    text-align: center;
  }
.stock__item .btn {
    margin-top: 14px;
    padding-left: 10px;
    padding-right: 10px;
  }
.contacts .row {
    margin-top: 0;
  }
.contacts__list li:not(:last-child) {
    margin-bottom: 20px;
  }
.contacts .more {
    margin-top: 40px;
  }
.contacts .more a {
    width: 100%;
    justify-content: space-between;
  }
.contacts__img {
    min-height: auto;
  }
.text,
.footer {
    padding-top: 20px;
  }
.accordion > li {
    padding: 14px 10px;
  }
.accordion__head {
    top: 2px;
    font-weight: 300;
    padding-right: 30px;
  }
.accordion__body p {
    margin-top: 20px;
  }
.text .paragraph {
    margin-top: 30px;
  }
.footer {
    font-size: 14px;
    padding-bottom: 40px;
  }
.modal__box {
    padding: 50px 15px;
  }
.modal h3 {
    margin-bottom: 25px;
  }
.modal__info {
    font-size: 17px;
  }
.offers--card {
    padding-top: 40px;
  }
.card-review__heading h2 {
    font-size: 28px;
  }
.card-review__inner .title h2 {
    font-size: 32px;
  }
.table__right {
    font-size: 14px;
  }
}
@media only screen and (max-width : 480px) {
.offers__img:after {
    width: 79%;
  }
.service__item i {
    padding-bottom: 60%;
  }
}
@media only screen and (max-width : 359px) {
h1,
h2 {
    font-size: 22px;
  }
.logo {
    width: 134px;
    font-size: 12px;
  }
.cont__item {
    margin-left: 8px;
  }
.nav {
    top: 67px;
  }
.hero__title {
    font-size: 18px;
  }
.hero__title-lg {
    font-size: 26px;
  }
.hero__title-sm {
    font-size: 16px;
  }
.offers__item :is(h1, h3) {
    font-size: 22px;
  }
.offers__price {
    font-size: 16px;
  }
.offers__status {
    font-size: 12px;
  }
.offers__info li,
.offers__more a {
    font-size: 13px;
  }
.offers__btns .btn {
    font-size: 11px;
  }
.models__name {
    font-size: 24px;
  }
.models__info,
.models__desc {
    font-size: 13px;
  }
.models__btns .btn {
    font-size: 10px;
  }
.stock__item {
    width: 100%;
  }
.contacts__list li {
    font-size: 14px;
  }
.accordion__head,
.accordion__body,
.text .paragraph {
    font-size: 14px;
  }
.card-info__item p {
    font-size: 14px;
  }
.card-review__heading h2 {
    font-size: 22px;
  }
.card-review__inner .title h2 {
    font-size: 26px;
  }
.table__item span {
    font-size: 12px;
  }
}
@media only screen and (min-width : 992px) {
.nav {
    display: block !important;
  }
.models__info br {
    display: none;
  }
/* порядок колонок справа налево (аналог row-reverse для Grid) */
  .card-review__inner .row {
    direction: rtl;
  }
  .card-review__inner .row > * {
    direction: ltr;
  }
}
@media only screen and (min-width : 1200px) {
/* в каталоге картинка справа, текст слева */
  .offers__item {
    direction: rtl;
  }
  .offers__item > * {
    direction: ltr;
  }
}
@media only screen and (min-width : 1440px) {
.container {
    max-width: 1470px;
  }
}

/* Фото на странице «О компании» */
.about__photo {
  float: right;
  max-width: 100%;
  height: auto;
  margin: 20px;
}

/* 7. Доступность */
/* Ссылка «Перейти к содержанию» для клавиатуры и скринридеров */
.skip-link {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 100001;
  padding: 10px 16px;
  color: var(--c-white);
  background: var(--c-dark);
  transform: translateY(-200%);
}

.skip-link:focus {
  transform: none;
}

/* Видимый фокус только при работе с клавиатуры */
:focus-visible {
  outline: 2px solid var(--c-black);
  outline-offset: 2px;
}

.footer :focus-visible,
.hero :focus-visible,
.gmodal :focus-visible {
  outline-color: var(--c-white);
}

/* Скрытый визуально, но доступный текст */
.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* Уважаем настройку «уменьшить движение» */
@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Breadcrumbs */
.breadcrumbs {
  padding: 16px 0 0;
  font-size: 13px;
  color: var(--c-muted);
}
.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
.breadcrumbs li + li::before {
  content: "›";
  margin: 0 8px;
  color: var(--c-muted);
}
.breadcrumbs a { color: var(--c-muted); text-decoration: underline; text-underline-offset: 2px; }
.breadcrumbs a:hover { color: var(--c-black); }
.breadcrumbs [aria-current] { color: var(--c-text); }

/* Related models */
.related { padding: 60px 0 20px; }
.related__list {
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
}
.related__item {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 16px;
  border: 1px solid var(--c-line);
  color: var(--c-black);
  text-decoration: none;
  transition: border-color .2s, box-shadow .2s;
}
.related__item:hover,
.related__item:focus-visible {
  border-color: var(--c-accent);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
}
.related__img {
  display: block;
  aspect-ratio: 16 / 9;
  margin-bottom: 14px;
}
.related__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.related__name {
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
}
.related__price {
  margin-top: 6px;
  font-size: 14px;
  color: var(--c-muted);
}
@media (max-width: 1199px) {
  .related__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .related { padding-top: 40px; }
  .related__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .related__item { padding: 12px; }
}

/* Mobile header v3: badge in the top row between logo and contacts */
@media (max-width: 767px) {
  .header { padding: 10px 0 10px; }
  .header__body > .logo { margin-right: 6px; }
  .header__badge {
    position: static;
    margin: 3px auto 0;
    left: auto; right: auto; top: auto;
  }
  .cont { margin-left: 0; }
  .nav { top: 56px; }
  .nav__body { margin-top: 38px; }
}
@media (max-width: 479px) {
  .logo { width: 31vw; }
  .logo img { width: 100%; }
  .logo__text { margin-top: 8px; font-size: min(14px, 3.3vw); white-space: nowrap; }
  .header__badge { font-size: max(8px, 2.3vw); padding: 3px 6px; gap: 4px; margin-top: 4px; }
  .header__badge svg { width: 10px; height: 10px; }
  .cont__item { width: clamp(22px, 6vw, 26px); height: clamp(22px, 6vw, 26px); margin-left: 2.4vw; margin-top: 2px; }
  .navbar-toggle { margin-left: 3vw; }
  .navbar-toggle span { width: clamp(26px, 7.6vw, 34px); }
}
@media (max-width: 369px) {
  .header__badge svg { display: none; }
}
@media (max-width: 339px) {
  .header { padding: 10px 0 14px; }
  .header__badge {
    position: absolute;
    right: 15px; left: auto; top: 33.5px;
    margin: 0;
  }
  .header__badge svg { display: block; }
  .cont { margin-left: auto; }
}

.form_done {
  display: none;
  text-align: center;
  font-size: 24px;
}

/* Swiper 11: когда все карточки помещаются в ряд, стрелки и точки не нужны */
.stock .swiper-button-lock,
.stock .swiper-pagination-lock {
  display: none !important;
}

/* h1 на модельных страницах выглядит как заголовок блока на главной (бирюзовый, без ссылки) */
.offers--card .offers__item h1 > span {
  color: var(--c-accent);
}

/* Три ссылки справа в слайдере: при наведении бирюзовый фон и белый текст */
.hero__perk:after,
.hero__perk span {
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.hero__perk:hover:after,
.hero__perk:focus-visible:after {
  background: var(--c-accent);
  border-color: var(--c-accent);
}
.hero__perk:hover span,
.hero__perk:focus-visible span {
  color: var(--c-white);
}

/* Описание для попапа в «Сервисе» хранится в разметке, но на странице не показывается */
.service__item .text-for-modal-js__desc {
  display: none;
}

/* Карточка контактов на карте: отступ от кнопок +/- */
@media only screen and (min-width : 768px) {
.contacts__float-card {
    left: 80px;
  }
}

/* Таймер с полными словами: на мобильных переносим на 2 строки */
@media only screen and (max-width : 767px) {
.countdown--lg {
    white-space: normal;
    font-size: 15px;
    line-height: 1.35;
    border-radius: 20px;
    padding: 10px 14px;
  }
}

/* Модельный ряд: карточки одной высоты, блоки внутри выровнены по строкам (subgrid) */
.models .row {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 30px;
  margin-left: 0;
  margin-right: 0;
}
.models .row > [class*="col-"] {
  display: contents;
}
.models .models__item {
  display: grid;
  grid-row: span 5;
  grid-template-rows: subgrid;
  align-content: start;
  height: auto;
}
@media only screen and (min-width : 768px) {
.models .row {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width : 1200px) {
.models .row {
    grid-template-columns: repeat(3, 1fr);
  }
}
