.swa-rh-wrap { max-width: 720px; margin: 24px auto; padding: 0 16px; }
.swa-rh-title { font-size: 26px; margin-bottom: 8px; }
.swa-rh-lead { color: #555; margin-bottom: 16px; }
.swa-rh-promo {
    background: #f0f7f0;
    border: 1px solid #b7d9b7;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 20px;
}
.swa-rh-promo-code {
    background: #fff;
    border: 1px dashed #2e7d32;
    border-radius: 4px;
    padding: 2px 8px;
    font-family: monospace;
    font-weight: bold;
    color: #2e7d32;
}
.swa-rh-form .form-row { margin-bottom: 16px; }
.swa-rh-form label { display: block; font-weight: 600; margin-bottom: 4px; }
.swa-rh-form select,
.swa-rh-form textarea,
.swa-rh-form input[type=text],
.swa-rh-form input[type=email] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 15px;
    box-sizing: border-box;
}
.swa-rh-hint { display: block; color: #888; font-size: 12px; margin-top: 4px; }
.swa-rh-notice { display: block; margin-top: 6px; font-size: 14px; }
.swa-rh-status { display: block; margin-top: 4px; font-size: 12px; color: #b32d2e; }
.swa-rh-previews { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.swa-rh-previews img { max-width: 90px; max-height: 90px; border-radius: 4px; border: 1px solid #ddd; }
.swa-rh-result { margin-left: 12px; font-size: 14px; }
.swa-rh-submit {
    background: #1a1a1a;
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    font-size: 15px;
    cursor: pointer;
}
.swa-rh-submit:hover { background: #333; }

/* Звёзды */
.swa-rh-stars { display: inline-flex; gap: 4px; }
.swa-rh-stars label { cursor: pointer; }
.swa-rh-stars input { display: none; }
.swa-rh-stars span {
    display: inline-block;
    width: 34px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 16px;
    color: #888;
    transition: all .15s;
}
.swa-rh-stars label.active span {
    background: #f5a623;
    border-color: #f5a623;
    color: #fff;
}
.swa-rh-stars label:hover span { border-color: #f5a623; }

/* ===== v2.0.0: фолбэки для вёрстки /otzyv/ (если класса нет в Bricks-вёрстке) ===== */
.errmsg { display: none; font-size: 13px; color: #BA0809; margin-top: 7px; }
.errmsg.show { display: block; }
.err { border-color: #BA0809 !important; }
.stars label.on { color: #BA0809; }
.drop.over { border-color: #BA0809; background: rgba(186,8,9,.03); }
.swa-rh-promo-line { font-size: 22px; font-weight: 700; margin-top: 14px; color: #BA0809; }
.status .swa-rh-promo-line { text-transform: none; }

/* Guest login gate rendered by [swa_review_hub]. */
.swa-rh-login {
    max-width: 720px;
    margin: 42px auto 64px;
    padding: clamp(28px, 4vw, 48px);
    border: 1px solid rgba(16,16,16,.14);
    background: #fff;
    text-align: center;
}
.swa-rh-login h2 { margin: 0 0 12px; font-size: clamp(24px, 3vw, 38px); }
.swa-rh-login p { margin: 0 0 24px; color: #6c6f6d; font-size: 16px; }
.swa-rh-login__button {
    display: inline-block;
    padding: 14px 30px;
    background: #BA0809;
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
}
