/* ==========================================
   MOVELEX - Main Stylesheet
   ========================================== */

/* CSS Variables */
:root {
  /* Colors */
  --primary-red: #c31625;
  --primary-red-light: #e50e1f;
  --gradient-red-start: #ff616d;
  --gradient-red-end: #69070e;
  --dark: #242424;
  --dark-footer: #192127;
  --light: #ffffff;
  --light-gray: #f4f5f5;
  --gray: #d9d9d9;
  --text-gray: #a4a8ae;
  --text-dark: #242424;

  /* Fonts */
  --font-primary: 'Montserrat', sans-serif;
  --font-secondary: 'Inter', sans-serif;
  --font-tertiary: 'Roboto', sans-serif;

  /* Spacing */
  --container-width: 1280px;
  --container-padding: 20px;

  /* Border Radius */
  --radius-sm: 10px;
  --radius-md: 15px;
  --radius-lg: 20px;
  --radius-full: 40px;
}

/* Reset & Base */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-primary);
  font-size: 16px;
  line-height: 1.5;
  color: var(--text-dark);
  background-color: var(--light);
  overflow-x: hidden;
}

a {
  text-decoration: none;
  color: inherit;
  transition: color 0.3s ease;
}

a:hover {
  color: var(--primary-red);
}

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

ul, ol {
  list-style: none;
}

button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: inherit;
}

/* Container */
.container {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0 var(--container-padding);
  position: relative;
}

/* ==========================================
   HEADER
   ========================================== */
.header {
  position: relative;
  z-index: 100;
}

/* Top Bar */
.header__top {
  background: linear-gradient(90deg, var(--primary-red) 0%, #5c1717 77%);
  padding: 20px 0;
}

.header__top-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  top: -5px;
}

.header__logo {
  display: flex;
  flex-direction: column;
}

.header__logo img {
  height: auto;
  width: auto;
}

.header__logo-text {
  font-size: 14px;
  font-weight: 700;
  color: var(--light);
}

.header__contacts {
  text-align: right;
  display: flex;
  flex-direction: column;
}

.header__phone {
  font-family: var(--font-tertiary);
  font-size: 24px;
  font-weight: 700;
  color: #fff3f3;
}

.header__callback {
  font-family: var(--font-tertiary);
  font-size: 15px;
  font-weight: 500;
  color: var(--light);
  margin-top: 5px;
  display: block;
}

.header__email {
  font-family: var(--font-tertiary);
  font-size: 14px;
  font-weight: 700;
  color: #fff3f3;
  margin-top: 5px;
}

/* Navigation */
.header__nav {
  background-color: var(--dark);
  border-radius: var(--radius-sm);
  padding: 0 27px;
  position: relative;
  z-index: 10;
  top: -17px;
}

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
}

.nav__catalog {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #ebebeb;
  font-family: var(--font-secondary);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s ease;
  text-transform: uppercase;
  border-radius: 10px;
  padding: 10px 15px;
}

