/* Online Books: storefront, cart, My Books. Matches the site's teal and gold. */
.bk-wrap { margin-top: 110px; padding-bottom: 3rem; color: #241f1a; }
.bk-wrap h1, .bk-wrap h2, .bk-wrap h3 { font-family: 'Playfair Display', Georgia, serif; color: #0e2622; }
.bk-hero { background: linear-gradient(135deg, #1a3d38 0%, #0e2622 100%); color: #fff; border-radius: 16px; padding: 2rem 2.25rem; margin-bottom: 2rem; box-shadow: 0 10px 30px rgba(14,38,34,.15); }
.bk-hero h1 { color: #fff; margin: 0 0 .35rem; font-size: 2rem; }
.bk-hero p { margin: 0; color: #d4b483; }
.bk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1.5rem; }
.bk-card { background: #fff; border-radius: 14px; box-shadow: 0 6px 24px rgba(14,38,34,.09); overflow: hidden; display: flex; flex-direction: column; }
.bk-cover { aspect-ratio: 3 / 4; background: linear-gradient(160deg, #1a3d38, #0e2622); display: flex; align-items: center; justify-content: center; color: #d4b483; font-family: 'Playfair Display', Georgia, serif; font-size: 1.3rem; text-align: center; padding: 1rem; }
.bk-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bk-body { padding: 1rem 1.1rem 1.2rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.bk-title { font-family: 'Playfair Display', Georgia, serif; font-size: 1.15rem; margin: 0; }
.bk-title a { color: #0e2622; text-decoration: none; }
.bk-desc { color: #6b6058; font-size: .9rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.bk-price { font-weight: 700; font-size: 1.2rem; color: #1a3d38; }
.bk-alt { font-size: .78rem; color: #6b6058; margin-top: -.3rem; }
.bk-actions { margin-top: auto; display: flex; flex-direction: column; gap: .5rem; }
.bk-btn { display: inline-block; text-align: center; border: 0; border-radius: 999px; padding: .6rem 1.2rem; font-weight: 700; font-size: .92rem; cursor: pointer; text-decoration: none !important; background: #1a3d38; color: #fff !important; width: 100%; }
.bk-btn:hover { background: #0e2622; }
.bk-btn.gold { background: #b8935a; color: #0e2622 !important; }
.bk-btn.gold:hover { background: #d4b483; }
.bk-btn.line { background: transparent; border: 2px solid #1a3d38; color: #1a3d38 !important; }
.bk-btn.sm { width: auto; padding: .35rem .9rem; font-size: .82rem; }
.bk-msg { background: #fbf7f0; border: 1px solid #ece1d0; border-left: 4px solid #b8935a; border-radius: 10px; padding: .75rem 1rem; margin-bottom: 1rem; }
.bk-msg.err { border-left-color: #c0392b; background: #fdf1ef; }
.bk-msg.ok { border-left-color: #1a7a4a; background: #eef8f2; }
.bk-detail { display: grid; grid-template-columns: 300px 1fr; gap: 2.2rem; background: #fff; border-radius: 16px; padding: 1.8rem; box-shadow: 0 6px 24px rgba(14,38,34,.09); }
.bk-detail .bk-cover { border-radius: 12px; overflow: hidden; }
.bk-detail h1 { font-size: 2rem; margin: 0 0 .5rem; }
.bk-detail .bk-long { white-space: pre-line; color: #3b342d; line-height: 1.7; }
@media (max-width: 760px) { .bk-detail { grid-template-columns: 1fr; } .bk-detail .bk-cover { max-width: 260px; } .bk-hero { padding: 1.4rem; } }
.bk-table { width: 100%; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 6px 24px rgba(14,38,34,.09); border-collapse: collapse; }
.bk-table th { background: #fbf7f0; text-align: left; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: #6b6058; padding: .8rem 1rem; }
.bk-table td { padding: .85rem 1rem; border-top: 1px solid #f1ede2; vertical-align: middle; }
.bk-table img { width: 52px; height: 70px; object-fit: cover; border-radius: 6px; }
.bk-total { text-align: right; font-size: 1.25rem; font-weight: 700; color: #1a3d38; margin: 1.2rem 0; }
.bk-note { font-size: .85rem; color: #6b6058; }
@media (max-width: 640px) { .bk-table, .bk-table tbody, .bk-table tr, .bk-table td { display: block; } .bk-table thead { display: none; } .bk-table tr { border-top: 1px solid #f1ede2; padding: .5rem 0; } .bk-table td { border: 0; padding: .3rem 1rem; } }
