/* Parcours âge → thématique → sujets/représentations, dans la charte existante. */
.book-taxonomy-group {
  margin: 0 0 16px;
}
.book-taxonomy-group h3 {
  margin: 0 0 8px;
  font-size: 1rem;
}
.book-taxonomy-options {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.taxonomy-age-choice {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 7px 10px;
  border: 1px solid #d9dded;
  border-radius: 10px;
  cursor: pointer;
}
.taxonomy-age-choice:has(input:checked) {
  background: #eee8fa;
  border-color: #6750a4;
}
.taxonomy-age-choice input { width: auto; }
.book-publisher-options { list-style: none; padding: 0; margin: 0; }
.book-publisher-options label { display: flex; align-items: center; gap: 9px; min-height: 44px; cursor: pointer; }
.book-publisher-options input { width: auto; flex: 0 0 auto; }
#book-publisher-filters { display: block; max-height: 280px; overflow-y: auto; }
#book-publisher-filters [hidden] { display: none !important; }
#book-publisher-search { width: 100%; margin: 6px 0; }
.book-taxonomy-options button {
  max-width: 100%;
  white-space: normal;
  text-align: left;
}
.book-taxonomy-note {
  font-size: 0.85rem;
  line-height: 1.5;
}
#book-character-filters,
#book-subject-filters {
  max-height: 320px;
  overflow-y: auto;
  padding: 5px;
}
#book-character-filters button,
#book-subject-filters button {
  max-width: 100%;
  white-space: normal;
}
#book-character-filter-wrap input,
#book-character-filter-wrap select,
#book-subject-filter-wrap input {
  width: 100%;
  margin: 5px 0 10px;
}
.book-taxonomy-admin {
  border: 1px solid #d9dded;
  border-radius: 16px;
  padding: 18px;
}
.book-taxonomy-admin fieldset {
  min-width: 0;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid #d9dded;
  border-radius: 10px;
}
.book-taxonomy-admin label {
  display: block;
  margin: 8px 0;
}
.book-taxonomy-admin .taxonomy-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.book-taxonomy-admin .taxonomy-check input {
  width: auto;
  flex: 0 0 auto;
}
.book-taxonomy-admin .taxonomy-search-options {
  max-height: 260px;
  overflow-y: auto;
  padding: 5px;
}
.book-taxonomy-admin input:not([type='checkbox']):not([type='radio']),
.book-taxonomy-admin select,
.book-taxonomy-admin textarea {
  width: 100%;
}
.book-taxonomy-admin [hidden] {
  display: none !important;
}
.taxonomy-entity {
  border-top: 1px solid #d9dded;
  padding-top: 12px;
  margin-top: 12px;
}
.taxonomy-entity-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.taxonomy-entity-header button {
  flex-shrink: 0;
}
.lexicon-legacy-values {
  padding: 12px;
  border: 1px solid #d9dded;
  border-radius: 10px;
}
.book-taxonomy-details {
  margin: 0;
}
body :is(#book-detail,#webtoon-detail) .book-structural-representations h3 { margin:24px 0 10px !important; font-size:1rem !important; font-weight:800; line-height:1.4; color:#4d5b96; }
body :is(#book-detail,#webtoon-detail) .book-structural-representations > h3:first-of-type { margin-top:18px !important; }
body :is(#book-detail,#webtoon-detail) .book-structural-representations .tags { display:flex; flex-wrap:wrap; gap:8px; margin:0 !important; }
body :is(#book-detail,#webtoon-detail) .book-structural-representations .tag {
  display: inline-flex; align-items: center; padding: 5px 8px; border: 0;
  border-radius: 999px; background: #eee9ff; color: #253568;
  font: inherit; font-size: .85rem; line-height: 1.4; text-decoration: none;
  max-width: 100%; white-space: normal; overflow-wrap: anywhere;
}
body :is(#book-detail,#webtoon-detail) .book-structural-representations a.tag:hover { background: #e2d8ff; }
body :is(#book-detail,#webtoon-detail) .book-structural-representations a.tag:focus-visible { outline: 3px solid #6855bb; outline-offset: 3px; }
.book-taxonomy-entity-tags { margin: 8px 0 12px; }
.book-taxonomy-entity-tags .tags { margin-bottom: 4px; }
.book-lexicon-discovery { margin-top: 16px; }
.book-lexicon-discovery summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; }
#book-detail .book-structural-related .book-publisher-feature { width: 100%; margin-top: 16px; }
#book-detail .book-structural-related .book-publisher-logo-img { max-width: 100%; }
@media (max-width: 820px) {
  .book-taxonomy-options button {
    min-height: 44px;
  }
  .book-taxonomy-admin {
    padding: 12px;
  }
  .taxonomy-entity-header {
    flex-wrap: wrap;
  }
  .taxonomy-entity-header button {
    white-space: normal;
    max-width: 100%;
    min-height: 44px;
  }
}
