/* #region GLOBAL STYLES */

:root{
  --color-primary: #ffbf00;
  --color-secondary: #90a1b9;
  --color-lines: #ffffff41;
  --color-card-bg: #0C0C0D;
  --res-padding: 0 2rem;
  --res-x-padding: 2rem;
}

*{
  box-sizing: border-box;
  /* border: 1px solid red; */
}

ul, li{
  list-style: none;
  padding: 0;
}

button{
  font-family: 'Poppins';
}

html{
  padding: var(--res-padding);
  background-color: black;
  color: white;
  font-family: 'Poppins';
  margin: 0;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body{
  margin: 0;
}

/* #endregion */

/* #region SHARED CLASSES*/

.app__section{
  max-width: 1500px;
  margin: 0 auto;
  padding: 3rem 0;
}

.app__sectionTitle{
  font-size: 3rem;
  text-align: center;
  text-wrap: balance;
  margin: 0;
  margin-bottom: 3rem;
}

.app__subtitle{
  color: var(--color-primary);
  margin-top: 4rem;
  font-size: 2rem;
  text-align: center;
  text-wrap: balance;
}

.app__button{
  display: inline-block;
  text-decoration: none;
  background-color: white;
  color: black;
  font-size: 1.1rem;
  padding: .7rem 2rem;
  border-radius: 2rem;
  cursor: pointer;
  border: none;
  text-align: center;
}

.app__button--cto{
  font-size: 1.3rem;
}

.app__button span{
  margin-left: .5rem;
  transition: transform .3s ease-in-out;
  display: inline-block;
}

.app__button:hover{
  box-shadow: 0 0 20px white;
}

.app__button:hover span{
  transform: translateX(5px);
}

.app__list{
  width: fit-content;
  margin: 0 auto;
  font-size: 1.5rem;
}

.app__listItem{
  margin-bottom: 1rem;
}

/* #endregion */

/* #region HEADER STYLES */

.header__innnerContainer{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100dvh;
  max-width: 1200px;
  margin: 0 auto;
}

.header__left{
  flex-basis: 50%;
  animation: fade-from-left 1s ease-in-out both;
}

.header__title{
  font-size: 4.3rem;
  line-height: 4.5rem;
  display: flex;
  gap: .5rem;
  flex-direction: column;
  margin: 0;
  margin-bottom: 3rem;
}

.header__title span{
  text-wrap: pretty;
}

.header__description{
  font-size: 1.2rem;
  color: var(--color-secondary);
  margin-bottom: 3rem;
}

.header__description span{
  color: white;
}

.app__button--animated{
  animation: float 2s ease-in-out alternate infinite;
}

.header__link:hover{
  box-shadow: 0 0 20px white;
}

.header__right{
  flex-basis: 50%;
  display: flex;
  justify-content: end;
  animation: fade-from-right 1s ease-in-out both;
}

.header__image{
  max-width: 512px;
  min-width: 200px;
  width: 100%;
}

/* #endregion */

/* #region FIRST SECTION STYLES */

.firstSection__cards{
  margin: 0 2rem;
  display: flex;
  column-gap: 1.5rem;
  justify-content: center;
}


.firstSection__card.visible{
  opacity: 1;
  transform: translateY(0);
}

.firstSection__card{
  opacity: 0;
  border: 1px solid var(--color-lines);
  background-color: var(--color-card-bg);
  border-radius: 1rem;
  padding: 2rem;
  transform: translateY(10px);
  transition: opacity 1s ease-in-out, transform 1s ease-in-out;
  flex-basis: calc(25% - 2rem);
}

.firstSection__card h3{
  font-weight: 400;
}

.card__iconContainer{
  font-size: 2rem;
}

.firstSection__footer{
  text-align: center;
  margin-top: 3em;
}

.app__subtitle--first{
  margin-bottom: 0;
}

.firstSection__footer h4{
  font-size: 1.5rem;
  font-weight: 300;
  margin: 0;
  margin-bottom: .5rem;
  text-wrap: balance;
}

/* #endregion */

/* #region SECOND SECTION STYLES */

.secondSection__claim,
.secondSection__listTitle{
  margin: 0;
  margin-bottom: 1.5rem;
  font-size: 1.2rem;
  text-align: left;
  text-wrap: pretty;
}

.secondSection__listTitle{
  margin-bottom: 2.5;
}

/* #endregion */

/* #region THIRD SECTION STYLES */

.app__subtitle--third{
  margin-top: 1rem;
}

.thirdSection__whatIs{
  font-size: 1.2rem;
}

.timeline__steps{
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 5rem;
}

.timeline__step{
  display: grid;
  grid-template-columns: 1fr 32px 2fr;
  grid-template-areas: "chapter line descr";
  column-gap: 1rem;
  min-height: 100px;
}

.step__title {
  grid-area: chapter;
  display: flex;
  flex-direction: column;
  align-items: end;
  text-align: right;
}

.step__chapter{
  font-size: 1.6rem;
  font-weight: 600;
}

.step__chapter2{
  font-size: 1.4rem;
}

.step__description{
  grid-area: descr;
  margin: 0;
  margin-top: .3rem;
  font-size: 1.2rem;
}

.step__line{
  grid-area: line;
  width: 2rem;
  height: 110%;
  position: relative;
}

.step__line::before{
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  position: absolute;
  background-color: white;
  top: 14px;
  left: calc(50% - 5px);
  outline: 2px solid white;
  outline-offset: 2px;
  transform: scale(0);
}

.step__line.visible::before{
  animation: show-dot 1s ease-in-out both;
}

@keyframes show-dot {
  from{
    transform: scale(0);
  }to{
    transform: scale(1);
  }
}

.step__line:not(.step__line--last)::after{
  content: "";
  width: 1px;
  height: 0%;
  border-radius: 50%;
  position: absolute;
  background-color: white;
  top: 14px;
  left: calc(50%);
}

.step__line.visible:not(.step__line--last)::after{
  animation: show-line 1s 1s ease-in-out both;
}

@keyframes show-line {
  from{
    height: 0%;
  }to{
    height: 130%;
  }
}

/* #endregion */

/* #region FOURTH SECTION STYLES */

.fourthSection__productCard{
  display: grid;
  grid-template-areas:
    "img price"
    "img cto"
  ;
  overflow: hidden;
  grid-template-rows: auto 1fr;
  justify-content: center;
  gap: 2rem;
  width: fit-content;
  border: 1px solid var(--color-lines);
  margin: 0 auto;
  margin-top: 4rem;
  padding: 3rem 3rem;
  border-radius: 1rem;
  box-shadow: 2px 2px 15px var(--color-lines);
}

.productCard__imgContainer{
  grid-area: img;
}

.productCard__img{
  width: 100%;
  max-width: 300px;
}

.productCard__price{
  grid-area: price;
  display: flex;
  flex-direction: column;
}

.productCard__oldPrice{
  width: fit-content;
  color: red;
  font-size: 1.5rem;
  position: relative;
}

.productCard__oldPriceContainer{
  display: flex;
  align-items: center;
  justify-content: center;
}

.productCard__discount{
  background-color: rgb(12, 177, 12);
  font-weight: 600;
  font-size: .9rem;
  margin-left: 1rem;
  padding: .2rem .4rem;
  border-radius: .5rem;
  display: flex;
  align-items: center;
}

.productCard__oldPrice::after{
  content: "";
  position: absolute;
  bottom: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: red;
  opacity: .8;
}

.productCard__newPrice{
  color: white;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
}

.productCard__cto{
  grid-area: cto;
}

/* #endregion */

/* #region FIFTH SECTION STYLES */

.app__sectionTitle--fifth{
  color: var(--color-primary);
}

.fifthSection__garanty{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.garanty__text{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2rem;
}

.fifthSection__garanty p {
  font-size: 1.3rem;
}

.fifthSection__garanty p span{
  font-weight: 600;
}

.fifthSection__garanty svg{
  width: 40px;
}

/* #endregion */

/* #region SIXTH SECTION STYLES */

.sixthSection__accordion{
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.accordion__item{
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  border-radius: 1rem;
  box-shadow: 3px 3px 15px rgba(255, 255, 255, 0.356);
}

.accordionItem__button{
  color: white;
  background-color: transparent;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  font-size: 1.3rem;
  padding: 1.5rem;
  border: none;
  cursor: pointer;
  text-align: left;
  text-wrap: balance;
  border-radius: 1rem;
}

.accordion__item:has(.accordionItem__button:hover){
  box-shadow: 3px 3px 25px rgba(255, 255, 255, 0.356);
}

.accordionItem__buttonIcon{
  transition: transform .3s ease-in-out;
  font-size: 1.6rem;
}

.accordionItem__buttonIcon.closed{
  transform: rotate(180deg);
}

.accordionItem__content{
  overflow: hidden;
  transition: height .3s ease-in-out;
  font-size: 1.3rem;
}

.accordionItem__innerContainer{
  padding: 0 1.5rem 2.5rem 1.5rem;
}

.accordionItem__innerContainer p{
  margin: 0;
}

/* #endregion */

/* #region SEVENTH SECTION STYLES */

.seventhSection__claim{
  color: var(--color-primary);
  font-size: 1.2rem;
}

.seventhSection__cto{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1rem;
}

.app__sectionTitle--seventh{
  margin-bottom: 0;
}

.app__subtitle--seventh{
  margin-top: 0;
  margin-bottom: 4rem;
}

/* #endregion */

/* #region FOOTER STYLES */

.app__footer{
  display: flex;
  flex-direction: column;
  position: relative;
}

.app__footer::before{
  content: "";
  position: absolute;
  width: calc(100% + var(--res-x-padding) * 2);
  left: calc(0% - var(--res-x-padding));
  height: 1px;
  background-color: rgba(255, 255, 255, 0.205);
}

.footer__top{
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 3rem;
  display: flex;
  align-items: center;
  gap: 2rem;
}

.footer__author{
  flex-basis: 50%;
}

.footer__social{
  flex-basis: 50%;
  text-align: right;
}

.author__description{
  margin: 0;
}

.author__img{
  width: 80px;
  margin: 0;
}

.footer__bottom{
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.social__icon:hover svg{
  transform: scale(1.1);
}

.social__icon svg{
  transition: transform .2s ease-in-out;
  fill: white;
  width: 30px;
}

/* #endregion */

/* #region COUNTDOWN STYLES */

.app__section--countdownSection{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.countdownSection__clock{
  background-color: red;
  padding: 1rem;
  border-radius: .5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: ring 1s ease-in-out both infinite;
}

.countdownSection__clock svg{
  width: 34px;
}

.countdownSection__claim{
  text-align: center;
  margin-bottom: 0;
}

@keyframes ring {
  0%{
    transform: rotate(0deg);
  }20%{
    transform: rotate(10deg);
  }40%{
    transform: rotate(-10deg);
  }60%{
    transform: rotate(10deg);
  }80%{
    transform: rotate(-10deg);
  }100%{
    transform: rotate(0deg);
  }
}

.countdownSection__counter{
  display: flex;
  justify-content: center;
  gap: 1rem;
  font-size: 7rem;
}

.countdownSection__counter.stopped{
  color: red;
  animation: breathe 1s ease-in-out both infinite;
}

@keyframes breathe {
  0%{
    transform: scale(1);
  }50%{
    transform: scale(1.05);
  }100%{
    transform: scale(1);
  }
}

/* #endregion */

/* #region MEDIA QUERIES */

@media screen and (max-width: 1200px) {
  .firstSection__cards{
    flex-wrap: wrap;
    row-gap: 2rem;
  }

  .firstSection__card{
    flex-basis: calc(50% - 2rem);
  }
}

@media screen and (max-width: 1024px) {
  .header__innnerContainer{
    flex-direction: column;
  }

  .header__title{
    font-size: 3.5rem;
    line-height: 3.5rem;
  }

  .header__title span{
    text-wrap: balance;
  }

  .header__left{
    margin-top: 3rem;
  }

  .header__right{
    justify-content: center;
  }

  .app__sectionTitle{
    font-size: 2rem;
  }
}

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

  /* HEADER SECTION */

  .header__title{
    font-size: 2.3rem;
    line-height: 2.3rem;
    text-align: center;
    line-height: 2.5rem;
  }

  .header__left{
    margin-top: 1.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .header__description{
    text-align: center;
  }


  .app__section{
    padding: 1.5rem 0;
  }

  .app_sectionTitle{
    font-size: 1.8rem;
  }

  .firstSection__cards{
    margin: 0;
  }

  .firstSection__card{
    flex-basis: 100%;
  }

  .app__subtitle{
    font-size: 1.7rem;
  }

  .app__listItem{
    font-size: 1.2rem;
  }

  .fourthSection__productCard {
    padding: 0rem;
    padding-bottom: 2rem;
  }

}

@media screen and (max-width: 700px) {
  .timeline__step{
    grid-template-columns: 32px 1fr;
    grid-template-areas:
    "line chapter"
    "line descr";
  }

  .step__title {
    align-items: start;
    text-align: left;
  }

  @keyframes show-line {
    from{
      height: 0%;
    }to{
      height: 110%;
    }
  }

}

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

  .fourthSection__productCard {
    grid-template-areas:
    "img price"
    "cto cto"
  ;
  }

  .productCard__cto{
    display: flex;
    justify-content: center;
  }
}

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

  :root{
    --res-padding: 1.2rem;
    --res-x-padding: 1.2rem;
  }

  .countdownSection__counter{
    font-size: 5rem;
  }

  .app__button--cto{
    font-size: 1.3rem;
  }

  .fourthSection__productCard {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    grid-template-areas:
      "img"
      "price"
      "cto"
    ;
  }

  .productCard__img{
    width: 100%;
    max-width: none;
  }
}

/* #endregion */

/* #region ANIMATIONS */

@keyframes float {
  0% {
    transform: translateY(-5px);
  }
  100% {
    transform: translateY(5px);
  }
}

@keyframes fade-from-left {
  from{
    opacity: 0;
    transform: translateX(-15px);
  }to{
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fade-from-right {
  from{
    opacity: 0;
    transform: translateX(25px);
  }to{
    opacity: 1;
    transform: translateX(0);
  }
}

/* #endregion */

