/* DB Richter / Steinreinigung Richter mobile contact-form visual parity.
   Only viewport <=760px. No changes to original JS, endpoint, field names or desktop/tablet. */
@media(max-width:760px){
  html body #page-root .dbr-contact-card.dbr-mobile-form-parity {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    padding:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:12px!important;
    background:#111112!important;
    box-shadow:0 8px 26px rgba(0,0,0,.16)!important;
  }
  html body #page-root .dbr-contact-card.dbr-mobile-form-parity > .nico-final-panel {
    display:block!important;
    position:relative!important;
    height:302px!important;
    min-height:302px!important;
    max-height:302px!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    background:#07253a!important;
    border:0!important;
    border-radius:12px 12px 0 0!important;
  }
  html body #page-root .dbr-contact-card.dbr-mobile-form-parity .nico-final-panel > .nico-final-img {
    display:block!important;
    position:absolute!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center top!important;
    opacity:1!important;
    filter:none!important;
  }
  html body #page-root .dbr-mobile-form-parity > .dbr-mobile-form-body {
    display:block!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    padding:22px 19px 24px!important;
    margin:0!important;
    box-sizing:border-box!important;
    border:0!important;
    border-radius:0!important;
    background:#111112!important;
    color:#f5f5f5!important;
  }
  html body #page-root .dbr-mobile-form-parity .dbr-form-sales-title {
    display:none!important;
  }
  html body #page-root .dbr-mobile-form-title {
    display:block!important;
    font:900 clamp(26.4px,7.2vw,31.2px)/1.17 Nunito,Arial,Helvetica,sans-serif!important;
    letter-spacing:-.02em!important;
    color:#078fda!important;
    -webkit-text-fill-color:#078fda!important;
    margin:0 0 19px!important;
    padding:0!important;
    text-align:left!important;
  }
  html body #page-root .dbr-mobile-form-parity form#contactForm {
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    color:#f7f7f7!important;
    font:500 15.6px/1.4 Nunito,Arial,Helvetica,sans-serif!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm > div:first-child > label,
  html body #page-root .dbr-mobile-form-parity #contactForm > div:nth-child(2) > p,
  html body #page-root .dbr-mobile-form-parity #contactForm > div:has(> #fullName) > p,
  html body #page-root .dbr-mobile-form-parity #contactForm #dbr-document-upload > label {
    display:block!important;
    font:800 15.6px/1.35 Nunito,Arial,Helvetica,sans-serif!important;
    color:#f7f7f7!important;
    margin:0 0 6px!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm input:is([type=text],[type=email],[type=tel]){
    display:block!important;
    font:500 15.6px/1.35 Nunito,Arial,Helvetica,sans-serif!important;
    padding:7px 11px!important;
    min-height:35px!important;
    height:35px!important;
    margin-top:7px!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    border:1px solid #48484b!important;
    border-radius:6px!important;
    background:#1a1a1b!important;
    color:#fff!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm > div:first-child input{
    margin-top:0!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm .dbr-service-grid {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    padding:0!important;
    margin:9px 0 0!important;
    align-items:stretch!important;
    min-width:0!important;
    width:100%!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm .dbr-mobile-service-category {
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    min-height:104px!important;
    margin:0!important;
    padding:9px 8px 10px!important;
    border:1px solid #515158!important;
    background:#1c1c1f!important;
    border-radius:10px!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm .dbr-mobile-service-category > legend {
    display:table!important;
    width:auto!important;
    max-width:100%!important;
    padding:0 5px!important;
    margin:0 0 0 3px!important;
    white-space:nowrap!important;
    background:#111112!important;
    color:#fff!important;
    font:900 clamp(13.2px,3.96vw,15.6px)/1.2 Nunito,Arial,Helvetica,sans-serif!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm .dbr-mobile-service-category > label {
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:7px!important;
    margin:0!important;
    padding:0!important;
    width:100%!important;
    min-width:0!important;
    color:#f2f2f2!important;
    background:transparent!important;
    border:0!important;
    font:500 clamp(12.6px,3.6vw,14.4px)/1.32 Nunito,Arial,Helvetica,sans-serif!important;
    white-space:normal!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm .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;
    margin:0!important;
    padding:0!important;
    border:1px solid #aaa!important;
    border-radius:4px!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm .dbr-mobile-service-category > label > input[type=checkbox]:checked{
    background:#65a30d!important;
    border-color:#65a30d!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm .dbr-mobile-service-category > label > input[type=checkbox]:checked::after{
    content:"✓"!important;
    position:absolute!important;
    inset:-1px 0 0!important;
    text-align:center!important;
    color:#fff!important;
    font:900 17px/19px Arial,sans-serif!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm .dbr-mobile-service-category > label > span {
    display:inline!important;
    min-width:0!important;
    white-space:normal!important;
    color:#f2f2f2!important;
    font:inherit!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm #dbr-document-upload {
    display:block!important;
    margin:7px 0 0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm #dbr-document-upload .dbr-upload-box {
    background:#1c1c1f!important;
    border:1px dashed #515158!important;
    border-radius:8px!important;
    padding:10px!important;
    min-height:0!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm #dbr-document-upload .dbr-upload-trigger {
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    min-height:46px!important;
    font:700 13.2px/1.3 Nunito,Arial,sans-serif!important;
    color:#f3f3f3!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm #dbr-document-upload .dbr-upload-icon {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#65a30d!important;
    color:#fff!important;
    border-radius:6px!important;
    min-width:36px!important;
    width:36px!important;
    height:36px!important;
    font:800 25px/1 Nunito,Arial,sans-serif!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm #dbr-document-upload .dbr-file-list,
  html body #page-root .dbr-mobile-form-parity #contactForm #dbr-document-upload small {
    font:500 12px/1.35 Nunito,Arial,sans-serif!important;
    color:#b6bec5!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm .dbr-privacy-ack {
    display:flex!important;
    gap:8px!important;
    margin:9px 0 12px!important;
    color:#f4f4f4!important;
    font:500 13.8px/1.38 Nunito,Arial,sans-serif!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm button[type=submit] {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:39px!important;
    height:39px!important;
    padding:7px 12px!important;
    background:#65a30d!important;
    color:#fff!important;
    border-radius:7px!important;
    font:800 15px/1.3 Nunito,Arial,sans-serif!important;
  }
  html body #page-root .dbr-mobile-form-parity #contactForm #contact-form-feedback:not(:empty),
  html body #page-root .dbr-mobile-form-parity #contactForm .dbr-form-status:not(:empty) {
    border-radius:7px!important;
    padding:9px 12px!important;
    margin:9px 0 0!important;
    font:700 14.4px/1.4 Nunito,Arial,sans-serif!important;
  }
  /* Identical photo + inset dark benefit strip on homepage and the separate contact page. */
  html body #page-root .dbr-mobile-benefits,
  html body .dbr-contact-detail-parity .dbr-mobile-benefits {
    display:flex!important;
    position:absolute!important;
    left:13px!important;
    right:13px!important;
    bottom:13px!important;
    z-index:5!important;
    flex-direction:column!important;
    gap:9px!important;
    padding:14px!important;
    margin:0!important;
    border:0!important;
    border-radius:10px!important;
    background:rgba(2,26,40,.94)!important;
    color:#fff!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
  }
  html body .dbr-mobile-benefits > div {
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    font:800 clamp(13.8px,4.14vw,15.6px)/1.35 Nunito,Arial,sans-serif!important;
    color:#fff!important;
    white-space:normal!important;
  }
  html body .dbr-mobile-benefits .dbr-mobile-tick {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 18px!important;
    width:18px!important;
    color:#75d223!important;
    font:900 23px/1 Arial,sans-serif!important;
  }
  /* /kontakt is a different editorial form – preserve fields/select while matching presentation. */
  html body .dbr-contact-layout.dbr-mobile-contact-detail-parity {
    display:block!important;
    overflow:hidden!important;
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    margin:0 auto!important;
    border-radius:12px!important;
    background:#111112!important;
  }
  html body .dbr-mobile-contact-detail-parity > .dbr-contact-person {
    display:block!important;
    position:relative!important;
    height:302px!important;
    max-height:302px!important;
    min-height:302px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#07253a!important;
    border-radius:12px 12px 0 0!important;
  }
  html body .dbr-mobile-contact-detail-parity .dbr-contact-person > img {
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 21%!important;
  }
  html body .dbr-mobile-contact-detail-parity .dbr-contact-person > :not(img):not(.dbr-mobile-benefits) {
    display:none!important;
  }
  html body .dbr-mobile-contact-detail-parity > .dbr-contact-formcard {
    display:block!important;
    min-width:0!important;
    width:100%!important;
    margin:0!important;
    padding:22px 19px 24px!important;
    border:0!important;
    border-radius:0!important;
    background:#111112!important;
    color:#f8f8f8!important;
    box-sizing:border-box!important;
  }
  html body .dbr-mobile-contact-detail-parity .dbr-contact-formhead {
    display:none!important;
  }
  html body .dbr-mobile-contact-detail-parity form#contactForm {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    min-width:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
  }
  html body .dbr-mobile-contact-detail-parity form#contactForm .dbr-fields.two {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }
  html body .dbr-mobile-contact-detail-parity form#contactForm :is(label,.dbr-upload-label) {
    font:700 14.4px/1.4 Nunito,Arial,sans-serif!important;
    color:#f7f7f7!important;
  }
  html body .dbr-mobile-contact-detail-parity form#contactForm :is(input:not([type=checkbox]):not([type=file]),select,textarea) {
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    border-radius:6px!important;
    border:1px solid #49494b!important;
    background:#1a1a1b!important;
    color:#fff!important;
    font:500 15px/1.4 Nunito,Arial,sans-serif!important;
    min-height:36px!important;
    padding:8px 11px!important;
  }
  html body .dbr-mobile-contact-detail-parity form#contactForm .dbr-global-upload {
    display:block!important;
    margin:2px 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  html body .dbr-mobile-contact-detail-parity form#contactForm .dbr-upload-box {
    border:1px dashed #545459!important;
    border-radius:8px!important;
    background:#1d1d20!important;
  }
  html body .dbr-mobile-contact-detail-parity form#contactForm .dbr-upload-icon {
    background:#65a30d!important;
    color:#fff!important;
  }
  html body .dbr-mobile-contact-detail-parity form#contactForm .dbr-consent {
    color:#eee!important;
    font-size:11.5px!important;
    line-height:1.4!important;
  }
  html body .dbr-mobile-contact-detail-parity form#contactForm .dbr-submit-row button{
    display:block!important;
    width:100%!important;
    height:39px!important;
    min-height:39px!important;
    border-radius:7px!important;
    background:#65a30d!important;
    color:#fff!important;
    font-size:12.5px!important;
    font-weight:800!important;
  }
  html body .dbr-mobile-contact-detail-parity form#contactForm .dbr-submit-row small {
    display:block!important;
    color:#bac1c8!important;
    font-size:10px!important;
    margin-top:7px!important;
  }
}
@media(min-width:761px){
  .dbr-mobile-form-title,.dbr-mobile-benefits{display:none!important}
}

