
.dfs-card,
.dfs-card * {
  box-sizing: border-box !important;
}

.dfs-card {
  max-width: 620px !important;
  margin: 30px auto !important;
  padding: 32px !important;
  border-radius: 26px !important;
  background: linear-gradient(145deg, #ffffff, #f8fafc) !important;
  box-shadow: 0 22px 70px rgba(15, 23, 42, .12) !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  color: #111827 !important;
}

.dfs-badge {
  display: inline-block !important;
  background: #111827 !important;
  color: #ffffff !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  margin-bottom: 14px !important;
  line-height: 1 !important;
}

.dfs-header h2 {
  margin: 0 !important;
  font-size: 34px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.04em !important;
  color: #111827 !important;
}

.dfs-header p {
  color: #6b7280 !important;
  line-height: 1.6 !important;
  font-size: 16px !important;
  margin: 12px 0 0 !important;
}

.dfs-progress-wrap {
  margin: 24px 0 !important;
}

.dfs-progress-meta {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  font-size: 14px !important;
  color: #4b5563 !important;
  margin-bottom: 9px !important;
}

.dfs-progress {
  height: 12px !important;
  background: #e5e7eb !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.dfs-progress div {
  height: 100% !important;
  background: #111827 !important;
  border-radius: 999px !important;
}

.dfs-form label {
  display: block !important;
  margin: 16px 0 9px !important;
  font-weight: 800 !important;
  color: #111827 !important;
  font-size: 16px !important;
}

.dfs-amounts {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}

.dfs-amounts button,
.dfs-amounts .dfs-amount-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 68px !important;
  width: 100% !important;
  padding: 14px 10px !important;
  border: 2px solid #d1d5db !important;
  background: #ffffff !important;
  color: #111827 !important;
  border-radius: 18px !important;
  cursor: pointer !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  box-shadow: none !important;
  opacity: 1 !important;
  text-decoration: none !important;
  text-shadow: none !important;
}

.dfs-amounts button span,
.dfs-amounts .dfs-amount-btn span {
  display: inline-block !important;
  color: #111827 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.dfs-amounts button:hover,
.dfs-amounts .dfs-amount-btn:hover {
  background: #f8fafc !important;
  color: #111827 !important;
  border-color: #111827 !important;
}

.dfs-amounts button:hover span,
.dfs-amounts .dfs-amount-btn:hover span {
  color: #111827 !important;
}

.dfs-amounts button.active,
.dfs-amounts .dfs-amount-btn.active,
.dfs-amounts button:focus,
.dfs-amounts .dfs-amount-btn:focus {
  background: #111827 !important;
  color: #ffffff !important;
  border-color: #111827 !important;
  outline: none !important;
}

.dfs-amounts button.active span,
.dfs-amounts .dfs-amount-btn.active span,
.dfs-amounts button:focus span,
.dfs-amounts .dfs-amount-btn:focus span {
  color: #ffffff !important;
}

.dfs-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 12px !important;
}

.dfs-row input,
.dfs-form input[type="text"],
.dfs-form input[type="email"],
.dfs-form textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 15px 16px !important;
  border: 2px solid #d1d5db !important;
  border-radius: 18px !important;
  outline: none !important;
  font-size: 16px !important;
  color: #111827 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.dfs-row input:focus,
.dfs-form input[type="text"]:focus,
.dfs-form input[type="email"]:focus,
.dfs-form textarea:focus {
  border-color: #111827 !important;
}

.dfs-row span {
  color: #111827 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.dfs-form textarea {
  min-height: 96px !important;
  resize: vertical !important;
  margin-top: 12px !important;
}

.dfs-frequency {
  display: flex !important;
  gap: 18px !important;
  margin-bottom: 12px !important;
  align-items: center !important;
}

.dfs-frequency label,
.dfs-check {
  font-weight: 600 !important;
  color: #374151 !important;
  margin: 0 !important;
}

.dfs-submit {
  width: 100% !important;
  padding: 16px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: #111827 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  margin-top: 20px !important;
  box-shadow: 0 14px 32px rgba(17, 24, 39, .2) !important;
}

.dfs-submit:hover {
  background: #020617 !important;
  color: #ffffff !important;
}

.dfs-submit:disabled {
  opacity: .65 !important;
  cursor: not-allowed !important;
}

.dfs-note {
  text-align: center !important;
  color: #6b7280 !important;
  font-size: 13px !important;
  margin: 12px 0 0 !important;
}

.dfs-response {
  margin-top: 12px !important;
  color: #b91c1c !important;
  font-weight: 800 !important;
}

@media (max-width: 620px) {
  .dfs-card {
    margin: 15px !important;
    padding: 22px !important;
  }

  .dfs-header h2 {
    font-size: 28px !important;
  }

  .dfs-amounts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .dfs-progress-meta {
    flex-direction: column !important;
  }
}
