/* Product page: gallery, content boxes, stars and reviews. No inline styles are used anywhere (the site's CSP forbids them). */
.stars{position:relative;display:inline-block;font-size:1rem;line-height:1;letter-spacing:2px;vertical-align:middle;white-space:nowrap;width:5.6em;height:1em}
.stars::before,.stars::after{content:"★★★★★";position:absolute;left:0;top:0;white-space:nowrap}
.stars::before{color:#CBD8D4}.stars::after{color:#F2A516;overflow:hidden}
.stars.r0::after{width:0%}.stars.r5::after{width:10%}.stars.r10::after{width:20%}.stars.r15::after{width:30%}.stars.r20::after{width:40%}.stars.r25::after{width:50%}.stars.r30::after{width:60%}.stars.r35::after{width:70%}.stars.r40::after{width:80%}.stars.r45::after{width:90%}.stars.r50::after{width:100%}
.pgal{display:grid;gap:12px;align-content:start}@media(min-width:900px){.pgal{position:sticky;top:96px;align-self:start}}
.g-main{background:#F0F5F3;border:1px solid var(--line);border-radius:20px;overflow:hidden}.g-main img{width:100%;aspect-ratio:1;object-fit:contain}
.g-thumbs{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 6px;scroll-snap-type:x proximity}.g-thumbs li{flex:0 0 auto;scroll-snap-align:start}
.g-thumbs a{display:block;width:72px;height:72px;border-radius:12px;border:2px solid var(--line);overflow:hidden;background:#F0F5F3}.g-thumbs a[aria-current="true"]{border-color:var(--green)}
.g-thumbs img{width:100%;height:100%;object-fit:cover}@media(min-width:520px){.g-thumbs a{width:84px;height:84px}}
.prate-top{margin:6px 0 10px;font-size:.92rem}.prate-top a{color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:8px}.prate-top a:hover span{text-decoration:underline}
.prate{display:inline-flex;align-items:center;gap:6px;margin:2px 0 6px;font-size:.8rem;color:var(--mut);text-decoration:none}.prate .stars{font-size:.85rem}
.feat-short{margin:14px 0 0;display:grid;gap:6px}.feat-short li{padding-left:22px;position:relative;color:var(--text)}.feat-short li::before{content:"✓";position:absolute;left:0;color:#1F7A3E;font-weight:700}
.pboxes{display:grid;gap:18px;margin-top:36px}@media(min-width:900px){.pboxes{grid-template-columns:1fr 1fr;align-items:start}.pbox-wide{grid-column:1/-1}}
.pbox{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,3vw,28px)}.pbox h2{font-size:1.3rem;margin:0 0 14px}.pbox .prose{margin:0}.pbox .prose p{color:var(--text)}
.ticks{display:grid;gap:10px;margin:0}.ticks li{padding-left:28px;position:relative;line-height:1.5}.ticks li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:#DDF3E6;color:#1F7A3E;font-size:.78rem;font-weight:700;display:grid;place-items:center}
.pbox .specs{margin:0}
.reviews{margin-top:18px;scroll-margin-top:90px}.rev-grid{display:grid;gap:28px}@media(min-width:800px){.rev-grid{grid-template-columns:.8fr 1.2fr}}
.rev-avg{display:flex;align-items:baseline;gap:8px;margin:0 0 4px}.rev-avg b{font-size:2.6rem;letter-spacing:-.04em;color:var(--ink)}.rev-avg span{color:var(--mut)}
.bars{display:grid;gap:6px;margin-top:10px}.bars li{display:grid;grid-template-columns:34px 1fr 28px;gap:8px;align-items:center;font-size:.85rem;color:var(--mut)}
.bar{display:block;height:8px;border-radius:99px;background:#E3ECE9;overflow:hidden}.bar b{display:block;height:100%;background:#F2A516;border-radius:99px}
.bar b.w0{width:0%}.bar b.w5{width:5%}.bar b.w10{width:10%}.bar b.w15{width:15%}.bar b.w20{width:20%}.bar b.w25{width:25%}.bar b.w30{width:30%}.bar b.w35{width:35%}.bar b.w40{width:40%}.bar b.w45{width:45%}.bar b.w50{width:50%}.bar b.w55{width:55%}.bar b.w60{width:60%}.bar b.w65{width:65%}.bar b.w70{width:70%}.bar b.w75{width:75%}.bar b.w80{width:80%}.bar b.w85{width:85%}.bar b.w90{width:90%}.bar b.w95{width:95%}.bar b.w100{width:100%}
.rev-form h3{font-size:1.1rem;margin-bottom:8px}.rev-form .form{margin-top:10px}
.rate-in{border:0;margin:0;padding:0;display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}.rate-in legend{float:left;width:100%;font-weight:600;margin-bottom:6px}
.rate-in input{position:absolute;opacity:0;width:1px;height:1px}.rate-in label{font-size:2rem;line-height:1;cursor:pointer;color:#CBD8D4;padding:0 2px}
.rate-in label:hover,.rate-in label:hover~label,.rate-in input:checked~label{color:#F2A516}.rate-in input:focus-visible+label{outline:3px solid var(--mint);border-radius:6px}
#review-msg{margin:0;min-height:1.2em;font-weight:500}#review-msg.ok{color:#1B6B3E}#review-msg.err{color:#9A2F29}
.rev-list{margin-top:26px;border-top:1px solid var(--line)}.rev{padding:18px 0;border-bottom:1px solid var(--line)}.rev p{margin:0 0 6px}.rev-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rev-meta{font-size:.85rem;color:var(--mut)}.vp{color:#1B6B3E;font-weight:600}
