/* ========================================================================== 
   POST-PURCHASE REVIEWS — WHITESNUS FRONT
   Warstwa wizualna dopasowana do whitesnus.pl. Bez zmian w logice modułu.
   ========================================================================== */

:root {
    --ppr-accent: #222222;
    --ppr-accent-hover: #000000;
    --ppr-star-full: #111;
    --ppr-star-empty: #d7d7d7;
    --ppr-text: #232323;
    --ppr-text-muted: #747474;
    --ppr-border: #e6e6e6;
    --ppr-border-strong: #d7d7d7;
    --ppr-surface: #ffffff;
    --ppr-surface-soft: #f7f8f9;
    --ppr-success-bg: #eef8f2;
    --ppr-success: #2f7d4b;
    --ppr-warning-bg: #fff8eb;
    --ppr-warning: #9a6515;
    --ppr-danger: #d94a4a;
    --ppr-radius: 6px;
    --ppr-radius-lg: 8px;
}

/* ========================================================================== 
   SHARED
   ========================================================================== */

.ppr-star {
    display: inline-block;
    font-style: normal;
    line-height: 1;
}

.ppr-star--full { color: var(--ppr-star-full); }
.ppr-star--empty { color: var(--ppr-star-empty); }

.ppr-star--half-wrap {
    position: relative;
    display: inline-block;
    color: var(--ppr-star-empty);
}

.ppr-star--half-wrap .ppr-star-empty-under { color: var(--ppr-star-empty); }
.ppr-star--half-wrap .ppr-star-half-inner {
    position: absolute;
    inset: 0 auto auto 0;
    width: 50%;
    overflow: hidden;
    color: var(--ppr-star-full);
}

/* ========================================================================== 
   MINI RATING — przy nazwie produktu na PDP
   ========================================================================== */

.ppr-mini-stars {
    margin: 7px 0 14px;
    line-height: 1;
}

.ppr-mini-stars-link {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: inherit;
    text-decoration: none;
}

.ppr-mini-stars-link:hover,
.ppr-mini-stars-link:focus {
    color: inherit;
    text-decoration: none;
}

.ppr-mini-stars .ppr-star,
.ppr-mini-stars .ppr-star--half-wrap {
    font-size: 16px;
}

.ppr-mini-label {
    margin-left: 7px;
    color: #555;
    font-size: 13px;
    line-height: 1.25;
}

.ppr-mini-stars-link:hover .ppr-mini-label,
.ppr-mini-stars-link:focus .ppr-mini-label {
    color: var(--ppr-accent);
}

/* ========================================================================== 
   PDP — BLOK OPINII / SNUSOWO
   ========================================================================== */
.ppr-product-block,
.ppr-product-block * {
    box-sizing: border-box;
}
.ppr-product-block {
    width: 100%;
    margin: 0 0 32px 0;
    padding: 64px 0;
    overflow-x: clip;
    background: #ffffff;
    color: var(--snusowo-text-primary, #111111);

    /*
     * Full-bleed background bez width: 100vw.
     * 100vw w kontenerze PrestaShop powodował poziomy scrollbar.
     */
    box-shadow: 0 0 0 100vmax #ffffff;
    clip-path: inset(0 -100vmax);
}

.ppr-product-block__inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0;
}

.ppr-block-header {
    min-height: 64px;
    display: flex;
    align-items: center;
    margin: 0 0 28px;
}

.ppr-block-title {
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--snusowo-text-primary, #111111);
    font-size: 28px;
    font-style: normal;
    font-weight: 800;
    line-height: 35px;
}

.ppr-reviews-layout {
    width: 100%;
    min-width: 0;

    display: flex;
    align-items: flex-start;
    gap: 24px;
}

/* ---------- REVIEW SCORE ---------- */

