main.custom-part {
  padding: 1vw;
  width: 100%;
  min-height: 40vw;
  position: relative;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.custom-form-reservation-container {
  width: 100%;
  min-height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000 !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: none !important;
  align-items: center;
  justify-content: center;
  font-family: IRANSansX, sans-serif !important;
  font-weight: normal;
}

.custom-form-reservation-container * {
  direction: rtl !important;
}

.custom-form-reservation-container.active {
  display: flex !important;
  align-items: center;
  justify-content: center;
  animation: animate-revealer-custom-window 0.25s ease-in-out forwards;
}

@keyframes animate-revealer-custom-window {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}

.my-custom-btn {
  padding: 0.6vw 1vw;
  border-radius: 0.35vw;
  background-color: #287dfa;
  position: relative;
  outline: none;
  color: white;
  transition: all 0.25s ease-in-out;
  cursor: pointer;
  font-family: IRANSansX, sans-serif !important;
  font-weight: 500;
  border: 0.05vw solid #287dfa;
}

.my-custom-btn:hover {
  background-color: transparent;
  color: #287dfa;
}

.my-custom-btn:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  filter: brightness(1) !important;
}

.my-custom-btn * {
  pointer-events: none !important;
}

form#custom-form-reservation {
  padding: 1.5vw 1vw;
  width: 27vw;
  height: 36vw;
  border-radius: 1vw;
  box-shadow: 0 0 0.75vw rgba(0, 0, 0, 0.2);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between !important;
  align-items: start !important;
  gap: 1vw;
  background-color: white;
}

button#close-reservation-form-window {
  padding: 0.5vw;
  background-color: transparent;
  position: absolute !important;
  top: 0.45vw;
  left: 0.5vw;
  font-size: 14px;
  color: black;
  border: none !important;
}

button#close-reservation-form-window:hover {
  color: #ff0047;
  border: none !important;
}
form#custom-form-reservation button[type="submit"] {
  padding: 0.9vw;
  width: 100%;
  font-weight: 500;
  font-size: 14px;
}

form#custom-form-reservation .rooms-details-container {
  margin-top: 2vw;
  padding-bottom: 1vw;
  width: 100%;
  height: 66%;
  border-radius: 0.25vw;
  position: relative;
  scroll-behavior: smooth;
}

form#custom-form-reservation .rooms-details-container::before {
  content: "";
  width: 100%;
  height: 0.15vw;
  background: linear-gradient(
    to right,
    transparent,
    rgba(198, 198, 199, 0.75),
    transparent
  );
  position: absolute;
  bottom: -0.2vw;
  left: 0;
}

form#custom-form-reservation .rooms-details-container ul {
  width: 100%;
  height: 100%;
  gap: 0.5vw;
  overflow: auto;
  position: relative;
  scroll-behavior: smooth;
}

form#custom-form-reservation .rooms-details-container ul::-webkit-scrollbar {
  width: 0.5vw;
  background-color: rgba(40, 125, 250, 0.1);
}

form#custom-form-reservation
  .rooms-details-container
  ul::-webkit-scrollbar-thumb {
  width: 0.5vw;
  background-color: #287dfa;
  border-radius: 0.5vw;
}

form#custom-form-reservation .rooms-details-container ul li {
  margin-bottom: 1vw;
  width: 100%;
  min-height: 60%;
  position: relative;
  display: none !important;
  flex-direction: column;
  justify-content: start !important;
  align-items: center;
  gap: 0.5vw;
}

form#custom-form-reservation .rooms-details-container ul li.active {
  display: flex !important;
  animation: animate-revealer-room-list 0.2s ease-in-out forwards;
}

@keyframes animate-revealer-room-list {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}

form#custom-form-reservation .rooms-details-container ul li .room-title {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

form#custom-form-reservation .rooms-details-container ul li h3 {
  padding: 0.75vw;
  width: 100%;
  text-align: center;
  background: rgba(192, 192, 192, 0.15);
  border-radius: 0.6vw;
  font-weight: bold;
  color: #5b5b5b;
  font-size: 14px;
}

