.countdown-landing-page {
  --white-clr: #fff;
  --red-clr: #ce2127;
  --fluo-clr: #e2ff19;
  --text-clr: #404040;

  width: 100%;
  max-width: 2560px;
  margin: 0 auto;
  color: var(--text-clr);

  & #header {
    margin-top: 33px;
  }

  & .hero-section {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative;
    margin-top: 27px;

    & .hero-container {
      width: 100%;
      max-width: 1385px;
      padding: 0 10px;
      margin: 0 auto;
      text-align: center;

      & span {
        font-size: 30px;
        line-height: 32px;
      }
      & h1 {
        font-size: 52px;
        line-height: 65px;
        font-weight: bold;
      }
    }
    & .hero-carousel {
      max-width: 820px;
      max-height: 514px;
      margin-top: 28px;

      & .hero-visual-element {
        & img {
          max-height: 520px;
          max-width: 520px;
          object-fit: cover;
          margin: 0 auto;
        }
        & video {
          object-fit: cover;
          aspect-ratio: 82 / 52;
        }
      }
    }
    & .hero-carousel-controllers {
      position: absolute;
      bottom: 25px;
      right: auto;
      display: flex;
      align-items: center;
      z-index: 9;

      & button.owl-next,
      & button.owl-prev {
        padding: 0;
        background-color: #0000;
        border: 0;
      }
    }
  }

  & .top-section {
    position: sticky;
    top: 0;
    background-color: var(--red-clr);
    z-index: 100;
    margin-top: 36px;

    & .top-bar {
      min-height: 122px;
      width: 100%;
      max-width: 1385px;
      padding: 0 10px;
      margin: 0 auto;
      background-color: var(--red-clr);

      height: fit-content;
      justify-content: space-between;

      & > div {
        flex: 0 1 373px;
        width: 373px;
        max-width: 100%;
      }
      & .left-container {
        display: flex;
        flex-direction: column;
        align-items: flex-start;

        & .price-container {
          display: flex;
          justify-content: flex-start;
          gap: 17px;
          padding: inherit;
          align-items: flex-end;

          &:not(:has(.is-on-sale)) {
            justify-content: center;
          }
          & .regular-price {
            font-size: 44px;
            line-height: 55px;
            font-weight: bold;

            .price-container:has(.is-on-sale) & {
              text-decoration: line-through;
              text-decoration-thickness: 2px;
            }
            .price-container:not(:has(.is-on-sale)) & {
              color: var(--fluo-clr);
              font-size: 64px;
              line-height: 80px;
            }
          }
          & .sale-price {
            color: var(--fluo-clr);
            font-size: 64px;
            line-height: 80px;
            font-weight: bold;
          }
        }
        & .text-under-price {
          text-align: left;
        }
      }
      & .countdown-message {
        font-size: 26px;
        line-height: 32px;
        font-weight: bold;

        & #countdownTimer {
          color: #f4ffa5;
          min-height: 32px;
        }
      }
      & .add-to-cart-container {
        & #add-to-cart-qo-btn {
          width: 100%;
        }
        & #add-to-cart-btn,
        & #add-to-cart-qo-btn {
          background-color: transparent;
          border: 2px solid var(--white-clr);
          color: var(--white-clr);
          border-radius: 10px;
          min-height: 97px;
          justify-content: center;
          cursor: pointer;

          &.loading {
            opacity: 0.5;
            cursor: not-allowed;
          }
          &[disabled] {
            opacity: 0.5;
          }
          & p {
            color: var(--white-clr);
            font-size: 37px !important;
            display: flex;
            justify-content: center;
            gap: 10px;
            line-height: 1.9;
          }
          & svg {
            width: 40px;
            height: 40px;
            margin-top: 15px;

            & path {
              fill: var(--white-clr);
            }
          }
        }
        & a.added_to_cart.wc-forward {
          display: none !important;
        }
      }
    }
  }

  & .main-section {
    width: 100%;
    max-width: 1385px;
    padding: 0 10px;
    margin: 60px auto 0;

    & .container {
      & .row {
        display: flex;

        & > div {
          flex: 1 0 50%;

          & h2 {
            font-size: 30px;
            line-height: 37px;
            padding: 0 0 45px;
          }
          & p {
            font-size: 26px;
            line-height: 32px;
          }
          & ul {
            padding-left: 25px;
          }
        }
        &:not(.reversed) {
          & .col-right {
            display: flex;
            justify-content: flex-end;
            align-self: center;

            & img {
              max-width: 580px;
              width: 100%;
              max-height: 400px;
              object-fit: contain;
            }
          }
        }
        &.reversed {
          flex-direction: row-reverse;
          margin-top: 104px;

          & .col-left {
            /* text-align: right; */

            & img {
              max-width: 580px;
              width: 100%;
              max-height: 400px;
              object-fit: cover;
            }
          }
          & .col-right {
            align-self: center;
          }
        }

        & video {
          max-width: 580px;
          max-height: 400px;
          object-fit: cover;
        }
      }
    }
  }

  & #the-content {
    max-width: var(--grid-container);
    width: 90%;
    padding: 0 20px;
    margin: 0 auto 80px;
  }

  & .footer-section {
    width: 100%;
    max-width: 1385px;
    padding: 0 10px;
    margin: 160px auto 0;

    & .container {
      width: 100%;
      max-width: 520px;
      margin: 0 auto;

      & .footer-carousel {
        & .footer-content-element {
          text-align: center;
          font-style: italic;
          color: #3d3d3d;

          & .review-text {
            font-size: 28px;
            line-height: 41px;
          }
          & .review-author {
            font-size: 24px;
            font-weight: bold;
          }
        }
      }
      & .footer-carousel-controllers.owl_custom_navs {
        position: inherit;

        & button {
          background: transparent;

          &.owl-prev {
            left: -50px;
          }
          &.owl-next {
            right: -50px;
          }

          & span {
            color: #a5a5a5;
            font-size: 30px;
          }
        }
      }
    }

    & .badges-section {
      width: 100%;
      margin: 67px auto 150px;
      display: flex;
      gap: 43px;
      justify-content: center;
      flex-wrap: wrap;

      & .image-badge {
        /* flex: 1 0 33.33%; */
        display: flex;
        justify-content: center;
        align-items: center;

        & img {
          width: 100%;
          max-width: 120px;
          height: 100%;
          max-height: 70px;
          -o-object-fit: contain;
          object-fit: contain;
          -webkit-filter: grayscale(1);
          filter: grayscale(1);
        }
      }
    }
  }

  & .pre-footer {
    & .pre-footer-container {
      justify-content: center;

      & .content {
        max-width: 100%;
        margin-bottom: 0px;

        & p {
          margin-bottom: 0px;

          & a {
            color: inherit;

            &:hover {
              text-decoration: underline;
            }
          }
        }
      }
    }
  }

  & .last-section {
    text-align: center;
    background: #232323;

    & .container {
      width: 100%;
      max-width: 1385px;
      margin: 0 auto;
      padding: 20px 10px;

      & div {
        color: #fff;

        & a {
          color: inherit;

          &:hover {
            text-decoration: underline;
          }
        }
      }
    }
  }

  & #loading-checkout {
    position: fixed;
    width: 100%;
    height: 100%;
    padding: 10px;
    background: rgb(255 255 255 / 50%);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    opacity: 0;
    visibility: hidden;

    & #container {
      position: absolute;
      max-width: 400px;
      max-height: 200px;
      width: 100%;
      height: 100%;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      padding: 10px;

      & #holder {
        max-width: 400px;
        max-height: 200px;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 12px;
        background: var(--white-clr);
        border-radius: 12px;
        box-shadow: 0 0 20px 5px rgb(0 0 0 / 10%);
        transition: all 0.3s ease-in-out;

        & .spinner_circle {
          transform-origin: center;
          animation: rotationAnimation 1.25s infinite linear;
        }
      }
    }
  }

  /* Queries */
  @media (max-width: 1024px) {
    & .top-section {
      & .top-bar {
        & .left-container {
          display: flex;
          flex-direction: column;
          align-items: flex-start;

          & .price-container {
            & .regular-price {
              font-size: 34px;
            }
            & .sale-price {
              font-size: 50px;
              line-height: 65px;
            }
          }
        }
        & .countdown-message {
          font-size: 26px;
          line-height: 32px;
          font-weight: bold;

          & .countdown-message {
            font-size: 20px;
          }
        }
        & .add-to-cart-container {
          & #add-to-cart-btn {
            min-height: 87px;

            & p {
              font-size: 27px !important;
              align-items: center;
            }
          }
        }
      }
    }
    & .main-section {
      max-width: 580px;

      & .container {
        & .row {
          align-items: center;

          &:not(.reversed) {
            flex-direction: column-reverse;

            & .col-left {
              margin-top: 20px;

              & h2 {
                padding: 0 0 15px;
              }
            }
          }
          &.reversed {
            flex-direction: column-reverse;

            & .col-left {
              text-align: left;
              margin-top: 20px;

              & h2 {
                padding: 0 0 15px;
              }
            }
          }
        }
      }
    }
  }

  @media (max-width: 767px) {
    & .hero-section {
      margin-top: 35px;

      & .hero-container {
        & span {
          font-size: 20px;
          line-height: 22px;
        }
        & h1 {
          font-size: 30px;
          line-height: 40px;
        }
      }
    }
    & .top-section {
      & .top-bar {
        flex-direction: column;
        gap: 10px;
        padding-top: 5px;
        padding-bottom: 10px;

        & > div {
          flex: 0 1 auto;
          max-width: 373px !important;
          width: 100%;
        }
        & .left-container {
          align-items: center;

          & .price-container {
            & .regular-price {
              font-size: 25px;
              line-height: 30px;
            }
            & .sale-price {
              font-size: 35px;
              line-height: 36px;
            }
          }
          & .text-under-price {
            font-size: 13px;
          }
        }
        & .countdown-message {
          & .text {
            font-size: 16px;
            line-height: 1;
          }
        }
        & .add-to-cart-container {
          max-width: fit-content !important;

          & #add-to-cart-btn {
            min-height: 50px;
            padding: 0 15px;

            & p {
              font-size: 20px !important;
              font-weight: 600;
              line-height: 0.9;

              & span {
                display: flex;

                & svg {
                  width: 25px;
                  height: 25px;
                  margin-top: 0px;
                }
              }
            }
          }
        }
      }
    }
    & .main-section {
      margin: 12px auto 0;

      & .container {
        & .row {
          &:not(.reversed) {
            & .col-left {
              & h2 {
                font-size: 20px;
              }
              & p {
                font-size: 15px;
                line-height: 22px;
              }
            }
          }
          &.reversed {
            & .col-left {
              & h2 {
                font-size: 20px;
              }
              & p {
                font-size: 15px;
                line-height: 22px;
              }
            }
          }
        }
      }
    }
    & .pre-footer {
      & .pre-footer-container {
        & .content {
          & p {
            & a {
              display: block;
            }
          }
        }
      }
    }
    & .footer-section {
      & .container {
        & .footer-carousel {
          & .footer-content-element {
            & .review-text {
              font-size: 18px;
              line-height: 29px;
            }
            & .review-author {
              font-size: 16px;
            }
          }
        }
        & .footer-carousel-controllers.owl_custom_navs {
          position: relative;

          & button {
            background: var(--main-red);

            &.owl-prev {
              left: -10px;
              top: 10px;
            }
            &.owl-next {
              right: -10px;
              top: 10px;
            }

            & span {
              color: #fff;
              font-size: 22px;
            }
          }
        }
      }

      & .badges-section {
        margin: 100px auto 150px;
      }
    }
  }
}

/* Keyframes */
@keyframes rotationAnimation {
  100% {
    transform: rotate(360deg);
  }
}
