/* DB Richter: reference form visual parity with Steinreinigung Richter.
   ONLY the form panel, headings, inputs, fieldsets, upload, privacy and confirmation.
   No changes to photos, heros, portrait, benefits, navigation or rest of pages.
   No orange/gold or blue Zusatzleistungs-Karten are created. */
html body #page-root#page-root .dbr-form-parity-panel {
  background:#111112!important;
  color:#f4f4f5!important;
  -webkit-text-fill-color:initial;
  box-sizing:border-box!important;
}
html body #page-root#page-root .dbr-form-parity-panel .dbr-form-parity-old-heading,
html body #page-root#page-root .dbr-form-parity-panel .dbr-form-parity-preexisting-title {
  display:none!important;
}
html body #page-root#page-root .dbr-form-parity-panel > h2.dbr-form-parity-heading {
  display:block!important;
  visibility:visible!important;
  color:#078fda!important;
  -webkit-text-fill-color:#078fda!important;
  letter-spacing:-.02em!important;
  font:900 clamp(26.4px,2.52vw,32.4px)/1.17 Nunito,Arial,Helvetica,sans-serif!important;
  padding:0!important;
  margin:0 0 17px!important;
  background:transparent!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form {
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  gap:9px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#f4f4f5!important;
  font:500 15.6px/1.4 Nunito,Arial,Helvetica,sans-serif!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form > div {
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form > div > label[for="address"],
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form > div > p,
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form #dbr-document-upload > label {
  display:block!important;
  font:800 15px/1.35 Nunito,Arial,Helvetica,sans-serif!important;
  margin:0 0 6px!important;
  padding:0!important;
  color:#f4f4f5!important;
  -webkit-text-fill-color:#f4f4f5!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form input:is([type="text"],[type="email"],[type="tel"]) {
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  display:block!important;
  padding:8px 11px!important;
  margin-top:6px!important;
  border:1px solid #47474b!important;
  border-radius:6px!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
  min-height:35px!important;
  height:35px!important;
  color:#f6f6f6!important;
  -webkit-text-fill-color:#f6f6f6!important;
  background:#1a1a1b!important;
  background-color:#1a1a1b!important;
  font:500 14.4px/1.3 Nunito,Arial,Helvetica,sans-serif!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form > div:first-child input {
  margin-top:0!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form input::placeholder,
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form textarea::placeholder {
  color:#a7a8ac!important;
  -webkit-text-fill-color:#a7a8ac!important;
  opacity:1!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form .dbr-service-grid {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  align-items:stretch!important;
  margin:8px 0 0!important;
  padding:0!important;
  min-width:0!important;
  width:100%!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form fieldset:is(.dbr-form-parity-category,.dbr-mobile-service-category) {
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:stretch!important;
  gap:6px!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:10px 8px!important;
  border:1px solid #515158!important;
  border-radius:10px!important;
  background:#1d1d20!important;
  box-shadow:none!important;
  min-height:105px!important;
  height:auto!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form fieldset:is(.dbr-form-parity-category,.dbr-mobile-service-category) > legend {
  display:table!important;
  visibility:visible!important;
  width:auto!important;
  max-width:100%!important;
  padding:0 5px!important;
  margin:0 0 0 3px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:#111112!important;
  font:900 15px/1.2 Nunito,Arial,Helvetica,sans-serif!important;
  white-space:nowrap!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form fieldset:is(.dbr-form-parity-category,.dbr-mobile-service-category) > label {
  display:flex!important;
  align-items:center!important;
  flex-direction:row!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  color:#f0f0f1!important;
  -webkit-text-fill-color:#f0f0f1!important;
  font:500 13.8px/1.32 Nunito,Arial,Helvetica,sans-serif!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form fieldset:is(.dbr-form-parity-category,.dbr-mobile-service-category) > label > span {
  color:#f0f0f1!important;
  -webkit-text-fill-color:#f0f0f1!important;
  font:inherit!important;
  min-width:0!important;
  display:inline!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form fieldset:is(.dbr-form-parity-category,.dbr-mobile-service-category) > label > input[type="checkbox"]{
  display:block!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  flex:0 0 19px!important;
  width:19px!important;
  min-width:19px!important;
  height:19px!important;
  min-height:19px!important;
  padding:0!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid #aeb0b2!important;
  border-radius:4px!important;
  box-shadow:none!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form fieldset:is(.dbr-form-parity-category,.dbr-mobile-service-category) > label > input[type="checkbox"]:checked{
  background:#65a30d!important;
  border-color:#65a30d!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form fieldset:is(.dbr-form-parity-category,.dbr-mobile-service-category) > label > input[type="checkbox"]:checked::after{
  content:"✓"!important;
  position:absolute!important;
  inset:-1px 0 0!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:900 17px/19px Arial,sans-serif!important;
  text-align:center!important;
}
/* The upload stays AFTER contact details on all screen sizes. */
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form #dbr-document-upload {
  display:block!important;
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  margin:7px 0 0!important;
  border:0!important;
  background:transparent!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form #dbr-document-upload :is(.dbr-upload-box,.dbr-upload-trigger){
  box-sizing:border-box!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form #dbr-document-upload .dbr-upload-box {
  display:block!important;
  padding:10px!important;
  border:1px dashed #535359!important;
  border-radius:8px!important;
  background:#1c1c1f!important;
  min-height:0!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form #dbr-document-upload .dbr-upload-trigger {
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  font:700 13.2px/1.3 Nunito,Arial,sans-serif!important;
  color:#f2f3f4!important;
  -webkit-text-fill-color:#f2f3f4!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form #dbr-document-upload .dbr-upload-icon {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border-radius:6px!important;
  background:#65a30d!important;
  color:#fff!important;
  font:800 24px/1 Nunito,Arial,sans-serif!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form #dbr-document-upload small,
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form #dbr-document-upload .dbr-file-list {
  color:#bfc5ca!important;
  -webkit-text-fill-color:#bfc5ca!important;
  font:500 12px/1.35 Nunito,Arial,sans-serif!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form .dbr-privacy-ack {
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  width:100%!important;
  gap:8px!important;
  color:#f5f5f5!important;
  background:transparent!important;
  padding:0!important;
  margin:9px 0 12px!important;
  font:500 13.8px/1.4 Nunito,Arial,sans-serif!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form .dbr-privacy-ack a {
  color:#a9d65b!important;
  -webkit-text-fill-color:#a9d65b!important;
  text-decoration:underline!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form .dbr-privacy-ack input[type=checkbox]{
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  padding:0!important;
  margin:0!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form > button[type=submit],
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form .dbr-submit-row > button {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:39px!important;
  height:39px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:7px 12px!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:7px!important;
  background:#65a30d!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-align:center!important;
  font:800 15px/1.3 Nunito,Arial,sans-serif!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form .dbr-form-status.is-visible {
  margin:8px 0 0!important;
  padding:9px 12px!important;
  border-radius:7px!important;
  font:800 14.4px/1.4 Nunito,Arial,sans-serif!important;
  box-sizing:border-box!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form .dbr-form-status.is-visible.dbr-form-parity-success {
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  background:#193d23!important;
  border:1px solid #315b33!important;
  color:#f5fff2!important;
  -webkit-text-fill-color:#f5fff2!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form .dbr-form-status.is-visible.dbr-form-parity-success::before {
  content:"✓"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  border-radius:50%!important;
  background:#65a30d!important;
  color:#fff!important;
  font:900 13px/1 Arial,sans-serif!important;
}
html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form .dbr-form-status.is-visible.dbr-form-parity-error {
  background:#42201c!important;
  color:#ffe2dc!important;
  -webkit-text-fill-color:#ffe2dc!important;
  border:1px solid #8d3e33!important;
}
/* The special /kontakt route keeps its additional optional message and service select. */
html body #page-root#page-root .dbr-form-parity-contact-special {
  box-sizing:border-box!important;
  padding:24px 20px!important;
  color:#f4f4f5!important;
}
html body #page-root#page-root .dbr-form-parity-contact-special > h2.dbr-form-parity-heading {
  display:block!important;
  font:900 clamp(26.4px,2.52vw,32.4px)/1.17 Nunito,Arial,sans-serif!important;
  color:#078fda!important;
  margin:0 0 17px!important;
}
html body #page-root#page-root .dbr-form-parity-contact-special form#contactForm#contactForm {
  background:transparent!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}
html body #page-root#page-root .dbr-form-parity-contact-special form#contactForm#contactForm .dbr-fields.two {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
}
html body #page-root#page-root .dbr-form-parity-contact-special form#contactForm#contactForm label,
html body #page-root#page-root .dbr-form-parity-contact-special form#contactForm#contactForm .dbr-upload-label {
  color:#f4f4f5!important;
  -webkit-text-fill-color:#f4f4f5!important;
  background:none!important;
  border:0!important;
  font:700 14.4px/1.4 Nunito,Arial,sans-serif!important;
}
html body #page-root#page-root .dbr-form-parity-contact-special form#contactForm#contactForm :is(input[type=text],input[type=email],input[type=tel],select,textarea) {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:36px!important;
  padding:8px 11px!important;
  box-sizing:border-box!important;
  border:1px solid #48484b!important;
  border-radius:6px!important;
  background:#1a1a1b!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:500 15px/1.4 Nunito,Arial,sans-serif!important;
}
html body #page-root#page-root .dbr-form-parity-contact-special form#contactForm#contactForm .dbr-consent a {
  color:#a5d64d!important;
  -webkit-text-fill-color:#a5d64d!important;
}
@media(max-width:760px){
  html body #page-root#page-root .dbr-form-parity-panel.dbr-form-parity-standard {
    padding:22px 19px 24px!important;
  }
  html body #page-root#page-root .dbr-form-parity-panel > h2.dbr-form-parity-heading {
    font-size:23.4px!important;
    margin-bottom:19px!important;
  }
  html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form .dbr-service-grid{
    gap:8px!important;
  }
  html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form fieldset:is(.dbr-form-parity-category,.dbr-mobile-service-category) > label{
    font-size:11px!important;
  }
  html body #page-root#page-root form#contactForm#contactForm.dbr-form-parity-form fieldset:is(.dbr-form-parity-category,.dbr-mobile-service-category) > legend{
    font-size:12px!important;
  }
}
