/* ===== Modal base ===== */
.dc-modal { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center;
  opacity: 0; pointer-events: none; transition: opacity .18s ease; }
.dc-modal[aria-hidden="false"] { opacity: 1; pointer-events: auto; }

.dc-modal__overlay { position: absolute; inset: 0; background: rgba(15,23,42,.56); backdrop-filter: blur(2px); }

.dc-modal__dialog { position: relative; width: min(640px, 92vw); max-height: 92vh; overflow: auto;
  background: #fff; border: 1px solid var(--color-border, #e5e7eb); border-radius: 16px;
  box-shadow: 0 20px 60px rgba(2,6,23,.18);
  transform: translateY(6px) scale(.98); transition: transform .18s ease;
}
.dc-modal[aria-hidden="false"] .dc-modal__dialog { transform: translateY(0) scale(1); }

.dc-modal__close { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px;
  border-radius: 999px; border: 1px solid var(--color-border, #e5e7eb); background: #fff; font-size: 20px; line-height: 1;
  cursor: pointer; }
.dc-modal__close:hover { background: #f8fafc; }

.dc-modal__head { padding: 18px 20px 0; }
.dc-modal__head h3 { margin: 0 0 6px; font-weight: 800; }
.dc-modal__sub { margin: 0 0 12px; color: var(--color-text-muted, #64748b); }

.dc-modal__body { padding: 0 20px 20px 50px; }
.dc-modal__stub { border: 1px dashed var(--color-border, #e5e7eb); border-radius: 12px; padding: 16px; background: #fff; }

/* Заблокировать скролл под модалкой */
body.is-modal-open { overflow: hidden; }
.cf7-flex .cf7-fields {
  display: flex;
  align-items: baseline;
}

.cf7-flex .cf7-fields .cf7-field input {
  height: 45px;
}
@media  (min-width: 501px) {
  .cf7-flex .cf7-fields {
    max-height: 70px;
  }

}

@media  (max-width: 500px) {
  .dc-modal__body { padding: 0 20px 20px 20px; }
.cf7-flex .cf7-fields {
  flex-wrap: wrap;
  justify-content: center;
}
.cf7-flex .cf7-fields .cf7-field {
  width: 250px;
}

.cf7-flex .cf7-fields input[type="submit"].btn {
  width: 100%;
}
}
