/* Library Genre Doors + Cumulative Batch 3, 2026-08-06 */
.library-hall-page,.library-room-page{--library-gold:#d8b66d;--library-cream:#f6ead2;--library-ink:#100706;--library-panel:rgba(23,11,10,.86)}
.library-hall-hero .hero-panel,.library-room-hero .hero-panel{max-width:1050px}
.library-door-section{padding-top:24px}
.library-section-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:34px;align-items:end;margin-bottom:28px}
.library-section-heading h2{margin:.3rem 0 0;font-size:clamp(32px,5vw,55px)}
.genre-door-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.genre-door{min-height:410px;position:relative;display:flex;align-items:flex-end;overflow:hidden;border:1px solid rgba(216,182,109,.34);border-radius:30px;background:linear-gradient(155deg,rgba(44,21,17,.95),rgba(8,4,4,.98));box-shadow:0 26px 70px rgba(0,0,0,.42);text-decoration:none;color:var(--library-cream);isolation:isolate;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.genre-door:before{content:"";position:absolute;inset:12px;border:1px solid rgba(216,182,109,.16);border-radius:22px;pointer-events:none;z-index:3}
.genre-door:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 7%,rgba(8,4,4,.12) 40%,rgba(8,4,4,.96) 77%);z-index:1;pointer-events:none}
.genre-door:hover,.genre-door:focus-visible{transform:translateY(-6px);border-color:rgba(240,211,143,.72);box-shadow:0 34px 90px rgba(0,0,0,.56),0 0 0 1px rgba(240,211,143,.11) inset;outline:none}
.genre-door-covers{position:absolute;inset:0;display:flex;justify-content:center;align-items:flex-start;padding-top:20px;z-index:0;opacity:.78;filter:saturate(.88) contrast(1.03)}
.genre-door-covers img{width:43%;max-height:290px;object-fit:cover;aspect-ratio:5/8;border-radius:8px;box-shadow:0 18px 42px rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.12);position:absolute;top:22px}
.genre-door-covers img:nth-child(1){transform:translateX(-31%) rotate(-7deg);z-index:1}
.genre-door-covers img:nth-child(2){transform:translateY(-4px);z-index:3}
.genre-door-covers img:nth-child(3){transform:translateX(31%) rotate(7deg);z-index:2}
.genre-door-covers img:only-child{width:47%;transform:none}
.genre-door-covers img:first-child:nth-last-child(2){transform:translateX(-18%) rotate(-5deg)}
.genre-door-covers img:nth-child(2):last-child{transform:translateX(18%) rotate(5deg)}
.genre-door-copy{position:relative;z-index:2;padding:30px 28px 28px;display:flex;flex-direction:column;width:100%}
.genre-door-count{align-self:flex-start;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#1c0d09;background:var(--library-gold);padding:7px 10px;border-radius:999px;font-weight:800;margin-bottom:12px}
.genre-door-eyebrow{color:rgba(246,234,210,.64);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.genre-door strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,3.2vw,40px);line-height:1.03;margin:7px 0 9px;color:#fff9e9}
.genre-door-copy>span:not(.genre-door-count):not(.genre-door-eyebrow){font-size:14px;line-height:1.5;color:rgba(246,234,210,.78)}
.genre-door em{font-style:normal;color:var(--library-gold);font-weight:800;margin-top:15px}
.genre-door--horror,.genre-door--kids{background:linear-gradient(155deg,rgba(33,10,10,.98),rgba(5,3,4,.99))}
.genre-door--becoming{background:linear-gradient(155deg,rgba(20,24,40,.96),rgba(6,6,13,.99))}
.genre-door--faith{background:linear-gradient(155deg,rgba(37,27,14,.96),rgba(9,6,4,.99))}
.genre-door--activity{background:linear-gradient(155deg,rgba(22,31,30,.96),rgba(5,8,8,.99))}
.library-finder-panel{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:35px;align-items:center}
.library-finder-control{display:grid;gap:10px}.library-finder-control label{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:rgba(246,234,210,.68)}
.library-finder-control select{width:100%;min-height:52px;border-radius:14px;border:1px solid rgba(216,182,109,.34);background:#120908;color:#f6ead2;padding:0 14px;font:inherit}
.library-finder-control .btn{justify-self:start}
.library-integrity-note{max-width:900px;margin:0 auto 75px;padding:0 22px;text-align:center;color:rgba(246,234,210,.58);font-size:13px;line-height:1.6}
.library-room-hero .breadcrumb a{color:inherit}.library-room-stat{display:flex;gap:10px;align-items:baseline;margin:22px 0 4px;color:rgba(246,234,210,.72)}
.library-room-stat strong{font-family:Georgia,'Times New Roman',serif;color:var(--library-gold);font-size:38px}.library-room-stat span{font-size:13px;text-transform:uppercase;letter-spacing:.13em}
.room-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.library-book{display:grid;grid-template-columns:165px minmax(0,1fr);gap:22px;align-items:start;padding:22px;border:1px solid rgba(216,182,109,.23);border-radius:26px;background:linear-gradient(145deg,rgba(35,17,15,.88),rgba(14,7,7,.86));box-shadow:0 22px 58px rgba(0,0,0,.34);scroll-margin-top:100px;min-height:390px}
.library-book:target{border-color:rgba(240,211,143,.92);box-shadow:0 28px 78px rgba(0,0,0,.52),0 0 0 3px rgba(216,182,109,.14)}
.library-book-cover{margin:0}.library-book-cover img{display:block;width:100%;height:auto;aspect-ratio:5/8;object-fit:cover;border-radius:10px;box-shadow:0 16px 38px rgba(0,0,0,.54);background:#090505}
.library-book-copy{min-width:0}.library-book-badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.library-book-badges span{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.12em;border:1px solid rgba(216,182,109,.25);border-radius:999px;padding:7px 9px;color:rgba(246,234,210,.72)}
.library-book h2{font-size:clamp(24px,2.3vw,34px);line-height:1.04;margin:0;color:#fff9e9}.library-book-subtitle{margin:7px 0 12px;color:var(--library-gold);font-size:13px;line-height:1.4}.library-book .copy{font-size:14px;line-height:1.58;margin:0;color:rgba(246,234,210,.76)}
.library-book-details{margin-top:14px;border-top:1px solid rgba(216,182,109,.16);padding-top:10px}.library-book-details summary{cursor:pointer;color:var(--library-gold);font-weight:800;font-size:13px}.library-book-details div{padding-top:8px}.library-book-details p{font-size:13px;line-height:1.58;color:rgba(246,234,210,.72);margin:0 0 10px}
.library-book-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.library-book-actions .btn{padding:11px 14px;font-size:12px}
.library-room-nav{margin-top:32px;padding:24px;border-radius:24px;border:1px solid rgba(216,182,109,.20);background:rgba(19,9,8,.72)}.library-room-nav>strong{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:rgba(246,234,210,.58);margin-bottom:12px}.library-room-nav>div{display:flex;gap:9px;flex-wrap:wrap}.library-room-nav a{color:var(--library-cream);text-decoration:none;border:1px solid rgba(216,182,109,.24);border-radius:999px;padding:9px 12px;font-size:12px}.library-room-nav a:hover,.library-room-nav a:focus-visible{border-color:rgba(240,211,143,.72);color:#fff}
@media(max-width:1080px){.genre-door-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-book-grid{grid-template-columns:1fr}.library-book{min-height:0}}
@media(max-width:760px){.library-section-heading,.library-finder-panel{grid-template-columns:1fr}.genre-door{min-height:380px}.library-finder-control .btn{width:100%}.library-room-hero .actions{display:grid}.library-room-hero .btn{width:100%}.library-book{grid-template-columns:130px minmax(0,1fr);padding:17px;gap:16px}}
@media(max-width:560px){.genre-door-grid{grid-template-columns:1fr}.genre-door{min-height:400px}.genre-door-covers img{max-height:270px}.library-book{grid-template-columns:1fr}.library-book-cover img{max-width:190px;margin:0 auto}.library-book-copy{text-align:left}.library-book-actions{display:grid}.library-book-actions .btn{width:100%}.library-room-nav>div{display:grid}.library-room-nav a{text-align:center}}
@media(prefers-reduced-motion:reduce){.genre-door{transition:none}.genre-door:hover,.genre-door:focus-visible{transform:none}}
