/* Product page review section (Reviews module), in the theme style. */
.sa-rv { color: var(--wp--preset--color--body); }
.sa-rv .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sa-rv-h { font-size: 1.35rem; margin: 0 0 1rem; color: var(--wp--preset--color--ink); letter-spacing: -0.01em; }
.sa-rv-count { color: var(--wp--preset--color--muted); font-weight: 600; }

/* Static stars: grey row with a gold row on top, width = rating / 5. */
.sa-rv-stars-static { --sa-rv-size: 18px; position: relative; display: inline-block; font-size: var(--sa-rv-size); line-height: 1; letter-spacing: 2px; color: #DDD7CB; font-family: Arial, sans-serif; vertical-align: middle; }
.sa-rv-stars-static::before { content: "★★★★★"; }
.sa-rv-stars-static::after { content: "★★★★★"; position: absolute; left: 0; top: 0; color: #D9A33A; overflow: hidden; white-space: nowrap; width: calc(var(--sa-rv-r) / 5 * 100%); }
.sa-rv-stars-static.is-lg { --sa-rv-size: 22px; }

.sa-rv-summary { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem 2rem; align-items: center; padding: 1.25rem; border-radius: 20px; background: var(--wp--preset--color--base); margin-bottom: 1rem; }
.sa-rv-score { display: flex; align-items: center; gap: .9rem; }
.sa-rv-score > strong { font-size: 3rem; line-height: 1; font-weight: 800; color: var(--wp--preset--color--ink); letter-spacing: -0.03em; }
.sa-rv-score > div { display: flex; flex-direction: column; gap: .3rem; font-size: 14px; color: var(--wp--preset--color--muted); }
.sa-rv-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.sa-rv-bar { width: 100%; display: grid; grid-template-columns: 2.6rem minmax(0, 1fr) 2.2rem; gap: .6rem; align-items: center; min-height: 32px; padding: 2px 6px; border: 0; border-radius: 10px; background: transparent; font: inherit; font-size: 14px; color: var(--wp--preset--color--body); cursor: pointer; text-align: left; }
.sa-rv-bar:hover:not([disabled]), .sa-rv-bar[aria-pressed=true] { background: #fff; }
.sa-rv-bar[aria-pressed=true] { box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--accent); }
.sa-rv-bar[disabled] { cursor: default; opacity: .65; }
.sa-rv-bar:focus-visible { outline: 3px solid var(--wp--preset--color--sage); }
.sa-rv-bar-label { font-weight: 700; color: var(--wp--preset--color--ink); white-space: nowrap; }
.sa-rv-bar-label span[aria-hidden] { color: #D9A33A; }
.sa-rv-bar-track { height: 8px; border-radius: 999px; background: #E9E4DA; overflow: hidden; }
.sa-rv-bar-track span { display: block; height: 100%; border-radius: 999px; background: #D9A33A; }
.sa-rv-bar-n { text-align: right; color: var(--wp--preset--color--muted); font-variant-numeric: tabular-nums; }
.sa-rv-cta { grid-column: 1 / -1; }
.sa-rv-write { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1.2rem; box-sizing: border-box; line-height: 1.3; text-align: center; border-radius: 999px; background: #fff; color: var(--wp--preset--color--ink); font-weight: 700; font-size: 15px; text-decoration: none; box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--line); }
.sa-rv-write:hover, .sa-rv-write:focus-visible { box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--ink); color: var(--wp--preset--color--ink); }

.sa-rv-policy { display: flex; gap: .55rem; align-items: flex-start; font-size: 13.5px; line-height: 1.5; color: var(--wp--preset--color--muted); margin: 0 0 1.25rem; }
.sa-rv-policy svg { flex: 0 0 auto; color: var(--wp--preset--color--accent); margin-top: 1px; }

.sa-rv-list { list-style: none; margin: 0; padding: 0; }
.sa-rv-item { padding: 1.25rem 0; border-top: 1px solid #F0ECE4; }
.sa-rv-item:first-child { border-top: 0; padding-top: .25rem; }
.sa-rv-item[hidden] { display: none; }
.sa-rv-item-head { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .75rem; }
.sa-rv-item-title { font-size: 1.05rem; margin: 0; color: var(--wp--preset--color--ink); line-height: 1.35; }
.sa-rv-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .5rem; font-size: 13.5px; color: var(--wp--preset--color--muted); margin: .45rem 0 .6rem; }
.sa-rv-author { font-weight: 700; color: var(--wp--preset--color--ink); }
.sa-rv-verified { display: inline-flex; align-items: center; gap: .3rem; padding: 2px 9px 2px 7px; border-radius: 999px; background: var(--wp--preset--color--sage-soft, #E4EDE5); color: var(--wp--preset--color--accent); font-weight: 700; font-size: 12.5px; }
.sa-rv-text { font-size: 15.5px; line-height: 1.65; }
.sa-rv-text p { margin: 0 0 .6rem; }
.sa-rv-text p:last-child { margin-bottom: 0; }
.sa-rv-photos { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: .8rem 0 0; padding: 0; }
.sa-rv-photos a { display: block; border-radius: 12px; overflow: hidden; }
.sa-rv-photos img { display: block; width: 88px; height: 88px; object-fit: cover; transition: transform .15s; }
.sa-rv-photos a:hover img { transform: scale(1.04); }
.sa-rv-photos a:focus-visible { outline: 3px solid var(--wp--preset--color--sage); }
.sa-rv-reply { margin: 1rem 0 0; padding: .9rem 1rem; border-radius: 16px; background: var(--wp--preset--color--base); border-left: 3px solid var(--wp--preset--color--accent); font-size: 15px; line-height: 1.6; }
.sa-rv-reply-head { display: flex; flex-wrap: wrap; gap: .25rem .6rem; align-items: baseline; margin: 0 0 .3rem !important; }
.sa-rv-reply-head strong { color: var(--wp--preset--color--ink); }
.sa-rv-reply-head time { font-size: 13px; color: var(--wp--preset--color--muted); }
.sa-rv-reply p { margin: 0 0 .4rem; }
.sa-rv-reply p:last-child { margin: 0; }
.sa-rv-more { margin-top: 1rem; min-height: 44px; padding: 0 1.3rem; border-radius: 999px; border: 0; background: #fff; box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--line); font: inherit; font-weight: 700; color: var(--wp--preset--color--ink); cursor: pointer; }
.sa-rv-more:hover { box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--ink); }
.sa-rv-more span { color: var(--wp--preset--color--muted); font-weight: 600; }
.sa-rv-filter-empty { color: var(--wp--preset--color--muted); }
.sa-rv-empty { padding: 1.25rem; border-radius: 20px; background: var(--wp--preset--color--base); }
.sa-rv-empty p { margin: 0 0 .9rem; }

@media (max-width: 781px) {
	.sa-rv-summary { grid-template-columns: 1fr; gap: 1rem; padding: 1rem; }
	.sa-rv-score > strong { font-size: 2.6rem; }
	.sa-rv-write { width: 100%; justify-content: center; box-sizing: border-box; }
}
