/* ============================================================
   Feedback widget — base styles
   ============================================================ */

/* Reset: heart and star buttons show only the icon, no button chrome */
.feedback-like__button,
.feedback-stars__star {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    color: inherit;
    font: inherit;
    line-height: 1;
    -webkit-appearance: none;
    appearance: none;
}

/* Voted-state: stars already submitted are not interactive */
.feedback-stars__star[aria-disabled="true"] {
    cursor: default;
}

/* Like widget layout: icon and label side by side */
.feedback-like__row {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
}

/* Heart icon sizing */
.feedback-like__icon {
    width: 1.5em;
    height: 1.5em;
    fill: currentColor;
    display: block;
}

/* Heart: show empty path by default, filled path when active (liked) */
.feedback-like__path--filled { display: none; }
.feedback-like__icon--active .feedback-like__path--filled { display: block; }
.feedback-like__icon--active .feedback-like__path--empty  { display: none; }

/* Star icon sizing */
.feedback-stars__star svg {
    width: 1.5em;
    height: 1.5em;
    fill: currentColor;
    display: block;
}

/* ── Animations ──────────────────────────────────────────── */

@keyframes feedback-pulse {
    0%   { transform: scale(1);    }
    30%  { transform: scale(1.40); }
    60%  { transform: scale(0.88); }
    80%  { transform: scale(1.12); }
    100% { transform: scale(1);    }
}

@keyframes feedback-blink {
    0%   { opacity: 1;   }
    25%  { opacity: 0.2; }
    55%  { opacity: 1;   }
    75%  { opacity: 0.4; }
    100% { opacity: 1;   }
}

.feedback--pulse {
    animation: feedback-pulse 0.7s ease-out;
}

.feedback--blink {
    animation: feedback-blink 0.7s ease-out;
}
