.rdf-wheel-container { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.rdf-wheel-stage { position: relative; }
.rdf-wheel-canvas {
  display: block; width: 420px; height: 420px; border-radius: 50%;
  transition: none; transform: rotate(0deg);
}
.rdf-wheel-pointer {
  position: absolute; top: -18px; left: 50%; transform: translateX(-50%);
  width: 0; height: 0;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 28px solid #ffd54f;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.4));
  z-index: 2;
}
.rdf-wheel-form { display: flex; gap: 8px; max-width: 420px; width: 100%; flex-wrap: wrap; }
.rdf-wheel-field { flex: 1 1 200px; display: flex; flex-direction: column; gap: 4px; }
.rdf-wheel-label { font-size: 0.85em; }
.rdf-wheel-field input {
  padding: 10px 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 14px;
}
.rdf-wheel-spin {
  background: #E8315B; color: #fff; border: 0;
  padding: 12px 20px; font-weight: 700; border-radius: 6px; cursor: pointer;
  letter-spacing: 0.5px; align-self: flex-end;
}
.rdf-wheel-spin:disabled { opacity: 0.6; cursor: wait; }
.rdf-wheel-result { font-size: 1.1em; text-align: center; min-height: 1.4em; }
.rdf-wheel-result.success { color: #146c2e; }
.rdf-wheel-result.error { color: #c92248; }
.rdf-wheel-result.neutral { color: #555; }
.rdf-wheel-claim {
  display: inline-block; margin-top: 10px;
  background: #146c2e; color: #fff !important; text-decoration: none;
  padding: 10px 18px; border-radius: 6px; font-weight: 600;
}

/* Claim widget */
.rdf-claim-prize { text-align: center; margin-bottom: 16px; }
.rdf-claim-image { max-width: 200px; max-height: 200px; }
.rdf-claim-instructions { background: #fff8e1; padding: 10px; border-radius: 6px; font-size: 0.9em; }
.rdf-claim-form { display: flex; flex-direction: column; gap: 12px; max-width: 480px; margin: 0 auto; }
.rdf-claim-row { display: grid; grid-template-columns: 120px 1fr; gap: 12px; }
.rdf-claim-field { display: flex; flex-direction: column; gap: 4px; }
.rdf-claim-field span { font-size: 0.85em; font-weight: 500; }
.rdf-claim-field input, .rdf-claim-field textarea {
  padding: 10px 12px; border: 1px solid #ccc; border-radius: 6px; font-family: inherit;
}
.rdf-claim-submit {
  background: #146c2e; color: #fff; border: 0; padding: 12px 20px;
  font-weight: 700; border-radius: 6px; cursor: pointer;
}
.rdf-claim-submit:disabled { opacity: 0.6; cursor: wait; }
.rdf-claim-feedback.error { color: #c92248; }
.rdf-claim-success { padding: 16px; background: #d1f4dd; border-radius: 6px; color: #146c2e; text-align: center; }
.rdf-claim-error, .rdf-claim-expired, .rdf-claim-already, .rdf-claim-empty {
  padding: 16px; background: #fff8e1; border-radius: 6px; text-align: center;
}
.rdf-claim-loading { padding: 16px; text-align: center; opacity: 0.7; }
