/* ==========================================================================
   Product Reviews — Split Summary (approved concept #2). No cards,
   no shadows, no gold stars — thin lines and whitespace only.
   ========================================================================== */

.omh-reviews{ max-width:720px; margin:0 auto; padding:5rem 1.5rem 6rem; }

.omh-stars{ letter-spacing:2px; font-size:0.85rem; color:var(--color-ink); }
.omh-stars .empty{ color:var(--color-line); }

.omh-eyebrow{ font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--color-ink-soft); margin-bottom:1rem; }

.omh-reviews-summary{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; padding-bottom:2.6rem; border-bottom:1px solid var(--color-line); margin-bottom:2.6rem; align-items:center; }
.omh-reviews-avg{ font-family:var(--font-display); font-size:2.4rem; font-weight:400; margin-bottom:0.4rem; }
.omh-reviews-count{ font-size:0.82rem; color:var(--color-ink-soft); margin-top:0.5rem; }

.omh-reviews-dist-row{ display:flex; align-items:center; gap:0.6rem; font-size:0.72rem; color:var(--color-ink-soft); margin-bottom:0.35rem; }
.omh-reviews-dist-row .lbl{ width:26px; text-align:right; }
.omh-reviews-dist-row .bar{ flex:1; height:1px; background:var(--color-line); position:relative; }
.omh-reviews-dist-row .bar span{ position:absolute; left:0; top:0; bottom:0; background:var(--color-ink); }
.omh-reviews-dist-row .num{ width:20px; }

