.s02-review-button {
    appearance: none;
    background: #fff;
    border: 1px solid #c11b17;
    border-radius: 16px;
    color: #a31512;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    margin-left: 6px;
    padding: 3px 9px;
}
.s02-review-button:hover,.s02-review-button:focus { background:#fff4f3; outline:2px solid transparent; }
.s02-review-overlay { position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(0,0,0,.56); }
.s02-review-dialog { position:relative; width:min(680px,100%); max-height:85vh; overflow:auto; background:#fff; border-radius:12px; box-shadow:0 24px 70px rgba(0,0,0,.35); padding:28px; color:#222; }
.s02-review-close { position:absolute; top:12px; right:14px; border:0; background:transparent; font-size:28px; cursor:pointer; line-height:1; }
.s02-review-dialog h2 { margin:0 40px 6px 0; font-size:26px; }
.s02-review-rating { margin:0 0 20px; color:#5b4b00; font-weight:bold; }
.s02-review-list { list-style:none; margin:0; padding:0; }
.s02-review-list li { border-top:1px solid #e3e3e3; padding:16px 0; white-space:pre-wrap; }
.s02-review-list li::before { content:'“'; color:#c11b17; font-size:24px; margin-right:4px; }
body.s02-review-open { overflow:hidden; }
