/* ============================================================
   feedback.css  —  Give Feedback page.
   Bootstrap card wrapper; the rating stars, chips, textarea,
   submit and success states are custom. Scoped to .page-feedback.
   ============================================================ */

.page-feedback .fb-label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.6px; color: var(--muted); margin-bottom: 8px; }
.page-feedback .fb-req { color: var(--red); }
.page-feedback .fb-hint { font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--muted); }

.page-feedback .fb-reward-tag { display: inline-flex; align-items: center; gap: 6px; background: var(--gold-pale); border: 1px solid rgba(232,168,32,0.4); color: var(--orange); font-size: 12px; font-weight: 600; padding: 5px 12px; border-radius: 20px; margin-bottom: 14px; }

.page-feedback .fb-stars { display: flex; gap: 8px; margin: 4px 0; }
.page-feedback .fb-star { font-size: 28px; color: var(--border2); cursor: pointer; transition: transform .12s, color .12s; line-height: 1; user-select: none; }
.page-feedback .fb-star:hover { transform: scale(1.12); }
.page-feedback .fb-star.lit { color: var(--gold); }
.page-feedback .fb-rating-word { font-size: 12px; color: var(--muted); height: 16px; margin-bottom: 14px; }

.page-feedback .fb-chip-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.page-feedback .fb-chip { font-size: 12px; padding: 7px 13px; border-radius: 20px; border: 1px solid var(--border2); background: var(--surface); cursor: pointer; color: var(--muted); font-family: 'DM Sans', sans-serif; transition: all .15s; }
.page-feedback .fb-chip.on { background: var(--navy); color: #fff; border-color: var(--navy); }

.page-feedback .fb-text { width: 100%; min-height: 96px; padding: 12px; border: 1px solid var(--border2); border-radius: 10px; font-size: 13px; font-family: 'DM Sans', sans-serif; resize: vertical; color: var(--ink); }
.page-feedback .fb-text:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(232,168,32,0.14); }

.page-feedback .fb-submit { margin-top: 16px; background: var(--navy); color: #fff; border: none; border-radius: 10px; padding: 13px 20px; font-size: 14px; font-weight: 500; cursor: pointer; font-family: 'DM Sans', sans-serif; }
.page-feedback .fb-submit:hover:not(:disabled) { background: var(--navy-mid); }
.page-feedback .fb-submit:disabled { background: var(--border2); cursor: not-allowed; }
.page-feedback .fb-validation { font-size: 11px; color: var(--muted); margin-top: 8px; line-height: 1.5; }

.page-feedback .fb-portal-note { margin-top: 14px; padding: 12px 14px; background: linear-gradient(135deg,var(--gold-pale),var(--surface2)); border: 1px solid rgba(232,168,32,0.3); border-radius: 10px; font-size: 12px; color: var(--ink2); line-height: 1.5; }
.page-feedback .fb-portal-head { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; color: var(--navy); }
.page-feedback .fb-portal-head i { font-size: 14px; }
.page-feedback .fb-portal-note span { color: var(--muted); }
.page-feedback .fb-ext { color: var(--navy); font-weight: 600; }

.page-feedback .fb-success { display: none; text-align: center; padding: 40px 20px; }
.page-feedback .fb-success.show { display: block; }
.page-feedback .fb-coin-burst { font-size: 40px; font-family: 'Fraunces', serif; color: var(--orange); margin: 6px 0; }
.page-feedback .fb-success h3 { font-family: 'Fraunces', serif; font-size: 21px; color: var(--navy); margin-bottom: 6px; }
.page-feedback .fb-success p { font-size: 13px; color: var(--muted); max-width: 360px; margin: 0 auto; }
.page-feedback .fb-success-portal { margin-top: 18px; padding: 14px 16px; background: var(--surface2); border-radius: 10px; font-size: 12.5px; color: var(--ink2); line-height: 1.6; }
.page-feedback .fb-success-hint { font-size: 11px; color: var(--muted); margin-top: 6px; }