/* =====================================================================
   BooKKav — Catalog: library list + book detail (refined luxury)
   ===================================================================== */

/* ---- hero overlay so emerald shows under the glass header ---- */
.cat-hero{margin-top:-74px; padding-top:clamp(116px,12vw,162px);}
@media (max-width:620px){ .cat-hero{margin-top:-64px; padding-top:104px;} }
.cat-hero__grid{display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(2rem,5vw,4rem); align-items:center;}
.cat-hero__copy h1{color:#FBF6EA; margin:0 0 .7rem;}
.cat-hero__lead{color:rgba(255,255,255,.82); font-size:1.05rem; line-height:2; max-width:48ch; margin:0;}
.cat-hero__actions{display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.8rem;}

.cat-hero__panel{position:relative; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.06); backdrop-filter:blur(10px); border-radius:var(--radius-lg); padding:2rem; text-align:center; box-shadow:0 30px 60px -30px rgba(0,0,0,.5);}
.cat-hero__panel::before{content:""; position:absolute; inset:12px; border:1px solid rgba(168,129,45,.32); border-radius:calc(var(--radius-lg) - 8px); pointer-events:none;}
.cat-hero__lamp{position:absolute; top:-10px; inset-inline-end:24px; width:46px; height:46px; border-radius:50%; background:radial-gradient(circle at 50% 40%,rgba(231,206,148,.7),rgba(231,206,148,.05) 70%); filter:blur(2px);}
.cat-hero__mini{display:flex; align-items:flex-end; justify-content:center; gap:7px; height:96px; margin-bottom:1.2rem; padding:0 .4rem .5rem; border-bottom:2px solid rgba(168,129,45,.4);}
.cat-hero__mini a,.cat-hero__mini i{display:block; width:20px; border-radius:3px 3px 0 0; background:linear-gradient(180deg,color-mix(in srgb,var(--mini,#1d6e54) 80%,#fff),var(--mini,#1d6e54)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);}
.cat-hero__mini a:nth-child(1),.cat-hero__mini i:nth-child(1){height:76%;}
.cat-hero__mini a:nth-child(2),.cat-hero__mini i:nth-child(2){height:94%;}
.cat-hero__mini a:nth-child(3),.cat-hero__mini i:nth-child(3){height:66%;}
.cat-hero__mini a:nth-child(4),.cat-hero__mini i:nth-child(4){height:88%;}
.cat-hero__panel strong{display:block; font-family:var(--font-main); font-weight:700; font-size:2rem; color:#FBF6EA;}
.cat-hero__panel p{margin:.2rem 0 0; color:rgba(255,255,255,.7); font-size:.86rem;}

/* ---- section heading rows ---- */
.cat-head{display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; margin-bottom:clamp(1.3rem,2.4vw,1.9rem);}
.cat-head h2{margin:.6rem 0 0;}
.cat-head__note{color:var(--bk-muted); font-size:.88rem; max-width:32ch;}
.cat-count{color:var(--bk-muted); font-size:.9rem; white-space:nowrap;}
.section-heading{margin-bottom:1.8rem;}
.section-heading--row{display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem;}

/* ---- category shelves ---- */
.cat-cats__grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:1.1rem;}
.cat-cat{position:relative; display:flex; flex-direction:column; gap:.45rem; padding:1.3rem; border-radius:var(--radius-md); background:var(--bk-card); border:1px solid var(--bk-border); box-shadow:var(--shadow-soft); overflow:hidden; transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);}
.cat-cat::before{content:""; position:absolute; inset-inline-start:0; top:0; bottom:0; width:4px; background:var(--accent,var(--bk-brand));}
.cat-cat:hover{transform:translateY(-5px); box-shadow:var(--shadow); border-color:color-mix(in srgb,var(--bk-gold) 40%,transparent);}
.cat-cat.is-active{border-color:var(--bk-brand); box-shadow:0 0 0 1px var(--bk-brand) inset,var(--shadow-soft);}
.cat-cat__icon{font-size:1.5rem; line-height:1;}
.cat-cat strong{color:var(--bk-heading); font-size:1.02rem; font-weight:600;}
.cat-cat small{color:var(--bk-muted); font-size:.84rem; line-height:1.8;}
.cat-cat b{margin-top:.2rem; color:var(--bk-gold); font-weight:600; font-size:.82rem;}

/* ---- filter bar ---- */
.cat-filter-shell{padding:clamp(20px,3vw,32px) 0;}
.cat-filter{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem 1.1rem; padding:1.4rem; background:var(--bk-card); border:1px solid var(--bk-border); border-radius:var(--radius-lg); box-shadow:var(--shadow-soft);}
.cat-filter__field{display:flex; flex-direction:column; gap:.35rem;}
.cat-filter__field--search{grid-column:span 2;}
.cat-filter label{font-size:.8rem; color:var(--bk-muted);}
.cat-filter input,.cat-filter select{width:100%; padding:.6rem .8rem; border:1px solid var(--bk-border); border-radius:var(--radius-sm); background:var(--bk-bg); color:var(--bk-heading); font-family:var(--font-main); transition:border-color .2s var(--ease),box-shadow .2s var(--ease);}
.cat-filter input:focus,.cat-filter select:focus{outline:none; border-color:var(--bk-gold); box-shadow:0 0 0 3px rgba(168,129,45,.14);}
.cat-filter__btns{grid-column:1 / -1; display:flex; gap:.7rem; justify-content:flex-end;}

/* ---- book grids / rails ---- */
.cat-row{padding:clamp(36px,4.5vw,62px) 0;}
.book-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem; align-items:stretch;}
@media (max-width:1100px){ .book-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:780px){ .book-grid{grid-template-columns:repeat(2,1fr); gap:1rem;} }
@media (max-width:480px){ .book-grid{grid-template-columns:1fr;} }
.book-rail{display:flex; align-items:stretch; gap:1.2rem; overflow-x:auto; padding-bottom:1rem; scroll-snap-type:x mandatory;}
.book-rail .book-card{min-width:228px; max-width:248px; scroll-snap-align:start;}

/* ---- vertical luxury book card (compact) ---- */
.book-card{display:flex; flex-direction:column; background:var(--bk-card); border:1px solid var(--bk-border); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-soft); transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);}
.book-card:hover{transform:translateY(-6px); box-shadow:var(--shadow); border-color:color-mix(in srgb,var(--bk-gold) 40%,transparent);}
.book-card__cover-link{display:block; padding:.9rem .9rem 0;}
.book-card__body{display:flex; flex-direction:column; gap:.36rem; padding:.85rem .95rem 1rem; flex:1;}
.book-card__body>*{margin:0;}
.book-card__badges{display:flex; flex-wrap:wrap; gap:.3rem;}
.book-card__badges span{font-size:.62rem; padding:.14rem .45rem; border-radius:999px; background:rgba(21,97,74,.08); color:var(--bk-brand); border:1px solid rgba(21,97,74,.16);}
.book-card__body h2{font-size:1rem; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.book-card__body h2 a{color:var(--bk-heading);}
.book-card__body h2 a:hover{color:var(--bk-brand);}
.book-card__subtitle{font-size:.78rem; color:var(--bk-muted); display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;}
.book-card__authors{font-size:.82rem; color:var(--bk-body); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.book-card__authors a{color:var(--bk-brand);}
.book-card__summary{font-size:.82rem; color:var(--bk-body); line-height:1.7; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.book-card__meta{display:flex; flex-wrap:wrap; gap:.5rem; font-size:.73rem; color:var(--bk-muted); margin-top:.1rem;}
.book-card__meta span:first-child{color:var(--bk-gold);}
.book-card__footer{display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding-top:.6rem; margin-top:auto; border-top:1px solid var(--bk-border); flex-wrap:wrap;}
.book-card__price{display:flex; align-items:baseline; gap:.3rem;}
.book-card__price del{color:var(--bk-muted); font-size:.74rem;}
.book-card__price strong{font-size:1.02rem; color:var(--bk-heading); font-family:var(--font-main); font-weight:700;}
.book-card__price small{font-size:.71rem; color:var(--bk-muted);}
.book-card__actions{display:flex; gap:.3rem; align-items:center;}
.book-card__actions form{margin:0;}

/* ---- 3D flip cover (data-book-flip in catalog.js) ---- */
.bk-flip-book{position:relative; aspect-ratio:3/4; perspective:1000px; cursor:pointer; width:100%;}
.bk-flip-book__inner{position:relative; width:100%; height:100%; transform-style:preserve-3d; transition:transform .55s var(--ease); will-change:transform;}
.bk-flip-book.is-flipped .bk-flip-book__inner{transform:rotateY(180deg);}
.bk-flip-book__face{position:absolute; inset:0; backface-visibility:hidden; border-radius:4px 10px 10px 4px; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.45rem; padding:1.4rem 1.1rem 1.2rem; text-align:center;}
.bk-flip-book__front{background:linear-gradient(150deg,color-mix(in srgb,var(--cover-bg,#15614A) 86%,#fff),var(--cover-bg,#15614A)); color:var(--cover-text,#FBF6EA); font-family:var(--cover-font,var(--font-display)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 0 60px rgba(0,0,0,.28);}
.bk-flip-book__front::before{content:""; position:absolute; inset:10px; border:1px solid color-mix(in srgb,var(--cover-accent,#C2A05A) 55%,transparent); border-radius:3px 7px 7px 3px;}
.bk-flip-book__front img,.bk-flip-book__back img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.bk-flip-book__front strong{position:relative; z-index:1; font-size:1.02rem; font-weight:var(--cover-weight,600); line-height:1.5;}
.bk-flip-book__front small{position:relative; z-index:1; font-size:.76rem; opacity:.82;}
.bk-flip-book__spine{position:absolute; top:0; bottom:0; inset-inline-start:0; width:15%; max-width:26px; z-index:2; pointer-events:none;
  background:linear-gradient(to left, rgba(0,0,0,.36), rgba(0,0,0,.14) 24%, rgba(255,255,255,.13) 52%, rgba(255,255,255,0) 80%);}
.bk-flip-book__spine i{display:none;}
.bk-flip-book__stripe{position:absolute; top:0; inset-inline:0; height:5px; background:linear-gradient(90deg,var(--cover-accent,#C2A05A),transparent); z-index:1;}
.bk-flip-book__stripe--back{background:linear-gradient(90deg,var(--cover-accent,#C2A05A),transparent);}
.bk-flip-book__badge{position:absolute; top:12px; inset-inline-end:12px; z-index:2; font-style:normal; font-size:.6rem; padding:.18rem .5rem; border-radius:999px; background:color-mix(in srgb,var(--cover-accent,#C2A05A) 32%,transparent); color:var(--cover-text,#FBF6EA);}
.bk-flip-book__back{transform:rotateY(180deg); background:linear-gradient(150deg,#15614A,#0c3a2c); color:#E7F0EA;}
.bk-flip-book__back strong{position:relative; z-index:1; font-size:.95rem;}
.bk-flip-book__back p{position:relative; z-index:1; font-size:.8rem; opacity:.85; line-height:1.85;}
.bk-flip-book--detail{max-width:280px; margin-inline:auto; aspect-ratio:3/4.05;}
.bk-flip-book--card{aspect-ratio:3/3.7; border-radius:4px 10px 10px 4px;
  box-shadow:0 13px 22px -15px rgba(11,46,36,.55),0 2px 6px -3px rgba(11,46,36,.4);}

/* ---- pagination / empty ---- */
.cat-pagination{display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:2.4rem;}
.cat-pagination a{padding:.6rem 1.1rem; border:1px solid var(--bk-border); border-radius:999px; color:var(--bk-heading); background:var(--bk-card); transition:border-color .2s,color .2s;}
.cat-pagination a:hover{border-color:var(--bk-gold); color:var(--bk-gold);}
.cat-pagination span{color:var(--bk-muted); font-size:.9rem;}
.cat-empty,.empty-state{padding:2.4rem; text-align:center; color:var(--bk-muted); background:var(--bk-inset); border:1px dashed var(--bk-border); border-radius:var(--radius-lg);}

/* =====================================================================
   BOOK DETAIL
   ===================================================================== */
.book-detail-hero{position:relative; padding:clamp(40px,6vw,84px) 0; background:linear-gradient(180deg,#F3EBDB,var(--bk-bg));}
.book-detail-hero::before{content:""; position:absolute; inset-inline:0; top:0; height:1px; background:var(--hairline-gold); opacity:.4;}
.book-detail-hero__grid{display:grid; grid-template-columns:340px 1fr; gap:clamp(2rem,5vw,4rem); align-items:start;}
.book-detail-cover-wrap{position:sticky; top:96px;}
.cover-hint{margin:1rem 0 0; font-size:.78rem; color:var(--bk-muted); text-align:center; line-height:1.8;}

.breadcrumbs{display:flex; flex-wrap:wrap; gap:.5rem; font-size:.85rem; color:var(--bk-muted); margin-bottom:1rem;}
.breadcrumbs a{color:var(--bk-brand);}
.book-detail-badges{display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1rem;}
.book-detail-badges span{font-size:.7rem; padding:.22rem .6rem; border-radius:999px; background:rgba(21,97,74,.08); color:var(--bk-brand); border:1px solid rgba(21,97,74,.16);}
.book-detail-summary h1{margin:0 0 .4rem;}
.book-detail-subtitle{font-size:1.05rem; color:var(--bk-body); margin:0 0 .6rem;}
.book-detail-authors{margin:0 0 1rem; color:var(--bk-body);}
.book-detail-authors a{color:var(--bk-brand);}
.book-detail-lead{color:var(--bk-body); line-height:2; margin:0 0 1.4rem;}
.book-detail-meta-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:1.4rem;}
.book-detail-meta-grid>div{padding:1rem; background:var(--bk-card); border:1px solid var(--bk-border); border-radius:var(--radius-md); text-align:center;}
.book-detail-meta-grid span{display:block; font-size:.74rem; color:var(--bk-muted);}
.book-detail-meta-grid strong{display:block; font-size:1.15rem; color:var(--bk-heading); margin:.2rem 0;}
.book-detail-meta-grid small{font-size:.7rem; color:var(--bk-muted);}
.book-detail-meta-grid div:first-child strong{color:var(--bk-gold);}

.book-reactions{display:flex; gap:.7rem; margin-bottom:1.4rem;}
.book-reactions form{margin:0;}
.reaction-btn{padding:.55rem 1rem; border:1px solid var(--bk-border); border-radius:999px; background:var(--bk-card); color:var(--bk-heading); cursor:pointer; transition:border-color .2s,color .2s,background .2s;}
.reaction-btn b{color:var(--bk-gold);}
.reaction-btn:hover{border-color:var(--bk-gold);}
.reaction-btn.is-active{background:var(--bk-brand); color:#fff; border-color:var(--bk-brand);}
.reaction-btn.is-active b{color:#E7CE94;}

.book-detail-buybox{display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem; padding:1.4rem; background:var(--bk-card); border:1px solid var(--bk-border); border-radius:var(--radius-lg); box-shadow:var(--shadow-soft);}
.book-detail-price{display:flex; align-items:baseline; gap:.45rem;}
.book-detail-price del{color:var(--bk-muted); font-size:.95rem;}
.book-detail-price strong{font-size:1.7rem; color:var(--bk-heading); font-family:var(--font-main); font-weight:700;}
.book-detail-price span{color:var(--bk-muted); font-size:.85rem;}
.book-detail-actions{display:flex; flex-wrap:wrap; gap:.6rem; margin-inline-start:auto;}
.book-detail-actions form{margin:0;}

.book-pdf-offers{margin-top:1.4rem; border:1px solid var(--bk-border); border-radius:var(--radius-lg); overflow:hidden;}
.book-pdf-offers__heading{display:flex; align-items:center; gap:.8rem; padding:1rem 1.2rem; background:var(--bk-inset); border-bottom:1px solid var(--bk-border);}
.book-pdf-offers__heading span{font-family:var(--font-latin); font-weight:600; color:var(--bk-brand); border:1px solid rgba(21,97,74,.25); border-radius:8px; padding:.2rem .5rem; font-size:.8rem;}
.book-pdf-offers__heading strong{display:block; color:var(--bk-heading);}
.book-pdf-offers__heading small{color:var(--bk-muted); font-size:.8rem;}
.book-pdf-offers__list{display:grid; gap:.1rem;}
.book-pdf-offer{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1.2rem; border-top:1px solid var(--bk-border); flex-wrap:wrap;}
.book-pdf-offer:first-child{border-top:0;}
.book-pdf-offer strong{color:var(--bk-heading); font-size:.95rem;}
.book-pdf-offer small{display:block; color:var(--bk-muted); font-size:.78rem;}
.book-pdf-offer a{color:var(--bk-brand); font-weight:600; font-size:.88rem;}
.book-pdf-offer span{color:var(--bk-muted); font-size:.85rem;}

.book-pdf-spec-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.4rem;}
.book-pdf-spec-card header{display:flex; align-items:center; gap:.8rem; margin-bottom:1rem;}
.book-pdf-spec-card header span{font-family:var(--font-latin); font-weight:600; color:var(--bk-brand); border:1px solid rgba(21,97,74,.25); border-radius:8px; padding:.2rem .5rem; font-size:.78rem;}
.book-pdf-spec-card h3{margin:0; font-size:1rem;}
.book-pdf-spec-card header p{margin:0; font-size:.8rem; color:var(--bk-muted);}
.book-pdf-spec-card dl{display:grid; grid-template-columns:1fr 1fr; gap:.6rem 1rem; margin:0 0 1.1rem;}
.book-pdf-spec-card dl>div{display:flex; flex-direction:column;}
.book-pdf-spec-card__wide{grid-column:1 / -1;}
.book-pdf-spec-card dt{font-size:.72rem; color:var(--bk-muted);}
.book-pdf-spec-card dd{margin:0; font-size:.9rem; color:var(--bk-heading);}

/* ---- detail content grids ---- */
.detail-tabs-grid{display:grid; grid-template-columns:1.7fr 1fr; gap:1.6rem; align-items:start;}
.detail-article h2,.detail-side h2{margin:.5rem 0 1rem;}
.detail-article p{color:var(--bk-body); line-height:2;}
.detail-side dl{display:grid; gap:.7rem; margin:0;}
.detail-side dl>div{display:flex; justify-content:space-between; gap:1rem; padding-bottom:.6rem; border-bottom:1px solid var(--bk-border);}
.detail-side dt{color:var(--bk-muted); font-size:.86rem;}
.detail-side dd{margin:0; color:var(--bk-heading); font-size:.9rem; text-align:left;}
.detail-side dd a{color:var(--bk-brand);}
.toc-list{margin:0; padding-inline-start:1.2rem; color:var(--bk-body); line-height:2;}
.edition-list{display:grid; gap:.8rem;}
.edition-list>div{padding:.8rem 1rem; border:1px solid var(--bk-border); border-radius:var(--radius-md); background:var(--bk-bg);}
.edition-list strong{color:var(--bk-heading);}
.edition-list span{display:block; font-size:.82rem; color:var(--bk-muted);}
.edition-list small{font-size:.78rem; color:var(--bk-gold);}

/* ---- reviews ---- */
.review-list{display:grid; gap:1.1rem;}
.review-card{padding:1.2rem; border:1px solid var(--bk-border); border-radius:var(--radius-md); background:var(--bk-bg);}
.review-card__head{display:flex; align-items:center; justify-content:space-between; gap:1rem;}
.review-card__head strong{color:var(--bk-heading);}
.review-card__head span{color:var(--bk-gold); font-size:.9rem;}
.review-card h3{margin:.5rem 0; font-size:1rem;}
.review-card p{color:var(--bk-body); line-height:1.9; margin:0;}
.review-card__handwrite{margin:1rem 0 0;}
.review-card__handwrite img{border-radius:var(--radius-sm); border:1px solid var(--bk-border);}
.review-card__handwrite figcaption{font-size:.76rem; color:var(--bk-muted); margin-top:.4rem;}
.review-form-card label{display:block; margin-bottom:.8rem; font-size:.88rem; color:var(--bk-body);}
.review-form-card input,.review-form-card textarea,.review-form-card select{width:100%; padding:.6rem .8rem; margin-top:.3rem; border:1px solid var(--bk-border); border-radius:var(--radius-sm); background:var(--bk-bg); color:var(--bk-heading); font-family:var(--font-main);}
.review-form-card input:focus,.review-form-card textarea:focus{outline:none; border-color:var(--bk-gold); box-shadow:0 0 0 3px rgba(168,129,45,.14);}
.review-rating-group{margin-bottom:.8rem;}

/* ---- responsive ---- */
@media (max-width:980px){
  .cat-hero__grid{grid-template-columns:1fr;}
  .cat-hero__panel{max-width:420px;}
  .cat-filter{grid-template-columns:repeat(2,1fr);}
  .cat-filter__field--search{grid-column:span 2;}
  .book-detail-hero__grid{grid-template-columns:1fr;}
  .book-detail-cover-wrap{position:static; max-width:300px; margin-inline:auto;}
  .detail-tabs-grid{grid-template-columns:1fr;}
  .book-detail-meta-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:620px){
  .cat-filter{grid-template-columns:1fr;}
  .cat-filter__field--search{grid-column:auto;}
  .cat-head,.section-heading--row{flex-direction:column; align-items:flex-start;}
  .book-detail-actions{margin-inline-start:0; width:100%;}
  .book-pdf-spec-card dl{grid-template-columns:1fr;}
}

/* ============================================================
   Unified library refinements — one public library, two-level taxonomy
   ============================================================ */
.cat-hero--unified .cat-hero__lead{max-width:760px;}
.cat-hero__panel--unified{gap:.75rem;}
.cat-hero__chips{display:flex;flex-wrap:wrap;gap:.42rem;justify-content:center;margin-top:.35rem;}
.cat-hero__chips span{border:1px solid color-mix(in srgb,var(--bk-gold) 32%,rgba(255,255,255,.22));background:rgba(255,255,255,.08);border-radius:999px;padding:.28rem .58rem;color:rgba(255,255,255,.82);font-size:.72rem;font-weight:700;}
.cat-cats__grid--two-level{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:stretch;}
.cat-cat--tree{display:block;padding:0;overflow:hidden;text-decoration:none;}
.cat-cat--tree:hover{transform:translateY(-4px);}
.cat-cat__main{display:grid;gap:.55rem;padding:1.05rem;color:inherit;text-decoration:none;min-height:155px;}
.cat-cat__children{display:flex;gap:.4rem;flex-wrap:wrap;padding:.85rem 1.05rem 1rem;border-top:1px solid var(--bk-border);background:color-mix(in srgb,var(--bk-inset) 78%,transparent);}
.cat-cat__children a{border:1px solid color-mix(in srgb,var(--accent,#14624A) 18%,var(--bk-border));border-radius:999px;padding:.34rem .62rem;font-size:.76rem;color:var(--bk-body);background:var(--bk-card);transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);}
.cat-cat__children a:hover{background:color-mix(in srgb,var(--accent,#14624A) 10%,var(--bk-card));border-color:color-mix(in srgb,var(--accent,#14624A) 32%,var(--bk-border));color:var(--bk-heading);}
.cat-filter--unified{grid-template-columns:minmax(230px,1.6fr) repeat(5,minmax(135px,1fr)) minmax(150px,1fr) repeat(3,minmax(120px,.8fr)) auto;}
.book-card--subscription{border-color:color-mix(in srgb,var(--bk-gold) 28%,var(--bk-border));}
.book-card--subscription::before{opacity:.65;background:linear-gradient(90deg,transparent,var(--bk-gold),transparent);}
.book-card__price--subscription{display:grid;gap:.16rem;}
.book-card__price--subscription strong{font-size:1.02rem;color:var(--bk-gold-700);}
.book-card__price--subscription small{color:var(--bk-muted);}
@media (max-width:1180px){.cat-filter--unified{grid-template-columns:1fr 1fr 1fr;}.cat-filter__field--search{grid-column:1/-1;}}
@media (max-width:720px){.cat-cats__grid--two-level{grid-template-columns:1fr;}.cat-filter--unified{grid-template-columns:1fr;}.cat-hero__chips{justify-content:flex-start;}}

/* ============================================================
   Library showcase redesign — book-first storefront + category browse
   ============================================================ */
.page-catalog{overflow-x:hidden;}
.library-hero--showcase .cat-hero__lead,
.library-hero--browse .cat-hero__lead{max-width:760px;}
.library-hero__panel{min-height:260px;display:grid;align-content:center;}
.library-showcase{background:var(--bk-bg);}
.library-row{position:relative;}
.library-row__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.4rem;margin-bottom:clamp(1rem,2vw,1.6rem);}
.library-row__head h2{margin:.45rem 0 .25rem;color:var(--bk-heading);}
.library-row__head h2 a{color:inherit;}
.library-row__head p:not(.eyebrow){margin:0;color:var(--bk-muted);line-height:1.85;max-width:62ch;}
.library-row__head .panel__more{white-space:nowrap;}
.library-book-rail{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,260px);gap:1.05rem;overflow-x:auto;overflow-y:hidden;padding:.15rem .05rem 1.1rem;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--bk-gold) 58%,var(--bk-border)) transparent;}
.library-book-rail::-webkit-scrollbar{height:8px;}
.library-book-rail::-webkit-scrollbar-track{background:transparent;}
.library-book-rail::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--bk-gold) 48%,var(--bk-border));border-radius:999px;}
.library-book-rail .book-card{min-width:0;max-width:none;width:100%;scroll-snap-align:start;}
.library-book-rail:focus{outline:2px solid color-mix(in srgb,var(--bk-gold) 44%,transparent);outline-offset:6px;border-radius:var(--radius-md);}
.library-subscription-strip{background:linear-gradient(180deg,var(--bk-bg),color-mix(in srgb,var(--bk-brand-100) 28%,var(--bk-bg)));}
.library-subscription-strip__box{display:flex;justify-content:space-between;align-items:center;gap:1.4rem;margin-bottom:1.35rem;padding:clamp(1.2rem,3vw,2rem);border:1px solid color-mix(in srgb,var(--bk-gold) 30%,var(--bk-border));border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--bk-card),color-mix(in srgb,var(--bk-gold) 8%,var(--bk-card)));box-shadow:var(--shadow-soft);}
.library-subscription-strip__box h2{margin:.35rem 0;color:var(--bk-heading);}
.library-subscription-strip__box p:not(.eyebrow){margin:0;color:var(--bk-body);line-height:1.85;max-width:62ch;}
.library-subscription-strip__actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end;}

.catalog-browse{background:linear-gradient(180deg,var(--bk-bg),color-mix(in srgb,var(--bk-inset) 60%,var(--bk-bg)));}
.catalog-browse__grid{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:clamp(1.2rem,2.8vw,2rem);align-items:start;}
.catalog-browse__sidebar{position:sticky;top:98px;z-index:2;}
.catalog-sidebar-filter{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--bk-border);border-radius:var(--radius-lg);background:var(--bk-card);box-shadow:var(--shadow-soft);}
.catalog-sidebar-filter__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.65rem;border-bottom:1px solid var(--bk-border);}
.catalog-sidebar-filter__head strong{color:var(--bk-heading);font-size:1rem;}
.catalog-sidebar-filter__head a{color:var(--bk-gold-700);font-size:.82rem;font-weight:800;}
.catalog-sidebar-filter .cat-filter__field{gap:.28rem;}
.catalog-sidebar-filter .cat-filter__field--search{grid-column:auto;}
.catalog-sidebar-filter .cat-filter input,
.catalog-sidebar-filter .cat-filter select,
.catalog-sidebar-filter input,
.catalog-sidebar-filter select{width:100%;padding:.68rem .78rem;border:1px solid var(--bk-border);border-radius:var(--radius-sm);background:var(--bk-bg);color:var(--bk-heading);font-family:var(--font-main);}
.catalog-sidebar-filter input:focus,
.catalog-sidebar-filter select:focus{outline:none;border-color:var(--bk-gold);box-shadow:0 0 0 3px rgba(168,129,45,.14);}
.catalog-sidebar-filter label{font-size:.78rem;color:var(--bk-muted);}
.catalog-sidebar-filter .cat-filter__btns{display:flex;grid-column:auto;justify-content:stretch;margin-top:.25rem;}
.catalog-sidebar-filter .cat-filter__btns .btn{width:100%;justify-content:center;}
.catalog-price-fields{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;}
.catalog-subcategory-chips{display:flex;flex-wrap:wrap;gap:.45rem;padding:.75rem;border:1px solid var(--bk-border);border-radius:var(--radius-md);background:var(--bk-inset);}
.catalog-subcategory-chips>span{width:100%;font-size:.78rem;color:var(--bk-muted);}
.catalog-subcategory-chips a,
.catalog-browse__subcats a{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--bk-border);border-radius:999px;padding:.38rem .72rem;background:var(--bk-card);color:var(--bk-body);font-size:.8rem;transition:border-color .2s var(--ease),background .2s var(--ease),color .2s var(--ease);}
.catalog-subcategory-chips a:hover,
.catalog-browse__subcats a:hover{border-color:color-mix(in srgb,var(--bk-gold) 48%,var(--bk-border));color:var(--bk-heading);background:color-mix(in srgb,var(--bk-gold) 9%,var(--bk-card));}
.catalog-browse__content{min-width:0;}
.catalog-browse__toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.2rem;padding:1.05rem 1.15rem;border:1px solid var(--bk-border);border-radius:var(--radius-lg);background:var(--bk-card);box-shadow:var(--shadow-soft);}
.catalog-browse__toolbar h2{margin:.35rem 0 .15rem;color:var(--bk-heading);}
.catalog-browse__toolbar span{color:var(--bk-muted);font-size:.86rem;}
.catalog-sort-control{display:flex;align-items:center;gap:.6rem;color:var(--bk-muted);font-size:.85rem;}
.catalog-sort-control select{min-width:210px;padding:.65rem .85rem;border:1px solid var(--bk-border);border-radius:999px;background:var(--bk-bg);color:var(--bk-heading);font-family:var(--font-main);}
.catalog-sort-control select:focus{outline:none;border-color:var(--bk-gold);box-shadow:0 0 0 3px rgba(168,129,45,.14);}
.catalog-browse__subcats{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;}
.catalog-browse__book-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}

@media (min-width:1320px){.catalog-browse__book-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.library-book-rail{grid-auto-columns:minmax(235px,265px);}}
@media (max-width:1100px){.catalog-browse__grid{grid-template-columns:1fr;}.catalog-browse__sidebar{position:static;}.catalog-sidebar-filter{grid-template-columns:repeat(2,minmax(0,1fr));}.catalog-sidebar-filter__head,.catalog-sidebar-filter .cat-filter__field--search,.catalog-sidebar-filter .cat-filter__btns,.catalog-subcategory-chips{grid-column:1/-1;}.catalog-price-fields{grid-column:1/-1;}}
@media (max-width:780px){.library-row__head,.library-subscription-strip__box,.catalog-browse__toolbar{align-items:flex-start;flex-direction:column;}.library-subscription-strip__actions{justify-content:flex-start;}.library-book-rail{grid-auto-columns:minmax(205px,74vw);}.catalog-sidebar-filter{grid-template-columns:1fr;}.catalog-price-fields{grid-template-columns:1fr;}.catalog-sort-control{width:100%;align-items:stretch;flex-direction:column;}.catalog-sort-control select{width:100%;min-width:0;}.catalog-browse__book-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:520px){.catalog-browse__book-grid{grid-template-columns:1fr;}.library-book-rail{grid-auto-columns:minmax(220px,82vw);}.library-hero__panel{min-height:230px;}.library-row__head .panel__more{width:100%;justify-content:center;text-align:center;}}

/* ============================================================
   Library flatten pass — compact cards, auto-filter layout, bottom CTA
   ============================================================ */
.page-catalog .book-card{
  box-shadow:none;
  border-radius:24px;
  transition:transform .24s var(--ease),border-color .24s var(--ease),background .24s var(--ease);
}
.page-catalog .book-card:hover{
  transform:translateY(-2px);
  box-shadow:none;
}
.page-catalog .book-card__cover-link{padding:.82rem .82rem 0;}
.page-catalog .book-card__body{gap:.28rem;padding:.76rem .88rem .88rem;}
.page-catalog .book-card__badges{margin-bottom:.1rem;}
.page-catalog .book-card__badges span{font-size:.58rem;padding:.13rem .42rem;background:var(--bk-inset);border-color:color-mix(in srgb,var(--bk-brand) 14%,var(--bk-border));}
.page-catalog .book-card__body h2{font-size:.98rem;line-height:1.42;}
.page-catalog .book-card__subtitle{font-size:.75rem;}
.page-catalog .book-card__authors{font-size:.8rem;}
.page-catalog .book-card__meta{gap:.35rem .55rem;font-size:.71rem;}
.page-catalog .book-card__meta span:nth-child(n+5){display:none;}
.page-catalog .book-card__footer{padding-top:.5rem;gap:.42rem;}
.page-catalog .book-card__actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.42rem;}
.page-catalog .book-card__actions .btn,
.page-catalog .book-card__actions form,
.page-catalog .book-card__actions form .btn{width:100%;justify-content:center;}
.page-catalog .book-card__price{width:100%;justify-content:flex-start;}
.page-catalog .book-card__price--subscription{width:100%;}

.library-row__head{margin-bottom:.92rem;}
.library-row__head p:not(.eyebrow){max-width:70ch;}
.library-row__footer{display:flex;justify-content:flex-end;margin-top:1rem;}
.library-row__footer--split{justify-content:space-between;gap:.75rem;flex-wrap:wrap;}
.btn--library-more{min-width:172px;justify-content:center;gap:.5rem;font-weight:700;border-radius:999px;padding-inline:1.5rem;background:transparent;
  border:1px solid color-mix(in srgb,var(--bk-gold) 50%,var(--bk-border));color:var(--bk-brand-800);
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease);}
.btn--library-more::after{content:"←";font-size:1.1em;transition:transform .25s var(--ease);}
.btn--library-more:hover{background:var(--bk-brand);border-color:var(--bk-brand);color:#FBF6EA;box-shadow:0 12px 24px -14px rgba(14,63,48,.6);}
.btn--library-more:hover::after{transform:translateX(-4px);}

.library-book-rail{grid-auto-columns:minmax(210px,228px);gap:.92rem;padding-bottom:.85rem;}
.library-book-rail .book-card{height:100%;}

.library-subscription-strip__box,
.catalog-sidebar-filter,
.catalog-browse__toolbar{
  box-shadow:none;
  background:var(--bk-card);
}
.library-subscription-strip__box{padding:1.15rem 1.25rem;border-radius:24px;}
.catalog-browse__grid{grid-template-columns:minmax(265px,290px) minmax(0,1fr);gap:1.25rem;}
.catalog-browse__sidebar{top:88px;}
.catalog-sidebar-filter{gap:.78rem;padding:1rem;border-radius:24px;}
.catalog-sidebar-filter__head{padding-bottom:.55rem;}
.catalog-sidebar-filter__hint{margin:0;color:var(--bk-muted);font-size:.76rem;line-height:1.8;}
.catalog-sidebar-filter input,
.catalog-sidebar-filter select{border-radius:18px;padding:.74rem .9rem;background:var(--bk-bg);}
.catalog-sidebar-filter label{font-size:.75rem;}
.catalog-browse__toolbar{padding:.9rem 1rem;border-radius:24px;margin-bottom:.95rem;}
.catalog-sort-control select{border-radius:18px;min-width:190px;}
.catalog-browse__book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,215px));gap:.85rem;align-items:start;justify-content:start;}
.catalog-browse__book-grid .book-card{height:100%;}
.library-hero--flat{padding-block:2.1rem 1.2rem;}
.library-hero--flat .cat-hero__panel{min-height:220px;}

@media (max-width:1100px){
  .catalog-browse__grid{grid-template-columns:1fr;}
  .catalog-sidebar-filter{grid-template-columns:1fr;}
}
@media (max-width:780px){
  .library-row__footer,
  .library-row__footer--split{justify-content:stretch;}
  .btn--library-more{width:100%;}
  .library-book-rail{grid-auto-columns:minmax(190px,74vw);}
  .catalog-browse__book-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px){
  .page-catalog .book-card__actions{grid-template-columns:1fr;}
  .catalog-browse__book-grid{grid-template-columns:1fr;}
  .library-book-rail{grid-auto-columns:minmax(180px,80vw);}
}

/* ============================================================
   Browse page polish — dependent categories + sort button bar
   ============================================================ */
.library-hero__grid--browse{align-items:end;gap:1.25rem;}
.library-hero__panel--compact{padding:1.1rem 1.2rem;min-height:auto;box-shadow:none;}
.library-hero__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;}
.library-hero__stats>div{border:1px solid var(--bk-border);border-radius:18px;padding:.85rem .95rem;background:rgba(255,255,255,.06);display:grid;gap:.15rem;}
.library-hero__stats strong{font-size:1.3rem;color:var(--bk-heading-on-dark,#fff);}
.library-hero__stats span{font-size:.76rem;color:rgba(255,255,255,.78);}

.catalog-browse__grid{align-items:start;}
.catalog-sidebar-filter{padding:1.08rem 1.08rem 1rem;}
.catalog-sidebar-filter__head{align-items:flex-start;gap:.75rem;}
.catalog-sidebar-filter__head strong{display:block;font-size:1.02rem;color:var(--bk-heading);margin-bottom:.2rem;}
.catalog-sidebar-filter__head p{margin:0;color:var(--bk-muted);font-size:.76rem;line-height:1.8;max-width:28ch;}
.catalog-sidebar-filter__group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem .78rem;}
.cat-filter__field--full{grid-column:1 / -1;}
.catalog-subcategory-chips{padding:.7rem .8rem;border-radius:18px;background:var(--bk-inset);border:1px solid var(--bk-border);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;}
.catalog-subcategory-chips span{font-size:.75rem;color:var(--bk-heading);font-weight:700;}
.catalog-subcategory-chips a{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.38rem .72rem;background:var(--bk-card);border:1px solid var(--bk-border);font-size:.75rem;color:var(--bk-body);}
.catalog-subcategory-chips a:hover{color:var(--bk-brand);border-color:color-mix(in srgb,var(--bk-brand) 24%,var(--bk-border));}
.catalog-filter__control:disabled{opacity:.58;background:var(--bk-inset);cursor:not-allowed;}

.catalog-browse__toolbar--buttons{display:grid;grid-template-columns:minmax(0,1fr);gap:.9rem;align-items:start;}
.catalog-sort-buttons{display:flex;flex-wrap:wrap;gap:.5rem;}
.catalog-sort-buttons__item{display:inline-flex;align-items:center;justify-content:center;padding:.62rem .9rem;border:1px solid var(--bk-border);border-radius:999px;background:var(--bk-bg);color:var(--bk-body);font-size:.82rem;font-weight:700;transition:all .22s var(--ease);}
.catalog-sort-buttons__item:hover{border-color:color-mix(in srgb,var(--bk-brand) 26%,var(--bk-border));color:var(--bk-brand);background:var(--bk-card);}
.catalog-sort-buttons__item.is-active{background:var(--bk-brand);border-color:var(--bk-brand);color:#fff;box-shadow:none;}

.catalog-browse__content .cat-empty{min-height:180px;display:grid;place-items:center;text-align:center;border-radius:24px;background:var(--bk-inset);border:1px dashed var(--bk-border);padding:1rem 1.25rem;color:var(--bk-muted);}

@media (max-width:1100px){
  .catalog-sidebar-filter__group{grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
  .catalog-sidebar-filter__group{grid-template-columns:1fr;}
  .library-hero__stats{grid-template-columns:1fr 1fr;}
  .catalog-sort-buttons{flex-wrap:wrap;}
  .catalog-sort-buttons__item{white-space:nowrap;}
}
@media (max-width:560px){
  .library-hero__stats{grid-template-columns:1fr;}
}

/* ============================================================
   Collection/category top restore + wider readable filters + authors page
   ============================================================ */
.library-hero--restored{padding-block:clamp(4.2rem,7vw,6.4rem) clamp(3.4rem,5vw,4.8rem);}
.library-hero--restored .library-hero__grid--browse{align-items:center;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(2rem,4vw,3rem);}
.library-hero__panel--browse{min-height:260px;align-content:center;gap:.82rem;padding:1.35rem;box-shadow:0 16px 40px rgba(0,0,0,.12);}
.library-hero__panel--browse .cat-hero__mini{margin-bottom:.25rem;}
.library-hero__stats--soft{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;}
.library-hero__stats--soft>div{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.26);}
.library-hero__stats--soft strong{font-size:1.25rem;color:#fff;}

.catalog-browse__grid{grid-template-columns:minmax(330px,380px) minmax(0,1fr);gap:clamp(1.55rem,3vw,2.25rem);}
.catalog-browse__sidebar{top:104px;}
.catalog-sidebar-filter{padding:1.18rem;border-radius:26px;}
.catalog-sidebar-filter__group{display:grid;grid-template-columns:1fr;gap:.9rem;}
.catalog-sidebar-filter__head p{max-width:34ch;}
.catalog-sidebar-filter input,
.catalog-sidebar-filter select{min-height:52px;padding:.82rem 1rem;font-size:.95rem;}
.catalog-sidebar-filter label{font-size:.8rem;margin-bottom:.18rem;}
.catalog-price-fields{grid-template-columns:1fr 1fr;gap:.75rem;}
.catalog-browse__toolbar--buttons{padding:1.15rem 1.2rem;border-radius:26px;gap:1.05rem;}
.catalog-sort-buttons{gap:.55rem;}
.catalog-sort-buttons__item{padding:.66rem .96rem;}

.authors-hero{padding-block:clamp(4.5rem,7vw,6.5rem) clamp(3.6rem,5vw,4.8rem);}
.authors-hero__grid{align-items:center;}
.authors-search{display:flex;gap:.65rem;align-items:center;max-width:620px;margin-top:1.25rem;}
.authors-search input{flex:1;min-height:52px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;padding:.8rem 1rem;font-family:var(--font-main);}
.authors-search input::placeholder{color:rgba(255,255,255,.64);}
.authors-search input:focus{outline:none;border-color:color-mix(in srgb,var(--bk-gold) 58%,rgba(255,255,255,.3));box-shadow:0 0 0 3px rgba(194,160,90,.18);}
.authors-hero__panel{display:grid;place-items:center;min-height:230px;gap:.6rem;}
.authors-hero__panel strong{font-size:2.2rem;color:#fff;}
.authors-hero__panel p{color:rgba(255,255,255,.78);margin:0;}
.authors-page{background:var(--bk-bg);}
.authors-page__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem;}
.authors-page__head h2{margin:.35rem 0;color:var(--bk-heading);}
.authors-page__head p:not(.eyebrow){margin:0;color:var(--bk-muted);}
.authors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;}
.author-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:.95rem;align-items:start;padding:1rem;border:1px solid var(--bk-border);border-radius:24px;background:var(--bk-card);box-shadow:none;transition:transform .22s var(--ease),border-color .22s var(--ease);}
.author-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--bk-brand) 24%,var(--bk-border));}
.author-card__avatar{width:76px;height:76px;border-radius:22px;overflow:hidden;background:linear-gradient(145deg,var(--bk-brand),color-mix(in srgb,var(--bk-gold) 38%,var(--bk-brand)));display:grid;place-items:center;color:#fff;font-size:1.7rem;font-weight:800;}
.author-card__avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.author-card__body{display:grid;gap:.34rem;min-width:0;}
.author-card__body h3{margin:0;font-size:1.05rem;line-height:1.45;}
.author-card__body h3 a{color:var(--bk-heading);}
.author-card__latin{margin:0;color:var(--bk-muted);font-size:.78rem;direction:ltr;text-align:right;}
.author-card__bio{margin:0;color:var(--bk-body);font-size:.82rem;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.author-card__meta{display:flex;gap:.5rem;flex-wrap:wrap;color:var(--bk-muted);font-size:.78rem;}
.author-card__meta a{color:var(--bk-brand);}

@media (max-width:1100px){
  .library-hero--restored .library-hero__grid--browse{grid-template-columns:1fr;}
  .catalog-browse__grid{grid-template-columns:1fr;}
  .catalog-browse__sidebar{position:static;}
}
@media (max-width:780px){
  .authors-search{flex-direction:column;align-items:stretch;}
  .library-hero__stats--soft{grid-template-columns:1fr 1fr;}
  .catalog-price-fields{grid-template-columns:1fr;}
  .authors-page__head{align-items:flex-start;flex-direction:column;}
}
@media (max-width:560px){
  .author-card{grid-template-columns:1fr;text-align:center;}
  .author-card__avatar{margin-inline:auto;}
}

/* ============================================================
   TestKav separated books landing
   ============================================================ */
.page-testkav-books .testkav-hero .cat-hero__lead{max-width:760px;}
.testkav-showcase{background:var(--bk-bg);}
.testkav-subscription-cta__box{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);gap:clamp(1rem,2.6vw,1.8rem);align-items:start;padding:clamp(1.25rem,3vw,2rem);border-radius:var(--radius-lg);}
.testkav-subscription-cta__box h2{margin:.35rem 0;color:var(--bk-heading);}
.testkav-subscription-cta__box p:not(.eyebrow){color:var(--bk-body);line-height:1.9;margin:0;}
.testkav-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;}
.testkav-plan{border:1px solid var(--bk-border);border-radius:22px;background:var(--bk-bg);padding:1rem;display:grid;gap:.45rem;align-content:start;}
.testkav-plan.is-featured{border-color:color-mix(in srgb,var(--bk-gold) 52%,var(--bk-border));background:color-mix(in srgb,var(--bk-gold) 7%,var(--bk-bg));}
.testkav-plan span{justify-self:start;border:1px solid color-mix(in srgb,var(--bk-gold) 40%,var(--bk-border));border-radius:999px;padding:.18rem .58rem;font-size:.72rem;color:var(--bk-gold-700);font-weight:800;}
.testkav-plan strong{font-size:1rem;color:var(--bk-heading);}
.testkav-plan small{color:var(--bk-muted);}
.testkav-plan b{font-size:1.08rem;color:var(--bk-heading);}
.testkav-plan form{margin:0;}
.testkav-plan .btn{width:100%;justify-content:center;margin-top:.25rem;}
.testkav-browse .catalog-sidebar-filter__head p{max-width:34ch;}
@media (max-width:980px){.testkav-subscription-cta__box{grid-template-columns:1fr;}.testkav-plan-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.testkav-plan-grid{grid-template-columns:1fr;}}

/* ============================================================
   Collection page — flat & quiet redesign (icons kept) (v18)
   ============================================================ */
/* Two quiet sand panels (no shadow, no gold glow): filter + content */
.catalog-sidebar-filter,
.catalog-browse__content{
  background:var(--bk-inset);
  border:1px solid var(--bk-border);
  border-radius:20px;
  box-shadow:none;
}
.catalog-sidebar-filter{padding:1.25rem 1.25rem 1.1rem;gap:.82rem;}
.catalog-browse__content{padding:1.3rem 1.35rem 1.5rem;min-width:0;}

/* Filter header — flat */
.catalog-sidebar-filter__head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;
  padding-bottom:.95rem;margin-bottom:.05rem;
  border-bottom:1px solid var(--bk-border);
}
.catalog-sidebar-filter__heading{display:flex;gap:.6rem;align-items:flex-start;min-width:0;}
.catalog-sidebar-filter__badge{
  flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--bk-gold) 15%, var(--bk-card));
  color:var(--bk-gold-700);box-shadow:none;
}
.catalog-sidebar-filter__badge svg{width:17px;height:17px;}
.catalog-sidebar-filter__heading strong{display:block;font-size:1.02rem;color:var(--bk-heading);margin-bottom:.16rem;}
.catalog-sidebar-filter__heading p{margin:0;color:var(--bk-muted);font-size:.75rem;line-height:1.75;}
.catalog-sidebar-filter__clear{
  flex:none;display:inline-flex;align-items:center;gap:.3rem;
  padding:.36rem .6rem;border-radius:999px;line-height:1;
  border:1px solid var(--bk-border);background:var(--bk-card);
  color:var(--bk-gold-700);font-size:.72rem;font-weight:700;
  transition:color .2s var(--ease),border-color .2s var(--ease);white-space:nowrap;
}
.catalog-sidebar-filter__clear svg{width:12px;height:12px;}
.catalog-sidebar-filter__clear:hover{color:var(--bk-brand);border-color:color-mix(in srgb,var(--bk-brand) 30%,var(--bk-border));}

/* Labels + icons (kept) */
.catalog-sidebar-filter .cat-filter__field{gap:.38rem;}
.catalog-sidebar-filter label{
  display:inline-flex;align-items:center;gap:.44rem;
  font-size:.8rem;font-weight:600;color:var(--bk-heading);margin-bottom:.02rem;
  transition:color .2s var(--ease);
}
.cat-filter__ico{width:15px;height:15px;flex:none;color:var(--bk-gold-700);transition:color .2s var(--ease);}
.catalog-sidebar-filter .cat-filter__field:focus-within label,
.catalog-sidebar-filter .cat-filter__field:focus-within .cat-filter__ico{color:var(--bk-brand);}

/* Inputs/selects — white wells on sand, flat */
.catalog-sidebar-filter input,
.catalog-sidebar-filter select{
  width:100%;min-height:46px;padding:.7rem .95rem;font-size:.9rem;
  border:1px solid var(--bk-border);border-radius:13px;
  background:var(--bk-card);color:var(--bk-heading);font-family:var(--font-main);
  transition:border-color .2s,box-shadow .2s;
}
.catalog-sidebar-filter input::placeholder{color:var(--bk-muted);}
.catalog-sidebar-filter input:hover,
.catalog-sidebar-filter select:hover{border-color:color-mix(in srgb,var(--bk-gold) 36%,var(--bk-border));}
.catalog-sidebar-filter input:focus,
.catalog-sidebar-filter select:focus{outline:none;border-color:var(--bk-gold);box-shadow:0 0 0 3px rgba(168,129,45,.12);}
.catalog-sidebar-filter select{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238A6A24' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:left .95rem center;
  padding-inline-end:2.5rem;cursor:pointer;
}

/* Hint — flat (plain text) */
.catalog-sidebar-filter__hint{
  display:flex;align-items:center;gap:.45rem;margin:.4rem 0 0;
  padding:0;background:none;border:none;
  color:var(--bk-muted);font-size:.74rem;line-height:1.6;
}
.catalog-sidebar-filter__hint svg{width:14px;height:14px;flex:none;color:var(--bk-gold-700);}

/* Toolbar becomes a flat header inside the content panel */
.catalog-browse__toolbar--buttons{
  background:none;border:none;box-shadow:none;border-radius:0;
  padding:0 0 1rem;margin:0 0 1.2rem;gap:.82rem;
  border-bottom:1px solid var(--bk-border);
}
.catalog-browse__toolbar-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.catalog-browse__toolbar-title h2{margin:.26rem 0 0;}
.catalog-browse__count{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.36rem .72rem;border-radius:999px;
  background:var(--bk-card);border:1px solid var(--bk-border);
  color:var(--bk-brand);font-size:.8rem;font-weight:700;white-space:nowrap;
}
.catalog-browse__count svg{width:14px;height:14px;}
.catalog-sort{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;}
.catalog-sort__label{display:inline-flex;align-items:center;gap:.34rem;color:var(--bk-muted);font-size:.79rem;font-weight:700;white-space:nowrap;}
.catalog-sort__label svg{width:14px;height:14px;color:var(--bk-gold-700);}

/* Sort pills — flat */
.catalog-sort-buttons__item{
  padding:.52rem .88rem;border-radius:999px;
  border:1px solid var(--bk-border);background:var(--bk-card);
  color:var(--bk-body);font-size:.8rem;font-weight:700;
  transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease);
}
.catalog-sort-buttons__item:hover{border-color:color-mix(in srgb,var(--bk-gold) 40%,var(--bk-border));color:var(--bk-gold-700);}
.catalog-sort-buttons__item.is-active{background:var(--bk-brand);border-color:var(--bk-brand);color:#fff;box-shadow:none;}

/* Book cards inside the panel — flat, white on sand */
.catalog-browse__book-grid{margin:0;}
.page-catalog .catalog-browse__content .book-card{box-shadow:none;border:1px solid var(--bk-border);}

@media (max-width:1100px){
  .catalog-sidebar-filter__group{grid-template-columns:1fr 1fr;gap:.8rem;}
  .cat-filter__field--full{grid-column:1 / -1;}
}
@media (max-width:760px){
  .catalog-sidebar-filter__group{grid-template-columns:1fr;}
  .catalog-browse__toolbar-head{align-items:flex-start;}
  .catalog-sort{width:100%;}
  .catalog-browse__content{padding:1rem 1rem 1.2rem;}
}
@media (max-width:560px){
  .catalog-browse__book-grid{grid-template-columns:1fr;}
}

/* ============================================================
   Grouped smart filters + checkbox lists + tighter top (v20)
   ============================================================ */
/* Tighten gap between hero and browse section */
.catalog-browse{padding-top:clamp(18px,2.2vw,30px);}

/* narrower filter column */
.catalog-browse__grid{grid-template-columns:minmax(238px,272px) minmax(0,1fr);gap:clamp(1.3rem,2.6vw,2rem);}
.catalog-sidebar-filter{padding:1.05rem 1.1rem 1rem;gap:.6rem;}
.catalog-sidebar-filter__head{padding-bottom:.8rem;flex-wrap:wrap;gap:.55rem;}
.catalog-sidebar-filter__badge{width:30px;height:30px;border-radius:9px;}
.catalog-sidebar-filter__badge svg{width:15px;height:15px;}
.catalog-sidebar-filter__heading strong{font-size:.98rem;}
.catalog-sidebar-filter__heading p{font-size:.72rem;line-height:1.7;}
.catalog-sidebar-filter__clear{padding:.32rem .55rem;font-size:.68rem;}

/* dropdowns that remain (long option sets) */
.catalog-sidebar-filter input,
.catalog-sidebar-filter select{min-height:42px;padding:.6rem .82rem;font-size:.86rem;border-radius:11px;background:var(--bk-card);}
.catalog-sidebar-filter select{background-position:left .8rem center;padding-inline-end:2.3rem;}

/* Logical groups — divided sections (not boxed) */
.filter-groups{display:flex;flex-direction:column;}
.filter-group{border-top:1px solid var(--bk-border);}
.filter-group:first-child{border-top:none;}
.filter-group__head{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:.55rem;
  padding:.72rem .15rem;font-size:.85rem;font-weight:700;color:var(--bk-heading);
  user-select:none;-webkit-user-select:none;transition:color .2s var(--ease);
}
.filter-group__head::-webkit-details-marker{display:none;}
.filter-group__head .cat-filter__ico{width:16px;height:16px;color:var(--bk-gold-700);transition:color .2s var(--ease);}
.filter-group__chev{margin-inline-start:auto;width:16px;height:16px;color:var(--bk-muted);transition:transform .22s var(--ease);flex:none;}
.filter-group[open] .filter-group__chev{transform:rotate(180deg);}
.filter-group.is-active .filter-group__head,
.filter-group.is-active .filter-group__head .cat-filter__ico{color:var(--bk-brand);}
.filter-group__body{padding:.05rem .1rem .9rem;display:flex;flex-direction:column;gap:.9rem;}
.filter-field{display:flex;flex-direction:column;gap:.4rem;}
.filter-field__label{font-size:.78rem;font-weight:600;color:var(--bk-body);}

/* Checkbox-style option list (for short option sets, incl. subcategory) */
.check-list{display:flex;flex-direction:column;gap:.04rem;max-height:216px;overflow-y:auto;margin-inline:-.25rem;padding-inline:.25rem;}
.check-list::-webkit-scrollbar{width:6px;}
.check-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--bk-gold) 30%,transparent);border-radius:6px;}
.check-list__item{
  display:flex;align-items:center;gap:.55rem;width:100%;text-align:start;
  padding:.42rem .4rem;border:none;background:none;cursor:pointer;border-radius:9px;
  font-size:.82rem;color:var(--bk-body);font-family:var(--font-main);transition:background .15s,color .15s;
}
.check-list__item:hover{background:color-mix(in srgb,var(--bk-gold) 9%,transparent);}
.check-list__box{
  flex:none;width:18px;height:18px;border-radius:6px;border:1.5px solid var(--bk-border);
  background:var(--bk-card);display:grid;place-items:center;transition:background .15s,border-color .15s;
}
.check-list__box::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px;opacity:0;transition:opacity .15s;}
.check-list__item.is-on{color:var(--bk-brand);font-weight:700;}
.check-list__item.is-on .check-list__box{border-color:var(--bk-brand);background:var(--bk-brand);}
.check-list__item.is-on .check-list__box::after{opacity:1;}
.check-list.is-disabled{opacity:.45;pointer-events:none;}

