.dzw-wrap{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.dzw-wrap, .dzw-wrap *{ box-sizing: border-box; }
.dzw-card, .dzw-thanks{
  background:#fff;
  color:#000;
  border:1px solid #eee;
  border-radius:14px;
  padding:18px;
  max-width:100%;
  width:100%;
}

.dzw-steps{
  --dzw-step-size: 38px;
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:24px;
  margin-bottom:18px;
  padding:0;
  border:0;
  background:transparent;
  flex-wrap:nowrap;
}
.dzw-steps:before{
  content:'';
  position:absolute;
  left:calc(var(--dzw-step-size) / 2);
  right:calc(var(--dzw-step-size) / 2);
  top:calc(var(--dzw-step-size) / 2);
  height:2px;
  background:#dfe2e6;
  z-index:0;
}
.dzw-step-item{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  position:relative;
  text-align:center;
  min-width:0;
}
.dzw-step-circle{
  width:var(--dzw-step-size);
  height:var(--dzw-step-size);
  border-radius:50%;
  border:2px solid #dfe2e6;
  background:#fff;
  color:#0f172a;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  box-shadow:0 4px 10px rgba(0,0,0,.06);
  position:relative;
  z-index:1;
  transition:all 220ms ease;
}
.dzw-step-item.is-active .dzw-step-circle{
  background:#0f172a;
  color:#fff;
  border-color:#0f172a;
  box-shadow:0 10px 20px rgba(0,0,0,.16);
}
.dzw-step-label{
  font-size:13px;
  font-weight:600;
  color:#0f172a;
  overflow-wrap:anywhere;
  word-break:break-word;
}
@media (max-width: 520px){
  .dzw-steps{
    --dzw-step-size: 30px;
    gap:14px;
  }
  .dzw-step-label{ font-size:12px; }
}

.dzw-head{ margin-bottom:12px; }
.dzw-title{
  display:block;
  margin:0 0 6px;
  font-size:20px;
  line-height:1.2;
  color:#000;
  font-weight:700;
}
.dzw-sub{ margin:0; color:#444; }
.dzw-muted{ color:#666; }
.dzw-title span,
.dzw-sub span,
.dzw-muted span,
.dzw-option-title span,
.dzw-option-desc span,
.dzw-step-label span,
.dzw-label span,
.dzw-consent,
.dzw-msg span{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.dzw-option-title span,
.dzw-option-desc span{
  white-space:normal;
}
.dzw-sub strong{ overflow-wrap:anywhere; word-break:break-word; }

.dzw-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap:10px;
  margin-top:12px;
}

.dzw-option{
  appearance:none;
  background:#fff;
  border:1px solid #eee;
  border-radius:12px;
  padding:12px;
  text-align:left;
  display:flex;
  align-items:flex-start;
  gap:10px;
  cursor:pointer;
  position:relative;
  transition-property: transform, background, border-color, box-shadow, color;
  transition-duration: 200ms;
  min-width:0;
}
.dzw-option:focus{ outline:2px solid rgba(0,0,0,.35); outline-offset:2px; }
.dzw-option.is-selected{
  border-color: #0f172a;
  box-shadow: 0 0 0 1px rgba(15,23,42,.12);
  background:#f7f8fb;
}
.dzw-ico{ width:22px; height:22px; flex:0 0 22px; margin-top:2px; }
.dzw-option-text{
  min-width:0;
  flex:1 1 auto;
  width:100%;
}
.dzw-option-title{
  font-weight:650;
  color:#000;
  white-space:normal;
}
.dzw-option-desc{
  margin-top:2px;
  color:#555;
  font-size:13px;
  line-height:1.3;
  white-space:normal;
}
.dzw-check{
  margin-left:auto;
  display:none;
}
.dzw-option.is-selected .dzw-check{ display:none; }

.dzw-step2{ margin-top:14px; }
.dzw-form{ margin-top:10px; }
.dzw-row{ margin-bottom:12px; }
.dzw-label{ display:block; font-size:13px; color:#333; margin-bottom:4px; }
.dzw-input{
  width:100%;
  padding:10px 12px;
  border:1px solid #e6e6e6;
  border-radius:10px;
  background:#fff;
  color:#000;
  transition-property: border-color, box-shadow, background, color;
  transition-duration: 200ms;
}
.dzw-input:focus{ outline:none; border-color:#111; box-shadow:0 0 0 2px rgba(0,0,0,.08); }
.dzw-textarea{ min-height:80px; resize:vertical; }

.dzw-checkrow label{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  color:#222;
}
.dzw-checkrow input[type="checkbox"]{
  width:18px;
  height:18px;
  accent-color:#0f172a;
  margin:0;
}
.dzw-consent a{ text-decoration: underline; }

.dzw-actions{
  display:flex;
  gap:10px;
  margin-top:12px;
  align-items:center;
  flex-wrap:wrap;
}
.dzw-actions-step1{ justify-content:flex-end; }

.dzw-back, .dzw-submit, .dzw-continue{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  padding:10px 12px;
  border:1px solid #e6e6e6;
  background:#fff;
  cursor:pointer;
  transition-property: transform, background, border-color, box-shadow, color, opacity;
  transition-duration: 200ms;
  box-shadow:0 6px 14px rgba(0,0,0,.06);
  font-weight:600;
}
.dzw-back{
  min-width:unset;
  width:auto;
  padding:10px 14px;
  text-align:center;
  font-size:18px;
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  flex:0 0 auto;
}
.dzw-back:hover{
  transform:translateX(-2px);
  color:#0f172a;
}
.dzw-submit, .dzw-continue{
  min-width:140px;
  border-color:#e2e2e2;
  color:#0f172a;
  white-space:normal;
  flex:1 1 140px;
}
.dzw-submit:hover,
.dzw-continue:hover{
  transform:translateY(-1px) scale(1.01);
}
.dzw-continue:disabled{
  cursor:not-allowed;
  opacity:.6;
  background:#f5f5f5;
  color:#777;
  box-shadow:none;
}
.dzw-step{
  opacity:0;
  transform:translateY(6px);
  transition: opacity 220ms ease, transform 220ms ease;
}
.dzw-step.is-active{
  opacity:1;
  transform:translateY(0);
}
.dzw-step[hidden]{ display:none; }
.dzw-msg{ margin-top:10px; font-size:13px; }
