.book-page-layout { display: flex; gap: 30px; }
.book-aside { flex: 0 0 300px; }
.book-main { flex: 1; min-width: 0; }
.tabs-nav { display: flex; gap: 20px; border-bottom: 1px solid var(--border-color); margin-bottom: 25px; }
.tab-link { padding: 12px 0; cursor: pointer; font-weight: 700; color: var(--text-muted); text-transform: uppercase; font-size: 13px; }
.tab-link.active { color: var(--accent-color); border-bottom: 2px solid var(--accent-color); }

.chapter-item { padding: 20px; border-bottom: 1px solid var(--border-color); display: block; }
.chapter-title-block { margin-bottom: 12px; }
.chapter-title-link { font-size: 17px; font-weight: 800; color: var(--text-main); text-decoration: none; display: block; line-height: 1.3; }

.chapter-controls-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 15px; }
.chapter-meta-tags { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.chapter-admin-btns { display: flex; gap: 8px; }

.meta-badge { font-size: 11px; font-weight: 800; padding: 3px 8px; border-radius: 4px; background: var(--card-bg); border: 1px solid var(--border-color); color: var(--text-muted); }
.badge-paid { color: #2ecc71; border-color: #2ecc71; }
.badge-read { color: var(--accent-color); border-color: var(--accent-color); }
.btn-tool { width: 34px; height: 34px; border-radius: 6px; display: flex; align-items: center; justify-content: center; color: #fff; text-decoration: none; border: none; cursor: pointer; }

.genre-tag { background: var(--card-bg); padding: 6px 14px; border-radius: 20px; font-size: 12px; text-decoration: none; color: var(--text-main); border: 1px solid var(--border-color); }

.blocked-notice { background: rgba(231, 76, 60, 0.15); border: 1px solid #e74c3c; color: #ff8a65; padding: 15px; border-radius: 10px; margin-bottom: 25px; font-weight: bold; }

@media (max-width: 992px) {
    .book-page-layout { flex-direction: column; }
    .book-aside { width: 100%; max-width: 350px; margin: 0 auto; }
    .tabs-nav { flex-direction: column; gap: 8px; border-bottom: none; }
    .tab-link { background: var(--card-bg); padding: 15px; border-radius: 10px; border: 1px solid var(--border-color); text-align: center; }
    .tab-link.active { background: var(--accent-color); color: #000; border: none; }
}


.download-widget {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    padding: 18px;
    margin-top: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.download-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(var(--accent-rgb), 0.1);
}
.download-header i {
    color: var(--accent-color);
    font-size: 14px;
}
.download-header span {
    font-size: 11px;
    font-weight: 800;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.download-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.download-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px 5px;
    background: var(--body-bg);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    color: var(--text-main);
    text-decoration: none;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.download-link:hover {
    border-color: var(--accent-color);
    background: rgba(var(--accent-rgb), 0.08);
    transform: translateY(-3px);
    box-shadow: 0 5px 12px rgba(0,0,0,0.2);
}
.download-link i {
    font-size: 18px;
    margin-bottom: 6px;
    color: var(--accent-color);
    opacity: 0.9;
}
.download-link span {
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.5px;
}
/* Адаптивность для совсем маленьких экранов */
@media (max-width: 360px) {
    .download-grid { gap: 5px; }
    .download-link i { font-size: 14px; }
}