.ppr-product-block .ppr-block-summary {
    width: clamp(240px, 21.25vw, 272px);
    height: 236px;

    flex: 0 0 clamp(240px, 21.25vw, 272px);

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;

    margin: 0;
    padding: 28px 24px;

    background: var(--snusowo-bg-page, #f5f5f5);
    border-radius: 16px;

    text-align: center;
}

.ppr-product-block .ppr-summary-rating {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.ppr-product-block .ppr-avg-number {
    color: var(--snusowo-text-primary, #111111);
    font-size: 52px;
    font-weight: 800;
    line-height: 57px;
}

.ppr-product-block .ppr-summary-stars {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    margin: 0;
}

.ppr-product-block .ppr-summary-stars .ppr-star,
.ppr-product-block .ppr-summary-stars .ppr-star--half-wrap {
    font-size: 18px;
    line-height: 22px;
}

.ppr-product-block .ppr-summary-count {
    margin: 0;
    color: #676767;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
}

/* Gwiazdki w sekcji PDP są czarne jak w Figmie. */
.ppr-product-block .ppr-star--full {
    color: #111111;
}

.ppr-product-block .ppr-star--empty,
.ppr-product-block .ppr-star--half-wrap,
.ppr-product-block .ppr-star--half-wrap .ppr-star-empty-under {
    color: #cfcfcf;
}

.ppr-product-block .ppr-star--half-wrap .ppr-star-half-inner {
    color: #111111;
}

/* ---------- CAROUSEL ---------- */

.ppr-reviews-carousel {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

.ppr-reviews-viewport {
    width: 100%;
    overflow: hidden;
}

.ppr-reviews-track {
    display: flex;
    gap: 24px;
    transform: translate3d(0, 0, 0);
    transition: transform 280ms ease;
    will-change: transform;
}

.ppr-product-block .ppr-review-item {
    width: auto;
    height: 236px;
    min-width: 0;

    flex: 0 0 calc((100% - 24px) / 2);

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;

    margin: 0;
    padding: 24px;
    overflow: hidden;

    background: var(--snusowo-bg-page, #f5f5f5);
    border: 0;
    border-radius: 16px;
}

.ppr-product-block .ppr-review-item:first-child {
    border: 0;
}

.ppr-product-block .ppr-review-stars {
    display: inline-flex;
    gap: 1px;
    margin: 0;
}

.ppr-product-block .ppr-review-stars .ppr-star,
.ppr-product-block .ppr-review-stars .ppr-star--half-wrap {
    font-size: 15px;
    line-height: 18px;
}

.ppr-product-block .ppr-review-text,
.ppr-product-block .ppr-review-comment {
    margin: 0;
    padding: 0;
    color: #3f3f3f;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    overflow-wrap: anywhere;
}

.ppr-product-block .ppr-review-translated-note {
    margin: 0;
    padding: 0;
    color: #707070;
    font-size: 12px;
    font-style: italic;
    line-height: 16px;
}

.ppr-product-block .ppr-read-more {
    margin: -6px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #111111;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
    text-decoration: underline;
}

.ppr-product-block .ppr-review-footer {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #707070;
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
}

.ppr-product-block .ppr-reviewer-name,
.ppr-product-block .ppr-review-date {
    margin: 0;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.ppr-carousel-nav {
    position: absolute;
    top: 50%;
    z-index: 3;

    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 0;

    transform: translateY(-50%);

    background: #ffffff;
    border: 1px solid #e4e4e4;
    border-radius: 16px;

    color: #111111;
    cursor: pointer;
}

.ppr-carousel-prev {
    left: 16px;
}

.ppr-carousel-next {
    right: 16px;
}

.ppr-carousel-nav[hidden] {
    display: none;
}

.ppr-carousel-icon {
    width: 20px;
    height: 20px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ppr-carousel-nav:hover,
.ppr-carousel-nav:focus-visible {
    background: #ffffff;
    color: #111111;
    outline: 0;
}

.ppr-mobile-action {
    display: none;
}

.ppr-no-reviews-card {
    flex: 1 1 auto;
    min-height: 236px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: var(--snusowo-bg-page, #f5f5f5);
    border-radius: 16px;
}

.ppr-product-block .ppr-no-reviews {
    margin: 0;
    padding: 0;
    color: #676767;
    font-size: 14px;
    text-align: center;
}

/* ---------- MOBILE / TABLET FALLBACK ---------- */

@media (max-width: 1199px) {
    .ppr-product-block {
        width: 100%;
        margin-left: 0;
        padding: 12px 0;
        overflow: visible;
    }

    .ppr-product-block__inner {
        max-width: none;
    }

    .ppr-block-header {
        min-height: 0;
        margin-bottom: 24px;
    }

    .ppr-block-title {
        font-size: 24px;
        line-height: 32px;
    }

    .ppr-reviews-layout {
        flex-direction: column;
        gap: 16px;
    }

    .ppr-product-block .ppr-block-summary {
        flex: none;
        width: 100%;
        height: auto;
        min-height: 180px;
        justify-content: center;
        padding: 24px 20px;
    }

    .ppr-reviews-carousel,
    .ppr-reviews-viewport {
        width: 100%;
        overflow: visible;
    }

    .ppr-reviews-track {
        width: 100%;
        flex-direction: column;
        gap: 12px;
        transform: none !important;
        transition: none;
    }

    .ppr-product-block .ppr-review-item {
        flex: none;
        width: 100%;
        height: auto;
        min-height: 180px;
        padding: 20px;
    }

    .ppr-product-block .ppr-review-item.is-mobile-hidden {
        display: none;
    }

    .ppr-carousel-nav {
        display: none;
    }

    .ppr-mobile-action {
        display: block;
        margin-top: 16px;
    }

    .ppr-mobile-toggle {
        width: 100%;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0 16px;
        background: #111111;
        border: 1px solid #111111;
        border-radius: 12px;
        color: #ffffff;
        cursor: pointer;
        font-size: 12px;
        font-weight: 700;
        line-height: 16px;
        text-transform: uppercase;
    }

    .ppr-mobile-toggle:hover,
    .ppr-mobile-toggle:focus {
        background: #111111;
        border-color: #111111;
        color: #ffffff;
    }

    .ppr-no-reviews-card {
        width: 100%;
        min-height: 160px;
    }
}

/* ========================================================================== 
   FORMULARZ OPINII Z LINKU W MAILU
   ========================================================================== */

.ppr-review-page,
.ppr-success-page,
.ppr-reviews-page {
    width: 100%;
    max-width: 900px;
    margin: 24px auto 46px;
    padding: 0 15px;
    color: var(--ppr-text);
}

.ppr-title {
    margin: 0 0 24px;
    color: var(--ppr-text);
    font-size: 28px;
    font-weight: 600;
    line-height: 1.25;
}

.ppr-review-form {
    display: flex;
    flex-direction: column;
}

.ppr-product-review {
    margin: 0 0 16px;
    padding: 20px;
    border: 1px solid var(--ppr-border);
    border-radius: var(--ppr-radius-lg);
    background: var(--ppr-surface);
    box-shadow: none;
}

.ppr-product-review--done {
    background: var(--ppr-surface-soft);
    opacity: .72;
}

.ppr-product-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 18px;
}

.ppr-product-img {
    flex: 0 0 86px;
    width: 86px;
    height: 86px;
    padding: 4px;
    border: 1px solid var(--ppr-border);
    border-radius: var(--ppr-radius);
    background: #fff;
    object-fit: contain;
}

.ppr-product-info { flex: 1; min-width: 0; }

.ppr-product-info .ppr-product-name {
    margin: 0 0 7px;
    color: var(--ppr-text);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}

.ppr-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
}

.ppr-badge--done {
    background: var(--ppr-success-bg);
    color: var(--ppr-success);
}

.ppr-label {
    display: block;
    margin: 0 0 8px;
    color: #3b3b3b;
    font-size: 13px;
    font-weight: 600;
}

.ppr-required { color: var(--ppr-danger); }

.ppr-rating-section { margin: 0 0 18px; }

.ppr-stars-widget {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    user-select: none;
}

.ppr-sw-star {
    position: relative;
    color: var(--ppr-star-empty);
    cursor: pointer;
    font-size: 32px;
    line-height: 1;
    transition: color .12s ease;
}

.ppr-sw-star.full { color: var(--ppr-star-full); }

.ppr-sw-star.half {
    color: var(--ppr-star-empty);
    background: linear-gradient(90deg, var(--ppr-star-full) 50%, var(--ppr-star-empty) 50%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.ppr-sw-value {
    min-width: 35px;
    margin-left: 7px;
    color: #555;
    font-size: 14px;
    font-weight: 600;
    -webkit-text-fill-color: #555;
}

.ppr-comment-section { margin: 0; }

.ppr-textarea {
    width: 100%;
    min-height: 118px;
    padding: 11px 12px;
    border: 1px solid var(--ppr-border-strong);
    border-radius: 4px;
    background: #fff;
    color: var(--ppr-text);
    box-sizing: border-box;
    font: inherit;
    font-size: 14px;
    line-height: 1.5;
    resize: vertical;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.ppr-textarea:focus {
    border-color: var(--ppr-accent);
    outline: 0;
    box-shadow: 0 0 0 2px rgba(0,0,0,.08);
}

.ppr-textarea::placeholder { color: #999; }

.ppr-char-count {
    display: block;
    margin: 5px 0 0;
    color: #999;
    font-size: 11px;
    text-align: right;
}

.ppr-submit-section {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 3px 0 0;
}

.ppr-submit-section .ppr-notice { flex: 1 1 420px; margin: 0; }
.ppr-submit-section .ppr-submit-btn { flex: 0 0 auto; margin: 0; float: none; }
.ppr-submit-section::after { display: none; }

/* ========================================================================== 
   KOMUNIKATY / SUCCESS / ERROR
   ========================================================================== */

.ppr-notice {
    color: var(--ppr-text-muted);
    font-size: 13px;
    line-height: 1.5;
}

.ppr-notice p { margin: 0; }

.ppr-notice--info,
.ppr-notice--warning {
    padding: 12px 14px;
    border-radius: var(--ppr-radius);
}

.ppr-notice--info {
    border: 1px solid #dedede;
    background: #fafafa;
    color: #666666;
}

.ppr-notice--warning {
    margin: 0 0 18px;
    border: 1px solid #f0dfb8;
    background: var(--ppr-warning-bg);
    color: var(--ppr-warning);
}

.ppr-notice--warning h3 {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 600;
}

.ppr-notice--warning ul { margin: 0; padding-left: 18px; }

.ppr-success-page { max-width: 680px; }

.ppr-success-box {
    padding: 30px 24px;
    border: 1px solid var(--ppr-border);
    border-radius: var(--ppr-radius-lg);
    background: #fff;
    text-align: center;
}

.ppr-success-icon {
    display: flex;
    width: 56px;
    height: 56px;
    align-items: center;
    justify-content: center;
    margin: 0 auto 17px;
    border-radius: 50%;
    background: var(--ppr-success-bg);
    color: var(--ppr-success);
    font-size: 26px;
    line-height: 1;
}

.ppr-success-box h1 {
    margin: 0 0 9px;
    color: var(--ppr-text);
    font-size: 24px;
    font-weight: 600;
}

.ppr-success-box > p {
    margin: 0 0 5px;
    color: #505050;
    font-size: 14px;
    line-height: 1.55;
}

.ppr-moderation-info { color: var(--ppr-text-muted) !important; font-size: 13px !important; }
.ppr-actions { margin: 18px 0 0; text-align: center; }

.ppr-error-wrap {
    max-width: 560px;
    margin: 38px auto;
    padding: 32px 26px;
    border: 1px solid var(--ppr-border);
    border-radius: var(--ppr-radius-lg);
    background: #fff;
    text-align: center;
}

.ppr-error-icon {
    display: flex;
    width: 62px;
    height: 62px;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #fff4f4;
    color: var(--ppr-danger);
}

.ppr-error-code {
    margin: 0 0 5px;
    color: #d9d9d9;
    font-size: 44px;
    font-weight: 700;
    line-height: 1;
}

.ppr-error-title {
    margin: 0 0 9px;
    color: var(--ppr-text);
    font-size: 22px;
    font-weight: 600;
}

.ppr-error-message {
    margin: 0 0 5px;
    color: #444;
    font-size: 14px;
    line-height: 1.5;
}

.ppr-error-hint {
    margin: 0 0 20px;
    color: var(--ppr-text-muted);
    font-size: 13px;
    line-height: 1.5;
}

/* ========================================================================== 
   PEŁNA LISTA OPINII
   ========================================================================== */

.ppr-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0 0 18px;
    color: var(--ppr-text-muted);
    font-size: 12px;
}

.ppr-breadcrumb a { color: var(--ppr-text-muted); text-decoration: none; }
.ppr-breadcrumb a:hover { color: var(--ppr-accent); }

.ppr-summary {
    display: grid;
    grid-template-columns: minmax(190px, .8fr) minmax(280px, 1.2fr);
    gap: 30px;
    margin: 0 0 28px;
    padding: 22px;
    border: 1px solid var(--ppr-border);
    border-radius: var(--ppr-radius-lg);
    background: var(--ppr-surface-soft);
}

.ppr-summary .ppr-summary-rating { display: block; }
.ppr-big-rating { color: var(--ppr-text); font-size: 38px; font-weight: 700; }
.ppr-big-max { color: var(--ppr-text-muted); font-size: 18px; }
.ppr-stars--big { margin: 7px 0 5px; }
.ppr-stars--big .ppr-star { font-size: 22px; }
.ppr-review-count { color: var(--ppr-text-muted); font-size: 13px; }

.ppr-distribution { margin: 0; }

.ppr-dist-row {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 6px;
}

.ppr-dist-label {
    width: 38px;
    color: var(--ppr-text-muted);
    font-size: 12px;
    text-align: right;
}

/* Wspieramy obie nazwy klas obecne w module. */
.ppr-dist-bar,
.ppr-dist-bar-bg {
    flex: 1;
    height: 7px;
    overflow: hidden;
    border-radius: 99px;
    background: #e7e7e7;
}

.ppr-dist-fill,
.ppr-dist-bar-fill {
    height: 100%;
    border-radius: 99px;
    background: var(--ppr-star-full);
}

.ppr-dist-count {
    width: 28px;
    color: var(--ppr-text-muted);
    font-size: 12px;
}

.ppr-reviews-list .ppr-review-item { padding: 20px 0; }
.ppr-verified-badge {
    display: inline-flex;
    margin-left: 7px;
    padding: 3px 7px;
    border-radius: 4px;
    background: #f6f6f6;
    color: #555555;
    font-size: 10px;
    font-weight: 600;
    vertical-align: 1px;
}

.ppr-rating-num { margin-left: 5px; color: var(--ppr-text-muted); font-size: 11px; }
.ppr-reviews-list .ppr-review-comment { padding-left: 0; margin-top: 7px; }

.ppr-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    margin: 24px 0 0;
}

.ppr-page-link,
.ppr-pagination a,
.ppr-pagination span {
    display: inline-flex;
    min-width: 35px;
    min-height: 35px;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border: 1px solid var(--ppr-border);
    border-radius: 4px;
    background: #fff;
    color: #555;
    font-size: 13px;
    text-decoration: none;
}

.ppr-page-current,
.ppr-pagination span.current {
    border-color: var(--ppr-accent);
    background: var(--ppr-accent);
    color: #fff;
}

.ppr-page-link:hover,
.ppr-pagination a:hover {
    border-color: #c9c9c9;
    background: var(--ppr-surface-soft);
    color: var(--ppr-text);
    text-decoration: none;
}

.ppr-load-more-wrapper { margin: 20px 0 0; text-align: center; }
.ppr-load-more-btn { width: auto; margin: 0; }

/* Pozostałość po opcjonalnym kuponie. Utrzymana wizualnie spójnie z Vapify. */
.ppr-coupon-box {
    margin: 22px 0;
    padding: 20px;
    border: 1px solid var(--ppr-border);
    border-radius: var(--ppr-radius-lg);
    background: var(--ppr-surface-soft);
    text-align: center;
}

.ppr-coupon-box h2 { margin: 0 0 6px; font-size: 18px; font-weight: 600; }
.ppr-coupon-box > p { margin: 0 0 12px; color: var(--ppr-text-muted); font-size: 13px; }
.ppr-coupon-code-wrapper { display: inline-flex; align-items: center; gap: 7px; }
.ppr-coupon-code {
    padding: 8px 14px;
    border: 1px dashed #bfc7ca;
    border-radius: 4px;
    background: #fff;
    color: var(--ppr-text);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 1.5px;
}
.ppr-copy-btn {
    min-height: 38px;
    padding: 7px 12px;
    border: 1px solid var(--ppr-border-strong);
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    font-size: 12px;
}
.ppr-copy-btn:hover { background: #f4f4f4; }
.ppr-coupon-info { margin: 9px 0 0; color: var(--ppr-text-muted); font-size: 12px; }

/* ========================================================================== 
   RESPONSIVE
   ========================================================================== */

@media (max-width: 767px) {
    .ppr-product-block {
        margin-top: 12px;
        padding-top: 12px;
    }

    .ppr-block-title { font-size: 21px; }

    .ppr-block-summary {
        grid-template-columns: auto 1fr;
        column-gap: 13px;
        padding: 15px;
    }

    .ppr-summary-label { grid-column: 1 / -1; }
    .ppr-summary-count { grid-column: 1 / -1; }
    .ppr-avg-number { font-size: 27px; }
    .ppr-summary-stars .ppr-star,
    .ppr-summary-stars .ppr-star--half-wrap { font-size: 20px; }

    .ppr-review-text,
    .ppr-review-comment,
    .ppr-review-translated-note,
    .ppr-read-more {
        margin-left: 0;
        padding-left: 0;
    }

    .ppr-review-page,
    .ppr-success-page,
    .ppr-reviews-page {
        margin-top: 18px;
        padding: 0 12px;
    }

    .ppr-title { font-size: 23px; margin-bottom: 18px; }
    .ppr-product-review { padding: 16px; }
    .ppr-product-img { width: 70px; height: 70px; flex-basis: 70px; }
    .ppr-sw-star { font-size: 30px; }

    .ppr-submit-section {
        align-items: stretch;
        flex-direction: column;
    }

    .ppr-submit-section .ppr-notice { flex-basis: auto; }
    .ppr-submit-section .ppr-submit-btn { width: 100%; }

    .ppr-summary { grid-template-columns: 1fr; gap: 18px; padding: 17px; }
}

@media (max-width: 480px) {
    .ppr-product-header { align-items: flex-start; gap: 12px; }
    .ppr-product-img { width: 62px; height: 62px; flex-basis: 62px; }
    .ppr-review-stars-date { gap: 7px; }
    .ppr-see-more-btn,
    .ppr-actions .btn,
    .ppr-btn--primary { width: 100%; }
}


/* ==========================================================================
   WHITESNUS — BRAND OVERRIDES
   Złote CTA na białym/czarnym layoucie.
   ========================================================================== */

.ppr-see-more-btn,
.ppr-load-more-btn,
.ppr-submit-section .ppr-submit-btn,
.ppr-actions .btn,
.ppr-btn--primary {
    border-color: var(--snusowo-accent);
    background: var(--snusowo-accent);
    color: #111111;
    border-radius: 2px;
}

.ppr-see-more-btn:hover,
.ppr-see-more-btn:focus,
.ppr-load-more-btn:hover,
.ppr-load-more-btn:focus,
.ppr-submit-section .ppr-submit-btn:hover,
.ppr-submit-section .ppr-submit-btn:focus,
.ppr-actions .btn:hover,
.ppr-actions .btn:focus,
.ppr-btn--primary:hover,
.ppr-btn--primary:focus {
    border-color: #111111;
    background: #111111;
    color: #ffffff;
}

.ppr-textarea:focus {
    border-color: #222222;
    box-shadow: 0 0 0 2px rgba(0,0,0,.08);
}

.ppr-review-avatar {
    background: #f6f6f6;
    color: #111111;
}

.ppr-verified-badge {
    background: #f6f6f6;
    color: #555555;
}

.ppr-page-current,
.ppr-pagination span.current {
    border-color: #222222;
    background: #222222;
    color: #111111;
}


/* ==========================================================================
   WHITESNUS — FINAL BLACK/WHITE OVERRIDES
   ========================================================================== */

:root {
    --ppr-accent: #222222;
    --ppr-accent-hover: #000000;
}

/* CTA / przyciski */
.ppr-see-more-btn,
.ppr-load-more-btn,
.ppr-submit-section .ppr-submit-btn,
.ppr-actions .btn,
.ppr-btn--primary {
    border-radius: 12px;
    background: var(--snusowo-accent);
    color: #111111;
    box-shadow: none;
}

.ppr-see-more-btn:hover,
.ppr-see-more-btn:focus,
.ppr-load-more-btn:hover,
.ppr-load-more-btn:focus,
.ppr-submit-section .ppr-submit-btn:hover,
.ppr-submit-section .ppr-submit-btn:focus,
.ppr-actions .btn:hover,
.ppr-actions .btn:focus,
.ppr-btn--primary:hover,
.ppr-btn--primary:focus {
    border-color: #000000;
    background: #000000;
    color: #ffffff;
}

/* Pola formularza */
.ppr-textarea {
    border-radius: 8px;
}

.ppr-textarea:focus {
    border-color: #222222;
    box-shadow: 0 0 0 2px rgba(0,0,0,.08);
}

/* Karty / powierzchnie formularza bardziej zgodne z prostym UI WhiteSnus */
.ppr-product-review,
.ppr-success-box,
.ppr-error-wrap,
.ppr-summary,
.ppr-coupon-box {
    border-radius: 8px;
}

/* Avatar i badge bez złotych naleciałości */
.ppr-review-avatar {
    background: #f5f5f5;
    color: #222222;
}

.ppr-verified-badge {
    background: #f3f3f3;
    color: #444444;
}

/* Aktywna paginacja */
.ppr-page-current,
.ppr-pagination span.current {
    border-color: #222222;
    background: #222222;
    color: #ffffff;
}
