@font-face {
  font-family: 'MTSWideMedium';
  src: url('fonts/MTSWide-Medium.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'MTSWide-Regular';
  src: url('fonts/MTSWide-Regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'MTSWide-Bold';
  src: url('fonts/MTSWide-Bold.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'MTSText-Regular';
  src: url('fonts/MTSText-Regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'MTSText-Medium';
  src: url('fonts/MTSText-Medium.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'MTSText-Bold';
  src: url('fonts/MTSText-Bold.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'MTSCompact-Medium';
  src: url('fonts/MTSCompact-Medium.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'MTSCompact-Regular';
  src: url('fonts/MTSCompact-Regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  /* font-family: 'MTSWideMedium', sans-serif; */
}

html {
  font-size: 56px;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background: linear-gradient(180deg, #4A25B8 -0.3%, #804AFF 39.43%, #D6B6FF 99.03%);
}

body {
  position: relative;
}

.main-img {
  position: absolute;
  z-index: -1;
  width: 622px;
  right: 10px;
}

.main-content {
  position: relative;
  padding: 14px 88px;
  display: flex;
  flex-direction: column;

  max-width: 1486px;
  min-height: 100vh;
  background-color: transparent;
  margin: 0 auto;
}

.redirect {
  color: currentcolor;
}

.header {
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: center;

  color: #FFFFFF;
  font-size: 20px;
  letter-spacing: 0px;
}

.get-text {
  white-space: nowrap;
}
.br-none {
  display: none;
}

.mts-logo {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}

.mosid-logo {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.x-png {
  width: 16px;
  height: 16px;
}

.button {
  display: inline-block;
  text-decoration: none;
}

.row {
  display: flex;
  flex-direction: column;

  .footer {
    margin-top: 20px;
    font-family: 'MTSCompact-Regular', sans-serif;
    font-weight: 400;
    text-align: center;
    color: #fff;
    line-height: 24px;
    font-size: 17px;
  }

  .title {
    font-family: 'MTSWide-Bold', sans-serif;
    margin-top: 46px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    font-size: 56px;
    line-height: 60px;

    max-width: 690px;
  }

.minutes-text {
  white-space: nowrap; /* Запрещаем перенос */
}

  .pillow {
    position: absolute;
    width: 130px;
    right: -21px;
  }

  .subtitle {
    font-family: 'MTSText-Regular', sans-serif;
    margin-top: 16px;
    color: rgba(250, 250, 250, 1);
    line-height: 28px;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0;

    max-width: 615px;
  }

  .present {
    margin-top: 16px;
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    padding: 8px 24px 8px 16px;
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 10px;
    width: fit-content;

    font-family: 'MTSCompact-Regular', sans-serif;
    color: #fff;
    font-size: 20px;


  }

  .present-img {
    /* display: inline-flex;
    align-items: center;
    position: relative;
    top: 5px;
    width: 90px;
    height: 48px; */
    display: inline-flex;
    align-items: center;
    position: relative;
    top: 5px;
    width: 95px;
    height: 48px;
    margin-right: 5px;

    .img20 {
      position: absolute;
      left: 19px;
      top: 11px;
      height: 27px;
      width: 58px;
      opacity: 0.9;
    }
  }

  .button {
    cursor: pointer;
    width: fit-content;
    border-radius: 20px;
    padding: 20px 45px;
    background-color: #fff;
    color: black;
    text-transform: uppercase;

    font-family: 'MTSWide-Bold', sans-serif;
    line-height: 20px;
    letter-spacing: 1.25px;
    font-size: 14px;
    font-weight: 700;
  }

  #buttondiv {
    margin-top: 36px;
  }

  .faq {
    margin-top: 72px;
    backdrop-filter: blur(4px);

    background-color: rgba(83, 43, 195, 0.24);
    border-radius: 40px;
    padding: 24px;

    display: flex;
    flex-direction: column;
    gap: 36px;

    .faq-title {
      text-transform: uppercase;
      color: #fff;
      font-family: 'MTSWide-Bold', sans-serif;
      font-size: 44px;
      font-weight: 700;
      line-height: 44px;
    }

    .faq-items {
      display: flex;
      flex-direction: row;
      gap: 12px;
      font-size: 18px;
      line-height: 24px;
      letter-spacing: 0;
      font-weight: 500;
      font-family: 'MTSText-Medium', sans-serif;
      color: #fff;

      img {
        width: 52px;
        height: 52px;
      }

      .faq-item {
        background-color: rgba(255, 255, 255, 0.12);
        border-radius: 20px;
        padding: 24px;
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 20px;
        width: 295px;
        height: 120px;
      }

      .faq-item-ex {
        overflow-wrap: anywhere;
      }
    }
  }

  .screens {
    display: flex;
    flex-direction: column;
    margin: 135px auto 0 auto;
    align-items: center;
    justify-content: center;

    .title {
      font-size: 56px;
      text-align: center;
      max-width: 805px;
    }

    .title.confirmed {
      max-width: 1045px;

      .invert-text {
        display: block;
      }
    }

    .subtitle {
      text-align: center;
      font-size: 20px;
      color: rgba(250, 250, 250, 1);
    }

    .subtitle.confirmed {
      max-width: 785px;
    }

    .ok-img {
      width: 164px;
      height: 164px;
    }

    .applications {
      img {
        width: 502px;
      }
    }

  }
}

.invert {
  display: none;
}

@media screen and (max-width: 1238px) {
  .faq-items {
    flex-wrap: wrap;
    font-size: 0.25rem;

    .faq-item {
      width: 49%;
      ;
    }
  }

  .main-img {
    display: block;
    position: relative;
    width: auto;
    margin-bottom: -73px;
  }

}

@media screen and (max-width: 825px) {
  .faq-items {
    flex-wrap: wrap;

    .faq-item {
        height: auto !important;
        width: 100%;
      ;
    }
  }
}

@media screen and (max-width: 321px) {

  .main-content {
    padding: 14px 16px;
  }

  .main-img {
    display: block;
    position: relative;
    width: auto;
    margin-bottom: -41px;
  }

  .header {
    gap: 12px;
  }

  .row {

    .faq {
      border-radius: 20px;
      margin-top: 0px;
      background: linear-gradient(180deg, #AB85FF 0%, #CEB0FF 100%);
      padding: 20px 16px;
      gap: 16px;

      .faq-title {
        font-size: 0.5rem;
        line-height: 0.53rem;
      }

      .faq-items {
        
        gap: 8px;

        .faq-item {
          height: auto !important;
          padding: 11px 0;
          background-color: unset;
        }
      }
    }

    #buttondiv {
      width: 100%;
    }

    .present-img {
      width: 80px;
      height: 23px;
    }


    .present-img {
      .img20 {
        left: 9px !important;
        top: 0px !important;
        height: 15px !important;
        width: 34px !important;
      }

    }

    .title {
      margin-top: 24px;
      font-size: 0.5rem;
      line-height: 0.53rem;
    }

    .screens {
      margin: 54px auto 0 auto;

      .title {
        margin-top: 24px;
        font-size: 0.5rem;
        line-height: 0.53rem;
      }

      .subtitle {
        font-size: 0.25rem;
        line-height: 0.36rem;
      }

      .ok-img {
        width: 1.42rem;
        height: 1.42rem;
      }

      .applications {
        display: block;
        width: 100%;
        .application-img {
          width: 5rem;
        }
      }
    }



    .button {
      font-size: 0.21rem;
      text-align: center;

      &.invert {
        background-color: rgba(29, 32, 35, 1);
        color: #fff;
        width: 100%;
        margin-top: 16px;
      }
    }
  }

  .title.confirmed {
    font-size: 0.5rem;
    line-height: 0.535rem;
  }

  .invert {
    display: block;
  }

}

/* Мобильные стили (добавьте в конец файла) */
@media screen and (max-width: 767px) {
  #buttondiv {
    margin-top: 24px !important;
    margin-bottom: 36px !important;
  }
  .applications {
    display: block;
    width: 100%;
  }

  html {
    font-size: 16px; /* Базовый размер шрифта для мобилок */
    background: linear-gradient(180deg, #4A25B8 -0.3%, #804AFF 39.43%, #D6B6FF 99.03%);
  }

  .get-text {
    white-space: wrap;
  }

  .main-content {
    padding: 16px !important;
  }

  /* Исправляем шапку с логотипами */
  .header {
    flex-direction: row !important; /* Возвращаем горизонтальное расположение */
    align-items: center;
    width: 100%;
    margin-bottom: 16px;
    padding-right: 100px !important;
  }

  .mts-logo, .mosid-logo {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .x-png {
    margin: 0 8px; /* Правильные отступы вокруг "X" */
  }

  .pillow-block {
    flex-wrap: wrap;
    justify-content: center;
  }

  /* Фиксим проблему с наложением картинки подарка */
  .present {
    position: relative;
    z-index: 1; /* Поднимаем над другими элементами */
    margin-top: 16px;
    padding: 8px 12px !important;
  }

  .present-img {
    position: relative !important;
    margin-right: 10px !important;
    width: 60px !important;
    height: 30px !important;
    top: 0 !important; /* Убираем лишнее смещение */
    
    .img20 {
      position: relative !important;
      left: 12px !important;
      top: 0px !important;
      height: 27px !important;
      width: 75px !important;
    }
  }


.trips {
  display: block;
}

/* Гарантируем, что текст не перекрывается */
.row .title  {
  font-size: 38px !important;
  line-height: 45px;
} 

.row .subtitle {
  position: relative;
  z-index: 1;
  width: 100%;
}

/* Дополнительные гарантии от перекрытия */
.main-content {
  overflow: hidden; /* Предотвращаем вылезание элементов */
}


  #buttondiv {
    width: 100% !important;
  }

  .button {
    width: 100% !important;
    padding: 16px !important;
    font-size: 14px !important;
    text-align: center;
  }

  .faq {
    margin-top: 40px !important;
    padding: 16px !important;
    border-radius: 20px !important;
    gap: 20px !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
    
    .faq-title {
      font-size: 38px !important;
      line-height: 45px !important;
    }
  }

  .faq-items {
    
    flex-direction: column !important;
    gap: 8px !important;
    
    .faq-item {
      height: auto !important;
      background-color: inherit !important;
      width: 100% !important;
      padding: 12px !important;
      gap: 12px !important;
    }
  }

  /* Специфичные элементы для мобилок */
  .main-img {
    display: block;
    position: relative;
    width: auto;
    margin-bottom: -41px;
  }

  .mobile-only {
    display: block !important;
  }

  .desktop-only {
    display: none !important;
  }

  .row {
    .pillow {
      width: 90px ;
      right: -20px ;
      margin-top: 5px ;
    }
  }

  #buttondiv2 {
    margin-top: 16px !important;
    background-color: #1D2023;
    color: #FFFFFF;
  }

  #buttondiv2 {
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
  }

  /* Добавляем отступ внизу основного контента, чтобы кнопка не перекрывала текст
  .main-content {
    padding-bottom: 100px !important;
  } */
  .invert {
    display: block !important;
  }

  .invert-text {
    display: block !important;
  }

  .ok-img {
    width: 120px !important;
    height: 120px !important;
  }

  .screens {
    margin: 24px auto 0 auto !important;
  }
  .br-none{
    display: block;
  }
}

/* Дополнительные мелкие экраны */
@media screen and (max-width: 415px) {
  .row .title {
    font-weight: 700;
    letter-spacing: 0;
  }
  
  .button {
    padding: 14px !important;
  }
}