#upload-progress-container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background-color: #f0f0f0;
  z-index: 99;
}

#upload-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #4c91af, #b0d1e1);
  width: 0%;
  transition: width 0.3s ease;
  position: relative;
}

#upload-progress-bar::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 100%;
  background: linear-gradient(90deg, #b0d1e1, transparent);
  animation: shimmer 1s infinite;
}

@keyframes shimmer {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(50px);
  }
}

#upload-progress-text {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 12px;
  color: #898989;
  background: rgba(255, 255, 255, 0.9);
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
}

/* 載入狀態下的按鈕樣式 */
.loading {
  opacity: 0.9;
  cursor: not-allowed;
  position: relative;
  overflow: hidden;
}

.loading::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  animation: loading-shimmer 2s infinite;
}

@keyframes loading-shimmer {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}

body > main {
  max-width: 1200px;
  margin: 0px auto;
  padding: 10px;
}
body > main > section#profile-section-wrap {
  position: relative;
}
body > main > section#profile-section-wrap > nav {
  position: relative;
  top: 25px;
  z-index: 0;
  max-width: 1200px;
  margin: 0px auto;
  display: flex;
  flex-direction: row;
  div {
    /* margin: 0px 10px; */
    cursor: pointer;
    padding: 20px 40px;
    border-radius: 30px;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
    height: 75px;
    /* color: rgb(151, 151, 151); */
    background-color: rgb(215, 205, 191);
    &:hover {
      background-color: rgb(221, 214, 204);
      /* border: 1px solid #000000; */
      color: #000000;
    }
  }
  div.selected {
    background-color: white;
    border: none;
    color: #000000;
  }
  div#host-profile-btn {
    display: none;
  }
}

body > main > section#profile-section-wrap > section#host-basic-section {
  position: relative;
  z-index: 3;
  display: none;
  flex-direction: column;
  background-color: white;
  padding: 30px 30px;
  border-radius: 30px;
  section#host-basic-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    form#host-basic-profile-top-form {
      box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
      border-radius: 20px;
      padding: 20px 20px;
      flex-basis: 300px;
    }
    form#host-basic-profile-bottom-form {
      box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
      border-radius: 20px;
      padding: 20px 20px;
      flex-basis: 300px;
      flex-grow: 1;
      margin-left: 30px;
    }
    form {
      div#host-basic-profile-top-form-wrap,
      div#host-basic-profile-bottom-form-wrap {
        display: flex;
        flex-direction: column;
        margin-right: 30px;
      }
      label {
        font-weight: 500;
        font-size: 14px;
      }
      input,
      select,
      textarea {
        margin-top: 10px;
        margin-bottom: 20px;
        padding: 10px;
        border: 1px solid #cccccc;
        border-radius: 10px;
        outline: #000000;
        &:focus {
          border: 1.5px solid #000000;
        }
      }
      textarea {
        height: 150px;
        resize: none;
      }
    }
  }
  div#save-host-basic-btn-div {
    padding: 15px 5px;
    display: flex;
    flex-direction: row;
    justify-content: end;
    align-items: center;
    div#host-basic-response-message {
      margin-right: 20px;
    }
    button#save-host-basic-btn {
      border: none;
      background-color: rgb(55, 55, 55);
      color: white;
      padding: 15px 30px;
      border-radius: 15px;
      cursor: pointer;
      margin-top: 10px;
      cursor: pointer;
      &:hover {
        background-color: black;
        box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
      }
      &:disabled {
        background-color: rgb(149, 149, 149);
        cursor: default;
        &:hover {
          background-color: rgb(149, 149, 149);
          box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.3);
        }
      }
    }
  }
}

