.ire-greviews-stars { display:inline-flex; gap:3px; align-items:center; vertical-align:middle; }
.ire-greviews-stars svg { display:block; flex-shrink:0; }
.ire-greviews-source { color:#5d6268; font-size:13px; font-weight:600; margin:0 0 10px; }
.ire-greviews-score { display:flex; gap:8px; justify-content:center; align-items:baseline; margin:10px 0; }
.ire-greviews-score strong { color:#171717; font-size:48px; line-height:1.1; font-weight:600; letter-spacing:-.04em; }
.ire-greviews-score > span { color:#767676; font-size:16px; }
.ire-greviews-archive-note { font-size:12px; line-height:1.6; color:#626972; }
.ire-greviews-open { display:flex; align-items:center; justify-content:center; gap:16px; min-height:46px; box-sizing:border-box; padding:12px 18px; border-radius:6px; background:#b91f32; color:#fff; font-size:14px; font-weight:600; text-decoration:none; }
.ire-greviews-open:hover { background:#941b29; color:#fff; }
.ire-greviews-open:focus-visible, .ire-greviews-write:focus-visible, .ire-greviews-close:focus-visible, .ire-greviews-launcher:focus-visible, .ire-greview summary:focus-visible { outline:3px solid #bd2335; outline-offset:3px; }
.ire-greview { min-width:0; padding:24px; border:1px solid #e8e5e3; border-radius:12px; background:#fff; text-align:left; }
.ire-greview__head { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.ire-greview__avatar { position:relative; overflow:hidden; display:flex; flex-shrink:0; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:#f4eee9; color:#755b49; font-size:18px; font-weight:600; }
.ire-greview__avatar img { position:absolute; inset:0; display:block; width:40px; height:40px; object-fit:cover; background:#f4eee9; }
.ire-greview__avatar img[hidden] { display:none; }
.ire-greview h3 { margin:0 0 3px; font-size:15px; line-height:1.4; text-align:left; overflow-wrap:anywhere; }
.ire-greview time { font-size:12px; color:#626972; }
.ire-greview__text { font-size:15px; line-height:1.7; margin:15px 0 0; text-align:left; overflow-wrap:anywhere; }
.ire-greview__empty { font-size:13px; margin:12px 0 0; color:#626972; text-align:left; }
.ire-greview__reply { margin-top:18px; padding-top:15px; border-top:1px solid #ece8e6; font-size:13px; line-height:1.6; }
.ire-greview__reply summary { cursor:pointer; font-weight:600; }
.ire-greview__reply p { text-align:left; }
.ire-greviews-launcher { position:fixed; z-index:35; top:46%; left:0; display:flex; flex-direction:column; align-items:center; gap:8px; width:58px; box-sizing:border-box; padding:14px 8px; background:#fff; border:1px solid #e5e5e5; border-left:0; border-radius:0 9px 9px 0; box-shadow:0 3px 16px #00000012; color:#171717; text-decoration:none; }
.ire-greviews-launcher strong { font-size:22px; line-height:1; }
.ire-greviews-launcher__label { writing-mode:vertical-rl; transform:rotate(180deg); font-size:13px; font-weight:600; line-height:1.4; }
.ire-greviews-launcher__star .ire-greviews-stars svg:not(:first-child) { display:none; }
.ire-mini-cart-open .ire-greviews-launcher, .ire-greviews-is-open .ire-greviews-launcher { visibility:hidden; }
.ire-greviews-launcher[hidden] { display:none; }
html.ire-greviews-is-open { overflow:hidden; }
.ire-greviews-dialog { position:fixed; inset:0 auto 0 0; margin:0; padding:0; width:440px; max-width:100%; height:100%; max-height:100%; box-sizing:border-box; border:0; border-right:1px solid #e5e5e5; background:#fff; color:#171717; box-shadow:12px 0 60px #00000014; }
.ire-greviews-dialog:not([open]) { display:none; }
.ire-greviews-dialog[open] { display:flex; flex-direction:column; animation:ire-reviews-enter .24s ease-out; }
@keyframes ire-reviews-enter { from { transform:translateX(-100%); } to { transform:translateX(0); } }
@media(prefers-reduced-motion:reduce) { .ire-greviews-dialog[open] { animation:none; } }
.ire-greviews-dialog::backdrop { background:#11111166; }
.ire-greviews-dialog__bar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 18px 10px 24px; border-bottom:1px solid #ececec; }
.ire-greviews-dialog__bar > p { color:#bd2335; font-size:14px; letter-spacing:.12em; font-weight:700; margin:0; }
.ire-greviews-close { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#f7f7f7; color:#171717; cursor:pointer; }
.ire-greviews-dialog__scroll { min-height:0; overflow-y:auto; overscroll-behavior:contain; flex:1; }
.ire-greviews-dialog__intro { padding:28px 28px 24px; background:#faf8f6; text-align:center; border-bottom:1px solid #eee9e5; }
.ire-greviews-dialog h2 { margin:8px 0 18px; font-size:25px; line-height:1.2; text-align:center; letter-spacing:-.025em; }
.ire-greviews-dialog__intro > p:not(.ire-greviews-source):not(.ire-greviews-archive-note) { font-size:14px; margin:12px 0; }
.ire-greviews-dialog__intro .ire-greviews-archive-note { margin:18px 0 0; }
.ire-greviews-dialog__list { padding:0 24px; }
.ire-greviews-dialog__list .ire-greview { border:0; border-radius:0; border-bottom:1px solid #e7e7e7; padding:26px 0; }
.ire-greviews-disclosure { padding:20px 24px; margin:0; font-size:12px; line-height:1.6; color:#626972; text-align:left; }
.ire-greviews-dialog__footer { flex-shrink:0; padding:16px 24px max(12px,env(safe-area-inset-bottom)); border-top:1px solid #e7e7e7; background:#fff; }
.ire-greviews-write { display:flex; align-items:center; justify-content:center; min-height:40px; margin-top:6px; color:#52585e; font-size:13px; text-underline-offset:4px; }
@media(max-width:700px) {
 .ire-greviews-launcher { width:auto; top:auto; bottom:var(--ire-reviews-bottom,18px); left:14px; flex-direction:row; gap:7px; border:1px solid #e5e5e5; border-radius:24px; padding:11px 14px; min-height:44px; }
 body.ire-greviews-ready #ire-consent, body.ire-greviews-ready .c-aws-consent { max-height:calc(100vh - 156px); max-height:calc(100dvh - 156px); }
 .ire-greviews-launcher strong { font-size:17px; }
 .ire-greviews-launcher__label { writing-mode:horizontal-tb; transform:none; font-size:12px; }
 .ire-greviews-dialog { width:100%; }
 .ire-greviews-dialog__intro { padding:22px 24px; }
 .ire-greviews-dialog__bar { padding-left:20px; }
 .ire-greviews-dialog__list { padding-inline:22px; }
}
