/* Layout */
.rt-registration-form form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.rt-registration-form form .full-width {
  grid-column: 1 / -1;
}

/* Fortschrittsanzeige */
.rt-progress-wrapper {
  margin-bottom: 1rem;
}
.rt-progress-bar {
    width: 100%;
    height: 20px;
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 5px;
}
.rt-progress-fill {
  height: 20px;
  background: #4273b8;
  transition: width 0.4s ease;
}

/* Inline Felder */
.inline-fields {
  display: flex;
  gap: 1rem;
  grid-column: 1 / -1;
}
.email-field { flex: 2; }
.persons-field { flex: 1; }

/* Spinner */
.rt-spinner {
  width: 20px;
  height: 20px;
  border: 3px solid #ccc;
  border-top-color: #0073aa;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  display: inline-block;
  vertical-align: middle;
  margin-left: 8px;
}
@keyframes spin {
  100% { transform: rotate(360deg); }
}

/* Personen */
.person-group {
  grid-column: 1 / -1;
  padding: 1rem;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fafafa;
}
.person-group h4 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

/* Inputs */
.rt-registration-form input,
.rt-registration-form select {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.rt-registration-form label {
  display: block;
  margin-bottom: 0.25rem;
  font-weight: 500;
}

/* Buttons */
.rt-registration-form button {
  background-color: #0073aa;
  color: #fff;
  border: none;
  padding: 0.6rem 1rem;
  border-radius: 4px;
  cursor: pointer;
}
.rt-registration-form button:hover {
  background-color: #005f8d;
}

/* Meldungen */
.rt-success-message {
  background: #d4edda;
  color: #155724;
  padding: 1rem;
  border-radius: 6px;
}
.rt-error-message {
  background: #f8d7da;
  color: #721c24;
  padding: 1rem;
  border-radius: 6px;
}
.rt-info-message {
  background: #fff3cd;
  color: #856404;
  padding: 1rem;
  border-radius: 6px;
}

/* Responsive */
@media (max-width: 768px) {
  .rt-registration-form form { grid-template-columns: 1fr; }
  .inline-fields { flex-direction: column; }
}