body > main > section#profile-section-wrap > section#helper-basic-section {
  position: relative;
  z-index: 3;
  display: none;
  flex-direction: column;
  background-color: white;
  padding: 30px 30px;
  border-radius: 30px;
  form {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    div#helper-basic-profile-left-form-wrap {
      display: flex;
      flex-direction: column;
      margin-right: 30px;
      flex-basis: 300px;
    }
    div#helper-basic-profile-right-form-wrap {
      display: flex;
      flex-direction: column;
      flex-basis: 300px;
      flex-grow: 1;
    }
    label {
      font-weight: 500;
      font-size: 14px;
    }
    input,
    textarea {
      margin-top: 10px;
      margin-bottom: 20px;
      padding: 10px;
      border: 1px solid #cccccc;
      border-radius: 10px;
      outline: #000000;
      &:focus {
        border: 1.5px solid #000000;
      }
    }
    textarea {
      height: 300px;
      resize: none;
    }
  }

  div#save-helper-basic-btn-div {
    padding: 15px 5px;
    display: flex;
    flex-direction: row;
    justify-content: end;
    align-items: center;
    div#helper-basic-response-message {
      margin-right: 20px;
    }
    button#save-helper-basic-btn {
      border: none;
      background-color: rgb(55, 55, 55);
      color: white;
      padding: 15px 30px;
      border-radius: 15px;
      cursor: pointer;
      margin-top: 10px;
      cursor: pointer;
      &:hover {
        background-color: black;
        box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
      }
      &:disabled {
        background-color: rgb(149, 149, 149);
        cursor: default;
        &:hover {
          background-color: rgb(149, 149, 149);
          box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.3);
        }
      }
    }
  }
}
body > main > section#profile-section-wrap > section#host-profile-section {
  position: relative;
  z-index: 3;
  display: none;
  flex-direction: column;
  justify-content: space-between;
  background-color: white;
  padding: 30px 30px;
  border-radius: 30px;
  form {
    label {
      font-weight: 500;
      font-size: 14px;
    }
    input,
    select,
    textarea {
      margin-top: 5px;
      margin-bottom: 10px;
      padding: 10px;
      border: 1px solid #cccccc;
      border-radius: 10px;
      outline: #000000;
      &:focus {
        border: 1.5px solid #000000;
      }
    }
    textarea {
      height: 150px;
      resize: none;
    }
    input,
    select {
      max-width: 300px;
    }
    button.toggle-option,
    button.radio-option {
      margin: 5px 0px;
      padding: 8px 15px;
      border: 1px solid #cccccc;
      border-radius: 20px;
      background-color: white;
      cursor: pointer;
    }
    button.toggle-option.selected,
    button.radio-option.selected {
      background-color: #eaeaea;
      border: 1px solid #000000;
    }
  }
  div#post-work-btn-div {
    padding: 15px 5px;
    display: flex;
    flex-direction: row;
    justify-content: end;
    button#post-work-btn {
      border: none;
      background-color: rgb(55, 55, 55);
      color: white;
      padding: 15px 30px;
      border-radius: 15px;
      cursor: pointer;
      margin-top: 10px;
      cursor: pointer;
      &:hover {
        background-color: black;
        box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
      }
    }
  }
}

body
  > main
  > section#profile-section-wrap
  > section#host-profile-section
  > section#host-profile-top {
  margin-bottom: 20px;
  div#host-profile-top-wrap {
    position: relative;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
    border-radius: 20px;
    padding: 0px 10px;
    form#host-profile-general {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      div#host-profile-top-left {
        padding: 20px 20px;
        flex-basis: 200px;
        flex-grow: 1;
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
      }
      div#host-profile-top-right {
        padding: 20px 20px;
        flex-basis: 550px;
        flex-grow: 3;
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        input[type="file"] {
          display: none;
        }
        label#img-upload-button {
          padding: 10px 20px;
          border-radius: 20px;
          background-color: rgb(233, 233, 232);
          cursor: pointer;
          margin-top: 10px;
          width: 100px;
        }
        div#img-preview {
          margin-top: 10px;
          img {
            width: 150px;
            height: 150px;
            object-fit: cover;
            margin: 10px 10px;
            border-radius: 20px;
          }
        }
      }
    }
  }
}

body
  > main
  > section#profile-section-wrap
  > section#host-profile-section
  > section#host-profile-bottom {
  margin-top: 20px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  div#host-profile-bottom-left-wrap,
  div#host-profile-bottom-right-wrap {
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
    border-radius: 20px;
    flex-basis: 450px;
    flex-grow: 1;
    padding: 20px 20px;
    h5 {
      font-size: 24px;
      font-weight: 500;
      margin-bottom: 10px;
    }
  }
  div#host-profile-bottom-left-wrap {
    margin-right: 20px;
  }
  div#host-profile-bottom-right-wrap {
    margin-left: 20px;
  }
  form#host-profile-need,
  form#host-profile-offer {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;

    div {
      margin-top: 5px;
      margin-bottom: 10px;
    }
  }
}

body > dialog#error-dialog {
  width: 300px;
  border-radius: 15px;
  border: none;
  position: fixed;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  transition: top 0.5s ease-out;
  padding: 20px 20px;
  div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
body > dialog#error-dialog.show {
  top: 80px;
}

@media (max-width: 1020px) {
  body
    > main
    > section#profile-section-wrap
    > section#host-profile-section
    > section#host-profile-bottom {
    div#host-profile-bottom-left-wrap {
      margin-right: 0px;
      flex-basis: 500px;
    }
    div#host-profile-bottom-right-wrap {
      margin-top: 20px;
      margin-left: 0px;
      flex-basis: 500px;
    }
  }
}

@media (max-width: 650px) {
  body
    > main
    > section#profile-section-wrap
    > section#host-profile-section
    > section#host-profile-top {
    div#host-profile-top-wrap {
      form#host-profile-general {
        div#host-profile-top-right {
          div#img-preview {
            img {
              width: 120px;
              height: 120px;
            }
          }
        }
      }
    }
  }
}

@media (max-width: 710px) {
  body > main > section#profile-section-wrap > section#host-basic-section {
    section#host-basic-wrap {
      form#host-basic-profile-top-form {
        flex-grow: 1;
        flex-basis: 350px;
      }
      form#host-basic-profile-bottom-form {
        flex-basis: 350px;
        margin-left: 0px;
        flex-grow: 1;
        margin-top: 30px;
      }
    }
  }
}
@media (max-width: 450px) {
  body
    > main
    > section#profile-section-wrap
    > section#host-profile-section
    > section#host-profile-top {
    div#host-profile-top-wrap {
      form#host-profile-general {
        div#host-profile-top-right {
          div#img-preview {
            img {
              width: 90px;
              height: 90px;
            }
          }
        }
      }
    }
  }
}
