/* 
Single Product Page Styles
Стили для страницы отдельного объявления
Префикс: single- для избежания конфликтов с сеткой товаров
*/

.single-product-details {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}

.single-product-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
}

/* Галерея изображений */
.single-product-gallery {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.single-product-main-image {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e0e0e0;
    box-sizing: border-box;
}

.single-product-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.single-product-main-image img:hover {
    transform: scale(1.05);
}

.single-product-thumbs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.single-thumb {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    object-fit: cover;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.3s ease;
}

.single-thumb:hover {
    border-color: #007bff;
}

/* Информация о товаре */
.single-product-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.single-product-title {
    font-size: 2rem;
    font-weight: 700;
    color: #333;
    margin: 0;
    line-height: 1.2;
}

.single-product-meta {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 10px;
    border-left: 4px solid #007bff;
}

.single-product-price {
    font-size: 1.8rem;
    font-weight: 700;
    color: #28a745;
}

.single-product-category,
.single-product-condition {
    font-size: 1rem;
    color: #6c757d;
    padding: 8px 12px;
    background: #fff;
    border-radius: 6px;
    border: 1px solid #dee2e6;
}

/* Действия с товаром */
.single-product-actions {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.single-action-btn {
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent; /* Убирает серую подсветку на iOS */
    touch-action: manipulation; /* Улучшает отзывчивость на touch */
}

/* Описание товара */
.single-product-description {
    background: #f8f9fa;
    padding: 24px;
    border-radius: 10px;
    border: 1px solid #dee2e6;
    box-sizing: border-box;
}

.single-product-description h3 {
    margin: 0 0 16px 0;
    color: #333;
    font-size: 1.3rem;
}

.single-product-description p {
    margin: 0;
    line-height: 1.6;
    color: #555;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Контакты продавца */
.single-seller-contact {
    background: #e7f3ff;
    padding: 24px;
    border-radius: 10px;
    border: 1px solid #bee5eb;
    box-sizing: border-box;
}

.single-seller-contact h4 {
    margin: 0 0 16px 0;
    color: #0056b3;
    font-size: 1.2rem;
}

.single-seller-contact p {
    margin: 8px 0;
    color: #333;
}

.single-seller-contact a {
    color: #007bff;
    text-decoration: none;
}

.single-seller-contact a:hover {
    text-decoration: underline;
}

/* Секция отзывов */
.single-product-reviews-section {
    margin-top: 40px;
    padding: 30px;
    background: #f8f9fa;
    border-radius: 12px;
    border: 1px solid #dee2e6;
}

.single-product-reviews-section h3 {
    margin: 0 0 24px 0;
    color: #333;
    font-size: 1.5rem;
}

/* Статистика рейтинга */
.single-rating-summary {
    background: #fff;
    padding: 24px;
    border-radius: 10px;
    margin-bottom: 24px;
    border: 1px solid #dee2e6;
}

.single-rating-summary h3,
.single-rating-summary h4 {
    margin: 0 0 16px 0;
    color: #333;
}

.single-rating-stats {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

.single-rating-average {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.single-rating-average .rating-number {
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffd700;
}

.single-rating-average .rating-stars {
    display: flex;
    gap: 2px;
}

.single-rating-average .star {
    font-size: 1.5rem;
    color: #ffd700;
}

.single-rating-count {
    color: #6c757d;
    font-size: 0.9rem;
}

.single-rating-breakdown {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.single-rating-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    background: #f8f9fa;
    border-radius: 6px;
}

.single-rating-icon {
    font-size: 1.2rem;
}

.single-rating-icon.positive { color: #28a745; }
.single-rating-icon.neutral { color: #6c757d; }
.single-rating-icon.negative { color: #dc3545; }

/* Список отзывов */
.single-reviews-list {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #dee2e6;
}

.single-reviews-list h3 {
    margin: 0;
    padding: 20px 24px;
    background: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    color: #333;
}

.single-review-item {
    padding: 20px 24px;
    border-bottom: 1px solid #f1f3f4;
}

.single-review-item:last-child {
    border-bottom: none;
}

.single-review-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    flex-wrap: wrap;
    gap: 10px;
}

.single-review-author .single-author-name,
.single-review-author a {
    font-weight: 600;
    color: #333;
    text-decoration: none;
}

.single-review-author a:hover {
    color: #007bff;
}

.single-review-rating .single-rating-positive { color: #28a745; }
.single-review-rating .single-rating-neutral { color: #6c757d; }
.single-review-rating .single-rating-negative { color: #dc3545; }

.single-review-date {
    color: #6c757d;
    font-size: 0.9rem;
}

.single-review-content p {
    margin: 0;
    line-height: 1.6;
    color: #555;
}

.single-no-reviews {
    padding: 40px 24px;
    text-align: center;
    color: #6c757d;
}

/* Форма добавления отзыва */
.single-add-review-form {
    background: #fff;
    padding: 24px;
    border-radius: 10px;
    border: 1px solid #dee2e6;
    margin-top: 24px;
}

.single-add-review-form h3 {
    margin: 0 0 20px 0;
    color: #333;
}

.single-form-group {
    margin-bottom: 20px;
}

.single-form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #333;
}

.single-rating-options {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.single-rating-option {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 6px;
    border: 2px solid transparent;
    transition: all 0.3s ease;
}

.single-rating-option:hover {
    background: #f8f9fa;
}

.single-rating-option input[type="radio"]:checked + .single-rating-label {
    font-weight: 700;
}

.single-rating-option input[type="radio"]:checked + .single-rating-label.positive {
    color: #28a745;
}

.single-rating-option input[type="radio"]:checked + .single-rating-label.neutral {
    color: #6c757d;
}

.single-rating-option input[type="radio"]:checked + .single-rating-label.negative {
    color: #dc3545;
}

/* Preserve user newlines inside description blocks without inserting <br/> */
.sp-text {
    white-space: pre-line;
}
.sp-text p {
    margin: 0; /* keep single-paragraph spacing; no text-indent */
}

.single-form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ced4da;
    border-radius: 6px;
    font-family: inherit;
    resize: vertical;
    min-height: 120px;
}

.single-form-group textarea:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

/* Уведомления */
.single-review-notice,
.single-review-login-notice {
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    color: #856404;
    padding: 16px 20px;
    border-radius: 8px;
    margin-top: 20px;
}

.single-review-login-notice a {
    color: #007bff;
    text-decoration: none;
    font-weight: 600;
}

.single-review-login-notice a:hover {
    text-decoration: underline;
}

/* Адаптивность */
@media (max-width: 768px) {
    .single-product-inner {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .single-product-details {
        padding: 15px;
        margin: 10px;
        border-radius: 8px;
    }
    
    .single-product-title {
        font-size: 1.4rem;
        line-height: 1.3;
    }
    
    .single-product-price {
        font-size: 1.4rem;
    }
    
    .single-product-meta {
        padding: 16px;
        gap: 10px;
    }
    
    .single-product-category,
    .single-product-condition {
        font-size: 0.9rem;
        padding: 6px 10px;
    }
    
    .single-product-actions {
        flex-direction: column;
        gap: 12px;
    }
    
    .single-action-btn {
        justify-content: center;
        padding: 14px 20px;
        font-size: 16px;
        width: 100%;
        box-sizing: border-box;
    }
    
    .single-product-description,
    .single-seller-contact {
        padding: 16px;
    }
    
    .single-product-description h3,
    .single-seller-contact h4 {
        font-size: 1.1rem;
    }
    
    .single-rating-stats {
        flex-direction: column;
        gap: 20px;
    }
    
    .single-rating-options {
        flex-direction: column;
    }
    
    .single-review-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .single-product-reviews-section {
        padding: 20px;
        margin: 10px;
        border-radius: 8px;
    }
    
    .single-reviews-list h3 {
        padding: 16px 20px;
        font-size: 1.2rem;
    }
    
    .single-review-item {
        padding: 16px 20px;
    }
}

@media (max-width: 480px) {
    .single-product-details {
        padding: 12px;
        margin: 5px;
    }
    
    .single-product-title {
        font-size: 1.2rem;
    }
    
    .single-product-price {
        font-size: 1.3rem;
    }
    
    .single-product-thumbs {
        justify-content: center;
        gap: 8px;
    }
    
    .single-thumb {
        width: 60px;
        height: 60px;
    }
    
    .single-product-meta,
    .single-product-description,
    .single-seller-contact {
        padding: 14px;
    }
    
    .single-action-btn {
        padding: 12px 16px;
        font-size: 15px;
    }
    
    .single-product-reviews-section {
        padding: 15px;
        margin: 5px;
    }
    
    .single-reviews-list h3 {
        padding: 12px 16px;
        font-size: 1.1rem;
    }
    
    .single-review-item {
        padding: 12px 16px;
    }
    
    .compact-review-form {
        padding: 12px;
    }
    
    .compact-form .form-row {
        flex-direction: column;
        gap: 10px;
    }
    
    .rating-options {
        justify-content: center;
    }
    
    .rating-btn {
        font-size: 12px;
        padding: 5px 10px;
    }
    
    .comment-section textarea {
        font-size: 16px; /* Предотвращает зум на iOS */
        min-height: 80px;
    }
    
    .btn-compact {
        width: 100%;
        padding: 10px 14px;
        font-size: 15px;
    }
}

/* ===== Seller Reviews (sr-*) ===== */

#seller-reviews, #profile-reviews {
    margin-top:30px;
    --sr-bg: #fff;
    --sr-border: #e6e6e6;
    --sr-muted: #888;
    --sr-text: #222;
    --sr-link: #0a6cff;
    --sr-pos-bg: #eaf8ef;
    --sr-pos: #1e8e3e;
    --sr-neg-bg: #fdecec;
    --sr-neg: #d93025;
    --sr-neu-bg: #f3f3f3;
    --sr-neu: #555;
    --sr-card-shadow: 0 2px 8px rgba(0,0,0,0.06);
    --sr-radius: 12px;
    --sr-gap: 16px;
}

.sr-section {
    display: grid;
    gap: 24px;
}

/* Summary */
.sr-summary {
    background: var(--sr-bg);
    border: 1px solid var(--sr-border);
    border-radius: var(--sr-radius);
    box-shadow: var(--sr-card-shadow);
    padding: 16px;
}

.sr-summary__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    margin: 0 0 12px;
    color: var(--sr-text);
}

.sr-summary__grid {
    display: grid;
    gap: 16px;
}

@media (min-width: 640px) {
    .sr-summary__grid {
        grid-template-columns: 1fr auto;
        align-items: center;
    }
}

/* Score + bar */
.sr-summary__score { display: grid; gap: 10px; }

.sr-score {
    display: flex;
    align-items: baseline;
    gap: 8px;
}
.sr-score__value { font-size: 28px; font-weight: 700; color: var(--sr-text); }
.sr-score__label { font-size: 13px; color: var(--sr-muted); }

.sr-bar {
    position: relative;
    height: 10px;
    border-radius: 999px;
    overflow: hidden;
    background: #f0f0f0;
    border: 1px solid var(--sr-border);
}
.sr-bar__fill { height: 100%; float: left; }
.sr-bar__fill--pos { background: var(--sr-pos-bg); }
.sr-bar__fill--neg { background: var(--sr-neg-bg); }

.sr-summary__total { font-size: 13px; color: var(--sr-muted); }

/* Breakdown */
.sr-summary__breakdown {
    display: grid;
    gap: 8px;
}
.sr-breakdown__item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}
.sr-breakdown__item--pos .sr-breakdown__text { color: var(--sr-pos); }
.sr-breakdown__item--neg .sr-breakdown__text { color: var(--sr-neg); }

/* Form */
.sr-form__card {
    background: var(--sr-bg);
    border: 1px solid var(--sr-border);
    border-radius: var(--sr-radius);
    box-shadow: var(--sr-card-shadow);
    padding: 16px;
    display: grid;
    gap: 12px;
}
.sr-form__header { display: flex; align-items: baseline; gap: 10px; }
.sr-form__title { margin: 0; font-size: 16px; color: var(--sr-text); }
.sr-form__hint { font-size: 12px; color: var(--sr-muted); }

.sr-alert {
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 14px;
}
.sr-alert--error {
    background: #fff1f1; color: #9e1c12; border: 1px solid #f3c6c6;
}
.sr-alert--success {
    background: #effaf1; color: #166534; border: 1px solid #c7ecd1;
}

.sr-form__body { display: grid; gap: var(--sr-gap); }
@media (min-width: 720px) {
    .sr-form__row {
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: var(--sr-gap);
        align-items: start;
    }
}
@media (max-width: 719.98px) {
    .sr-form__row { display: grid; gap: var(--sr-gap); }
}

.sr-radio { display: flex; gap: 8px; flex-wrap: wrap; }
.sr-radio__option { position: relative; display: inline-flex; }
.sr-radio__option input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.sr-radio__btn {
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid var(--sr-border);
    border-radius: 999px;
    background: #fafafa;
    font-size: 13px;
    user-select: none;
}
.sr-radio__option--pos input:checked + .sr-radio__btn {
    background: var(--sr-pos-bg); border-color: #cfe8d6; color: var(--sr-pos);
}
.sr-radio__option--neg input:checked + .sr-radio__btn {
    background: var(--sr-neg-bg); border-color: #f2c2bf; color: var(--sr-neg);
}

.sr-input--textarea {
    width: 100%;
    min-height: 72px;
    padding: 10px 12px;
    border: 1px solid var(--sr-border);
    border-radius: 10px;
    font-size: 14px;
    color: var(--sr-text);
    background: var(--sr-bg);
    resize: vertical;
}

.sr-btn {
    display: inline-block;
    padding: 10px 16px;
    font-size: 14px;
    border: 1px solid var(--sr-border);
    border-radius: 10px;
    background: #f7f7f7;
    color: var(--sr-text);
    cursor: pointer;
}
.sr-btn:hover { background: #f0f0f0; }

.sr-note { font-size: 14px; color: var(--sr-text); }
.sr-note--muted { color: var(--sr-muted); }

.sr-link {
    color: var(--sr-link);
    text-decoration: none;
}
.sr-link:hover { text-decoration: underline; }

/* Reviews list */
.sr-list { display: grid; gap: 12px; }
.sr-list__title { margin: 0; font-size: 18px; color: var(--sr-text); }

.sr-item {
    background: var(--sr-bg);
    border: 1px solid var(--sr-border);
    border-radius: var(--sr-radius);
    box-shadow: var(--sr-card-shadow);
    padding: 14px;
}

.sr-item__header {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 8px 12px;
    align-items: center;
    margin-bottom: 8px;
}
@media (max-width: 540px) {
    .sr-item__header {
        grid-template-columns: 1fr;
        align-items: start;
    }
}

.sr-item__author { font-weight: 600; font-size: 14px; }
.sr-item__author-link { text-decoration: none; }
.sr-item__author-link:hover { text-decoration: underline; }
.sr-item__author-name { color: var(--sr-text); }

.sr-item__rating { justify-self: start; }

.sr-tag {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 12px;
    border: 1px solid var(--sr-border);
    background: #fafafa;
}
.sr-tag--pos { background: var(--sr-pos-bg); color: var(--sr-pos); border-color: #cfe8d6; }
.sr-tag--neg { background: var(--sr-neg-bg); color: var(--sr-neg); border-color: #f2c2bf; }
.sr-tag--neu { background: var(--sr-neu-bg); color: var(--sr-neu); border-color: #e0e0e0; }

.sr-item__date { font-size: 12px; color: var(--sr-muted); justify-self: end; }

.sr-item__text { margin: 0; font-size: 14px; line-height: 1.5; color: var(--sr-text); }

.sr-empty {
    border: 1px dashed var(--sr-border);
    border-radius: var(--sr-radius);
    padding: 18px;
    color: var(--sr-muted);
    text-align: center;
    background: #fafafa;
}
/* ===== Minimal compact styles (unique, no hovers) ===== */
:root{
  /* меняй высоту главного блока здесь при желании */
  --sp-main-h: 420px;
  --sp-thumb-h: 72px;
}
@media (max-width: 480px){
  :root{ --sp-main-h: 320px; --sp-thumb-h: 60px; }
}

.sp-container{max-width:1100px;margin:0 auto;padding:16px}
.sp-inner{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:920px){.sp-inner{grid-template-columns:520px 1fr;gap:24px}}

.sp-gallery{display:flex;flex-direction:column;gap:12px;min-width:0;max-width:100%}

/* Фиксированная высота главного фото */
.sp-main{border:1px solid #e6e6e6;border-radius:14px;padding:8px;background:#fff;height:var(--sp-main-h);display:flex;align-items:center;justify-content:center;position:relative;min-height:0;max-width:100%;box-sizing:border-box}
.sp-main-slider{overflow:hidden;min-height:0;width:100%}
.sp-main-slider .sp-gallery-swiper{width:100%;height:100%;min-height:0;flex:1 1 0;border-radius:10px;overflow:hidden;position:relative}
.sp-main-slider .sp-gallery-swiper .swiper-wrapper{height:100%}
.sp-main-slider .sp-gallery-swiper .swiper-slide{display:flex;align-items:center;justify-content:center;height:100%;overflow:hidden}
.sp-main-slider .sp-gallery-swiper .sp-main-img{width:100%;height:100%;object-fit:contain;cursor:pointer;pointer-events:auto;display:block}
.sp-main-slider .sp-gallery-swiper .swiper-button-prev,
.sp-main-slider .sp-gallery-swiper .swiper-button-next{color:#fff;width:40px;height:40px;background:rgba(0,0,0,.5);border-radius:50%;transition:background .2s}
.sp-main-slider .sp-gallery-swiper .swiper-button-prev:hover,
.sp-main-slider .sp-gallery-swiper .swiper-button-next:hover{background:rgba(0,0,0,.75)}
.sp-main-slider .sp-gallery-swiper .swiper-button-prev::after,
.sp-main-slider .sp-gallery-swiper .swiper-button-next::after{font-size:16px;font-weight:700}
/* Ограничение слайдов в контейнере (мобильная вёрстка) */
.sp-main-slider .sp-gallery-swiper.swiper{overflow:hidden;height:100%;touch-action:pan-y}
.sp-main-slider .sp-gallery-swiper .swiper-wrapper{box-sizing:border-box}
.sp-main-slider .sp-gallery-swiper .swiper-slide{width:100%;box-sizing:border-box}
.sp-main-img{display:block;width:100%;height:100%;object-fit:contain;border-radius:10px;cursor:pointer;background:#fff;user-select:none;max-width:100%}

/* Миниатюры — единая высота */
.sp-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.sp-thumb-btn{display:block;padding:0;border:2px solid #e9e9e9;border-radius:10px;background:#fff;cursor:pointer;height:var(--sp-thumb-h);overflow:hidden;transition:border-color 0.18s}
.sp-thumb-btn.selected{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633;}
.sp-thumb-img{display:block;width:100%;height:100%;object-fit:cover;border-radius:10px}

.sp-info{display:flex;flex-direction:column;gap:16px}
.sp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.sp-title{font-size:22px;line-height:1.3;margin:0;flex:1}

.sp-price-badge{display:inline-flex;align-items:baseline;gap:6px;background:#111;color:#fff;border-radius:14px;padding:10px 14px;white-space:nowrap;width:fit-content}
.sp-price-val{font-size:22px;font-weight:800;line-height:1}
.sp-price-currency{font-size:12px;opacity:.9}

.sp-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sp-chip{font-size:12px;border:1px solid #e6e6e6;border-radius:999px;padding:4px 10px;background:#fff}

.sp-actions{display:flex;flex-wrap:wrap;gap:10px}
.sp-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:none;border-radius:12px;background:#111;color:#fff;text-decoration:none;cursor:pointer;font-size:14px;line-height:1}
.sp-outline{background:#fff;color:#111;border:1px solid #e6e6e6}
.sp-fav.is-favorite{background:#ee4d4d;color:#fff}

.sp-divider{height:1px;background:linear-gradient(90deg,#000 0,#000 12px,transparent 12px) repeat-x;background-size:24px 1px;opacity:.15;margin:8px 0}

.sp-card{border:1px solid #e6e6e6;border-radius:12px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:6px}
.sp-subtitle{font-size:16px;margin:0 0 4px 0}
.sp-text{font-size:14px;line-height:1.55;margin:0;word-break:break-word;overflow-wrap:break-word;white-space:pre-line}
.sp-link{color:#111;text-decoration:underline}

/* Lightbox с фиксированными кнопками */
.sp-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.9);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    z-index: 9999;
}

.sp-lightbox.is-open {
    display: flex;
}

/* Контейнер для изображения - фиксированный размер */
.sp-lightbox-content {
    position: relative;
    width: 92vw;
    height: 88vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden; /* Важно для zoom */
    touch-action: none; /* Отключаем стандартные touch жесты */
}

.sp-lightbox-img {
    max-width: 100%;
    max-height: 100%;
    border-radius: 8px;
    transition: transform 0.22s cubic-bezier(.22,0,.18,1);
    will-change: transform;
    object-fit: contain;
    transform-origin: center center;
    /* Убираем user-select для корректной работы touch событий */
    user-select: none;
    -webkit-user-select: none;
    /* Полностью отключаем dragging изображения */
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
    pointer-events: auto;
}

/* Состояние зума - убираем анимацию при активном зуме */
.sp-lightbox-img.zooming {
    transition: none !important;
}

.sp-lightbox-close, .sp-lightbox-prev, .sp-lightbox-next {
    position: fixed; /* Изменено с absolute на fixed */
    border: none;
    background: rgba(255,255,255,.18);
    color: #222;
    border-radius: 16px;
    padding: 18px 22px;
    cursor: pointer;
    font-size: 2.2rem;
    box-shadow: 0 2px 12px rgba(0,0,0,0.18);
    transition: background 0.2s, color 0.2s, opacity 0.2s;
    z-index: 10000;
    /* Убираем возможность выделения текста */
    user-select: none;
    -webkit-user-select: none;
    /* Предотвращаем движение при нажатии */
    -webkit-tap-highlight-color: transparent;
}

/* Делаем кнопки полупрозрачными при зуме, но оставляем активными */
.sp-lightbox-content.zoomed .sp-lightbox-prev,
.sp-lightbox-content.zoomed .sp-lightbox-next {
    opacity: 0.6;
    background: rgba(255,255,255,.4);
    pointer-events: auto !important; /* Принудительно делаем активными */
}

/* Кнопка закрытия остается видимой */
.sp-lightbox-content.zoomed .sp-lightbox-close {
    opacity: 0.8;
    pointer-events: auto !important;
}

.sp-lightbox-close {
    top: 18px;
    right: 18px;
    font-size: 2.2rem;
    padding: 14px 18px;
}

.sp-lightbox-prev, .sp-lightbox-next {
    top: 50%;
    transform: translateY(-50%);
    width: clamp(48px,12vw,80px);
    height: clamp(48px,12vw,80px);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.6rem;
    /* Фиксированное позиционирование от краев экрана */
}

.sp-lightbox-prev {
    left: clamp(8px,4vw,32px);
}

.sp-lightbox-next {
    right: clamp(8px,4vw,32px);
}

/* Убираем эффекты при нажатии */
.sp-lightbox-close:active, 
.sp-lightbox-prev:active, 
.sp-lightbox-next:active {
    transform: translateY(-50%) scale(0.95); /* Только для prev/next */
    transition: transform 0.1s;
}

.sp-lightbox-close:active {
    transform: scale(0.95);
}

@media (max-width: 600px) {
    .sp-lightbox-close {
        font-size: 1.5rem;
        padding: 10px 12px;
        top: 12px;
        right: 12px;
    }
    
    .sp-lightbox-prev, .sp-lightbox-next {
        font-size: 2rem;
        width: 44px;
        height: 44px;
    }
    
    .sp-lightbox-prev {
        left: 8px;
    }
    
    .sp-lightbox-next {
        right: 8px;
    }
}

/* Verification icon next to seller name */
.seller-verified-icon{
  color:#16a34a;
  margin-left:0px;
  font-size:14px;
  vertical-align:middle;
}

/* Без hover-эффектов */
.sp-btn:hover,.sp-outline:hover,.sp-thumb-btn:hover,.sp-link:hover,
.sp-lightbox-close:hover,.sp-lightbox-prev:hover,.sp-lightbox-next:hover{filter:none}
.sp-btn:active,.sp-outline:active,.sp-thumb-btn:active{transform:none}
/* Стили для рейтинга продавца */
.single-seller-rating-summary {
    background: linear-gradient(135deg, #f8f9ff 0%, #e8f2ff 100%);
    border: 1px solid #e1e8f5;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 24px;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.1);
}

.single-seller-rating-summary h3 {
    color: #1e3a8a;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.single-seller-rating-summary h3 i {
    color: #3b82f6;
    font-size: 20px;
}

.single-seller-rating-stats {
    display: flex;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
}

.single-seller-rating-main {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
    min-width: 250px;
}

.seller-rating-score {
    text-align: center;
}

.rating-percentage {
    display: block;
    font-size: 32px;
    font-weight: 700;
    color: #059669;
    line-height: 1;
}

.rating-label {
    display: block;
    font-size: 14px;
    color: #6b7280;
    margin-top: 4px;
}

.seller-rating-visual {
    flex: 1;
}

.rating-bar {
    display: flex;
    height: 12px;
    border-radius: 6px;
    overflow: hidden;
    background: #f3f4f6;
    margin-bottom: 6px;
}

.rating-fill.positive {
    background: linear-gradient(90deg, #10b981, #059669);
}

.rating-fill.negative {
    background: linear-gradient(90deg, #ef4444, #dc2626);
}

.total-reviews {
    font-size: 13px;
    color: #6b7280;
}

.single-seller-rating-breakdown {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 160px;
}

.seller-rating-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 8px;
    transition: background-color 0.2s;
}

.seller-rating-item.positive {
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.2);
}

.seller-rating-item.negative {
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.2);
}

.seller-rating-item .rating-icon {
    font-size: 16px;
}

.seller-rating-item .rating-text {
    font-size: 14px;
    font-weight: 500;
    color: #374151;
}

/* Адаптивность */
@media (max-width: 768px) {
    .single-seller-rating-stats {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }
    
    .single-seller-rating-main {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }
    
    .single-seller-rating-breakdown {
        flex-direction: row;
        justify-content: space-around;
    }
}

/* Стили для компактной формы отзыва */
.compact-review-form {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 24px;
}

.review-form-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.review-form-header h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
}

.review-form-hint {
    font-size: 12px;
    color: #6b7280;
    font-style: italic;
}

.compact-form .form-row {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.rating-section {
    flex-shrink: 0;
}

.rating-options {
    display: flex;
    gap: 8px;
}

.rating-option {
    cursor: pointer;
}

.rating-option input[type="radio"] {
    display: none;
}

.rating-btn {
    display: inline-block;
    padding: 6px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 13px;
    background: white;
    transition: all 0.2s;
    white-space: nowrap;
}

.rating-option.positive input:checked + .rating-btn {
    background: #dcfce7;
    border-color: #16a34a;
    color: #15803d;
}

.rating-option.negative input:checked + .rating-btn {
    background: #fef2f2;
    border-color: #dc2626;
    color: #dc2626;
}

.rating-btn:hover {
    border-color: #9ca3af;
}

.comment-section {
    flex: 1;
}

.comment-section textarea {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
    resize: vertical;
    min-height: 60px;
}

.comment-section textarea:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
}

.submit-section {
    flex-shrink: 0;
}

.btn-compact {
    padding: 8px 16px;
    background: #3b82f6;
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
}

.btn-compact:hover {
    background: #2563eb;
}

.alert.compact {
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 4px;
    font-size: 13px;
}

.review-notice.compact {
    text-align: center;
    padding: 8px;
    color: #6b7280;
    font-size: 13px;
    margin-bottom: 16px;
}

.review-notice.compact a {
    color: #3b82f6;
    text-decoration: none;
}

.review-notice.compact a:hover {
    text-decoration: underline;
}

/* Адаптивность для компактной формы */
@media (max-width: 768px) {
    .compact-form .form-row {
        flex-direction: column;
        gap: 12px;
    }
    
    .rating-options {
        justify-content: center;
    }
    
    .review-form-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
}

/* Warning styles for suspicious sellers */
.suspicious-page-warning{background:#fff4e5;border-left:4px solid #ffb020;padding:10px 12px;border-radius:6px;color:#4b2e00;font-size:14px}

/* Анимации для уведомлений */
@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOut {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}