.nav__catalog:hover {
  background: linear-gradient(90deg, #C31625 0%, #242424 100%);
}

.nav__burger {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.nav__burger span {
  width: 27px;
  height: 2px;
  background-color: var(--light);
  transition: background-color 0.3s ease;
}

.nav__catalog:hover .nav__burger span {
  background-color: #ffffff;
}

.nav__menu {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom:0;
  padding-left: 0;
}

.nav__item {
  display: flex;
  font-family: var(--font-secondary);
  font-size: 16px;
  font-weight: 700;
  color: #ebebeb;
  padding: 10px 0;
  transition: color 0.3s ease;
  text-transform: uppercase;
}

.nav__item:hover {
  color: #ebebeb;
}

.nav__item--dropdown {
  display: flex;
  align-items: center;
  gap: 5px;
}

.nav__item--dropdown img {
  width: 16px;
  height: 16px;
}

.nav__search {
  display: flex;
  align-items: center;
  background-color: var(--light);
  border-radius: var(--radius-sm);
  padding: 6px 15px;
  height: 35px;
  width: 157px;
}

.nav__search-icon {
  width: 23px;
  height: 23px;
  margin-left: auto;
  position: absolute;
  right: 15px;
}

/* ==========================================
   HERO SECTION
   ========================================== */
.hero {
  padding: 30px 0;
}

.hero__banner {
  background: linear-gradient(135deg, var(--gradient-red-start) 0%, var(--gradient-red-end) 100%);
  border-radius: var(--radius-md);
  padding: 37px 44px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  overflow: hidden;
  min-height: 461px;
}

.hero__content {
  max-width: 526px;
  z-index: 2;
}

.hero__title {
  font-size: 36px;
  font-weight: 700;
  color: var(--light);
  line-height: 1.22;
  margin-bottom: 40px;
  text-transform: uppercase;
}

.hero__description {
  font-family: var(--font-secondary);
  font-size: 22px;
  font-weight: 500;
  color: var(--light);
  line-height: 1.36;
  margin-bottom: 40px;
}

.hero__note {
  font-size: 17px;
  font-weight: 500;
  color: var(--light);
}

.hero__image {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  max-width: 572px;
  z-index: 1;
}

.hero__image img {
  width: 100%;
  height: auto;
}
.hero__image-mob{
  display: none;
}
/* ==========================================
   PARTS SECTION
   ========================================== */

.catalog-parts__container{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  align-items: center;
  background: #242424;
  padding-top: 30px;
  padding-bottom: 30px;
  border-radius: 10px;
}
.catalog-parts__item{
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 280px;
  max-height: 276px;
  border: 1px solid #7D7C7C33;
  border-radius: 20px;
  padding: 15px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.catalog-parts__item:hover {
   transform: translateY(-5px);
   box-shadow: 0 10px 30px rgba(195, 22, 37, 0.2);
 }

.catalog-parts__item:hover .catalog-parts__title{
 color: #c31625;
}

.catalog-parts__title{
  font-size: 21px;
  line-height: 35px;
  color: #ffffff;
  text-align: center;
}
@media(max-width: 680px){
  .catalog-parts__item{
    width: 171px;
  }
  .catalog-parts__title {
    font-size: 16px;
    line-height: 18px;
  }
}
@media (max-width:440px) {
  .catalog-parts__item {
    width: 130px;
  }
  .catalog-parts__title {
    font-size: 14px;
    line-height: 16px;
  }
}

/* ==========================================
   CATALOG SECTION
   ========================================== */
.catalog {
  padding: 0 0 50px;
}

.catalog__title {
  font-size: 36px;
  font-weight: 700;
  color: var(--text-dark);
  text-align: center;
  margin-bottom: 30px;
  text-transform: uppercase;
}

.catalog__grid {
  display: grid;
  grid-template-columns: repeat(13, 1fr);
  gap: 22px;
}

.catalog__item {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  background-color: var(--light);
  height: 176px;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Row 1: 280 + 280 + 378 (proportions: 3 + 3 + 4 cols) */
.catalog__grid .catalog__item:nth-child(1) { grid-column: span 4; }
.catalog__grid .catalog__item:nth-child(2) { grid-column: span 4; }
.catalog__grid .catalog__item:nth-child(3) { grid-column: span 5; }

/* Row 2: 378 + 278 + 280 (proportions: 4 + 4 + 4 cols) */
.catalog__grid .catalog__item:nth-child(4) { grid-column: span 5; }
.catalog__grid .catalog__item:nth-child(5) { grid-column: span 4; }
.catalog__grid .catalog__item:nth-child(6) { grid-column: span 4; }

.catalog__item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(195, 22, 37, 0.2);
}

.catalog__item-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.catalog__item-overlay {
  position: absolute;
  bottom: 29%;
  left: 2px;
  height: 67px;
  background-color: rgba(22, 22, 22, 0.5);
  display: flex;
  align-items: center;
  padding: 0 35px;
  width: 97%;
  padding-left: 20px;
}

.catalog__item-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--light);
  text-transform: uppercase;
  width: 85%;
}
.catalog__item-title.__text {
  width: 65%;
}
/* Additional Equipment Button */
.catalog__extra {
  margin-top: 30px;
  width: 100%;
}

.catalog__extra-btn {
  width: 100%;
  background-color: #827e7e;
  border-radius: var(--radius-md);
  padding: 25px;
  text-align: center;
  color: var(--light);
  font-size: 15px;
  font-weight: 800;
  transition: background-color 0.3s ease;
  /* width: max-content; */
  display: flex;
  text-align: center;
  justify-content: center;
  text-transform: uppercase;
}

.catalog__extra-btn:hover {
  background-color: #6e6a6a;
}

/* ==========================================
   SLIDER SECTION
   ========================================== */
.slider {
  padding: 30px 0;
}

.slider__wrapper {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
}

.slider__image {
  width: 100%;
  height: 325px;
  object-fit: cover;
}

.slider__nav {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
}

.slider__dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--light);
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.slider__dot--active {
  background-color: #f0c4c4;
}

