/* Collectanea V4.0.8 · front-facing books, tighter filled shelves, salon museum hanging */

/* Library bays size themselves to the actual packed rows instead of leaving a fixed empty right half. */
#libraryRoom .ct408-bookcase-run{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:14px!important;
  width:100%!important;
  overflow:visible!important;
  padding:12px 10px 42px!important;
}
#libraryRoom .ct408-bookcase-bay{
  flex:0 0 var(--ct408-bay-w)!important;
  width:var(--ct408-bay-w)!important;
  min-width:var(--ct408-bay-w)!important;
  max-width:var(--ct408-bay-w)!important;
  border-left-width:1px!important;
  border-radius:3px!important;
}
#libraryRoom .ct408-shelf-back{
  justify-content:flex-start!important;
  gap:0!important;
  padding-left:3px!important;
  padding-right:3px!important;
}
#libraryRoom .ct408-book-unit{margin:0!important;padding:0!important;flex:0 0 auto!important;align-self:flex-end!important}
#libraryRoom .ct408-book-unit.orientation-spine{width:var(--unit-w)!important}
#libraryRoom .ct408-book-unit.orientation-front{width:var(--unit-w)!important}

/* Front-facing means standing upright on the shelf, never lying flat. */
#libraryRoom .ct408-front-book{
  appearance:none;
  position:relative;
  display:block;
  flex:none;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(28,17,10,.78);
  border-radius:2px 1px 1px 2px;
  background:linear-gradient(135deg,#5b3b27,#382317);
  box-shadow:
    inset 1px 0 rgba(255,255,255,.09),
    inset -3px 0 rgba(0,0,0,.24),
    0 2px 1px rgba(0,0,0,.38),
    4px 4px 7px rgba(0,0,0,.22);
  cursor:pointer;
  overflow:visible;
  transform:none!important;
}
#libraryRoom .ct408-front-book.material-0{background:#523323}#libraryRoom .ct408-front-book.material-1{background:#68432c}#libraryRoom .ct408-front-book.material-2{background:#354235}#libraryRoom .ct408-front-book.material-3{background:#4a2b29}#libraryRoom .ct408-front-book.material-4{background:#48433a}#libraryRoom .ct408-front-book.material-5{background:#6a5540}#libraryRoom .ct408-front-book.material-6{background:#252421}#libraryRoom .ct408-front-book.material-7{background:#8a7a60}
#libraryRoom .ct408-front-cover{
  position:absolute;
  inset:2px var(--front-edge) 2px 2px;
  background:
    linear-gradient(135deg,rgba(232,204,164,.08),transparent 34%,rgba(0,0,0,.11)),
    linear-gradient(90deg,rgba(255,255,255,.035),transparent 18%,rgba(0,0,0,.10)),
    #533722;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  border:1px solid rgba(226,190,142,.10);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.10);
  pointer-events:none;
}
#libraryRoom .ct408-front-edge{
  position:absolute;
  top:2px;bottom:2px;right:1px;
  width:var(--front-edge);
  background:linear-gradient(90deg,#d0b98f,#9e835d 55%,#57402b);
  box-shadow:inset 1px 0 rgba(255,255,255,.18),inset -1px 0 rgba(0,0,0,.25);
  pointer-events:none;
}
#libraryRoom .ct408-front-book.has-image .ct408-front-cover{background-color:#3b291c!important}
#libraryRoom .ct408-front-book:after{content:"";position:absolute;left:2px;right:2px;bottom:-3px;height:3px;background:rgba(8,4,2,.76);filter:blur(.25px);pointer-events:none}
#libraryRoom .ct408-front-book .spine-hover-title{bottom:calc(100% + 9px)!important}
#libraryRoom .ct408-front-book:hover .spine-hover-title,#libraryRoom .ct408-front-book:focus-visible .spine-hover-title{opacity:1!important;visibility:visible!important;transform:translate(-50%,0)!important}
#libraryRoom .ct408-front-book:hover,#libraryRoom .ct408-front-book:focus-visible{z-index:12;filter:brightness(1.04);outline:1px solid rgba(235,219,187,.42);outline-offset:2px}
#libraryRoom .ct408-orient-toggle.has-front-image{border-color:rgba(223,186,133,.50)!important}

/* Legacy flat-book presentation is suppressed in V4.0.8. */
#libraryRoom .orientation-horizontal,#libraryRoom .ct406-horizontal-book{transform:none!important}

/* Museum: dense salon-style packing. JS places every item independently without overlap. */
#museumRoom .ct408-salon-wall.ct408-packed{
  display:block!important;
  position:relative!important;
  padding:8px!important;
  margin:0!important;
  gap:0!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
}
#museumRoom .ct408-salon-wall.ct408-packed > .ct405-museum-unit{
  position:absolute!important;
  margin:0!important;
  padding-top:18px!important;
}
#museumRoom .ct408-salon-wall.ct408-packed .ct403-object-light{opacity:.62!important}

@media(max-width:760px){
  #libraryRoom .ct408-bookcase-run{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:14px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;padding:10px 12px 34px!important}
  #libraryRoom .ct408-bookcase-bay{flex:0 0 88vw!important;width:88vw!important;min-width:88vw!important;max-width:88vw!important;scroll-snap-align:center!important}
  #libraryRoom .ct408-orient-toggle{opacity:.78!important;transform:none!important}
  #museumRoom .ct408-salon-wall{display:flex!important;position:relative!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;overflow-x:auto!important;padding:12px 18px 22px!important;scroll-snap-type:x proximity!important;height:auto!important;min-width:0!important}
  #museumRoom .ct408-salon-wall > .ct405-museum-unit{position:relative!important;left:auto!important;top:auto!important;flex:0 0 auto!important;scroll-snap-align:center!important;padding-top:14px!important}
}
