/* Touch-first layout refinements for phones and small tablets. */
@media (max-width:991.98px){
  .site-header .navbar{padding-block:.7rem!important}
  .navbar-toggler{border:1px solid #e3dfeb;border-radius:12px;padding:.38rem .55rem}
  .navbar-collapse{margin-top:.8rem;padding:1rem;background:#fff;border:1px solid #eeeaf4;border-radius:16px;box-shadow:0 12px 28px #242a5512}
  .navbar-nav{gap:.15rem!important;margin-bottom:.75rem}
  .nav-link{padding:.65rem .8rem!important;border-radius:10px}
  .nav-link.active{background:#f1effc}
  .navbar-collapse>.d-flex{justify-content:space-between;border-top:1px solid #f0eef4;padding-top:.8rem}
  .catalogue-tools{display:grid;grid-template-columns:1fr auto;gap:.65rem}
  .catalogue-tools input{grid-column:1/-1}
  .catalogue-tools .form-control,.catalogue-tools .form-select{min-height:45px}
  .cart-row{flex-wrap:wrap;gap:.75rem}
  .cart-row>strong{margin-inline-start:auto}
  .cart-row .quantity-control{order:4}
  .cart-row form:last-child{order:5}
}
@media (max-width:575.98px){
  body{background:#fbfafc}
  .container{padding-inline:1rem}
  .brand-lockup{transform:scale(.9);transform-origin:right center}
  .site-header .navbar{min-height:64px}
  .navbar-collapse>.d-flex{gap:.4rem!important}
  .navbar-collapse>.d-flex .btn{font-size:.78rem;padding:.45rem .65rem!important}
  .cart-button{width:36px;height:36px;display:grid;place-items:center;padding:0}
  .hero-section{padding:2.7rem 0 1.4rem;text-align:right}
  .hero-section h1{font-size:2.45rem;line-height:1.28;margin:.7rem 0}
  .lead{font-size:.93rem;line-height:1.9;margin-bottom:1.25rem}
  .hero-art{height:185px;max-width:290px;margin:1.15rem auto 0;transform:scale(.64)!important;transform-origin:top center}
  .hero-quote{bottom:0}
  .catalogue-section{padding-block:2.5rem!important}
  .catalogue-section h2{font-size:1.45rem;line-height:1.5}
  .all-books-link{font-size:.78rem}
  .catalogue-tools .btn{padding-inline:1rem!important}
  .book-grid{--bs-gutter-x:.75rem;--bs-gutter-y:.9rem}
  .book-grid .book-card{border-radius:15px}
  .book-grid .book-image-wrap{height:190px}
  .book-grid .book-image{height:165px;max-width:88%;padding:0}
  .book-grid .category-badge{top:8px;right:8px;padding:.22rem .5rem;font-size:.6rem}
  .book-grid .heart-button{display:grid;width:31px;height:31px;left:8px;top:8px;opacity:1}
  .book-grid .book-content{padding:.65rem}
  .book-grid .book-author{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.12rem}
  .book-grid .book-content h3{height:2.9em;overflow:hidden;line-height:1.45}
  .book-grid .book-price{font-size:.86rem}
  .book-grid .add-cart-btn{width:100%;height:auto;padding:.48rem .5rem}
  .reading-banner{border-radius:16px;font-size:.88rem}
  .reading-banner>span{font-size:2rem}
  .reading-banner a{font-size:.85rem}
  .page-shell{min-height:64vh}
  .page-title{font-size:1.8rem;line-height:1.4}
  .back-link{font-size:.85rem}
  .detail-cover{height:auto}
  .detail-description{font-size:.92rem;line-height:1.95}
  .detail-meta{gap:.45rem;margin:1rem 0}
  .detail-meta span{padding:.58rem .65rem;font-size:.76rem}
  .detail-price{font-size:1.45rem}
  .quantity-control-large{align-self:center}
  .detail-purchase{gap:.5rem}
  .add-detail-btn{font-size:.86rem;padding:.68rem .8rem}
  .cart-list{border-radius:16px}
  .cart-row{padding:.8rem;display:grid;grid-template-columns:56px 1fr auto;align-items:center}
  .cart-row img{width:56px;height:72px}
  .cart-row>div.flex-grow-1{min-width:0}
  .cart-row h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cart-row>strong{font-size:.85rem;white-space:nowrap}
  .cart-row .quantity-control{grid-column:2/3;grid-row:2;margin-top:-.2rem;justify-self:start}
  .cart-row form:last-child{grid-column:3/4;grid-row:2;justify-self:end}
  .order-summary{position:static;padding:1.25rem;border-radius:16px}
  .checkout-form{padding:1.25rem;border-radius:16px}
  .auth-page{min-height:calc(100vh - 64px);padding:1rem 0;align-items:start}
  .auth-dialog{width:100%;border-radius:18px;padding:1.7rem 1.2rem;box-shadow:0 12px 35px #17243d20}
  .auth-brand{margin-bottom:1.3rem}
  .auth-dialog h1{font-size:1.55rem}
  .admin-table-wrap{border-radius:14px}
  .admin-stats{gap:.65rem}
  .toast-message{left:1rem;right:1rem;top:75px;text-align:center;font-size:.85rem}
}
