/* Mietbaum — Produktseiten-Felder */
.mietbaum-fields {
  width: 100%;
  box-sizing: border-box;
  margin: 18px 0;
  padding: 16px 18px;
  border: 1px solid #cfe0c7;
  border-left: 4px solid #23BA00;
  border-radius: 4px;
  background: #fafcf8;
}
.mietbaum-title {
  margin: 0 0 12px;
  font-size: 1.05rem;
  color: #1E7A00;
}
.mietbaum-group { margin-bottom: 12px; }
.mietbaum-label {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
}
.mietbaum-radio {
  display: block;
  font-weight: 400;
  margin: 2px 0;
  cursor: pointer;
}
.mietbaum-radio input { margin-right: 6px; }
.mietbaum-fields select.form-control,
.mietbaum-fields input.form-control,
.mietbaum-fields textarea.form-control {
  max-width: 420px;
}
.mietbaum-fee-hint {
  margin: 6px 0 0;
  font-weight: 600;
  color: #1E7A00;
}
.mietbaum-fee-hint small {
  display: block;
  font-weight: 400;
  color: #777;
}
.mietbaum-error {
  margin-bottom: 12px;
  padding: 8px 12px;
  border: 1px solid #e6b800;
  background: #fff8e1;
  color: #7a5c00;
  border-radius: 3px;
}

/* Fehlendes Pflichtfeld rot hervorheben */
.mietbaum-group.mietbaum-invalid .mietbaum-label,
.mietbaum-group.mietbaum-invalid .mietbaum-radio {
  color: #cc0000;
}
.mietbaum-group.mietbaum-invalid select.form-control,
.mietbaum-group.mietbaum-invalid input.form-control,
.mietbaum-group.mietbaum-invalid textarea.form-control {
  border-color: #cc0000;
  box-shadow: 0 0 0 1px #cc0000;
}
.mietbaum-group.mietbaum-invalid .mietbaum-radio input {
  outline: 2px solid #cc0000;
  outline-offset: 2px;
}

/* Zusammenfassung im Warenkorb / auf der Bestellabschluss-Seite */
.mietbaum-summary {
  margin: 16px 0;
  padding: 12px 16px;
  border: 1px solid #cfe0c7;
  border-left: 4px solid #23BA00;
  border-radius: 4px;
  background: #fafcf8;
}
.mietbaum-summary__title {
  margin: 0 0 10px;
  font-size: 1rem;
  color: #1E7A00;
}
.mietbaum-summary__item + .mietbaum-summary__item {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed #cfe0c7;
}
.mietbaum-summary__name { font-weight: 600; margin-bottom: 4px; }
.mietbaum-summary__list { list-style: none; margin: 0; padding: 0; }
.mietbaum-summary__list li { margin: 2px 0; }
.mietbaum-summary__list span { display: inline-block; min-width: 150px; color: #555; }
