.dl-catalog-head{background:#2c2419;color:#f4efe6;padding:2.25rem 0;text-align:center}
.dl-catalog-head h1{font-size:clamp(1.3rem,3vw,1.75rem);font-weight:800;margin-bottom:.55rem;font-family:"Georgia",serif}
.dl-catalog-head p{color:#c9b896;font-size:.92rem;max-width:580px;margin:0 auto}
.dl-dewey{font-family:"Courier New",monospace;font-size:.78rem;color:#8b6914;margin-top:.65rem}

.spine-wall{background:#6b3a2a;padding:2.5rem 0}
.spine-row{display:flex;justify-content:center;flex-wrap:wrap;gap:.65rem;max-width:900px;margin:0 auto}
.spine-vol{width:72px;min-height:220px;background:#1a5c45;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:.85rem .35rem 1rem;cursor:default;border-top:4px solid #8b6914;text-decoration:none!important;color:#fff!important}
.spine-vol:nth-child(2){background:#2c5a4a;min-height:240px}
.spine-vol:nth-child(3){background:#8b6914;min-height:200px}
.spine-vol:nth-child(4){background:#4a3020;min-height:230px}
.spine-vol:hover{filter:brightness(1.08)}
.spine-vol.priority{outline:2px solid #f4efe6;outline-offset:2px}
.spine-label{writing-mode:vertical-rl;text-orientation:mixed;font-size:.72rem;font-weight:800;letter-spacing:.08em;margin-bottom:.5rem}
.spine-code{font-family:"Courier New",monospace;font-size:.62rem;opacity:.85}

.spine-detail{background:#f4efe6;padding:2rem 0}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.detail-vol{background:#fff;border:1px solid #d4c4a8;padding:1.15rem;display:grid;grid-template-columns:120px 1fr;gap:1rem;align-items:center}
.detail-vol img{border:1px solid #d4c4a8;width:100%}
.detail-vol h2{font-size:1rem;color:#2c2419;margin-bottom:.35rem;font-weight:800}
.detail-vol p{font-size:.84rem;color:#6b5d4d;margin-bottom:.6rem}
.detail-call{font-family:"Courier New",monospace;font-size:.72rem;color:#8b6914;margin-bottom:.45rem}
.btn-borrow{display:inline-block;background:#1a5c45;color:#fff!important;padding:.45rem .95rem;font-size:.82rem;font-weight:800;text-decoration:none!important}

.dl-shelf-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}
.dl-mini{background:#fff;border:1px solid #d4c4a8;padding:1rem;text-align:center;border-top:4px solid #6b3a2a}
.dl-mini h3{font-size:.9rem;font-weight:800;margin-bottom:.35rem;color:#2c2419}
.dl-mini p{font-size:.82rem;color:#6b5d4d}

.dl-steps{display:flex;gap:1rem;flex-wrap:wrap}
.dl-step{flex:1;min-width:180px;background:#fff;border:1px solid #d4c4a8;padding:1rem;border-left:4px solid #8b6914}
.dl-step-num{font-family:"Courier New",monospace;font-size:.7rem;color:#8b6914;font-weight:800}
.dl-step h3{font-size:.9rem;font-weight:800;margin:.35rem 0;color:#2c2419}
.dl-step p{font-size:.82rem;color:#6b5d4d}

.dl-drawer{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.dl-drawer-col{background:#fff;border:1px solid #d4c4a8;padding:1rem}
.dl-drawer-col h3{font-size:.88rem;color:#1a5c45;margin-bottom:.55rem;font-weight:800}
.dl-drawer-col li{font-size:.82rem;color:#6b5d4d;padding:.28rem 0;border-bottom:1px dashed #e8dfd0}
.dl-drawer-col li:last-child{border-bottom:none}

.dl-loan-cta{text-align:center;padding:2.5rem 0;background:#ebe3d4;border-top:1px solid #d4c4a8}
.dl-loan-cta h2{font-size:1.2rem;font-weight:800;margin-bottom:.4rem;font-family:"Georgia",serif;color:#2c2419}

@media(max-width:768px){
  .detail-grid,.dl-drawer{grid-template-columns:1fr}
  .detail-vol{grid-template-columns:1fr;text-align:center}
  .detail-vol img{max-width:160px;margin:0 auto}
  .dl-shelf-mini{grid-template-columns:1fr}
  .spine-row{gap:.45rem}
  .spine-vol{width:60px;min-height:180px}
}