.omh-fit-indicator{ text-align:center; padding-bottom:2.6rem; border-bottom:1px solid var(--color-line); margin-bottom:2.6rem; }
.omh-fit-indicator .lbl{ font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--color-ink-soft); margin-bottom:1rem; }
.omh-fit-indicator .fit-track{ position:relative; max-width:320px; margin:0 auto 0.6rem; height:1px; background:var(--color-line); }
.omh-fit-indicator .fit-track .dot{ position:absolute; top:50%; width:8px; height:8px; border-radius:50%; background:var(--color-ink); transform:translate(-50%,-50%); }
.omh-fit-indicator .fit-ends{ display:flex; justify-content:space-between; max-width:320px; margin:0 auto; font-size:0.68rem; color:var(--color-ink-faint,#8A8580); }
.omh-fit-indicator .fit-result{ font-size:0.8rem; margin-top:0.6rem; }

.omh-reviews-controls{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1.8rem; }
.omh-reviews-sort{ border:none; background:none; font-family:var(--font-ui); font-size:0.76rem; color:var(--color-ink-soft); border-bottom:1px solid var(--color-line); padding:0.2rem 0; cursor:pointer; }
.omh-reviews-write{ background:none; border:1px solid var(--color-ink); padding:0.7rem 1.4rem; font-family:var(--font-ui); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--color-ink); cursor:pointer; }
.omh-reviews-write:hover{ background:var(--color-ink); color:var(--color-bg); }

.omh-review-item{ padding:1.8rem 0; border-bottom:1px solid var(--color-line); }
.omh-review-item.is-hidden{ display:none; }
.omh-review-item .omh-stars{ display:block; margin-bottom:0.4rem; }
.omh-review-item h4{ font-family:var(--font-display); font-weight:400; font-size:1.05rem; margin-bottom:0.4rem; }
.omh-review-meta{ font-size:0.76rem; color:var(--color-ink-faint,#8A8580); margin-bottom:0.9rem; line-height:1.5; }
.omh-review-text{ font-size:0.9rem; line-height:1.7; margin-bottom:0.9rem; }
.omh-review-extra{ font-size:0.74rem; color:var(--color-ink-soft); display:flex; gap:1.2rem; flex-wrap:wrap; }

.omh-reviews-load-more{ display:block; margin:2.5rem auto 0; background:none; border:1px solid var(--color-line); padding:0.8rem 2rem; font-family:var(--font-ui); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--color-ink); cursor:pointer; }
.omh-reviews-load-more:hover{ border-color:var(--color-ink); }
.omh-reviews-load-more.is-hidden{ display:none; }

.omh-reviews-empty{ text-align:center; padding:2rem 0; }
.omh-reviews-empty p{ font-size:0.9rem; color:var(--color-ink-soft); margin:1rem 0 1.6rem; }

/* Jump-to-reviews link, under the product title */
.omh-jump-reviews{ background:none; border:none; padding:0; cursor:pointer; display:inline-flex; align-items:center; gap:0.4rem; font-family:var(--font-ui); font-size:0.8rem; color:var(--color-ink-soft); margin:0.5rem 0 1.2rem; }
.omh-jump-reviews .omh-stars{ font-size:0.72rem; }
.omh-jump-reviews u{ text-decoration:underline; text-underline-offset:2px; }
.omh-jump-reviews:hover{ color:var(--color-ink); }

/* Write-review drawer — same drawer language as Size Guide */
.omh-rev-drawer{ position:fixed; inset:0; z-index:9999; visibility:hidden; pointer-events:none; }
.omh-rev-drawer.is-open{ visibility:visible; pointer-events:auto; }
.omh-rev-overlay{ position:absolute; inset:0; background:rgba(26,26,24,0.4); opacity:0; transition:opacity 0.3s var(--ease); }
.omh-rev-drawer.is-open .omh-rev-overlay{ opacity:1; }
.omh-rev-panel{ position:absolute; top:0; right:0; bottom:0; width:100%; max-width:440px; background:var(--color-bg); padding:2.6rem 2rem; overflow-y:auto; transform:translateX(100%); transition:transform 0.35s var(--ease); box-shadow:-20px 0 50px rgba(20,19,17,0.15); }
.omh-rev-drawer.is-open .omh-rev-panel{ transform:translateX(0); }
.omh-rev-close{ position:absolute; top:1.6rem; right:1.6rem; background:none; border:none; font-size:1.4rem; cursor:pointer; color:var(--color-ink); }
.omh-rev-panel h3{ font-family:var(--font-display); font-weight:400; font-size:1.3rem; margin-bottom:1.8rem; }

.rf-field{ margin-bottom:1.3rem; }
.rf-field label{ display:block; font-size:0.66rem; letter-spacing:0.07em; text-transform:uppercase; color:var(--color-ink-soft); margin-bottom:0.5rem; }
.rf-field input, .rf-field textarea, .rf-field select{ width:100%; border:1px solid var(--color-line); background:var(--color-bg); padding:0.7rem 0.8rem; font-family:var(--font-ui); font-size:0.85rem; color:var(--color-ink); }
.rf-field textarea{ min-height:90px; resize:vertical; }
.rf-hint{ display:block; font-size:0.7rem; color:var(--color-ink-faint,#8A8580); margin-top:0.3rem; }
.rf-stars-input{ font-size:1.4rem; letter-spacing:4px; cursor:pointer; color:var(--color-line); }
.rf-stars-input span.active{ color:var(--color-ink); }
.rf-submit{ width:100%; background:var(--color-ink); color:var(--color-bg); border:none; padding:0.95rem; font-family:var(--font-ui); font-size:0.7rem; letter-spacing:0.09em; text-transform:uppercase; cursor:pointer; margin-top:0.6rem; }
.rf-error{ color:#A32C2C; font-size:0.8rem; margin-top:0.8rem; }
.rf-success{ display:none; text-align:center; padding:3rem 0; }
.rf-success.show{ display:block; }
.rf-success .check{ font-size:1.8rem; margin-bottom:1rem; }

@media (max-width:600px){
	.omh-reviews-summary{ grid-template-columns:1fr; text-align:center; }
	.omh-rev-panel{ max-width:100%; padding:2rem 1.4rem; }
}

/* ===== Guest invitation — replaces the write-review button/form when
   not logged in. Editorial/minimal, no loyalty-program loudness. ===== */
.omh-reviews-guest-block{ text-align:center; padding:2rem 0 0.5rem; }
.omh-reviews-guest-line{ font-family:var(--font-display); font-style:italic; font-size:1.05rem; line-height:1.6; color:var(--color-ink); margin:0 0 0.8rem; }
.omh-reviews-guest-sub{ font-size:0.82rem; color:var(--color-ink-soft); max-width:380px; margin:0 auto 1.4rem; line-height:1.6; }
.omh-reviews-guest-cta{ display:inline-block; background:none; border:1px solid var(--color-ink); padding:0.7rem 1.4rem; font-family:var(--font-ui); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--color-ink); text-decoration:none; transition:all 0.2s var(--ease); }
.omh-reviews-guest-cta:hover{ background:var(--color-ink); color:var(--color-bg); }

/* Rewards note above the write-review form — same restrained tone as
   the OMONYMA Rewards section elsewhere in MY OMONYMA. */
.omh-rev-rewards-note{ font-size:0.85rem; color:var(--color-ink-soft); line-height:1.6; margin:0.4rem 0 1.6rem; }

/* Verified-purchase trust signal — quiet, no badge/icon, matches the
   rest of the review meta line's own styling (no extra emphasis). */
.omh-review-verified{ color:var(--color-ink-soft); }
