.tqq-hot-slider-wrap { margin: 20px auto; }
.tqq-hot-slider-widget { padding: 16px 0 20px; }
.tqq-hot-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 2px solid #f5f6f8; }
.tqq-hot-title-main { margin: 0; font-size: 18px; font-weight: 700; color: #222; display: flex; align-items: center; gap: 8px; }
.tqq-hot-title-main i { color: #fff; background: linear-gradient(135deg,#ff9a3c,#e74c3c); width: 30px; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 15px; flex-shrink: 0; }
.tqq-hot-tabs { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.tqq-tab { background: transparent; border: 1px solid #ddd; border-radius: 20px; padding: 5px 14px; font-size: 13px; cursor: pointer; color: #555; transition: all .15s; }
.tqq-tab:hover { border-color: #e88a00; color: #e88a00; }
.tqq-tab.active { background: #e88a00; border-color: #e88a00; color: #fff; }
.tqq-tab-genre-select { border: 1px solid #ddd; border-radius: 20px; padding: 5px 12px; font-size: 13px; color: #555; background: #fff; }

.tqq-hot-panel .tqq-hot-track { display: flex; gap: 12px; }
.tqq-hot-panel .slick-slide { padding: 0 6px; }
.tqq-hot-panel .slick-list { margin: 0 -6px; }

/* min-width:0 BẮT BUỘC: card là item của CSS Grid/Flex, mà bên trong có
   text "white-space:nowrap" (tiêu đề 1 dòng) - nếu không ép min-width:0,
   trình duyệt sẽ tự nới rộng cả CỘT grid theo đúng độ dài chữ chưa xuống
   dòng (min-content size), khiến thẻ nào tên dài là card to hẳn lên so
   với các thẻ khác cùng hàng dù grid-template-columns đã set cố định. */
.tqq-hot-card { display: block; min-width: 0; border-radius: 10px; transition: transform .2s ease; }
.tqq-hot-card:hover { transform: translateY(-4px); }
.tqq-hot-thumb { position: relative; display: block; border-radius: 8px; overflow: hidden; aspect-ratio: 3/4; background: linear-gradient(135deg,#e9ecf1,#dfe3ea); box-shadow: 0 3px 10px rgba(20,20,30,.10); }
.tqq-hot-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.tqq-hot-card:hover .tqq-hot-thumb img { transform: scale(1.08); }
.tqq-hot-overlay { position: absolute; left: 0; right: 0; bottom: 0; height: 55%; z-index: 1; pointer-events: none; background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0)); }
.tqq-badge-row { position: absolute; top: 7px; left: 7px; right: 7px; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; gap: 4px; }
.tqq-badge { font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 20px; color: #fff; white-space: nowrap; box-shadow: 0 1px 4px rgba(0,0,0,.25); }
.tqq-badge-time { background: rgba(0,0,0,.6); backdrop-filter: blur(2px); min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.tqq-badge-hot { background: linear-gradient(135deg,#ff7a45,#e74c3c); flex-shrink: 0; }
.tqq-bookmark-btn { position: absolute; bottom: 8px; right: 8px; width: 28px; height: 28px; border-radius: 50%; border: none; background: rgba(255,255,255,.92); color: #555; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; box-shadow: 0 2px 6px rgba(0,0,0,.2); transition: all .15s; }
.tqq-bookmark-btn:hover { background: #e88a00; color: #fff; transform: scale(1.08); }
.tqq-bookmark-btn.tqq-bookmarked { background: #e88a00; color: #fff; }
/* Chiều cao cố định 2 dòng (dù tên truyện ngắn hay dài) để hàng "Chương x"
   bên dưới luôn thẳng hàng nhau giữa các thẻ, không bị thò ra thụt vào. */
.tqq-hot-title { margin-top: 9px; font-size: 13px; font-weight: 600; line-height: 1.4; overflow: hidden; text-align: center; }
.tqq-hot-title a { color: #23262b; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tqq-hot-title a:hover { color: #e88a00; }
.tqq-hot-chapter { margin-top: 4px; font-size: 12px; text-align: center; }
.tqq-hot-chapter a { display: block; color: #23262b; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tqq-hot-chapter a:hover { color: #e88a00; }

/* Icon Hot nhấp nháy */
.tqq-badge-hot { animation: tqq-hot-blink 1.2s ease-in-out infinite; }
@keyframes tqq-hot-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: .45; }
}

.tqq-hot-panel { position: relative; min-height: 60px; }
.tqq-hot-panel.tqq-loading::after { content: 'Đang tải...'; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.7); font-size: 13px; color: #888; }