/* Price cells */
.filter-field .catalog-price-fields{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;}
.price-cell{display:flex;flex-direction:column;gap:.22rem;}
.price-cell .cat-filter__sublabel{font-size:.72rem;color:var(--bk-muted);font-weight:600;}

@media (max-width:1100px){
  .catalog-browse__grid{grid-template-columns:1fr;}
  .filter-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:0 1.1rem;align-items:start;}
  .filter-group{border-top:none;border:1px solid var(--bk-border);border-radius:12px;padding:0 .65rem;margin-bottom:.7rem;}
}
@media (max-width:560px){
  .filter-groups{grid-template-columns:1fr;}
}
.check-list__empty{margin:.2rem .15rem;font-size:.76rem;color:var(--bk-muted);}

/* ============================================================
   AJAX loading state + professional hero panel reveal (v23)
   ============================================================ */
.catalog-browse__grid{scroll-margin-top:116px;}

/* AJAX loading on results panel */
.catalog-browse__content{position:relative;}
.catalog-browse__content.is-loading{opacity:.5;pointer-events:none;transition:opacity .15s;}
.catalog-browse__content.is-loading::after{
  content:"";position:absolute;top:46px;left:50%;width:34px;height:34px;margin-left:-17px;z-index:5;
  border:3px solid color-mix(in srgb,var(--bk-gold) 24%,var(--bk-border));border-top-color:var(--bk-gold);
  border-radius:50%;animation:bkSpin .7s linear infinite;
}
@keyframes bkSpin{to{transform:rotate(360deg);}}

