/*
 * Отзывы: карточка отзыва, звёзды, форма.
 *
 * Блок живёт в карточке товара и на странице отзывов о магазине, поэтому вид у
 * него один — меняется только заголовок и подводка.
 */

.sofa-reviews {
    margin: 30px 0 0;
}

.sofa-reviews-head {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 0 0 14px;
}

.sofa-reviews-head h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #222;
}

.sofa-reviews-avg {
    font-size: 14px;
    font-weight: 700;
    color: #bd1c3c;
}

/* Подводка в двух случаях из трёх: «о товаре нет, вот о магазине» и «будьте первым». */
.sofa-reviews-note {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 21px;
    color: #666;
    max-width: 640px;
}

.sofa-review {
    padding: 16px 0;
    border-top: 1px solid #eee;
}

.sofa-review:first-of-type {
    border-top: none;
    padding-top: 0;
}

.sofa-review-head {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0 0 8px;
}

.sofa-review-author {
    font-size: 14px;
    font-weight: 700;
    color: #222;
}

.sofa-review-date {
    font-size: 12.5px;
    color: #999;
}

/* Звёзды — квадратики со скруглением, без иконочного шрифта: одна зависимость меньше. */
.sofa-review-stars {
    display: inline-flex;
    gap: 3px;
}

.sofa-review-stars i {
    width: 12px;
    height: 12px;
    border-radius: 2px;
    background: #e0e0e0;
}

.sofa-review-stars i.on {
    background: #e0a32e;
}

.sofa-review-body {
    font-size: 14px;
    line-height: 22px;
    color: #333;
    max-width: 760px;
}

.sofa-review-photos {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 0;
}

.sofa-review-photo img {
    display: block;
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: 4px;
}

/* Ответ магазина — с отбивкой слева: видно, что это другая сторона разговора. */
.sofa-review-answer {
    margin: 10px 0 0 0;
    padding: 10px 0 10px 14px;
    border-left: 3px solid #eee;
}

.sofa-review-answer-label {
    display: block;
    margin: 0 0 4px;
    font-size: 12.5px;
    font-weight: 700;
    color: #bd1c3c;
}

.sofa-review-answer div {
    font-size: 13.5px;
    line-height: 21px;
    color: #555;
}

/* --- Форма и приглашение войти --------------------------------------------- */

.sofa-review-cta {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin: 20px 0 0;
    padding: 16px;
    background: #fafafa;
    border-radius: 6px;
}

.sofa-review-form {
    margin: 20px 0 0;
    padding: 16px;
    background: #fafafa;
    border-radius: 6px;
    max-width: 760px;
}

.sofa-review-form-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 10px;
}

.sofa-review-form-row label {
    margin: 0;
    font-size: 13px;
    color: #555;
}

.sofa-review-form select {
    max-width: 200px;
}

.sofa-review-form textarea {
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
    font-size: 14px;
    line-height: 21px;
}

.sofa-review-form-foot {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin: 12px 0 0;
}

.sofa-review-form-note {
    font-size: 12.5px;
    color: #777;
}

/* Итог отправки — читается из ?review=… в адресе. */
.sofa-review-flash {
    margin: 0 0 16px;
    padding: 12px 14px;
    border-radius: 6px;
    font-size: 14px;
    line-height: 21px;
}

.sofa-review-flash.ok {
    background: #eaf6ee;
    color: #256b3d;
}

.sofa-review-flash.err {
    background: #fdeced;
    color: #99162f;
}
