/* Languademy — Add Review form (used inside the flow overlay) */
.review-wrap { max-width: 640px; margin-inline: auto; }
.review-head { text-align: center; margin-bottom: clamp(24px, 4vw, 36px); }
.review-head .eyebrow { justify-content: center; }
.review-head h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); margin-top: 12px; }
.review-head p { color: var(--ink-soft); font-size: 17px; margin-top: 12px; }

.review-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow); padding: clamp(24px, 4vw, 40px); }

/* Star rating */
.stars-input { display: flex; gap: 8px; }
.stars-input button {
  background: none; border: none; cursor: pointer; padding: 4px; line-height: 1;
  font-size: 42px; color: var(--line); transition: transform .12s ease, color .12s ease;
}
.stars-input button:hover { transform: scale(1.12); }
.stars-input button.on { color: var(--yellow); }
.stars-hint { font-family: 'Fredoka', sans-serif; font-weight: 600; color: var(--ink-soft); font-size: 15px; margin-top: 10px; min-height: 20px; }

textarea.r-area {
  width: 100%; min-height: 120px; resize: vertical; font-family: 'Nunito', sans-serif; font-size: 17px; color: var(--ink);
  background: var(--cream); border: 2px solid var(--line); border-radius: 14px; padding: 14px 16px; transition: border-color .15s ease;
}
textarea.r-area:focus { outline: none; border-color: var(--primary); background: var(--paper); }
textarea.r-area.invalid, .input-group select.invalid { border-color: var(--coral); }

.input-group select {
  width: 100%; font-family: 'Nunito', sans-serif; font-size: 17px; color: var(--ink);
  background: var(--cream); border: 2px solid var(--line); border-radius: 14px; padding: 15px 40px 15px 16px; cursor: pointer; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B6577' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}
.input-group select:focus { outline: none; border-color: var(--primary); background-color: var(--paper); }

.review-success { text-align: center; padding: clamp(16px, 4vw, 32px) 0; }
.review-success .burst { width: 88px; height: 88px; border-radius: 50%; background: var(--teal); display: grid; place-items: center; margin: 0 auto 22px; box-shadow: 0 8px 0 var(--teal-dark); animation: rpop .5s cubic-bezier(.2,1.4,.4,1); }
@keyframes rpop { from { transform: scale(.5); } to { transform: none; } }
.review-success .burst svg { width: 42px; height: 42px; stroke: #fff; fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.review-success h2 { font-size: clamp(1.7rem, 4vw, 2.4rem); }
.review-success p { color: var(--ink-soft); font-size: 17px; margin: 14px auto 0; max-width: 42ch; }
.review-success .rstars { color: var(--yellow-dark); font-size: 26px; letter-spacing: 3px; margin-top: 18px; }
.review-success .actions { display: flex; gap: 14px; justify-content: center; margin-top: 28px; flex-wrap: wrap; }