/* Hero panel — choreographed "dashboard reveal" */
@media (prefers-reduced-motion:no-preference){
  .library-hero__panel--browse{animation:bkPanelIn .9s cubic-bezier(.22,1,.36,1) backwards;}
  @keyframes bkPanelIn{0%{opacity:0;transform:translateY(22px) scale(.98);}100%{opacity:1;transform:translateY(0) scale(1);}}

  /* mini-bars grow up, staggered */
  .library-hero__panel--browse .cat-hero__mini a,
  .library-hero__panel--browse .cat-hero__mini i{transform-origin:bottom center;animation:bkBarDraw .75s cubic-bezier(.34,1.3,.5,1) backwards;}
  .library-hero__panel--browse .cat-hero__mini :nth-child(1){animation-delay:.18s;}
  .library-hero__panel--browse .cat-hero__mini :nth-child(2){animation-delay:.3s;}
  .library-hero__panel--browse .cat-hero__mini :nth-child(3){animation-delay:.42s;}
  .library-hero__panel--browse .cat-hero__mini :nth-child(4){animation-delay:.54s;}
  @keyframes bkBarDraw{0%{transform:scaleY(0);}100%{transform:scaleY(1);}}

  /* stat cards + chips rise in */
  .library-hero__panel--browse .library-hero__stats>div{animation:bkRise .6s ease-out backwards;}
  .library-hero__panel--browse .library-hero__stats>div:nth-child(1){animation-delay:.44s;}
  .library-hero__panel--browse .library-hero__stats>div:nth-child(2){animation-delay:.56s;}
  .library-hero__panel--browse .cat-hero__chips span{animation:bkRise .55s ease-out backwards;}
  .library-hero__panel--browse .cat-hero__chips span:nth-child(1){animation-delay:.68s;}
  .library-hero__panel--browse .cat-hero__chips span:nth-child(2){animation-delay:.78s;}
  .library-hero__panel--browse .cat-hero__chips span:nth-child(3){animation-delay:.88s;}
  @keyframes bkRise{0%{opacity:0;transform:translateY(9px);}100%{opacity:1;transform:translateY(0);}}

  /* gentle ongoing gold aura */
  .library-hero__panel--browse::after{
    content:"";position:absolute;inset:14px;border-radius:calc(var(--radius-lg) - 10px);pointer-events:none;z-index:0;
    background:radial-gradient(58% 52% at 28% 24%, rgba(231,206,148,.16), transparent 72%);
    animation:bkAura 10s ease-in-out 1.1s infinite alternate;
  }
  @keyframes bkAura{0%{transform:translate(0,0) scale(1);opacity:.5;}100%{transform:translate(15%,12%) scale(1.18);opacity:.95;}}
  .library-hero__panel--browse>*{position:relative;z-index:1;}
}

