/* ════════════════════════════════════════════════════════════════════
   operatori-risorse-perma.css — Test PERMA-Profiler
   Prefisso: .pm-*
   Scala 0-10 . 8 sottoscale (5 PERMA + N + H + Hap) + Loneliness.

   NOTA: le regole-base condivise tra i 7 test sono in
   operatori-risorse-test.css. Qui restano solo le regole specifiche:
   - stati rating-button (var(--pm-col/bg) dal JS)
   - .pm-total-card (gradiente specifico)
   - band badge, categoria Keyes, card loneliness
   ════════════════════════════════════════════════════════════════════ */

/* ── Rating button: stati (usano --pm-col/--pm-bg dal JS) ──── */
.pm-rb:hover {
  border-color: var(--pm-col, var(--color-primary, #d34c31));
  background: var(--pm-bg, rgba(var(--color-primary-rgb), 0.05));
  transform: scale(1.06);
}

.pm-rb.is-sel {
  border-color: var(--pm-col, var(--color-primary, #d34c31));
  background: var(--pm-col, var(--color-primary, #d34c31));
  color: #fff;
}

.pm-rb:focus-visible {
  outline: 2px solid var(--pm-col, var(--color-primary, #d34c31));
  outline-offset: 2px;
}

/* ── Total card (gradiente PERMA viola) ────────────────────── */
.pm-total-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(135deg, var(--color-status-done, #2a7a4a) 0%, #7c3aed 100%);
  color: #fff;
  border-radius: 14px;
  padding: 20px 24px;
  margin: 0 0 28px;
  gap: 14px;
  flex-wrap: wrap;
}

/* ── Dimension dot ─────────────────────────────────────────── */
.pm-dc-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

/* ── Band badges (Low/Average/High) ──────────────────────────
   Coppie fondo-tenue + testo-saturo senza token equivalente: hex. */
.pm-band {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 4px;
}

.pm-band--low {
  background: #fce8e6;
  color: #8a1a0e;
}

.pm-band--average {
  background: #fdf3d8;
  color: #6d4f0c;
}

.pm-band--high {
  background: #d8efe1;
  color: #0d4a2e;
}

/* Per CS (positivo) la scala invertita: high=verde, low=rosso */
.pm-band--cs-low {
  background: #fce8e6;
  color: #8a1a0e;
}

.pm-band--cs-high {
  background: #d8efe1;
  color: #0d4a2e;
}

/* Polarity hint nei risultati */
.pm-polarity-hint {
  font-size: 0.72rem;
  color: var(--color-text-muted, #a8a09a);
  font-style: italic;
  margin-top: 2px;
}

/* ── Categoria Keyes (Flourishing / Moderate / Languishing) ───── */
.pm-cat-banner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  border-radius: 12px;
  margin: 0 0 22px;
  border-left: 5px solid;
}

.pm-cat-banner--flourishing {
  background: #d8efe1;
  color: #0d4a2e;
  border-left-color: var(--color-status-done, #2a7a4a);
}

.pm-cat-banner--moderate {
  background: #fdf3d8;
  color: #6d4f0c;
  border-left-color: var(--color-status-progress, #d97706);
}

.pm-cat-banner--languishing {
  background: #fce8e6;
  color: #8a1a0e;
  border-left-color: var(--color-status-alert, #d34c31);
}

.pm-cat-emoji {
  font-size: 2rem;
  line-height: 1;
  flex-shrink: 0;
}

.pm-cat-title {
  font-family: var(--font-heading, 'Fraunces', serif);
  font-size: 1.3rem;
  font-weight: 600;
  margin: 0 0 4px;
}

.pm-cat-desc {
  font-size: 0.88rem;
  margin: 0;
  line-height: 1.5;
}

/* ── Loneliness card (separata dalle 8 sottoscale grafiche) ───── */
.pm-loneliness-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--color-bg, #f8f6f1);
  border: 1px dashed var(--color-border, #e5dfd5);
  border-radius: 10px;
  padding: 14px 18px;
  margin: 0 0 22px;
  gap: 12px;
  flex-wrap: wrap;
}

.pm-loneliness-card-label {
  font-size: 0.88rem;
  color: var(--color-text-muted, #6b6259);
}

.pm-loneliness-card-label strong {
  color: var(--color-text, #1a1815);
}

.pm-loneliness-val {
  font-family: var(--font-heading, 'Fraunces', serif);
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--color-status-alert, #d34c31);
}

.pm-loneliness-val small {
  font-size: 0.7rem;
  font-weight: 400;
  opacity: 0.6;
}