form#custom-form-reservation
  .rooms-details-container
  ul
  li
  .room-title
  button.remove-room {
  position: absolute;
  left: 0.25vw;
  background: transparent !important;
  border: none !important;
  color: #525252;
  font-size: 14px;
  z-index: 2;
}

form#custom-form-reservation
  .rooms-details-container
  ul
  li
  .room-title
  button.remove-room:hover {
  color: #ff0047;
}

form#custom-form-reservation
  .rooms-details-container
  ul
  li
  .room-title
  button.remove-room
  i {
  transform: translateY(0.1vw);
}

form#custom-form-reservation .add-room-btn {
  padding: 0.5vw 0.5vw 0.5vw 1vw;
  width: 10vw;
  display: flex;
  justify-content: start !important;
  align-items: center;
  gap: 0.5vw;
  background: transparent !important;
  color: #287dfa !important;
  font-weight: bold;
  font-size: 14px;
  border: none !important;
}

form#custom-form-reservation .add-room-btn:hover {
  filter: brightness(1.25);
}

form#custom-form-reservation .room-options {
  width: 100%;
  min-height: 1vw;
  position: relative;
}

form#custom-form-reservation .room-options > div {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between !important;
}

form#custom-form-reservation .room-options > div.adults-count {
  border-bottom: 0.1vw dashed rgba(192, 192, 192, 0.25);
}

form#custom-form-reservation .room-options > div .divider {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between !important;
}

form#custom-form-reservation .room-options > div .divider.child-age {
  display: none !important;
}

form#custom-form-reservation .room-options > div .divider.child-age.active {
  display: flex !important;
  animation: animate-revealer-room-list 0.2s ease-in-out forwards;
}

form#custom-form-reservation .room-options > div .divider .right-division,
form#custom-form-reservation .room-options > div .divider .left-division {
  padding: 0.5vw;
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between !important;
  gap: 0.05vw !important;
  position: relative;
}

form#custom-form-reservation .room-options > div .divider .right-division {
  align-items: start !important;
  font-weight: bold;
  color: #5d5d5d;
  font-size: 14px;
}

form#custom-form-reservation .room-options > div .divider .right-division span {
  font-weight: normal;
  color: #b0b0b0;
  font-size: 14px;
}

form#custom-form-reservation
  .room-options
  > .children-count
  .divider:not(:first-child)
  .right-division
  span {
  padding-right: 0.5vw;
  display: flex;
  justify-content: start;
  align-items: center;
  font-size: 14px;
  color: #7c7c7c;
  font-weight: bold;
  gap: 0.3vw;
}

form#custom-form-reservation .room-options > div .divider .left-division {
  align-items: end !important;
}

form#custom-form-reservation
  .room-options
  > div
  .divider
  .left-division
  .room-opt-buttons {
  display: flex;
  justify-content: space-between !important;
  align-items: center !important;
  width: 72%;
  gap: 0.5vw;
}

form#custom-form-reservation
  .room-options
  > div
  .divider
  .left-division
  .room-opt-buttons
  button {
  padding: 0.25vw !important;
  background: transparent;
  color: #287dfa;
  font-size: 14px;
  border: none !important;
}

form#custom-form-reservation
  .room-options
  > div
  .divider
  .left-division
  .room-opt-buttons
  button:hover {
  filter: brightness(1.25);
}

form#custom-form-reservation
  .room-options
  > div
  .divider
  .left-division
  .room-opt-buttons
  span {
  font-weight: bold;
  font-size: 14px;
  color: #525252;
}

form#custom-form-reservation
  .room-options
  > div
  .divider
  .left-division
  select {
  padding: 0.5vw 0.75vw;
  min-width: 70%;
  background: rgba(192, 192, 192, 0.25);
  border: none;
  outline: none;
  border-radius: 0.4vw;
  font-family: IRANSansX, sans-serif !important;
  font-weight: normal;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
}

form#custom-form-reservation
  .room-options
  > div
  .divider
  .left-division
  select:hover {
  filter: brightness(0.75);
}