/* ============================================================
   Animated bookshelf infographic + compact browse cards (v26)
   ============================================================ */
.cat-hero__viz{position:relative;margin:0 0 1.15rem;padding-bottom:0;border-bottom:0;}
.cat-hero__viz-svg{display:block;width:100%;height:auto;overflow:visible;}
.cat-hero__viz-svg .bk-shelf-books{filter:drop-shadow(0 6px 9px rgba(0,0,0,.4));}

/* Compact book cards — ONLY on the browse/collection grids (not on /library) */
.catalog-browse__book-grid .book-card{max-width:215px;}
.catalog-browse__book-grid .book-card .bk-flip-book--card{aspect-ratio:3 / 2.55;}
.catalog-browse__book-grid .book-card__cover-link{padding:.55rem .55rem 0;}
.catalog-browse__book-grid .book-card__body{padding:.6rem .7rem .75rem;gap:.4rem;}

/* ============================================================================
   v33 · library hero — faint "books on shelves" texture (matches the library theme)
   subtle gold/cream book spines on emerald; deliberately delicate / light
   ============================================================================ */
.library-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27320%27%20height%3D%27104%27%20viewBox%3D%270%200%20320%20104%27%3E%3Crect%20x%3D%274%27%20y%3D%2722%27%20width%3D%2721%27%20height%3D%2770%27%20rx%3D%272.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.024%27%20stroke%3D%27%23E7CE94%27%20stroke-opacity%3D%270.135%27%20stroke-width%3D%271%27%2F%3E%3Crect%20x%3D%277%27%20y%3D%2729%27%20width%3D%2715%27%20height%3D%272.4%27%20rx%3D%271.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.185%27%2F%3E%3Crect%20x%3D%2728%27%20y%3D%2745%27%20width%3D%2726%27%20height%3D%2747%27%20rx%3D%272.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.02%27%20stroke%3D%27%23E7CE94%27%20stroke-opacity%3D%270.096%27%20stroke-width%3D%271%27%2F%3E%3Crect%20x%3D%2731%27%20y%3D%2757%27%20width%3D%2720%27%20height%3D%272.4%27%20rx%3D%271.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.146%27%2F%3E%3Crect%20x%3D%2757%27%20y%3D%2747%27%20width%3D%2726%27%20height%3D%2745%27%20rx%3D%272.2%27%20fill%3D%27%23F4ECDD%27%20fill-opacity%3D%270.023%27%20stroke%3D%27%23F4ECDD%27%20stroke-opacity%3D%270.131%27%20stroke-width%3D%271%27%2F%3E%3Crect%20x%3D%2760%27%20y%3D%2756%27%20width%3D%2720%27%20height%3D%272.4%27%20rx%3D%271.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.181%27%2F%3E%3Crect%20x%3D%2785%27%20y%3D%2712%27%20width%3D%2719%27%20height%3D%2780%27%20rx%3D%272.2%27%20fill%3D%27%23F4ECDD%27%20fill-opacity%3D%270.033%27%20stroke%3D%27%23F4ECDD%27%20stroke-opacity%3D%270.139%27%20stroke-width%3D%271%27%2F%3E%3Crect%20x%3D%2788%27%20y%3D%2723%27%20width%3D%2713%27%20height%3D%272.4%27%20rx%3D%271.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.189%27%2F%3E%3Crect%20x%3D%27108%27%20y%3D%2736%27%20width%3D%2717%27%20height%3D%2756%27%20rx%3D%272.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.035%27%20stroke%3D%27%23E7CE94%27%20stroke-opacity%3D%270.116%27%20stroke-width%3D%271%27%2F%3E%3Crect%20x%3D%27111%27%20y%3D%2745%27%20width%3D%2711%27%20height%3D%272.4%27%20rx%3D%271.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.166%27%2F%3E%3Crect%20x%3D%27128%27%20y%3D%2737%27%20width%3D%2726%27%20height%3D%2755%27%20rx%3D%272.2%27%20fill%3D%27%23F4ECDD%27%20fill-opacity%3D%270.02%27%20stroke%3D%27%23F4ECDD%27%20stroke-opacity%3D%270.087%27%20stroke-width%3D%271%27%2F%3E%3Crect%20x%3D%27131%27%20y%3D%2748%27%20width%3D%2720%27%20height%3D%272.4%27%20rx%3D%271.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.137%27%2F%3E%3Crect%20x%3D%27157%27%20y%3D%2749%27%20width%3D%2715%27%20height%3D%2743%27%20rx%3D%272.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.031%27%20stroke%3D%27%23E7CE94%27%20stroke-opacity%3D%270.137%27%20stroke-width%3D%271%27%2F%3E%3Crect%20x%3D%27160%27%20y%3D%2759%27%20width%3D%279%27%20height%3D%272.4%27%20rx%3D%271.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.187%27%2F%3E%3Crect%20x%3D%27175%27%20y%3D%2727%27%20width%3D%2715%27%20height%3D%2765%27%20rx%3D%272.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.019%27%20stroke%3D%27%23E7CE94%27%20stroke-opacity%3D%270.088%27%20stroke-width%3D%271%27%2F%3E%3Crect%20x%3D%27178%27%20y%3D%2736%27%20width%3D%279%27%20height%3D%272.4%27%20rx%3D%271.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.138%27%2F%3E%3Crect%20x%3D%27194%27%20y%3D%2716%27%20width%3D%2723%27%20height%3D%2776%27%20rx%3D%272.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.02%27%20stroke%3D%27%23E7CE94%27%20stroke-opacity%3D%270.113%27%20stroke-width%3D%271%27%2F%3E%3Crect%20x%3D%27197%27%20y%3D%2726%27%20width%3D%2717%27%20height%3D%272.4%27%20rx%3D%271.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.163%27%2F%3E%3Crect%20x%3D%27221%27%20y%3D%2740%27%20width%3D%2721%27%20height%3D%2752%27%20rx%3D%272.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.034%27%20stroke%3D%27%23E7CE94%27%20stroke-opacity%3D%270.138%27%20stroke-width%3D%271%27%2F%3E%3Crect%20x%3D%27224%27%20y%3D%2749%27%20width%3D%2715%27%20height%3D%272.4%27%20rx%3D%271.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.188%27%2F%3E%3Crect%20x%3D%27244%27%20y%3D%2729%27%20width%3D%2721%27%20height%3D%2763%27%20rx%3D%272.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.033%27%20stroke%3D%27%23E7CE94%27%20stroke-opacity%3D%270.094%27%20stroke-width%3D%271%27%2F%3E%3Crect%20x%3D%27247%27%20y%3D%2739%27%20width%3D%2715%27%20height%3D%272.4%27%20rx%3D%271.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.144%27%2F%3E%3Crect%20x%3D%27267%27%20y%3D%2742%27%20width%3D%2719%27%20height%3D%2750%27%20rx%3D%272.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.021%27%20stroke%3D%27%23E7CE94%27%20stroke-opacity%3D%270.088%27%20stroke-width%3D%271%27%2F%3E%3Crect%20x%3D%27270%27%20y%3D%2749%27%20width%3D%2713%27%20height%3D%272.4%27%20rx%3D%271.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.138%27%2F%3E%3Crect%20x%3D%27289%27%20y%3D%2739%27%20width%3D%2726%27%20height%3D%2753%27%20rx%3D%272.2%27%20fill%3D%27%23F4ECDD%27%20fill-opacity%3D%270.036%27%20stroke%3D%27%23F4ECDD%27%20stroke-opacity%3D%270.134%27%20stroke-width%3D%271%27%2F%3E%3Crect%20x%3D%27292%27%20y%3D%2750%27%20width%3D%2720%27%20height%3D%272.4%27%20rx%3D%271.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.184%27%2F%3E%3Crect%20x%3D%270%27%20y%3D%2792%27%20width%3D%27320%27%20height%3D%272.4%27%20rx%3D%271.2%27%20fill%3D%27%23E7CE94%27%20fill-opacity%3D%270.16%27%2F%3E%3Crect%20x%3D%270%27%20y%3D%2794.4%27%20width%3D%27320%27%20height%3D%271.4%27%20fill%3D%27%23000000%27%20fill-opacity%3D%270.10%27%2F%3E%3C%2Fsvg%3E");
  background-repeat:repeat;
  background-size:300px 96px;
  background-position:center top;
  opacity:.42;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 66%,transparent 100%), linear-gradient(to right,#000 0%,#000 50%,rgba(0,0,0,.5) 100%);
  -webkit-mask-composite:source-in;
          mask-image:linear-gradient(180deg,#000 0%,#000 66%,transparent 100%), linear-gradient(to right,#000 0%,#000 50%,rgba(0,0,0,.5) 100%);
          mask-composite:intersect;
}

/* ============================================================================
   v30 · showcase rails as a RESPONSIVE GRID (vertical cards, no horizontal scroll)
   columns by viewport: wide 5 · desktop 4 · tablet 3 · large-phone 2 · mobile 1
   ============================================================================ */
.library-book-rail{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  grid-auto-flow:row;
  gap:1.15rem;
  overflow:visible;
  padding:.15rem 0 .2rem;
  scroll-snap-type:none;
}
.library-book-rail .book-card{ width:auto; min-width:0; max-width:none; }
@media (max-width:1279px){ .library-book-rail{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:1000px){ .library-book-rail{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; } }
@media (max-width:760px){ .library-book-rail{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; } }
@media (max-width:520px){
  .library-book-rail{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
  /* compact body so 2-up stays well-proportioned and the cards don't get tall */
  .library-book-rail .book-card__cover-link{ padding:.5rem .5rem 0; }
  .library-book-rail .book-card__body{ gap:.2rem; padding:.55rem .62rem .68rem; }
  .library-book-rail .book-card__subtitle{ display:none; }
  .library-book-rail .book-card__badges{ flex-wrap:nowrap; overflow:hidden; gap:.22rem; }
  .library-book-rail .book-card__badges span{ font-size:.53rem; padding:.1rem .34rem; }
  .library-book-rail .book-card__body h2{ font-size:.83rem; line-height:1.34; }
  .library-book-rail .book-card__authors{ font-size:.71rem; }
  .library-book-rail .book-card__meta{ font-size:.63rem; gap:.22rem .4rem; }
  .library-book-rail .book-card__meta span:nth-child(n+4){ display:none; }
  .library-book-rail .book-card__footer{ padding-top:.42rem; gap:.32rem; }
  .library-book-rail .book-card__price strong{ font-size:.9rem; }
  .library-book-rail .book-card__price del{ font-size:.64rem; }
  .library-book-rail .book-card__price small{ font-size:.6rem; }
  .library-book-rail .book-card__actions{ gap:.3rem; }
  .library-book-rail .book-card__actions .btn{ padding:.44rem .4rem; font-size:.7rem; white-space:nowrap; min-width:0; }
}

/* ============================================================================
   v32 · center the library hero panel when the hero stacks (tablet & mobile)
   forced with !important so nothing can pin it back to the inline-start/right
   ============================================================================ */
@media (max-width:980px){
  .cat-hero__grid{ justify-items:center; }
  .cat-hero__grid > .cat-hero__copy{ justify-self:stretch; width:100%; }
  .cat-hero__panel{
    justify-self:center !important;
    align-self:start;
    margin-inline:auto !important;
    width:100% !important;
    max-width:460px !important;
  }
}

/* ============================================================================
   v36 · collection/browse page — mobile fixes
   (1) results grid → 2 books per row on phones (was 1)
   (2) sort buttons → fully stacked (no horizontal overflow)
   ============================================================================ */
/* lighter & smaller sort pills overall */
.catalog-sort-buttons__item{ font-weight:600; font-size:.76rem; }
@media (max-width:560px){
  .catalog-browse__book-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
  /* side-by-side, balanced, wrapping inside the box (no overflow, no full stack) */
  .catalog-sort-buttons{ display:flex; flex-direction:row; flex-wrap:wrap; align-items:stretch; gap:.42rem; overflow:visible; }
  .catalog-sort-buttons__item{ flex:1 1 auto; width:auto; font-size:.72rem; padding:.5rem .62rem; }
}