.slider__arrow {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.slider__arrow img {
  width: 34px;
  height: 48px;
}
.slider__wrapper {
  overflow: hidden;
  position: relative;
}

.slider__track {
  display: flex;
  transition: transform 0.6s ease;
}

.slider__image {
  min-width: 100%;
  flex-shrink: 0;
}

/* ==========================================
   APPLICABILITY SECTION
   ========================================== */
.applicability {
  padding: 20px 0;
}

.applicability__title {
  font-size: 36px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 30px;
  text-transform: uppercase;
  text-align: center;
}

.applicability__content {
  display: flex;
  gap: 60px;
}

.applicability__lists {
  flex: 1;
}
.applicability__row{
  display: flex;
  justify-content: space-between;
}
.applicability__column {
  margin-bottom: 30px;
}
.applicability__column.__china{
  width: 265px;
}

.applicability__column.__china .applicability__column-title {
    text-wrap: nowrap;
}
.applicability__column.__china  .applicability__list-item{
    text-wrap: nowrap;
}
.applicability__column-title {
  font-size: 21px;
  font-weight: 800;
  color: var(--text-dark);
  margin-bottom: 15px;
}

.applicability__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  padding-left: 0;
}

.applicability__list-item {
  font-size: 22px;
  font-weight: 500;
  color: var(--primary-red);
  line-height: 1.36;
}

.applicability__image {
  max-width: 400px;
  position: absolute;
  top: 55px;
  left: 29%;
}

.applicability__image img {
  width: 100%;
}

.applicability__download {
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  font-weight: 600;
  color: #f5f5f5;
  background: rgba(0, 0, 0, 0.5);
  padding: 8px 12px;
  border-radius: var(--radius-sm);
}

@media(max-width: 1180px){
  .applicability__image {
    max-width: 365px;
    top: 75px;
    left: 29%;
  }
  .applicability__column.__china .applicability__column-title{
    text-wrap: wrap;
  }
}
@media (max-width: 991px) {
  .applicability__image {
    max-width: 288px;
    top: 90px;
    left: 30%;
  }
}
@media (max-width: 865px) {
  .applicability__image {
    display: none;
  }

}
@media (max-width: 640px) {
  .applicability__row{
   flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .applicability__column.__china .applicability__column-title{
    text-wrap: nowrap;
  }
}
@media (max-width: 400px) {
  .applicability__column.__china .applicability__column-title{
    text-wrap: wrap;
  }
}
/* ==========================================
   ADVANTAGES SECTION
   ========================================== */
.advantages {
  padding: 30px 0;
}

.advantages__title {
  font-size: 36px;
  font-weight: 700;
  color: var(--text-dark);
  text-align: center;
  margin-bottom: 30px;
  text-transform: uppercase;
}

.advantages__grid {
  justify-content: space-between;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: 26px;
}

.advantage-card {
  background: linear-gradient(135deg, var(--gradient-red-start) 0%, var(--gradient-red-end) 100%);
  border-radius: var(--radius-md);
  color: var(--light);
  position: relative;
  padding: 8px 30px;
  max-width: 479px;
}

.advantage-card__title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 20px;
  text-transform: uppercase;
  padding-bottom: 10px;
  border-bottom: 2px solid #ffff;
  padding-top: 15px;
}

.advantage-card__text {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  padding-left: 15px;
  padding-right: 40px;
}
@media (max-width: 1060px) {
  .advantages__grid{
    flex-direction: column;
  }
  .advantage-card{
    width: 100%;
    max-width: 100%;
  }
}
/* ==========================================
   CUMMINS SECTION
   ========================================== */
.cummins {
  padding: 50px 0;
}

.cummins__title {
  font-size: 36px;
  font-weight: 700;
  color: var(--text-dark);
  text-align: center;
  margin-bottom: 30px;
  text-transform: uppercase;
}

.cummins__lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-bottom: 50px;
}

