.feedback-main {
  display: flex;
  justify-content: center;
  padding: 40px 16px 80px;
  min-height: 70vh;
}

.feedback-card {
  background: var(--bg-card);
  border: 1px solid rgba(51, 153, 255, 0.18);
  border-radius: 20px;
  box-shadow: 0 4px 28px rgba(0, 0, 0, 0.22);
  padding: 44px 40px 40px;
  max-width: 480px;
  width: 100%;
  margin-top: 16px;
}

.feedback-card h1 {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 6px;
  background: linear-gradient(135deg, #3399ff, #66d9ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.feedback-subtitle {
  text-align: center;
  color: rgba(255, 255, 255, 0.5);
  -webkit-text-fill-color: rgba(255, 255, 255, 0.5);
  font-size: 0.9rem;
  margin-bottom: 32px;
}

/* ── Stern-Rating ── */
.star-group {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-bottom: 28px;
  flex-direction: row-reverse;
}

.star-group input[type="radio"] { display: none; }

.star-group label {
  font-size: 2.4rem;
  color: rgba(255, 255, 255, 0.2);
  -webkit-text-fill-color: rgba(255, 255, 255, 0.2);
  cursor: pointer;
  transition: color 0.15s, transform 0.12s, -webkit-text-fill-color 0.15s;
  line-height: 1;
}

.star-group label:hover,
.star-group label:hover ~ label,
.star-group input[type="radio"]:checked ~ label {
  color: #facc15;
  -webkit-text-fill-color: #facc15;
}

.star-group label:hover { transform: scale(1.18); }

.star-label {
  text-align: center;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.45);
  -webkit-text-fill-color: rgba(255, 255, 255, 0.45);
  min-height: 20px;
  margin-top: -18px;
  margin-bottom: 24px;
  transition: color 0.2s, -webkit-text-fill-color 0.2s;
}

/* ── Kategorie-Pills ── */
.kategorie-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}

.kategorie-group input[type="radio"] { display: none; }

.kategorie-group label {
  padding: 7px 18px;
  border-radius: 999px;
  border: 1px solid rgba(51, 153, 255, 0.3);
  font-size: 0.85rem;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.65);
  -webkit-text-fill-color: rgba(255, 255, 255, 0.65);
  transition: background 0.15s, border-color 0.15s, color 0.15s, -webkit-text-fill-color 0.15s;
  -webkit-user-select: none;
  user-select: none;
}

.kategorie-group label:hover {
  border-color: #3399ff;
  color: #fff;
  -webkit-text-fill-color: #fff;
}

.kategorie-group input[type="radio"]:checked + label {
  background: linear-gradient(135deg, #3399ff, #66d9ff);
  border-color: transparent;
  color: #172441;
  -webkit-text-fill-color: #172441;
  font-weight: 600;
}

/* ── Textarea ── */
.feedback-form { display: flex; flex-direction: column; gap: 16px; }

.feedback-form label.field-label {
  font-weight: 500;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
  -webkit-text-fill-color: rgba(255, 255, 255, 0.8);
  margin-bottom: -8px;
}

.feedback-form textarea {
  background: var(--bg);
  border: 1px solid rgba(51, 153, 255, 0.2);
  color: #fff;
  -webkit-text-fill-color: #fff;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 0.95rem;
  font-family: Inter, sans-serif;
  resize: vertical;
  min-height: 100px;
  transition: border-color 0.2s;
}

.feedback-form textarea:focus {
  outline: none;
  border-color: #3399ff;
}

.feedback-form textarea::placeholder { color: rgba(255, 255, 255, 0.3); }

.feedback-status {
  min-height: 22px;
  font-size: 0.95rem;
  text-align: center;
  margin-top: -4px;
}

/* ── Light Theme ── */
[data-theme="light"] .feedback-card {
  background: #ffffff;
  border-color: rgba(59, 130, 246, 0.2);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .feedback-subtitle {
  color: #64748b;
  -webkit-text-fill-color: #64748b;
}

[data-theme="light"] .star-label {
  color: #94a3b8;
  -webkit-text-fill-color: #94a3b8;
}

[data-theme="light"] .star-group label {
  color: #cbd5e1;
  -webkit-text-fill-color: #cbd5e1;
}

[data-theme="light"] .star-group label:hover,
[data-theme="light"] .star-group label:hover ~ label,
[data-theme="light"] .star-group input[type="radio"]:checked ~ label {
  color: #eab308;
  -webkit-text-fill-color: #eab308;
}

[data-theme="light"] .kategorie-group label {
  border-color: #cbd5e1;
  color: #475569;
  -webkit-text-fill-color: #475569;
}

[data-theme="light"] .kategorie-group label:hover {
  border-color: #3b82f6;
  color: #1e3a8a;
  -webkit-text-fill-color: #1e3a8a;
}

[data-theme="light"] .kategorie-group input[type="radio"]:checked + label {
  color: #fff;
  -webkit-text-fill-color: #fff;
}

[data-theme="light"] .feedback-form label.field-label {
  color: #374151;
  -webkit-text-fill-color: #374151;
}

[data-theme="light"] .feedback-form textarea {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #1e293b;
  -webkit-text-fill-color: #1e293b;
}

[data-theme="light"] .feedback-form textarea:focus { border-color: #3b82f6; }

[data-theme="light"] .feedback-form textarea::placeholder { color: #94a3b8; }

@media (max-width: 520px) {
  .feedback-card { padding: 32px 20px 28px; }
  .star-group label { font-size: 2rem; }
}

.field-optional {
  opacity: 0.5;
  font-weight: 400;
}
