/* =========================================================
   8. PREMIUM OPINIE WOOCOMMERCE (Ultimate Specificity)
   ========================================================= */

/* Ukrycie brzydkiego, powielającego się nagłówka */
.tw-premium-single #reviews #comments h2.woocommerce-Reviews-title {
    display: none !important;
}

/* ================== LISTA OPINII (KARTY) ================== */
.tw-premium-single #reviews #comments ol.commentlist {
    padding: 0 !important;
    margin: 0 0 40px 0 !important;
    list-style: none !important;
    background: transparent !important;
}

/* Pojedyncza karta opinii */
.tw-premium-single #reviews #comments ol.commentlist li {
    margin-bottom: 16px !important;
    padding: 24px !important;
    background-color: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    transition: all 0.3s ease !important;
    display: block !important;
    clear: both !important;
}
.tw-premium-single #reviews #comments ol.commentlist li:hover {
    border-color: var(--season-border, #d1d5db) !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02) !important;
}

/* Kontener ułożenia (Wymuszamy Flexbox, bo Woo używa starych Floatów) */
.tw-premium-single #reviews #comments ol.commentlist li .comment_container {
    display: flex !important;
    gap: 20px !important;
    align-items: flex-start !important;
    width: 100% !important;
}

/* Avatar klienta */
.tw-premium-single #reviews #comments ol.commentlist li .comment_container img.avatar {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
    padding: 0 !important;
    margin: 0 !important;
    position: static !important; /* Nadpisuje błędne ustawienia Woo */
    float: none !important;
    flex-shrink: 0 !important;
}

/* Tekst i informacje obok Avatara */
.tw-premium-single #reviews #comments ol.commentlist li .comment_container .comment-text {
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-grow: 1 !important;
    background: transparent !important;
    float: none !important;
}

/* Gwiazdki w opinii */
.tw-premium-single #reviews #comments ol.commentlist li .comment-text .star-rating {
    float: none !important;
    margin: 0 0 8px 0 !important;
    font-size: 12px !important;
    color: #f59e0b !important; 
}
.tw-premium-single #reviews #comments ol.commentlist li .comment-text .star-rating span { 
    color: #f59e0b !important; 
}

/* Imię i data */
.tw-premium-single #reviews #comments ol.commentlist li .comment-text p.meta {
    font-size: 13px !important;
    color: #6b7280 !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    border: none !important;
}
.tw-premium-single #reviews #comments ol.commentlist li .comment-text p.meta strong {
    color: #111827 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}
.tw-premium-single #reviews #comments ol.commentlist li .comment-text p.meta time {
    color: #9ca3af !important;
    font-size: 12px !important;
}

/* Treść opinii */
.tw-premium-single #reviews #comments ol.commentlist li .comment-text .description,
.tw-premium-single #reviews #comments ol.commentlist li .comment-text .description p {
    font-size: 15px !important;
    color: #374151 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* ================== FORMULARZ "DODAJ OPINIĘ" ================== */
.tw-premium-single #review_form_wrapper {
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 30px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02) !important;
    margin-top: 40px !important;
    display: block !important;
}

/* Tytuł formularza */
.tw-premium-single #review_form_wrapper .comment-reply-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin-bottom: 24px !important;
    display: block !important;
    border-bottom: 1px solid #e5e7eb !important;
    padding-bottom: 16px !important;
}

/* Stylizacja klikalnych gwiazdek */
.tw-premium-single #review_form_wrapper p.stars { margin-bottom: 24px !important; }
.tw-premium-single #review_form_wrapper p.stars a { color: #d1d5db !important; transition: color 0.2s ease !important; }
.tw-premium-single #review_form_wrapper p.stars a:hover, 
.tw-premium-single #review_form_wrapper p.stars a.active { color: #f59e0b !important; }

/* Siatka dla formularza */
.tw-premium-single #review_form_wrapper form.comment-form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}
.tw-premium-single #review_form_wrapper form.comment-form > * {
    width: 100% !important;
    margin: 0 !important; 
}

/* Etykiety pól */
.tw-premium-single #review_form_wrapper form.comment-form label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* Imię i Email obok siebie */
.tw-premium-single #review_form_wrapper form.comment-form .comment-form-author,
.tw-premium-single #review_form_wrapper form.comment-form .comment-form-email {
    width: calc(50% - 8px) !important; 
}

/* Pola tekstowe w stylu Premium */
.tw-premium-single #review_form_wrapper form.comment-form input[type="text"],
.tw-premium-single #review_form_wrapper form.comment-form input[type="email"],
.tw-premium-single #review_form_wrapper form.comment-form textarea {
    width: 100% !important;
    padding: 14px 16px !important;
    background-color: #f9fafb !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    color: #1e293b !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
}

.tw-premium-single #review_form_wrapper form.comment-form input:focus,
.tw-premium-single #review_form_wrapper form.comment-form textarea:focus {
    outline: none !important;
    border-color: var(--season-text, #111827) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--season-text) 15%, transparent) !important;
    background-color: #ffffff !important;
}

.tw-premium-single #review_form_wrapper form.comment-form textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

.tw-premium-single #review_form_wrapper form.comment-form .form-submit { margin-top: 10px !important; }

/* ================== OPINIE: MOBILE ================== */
@media (max-width: 768px) {
    .tw-premium-single #reviews #comments ol.commentlist li { padding: 16px !important; }
    .tw-premium-single #reviews #comments ol.commentlist li .comment_container { gap: 12px !important; }
    .tw-premium-single #reviews #comments ol.commentlist li .comment_container img.avatar { width: 40px !important; height: 40px !important; }
    .tw-premium-single #review_form_wrapper { padding: 20px !important; }
    
    .tw-premium-single #review_form_wrapper form.comment-form .comment-form-author,
    .tw-premium-single #review_form_wrapper form.comment-form .comment-form-email { width: 100% !important; }
}

/* Złoty kolor */
.woocommerce p.stars { --star-gold: #f5a623; --star-empty: #cbd5e1; }

/* Wszystkie zaznaczone gwiazdki (do wybranej włącznie) – złote */
.woocommerce p.stars.selected a.active::before,
.woocommerce p.stars.selected a:not(.active)::before {
    color: var(--star-gold) !important;
}

/* Gwiazdki PO wybranej – puste (kontur), szare */
.woocommerce p.stars.selected a.active ~ a::before {
    color: var(--star-empty) !important;
}

/* Podgląd po najechaniu: wszystkie do tej pod kursorem złote, dalsze szare */
.woocommerce p.stars:hover a::before { color: var(--star-gold) !important; }
.woocommerce p.stars a:hover ~ a::before { color: var(--star-empty) !important; }