.customer-reviews { --ink:#25362e; --muted:#66736b; --line:#dce3d9; padding:80px 0; background:#f5f6f0; color:var(--ink); }
.customer-reviews > .container { max-width:1240px; }
.reviews-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:32px; }
.reviews-heading .product-eyebrow { color:#5c7163; letter-spacing:.16em; }
.reviews-heading h2 { font-size:clamp(2.6rem,4.5vw,3.8rem); font-weight:500; line-height:1.04; letter-spacing:-.055em; margin:12px 0 18px; }
.reviews-heading h2 em { font-style:normal; color:#78917e; }
#customer-reviews-title { scroll-margin-top:150px; }
.reviews-intro { color:var(--muted); font-size:.96rem; margin:0; }
.reviews-provenance { display:flex; flex-direction:column; gap:8px; padding:18px 22px; max-width:290px; border-left:1px solid #cbd6c8; }
.reviews-provenance strong { font-size:.95rem; font-weight:600; }
.reviews-provenance > span:last-child { font-size:.75rem; line-height:1.6; color:var(--muted); }
.review-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.review-filters[hidden], .review-card[hidden], .reviews-navigation[hidden] { display:none; }
.review-filters button { border:1px solid #d3ded2; background:transparent; border-radius:30px; padding:10px 14px; font:inherit; font-size:.78rem; color:var(--ink); cursor:pointer; white-space:nowrap; }
.review-filters button span { margin-left:8px; opacity:.65; font-size:.7rem; }
.review-filters button[aria-pressed="true"] { color:white; background:var(--ink); border-color:var(--ink); }
.review-filters button:hover { border-color:var(--ink); }
.review-track { display:flex; align-items:stretch; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-margin-top:100px; overscroll-behavior-x:contain; padding:4px 2px; scrollbar-width:none; -ms-overflow-style:none; }
.review-track::-webkit-scrollbar { display:none; width:0; height:0; }
.review-card { --card-tint:#f2f5eb; --card-accent:#6f8552; flex:0 0 calc((100% - 40px)/3); min-width:0; display:flex; scroll-snap-align:start; background:linear-gradient(155deg,var(--card-tint),#fff 65%); border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.review-card[data-review-category="ocean"] { --card-tint:#eaf5ef; --card-accent:#468671; }
.review-card[data-review-category="ice"] { --card-tint:#edf3fa; --card-accent:#6285a3; }
.review-card[data-review-category="blocks"] { --card-tint:#fbf1e3; --card-accent:#ad8048; }
.review-content { display:flex; flex-direction:column; width:100%; min-width:0; box-sizing:border-box; padding:28px; }
.review-card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.review-stars { color:#a87426; letter-spacing:2px; font-size:1.08rem; white-space:nowrap; }
.review-topic { font-size:.68rem; color:var(--muted); text-align:right; }
.review-quote-mark { display:block; height:52px; margin-top:18px; color:var(--card-accent); font:5.4rem/1 Georgia,serif; opacity:.45; }
.review-card h3 { font-size:1.3rem; font-weight:500; letter-spacing:-.025em; line-height:1.35; margin:0 0 14px; text-wrap:pretty; }
.review-card blockquote { margin:0 0 18px; font-size:.96rem; line-height:1.8; color:#4a5b50; }
.review-details { margin-bottom:26px; }
.review-translation { margin:-10px 0 14px; color:var(--muted); font-size:.65rem; }
.review-details summary { font-size:.76rem; color:#4b6852; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.review-details p { font-size:.82rem; line-height:1.75; color:var(--muted); margin:12px 0 0; overflow-wrap:anywhere; }
.review-details .review-summary-label { font-size:.6rem; letter-spacing:.1em; font-weight:600; }
.review-full-text { white-space:pre-line; }
.review-attribution { margin-top:auto; padding-top:20px; border-top:1px solid var(--line); }
.review-author { display:flex; align-items:center; gap:11px; margin-bottom:12px; }
.review-avatar { width:38px; height:38px; flex-shrink:0; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:var(--card-tint); color:var(--card-accent); font-size:.7rem; font-weight:600; }
.review-author strong { font-size:.8rem; font-weight:600; overflow-wrap:anywhere; }
.review-author p { font-size:.68rem; line-height:1.6; margin:3px 0 0; color:var(--muted); }
.review-status { display:inline-block; font-size:.65rem; color:#3e6b45; background:#eef6ed; padding:5px 9px; border-radius:5px; margin:0 0 20px; }
.review-status-vine { color:#706140; background:#f7f3e9; }
.review-product { padding:14px 16px; border-radius:10px; background:var(--card-tint); color:var(--ink); }
.review-product-caption { display:flex; flex-direction:column; gap:5px; min-width:0; }
.review-category { color:var(--card-accent); font-size:.6rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
.review-product-caption strong { font-weight:500; font-size:.82rem; line-height:1.4; }
.review-source { display:inline-flex; align-self:flex-start; gap:6px; margin-top:18px; font-size:.7rem; line-height:1.6; color:var(--muted); text-decoration:none; }
.review-source:hover { text-decoration:underline; text-underline-offset:4px; }
.reviews-navigation { display:flex; align-items:center; gap:18px; margin-top:22px; color:var(--muted); }
.review-position { min-width:78px; font-size:.7rem; font-variant-numeric:tabular-nums; letter-spacing:.07em; color:var(--ink); }
.review-progress { display:block; position:relative; width:96px; height:4px; border-radius:10px; background:#d0dbcc; overflow:hidden; }
.review-progress-thumb { display:block; width:24px; height:100%; border-radius:inherit; background:var(--ink); }
.review-swipe-hint { display:none; }
.review-controls { display:flex; gap:8px; margin-left:auto; }
.review-controls button { display:grid; place-items:center; width:38px; height:38px; border:1px solid #c5d2bf; border-radius:50%; background:transparent; color:var(--ink); font:inherit; font-size:1.15rem; cursor:pointer; }
.review-controls button:hover:not(:disabled) { background:var(--ink); color:white; }
.review-controls button:disabled { opacity:.3; cursor:default; }
.reviews-footer { margin-top:24px; font-size:.69rem; line-height:1.7; color:var(--muted); }
.reviews-footer p { margin:0; }
.reviews-footer p:last-child { max-width:760px; margin-inline:auto; text-align:center; }
.customer-reviews :focus-visible { outline:2px solid #567151; outline-offset:4px; }
@media(max-width:960px) { .review-card { flex-basis:calc((100% - 20px)/2); } }
@media(max-width:600px) { .customer-reviews { padding:48px 0; } .reviews-heading { display:block; margin-bottom:24px; } .reviews-heading h2 { font-size:2.65rem; } .reviews-provenance { margin-top:22px; padding:0 0 0 16px; gap:5px; } .review-filters button { min-height:42px; padding:9px 12px; font-size:.73rem; } .review-track { gap:16px; } .review-card { flex-basis:90%; } .review-content { padding:24px; } .review-controls { display:none; } .reviews-navigation { gap:12px; margin-top:20px; } .review-position { min-width:55px; } .review-progress { width:72px; } .review-progress-thumb { width:18px; } .review-swipe-hint { display:block; margin-left:auto; font-size:.65rem; } .reviews-footer p:last-child { text-align:left; } }
