/* ===== Shop (books) ===== */
:root { --shop-brand: #a78871; --shop-brand-dark: #4F3E31; --shop-bg: #faf7f4; --shop-border: #ece4dc; }
.shop-wrap { padding: 50px 0 80px; background: #fff; }
.shop-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin-bottom: 26px; }
.shop-toolbar form { display: flex; flex-wrap: wrap; gap: 8px; }
.shop-toolbar .form-control, .shop-toolbar .form-select { border-radius: 30px; border-color: var(--shop-border); font-size: 14px; }
.shop-search { min-width: 240px; }
.shop-count { color: #777; font-size: 14px; }

.book-card { border: 1px solid var(--shop-border); border-radius: 14px; overflow: hidden; height: 100%; display: flex; flex-direction: column; background: #fff; transition: box-shadow .2s, transform .2s; }
.book-card:hover { box-shadow: 0 12px 30px rgba(79, 62, 49, .12); transform: translateY(-3px); }
.book-card .cover { position: relative; display: block; background: var(--shop-bg); aspect-ratio: 3 / 4; overflow: hidden; }
.book-card .cover img { width: 100%; height: 100%; object-fit: cover; }
.book-card .badge-off { position: absolute; top: 10px; left: 10px; background: var(--shop-brand-dark); color: #fff; font-size: 11px; font-weight: 700; padding: 4px 9px; border-radius: 20px; }
.book-card .badge-oos { position: absolute; inset: auto 0 0 0; background: rgba(0,0,0,.65); color: #fff; text-align: center; font-size: 13px; padding: 6px; }
.book-card .body { padding: 14px 16px 16px; display: flex; flex-direction: column; flex: 1; }
.book-card .title { font-size: 16px; font-weight: 600; color: #222; line-height: 1.3; margin-bottom: 4px; text-decoration: none; }
.book-card .title:hover { color: var(--shop-brand); }
.book-card .author { font-size: 13px; color: #888; margin-bottom: 10px; }
.book-card .foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 8px; }

.price { font-size: 18px; font-weight: 700; color: var(--shop-brand-dark); }
.price .mrp { font-size: 13px; color: #999; font-weight: 400; text-decoration: line-through; margin-left: 6px; }
.price .off { font-size: 13px; color: #2e7d32; font-weight: 600; margin-left: 6px; }

.btn-shop { background: var(--shop-brand); color: #fff; border: 0; border-radius: 30px; padding: 9px 20px; font-weight: 600; font-size: 14px; transition: background .2s; }
.btn-shop:hover, .btn-shop:focus { background: #967563; color: #fff; }
.btn-shop:disabled { background: #ccc; color: #fff; }
.btn-shop-outline { background: #fff; color: var(--shop-brand-dark); border: 1.5px solid var(--shop-brand); border-radius: 30px; padding: 8px 20px; font-weight: 600; font-size: 14px; }
.btn-shop-outline:hover { background: var(--shop-bg); color: var(--shop-brand-dark); }
.btn-shop-sm { padding: 6px 14px; font-size: 13px; }

.stock-badge { display: inline-block; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 20px; }
.stock-badge.in { background: #e8f5e9; color: #2e7d32; }
.stock-badge.low { background: #fff3e0; color: #e65100; }
.stock-badge.out { background: #fdecea; color: #c62828; }

/* Book detail */
.book-gallery .main { background: var(--shop-bg); border-radius: 14px; overflow: hidden; aspect-ratio: 3/4; display: flex; align-items: center; justify-content: center; }
.book-gallery .main img { width: 100%; height: 100%; object-fit: contain; }
.book-gallery .thumbs { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.book-gallery .thumbs img { width: 64px; height: 84px; object-fit: cover; border-radius: 8px; border: 2px solid transparent; cursor: pointer; }
.book-gallery .thumbs img.active { border-color: var(--shop-brand); }
.book-info h1 { font-size: 30px; font-weight: 700; color: #222; margin-bottom: 6px; }
.book-info .by { color: #777; margin-bottom: 14px; }
.book-info .price { font-size: 26px; }
.book-info .tax-note { font-size: 12px; color: #888; }
.qty-box { display: inline-flex; align-items: center; border: 1px solid var(--shop-border); border-radius: 30px; overflow: hidden; }
.qty-box button { background: #fff; border: 0; width: 38px; height: 38px; font-size: 18px; color: var(--shop-brand-dark); }
.qty-box input { width: 46px; text-align: center; border: 0; font-weight: 600; -moz-appearance: textfield; }
.qty-box input::-webkit-outer-spin-button, .qty-box input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pin-check { background: var(--shop-bg); border-radius: 12px; padding: 14px 16px; margin-top: 20px; }
.pin-check .input-group .form-control { border-radius: 30px 0 0 30px; }
.pin-check .input-group .btn { border-radius: 0 30px 30px 0; }
.book-details-table td { padding: 6px 0; font-size: 14px; }
.book-details-table td:first-child { color: #888; width: 140px; }
.book-desc { line-height: 1.75; color: #444; }

/* Cart & checkout */
.shop-panel { border: 1px solid var(--shop-border); border-radius: 14px; background: #fff; padding: 20px; margin-bottom: 20px; }
.shop-panel h4 { font-size: 17px; font-weight: 700; color: var(--shop-brand-dark); margin-bottom: 16px; }
.cart-line { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px solid #f1ebe5; align-items: center; }
.cart-line:last-child { border-bottom: 0; }
.cart-line img { width: 64px; height: 86px; object-fit: cover; border-radius: 8px; background: var(--shop-bg); }
.cart-line .info { flex: 1; min-width: 0; }
.cart-line .info a { color: #222; font-weight: 600; text-decoration: none; }
.cart-line .remove-item { color: #c62828; font-size: 13px; background: none; border: 0; padding: 0; }
.summary-row { display: flex; justify-content: space-between; padding: 6px 0; font-size: 14px; }
.summary-row.total { font-size: 18px; font-weight: 700; color: var(--shop-brand-dark); border-top: 1px solid var(--shop-border); margin-top: 6px; padding-top: 12px; }
.free-ship-note { background: #e8f5e9; color: #2e7d32; border-radius: 8px; padding: 8px 12px; font-size: 13px; margin-bottom: 10px; }
.address-option { border: 1.5px solid var(--shop-border); border-radius: 12px; padding: 14px 16px; margin-bottom: 10px; cursor: pointer; display: flex; gap: 12px; align-items: flex-start; }
.address-option.selected { border-color: var(--shop-brand); background: var(--shop-bg); }
.address-option input { margin-top: 4px; accent-color: var(--shop-brand); }
.secure-note { font-size: 12px; color: #888; text-align: center; margin-top: 10px; }

/* Status / account */
.order-status-pill { display: inline-block; font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 20px; background: var(--shop-bg); color: var(--shop-brand-dark); }
.order-status-pill.success { background: #e8f5e9; color: #2e7d32; }
.order-status-pill.danger { background: #fdecea; color: #c62828; }
.order-status-pill.warning { background: #fff3e0; color: #e65100; }
.track-steps { display: flex; justify-content: space-between; margin: 20px 0 10px; position: relative; }
.track-steps:before { content: ''; position: absolute; top: 14px; left: 8%; right: 8%; height: 3px; background: #eee; }
.track-steps .step { position: relative; text-align: center; flex: 1; font-size: 12px; color: #999; }
.track-steps .step .dot { width: 30px; height: 30px; border-radius: 50%; background: #eee; margin: 0 auto 6px; display: flex; align-items: center; justify-content: center; color: #fff; position: relative; z-index: 1; }
.track-steps .step.done .dot { background: var(--shop-brand); }
.track-steps .step.done { color: var(--shop-brand-dark); font-weight: 600; }
.timeline-list { list-style: none; padding: 0; margin: 0; }
.timeline-list li { border-left: 2px solid var(--shop-border); padding: 0 0 14px 18px; position: relative; font-size: 14px; }
.timeline-list li:before { content: ''; position: absolute; left: -7px; top: 3px; width: 12px; height: 12px; border-radius: 50%; background: var(--shop-brand); }
.timeline-list small { color: #888; }
.account-nav a { display: inline-block; margin: 0 6px 10px 0; padding: 7px 16px; border-radius: 30px; border: 1px solid var(--shop-border); color: var(--shop-brand-dark); text-decoration: none; font-size: 14px; }
.account-nav a.active { background: var(--shop-brand); border-color: var(--shop-brand); color: #fff; }
.result-icon { width: 80px; height: 80px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; font-size: 40px; color: #fff; }
.result-icon.ok { background: #43a047; } .result-icon.fail { background: #e53935; }

.shop-cart-icon .count-badge { font-size: 10px; }
@media (max-width: 767px) {
    .shop-wrap { padding: 30px 0 60px; }
    .book-info h1 { font-size: 24px; }
    .book-card .title { font-size: 14px; }
    .book-card .foot { flex-direction: column; align-items: stretch; }
    .book-card .foot .btn-shop { width: 100%; }
    .price { font-size: 16px; }
    .track-steps .step { font-size: 10px; }
}
