/* Grimm Inventory: customer reviews strip */
.gir { --gir-bg: #0e0e0e; --gir-card: #1a1a1a; --gir-line: #2e2e2e; --gir-text: #d6d6d6; --gir-muted: #9a9a9a; --gir-head: #fff; --gir-star: #f2b632; --gir-accent: #c62a20;
	background: var(--gir-bg); color: var(--gir-text); padding: 44px 16px 40px; border-top: 1px solid var(--gir-line); clear: both; }
.gir-light { --gir-bg: #f6f6f6; --gir-card: #fff; --gir-line: #e2e2e2; --gir-text: #333; --gir-muted: #6b6b6b; --gir-head: #111; }
.gir *, .gir *::before, .gir *::after { box-sizing: border-box; }
.gir-in { max-width: 1140px; margin: 0 auto; position: relative; }
.gir-head { text-align: center; margin-bottom: 26px; }
.gir-head h2 { color: var(--gir-head) !important; margin: 0 0 10px; font-size: 26px; letter-spacing: 2px; text-transform: uppercase; }
.gir-sum { margin: 0 0 6px; font-size: 17px; }
.gir-sum strong { color: var(--gir-head); margin: 0 4px; }
.gir-sum a { color: var(--gir-text) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.gir-sum a:hover { color: var(--gir-head) !important; }
.gir-strengths { margin: 0 0 6px; color: var(--gir-muted); font-size: 13px; }
.gir-note { margin: 10px auto 0; max-width: 640px; font-size: 14px; color: var(--gir-muted); }
.gir-note span { color: #3fbf6b; font-weight: 700; }
.gir-stars { color: var(--gir-star); letter-spacing: 2px; font-size: 18px; line-height: 1; white-space: nowrap; }
.gir-off { color: var(--gir-line); }
.gir-viewport { overflow: hidden; }
.gir-track { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; gap: 18px; transition: transform .8s ease; will-change: transform; }
.gir-card { flex: 0 0 calc((100% - 36px) / 3); margin: 0 !important; background: var(--gir-card); border: 1px solid var(--gir-line); border-top: 3px solid var(--gir-accent); padding: 20px 20px 16px; display: flex; flex-direction: column; gap: 10px; list-style: none !important; }
.gir-card::before { content: none !important; }
@media (max-width: 900px) { .gir-card { flex-basis: calc((100% - 18px) / 2); } }
@media (max-width: 600px) { .gir-card { flex-basis: 100%; } .gir-head h2 { font-size: 21px; } }
.gir-tags { margin: 0; font-size: 12px; color: var(--gir-muted); text-transform: uppercase; letter-spacing: .5px; }
.gir-text { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font-style: normal !important; color: var(--gir-text); font-size: 15px; line-height: 1.6; quotes: none; }
.gir-text::before, .gir-text::after { content: none !important; }
.gir-text p { margin: 0 0 .6em; color: inherit; }
.gir-who { margin: auto 0 0; padding-top: 6px; font-size: 14px; color: var(--gir-muted); }
.gir-who strong { color: var(--gir-head); }
.gir-src { display: inline-block; margin-top: 6px; font-size: 12px; padding: 2px 8px; border: 1px solid var(--gir-line); border-radius: 999px; }
a.gir-src { color: var(--gir-text) !important; text-decoration: none !important; transition: border-color .2s, color .2s; }
a.gir-src:hover, a.gir-src:focus-visible { border-color: var(--gir-accent); color: var(--gir-head) !important; }
.gir-src-ebay::before { content: "e "; font-weight: 700; color: #e53238; }
.gir-src-etsy::before { content: "E "; font-weight: 700; color: #f1641e; }
.gir-src-facebook::before { content: "f "; font-weight: 700; color: #4b8ff7; }
.gir-reply { font-size: 13px; color: var(--gir-muted); border-top: 1px solid var(--gir-line); padding-top: 8px; }
.gir-reply summary { cursor: pointer; }
.gir-reply p { margin: 6px 0 0; }
.gir-nav { display: flex; justify-content: center; gap: 10px; margin-top: 18px; }
.gir-nav[hidden] { display: none; }
.gir-nav button { all: unset; cursor: pointer; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--gir-line); color: var(--gir-head); font-size: 24px; line-height: 34px; text-align: center; }
.gir-nav button:hover, .gir-nav button:focus-visible { border-color: var(--gir-accent); background: var(--gir-accent); }
@media (prefers-reduced-motion: reduce) { .gir-track { transition: none; } }
/* "Leave a review" button + form */
.gir-leave { margin: 16px 0 0; }
.gir-leave a.gir-leave-btn, .girf-btn { all: unset; display: inline-block; cursor: pointer; background: var(--gir-accent); color: #fff !important; text-decoration: none !important; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; font-size: 13px; padding: 11px 20px; }
.gir-leave a.gir-leave-btn:hover, .girf-btn:hover, .girf-btn:focus-visible, .gir-leave a.gir-leave-btn:focus-visible { filter: brightness(1.15); outline: 2px solid var(--gir-head); outline-offset: 2px; }
.girf { border-top: 0; padding-top: 10px; }
.girf .gir-in { max-width: 720px; }
.girf-form { background: var(--gir-card); border: 1px solid var(--gir-line); border-top: 3px solid var(--gir-accent); padding: 24px; }
.girf-row { margin: 0 0 16px; display: flex; flex-direction: column; gap: 6px; }
.girf-row label { color: var(--gir-head); font-weight: 600; font-size: 14px; }
.girf-row small, .girf-fine { color: var(--gir-muted); font-size: 12px; }
.girf-form input[type=text], .girf-form input[type=email], .girf-form textarea { width: 100%; box-sizing: border-box; background: var(--gir-bg); color: var(--gir-head); border: 1px solid var(--gir-line); padding: 10px 12px; font: inherit; font-size: 15px; border-radius: 0; }
.girf-form input:focus, .girf-form textarea:focus { outline: 2px solid var(--gir-accent); outline-offset: 0; border-color: var(--gir-accent); }
.girf-two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 600px) { .girf-two { grid-template-columns: 1fr; } .girf-form { padding: 18px; } }
.girf-check label { font-weight: 400; color: var(--gir-text); }
.girf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.req { color: var(--gir-accent); }
.girf-stars { border: 0; margin: 0 0 16px; padding: 0; display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 4px; position: relative; padding-top: 26px; }
.girf-stars legend { position: absolute; top: 0; left: 0; color: var(--gir-head); font-weight: 600; font-size: 14px; padding: 0; }
.girf-stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.girf-stars label { font-size: 34px; line-height: 1; color: var(--gir-muted) !important; opacity: .45; cursor: pointer; transition: color .15s; }
.girf .girf-stars label:hover, .girf .girf-stars label:hover ~ label, .girf .girf-stars input:checked ~ label { color: var(--gir-star) !important; opacity: 1; }
.girf-stars input:focus-visible + label { outline: 2px solid var(--gir-head); outline-offset: 2px; }
.girf .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.girf-msg { padding: 14px 16px; margin: 0 0 18px; border: 1px solid var(--gir-line); background: var(--gir-card); color: var(--gir-head); }
.girf-msg.is-ok { border-left: 4px solid #3fbf6b; }
.girf-msg.is-err { border-left: 4px solid var(--gir-accent); }
