/* HDL Group — enhancement styles (ratings, badges, wishlist, quick-view, recently viewed) */

/* Star rating row */
.hdl-rating-row{display:flex;align-items:center;gap:6px;margin:-2px 0 10px}
.hdl-stars{position:relative;display:inline-block;font-size:0.85rem;line-height:1;letter-spacing:2px}
.hdl-stars-bg{color:var(--border)}
.hdl-stars-fg{position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap;color:var(--gold)}
.hdl-rating-num{font-family:'Jost',sans-serif;font-size:0.74rem;font-weight:700;color:var(--navy)}
.hdl-rating-count{font-family:'Jost',sans-serif;font-size:0.7rem;color:var(--muted)}
body.dark-mode .hdl-rating-num{color:#e8e4dc}

/* Cart-interest social proof line */
.hdl-cart-interest{font-family:'Jost',sans-serif;font-size:0.68rem;color:var(--muted);margin:-6px 0 12px;display:flex;align-items:center;gap:5px}

/* Badges (top-right of cover, mirrors existing premium badge on the left) */
.hdl-badge{position:absolute;top:12px;left:12px;z-index:5;font-family:'Jost',sans-serif;font-size:0.58rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:5px 10px;border-radius:20px;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,0.18)}
.book-card-premium .hdl-badge{top:48px}
.hdl-badge-trending{background:#c0392b}
.hdl-badge-bestseller{background:var(--gold)}
.hdl-badge-editors-pick{background:var(--navy)}
.hdl-badge-staff-pick{background:#2E5D4B}

/* Skeleton shimmer while cover loads */
.book-cover.hdl-loading{background:linear-gradient(100deg,#eee8da 30%,#f7f2e5 45%,#eee8da 60%);background-size:200% 100%;animation:hdlShimmer 1.3s ease-in-out infinite}
@keyframes hdlShimmer{0%{background-position:150% 0}100%{background-position:-50% 0}}
body.dark-mode .book-cover.hdl-loading{background:linear-gradient(100deg,#171c27 30%,#20263380 45%,#171c27 60%);background-size:200% 100%}

/* Save/wishlist button — sits alongside existing like/share buttons */
.hdl-save-btn.active{color:var(--gold)}
.hdl-save-btn.active svg{fill:var(--gold);stroke:var(--gold)}
.hdl-save-btn.pulse svg{animation:likePulse 0.4s ease}

/* Floating wishlist pill */
.hdl-wl-pill{display:none;align-items:center;gap:8px;position:fixed;left:20px;bottom:96px;z-index:895;background:var(--navy);color:#fff;border:none;border-radius:24px;padding:10px 16px;font-family:'Jost',sans-serif;font-size:0.72rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,0.25);transition:transform 0.2s,background 0.2s}
.hdl-wl-pill:hover{background:var(--gold);transform:translateY(-2px)}
.hdl-wl-pill svg{width:15px;height:15px}
.hdl-wl-count{background:rgba(255,255,255,0.22);border-radius:10px;padding:1px 7px;font-size:0.68rem}
@media(max-width:900px){.hdl-wl-pill{left:12px;bottom:80px}}

/* Shared modal chrome (wishlist + quick view) */
.hdl-modal-backdrop{position:fixed;inset:0;background:rgba(10,14,22,0.88);z-index:10003;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px)}
.hdl-modal-backdrop.open{display:flex}
.hdl-modal-box{background:var(--white);border-radius:12px;max-width:520px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 32px 80px rgba(0,0,0,0.5);position:relative}
.hdl-modal-head{background:var(--navy-deep);padding:22px 28px;border-radius:12px 12px 0 0;display:flex;align-items:center;justify-content:space-between}
.hdl-modal-head h2{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;color:#fff}
.hdl-modal-head h2 em{font-style:italic;color:var(--gold)}
.hdl-modal-close{background:none;border:none;color:rgba(255,255,255,0.5);font-size:1.4rem;cursor:pointer;line-height:1;padding:4px 8px;transition:color 0.2s}
.hdl-modal-close:hover{color:#fff}
.hdl-modal-body{padding:20px 24px}
.hdl-empty{font-family:'Jost',sans-serif;font-size:0.85rem;color:var(--muted);text-align:center;padding:24px 0}

/* Wishlist rows */
.hdl-mini-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}
.hdl-mini-row:last-child{border-bottom:none}
.hdl-mini-row img{width:44px;height:58px;object-fit:cover;border-radius:3px;box-shadow:0 3px 10px rgba(0,0,0,0.15);flex-shrink:0}
.hdl-mini-info{flex:1;display:flex;flex-direction:column;gap:2px;font-family:'Jost',sans-serif}
.hdl-mini-info strong{font-family:'Lora',serif;font-size:0.88rem;color:var(--navy)}
.hdl-mini-info span{font-size:0.72rem;color:var(--muted)}
.hdl-mini-cta{font-family:'Jost',sans-serif;font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--navy);border:1px solid var(--navy);border-radius:20px;padding:6px 14px;text-decoration:none;flex-shrink:0;transition:all 0.2s}
.hdl-mini-cta:hover{background:var(--navy);color:#fff}

/* Recently viewed strip */
.hdl-recent-strip{margin-bottom:32px}
.hdl-recent-label{font-family:'Jost',sans-serif;font-size:0.65rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.hdl-recent-track{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px}
.hdl-recent-item{flex-shrink:0;width:88px;cursor:pointer;text-align:center}
.hdl-recent-item img{width:88px;height:118px;object-fit:cover;border-radius:4px;box-shadow:0 6px 18px rgba(0,0,0,0.14);transition:transform 0.2s}
.hdl-recent-item:hover img{transform:translateY(-3px)}
.hdl-recent-item span{display:block;font-family:'Jost',sans-serif;font-size:0.66rem;color:var(--muted);margin-top:6px;line-height:1.3}

/* Quick-view modal */
.hdl-qv-box{max-width:760px}
.hdl-qv-close{position:absolute;top:14px;right:16px;z-index:2;background:rgba(0,0,0,0.35);color:#fff;border-radius:50%;width:32px;height:32px}
.hdl-qv-body{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:28px}
@media(max-width:640px){.hdl-qv-body{grid-template-columns:1fr;padding:20px}}
.hdl-qv-cover{width:100%;border-radius:6px;box-shadow:0 16px 40px rgba(0,0,0,0.25)}
.hdl-qv-tag{font-family:'Jost',sans-serif;font-size:0.62rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:8px}
.hdl-qv-info h2{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;color:var(--navy);margin-bottom:8px;line-height:1.25}
.hdl-qv-price{font-family:'Jost',sans-serif;font-size:0.85rem;font-weight:700;color:var(--navy);margin-bottom:12px}
.hdl-qv-desc{font-family:'Jost',sans-serif;font-size:0.82rem;color:var(--muted);line-height:1.65;margin-bottom:18px}
.hdl-qv-section-label{font-family:'Jost',sans-serif;font-size:0.62rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin:20px 0 10px;padding-top:16px;border-top:1px solid var(--border)}
.hdl-qv-pairs{display:flex;flex-direction:column;gap:10px}
.hdl-qv-pair-card{display:flex;align-items:center;gap:12px;cursor:pointer;padding:6px;border-radius:6px;transition:background 0.2s}
.hdl-qv-pair-card:hover{background:var(--gold-light)}
.hdl-qv-pair-card img{width:36px;height:48px;object-fit:cover;border-radius:3px;flex-shrink:0;box-shadow:0 3px 8px rgba(0,0,0,0.15)}
.hdl-qv-pair-card strong{display:block;font-family:'Lora',serif;font-size:0.8rem;color:var(--navy)}
.hdl-qv-pair-card span{font-family:'Jost',sans-serif;font-size:0.7rem;color:var(--muted)}
body.dark-mode .hdl-modal-box,body.dark-mode .hdl-mini-info strong,body.dark-mode .hdl-qv-info h2{background:#161b25}
body.dark-mode .hdl-qv-info h2,body.dark-mode .hdl-mini-info strong,body.dark-mode .hdl-qv-pair-card strong{color:#e8e4dc}

/* Print stylesheet — hide chrome, keep reading content legible when saved/printed */
@media print{
  header,nav,footer,#btc-ticker,.ticker-scroll-wrap,.hdl-modal-box,.hdl-qv-pairs,
  button,.btn,.btn-primary,.btn-secondary,#dyslexia-toggle,.hdl-fb-widget,
  .cookie-consent,#cookie-banner{display:none!important;}
  body{background:#fff!important;color:#111!important;}
  a{color:#111!important;text-decoration:underline!important;}
  main,article{max-width:100%!important;padding:0!important;margin:0!important;}
}

/* Quick Facts / Best-For panel — responsive stack on mobile */
@media(max-width:640px){.hdl-quickfacts{grid-template-columns:1fr!important}.hdl-quickfacts>div{border-right:none!important;border-bottom:1px solid #E8E3D9}.hdl-quickfacts>div:last-child{border-bottom:none}}