.cummins__column {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cummins__item {
  font-size: 18px;
  font-weight: 500;
  color: var(--primary-red);
  line-height: 1.94;
  text-transform: uppercase;
}

.cummins__banner {
  background: linear-gradient(135deg, var(--gradient-red-start) 0%, var(--gradient-red-end) 100%);
  border-radius: var(--radius-md);
  padding: 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  width: 67%;
}

.cummins__banner-text {
  font-size: 30px;
  font-weight: 700;
  color: var(--light);
  line-height: 1;
  max-width: 467px;
}

.cummins__banner-image {
  position: absolute;
  right: -407px;
  top: -310px;
  width: 675px;
  height: 579px;
}

@media(max-width: 991px){
  .cummins__banner-image{
    position: absolute;
    right: -183px;
    top: -680px;
    width: 712px;
    height: 503px;
  }
  .cummins__banner{
    width: auto;
  }

  .cummins__banner-text{
    max-width: 100%;
  }
}
@media(max-width: 800px){
  .cummins__banner-image{
    display: none;
  }
  .cummins__banner{
    width: auto;
    padding: 30px;
    position: relative;
    top: 20px;
  }

  .cummins__banner-text{
    max-width: 100%;
  }
  .cummins__lists {
    grid-template-columns: 1fr;
    place-items: center;
  }
  .cummins__column{
    width: 340px;
  }
  .cummins__banner-text{
    font-size: 26px;
    text-align: center;
    width: 100%;
  }


  .cummins__lists-wrapper {
    position: relative;
  }


  .cummins__lists.collapsed {
    max-height: 260px;
    overflow: hidden;
    position: relative;
  }


  .cummins__lists.collapsed::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(
            to bottom,
            rgba(255,255,255,0),
            rgba(255,255,255,0.95)
    );
    pointer-events: none;
  }


  .cummins__toggle {
    display: flex;
    justify-content: center;
    margin-top: -25px;
    cursor: pointer;
  }


  @keyframes pulse {
    0% {
      transform: rotate(45deg) scale(1);
      opacity: 1;
    }
    50% {
      transform: rotate(45deg) scale(1.3);
      opacity: 0.6;
    }
    100% {
      transform: rotate(45deg) scale(1);
      opacity: 1;
    }
  }


  .cummins__lists.expanded {
    max-height: none;
  }

  .cummins__lists.expanded::after {
    display: none;
  }

  .cummins__lists.expanded + .cummins__toggle {
    display: none;
  }
  .cummins__toggle .arrow {
    width: 46px;
    height: 47px;
    border-bottom: 7px solid red;
    border-right: 7px solid red;
    transform: rotate(45deg);
    animation: pulse 1.5s infinite;
    transition: transform 0.3s ease;
  }

  .cummins__toggle.active {
    transform: rotate(-180deg) !important;
  }
}



/* ==========================================
   CONTACT FORM SECTION
   ========================================== */
.contact {
  padding: 80px 0;
}

.contact__title {
  font-size: 36px;
  font-weight: 700;
  color: var(--text-dark);
  text-align: center;
  margin-bottom: 30px;
}

.contact__wrapper {
  display: flex;
  gap: 60px;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  z-index: 2;
}

