/**
 * Klikatelné hvězdy — ExtraVote-like layout
 * Vše na jednom řádku: [hvězdy] [hodnocení X.XX (Y hlasů)] ◄ [výzva]
 */

.clickable-vote-wrapper {
    --cv-star-color: #f5a623;
    --cv-star-empty: #d0d0d0;
    --cv-prompt-color: #c0392b;

    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0;
    margin: 0.5rem 0;
    font-family: inherit;
    font-size: 0.95rem;
    line-height: 1.4;
}

/* --- Hvězdy --- */
.clickable-vote-wrapper .cv-stars {
    display: inline-flex;
    gap: 2px;
    flex-shrink: 0;
}

.clickable-vote-wrapper .cv-star {
    background: none;
    border: none;
    padding: 1px;
    cursor: pointer;
    line-height: 0;
    border-radius: 3px;
    transition: transform 0.12s ease;
}

.clickable-vote-wrapper .cv-star svg {
    width: 26px;
    height: 26px;
    fill: var(--cv-star-empty);
    transition: fill 0.12s ease;
    display: block;
}

.clickable-vote-wrapper .cv-star.cv-filled svg {
    fill: var(--cv-star-color);
}

.clickable-vote-wrapper .cv-star:focus-visible {
    outline: 2px solid var(--cv-star-color);
    outline-offset: 1px;
}

/* Hover — progresivně zleva */
.clickable-vote-wrapper:not(.cv-voted) .cv-star:hover {
    transform: scale(1.12);
}

/* Fallback pro prohlížeče bez :has() — řídí se JS třídou .cv-hover */
.clickable-vote-wrapper:not(.cv-voted) .cv-star.cv-hover svg {
    fill: var(--cv-star-color);
    filter: brightness(1.08);
}

/* :has() varianta pro moderní prohlížeče */
@supports selector(:has(*)) {
    .clickable-vote-wrapper:not(.cv-voted) .cv-stars:has(.cv-star:hover) .cv-star svg {
        fill: var(--cv-star-empty);
    }
    .clickable-vote-wrapper:not(.cv-voted) .cv-stars:has(.cv-star:hover) .cv-star:hover svg,
    .clickable-vote-wrapper:not(.cv-voted) .cv-stars:has(.cv-star:hover) .cv-star:hover ~ .cv-star {
        /* reset — hover na pozdější hvězdě nechceme rozsvítit */
    }
    .clickable-vote-wrapper:not(.cv-voted) .cv-stars .cv-star:has(~ .cv-star:hover) svg,
    .clickable-vote-wrapper:not(.cv-voted) .cv-stars .cv-star:hover svg {
        fill: var(--cv-star-color);
    }
}

/* Po odhlasování */
.clickable-vote-wrapper.cv-voted .cv-star {
    cursor: default;
}
.clickable-vote-wrapper.cv-voted .cv-star:hover {
    transform: none;
}

/* Při odesílání */
.clickable-vote-wrapper.cv-loading .cv-stars {
    opacity: 0.5;
    pointer-events: none;
}

/* --- Informace o hodnocení --- */
.clickable-vote-wrapper .cv-rating-info {
    color: #555;
    white-space: nowrap;
}

.clickable-vote-wrapper .cv-rating-label {
    font-weight: 500;
}

.clickable-vote-wrapper .cv-rating-value {
    font-weight: 600;
    color: #333;
    margin-left: 0.2em;
}

.clickable-vote-wrapper .cv-votes {
    color: #777;
    margin-left: 0.15em;
}

/* --- Výzva (červený text) --- */
.clickable-vote-wrapper .cv-prompt {
    color: var(--cv-prompt-color);
    font-weight: 500;
    position: relative;
    padding-left: 1.2em;
}

.clickable-vote-wrapper .cv-prompt::before {
    content: '◄';
    position: absolute;
    left: 0;
    top: 0;
    font-size: 0.85em;
    line-height: 1.5;
}

/* Skryj výzvu po odhlasování — místo ní se zobrazí cv-message */
.clickable-vote-wrapper.cv-voted .cv-prompt {
    display: none;
}

/* --- Hláška po hlasování --- */
.clickable-vote-wrapper .cv-message {
    color: #2a7a3a;
    font-weight: 500;
    font-size: 0.95rem;
}

.clickable-vote-wrapper .cv-message:empty {
    display: none;
}

.clickable-vote-wrapper .cv-message.cv-error {
    color: #b00020;
}

/* --- Responsive --- */
@media (max-width: 640px) {
    .clickable-vote-wrapper {
        font-size: 0.9rem;
    }
    .clickable-vote-wrapper .cv-star svg {
        width: 24px;
        height: 24px;
    }
    .clickable-vote-wrapper .cv-prompt {
        flex-basis: 100%;
        padding-left: 0;
    }
    .clickable-vote-wrapper .cv-prompt::before {
        content: '';
    }
}

/* Skryj nativní Joomla rating (z rating.php) pokud je zobrazen jinde */
.content_rating {
    display: none !important;
}
