@use "../../assets/scss/customVariables.scss" as *;

.container {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;

  .imagesContainer {
    width: 100%;
    height: 446px;
    background-color: #e7e7e7;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    img {
      height: 100%;
      z-index: 2;
    }

    .blur {
      width: 100%;
      height: 100%;
      backdrop-filter: blur(5px);
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
    }

    .arrowLeft,
    .arrowRight {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 10;
      width: 50px;
      height: 50px;
      min-width: 50px;
      min-height: 50px;
      max-width: 50px;
      max-height: 50px;
      background: rgba(0, 0, 0, 0.4);
      display: flex;

      justify-content: center;
      align-items: center;
      border: none;
      color: white;
      border-radius: 50%;
      transition: background 0.2s ease;
    }

    .arrowLeft {
      left: 10px;
    }

    .arrowRight {
      right: 10px;
    }

    .arrowLeft:hover,
    .arrowRight:hover {
      background: rgba(0, 0, 0, 0.6);
    }
  }

  .info {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding-top: 80px;
    max-width: $max-width-layout;
    justify-content: space-between;
    gap: 100px;
    box-sizing: border-box;
    
    @media screen and (max-width: calc($max-width-layout + 40px)) {
      padding: 60px 20px;
    }

    .texts {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      box-sizing: border-box;
      
      @media screen and (max-width: 1040px) {
        flex: none;
        width: 100%;
      }

      .titles {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding-bottom: 30px;
        border-bottom: 1px solid #DDDDDD;
        margin-bottom: 60px;

        @media screen and (max-width: 700px) {
            padding-bottom: 10px;
          }

        .title {
          font-size: 45px;
          font-weight: 700;
          color: #000000;

          @media screen and (max-width: 700px) {
            font-size: 30px;
          }
        }

        .prices{
          width: 100%;
          display: flex;
          flex-direction: row;
          align-items: center;
          justify-content: space-between;
          box-sizing: border-box;

          .labels {
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 20px;
            box-sizing: border-box;

            .price {
              font-size: 38px;
              font-weight: 700;
              line-height: 77.12px;
              color: #13A407;

              @media screen and (max-width: 700px) {
                font-size: 28px;
              }
              @media screen and (max-width: 450px) {
                font-size: 20px;
              }
            }
            
            .label {
              width: fit-content;
              height: 33px;
              padding: 0 36px;
              border-radius: 100px;
              border: 1px solid $primary-color;
              display: flex;
              flex-direction: column;
              align-items: center;
              justify-content: center;

              color: $primary-color;
              font-size: 16px;

              @media screen and (max-width: 450px) {
                padding: 0 20px;
                height: 33px;
              }
            }

            .share {
              border: 1px solid #5E5E5E;
            }
          }

          .date {
            font-size: 23px;
            font-weight: 500;
            color: #5E5E5E;
          }
        }
      }
    }

    .features {
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      padding-bottom: 30px;

      .title {
        font-size: 38px;
        font-weight: 700;
        color: #000000;
        margin-bottom: 20px;

        @media screen and (max-width: 700px) {
          font-size: 28px;
        }
      }

      .labelsContainer {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 10px;
        margin-bottom: 25px;
        .label {
          width: fit-content;
          height: 33px;
          padding: 0 36px;
          border-radius: 100px;
          border: 1px solid $primary-color;
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
  
          color: $primary-color;
          font-size: 16px;
        }
      }

      .description {
        font-size: 20px;
        font-weight: 500;
        line-height: 35.85px;
        color: #5E5E5E;

        @media screen and (max-width: 700px) {
          font-size: 16px;
          line-height: 25px;
        }
      }
    }

    .detailsContainers {
      width: 100%;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      // justify-content: space-between;
      gap: 20px;
      padding-bottom: 30px;
      row-gap: 30px;

      @media screen and (max-width: 700px) {
        justify-content: space-between;
      }

      .title {
        margin-bottom: 7px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        position: relative;

        

        .line {
          width: calc(100% - 40px);
          height: 1px;
          background-color: #DDD;
          position: absolute;
          top: 50%;
          left: 0;
          transform: translateY(-50%);
          z-index: 0;
        }

        &> p {
          font-size: 38px;
          font-weight: 700;
          color: #000000;
          background-color: #fff;
          margin-bottom: 0px;
          z-index: 1;
          padding-right: 20PX;

          @media screen and (max-width: 700px) {
            font-size: 20px;
          }
        }

        .button {
          box-shadow: 0 0 10px #e7e7e7;
          transition: all ease 250ms;
        }
      }

      .detail {
        flex: 1;
        display: flex;
        min-width: 30%;
        max-width: 30%;
        flex-direction: row;
        align-items: flex-start;
        gap: 30px;
        

        @media screen and (max-width: 700px) {
          gap: 15px;
        }

        @media screen and (max-width: 544px) {
            min-width: 45.5%;
            max-width: 45.5%;
          }

        .icon {
          width: 42px;
          height: 42px;
          min-width: 42px;
          min-height: 42px;
          max-width: 42px;
          max-height: 42px;
          display: flex;
          flex-direction: row;
          align-items: center;
          justify-content: center;

          @media screen and (max-width: 700px) {
            width: 24px;
            height: 24px;
            min-width: 24px;
            min-height: 24px;
            max-width: 24px;
            max-height: 24px;
          }

          &> img {
            width: 100%;
            height: 100%;
          }
        }

        .texts {
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          box-sizing: border-box;
          flex: 1;

          .title {
            font-size: 20px;
            font-weight: 500;
            color: #5E5E5E;
            margin-bottom: 7px;
            box-sizing: border-box;

            @media screen and (max-width: 700px) {
              font-size: 16px;
            }

            
          }
          .value {
            font-size: 18px;
            font-weight: 400;
            color: #5E5E5E;

            @media screen and (max-width: 700px) {
              font-size: 13px;
            }
          }
        }
      }
    }

    .profileResp {
      display: none;

      @media screen and (max-width: 1040px) {
        display: block;
        margin-bottom: 50px;
      }
    }

    .mapContainer {
      width: 100%;
      height: 406px;
      background-color: #e7e7e7;
      margin-bottom: 68px;
    }

    .buttons {
      width: 100%;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      margin-bottom: 68px;
      flex-wrap: wrap;
    }

    .profile{
      display: flex;
      flex-direction: column;
      align-items: center;

      @media screen and (max-width: 1040px) {
        display: none;
      }
    }
  }
}