.contact__form-wrapper {
  flex: 1;
  max-width: 693px;
  background: linear-gradient(135deg, #202020 0%, #757474 15%, #918f8f 40%, #0b0b0b 100%);
  border-radius: var(--radius-md);
  padding: 60px 135px 60px 115px;
}

.contact__form-title {
  font-size: 25px;
  font-weight: 700;
  color: var(--light);
  margin-bottom: 30px;
  text-transform: uppercase;
}

.contact__form {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.form__input {
  background: rgba(67, 63, 63, 0.64);
  border: 1px solid #5b5a5a;
  border-radius: var(--radius-sm);
  padding: 12px 24px;
  color: #fffafa;
  font-family: var(--font-tertiary);
  font-size: 14px;
  width: 100%;
}

.form__input::placeholder {
  color: #fffafa;
}

.form__row {
  display: flex;
  gap: 24px;
}

.form__row .form__input {
  flex: 1;
}

.form__submit {
  background: linear-gradient(135deg, #69070e 0%, var(--gradient-red-start) 100%);
  border-radius: var(--radius-sm);
  padding: 12px 30px;
  color: #fffafa;
  font-family: var(--font-tertiary);
  font-size: 16px;
  transition: opacity 0.3s ease;
  width: 210px;
  text-transform: uppercase;
}

.form__submit:hover {
  opacity: 0.9;
}

.contact__info {
  flex: 1;
  margin-top: 30px;
  position: relative;
}

.contact__info-section {
  margin-bottom: 30px;
}

.contact__info-title {
  font-size: 18px;
  font-weight: 800;
  color: var(--text-dark);
  margin-bottom: 10px;
  text-transform: uppercase;
}

.contact__info-text {
  position: relative;
  font-size: 18px;
  font-weight: 500;
  color: var(--text-dark);
  line-height: 1.94;
  padding-left: 32px;
  list-style: disc;
  text-transform: uppercase;
  z-index: 2;
}


.contact__downloads {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contact__download-link {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 19.66px;
  font-weight: 600;
  color: var(--primary-red);
  text-transform: uppercase;
  width: 80px;
}
.cummins__banner-part {
  position: absolute;
  right: 44px;
  bottom: -59px;
  height: 519px;
  z-index: 1;
}
@media(max-width: 1080px){
  .cummins__banner-part {
    height: 460px;
  }
}
@media(max-width: 991px){
  .cummins__banner-part {
    right: -70px;
  }
  .contact__form-wrapper{
    padding: 40px;
  }
  .contact__form-title{
    font-size: 20px;
  }
  .contact__form{
    column-gap: 15px;
  }
  .contact__wrapper {
    flex-direction: column;
    align-items: center;
  }
}

@media(max-width: 800px){
  .contact {
    padding: 50px 0;
  }
  .cummins__banner-part {
    height: 375px;
    right: -17px;
  }
  .cummins__banner-part {
    height: 292px;
    right: 20px;
    bottom: 32px;
  }
}
@media(max-width: 650px){
    .cummins__banner-part {
      height: 292px;
      right: 20px;
      bottom: 32px;
    }
}
@media (max-width: 630px) {
  .cummins__banner-part {
    height: 222px;
    right: 11px;
    bottom: 78px;
  }
  .contact__download-link{
    font-size: 16px;
  }
  .contact__info-text{
    font-size: 16px;
  }
}
@media (max-width: 540px) {
  .cummins__banner-part {
    display: none;
  }
}
    /* ==========================================
       FAQ SECTION
       ========================================== */
.faq {
  padding: 50px 0;
}

.faq__title {
  font-size: 34px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 30px;
}

.faq__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.faq__item {
  background-color: var(--light-gray);
  border-radius: var(--radius-md);
  padding: 29px 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.3s ease;
  display: flex;
  flex-direction: column;
}
.faq__item--header{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
}
.faq__item:hover {
  background-color: #e8e9e9;
}

.faq__question {
  font-size: 24px;
  font-weight: 600;
  color: var(--text-dark);
  padding-right: 15px;
}

.faq__toggle {
  width: 49px;
  height: 49px;
  min-width: 49px;
  min-height: 49px;
  max-width: 49px;
  max-height: 49px;

  flex: 0 0 49px;

  background-color: var(--gray);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}


.faq__toggle::after {
  content: '+';
  font-size: 46px;
  line-height: 1;
  color: var(--text-dark);
  font-weight: 300;
  transform: scaleX(0.9); /* слегка "сжимаем" */
}

.faq__item--active .faq__toggle::after {
  content: '−';
  transform: scaleX(0.9);
}

.faq__answer {
  display: none;
}

.faq__item--active .faq__answer {
  display: flex;
  width: 100%;
  flex-direction: column;
}
.faq__answer ul{
  list-style: disc;
}

/* ==========================================
   FOOTER
   ========================================== */
.footer {
  background-color: var(--dark-footer);
  padding: 50px 0 0;
}

.footer__content {
  display: flex;
  justify-content: space-between;
  padding-bottom: 0;
}

.footer__column {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.footer__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--gray);
  text-transform: uppercase;
}

.footer__links {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.footer__link {
  font-size: 16px;
  font-weight: 500;
  color: var(--gray) !important;
  line-height: 1.69;
  text-decoration: none;
  position: relative;
  width: max-content;
}
.footer__link:after {
  position: absolute;
  content: '';
  bottom: 0;
  display: block;
  width: 0;
  height: 2px;
  background: #c31625;
  transition: .3s;
  left: 0;
}
.footer__link:hover:after {
  width: 100%;
  color: #d9d9d9;
}

.footer__contacts {
  text-align: right;
  align-items: end;
}

.footer__phone {
  font-size: 18px;
  font-weight: 500;
  color: var(--light);
  display: block;
}

.footer__email {
  font-size: 18px;
  font-weight: 500;
  color: var(--light);
}

.footer__social {
  display: flex;
  gap: 6px;
  margin-top: 20px;
}

.footer__social img {
  width: 30px;
  height: 30px;
}
.footer__social-icons {
  display: flex;
  flex-direction: row;
  column-gap: 5px;
  align-items: center;
}
.footer__social-icons img {
  min-width: 30px;
  height: auto;
}

.footer__newsletter {
  max-width: 237px;
}

.footer__newsletter-title {
  font-size: 16px;
  font-weight: 500;
  color: var(--gray);
  margin-bottom: 10px;
}

.footer__newsletter-form {
  display: flex;
  gap: 10px;
  margin-bottom: 5px;
  align-items: center;
}

.footer__newsletter-input {
  background-color: var(--light);
  border: none;
  border-radius: 5px;
  padding: 7px 7px;
  font-size: 16px;
  margin-right: 4px;
  width: 200px;
}

.footer__newsletter-input::placeholder {
  color: #9a9191;
  padding-left: 10px;
}

.footer__newsletter-btn {
  width: 33px;
  height: 31px;
  background-color: #565656;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 1px;
}

.footer__newsletter-btn img {
  width: 17px;
  height: 16px;
}

.footer__newsletter-note {
  font-family: var(--font-tertiary);
  font-size: 13px;
  font-weight: 300;
  color: var(--text-gray);
  text-align: end;
  display: flex;
  line-height: 12px;
}

.footer__logo {
  text-align: right;
  align-items: end;
}

.footer__logo img {
  max-width: 233px;
}

.footer__logo-text {
  font-size: 14px;
  font-weight: 700;
  color: var(--light);
}

/* Footer Bottom */
.footer__bottom {
  background: linear-gradient(90deg, var(--primary-red) 0%, #5d0a12 100%);
  padding: 12px 0;
}

.footer__bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer__bottom-links {
  display: flex;
  gap: 20px;
}

.footer__bottom-link {
  font-size: 14px;
  font-weight: 500;
  color: var(--light);
}

.footer__copyright {
  font-size: 14px;
  font-weight: 500;
  color: var(--gray);
}

/* Cookie Banner */
.footer__cookie {
  background-color: #f3f3f3;
  padding: 15px 0;
}

.footer__cookie-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer__cookie-text {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-dark);
}

.footer__cookie-btn {
  background-color: var(--gray);
  border-radius: var(--radius-sm);
  padding: 8px 30px;
  font-size: 16px;
  font-weight: 500;
  color: var(--text-dark);
  transition: background-color 0.3s ease;
}

.footer__cookie-btn:hover {
  background-color: #c4c4c4;
}

/* Back to Top */
.back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 60px;
  height: 60px;
  background-color: #f5f4f4;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.3s ease;
  z-index: 100;
}

.back-to-top:hover {
  background-color: var(--primary-red);
}

.back-to-top img {
  width: 25px;
  height: 25px;
  transform: rotate(-90deg);
}

.back-to-top span {
  font-family: var(--font-tertiary);
  font-size: 13px;
  color: var(--text-gray);
}

.back-to-top:hover span {
  color: var(--light);
}

/* ==========================================
   RESPONSIVE
   ========================================== */
@media (max-width: 1200px) {
  .container {
    max-width: 1080px;
  }

  .hero__banner {
    padding: 40px 30px;
  }

  .hero__title {
    font-size: 30px;
  }

  .hero__description {
    font-size: 18px;
  }
  .hero__image {
    max-width: 378px;
  }
}

@media (max-width: 992px) {
  .container {
    max-width: 890px;
  }

  .catalog__grid {
    grid-template-columns: repeat(6, 1fr);
  }

  .catalog__grid .catalog__item:nth-child(1),
  .catalog__grid .catalog__item:nth-child(2),
  .catalog__grid .catalog__item:nth-child(3),
  .catalog__grid .catalog__item:nth-child(4),
  .catalog__grid .catalog__item:nth-child(5),
  .catalog__grid .catalog__item:nth-child(6) {
    grid-column: span 3;
  }

  .nav__item{
    font-size: 14px;
  }

  .advantages__grid {
    grid-template-columns: 1fr;
  }
  .hero__image {
    max-width: 310px;
  }
  .hero__image-mob {
    display: block;
  }
  .hero__image-desktop {
   display: none;
  }
  .cummins__lists {
    grid-template-columns: repeat(2, 1fr);
  }

  .contact__wrapper {
    flex-direction: column;
  }

  .contact__form-wrapper {
    max-width: 100%;
  }

  .footer__content {
    flex-wrap: wrap;
    gap: 30px;
  }
}
@media(max-width: 840px){
  .hero__banner {
    flex-direction: column;
    text-align: center;
  }
  .hero__image{
    max-width: 343px;
    position: relative;
    transform: none;
    margin-top: 30px;
  }
}
@media (max-width: 768px) {
  .container {
    max-width: 760px;
  }

  .header__top-inner {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }

  .header__contacts {
    text-align: center;
  }




  .catalog__grid {
    grid-template-columns: 1fr;
  }

  .catalog__grid .catalog__item:nth-child(1),
  .catalog__grid .catalog__item:nth-child(2),
  .catalog__grid .catalog__item:nth-child(3),
  .catalog__grid .catalog__item:nth-child(4),
  .catalog__grid .catalog__item:nth-child(5),
  .catalog__grid .catalog__item:nth-child(6) {
    grid-column: span 1;
  }

  .applicability__content {
    flex-direction: column;
  }

  .cummins__lists {
    grid-template-columns: 1fr;
  }

  .form__row {
    flex-direction: column;
  }

  .footer__content {
    flex-direction: column;
    text-align: center;
  }

  .footer__contacts,
  .footer__logo {
    text-align: center;
    align-items: end;
  }

  .footer__social {
    justify-content: center;
  }
  .footer__social-icons{
    justify-content: center;
  }
}

@media (max-width: 576px) {
  .container {
    padding: 0 15px;
  }

  .hero__title {
    font-size: 24px;
  }

  .hero__description {
    font-size: 16px;
  }

  .catalog__title,
  .advantages__title,
  .cummins__title,
  .contact__title,
  .faq__title,
  .applicability__title {
    font-size: 28px;
  }

  .faq__question {
    font-size: 18px;
  }

  .advantage-card {
    padding: 20px;
  }

  .advantage-card__title,
  .advantage-card__text {
    font-size: 16px;
  }
}


/* ==========================================
   MENU_DROPDOWN
   ========================================== */


.nav__dropdown {
  position: relative;
  padding-left: 4px;
  padding-right: 4px;
}

.nav__dropdown:hover{
  background: #0C0C0C;
}

.nav__submenu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: .2s ease;
  z-index: 100;
}

.nav__submenu li a {
  display: block;
  padding: 5px 14px;
  color: #000;
  text-decoration: none;
}

.nav__submenu li a:hover {
  background: #FAFAFA;
}
.nav__submenu li:hover{
  border-left: 3px solid #C31625;
}
/* hover */
.nav__dropdown:hover .nav__submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  padding-left: 0;
  background: #EBEBEB;
}
.nav__item--dropdown img {
  transition: 0.2s ease;
}

.nav__dropdown:hover .nav__item--dropdown img {
  transform: rotate(180deg);
}

.nav__search {
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
}

.nav__search-input {
  width: 0;
  opacity: 0;
  border: none;
  outline: none;
  font-size: 14px;
  margin-left: 10px;
  display: none;
}

/* активное состояние поиска */
.nav__search--active {
  width: 70%;
}

.nav__search--active .nav__search-input {
  width: 100%;
  opacity: 1;
  display: flex;
}

/* скрытие меню */
.nav__menu--hidden {
  opacity: 0;
  display: none;
}
.nav__search-mob-icon{
  display: none;
}
.nav__movelex-mob{
  display: none;
}
.nav__dropdown.__mobile{
  display: none;
}
@media(max-width: 1200px){
  .nav__item {
    font-size: 14px;
  }
  .nav__catalog {
    font-size: 14px;
  }
}

@media(max-width: 1080px){
  .nav__search-mob-icon{
    position: relative;
    right: 0;
  }

  .nav__search-mob-icon{
     display: block;
  }
  .nav__search-icon{
    display: none;
  }
  .nav{
    justify-content: space-around;
  }
  .nav__search{
    background-color: inherit;
    border-radius: 0;
    padding: 6px 15px;
    height: 35px;
    width: auto;
  }
  .nav__search--active{
    background-color: var(--light);
    border-radius: var(--radius-sm);
    padding: 6px 15px;
    height: 35px;
    width: 70%;
  }
  .header__nav{
    padding: 0;
  }
  .nav__menu{
    gap:8px;
  }
}
@media(max-width: 992px){
  .header__logo-text{
    display: none;
  }
  .header__logo img{
      height:50px
  }
  .header__callback{
    display: none;
  }
  .header__email{
    display: none;
  }
  .header__top{
      padding: 15px 0;
  }
}
@media (max-width: 860px) {
    .nav__menu{
      display: none;
    }
    .header__top{
      display: none;
    }
    .nav__catalog-name{
      display: none;
    }

  .nav {
    justify-content: space-between;
    flex-direction: row-reverse;
    padding: 0 15px;
  }
  .nav__catalog:last-child{
    display: none;
  }
  .nav__movelex-mob{
    display: flex;
    height: 30px;
  }
  .nav__movelex-mob--hidden{
    display: none;
  }
  .nav__search--active .nav__search-icon{
    display: block;
    position: relative;
    left: -5px;
  }
  .nav__search--active   .nav__search-mob-icon{
    display: none;
  }
  .nav__search--active .nav__search-input{
    padding-left: 0;
    margin-left: 5px;
  }
  .nav__search--active{
    width: 80%;
  }

  .nav__dropdown.__mobile{
    display: block;
  }

  .nav__dropdown.open .nav__submenu {
    display: block;
  }

      .nav__menu {
      display: none;
      position: absolute;
      top: 60px;
      right: 0;
      background-color: #fff;
      width: 250px; /* ширина бокового меню */
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    }

    .nav__menu.open {
      display: block;
    }

    .nav__catalog-name {
      display: none;
    }

    .nav__burger {
      display: flex;
      cursor: pointer;
    }

    .nav__item {
      padding: 10px;
      display: block;
      color: #e13a3a;
    }

    .nav__dropdown.open > a::after {
      transform: rotate(180deg);
    }
  .header__nav{
    top: 0;
  }
  .header__menu{
    display: none;
  }
}


.footer__telegram{
  display: flex;
  flex-direction: row;
  justify-content: end;
}
@media(max-width: 991px){
  .footer__img-banner{
    display: none;
  }
  .footer{
    padding-top: 30px;
  }
  .footer__content{
    margin-bottom: 30px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
  }
  .footer__bottom-inner {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 15px;
    align-items: center;
  }
}
.header__menu{
  position: absolute;
  top: 48px;
  display: none;  /* Скрыто по умолчанию */
  z-index: 1000;
  margin-right: 20px;
  height: 100vh;
}
.header__menu.open {
  display: block;
}

.header__menu-container{
  position: absolute;
  top: 150px;
  left: 50px;
  display: flex;
}
.header__menu-title{
  position: absolute;
  top: 60px;
  display: flex;
  font-family: var(--font-secondary);
  font-size: 16px;
  font-weight: 700;
  color: #FFFFFF;
  left: 50px;
  text-transform: uppercase;
}
.header__menu-title a{
  font-size: 30px;
}
.header__menu-close {
  width: 40px;  /* Размер квадрата */
  height: 40px; /* Размер квадрата */
  background-color: transparent;
  display: block;
  position: absolute;
  top: 38px;
  right: 35px;
}
.header__menu-close:hover{
    border:1px solid #ffffff;
  opacity: 0.9;
  border-radius: 8px;
  cursor: pointer;
}
.header__menu-close::before,
.header__menu-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px; /* Толщина линий */
  height: 35px; /* Длина линий */
  background-color: #ffffff; /* Цвет крестика */
  transform-origin: center;
}

