/* ===== Form Wrapper ===== */
.popform.form-rental {
  margin-bottom: 20px;
  padding: 0;
}

.popform.form-rental .form-container.sent {
  display: none;
}

/* ===== Header ===== */
.popform.form-rental header {
  width: 100%;
  padding: 0 10px;
  margin: 15px 0;
}

.popform.form-rental header h3 {
  font-size: 2.2rem;
  color: #20b8c8;
  margin: 10px 0;
}

.popform.form-rental header h4 {
  font-size: 1.8rem;
  color: #14B2AD;
  margin: 10px 0;
  font-weight: 500;
}

/* ===== Form Fields ===== */
.popform.form-rental .valbox {
  width: 100%;
  padding: 8px 10px;
}

.popform.form-rental .valbox.half {
  width: 50%;
}

.popform.form-rental .valbox.text {
  font-size: 1.4rem;
  line-height: 2rem;
}

.valbox.text strong {
  font-weight: 600;
}

/* Divider */
.popform.form-rental .valbox--divider {
  margin: 40px 0 20px;
  height: 1px;
  background: #000;
  width: calc(100% - 20px);
  position: relative;
  left: 10px;
  padding: 0px;
}

/* ===== Labels ===== */
.popform.form-rental label {
  display: flex;
  margin: 4px 0;
}

.popform.form-rental label strong {
  font-weight: 600;
}

.popform.form-rental label span {
  margin-left: 5px;
  color: #ff0000;
  position: relative;
}

/* ===== Signature ===== */
.popform.form-rental .sign {
  margin-top: 30px;
}

.popform.form-rental .signature-box {
  width: 100%;
  padding: 10px;
  height: 52px;
  font-size: 4rem;
  border-bottom: 1px solid #ddd;
  font-family: 'Dancing Script', cursive;
}

/* ===== Captcha / Inline Inputs ===== */
.popform.form-rental .valboxcapt {
  margin-top: 50px;
}

.popform.form-rental .valboxcapt label {
  width: 60%;
  text-align: right;
  margin: 12px 0 7px;
  padding-right: 20px;
}

.popform.form-rental .valboxcapt input[type="number"] {
  width: 28%;
}

/* ===== Inputs ===== */
.popform.form-rental input[type="date"] {
  padding: 10.7px 10px;
}

/* ===== Buttons ===== */
.popform.form-rental button {
  float: left;
}

/* ===== Upload Section ===== */
.upload-con {
  display: inline-flex;
  width: 100%;
  padding-bottom: 20px;
}

.upload-btn-con .upload-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 15px;

  width: 100%;
  height: 200px;
  padding: 0 !important;

  background: #eee;
  border: 5px dashed #ddd;
  font-size: 1.8rem;
  font-weight: 500;
  cursor: pointer;
}

.upload-btn-con .upload-btn:hover {
  border-color: #ccc;
}

.upload-btn-con .upload-btn input[type="file"] {
  width: 178px;
  padding: 0;
}

/* ===== Error States ===== */
.popform.form-rental .valbox.error input,
.popform.form-rental .valbox.error select,
.popform.form-rental .valbox.error textarea {
  border-color: #ff0000;
}

.popform.form-rental .valbox.error:has(input[type="checkbox"]:required) {
  border: 1px solid #ff0000;
  margin-bottom: 10px;
}

/* ===== Select Icons ===== */
.selbox .fa {
  font-size: 1.5rem;
  right: 15px;
}

/* ===== Accordion ===== */
.accord-box {
  display: none;
}

.accord-box.show {
  display: block;
}

.accordion {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  width: 100%;
}

.accordion > li {
  width: 100%;
  border: 1px solid #ddd;
  border-bottom: 0;
  display: flex;
  flex-direction: column;
}

.accordion li:last-child {
  border-bottom: 1px solid #ddd;
}

.accordion li a.toggle {
  display: flex;
  align-items: center;

  padding: 12px 40px 12px 10px;
  font-size: 1.4rem;
  line-height: 2rem;
  letter-spacing: 0.04rem;

  background: #fff;
  color: #666;
  position: relative;
}

.accordion li a.toggle:hover {
  cursor: pointer;
}

.accordion li a.toggle.active {
  color: #2ab5c4;
}

.accordion li a.toggle::after {
  content: "\f107";
  font-family: FontAwesome;
  position: absolute;
  right: 15px;
  font-size: 1.6rem;
  font-weight: 700;
  transition: all 0.4s ease-in-out;
}

.accordion li a.toggle.active::after {
  content: "\f106";
  color: #00c796;
}

.accordion .accord-box {
  width: 100%;
  padding-bottom: 15px;
}

.accordion .accord-box.show {
  background: #eee;
}

/* ===== Misc ===== */
#adult {
  display: none;
  width: 100%;
}

/* ===== Responsive ===== */
@media (max-width: 800px) {
  .popform.form-rental .valbox.half {
    width: 100%;
  }

  .upload-btn-con .upload-btn {
    text-align: center;
  }

  .upload-btn-con .upload-btn .txt {
    font-size: 1.5rem;
    padding: 0 10px;
  }
}

@media (max-width: 980px) {
  .accordion li a.toggle {
    font-size: 1.3rem;
    padding: 13px 40px 13px 20px;
  }

  .accordion .accord-box {
    padding: 20px;
  }
}