    .subtitle { font-size: 13px; color: #6b7280; margin-bottom: 14px; }

    .rating-summary {
      display: flex;
      align-items: center;
      gap: 16px;
      margin-bottom: 18px;
    }
    .rating-score {
      font-size: 32px;
      font-weight: 800;
      color: #facc15;
      min-width: 40px;
      text-align: center;
    }
    .rating-summary-text { font-size: 13px; color: #6b7280; }

    .rating-rows { margin-bottom: 16px; }
    .rating-row {
        display: grid;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        margin-bottom: 10px;
        font-size: 18px;
    }
    .rating-label { min-width: 120px; color: #374151; }

    .rating-stars {
      display: inline-flex;
      direction: ltr;
    }
    .rating-stars span {
      font-size: 40px;
      cursor: pointer;
      color: #d1d5db;
      margin: 0 2px;
      transition: transform .15s ease, color .15s ease, text-shadow .15s ease;
    }
    .rating-stars span.filled {
      color: #facc15;
    }
    .rating-stars span:hover { transform: scale(1.15); }

    .actions-review {
      margin-top: 14px;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .hint { font-size: 14px; color: #6b7280; }

    .error-msg {
      margin-top: 8px;
      font-size: 14px;
      color: red;
      display: none;
    }


    @media (max-width: 600px) {
      .rating-row { flex-direction: column; align-items: flex-start; }
      .rating-label { min-width: auto; }
    }