.header__menu-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.header__menu-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.header__menu-items{
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.header__menu-item{
  padding: 3px 10px;
  font-family: var(--font-primary);
  color: #ffffff;
  border-radius: 10px;
  border:2px solid #ffffff;
  width: max-content;
  text-transform: uppercase;
  font-weight: 700;
  position: relative;
}
.submenu {
  display: none;
  position: absolute;
  top: -9px;
  left: 560px;
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 375px;
  font-size: 14px;
}

.header__menu-item:hover .submenu {
  display: block;
}
.header__menu-item:nth-child(4) .submenu {
  left: 660px;
}
.header__menu-item:nth-child(5) .submenu {
  top: -305px;
  left: 450px;
}
.header__menu-item:nth-child(6) .submenu {
  left: 646px;
}
.header__menu-item:nth-child(7) .submenu {
  left: 760px;
}
.header__menu-item:nth-child(8) .submenu {
  left: 600px;
}

.header__menu-line{
  display: none;
}
.header__menu-item:hover .header__menu-line {
  display: block;
}

.submenu li {
  padding: 8px 16px;
}

.submenu li a {
  text-decoration: none;
  color: #ffffff;
  display: block;
  width: max-content;
  position: relative;

}

.submenu li a:hover:after {
  width: 100%;
  color: #ffffff;
}
.submenu li a:after {
  position: absolute;
  content: '';
  bottom: 0;
  display: block;
  width: 0;
  height: 2px;
  background: #c31625;
  transition: .3s;
  left: 0;
}

.header__menu-line{
  width: 300px;
  position: absolute;
  height: 2px;
  background: #ffffff;
  left: 121%;
  top: 50%;
}

@media(max-width: 1080px){
  .header__menu-container{
    top: 120px;
    left: 16px;
  }
  .submenu{
    left: 505px;
  }
  .header__menu-title{
    top: 25px;
    left: 35px;
  }
  .header__menu-close{
    top: 12px;
  }
}
@media(max-width: 1080px) {
  .header__menu-container {
    top: 77px;
    left: -3px;
  }
  .submenu {
    left: 450px;
  }
  .header__menu-line {
    width: 240px;
  }
  .header__menu-items{
    row-gap: 10px;
  }
}

@media (max-width: 991px) {
  .breadcrumb{
    margin-top: 15px;
  }
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px white inset !important;
  box-shadow: 0 0 0 1000px white inset !important;
  background-color: transparent !important;
  background-image: none !important;
  color: inherit !important;
}