:root{--primary:#1c1915}
*{box-sizing:border-box}
body{margin:0;background:#f0f0f0;font:14px/1.5 "Helvetica Neue",Helvetica,Arial,"Microsoft YaHei",sans-serif;color:#333}
a{color:#333;text-decoration:none}a:hover{color:var(--primary);text-decoration:underline}
ul{list-style:none;margin:0;padding:0}
.container{width:1170px;max-width:100%;margin:0 auto;padding:0 15px}
.navbar{background:var(--primary);min-height:50px;margin-bottom:20px}
.navbar .container{display:flex;align-items:center;min-height:50px}
.navbar-brand.wordmark{color:#fff;font-size:18px;font-weight:700;letter-spacing:.5px;margin-right:15px}
.navbar-brand:hover{color:#fff;text-decoration:none}
.nav_46f{display:flex;align-items:center;flex:1}
.nav{display:flex}.nav a{display:block;color:#ddd;padding:15px;line-height:20px}
.nav a:hover,.nav a.active{color:#fff;background:rgba(255,255,255,.18);text-decoration:none}
.search_46f{display:flex;margin-left:15px}
.search_46f input{width:170px;height:30px;padding:4px 10px;border:1px solid #ccc;border-radius:3px 0 0 3px}
.btn-info{height:30px;border:1px solid #888;background:#5a554d;color:#fff;padding:0 12px;border-radius:0 3px 3px 0;cursor:pointer}
.hdr-actions{margin-left:auto;display:flex;gap:6px}
.hdr-actions button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:3px;padding:3px 10px;cursor:pointer;font-size:13px}
.row{display:flex;flex-wrap:wrap;margin:0 -15px}
.row>[class*=col-]{padding:0 15px}
.col-md-4{width:33.333%}.col-md-8{width:66.667%}.col-xs-4{width:33.333%}.col-sm-5{width:41.667%}.col-sm-7{width:58.333%}
.col-xs-4 .row{margin:0 -15px}.pl0{padding-left:0!important}
.panel{background:#fff;border:1px solid #ddd;border-radius:4px;margin-bottom:20px}
.panel-heading{padding:10px 15px;border-bottom:1px solid #ddd;background:#f7f7f7;font-weight:700;font-size:14px;border-radius:3px 3px 0 0}
.ico{color:var(--primary);font-size:11px;margin-right:2px}
.pull-right{float:right}.panel-heading .pull-right{font-weight:400;color:var(--primary)}
.panel-body{padding:15px}
.book-coverlist{margin-bottom:15px}
.cover_46f{display:block;padding-top:132%;background-size:cover;background-position:center;border:1px solid #ddd;border-radius:4px;background-color:#eee}
.caption h4{margin:0 0 5px;font-size:16px}.caption small{display:block;margin-bottom:5px}
.text-muted{color:#777}.fs-12{font-size:12px}.fs-14{font-size:14px}.fs-16{font-size:16px}.text-justify{text-align:justify;margin:0 0 6px;color:#777}
.btn-add{font-size:12px;border:1px solid var(--primary);background:#fff;color:var(--primary);border-radius:3px;padding:1px 8px;cursor:pointer}
.list-top li{border-bottom:1px solid #eee}
.list-group-item{display:block;padding:8px 15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.list-group-item span{color:#999;margin-left:10px}
.table{width:100%;border-collapse:collapse}.table td{padding:8px 10px;border-top:1px solid #eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.text-right{text-align:right}.text-center{text-align:center}.clear{clear:both;width:100%}
.footer_46f{padding:20px 0;color:#777;font-size:12px;border-top:1px solid #ddd;background:#fff;margin-top:20px}.footer_46f p{margin:2px 0}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:100}
.overlay[hidden]{display:none}
.dialog{background:#fff;border-radius:4px;padding:24px;width:360px;max-width:92%;position:relative}
.dialog h3{margin:0 0 14px}.close{position:absolute;top:8px;right:12px;border:0;background:none;font-size:24px;cursor:pointer}
.auth input{display:block;width:100%;margin-bottom:10px;padding:8px;border:1px solid #ccc;border-radius:3px}
.auth button{background:var(--primary);color:#fff;border:0;padding:8px 18px;border-radius:3px;cursor:pointer}
.msg{color:#b00020;min-height:20px;margin:0 0 8px}.msg.ok{color:#1a7f37}
#cart-items li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #eee}
#cart-items button{border:0;background:none;color:var(--primary);cursor:pointer}
.site-header{display:flex;gap:16px;padding:14px 20px;background:var(--primary)}.site-header a{color:#fff}
main{padding:20px}
@media(max-width:768px){.col-md-4,.col-md-8{width:100%}.nav_46f{flex-wrap:wrap}}
