/* Seven recommendations using the same book-cover language as the shelves. */
.book-recommendations {
  --recommendation-paper:#fbf7ed;
  --recommendation-ink:#26312e;
  --recommendation-line:#e5ddca;
  max-width:1120px;
  margin:14px auto 18px;
  padding:0 16px;
  color:var(--recommendation-ink);
}
.book-recommendations__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 7px 48px; }
.book-recommendations__heading-copy { min-width:0; }
.book-recommendations__heading h2 { margin:0; font-size:clamp(1.05rem,2vw,1.3rem); color:#f4ecd8; }
.book-recommendations__heading p { margin:2px 0 0; color:#c8c0ae; font-size:.8rem; }
.book-recommendations__controls { display:flex; align-items:center; gap:7px; flex:none; }
.book-recommendations__thumbnails { display:flex; align-items:center; gap:4px; }
.book-recommendations__thumbnail { position:relative; display:block; flex:0 0 34px; box-sizing:border-box; width:34px; height:47px; padding:0; overflow:hidden; border:1px solid rgba(244,237,220,.34); border-radius:5px; background:#28312f; color:inherit; text-decoration:none; cursor:pointer; }
.book-recommendations__thumbnail[aria-current="true"] { border:2px solid #d49c47; box-shadow:0 0 0 1px #f4ecd8; }
.book-recommendations__mini-book {
  --cover:#263b37; --spine:#152924; --foil:#dec891;
  position:relative; display:flex; flex:none; flex-direction:column; box-sizing:border-box;
  width:132px; height:174px; padding:8px 12px 8px 18px; overflow:visible;
  border:1px solid #81704c; border-radius:2px 4px 4px 2px;
  background:linear-gradient(90deg,var(--spine),var(--cover) 9px,var(--spine) 11px,var(--cover) 15px);
  color:#f0e6cd; box-shadow:1px 2px 0 #897d65,3px 3px 0 #171718,5px 6px 7px #0005;
  isolation:isolate; transition:none!important; pointer-events:none;
}
.book-recommendations__mini-book::before { content:""; position:absolute; inset:7px 7px 8px 13px; border:1px solid #c0a86a44; pointer-events:none; }
.book-recommendations__mini-book::after { content:""; position:absolute; top:4px; bottom:2px; right:-5px; width:4px; background:repeating-linear-gradient(90deg,#b9af96 0 1px,#e2dbc7 1px 2px); border:1px solid #87785d; border-radius:0 2px 2px 0; z-index:-1; }
.book-recommendations__mini-book.tone-world { --cover:#253647; --spine:#122232; }
.book-recommendations__mini-book.tone-japan { --cover:#492d35; --spine:#301b22; }
.book-recommendations__mini-book.tone-life { --cover:#49343e; --spine:#301f28; }
.book-recommendations__mini-book.tone-games { --cover:#453449; --spine:#2c1e31; }
.book-recommendations__mini-book.tone-english { --cover:#293d50; --spine:#182b3c; }
.book-recommendations__mini-book.book-taachan { --cover:#344236; --spine:#1e2d20; }
.book-recommendations__mini-book.book-summary-cover:not(.book-taachan) { --cover:#207cab; --spine:#17618d; --foil:#fff; color:#fff; border-color:#87cbe9; }
.book-recommendations__mini-book--thumb { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(.24); transform-origin:center; }
.book-recommendations__mini-book--thumb .book-imprint,.book-recommendations__mini-book--thumb .book-format,.book-recommendations__mini-book--thumb .book-subtitle,.book-recommendations__mini-book--thumb .book-author,.book-recommendations__mini-book--thumb .book-open { display:none; }
.book-recommendations__mini-book--thumb .book-kind { margin-top:3px; font-size:17px; line-height:1.1; letter-spacing:.04em; }
.book-recommendations__mini-book--thumb .book-title { margin-top:4px; font-size:26px; line-height:1.12; letter-spacing:0; }
.book-recommendations__mini-book--thumb.book-atlas .book-title { font-size:24px; }
.book-recommendations__mini-book--thumb .book-count { margin-top:auto; }
.book-recommendations__mini-book--thumb .book-count strong { font-size:36px; }
.book-recommendations__mini-book--thumb .book-count>span { font-size:16px; }
.book-recommendations__mini-book--thumb .book-edition { margin-top:2px; }
.book-recommendations__mini-book--thumb .book-edition>span { display:none; }
.book-recommendations__mini-book--thumb .book-edition strong { font-size:32px; }
.book-recommendations__toggle { flex:none; width:29px; height:27px; padding:0; border:1px solid rgba(244,237,220,.35); border-radius:7px; background:#28312f; color:#fffaf0; font-family:inherit; font-size:.78rem; font-weight:700; line-height:1; cursor:pointer; }
.book-recommendations__toggle:hover,.book-recommendations__arrow:hover { background:#3a4742; }
.book-recommendations__stage { position:relative; }
.book-recommendations__viewport { margin:0 44px; overflow:hidden; border-radius:13px; touch-action:pan-y; }
.book-recommendations__track { display:flex; gap:12px; width:100%; box-sizing:border-box; transition:transform .42s cubic-bezier(.22,.7,.2,1); }
.book-recommendation {
  position:relative; z-index:1; box-sizing:border-box; flex:0 0 calc((100% - 24px)/3); min-width:0; min-height:158px; pointer-events:auto; cursor:pointer;
  display:grid; grid-template-columns:96px minmax(0,1fr); gap:10px; align-items:center;
  padding:10px 11px; border:1px solid var(--recommendation-line); border-radius:13px;
  background:linear-gradient(135deg,#fffdf7 0%,var(--recommendation-paper) 100%);
  box-shadow:0 5px 15px rgba(15,22,19,.14); color:inherit; text-decoration:none;
}
.book-recommendation:hover { border-color:#c8b894; box-shadow:0 8px 20px rgba(15,22,19,.2); }
.book-recommendation:focus-visible,.book-recommendations__thumbnail:focus-visible,.book-recommendations button:focus-visible { outline:3px solid #d49c47; outline-offset:2px; }
.book-recommendations__cover-frame { position:relative; display:block; justify-self:start; width:96px; height:126px; overflow:visible; pointer-events:none; }
.book-recommendations__mini-book--cover { position:absolute; top:0; left:0; transform:scale(.66); transform-origin:top left; pointer-events:none; }
.book-recommendation__copy { display:block; min-width:0; }
.book-recommendation__category { display:block; margin:0 0 3px; color:#806a45; font-size:.65rem; font-weight:750; letter-spacing:.02em; }
.book-recommendation__title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:0 0 4px; font-size:.96rem; line-height:1.3; color:#27332f; }
.book-recommendation__description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:0; font-size:.74rem; line-height:1.43; color:#46524d; }
.book-recommendation__link { display:inline-flex; align-items:center; gap:5px; margin-top:5px; color:#73542d; font-size:.71rem; font-weight:750; }
.book-recommendations__arrow { position:absolute; z-index:2; top:50%; transform:translateY(-50%); width:34px; height:38px; padding:0; border:1px solid rgba(244,237,220,.35); border-radius:10px; background:#28312f; color:#fffaf0; font-family:inherit; font-size:1.55rem; font-weight:400; line-height:1; cursor:pointer; }
.book-recommendations__arrow--previous { left:2px; }
.book-recommendations__arrow--next { right:2px; }
@media(max-width:1000px) {
  .book-recommendation { flex-basis:calc((100% - 12px)/2); }
}
@media(max-width:640px) {
  .book-recommendations { margin:11px auto 15px; padding:0 8px; }
  .book-recommendations__heading { margin-left:38px; gap:6px; }
  .book-recommendations__heading p { font-size:.73rem; }
  .book-recommendations__controls { gap:5px; }
  .book-recommendations__thumbnail { flex-basis:34px; width:34px; height:42px; }
  .book-recommendations__mini-book--thumb { transform:translate(-50%,-50%) scale(.215); }
  .book-recommendations__thumbnails { gap:2px; }
  .book-recommendations__toggle { width:27px; height:26px; }
  .book-recommendations__viewport { margin:0 34px; }
  .book-recommendation { flex-basis:100%; min-height:154px; grid-template-columns:96px minmax(0,1fr); gap:10px; padding:9px 11px; }
  .book-recommendations__cover-frame { width:96px; height:120px; }
  .book-recommendations__mini-book--cover { transform:scale(.68); }
  .book-recommendation__title { font-size:.96rem; }
  .book-recommendation__description { font-size:.74rem; }
}
@media(max-width:380px) {
  .book-recommendations__heading { margin-left:34px; }
  .book-recommendations__heading h2 { font-size:1rem; }
  .book-recommendations__heading p { font-size:.68rem; }
  .book-recommendations__thumbnail { flex-basis:32px; width:32px; height:40px; }
  .book-recommendations__mini-book--thumb { transform:translate(-50%,-50%) scale(.205); }
  .book-recommendations__controls { gap:3px; }
  .book-recommendations__viewport { margin:0 30px; }
  .book-recommendation { grid-template-columns:90px minmax(0,1fr); gap:8px; padding:8px 9px; }
  .book-recommendations__cover-frame { width:90px; height:112px; }
  .book-recommendations__mini-book--cover { transform:scale(.62); }
  .book-recommendation__title { font-size:.9rem; }
  .book-recommendation__description { font-size:.71rem; line-height:1.4; }
}
@media(prefers-reduced-motion:reduce) {
  .book-recommendations__track { transition:none; }
  .book-recommendation,.book-recommendations button { scroll-behavior:auto; }
}
/* Seven choices: on phones, use the caption's vertical slot for a single row. */
@media(max-width:640px) {
  .book-recommendations__heading { display:grid; grid-template-columns:minmax(0,1fr); gap:2px; margin-left:0; }
  .book-recommendations__heading p { display:none; }
  .book-recommendations__controls { width:100%; min-width:0; gap:4px; }
  .book-recommendations__thumbnails { min-width:0; flex:1 1 auto; overflow-x:auto; overflow-y:hidden; overscroll-behavior-inline:contain; scrollbar-width:none; }
  .book-recommendations__thumbnails::-webkit-scrollbar { display:none; }
  .book-recommendations__thumbnail { flex-basis:34px; width:34px; height:42px; }
}
@media(max-width:380px) {
  .book-recommendations__controls { gap:3px; }
  .book-recommendations__thumbnail { flex-basis:32px; width:32px; height:40px; }
}
/* Keep recommendations prominent on desktop; on phones let readers reach the bookshelves immediately. */
@media(max-width:640px) {
  .book-recommendations { display:none; }
}
