/* Reviews v1.0.2 – isolated presentation; shared Design System tokens */
.rs-reviews-page{max-width:1200px;margin:0 auto;padding:clamp(16px,3vw,36px);color:var(--rs-text-primary,inherit)}
.rs-reviews-page__hero{padding:clamp(24px,4vw,44px);border-radius:18px;background:linear-gradient(115deg,var(--rs-surface-2,#1d2229),var(--rs-surface-1,#14181d));border:1px solid var(--rs-border-default,#ffffff18);margin-bottom:20px}
.rs-reviews-page__eyebrow,.rs-review__eyebrow{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rs-text-secondary,#a6adb7);font-weight:750}
.rs-reviews-page__hero h1{font-size:clamp(2rem,4vw,3.15rem);line-height:1.1;margin:12px 0 10px}.rs-reviews-page__hero p{color:var(--rs-text-secondary,#b1b8c2);font-size:1.03rem;margin:0}
.rs-reviews-page__filters{border:1px solid var(--rs-border-default,#ffffff24);border-radius:12px;background:var(--rs-surface-1,#181d23);margin-bottom:24px;overflow:hidden}
.rs-reviews-page__filters summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:16px 19px;font-weight:700}.rs-reviews-page__filters summary::-webkit-details-marker{display:none}.rs-reviews-page__filters summary:after{content:'⌄';margin-left:auto;font-size:1.2rem}.rs-reviews-page__filters[open] summary:after{transform:rotate(180deg)}.rs-reviews-page__filter-icon{font-size:1.5rem;line-height:1}.rs-reviews-page__filter-hint{font-size:.83rem;font-weight:400;color:var(--rs-text-secondary,#9ba5b0)}
.rs-reviews-page__filters form{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px) auto;gap:14px;align-items:end;padding:4px 19px 19px}.rs-reviews-page__field{display:flex;flex-direction:column;gap:7px;min-width:0}.rs-reviews-page__field label{font-size:.8rem;font-weight:650;color:var(--rs-text-secondary,#bbc2ca)}.rs-reviews-page__field input,.rs-reviews-page__field select{box-sizing:border-box;width:100%;min-height:42px;padding:10px 12px;border-radius:9px;border:1px solid var(--rs-border-default,#ffffff30);background:var(--rs-surface-2,#252b33);color:inherit;font:inherit}.rs-reviews-page__submit{min-height:42px;border:0;border-radius:9px;padding:10px 22px;background:var(--rs-accent,#5e8ac4);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.rs-reviews-page__results{display:flex;align-items:baseline;gap:7px;color:var(--rs-text-secondary,#a9b2bd);margin:22px 0 14px;font-size:.9rem}.rs-reviews-page__results strong{font-size:1.15rem;color:var(--rs-text-primary,inherit);font-variant-numeric:tabular-nums}
.rs-review{border:1px solid var(--rs-border-default,#ffffff20);border-radius:15px;background:var(--rs-surface-1,#181d23);margin-bottom:16px;overflow:hidden}.rs-review__header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px 17px;background:var(--rs-surface-2,#20262d)}.rs-review__identity{display:flex;gap:16px;align-items:center;min-width:0}.rs-review__book-info{min-width:0}.rs-review__book{display:block;font-size:clamp(1.1rem,2vw,1.32rem);line-height:1.25;font-weight:750;text-decoration:none;color:var(--rs-text-primary,inherit);margin:5px 0}.rs-review__book:hover{text-decoration:underline}.rs-review__book-authors{font-size:.86rem;color:var(--rs-text-secondary,#aab2bc)}.rs-review__cover{flex:0 0 56px}.rs-review__cover img{display:block;width:56px;height:82px;object-fit:cover;border-radius:5px;background:var(--rs-surface-1,#171b21)}.rs-review__rating{flex-shrink:0}.rs-review__rating-fallback{font-weight:700;font-size:1.15rem}
.rs-review__byline{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:14px 24px 0;color:var(--rs-text-secondary,#aab2bc);font-size:.85rem}.rs-review__byline-avatar{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--rs-surface-2,#303943);font-weight:750;color:var(--rs-text-primary,#fff)}.rs-review__byline-name{font-weight:650;color:var(--rs-text-primary,inherit)}.rs-review__byline-name a{color:inherit;text-decoration:none}.rs-review__byline-name a:hover{text-decoration:underline}.rs-review__content{padding:15px 24px 20px;line-height:1.72;overflow-wrap:anywhere;font-size:.98rem}.rs-review__content p{margin:.65em 0}.rs-review__content p:first-child{margin-top:0}.rs-review__content p:last-child{margin-bottom:0}.rs-review__spoiler{margin:15px 24px 20px;border-left:3px solid var(--rs-accent,#5e8ac4);padding-left:14px}.rs-review__spoiler .rs-review__content{padding:12px 0}.rs-review__spoiler summary{cursor:pointer;font-weight:650}.rs-review__endorsement{font-size:.83rem;color:var(--rs-text-secondary,#aab2bc);margin:0;padding:0 24px 18px}.rs-review__vote{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--rs-border-default,#ffffff20);padding:13px 24px;font-size:.84rem}.rs-review__vote form{margin:0}.rs-review__vote button{border:1px solid var(--rs-border-default,#ffffff30);border-radius:8px;padding:7px 12px;background:transparent;color:inherit;cursor:pointer}.rs-review__vote button[aria-pressed=true]{border-color:var(--rs-accent,#5e8ac4);font-weight:700}.rs-review__spotlight{padding:0}.rs-review__spotlight-expand{padding:0 24px 18px}.rs-review__spotlight-expand summary{cursor:pointer}.rs-review__spotlight-expand[open] .rs-review__preview{display:none}.rs-review__more{display:block;margin-top:8px;font-weight:650}
.rs-review :focus-visible,.rs-reviews-page :focus-visible{outline:2px solid var(--rs-border-focus,var(--rs-accent,#5e8ac4));outline-offset:3px}
@media(max-width:680px){.rs-reviews-page__filters form{grid-template-columns:1fr}.rs-reviews-page__filter-hint{display:none}.rs-review__header{padding:17px;align-items:flex-start}.rs-review__byline{padding:12px 17px 0}.rs-review__content{padding:12px 17px 18px}.rs-review__endorsement{padding:0 17px 15px}.rs-review__vote{padding:12px 17px}.rs-review__cover{flex-basis:42px}.rs-review__cover img{width:42px;height:62px}.rs-review__rating .rs-rating__stars{display:none}}

/* v1.0.2: keep shared Rating markup within the card's compact rating slot.
   Scoped intentionally: never style SVG globally. */
.rs-review__rating {display:flex;align-items:center;justify-content:flex-end;min-width:0;max-width:220px;max-height:52px;overflow:hidden;line-height:1.2}
.rs-review__rating > * {max-width:100%;max-height:48px}
.rs-review__rating svg {display:inline-block!important;width:22px!important;height:22px!important;min-width:0!important;max-width:22px!important;max-height:22px!important;flex:0 0 22px;vertical-align:middle}
.rs-review__rating svg * {vector-effect:non-scaling-stroke}
.rs-review__rating .rs-rating__stars {display:inline-flex;align-items:center;gap:2px;max-width:140px}
.rs-review__rating .rs-rating__stars svg {width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important;flex-basis:20px}
.rs-review__header {min-width:0}
.rs-review__identity {flex:1 1 auto}
.rs-review__rating-fallback {white-space:nowrap}
@media(max-width:680px){.rs-review__rating{max-width:130px;max-height:42px}.rs-review__rating svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}}

/* v1.0.5 – polished review presentation; no global SVG overrides. */
.rs-review__header{padding:19px 24px 18px;gap:20px;align-items:center}
.rs-review__eyebrow{display:block;font-size:.66rem;letter-spacing:.11em;margin-bottom:5px}
.rs-review__book{font-size:1.25rem;margin:2px 0 5px;line-height:1.3}
.rs-review__book-authors{font-size:.88rem;line-height:1.4}
.rs-review__rating{overflow:visible;max-height:none;max-width:none;white-space:nowrap;min-height:36px}
.rs-review__rating-number{display:inline-flex;align-items:baseline;gap:1px;border:1px solid var(--rs-border-default,#ffffff24);border-radius:9px;padding:7px 11px;background:var(--rs-surface-1,#181d23);font-weight:750;font-size:1rem;font-variant-numeric:tabular-nums;color:var(--rs-text-primary,#f3f4f6)}
.rs-review__rating-scale{font-size:.77rem;font-weight:500;color:var(--rs-text-secondary,#aab2bc)}
.rs-review__byline{padding:17px 24px 0;gap:9px;font-size:.86rem}
.rs-review__byline-name{color:var(--rs-text-primary,#f3f4f6)}
.rs-review__byline-name a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
.rs-review__byline-name a:hover{text-decoration-color:currentColor}
.rs-review__byline-avatar{display:none}
.rs-review__content{padding:15px 24px 22px;line-height:1.75;font-size:1rem}
.rs-review__content p{margin:0 0 1.05em}
.rs-review__content p:last-child{margin-bottom:0}
.rs-review__cover{flex-basis:52px}
.rs-review__cover img{width:52px;height:76px}
@media(max-width:680px){.rs-review__header{padding:17px;gap:10px}.rs-review__book{font-size:1.12rem}.rs-review__rating-number{padding:6px 8px;font-size:.9rem}.rs-review__content{padding:14px 17px 19px}.rs-review__byline{padding:14px 17px 0}.rs-review__cover{flex-basis:42px}.rs-review__cover img{width:42px;height:62px}}

/* v1.0.6: larger, readable book covers in cross-book review lists. */
.rs-review--full .rs-review__cover,.rs-review--spotlight .rs-review__cover{flex:0 0 72px;align-self:flex-start}
.rs-review--full .rs-review__cover img,.rs-review--spotlight .rs-review__cover img{width:72px;height:106px;object-fit:cover;border-radius:6px;box-shadow:0 3px 12px #0004}
.rs-review__identity{align-items:center}
@media(max-width:680px){.rs-review--full .rs-review__cover,.rs-review--spotlight .rs-review__cover{flex-basis:54px}.rs-review--full .rs-review__cover img,.rs-review--spotlight .rs-review__cover img{width:54px;height:80px}}

/* v1.1.0: shared Rating and Pagination components own their markup. */
.rs-review__rating .rs-rating{display:inline-flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums}
.rs-review__rating .rs-rating__stars,.rs-review__rating .rs-rating__star{display:inline-flex;align-items:center;justify-content:center}
.rs-review__rating .rs-rating__star svg{width:19px!important;height:19px!important;fill:var(--rs-rating-star,#f5bf43)!important}
.rs-review__rating .rs-rating__star--full{color:var(--rs-rating-star,#f5bf43)}
.rs-review__rating .rs-rating__value{font-weight:750;font-size:1rem}
.rs-review__moderation{position:relative;align-self:flex-start;margin-left:4px}
.rs-review__moderation summary{list-style:none;cursor:pointer;border:1px solid var(--rs-border-default,#ffffff28);border-radius:7px;padding:2px 9px;font-size:1.25rem;line-height:1.2}
.rs-review__moderation summary::-webkit-details-marker{display:none}
.rs-review__moderation a{position:absolute;right:0;top:100%;z-index:3;display:block;white-space:nowrap;background:var(--rs-surface-2,#242a32);border:1px solid var(--rs-border-default,#ffffff30);padding:10px;border-radius:7px;color:inherit;text-decoration:none}
.rs-review__vote button[aria-pressed=true]{background:var(--rs-surface-2,#273442)}


/* v1.3: compact expandable reviews; the original rich text remains in the DOM. */
.rs-review__expand{padding:14px 24px 20px}
.rs-review__expand>summary{list-style:none;cursor:pointer;line-height:1.75;overflow-wrap:anywhere}
.rs-review__expand>summary::-webkit-details-marker{display:none}
.rs-review__expand-more,.rs-review__expand-less{display:block;width:max-content;margin-top:12px;color:var(--rs-link,#a5caff);font-weight:650;font-size:.9rem}
.rs-review__expand-less,.rs-review__expand[open] .rs-review__preview-text,.rs-review__expand[open] .rs-review__expand-more{display:none}
.rs-review__expand[open] .rs-review__expand-less{display:block;margin:0 0 10px}
.rs-review__expand .rs-review__content{padding:0}
.rs-review__expand>summary:focus-visible,.rs-review__vote button:focus-visible{outline:2px solid var(--rs-accent,#75a6e2);outline-offset:3px}
.rs-review__vote-actions{display:flex;align-items:center;gap:8px}
.rs-review__vote-inactive{border:1px solid var(--rs-border-default,#ffffff30);border-radius:8px;padding:7px 12px;opacity:.65}
.rs-review__vote-note{color:var(--rs-text-secondary,#aab2bc);font-size:.78rem}
.rs-review__vote button:hover{background:var(--rs-surface-2,#273442)}
@media(max-width:680px){.rs-review__expand{padding:12px 17px 18px}.rs-review__vote{align-items:flex-start}.rs-review__vote-question{flex-basis:100%}}
/* v1.4.0 positive-only AJAX feedback */
.rs-review__likes{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--rs-border-default,#ffffff20);padding:14px 24px;font-size:.87rem}
.rs-review__like-button{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 12px;border:1px solid var(--rs-border-default,#ffffff30);border-radius:9px;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
.rs-review__like-button svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.rs-review__like-button[aria-pressed=true]{color:var(--rs-accent,#e66a88);border-color:currentColor;background:var(--rs-surface-2,#273442)}
.rs-review__like-button[aria-pressed=true] svg{fill:currentColor;stroke:currentColor}
.rs-review__like-button:hover{background:var(--rs-surface-2,#273442)}
.rs-review__like-button:focus-visible{outline:2px solid var(--rs-accent,#75a6e2);outline-offset:3px}
.rs-review__like-button:disabled{opacity:.6;cursor:wait}
.rs-review__like-count{color:var(--rs-text-secondary,#aab2bc)}
.rs-review__like-error{color:var(--rs-danger,#e78a8a);font-size:.82rem}
@media(max-width:680px){.rs-review__likes{padding:12px 17px}}

/* v1.4.1: book-page-style long review disclosure. No summary or reordered content. */
.rs-review__disclosure{padding:15px 24px 22px}
.rs-review__excerpt{line-height:1.75;font-size:1rem;white-space:pre-line;overflow-wrap:break-word}
.rs-review__more-button{display:inline-flex;align-items:center;gap:5px;margin-top:12px;padding:0;border:0;background:none;color:var(--rs-link,#a5caff);font:inherit;font-size:.9rem;font-weight:650;cursor:pointer}
.rs-review__more-button:hover{text-decoration:underline}
.rs-review__more-button:focus-visible{outline:2px solid var(--rs-accent,#75a6e2);outline-offset:4px}
.rs-review__full .rs-review__content{padding:0}
.rs-review__full[hidden],.rs-review__excerpt[hidden]{display:none!important}
@media(max-width:680px){.rs-review__disclosure{padding:14px 17px 19px}}

/* v1.4.2: one-way, in-place expansion. Review DOM is never replaced. */
.rs-review__clipped{max-height:17.2em;overflow:hidden;position:relative}
.rs-review__clipped--open{max-height:none;overflow:visible}
.rs-review__clipped .rs-review__content{padding:0}
.rs-review__clipped:not(.rs-review__clipped--open)::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2.5em;pointer-events:none;background:linear-gradient(transparent,var(--rs-surface-1,#181d23))}
.rs-review__disclosure .rs-review__more-button{margin-top:12px}

/* Temporary action confirmation, non-layout-shifting; isolated from card. */

/* v1.4.6: compact hero; pagination visuals exclusively owned by shared component. */
.rs-reviews-page__hero{padding:clamp(20px,2.5vw,32px)}
.rs-reviews-page__hero h1{font-size:clamp(2rem,3.5vw,3.25rem);margin:8px 0 8px}
@media(max-width:680px){.rs-reviews-page__hero{padding:20px}.rs-reviews-page__hero h1{font-size:clamp(1.9rem,7vw,2.5rem)}}

/* v1.4.7: shared Design System pagination contract, scoped against legacy site CSS.
   These values mirror templates/risingshadow/css/components/pagination.css (2026-10-20).
   Specificity prevents generic nav/a/span styles from flattening the controls. */
.rs-reviews-page nav.rs-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:var(--rs-space-2,8px);margin-block:22px 28px}
.rs-reviews-page nav.rs-pagination .rs-pagination__item{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;width:auto;height:auto;padding:.35rem .55rem;border:1px solid var(--rs-border-default,#ffffff30);border-radius:var(--rs-radius-md,8px);color:var(--rs-text-secondary,#b6c1cf);background:var(--rs-surface-1,#181d23);text-decoration:none;font:inherit;line-height:1.2;box-shadow:none}
.rs-reviews-page nav.rs-pagination a.rs-pagination__item:hover{color:var(--rs-text-primary,#fff);background:var(--rs-surface-2,#242b33);border-color:var(--rs-border-strong,#ffffff60);text-decoration:none}
.rs-reviews-page nav.rs-pagination .rs-pagination__item[aria-current="page"]{color:var(--rs-text-primary,#fff);background:#183047;border-color:#4d7da5}
.rs-reviews-page nav.rs-pagination .rs-pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 .15rem;background:transparent;border:0}
.rs-reviews-page nav.rs-pagination .rs-pagination__item:focus-visible{outline:2px solid var(--rs-border-focus,#6b9acb);outline-offset:2px}
@media(pointer:coarse){.rs-reviews-page nav.rs-pagination .rs-pagination__item{min-width:var(--rs-touch-target,44px);min-height:var(--rs-touch-target,44px)}}

/* v1.4.8: inline spoilers are concealed independently of book-page assets. */
.rs-reviews-page .bookshelf-inline-spoiler{display:inline;max-width:100%;border:1px solid var(--rs-border-default,#ffffff30);border-radius:5px;background:var(--rs-surface-2,#303943);color:var(--rs-text-primary,inherit);padding:.08em .38em;cursor:pointer;font:inherit;line-height:inherit;text-align:left;vertical-align:baseline;overflow-wrap:anywhere}
.rs-reviews-page .bookshelf-inline-spoiler .bookshelf-inline-spoiler-content{display:none}
.rs-reviews-page .bookshelf-inline-spoiler[aria-expanded="true"] .bookshelf-inline-spoiler-label{display:none}
.rs-reviews-page .bookshelf-inline-spoiler[aria-expanded="true"] .bookshelf-inline-spoiler-content{display:inline}
.rs-reviews-page .bookshelf-inline-spoiler:focus-visible{outline:2px solid var(--rs-border-focus,#6b9acb);outline-offset:2px}
/* Keep pagination aligned with the review content, without changing button styles. */
.rs-reviews-page nav.rs-pagination{justify-content:center}

/* Book Readers tab: compact native book-section integration, no Reviews landing hero. */
.rs-book-page .rs-book-reader-reviews { display:grid; gap:14px; margin-top:20px; }
.rs-book-page .rs-book-reader-reviews .rs-review { margin:0; min-width:0; }
.rs-book-page .rs-book-reader-reviews .rs-review--book .rs-review__header { padding:15px 20px 0; background:transparent; }
.rs-book-page .rs-book-reader-reviews .rs-review--book .rs-review__byline { padding:0 20px 2px; }
.rs-book-page .rs-book-reader-reviews .rs-review--book .rs-review__content { padding:15px 20px 20px; }
.rs-book-page .rs-book-reader-reviews .rs-review--book .rs-review__rating { order:2; }
@media(max-width:680px){.rs-book-page .rs-book-reader-reviews .rs-review--book .rs-review__header{padding:14px 16px 0}.rs-book-page .rs-book-reader-reviews .rs-review--book .rs-review__byline{padding:0 16px 2px}.rs-book-page .rs-book-reader-reviews .rs-review--book .rs-review__content{padding:12px 16px 16px}}
