/* Shared review typography. The surrounding shop section supplies its surface. */
.voice-list{color:var(--review-ink,#242a29);font-family:var(--review-font,-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif);font-weight:400;text-align:start}
.voice-card{padding:22px 0 0;margin:0;border:0;background:transparent;min-width:0;overflow-wrap:anywhere}
.voice-card+.voice-card{margin-top:34px}
.voice-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}
.voice-stars{font-size:13px;line-height:1.5;letter-spacing:.12em;color:var(--review-accent,#ac3328)}
.voice-stars>span{color:var(--review-muted,#58665e)}
.voice-meta time{font-size:11px;line-height:1.5;color:var(--review-muted,#58665e);font-variant-numeric:tabular-nums}
.voice-card blockquote{font-family:inherit;font-size:var(--review-size,17px);font-weight:400;font-synthesis:none;line-height:1.95;letter-spacing:.01em;margin:17px 0 19px;overflow-wrap:anywhere;word-break:normal;text-wrap:pretty;text-align:start}
.voice-person{padding:0;margin:0}
.voice-person-mark{display:none}
.voice-person p{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:12px;line-height:1.8;margin:0;min-width:0}
.voice-person strong{font-weight:500}.voice-person p>span{font-size:11px;color:var(--review-muted,#58665e)}
.voice-visit{display:flex;flex-wrap:wrap;gap:3px 14px;margin:5px 0 0;padding:0}
.voice-visit>div{position:relative;min-width:0;max-width:100%}
.voice-visit dt{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.voice-visit dd{font-size:12px;font-weight:400;line-height:1.8;color:var(--review-muted,#58665e);margin:0;overflow-wrap:anywhere}
.voice-sample{font-size:10px;color:var(--review-muted,#58665e);line-height:1.7;margin:12px 0 0}
.voice-translation{font-size:10px;line-height:1.7;color:var(--review-muted,#58665e);margin:14px 0 -10px}
.voices-empty{font:400 16px/1.9 var(--review-font,sans-serif);color:var(--review-muted,#58665e)}

/* Primary placement is a horizontal strip. All-reviews pages remain a readable index. */
.voice-scroll-hint{display:flex;justify-content:space-between;gap:12px;margin:24px 0 6px;font-size:11px;line-height:1.7;color:var(--review-muted,#58665e)}
.voice-list:not(.voice-list--all){display:grid;grid-auto-flow:column;grid-auto-columns:calc(100% - 42px);gap:20px;overflow-x:auto;overscroll-behavior-x:none;scroll-snap-type:none;scrollbar-width:none;padding:0 0 8px;align-items:stretch}
.voice-list:not(.voice-list--all)::-webkit-scrollbar{display:none}
.voice-list:focus-visible{outline:2px solid var(--review-accent,#ac3328);outline-offset:5px}
.voice-list:not(.voice-list--all)>.voice-card{scroll-snap-align:none;padding:17px 20px 0 8px;margin:0;border-inline-end:1px solid var(--review-line,#cfd8cf)}
.voice-list:not(.voice-list--all)>.voice-card:last-child{border-inline-end:0}
.voice-list--all>.voice-card+.voice-card{border-top:1px solid var(--review-line,#cfd8cf);padding-top:28px;margin-top:28px}

/* Editorial review cards: clear boundaries, generous copy, grouped visitor details. */
.voice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 14px}.voice-toolbar .voice-scroll-hint{margin:0;font-size:11px}.voice-buttons{display:flex;gap:8px}.voice-buttons button{width:44px;height:44px;border:1px solid var(--review-line,#cfd8cf);border-radius:50%;background:var(--review-card,#fff);color:var(--review-ink,#242a29);font:20px/1 system-ui;cursor:pointer}.voice-buttons button:disabled{opacity:.3;cursor:default}.voice-buttons button:focus-visible{outline:2px solid var(--review-accent,#ac3328);outline-offset:3px}
.voice-list:not(.voice-list--all){grid-auto-columns:calc(100% - 24px);gap:14px;scroll-snap-type:none;padding:0 0 4px}.voice-list:not(.voice-list--all)>.voice-card,.voice-list:not(.voice-list--all)>.voice-card:last-child{display:flex;flex-direction:column;padding:22px;margin:0;background:var(--review-card,#fff);border:1px solid var(--review-line,#d9ded6);border-radius:18px;min-height:270px}.voice-stars{font-size:16px;letter-spacing:.07em}.voice-meta time{font-family:var(--review-font,system-ui);font-size:11px;letter-spacing:0}.voice-card blockquote{font-size:var(--review-size,18px);line-height:1.85;margin:25px 0 26px;min-height:0;letter-spacing:0}.voice-person{margin-top:auto}.voice-person p{display:block}.voice-person strong{display:block;font-size:13px}.voice-person p>span{display:block;margin-top:3px;font-size:11px}.voice-visit{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-top:18px}.voice-visit>div.voice-visit-wide{grid-column:1/-1}.voice-visit dt{position:static;width:auto;height:auto;padding:0;margin:0;clip-path:none;white-space:normal;font-size:9px;line-height:1.7;color:var(--review-muted,#58665e)}.voice-visit dd{font-size:11px;line-height:1.8;color:var(--review-ink,#242a29)}.voice-sample{font-size:10px;line-height:1.8;margin:20px 0 0}.voice-translation{margin:16px 0 -13px}

.voice-person p{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 10px}.voice-person p>span{margin-top:0}

.voice-person{display:flex;align-items:center;gap:12px}.voice-person-mark{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--review-avatar-surface,#edf0e9);color:var(--review-avatar-ink,#7b877c)}.voice-person p{min-width:0}.voice-list:not(.voice-list--all){align-items:start}.voice-body{margin-bottom:22px}.voice-body>.voice-excerpt{margin-bottom:8px}.voice-more summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:12px;text-decoration:underline;text-underline-offset:4px;list-style:none}.voice-more summary::-webkit-details-marker{display:none}.voice-more summary:focus-visible{outline:2px solid var(--review-accent,#ac3328);outline-offset:2px}.voice-close{display:none}.voice-more[open] .voice-close{display:inline}.voice-more[open] .voice-read{display:none}.voice-body:has(.voice-more[open])>.voice-excerpt{display:none}.voice-more blockquote{margin:10px 0 0}

.voice-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.voice-dates p{margin:0;font-size:11px;line-height:1.8}.voice-dates p>span:first-child{display:block;color:var(--review-muted,#58665e);font-size:10px}.voice-date-missing{color:var(--review-muted,#58665e)}

/* Fixed five-star scale and explicit denominator make the maximum unambiguous. */
.voice-rating{display:flex;align-items:center;gap:18px;color:var(--review-ink,#242a29)}.voice-score{display:flex;align-items:baseline;gap:5px;white-space:nowrap;font-family:var(--font-latin,system-ui)}.voice-score strong{font-size:34px;font-weight:500;line-height:1;letter-spacing:-.04em}.voice-score>span{font-size:12px;color:var(--review-muted,#58665e)}.voice-rating .voice-stars{display:flex;gap:3px;letter-spacing:0;line-height:1;color:var(--review-star,#a57535)}.voice-stars svg{display:block;flex:none;width:19px;height:19px;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round}.voice-stars .is-filled{fill:currentColor}.voice-stars .is-empty{fill:none;color:var(--review-empty-star,#b8beb5)}.voice-scale-label{display:block;font-size:10px;line-height:1.5;color:var(--review-muted,#58665e);margin-top:4px}.voice-dates{display:block}.voice-dates p{display:flex;align-items:baseline;gap:10px}.voice-dates p>span:first-child{display:inline}

/* Compact reading rhythm: keep the body legible and group the visit date with its author. */
.voice-list:not(.voice-list--all)>.voice-card,
.voice-list:not(.voice-list--all)>.voice-card:last-child{padding:18px;min-height:0}
.voice-rating{gap:14px}
.voice-score strong{font-size:28px}
.voice-rating-scale{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px}
.voice-scale-label{margin:0;font-size:9px}
.voice-stars svg{width:17px;height:17px}
.voice-card blockquote{margin:18px 0;line-height:1.75}
.voice-body{margin-bottom:12px}
.voice-body>.voice-excerpt{margin-bottom:2px}
.voice-more blockquote{margin:8px 0 0}
.voice-person{margin-top:0;gap:10px}
.voice-person-mark{flex-basis:32px;width:32px;height:32px}
.voice-person-mark svg{width:23px;height:23px}
.voice-person p{margin:0;gap:2px 8px}
.voice-person strong{font-size:12px}
.voice-dates{margin-top:2px;padding-inline-start:42px}
.voice-dates p{gap:6px;font-size:10px}
.voice-sample{margin:12px 0 0;font-size:9px;line-height:1.6}
.voice-translation{margin:12px 0 -8px}

/* The native disclosure stays keyboard-operable; its close action follows the full text. */
.voice-more[open]{position:relative;padding-bottom:48px}
.voice-more[open]>summary{position:absolute;inset:auto 0 0;min-height:44px}

/* 掲載から3日間だけ出す鮮度の印。表示可否は閲覧時のスクリプトが決める（hidden は display 指定に負けるので明示） */
.voice-new{margin-left:auto;padding:4px 9px 3px;border-radius:999px;background:var(--review-new-surface,var(--review-accent,#ac3328));color:var(--review-new-ink,#fff);font-family:var(--review-font,system-ui);font-size:10px;font-weight:700;line-height:1;letter-spacing:.12em}
.voice-new[hidden]{display:none}