form#custom-form-reservation
  .room-options
  > div
  .divider
  .left-division
  select:disabled {
  filter: brightness(1);
  cursor: not-allowed;
}

form#custom-form-reservation
  .room-options
  > div
  .divider
  .left-division
  select
  option.hide {
  display: none;
}

form#custom-form-reservation .limited-children-msg {
  color: #ff0047;
  font-size: 14px;
  font-weight: 300;
  gap: 0.25vw;
  display: none !important;
}

form#custom-form-reservation .limited-children-msg.active {
  display: flex !important;
  align-items: center;
  justify-content: center;
  animation: animate-revealer-room-list 0.2s ease-in-out forwards;
}

form#custom-form-reservation {
  padding: 1.5vw 1vw;
  width: 350px;
  height: 500px;
  border-radius: 1vw;
  box-shadow: 0 0 0.75vw rgba(0, 0, 0, 0.2);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between !important;
  align-items: start !important;
  gap: 1vw;
  background-color: white;
  margin-top: -200px;
}
@media screen and (max-width: 450px) {
  form#custom-form-reservation {
    padding: 1.5vw 1vw;
    width: 350px;
    height: 500px;
    border-radius: 2.4vw;
    box-shadow: 0 0 1.75vw rgba(0, 0, 0, 0.2);
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between !important;
    align-items: start !important;
    gap: 1vw;
    background-color: white;
    margin-top: 6vw;
  }
  form#custom-form-reservation .rooms-details-container ul li h3 {
    padding: 2.75vw;
    width: 95%;
    text-align: center;
    background: rgba(192, 192, 192, 0.15);
    border-radius: 1.86vw;
    font-weight: bold;
    color: #5b5b5b;
    font-size: 14px;
  }
  button#close-reservation-form-window {
    padding: 0.5vw;
    background-color: transparent;
    position: absolute !important;
    top: 4.45vw;
    left: 4.5vw;
    font-size: 17px;
    color: black;
    border: none !important;
  }
  form#custom-form-reservation .room-options {
    padding: 3vw;
  }
  form#custom-form-reservation
    .room-options
    > div
    .divider
    .right-division
    span {
    font-weight: normal;
    color: #b0b0b0;
    font-size: 14px;
    margin-top: 3vw;
  }
  form#custom-form-reservation
    .room-options
    > div
    .divider
    .left-division
    .room-opt-buttons
    button {
    padding: 1vw !important;
    background: transparent;
    width: 9vw;
    height: 9vw;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--blue2);
    font-size: 19px;
    border: none !important;
    font-weight: 700;
    border-radius: 50%;
    background-color: #dae8fb;
  }
  form#custom-form-reservation
    .room-options
    > div
    .divider
    .left-division
    select {
    padding: 1.5vw 2vw;
    min-width: 70%;
    background: rgba(192, 192, 192, 0.25);
    border: none;
    outline: none;
    border-radius: 2vw;
    font-family: IRANSansX, sans-serif !important;
    font-weight: normal;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s;
  }
  form#custom-form-reservation
    .rooms-details-container
    ul
    li
    .room-title
    button.remove-room {
    position: absolute;
    left: 3.75vw;
    background: transparent !important;
    border: none !important;
    color: #525252;
    font-size: 14px;
    z-index: 2;
  }
  form#custom-form-reservation .add-room-btn {
    padding: 0.5vw 0.5vw 0.5vw 1vw;
    width: 10vw;
    display: flex;
    justify-content: start !important;
    align-items: center;
    gap: 0.5vw;
    background: transparent !important;
    color: rgb(40, 169, 183) !important;
    font-weight: bold;
    font-size: 17px;
    border: none !important;
    border-radius: 2vw;
  }
  .my-custom-btn {
    padding: 1.6vw 1vw;
    border-radius: 0.35vw;
    background-color: var(--blue2);
    position: relative;
    outline: none;
    color: white;
    transition: all 0.25s ease-in-out;
    cursor: pointer;
    font-family: IRANSansX, sans-serif !important;
    font-weight: 500;
    border: 0.05vw solid var(--blue2);
    border-radius: 2vw;
  }
}
