.dgb-contact-wrap { max-width: 850px; margin: auto; }
.dgb-contact-form { padding: 34px; border: 1px solid rgba(16,35,63,.13); border-radius: 22px; background: #fff; box-shadow: 0 20px 55px rgba(16,35,63,.08); }
.dgb-contact-progress { display: grid; grid-template-columns: repeat(3,1fr); margin: 0 0 32px; gap: 8px; }
.dgb-contact-progress span { display: flex; align-items: center; gap: 8px; padding-bottom: 11px; border-bottom: 2px solid #dde4ed; color: #718096; font-size: 12px; font-weight: 750; }
.dgb-contact-progress b { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #edf1f7; color: #536276; font-size: 11px; }
.dgb-contact-progress .is-active { border-color: #245eea; color: #10233f; }
.dgb-contact-progress .is-active b,.dgb-contact-progress .is-complete b { background: #245eea; color: #fff; }
.dgb-contact-step { min-width: 0; margin: 0; padding: 0; border: 0; }
.dgb-contact-form.is-enhanced .dgb-contact-step:not(.is-active) { display: none; }
.dgb-contact-step > legend { display: grid; width: 100%; margin: 0 0 24px; padding: 0; gap: 5px; }
.dgb-contact-step > legend strong { color: #10233f; font-size: clamp(22px,3vw,30px); line-height: 1.1; }
.dgb-contact-step > legend span { color: #5d6a7b; font-size: 14px; font-weight: 500; }
.dgb-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.dgb-contact-form label { display: grid; gap: 7px; color: #10233f; font-size: 14px; font-weight: 750; }
.dgb-contact-form label small { color: #718096; font-weight: 500; }
.dgb-contact-form input,.dgb-contact-form select,.dgb-contact-form textarea { box-sizing: border-box; width: 100%; padding: 13px 14px; border: 1px solid rgba(16,35,63,.22); border-radius: 11px; background: #fff; color: #10233f; font: inherit; }
.dgb-contact-form input:focus,.dgb-contact-form select:focus,.dgb-contact-form textarea:focus { border-color: #245eea; outline: 3px solid rgba(36,94,234,.14); }
.dgb-contact-wide { grid-column: 1/-1; }
.dgb-contact-options { display: grid; grid-template-columns: repeat(2,1fr); padding: 16px; border: 1px solid rgba(16,35,63,.14); border-radius: 13px; gap: 12px; }
.dgb-contact-options legend { padding: 0 7px; color: #10233f; font-size: 14px; font-weight: 750; }
.dgb-contact-options label { display: flex; align-items: flex-start; gap: 9px; font-weight: 550; }
.dgb-contact-options input { width: auto; margin-top: 2px; }
.dgb-contact-upload { padding: 20px; border: 1px dashed #8fa9d0; border-radius: 14px; background: #f6f9ff; }
.dgb-contact-upload > span { color: #5d6a7b; font-size: 13px; font-weight: 500; }
.dgb-contact-upload input { padding: 10px; background: #fff; }
.dgb-contact-previews { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.dgb-contact-previews figure { position: relative; overflow: hidden; margin: 0; border: 1px solid #d9e0e9; border-radius: 10px; background: #f7f9fc; }
.dgb-contact-previews img { display: block; width: 100%; height: 110px; object-fit: cover; }
.dgb-contact-previews figcaption { overflow: hidden; padding: 8px 9px 10px; color: #536276; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.dgb-contact-previews button { position: absolute; top: 6px; right: 6px; padding: 5px 8px; border: 0; border-radius: 20px; background: rgba(16,35,63,.88); color: #fff; cursor: pointer; font-size: 11px; }
.dgb-contact-file-error { grid-column: 1/-1; margin: 0; color: #a51d2d; font-size: 13px; font-weight: 700; }
.dgb-contact-actions { display: flex; justify-content: flex-end; margin-top: 24px; gap: 10px; }
.dgb-contact-actions .button { cursor: pointer; }
.dgb-contact-price-note { display: grid; margin: 20px 0 8px; padding: 16px 18px; border-left: 3px solid #245eea; border-radius: 0 10px 10px 0; background: #eef4ff; gap: 3px; }
.dgb-contact-price-note strong { color: #10233f; }
.dgb-contact-price-note span { color: #536276; font-size: 13px; line-height: 1.5; }
.dgb-contact-consent { display: block!important; margin: 18px 0; color: #5d6a7b!important; font-size: 13px!important; font-weight: 500!important; }
.dgb-contact-consent input { width: auto; margin-right: 7px; }
.dgb-contact-trap { position: absolute!important; left: -9999px!important; }
.dgb-contact-note { margin: 12px 0 0; color: #5d6a7b; font-size: 12px; text-align: right; }
.dgb-contact-success { display: grid; margin-bottom: 18px; padding: 20px; border: 1px solid #b8d3ff; border-radius: 14px; background: #edf3ff; color: #10233f; }
.dgb-contact-success span { color: #5d6a7b; }
@media (max-width:650px) {
  .dgb-contact-form { padding: 22px 18px; border-radius: 17px; }
  .dgb-contact-progress span { display: grid; justify-items: center; font-size: 10px; text-align: center; }
  .dgb-contact-grid,.dgb-contact-options { grid-template-columns: 1fr; }
  .dgb-contact-wide { grid-column: auto; }
  .dgb-contact-previews { grid-template-columns: repeat(2,1fr); }
  .dgb-contact-actions { justify-content: stretch; }
  .dgb-contact-actions .button { flex: 1; }
}
