/* Novellion Audio — Author: Treato Team. Uses the theme's colour variables. */
.nva-filter { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.2rem; }
.nva-filter__pill {
  padding: 0.35rem 0.9rem; border: 1px solid var(--nv-border); border-radius: 999px;
  color: var(--nv-text); text-decoration: none; font-size: 0.92rem;
}
.nva-filter--local .nva-filter__pill { font-family: inherit; background: transparent; color: var(--nv-text); cursor: pointer; }
.nva-filter__pill.is-active, .nva-filter__pill:hover { border-color: var(--nv-accent); background: var(--nv-accent-soft); }
.nva-filter--access { margin-top: -0.6rem; align-items: center; }
.nva-filter__sep { width: 1px; align-self: stretch; margin: 0 0.3rem; background: var(--nv-border); }
.nva-series { margin: 0 0 2rem; }
.nva-series__title { font-size: 1.25rem; margin: 0 0 0.8rem; }
.nva-series__count { font-size: 0.8rem; font-weight: 400; color: var(--nv-text-soft); margin-left: 0.4rem; }
.nva-catalogue__intro { color: var(--nv-text-soft); margin: 0 0 1rem; }

.nva-cover { position: relative; overflow: hidden; border-radius: 6px; background: #000; }
.nva-cover__img { width: 100%; aspect-ratio: 3 / 4; object-fit: contain; display: block; background: #000; }
.nva-cover__ph { width: 100%; aspect-ratio: 3 / 4; display: flex; align-items: center; justify-content: center; font-size: 3rem; background: var(--nv-bg-alt); }

.nva-badge {
  position: absolute; top: 6px; left: 6px; z-index: 2; padding: 0.15rem 0.5rem; border-radius: 4px;
  font-size: 0.75rem; font-weight: 700; color: #fff; background: #666;
}
.nva-badge--free { background: #2e7d32; }
.nva-badge--sample { background: #1565c0; }
.nva-badge--paid { background: #8a5626; }
.nva-badge--inline { position: static; display: inline-block; vertical-align: middle; margin-right: 0.4rem; }

.nva-single__head { display: flex; gap: 1.6rem; align-items: flex-start; margin-bottom: 1.6rem; }
.nva-single__cover { flex: 0 0 260px; width: 260px; }
.nva-single__info { flex: 1 1 auto; min-width: 0; }
.nva-single__info h1 { margin: 0 0 0.3rem; }
.nva-single__author { margin: 0 0 0.5rem; color: var(--nv-text-soft); font-size: 1.05rem; }
.nva-single__meta { margin: 0 0 0.8rem; color: var(--nv-text-soft); }
.nva-single__book { color: var(--nv-accent); }
.nva-single__desc { margin-top: 0.8rem; }

.nva-panel__meta { color: var(--nv-text-soft); margin: 0 0 0.8rem; }

.nva-player {
  border: 1px solid var(--nv-border); border-radius: 8px; padding: 1rem; background: var(--nv-surface);
}
.nva-player.is-loading { opacity: 0.75; }
.nva-player__now { font-weight: 700; margin-bottom: 0.6rem; overflow-wrap: anywhere; }
.nva-player__audio { display: none; }
/* own control bar: thumb always visible, progress in the accent colour */
.nva-bar { display: flex; align-items: center; gap: 0.6rem; padding: 0.55rem 0.8rem; border: 1px solid var(--nv-border); border-radius: 999px; background: var(--nv-bg-alt); }
.nva-bar__play, .nva-bar__mute { flex: 0 0 auto; width: 2.2rem; height: 2.2rem; padding: 0; border: 0; border-radius: 50%; background: var(--nv-accent); color: #fff; font-size: 0.85rem; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.nva-bar__mute { background: transparent; color: var(--nv-text); font-size: 1.05rem; }
.nva-bar__play:hover { filter: brightness(1.1); }
.nva-bar__time { flex: 0 0 auto; min-width: 2.6rem; font-size: 0.85rem; color: var(--nv-text-soft); font-variant-numeric: tabular-nums; text-align: center; }
.nva-seek, .nva-vol, .nva-music-vol {
  -webkit-appearance: none; appearance: none; height: 6px; border-radius: 3px; margin: 0; cursor: pointer; outline: none;
  background: linear-gradient(to right, var(--nv-accent) var(--p, 0%), var(--nv-border) var(--p, 0%));
}
.nva-seek { flex: 1 1 auto; min-width: 0; }
.nva-vol { flex: 0 0 5.5rem; }
.nva-music-vol { width: 7rem; }
.nva-seek::-webkit-slider-runnable-track, .nva-vol::-webkit-slider-runnable-track, .nva-music-vol::-webkit-slider-runnable-track { height: 6px; background: transparent; }
.nva-seek::-webkit-slider-thumb, .nva-vol::-webkit-slider-thumb, .nva-music-vol::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none; width: 16px; height: 16px; margin-top: -5px; border-radius: 50%;
  background: var(--nv-accent); border: 2px solid var(--nv-bg); box-shadow: 0 0 0 1px var(--nv-accent);
}
.nva-seek::-moz-range-track, .nva-vol::-moz-range-track, .nva-music-vol::-moz-range-track { height: 6px; background: transparent; }
.nva-seek::-moz-range-progress, .nva-vol::-moz-range-progress, .nva-music-vol::-moz-range-progress { background: transparent; }
.nva-seek::-moz-range-thumb, .nva-vol::-moz-range-thumb, .nva-music-vol::-moz-range-thumb { width: 12px; height: 12px; border-radius: 50%; background: var(--nv-accent); border: 2px solid var(--nv-bg); }
.nva-seek:focus-visible, .nva-vol:focus-visible, .nva-music-vol:focus-visible, .nva-bar__play:focus-visible { outline: 2px solid var(--nv-accent); outline-offset: 3px; }
.nva-music { margin-top: 0; }
.nva-music-credit { font-size: 0.85rem; color: var(--nv-text-soft); }
.nva-player__tools { display: flex; flex-wrap: wrap; gap: 0.6rem 1rem; align-items: center; margin: 0.8rem 0; }
.nva-tool { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.9rem; color: var(--nv-text-soft); }
.nva-tool select { padding: 0.25rem 0.4rem; border: 1px solid var(--nv-border); border-radius: 4px; background: var(--nv-bg); color: var(--nv-text); font: inherit; }
.nva-sleep-left { font-size: 0.85rem; color: var(--nv-text-soft); }
.nva-player__msg { margin: 0 0 0.8rem; padding: 0.5rem 0.7rem; border-radius: 6px; background: var(--nv-accent-soft); font-size: 0.92rem; }
.nva-player__msg.is-error { border: 1px solid #c0392b; }

.nva-tracks { list-style: none; margin: 0; padding: 0; max-height: 26rem; overflow-y: auto; border-top: 1px solid var(--nv-border); }
.nva-track { border-bottom: 1px solid var(--nv-border); }
.nva-track__btn {
  display: flex; align-items: center; gap: 0.7rem; width: 100%; padding: 0.6rem 0.4rem; border: 0; background: transparent;
  color: var(--nv-text); font: inherit; text-align: left; cursor: pointer;
}
.nva-track__btn:hover { background: var(--nv-bg-alt); }
.nva-track.is-active .nva-track__btn { background: var(--nv-accent-soft); font-weight: 700; }
.nva-track.is-locked .nva-track__btn { color: var(--nv-text-soft); }
.nva-track__n { flex: 0 0 2rem; color: var(--nv-text-soft); text-align: right; }
.nva-track__title { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.nva-track__tag { flex: 0 0 auto; font-size: 0.78rem; color: #2e7d32; }
.nva-track__dur { flex: 0 0 auto; color: var(--nv-text-soft); font-variant-numeric: tabular-nums; }

.nva-locked { margin-top: 1rem; padding: 0.9rem 1rem; border-radius: 8px; background: var(--nv-bg-alt); }
.nva-locked p { margin: 0 0 0.5rem; }
.nva-locked__title { font-weight: 700; }
.nva-locked__note { font-size: 0.88rem; color: var(--nv-text-soft); }

/* "Add to audiobook" on the Create MP3 page */
.nva-vimport { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--nv-border); }
.nva-vimport__title { margin: 0 0 0.6rem; font-size: 1.1rem; }
.nva-vimport__row { margin-bottom: 0.7rem; }
.nva-vimport__row label { display: block; font-weight: 600; margin-bottom: 0.25rem; }
.nva-vimport__row select, .nva-vimport__row input { width: 100%; max-width: 28rem; padding: 0.5rem; border: 1px solid var(--nv-border); border-radius: 6px; background: var(--nv-bg); color: var(--nv-text); font: inherit; }
.nva-vimport__status { min-height: 1.2em; color: var(--nv-text-soft); }

@media (max-width: 640px) {
  .nva-vol, .nva-bar__mute { display: none; }
  .nva-bar { gap: 0.4rem; padding: 0.45rem 0.6rem; }
  .nva-single__head { flex-direction: column; }
  .nva-single__cover { flex-basis: auto; width: 60%; max-width: 220px; } /* phones keep the old size */
  .nva-track__btn { gap: 0.45rem; }
}

/* "I have paid" */
.nva-req__open, .nva-req__send { padding: 0.45rem 0.9rem; border: 1px solid var(--nv-border); border-radius: 6px; background: var(--nv-bg); color: var(--nv-text); font: inherit; cursor: pointer; }
.nva-req__form { margin-top: 0.6rem; }
.nva-req__form[hidden] { display: none; }
.nva-req__form label { display: block; margin-bottom: 0.5rem; font-weight: 600; }
.nva-req__form input { display: block; width: 100%; max-width: 20rem; margin-top: 0.2rem; padding: 0.45rem; border: 1px solid var(--nv-border); border-radius: 6px; background: var(--nv-bg); color: var(--nv-text); font: inherit; }
.nva-vimport__hint { margin: 0 0 .8rem; color: var(--nv-text-soft); font-size: .9rem; }

/* Likes, stars, reviews (0.8.0) */
.nva-social { display: flex; flex-wrap: wrap; align-items: center; gap: 0.9rem; margin: 0 0 0.8rem; }
.nva-like { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.3rem 0.8rem; border: 1px solid var(--nv-border); border-radius: 999px; background: transparent; color: var(--nv-text); font: inherit; cursor: pointer; }
.nva-like:hover { border-color: var(--nv-accent); }
.nva-like.is-on { border-color: var(--nv-accent); background: var(--nv-accent-soft); }
.nva-like.is-on .nva-like__heart { color: #e0405a; }
.nva-like[disabled] { opacity: 0.6; cursor: wait; }
.nva-rating { color: var(--nv-text); text-decoration: none; }
.nva-rating--none { color: var(--nv-text-soft); font-size: 0.92rem; }
.nva-rating__count { color: var(--nv-text-soft); }
.nva-card__social { color: var(--nv-text-soft); }
.nva-reviews { margin-top: 1.8rem; }
.nva-section-title { font-size: 1.25rem; margin: 0 0 0.8rem; }
.nva-single .nv-comments { margin-top: 2rem; }
