.review-gate-box {
    max-width: 640px;
    margin: 32px auto;
    padding: 34px;
    border: 1px solid #e4e4e4;
    border-radius: 16px;
    background: #ffffff;
    text-align: center;
    box-shadow: 0 10px 28px rgba(0,0,0,0.07);
    box-sizing: border-box;
}
.review-gate-box h2 { margin: 0 0 10px; font-size: 28px; line-height: 1.25; }
.review-gate-intro { margin: 0 0 20px; color: #555; }
.review-gate-stars { margin: 22px 0; }
.review-gate-stars button {
    background: none; border: none; padding: 0 4px; font-size: 46px; line-height: 1;
    cursor: pointer; color: #cccccc; transition: color 0.2s ease, transform 0.2s ease;
}
.review-gate-stars button:hover, .review-gate-stars button.active { color: #f5b301; transform: scale(1.08); }
.review-gate-hidden { display: none; }
.review-gate-high, .review-gate-low { margin-top: 18px; }
.review-gate-form { text-align: left; margin-top: 22px; }
.review-gate-form label { display: block; font-weight: 700; margin-top: 15px; margin-bottom: 6px; }
.review-gate-form label span { color: #b00020; }
.review-gate-form input, .review-gate-form textarea {
    width: 100%; padding: 12px 13px; border: 1px solid #cfcfcf; border-radius: 9px;
    box-sizing: border-box; font-size: 16px;
}
.review-gate-button {
    display: inline-block; margin-top: 20px; padding: 13px 24px; border-radius: 9px;
    background: #1a73e8; color: #ffffff !important; text-decoration: none; border: none;
    cursor: pointer; font-weight: 700; font-size: 16px;
}
.review-gate-button:hover { background: #1558b0; }
.review-gate-google-option { margin-top: 20px; font-size: 14px; }
.review-gate-response { margin-top: 16px; font-weight: 700; }
@media (max-width: 600px) {
    .review-gate-box { padding: 24px 18px; margin: 20px auto; }
    .review-gate-box h2 { font-size: 23px; }
    .review-gate-stars button { font-size: 38px; padding: 0 2px; }
}