/* Contact-only overrides for the source site's highly specific white-card styles. */
@media(max-width:760px){
  html body #page-root#page-root .dbr-contact-layout.dbr-mobile-contact-detail-parity .dbr-contact-formcard form#contactForm#contactForm label,
  html body #page-root#page-root .dbr-contact-layout.dbr-mobile-contact-detail-parity .dbr-contact-formcard form#contactForm#contactForm .dbr-upload-label,
  html body #page-root#page-root .dbr-contact-layout.dbr-mobile-contact-detail-parity .dbr-contact-formcard form#contactForm#contactForm .dbr-consent span {
    color:#f4f4f5!important;
    -webkit-text-fill-color:#f4f4f5!important;
    background:transparent!important;
    font:700 14.4px/1.4 Nunito,Arial,sans-serif!important;
    border:0!important;
  }
  html body #page-root#page-root .dbr-contact-layout.dbr-mobile-contact-detail-parity .dbr-contact-formcard form#contactForm#contactForm :is(input[type=text],input[type=email],input[type=tel],select,textarea) {
    display:block!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    border:1px solid #48484b!important;
    border-radius:6px!important;
    background:#1a1a1b!important;
    background-color:#1a1a1b!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font:500 15px/1.4 Nunito,Arial,sans-serif!important;
    min-height:36px!important;
    padding:8px 11px!important;
  }
  html body #page-root#page-root .dbr-contact-layout.dbr-mobile-contact-detail-parity .dbr-contact-formcard form#contactForm#contactForm :is(input,textarea)::placeholder {
    color:#a7a8aa!important;
    -webkit-text-fill-color:#a7a8aa!important;
    opacity:1!important;
  }
  html body #page-root#page-root .dbr-contact-layout.dbr-mobile-contact-detail-parity .dbr-contact-formcard form#contactForm#contactForm .dbr-consent a {
    color:#a5d64d!important;
    -webkit-text-fill-color:#a5d64d!important;
    text-decoration:underline!important;
  }
  html body #page-root#page-root .dbr-contact-layout.dbr-mobile-contact-detail-parity .dbr-contact-formcard form#contactForm#contactForm .dbr-upload-trigger,
  html body #page-root#page-root .dbr-contact-layout.dbr-mobile-contact-detail-parity .dbr-contact-formcard form#contactForm#contactForm .dbr-file-list,
  html body #page-root#page-root .dbr-contact-layout.dbr-mobile-contact-detail-parity .dbr-contact-formcard form#contactForm#contactForm .dbr-upload-trigger small {
    color:#dce2e6!important;
    -webkit-text-fill-color:#dce2e6!important;
  }
  html body #page-root#page-root .dbr-mobile-form-parity #contactForm .dbr-mobile-service-category > label > span {
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
}
@media(max-width:760px){
 html body #page-root#page-root .dbr-contact-layout.dbr-mobile-contact-detail-parity .dbr-contact-formcard form#contactForm#contactForm {
   background:transparent!important;
   border:0!important;
   outline:0!important;
   box-shadow:none!important;
   border-radius:0!important;
 }
}
@media(max-width:760px){
  html body #page-root .dbr-mobile-form-parity .dbr-mobile-form-original-title {
    display:none!important;
  }
}
@media(max-width:760px){
 html body #page-root .dbr-inquiry-card.dbr-mobile-form-parity {
   display:grid!important;grid-template-columns:minmax(0,1fr)!important;
   width:100%!important;max-width:none!important;min-width:0!important;
   padding:0!important;gap:0!important;margin:0 auto!important;
   overflow:hidden!important;background:#111112!important;
   border:0!important;border-radius:12px!important;
 }
 html body #page-root .dbr-inquiry-card.dbr-mobile-form-parity > .nico-final-panel {
   display:block!important;position:relative!important;width:100%!important;
   height:302px!important;min-height:302px!important;max-height:302px!important;
   overflow:hidden!important;padding:0!important;margin:0!important;
   border-radius:12px 12px 0 0!important;background:#07253a!important;
 }
 html body #page-root .dbr-inquiry-card.dbr-mobile-form-parity .nico-final-panel > .nico-final-img {
   display:block!important;position:absolute!important;inset:0!important;
   width:100%!important;height:100%!important;object-fit:cover!important;
   object-position:center top!important;
 }
 html body #page-root .dbr-inquiry-card.dbr-mobile-form-parity > .dbr-mobile-form-body {
   display:block!important;min-width:0!important;width:100%!important;
   padding:22px 19px 24px!important;margin:0!important;
   box-sizing:border-box!important;background:#111112!important;color:#fff!important;
 }
}
