/* Contact page forms – limited to contact pages, not WP admin or the client portal */
body.d2d-contact-page-fix :is(main,.site-content,.entry-content,.elementor-location-single) :is(form:not(.search-form):not(.d2d-form):not(.woocommerce-form),.wpcf7,.wpforms-container,.forminator-ui,.elementor-form,.nf-form-cont,.gform_wrapper),
body.d2d-contact-page-fix .d2d-contact-target {
  background:linear-gradient(145deg,#102a46 0%,#071629 100%)!important;
  border:1px solid #8193a7!important;border-radius:16px!important;
  padding:clamp(18px,3vw,30px)!important;box-shadow:0 14px 34px rgba(0,0,0,.23)!important;
  max-width:900px!important;box-sizing:border-box!important;color:#fff!important;
}
body.d2d-contact-page-fix :is(main,.site-content,.entry-content,.d2d-contact-target) :is(form,.wpcf7,.wpforms-container,.forminator-ui,.elementor-form,.nf-form-cont,.gform_wrapper) :is(label,.wpforms-field-label,.wpforms-field-sublabel,.forminator-label,.elementor-field-label,.nf-field-label,legend,.gfield_label,.gform-field-label,.wpcf7-list-item-label),
body.d2d-contact-page-fix .d2d-contact-target :is(label,legend,.field-label,.control-label) {
  color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;
  font-weight:600!important;text-shadow:none!important;visibility:visible!important;
}
body.d2d-contact-page-fix :is(main,.site-content,.entry-content,.d2d-contact-target) :is(form,.wpcf7,.wpforms-container,.forminator-ui,.elementor-form,.nf-form-cont,.gform_wrapper) :is(input:not([type=submit]):not([type=button]):not([type=reset]):not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select) {
  box-sizing:border-box!important;background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;
  border:2px solid #b9c5d2!important;border-radius:8px!important;padding:12px!important;
  min-height:44px;max-width:100%;opacity:1!important;
}
body.d2d-contact-page-fix :is(main,.site-content,.entry-content,.d2d-contact-target) :is(input,textarea)::placeholder{color:#5a6370!important;-webkit-text-fill-color:#5a6370!important;opacity:1!important}
body.d2d-contact-page-fix :is(main,.site-content,.entry-content,.d2d-contact-target) :is(input,textarea,select):focus{outline:3px solid #bddcff!important;outline-offset:1px}
body.d2d-contact-page-fix :is(main,.site-content,.entry-content,.d2d-contact-target) :is(button[type=submit],input[type=submit],.wpforms-submit,.forminator-button-submit,.elementor-button,.nf-element[type=button]){background:linear-gradient(145deg,#f3f4f6,#adb5c0)!important;color:#08192e!important;-webkit-text-fill-color:#08192e!important;border:1px solid #8895a6!important;border-radius:8px!important;padding:12px 24px!important;font-weight:700!important}
body.d2d-contact-page-fix :is(.wpcf7-not-valid-tip,.wpforms-error,.forminator-error-message,.validation_message){color:#ffd7d7!important;-webkit-text-fill-color:#ffd7d7!important}
/* Existing portal prints a separate credit; we relocate it alongside the original credit. */
#d2d-etc-footer-credit.d2d-etc-credit-inline{display:inline!important;clear:none!important;width:auto!important;position:static!important;padding:0!important;margin:0 0 0 10px!important;background:none!important;border:0!important;box-shadow:none!important;color:inherit!important;font:inherit!important;letter-spacing:inherit!important;text-align:inherit!important}
#d2d-etc-footer-credit.d2d-etc-credit-inline::before{content:'|';padding-right:10px;color:inherit}
@media(max-width:600px){body.d2d-contact-page-fix .d2d-contact-target{padding:18px!important}#d2d-etc-footer-credit.d2d-etc-credit-inline{white-space:normal!important}}

/* v1.1: explicit page 101 override for custom contact forms */
body.page-id-101 .d2d-contact-target, body.d2d-contact-page-fix .d2d-contact-target {
 background:linear-gradient(145deg,#102a46,#071629)!important;
 border:1px solid #8296aa!important;border-radius:16px!important;
 box-shadow:0 12px 34px rgba(0,0,0,.2)!important;
 padding:clamp(18px,3vw,30px)!important;max-width:900px!important;
 color:white!important;box-sizing:border-box!important;
}
body.page-id-101 .d2d-contact-target :is(label,legend,.d2d-contact-label,.field-label,.form-label,.wpforms-field-label,.wpcf7-list-item-label,.gfield_label),
body.page-id-101 .d2d-contact-target .d2d-force-label {
 color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;
 display:block!important;visibility:visible!important;font-size:16px!important;line-height:1.5!important;
 font-weight:600!important;margin:0 0 7px!important;text-shadow:none!important;
}
body.page-id-101 .d2d-contact-target :is(p,div,span):not(.d2d-force-label):not(.wpcf7-not-valid-tip):not(.wpforms-error),
body.page-id-101 .d2d-contact-target .d2d-force-help {color:#fff!important;}
body.page-id-101 .d2d-contact-target :is(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=url],textarea,select),
body.d2d-contact-page-fix .d2d-contact-target :is(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=url],textarea,select){
 background:#fff!important;color:#101820!important;-webkit-text-fill-color:#101820!important;
 font-size:16px!important;line-height:1.4!important;border:2px solid #c1cad4!important;
 border-radius:8px!important;padding:12px!important;box-sizing:border-box!important;
 width:100%;min-height:46px;opacity:1!important;visibility:visible!important;
}
body.page-id-101 .d2d-contact-target :is(input,textarea)::placeholder{color:#58616c!important;-webkit-text-fill-color:#58616c!important;opacity:1!important}
body.page-id-101 .d2d-contact-target :is(button[type=submit],input[type=submit]){
 background:linear-gradient(#eef0f3,#aeb8c4)!important;color:#0b1c32!important;-webkit-text-fill-color:#0b1c32!important;
 border-radius:8px!important;font-weight:700!important;padding:12px 23px!important;
}
body.page-id-101 .d2d-contact-target :is(input[type=checkbox],input[type=radio]){accent-color:#c0cad7!important}
body.page-id-101 .d2d-contact-target .d2d-field-wrap{margin-bottom:16px!important}
body.page-id-101 .d2d-contact-target .d2d-honeypot-hidden{display:none!important}
