.write-review-toggle-btn{color:var(--plum);border:1px solid var(--plum);font-family:var(--font-header);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;margin-top:var(--space-2);background-color:#0000;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s;display:inline-block}.write-review-toggle-btn:hover{background-color:var(--plum);color:var(--cream)}.write-review-container{background-color:var(--cream);padding:var(--space-4);margin:var(--space-4) 0;border:1px solid #421a211a;border-radius:8px;max-width:650px}.write-review-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid #421a2114;justify-content:space-between;align-items:center;display:flex}.write-review-header h3{font-family:var(--font-header);color:var(--plum);margin:0;font-size:1.25rem}.write-review-close{cursor:pointer;color:#421a2180;background:0 0;border:none;justify-content:center;align-items:center;transition:color .2s;display:flex}.write-review-close:hover{color:var(--plum)}.write-review-error{color:#dc3545;background-color:#dc35451a;border-radius:4px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.write-review-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.write-review-form label{color:var(--plum);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.write-review-form input,.write-review-form textarea{font-family:var(--font-body);color:var(--plum);background-color:var(--page-background);border:1px solid #421a2133;border-radius:4px;padding:.75rem;font-size:1rem;transition:border-color .2s}.write-review-form input:focus,.write-review-form textarea:focus{border-color:var(--plum);outline:none}.rating-input-stars{gap:.25rem;display:flex}.star-select-btn{cursor:pointer;color:#421a2126;background:0 0;border:none;align-items:center;padding:0;transition:color .2s;display:flex}.star-select-btn span{font-variation-settings:"FILL" 1;font-size:2rem}.star-select-btn.filled{color:#f5a623}.submit-review-btn{background-color:var(--plum);color:var(--cream);font-family:var(--font-header);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:none;border-radius:4px;margin-top:.5rem;padding:.85rem;font-size:1rem;transition:opacity .2s}.submit-review-btn:hover:not(:disabled){opacity:.9}.submit-review-btn:disabled{opacity:.6;cursor:not-allowed}.write-review-success{background-color:var(--cream);padding:var(--space-5);margin:var(--space-4) 0;text-align:center;color:var(--plum);border:1px solid #421a211a;border-radius:8px}.success-icon{color:var(--sage);margin-bottom:.5rem}.success-icon span{font-size:3rem}.success-subtext{color:#421a2199;margin-top:.25rem;font-size:.9rem}@media (max-width:600px){.form-row{grid-template-columns:1fr;gap:1.25rem}}.image-upload-group{margin-top:.5rem}.image-upload-label{color:var(--text-main);margin-bottom:.5rem;font-weight:500;display:block}.image-upload-label span{color:var(--text-secondary);font-size:.85rem;font-weight:400}.image-previews-container{flex-wrap:wrap;gap:10px;display:flex}.image-preview-wrapper{border:1px solid #421a211a;border-radius:6px;width:72px;height:72px;position:relative;overflow:hidden}.image-preview-thumb{object-fit:cover;width:100%;height:100%}.image-remove-btn{color:#fff;cursor:pointer;background-color:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex;position:absolute;top:2px;right:2px}.image-remove-btn span{font-size:14px}.image-remove-btn:hover{background-color:#000c}.image-upload-btn-wrapper{width:72px;height:72px}.image-upload-btn{cursor:pointer;color:#421a2180;background-color:#ffffff80;border:2px dashed #421a2133;border-radius:6px;justify-content:center;align-items:center;width:100%;height:100%;transition:all .2s;display:flex}.image-upload-btn:hover{border-color:var(--matcha);color:var(--matcha);background-color:#ffffffe6}.image-upload-btn span{font-size:24px}
.review-card{scroll-snap-align:start;background-color:#fdfdfc;border:1px solid #421a210f;border-radius:8px;flex-direction:column;flex:0 0 min(420px,85vw);gap:.5rem;padding:1.25rem;display:flex}.review-rating{gap:1px;margin-bottom:.25rem;display:flex}.review-rating .star-icon{font-size:16px}.review-rating .star-filled{font-variation-settings:"FILL" 1;color:var(--matcha)}.review-rating .star-empty{font-variation-settings:"FILL" 0;color:#421a2133}.review-header{align-items:center;gap:.35rem;display:flex}.review-author-name{color:var(--text-main);font-size:.95rem;font-weight:600}.review-verified{color:#4caf50;align-items:center;display:inline-flex}.verified-icon{font-size:14px}.review-title-subtle{color:var(--text-main);margin-top:.25rem;font-size:.95rem;font-weight:600}.review-content{color:var(--text-secondary);margin-bottom:.25rem;font-size:.95rem;line-height:1.5}.review-body{word-break:break-word;margin:0}.review-body.line-clamp{-webkit-line-clamp:4;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.review-more-btn{color:inherit;cursor:pointer;font-weight:500;font-size:inherit;background:0 0;border:none;margin-top:2px;padding:0;font-family:inherit;text-decoration:underline}.review-more-btn:hover{color:var(--matcha)}.review-media-strip{gap:6px;margin-top:.25rem;padding-bottom:4px;display:flex;overflow-x:auto}.review-thumbnail-btn{cursor:pointer;background:0 0;border:1px solid #421a210d;border-radius:4px;flex-shrink:0;width:64px;height:64px;padding:0;overflow:hidden}.review-thumbnail-btn img{object-fit:cover;width:100%;height:100%;display:block}.review-reply-preview{border-left:2px solid var(--matcha);color:var(--text-secondary);background-color:#0000;margin-top:.5rem;padding:.5rem .75rem;font-size:.85rem}.review-reply-preview .reply-label{color:var(--text-main);margin-bottom:.15rem;font-weight:600;display:block}.review-reply-preview p{margin:0;line-height:1.4}.review-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.review-modal-content{background-color:#fff;border-radius:12px;flex-direction:column;gap:.75rem;width:100%;max-width:550px;max-height:90vh;padding:2rem;display:flex;position:relative;overflow-y:auto;box-shadow:0 10px 25px #0000001a}.review-modal-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;transition:background-color .2s;display:flex;position:absolute;top:1rem;right:1rem}.review-modal-close:hover{background-color:var(--cream);color:var(--text-main)}.review-modal-divider{border:none;border-top:1px solid #421a2114;margin:.25rem 0}.modal-title{margin-top:0}.review-full-body{color:var(--text-main);white-space:pre-wrap;word-break:break-word;font-size:.95rem;line-height:1.5}.review-full-body p{margin:0}.review-modal-images{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.review-modal-image-wrapper{border:1px solid #421a210d;border-radius:8px;width:100%;overflow:hidden}.review-modal-image-wrapper img{width:100%;height:auto;display:block}.review-reply-full{background-color:var(--cream);color:var(--text-secondary);border-radius:6px;margin-top:.5rem;padding:1rem;font-size:.9rem}.review-reply-full .reply-label{color:var(--matcha-dark);margin-bottom:.35rem;font-weight:600;display:block}.review-reply-full p{white-space:pre-wrap;margin:0;line-height:1.4}@media (max-width:600px){.review-card{max-width:100%;padding:1rem}.review-modal-content{width:calc(100vw - 32px);padding:1.5rem}}
.product-reviews-section{padding-top:var(--space-6);padding-bottom:var(--space-4);background-color:var(--page-background);border-top:1px solid #421a2114}.reviews-header-block{margin-bottom:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.reviews-heading{font-family:var(--font-header);color:var(--plum);text-align:left;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:1.25rem}.reviews-empty{text-align:left;color:#421a2199;margin-bottom:var(--space-3);padding:0;font-size:1rem}.reviews-empty p{margin:.25rem 0}.reviews-summary{margin-bottom:var(--space-4);flex-direction:row;align-items:center;gap:.75rem;display:flex}.reviews-summary-score{color:var(--plum);font-size:1.25rem;font-weight:700;line-height:1}.reviews-summary-count{color:#421a2199;font-size:.95rem}.reviews-list{scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none;flex-direction:row;align-items:stretch;gap:1rem;max-width:100%;margin:0;padding-bottom:1rem;display:flex;overflow-x:auto}.reviews-list::-webkit-scrollbar{display:none}@media (max-width:768px){.reviews-header-block{margin-bottom:var(--space-2)}.reviews-heading{margin-bottom:0}.product-reviews-section{padding-top:var(--space-4);padding-bottom:var(--space-3)}}
