/* Cartes "Vous aimerez aussi" : afficher les couvertures completes. */
.similaires .similaire-thumb {
  width: 100%;
  height: 240px;
  overflow: hidden;
  background: #f5f6f8;
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}
.similaires .similaire-thumb > img {
  width: 100% !important;
  height: 100% !important;
  display: block;
  object-fit: contain !important;
  object-position: center center;
}
.similaires .card {
  overflow: hidden;
}
.detail-mobile-zoom-link {
  position: relative;
  display: inline-block;
  max-width: 100%;
  cursor: zoom-in;
}
.detail-mobile-zoom-icon {
  display: none;
}
.detail-side-buy-button,
button.btn.btn-primary.detail-side-reserve-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 280px !important;
  min-height: 44px !important;
  padding: .65rem .85rem !important;
  margin: 0 0 10px 0 !important;
  box-sizing: border-box !important;
  gap: .35rem !important;
  white-space: normal !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere;
  text-align: center !important;
}
.detail-shop-add-form {
  display: block;
  width: 100%;
  max-width: 280px;
  margin: 0 0 10px 0;
}
.detail-mobile-shop-add-form {
  display: none;
}
.detail-shop-add-form .detail-mobile-buy-button,
.detail-mobile-shop-add-form .detail-mobile-buy-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 44px;
  padding: .65rem .85rem !important;
  gap: .4rem;
  white-space: normal !important;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
button.btn.btn-primary.detail-side-reserve-button,
button.btn.btn-warning.detail-side-reserve-button,
button.btn.btn-secondary.detail-side-reserve-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 280px !important;
  min-height: 44px !important;
  padding: .65rem .85rem !important;
  gap: .45rem !important;
  white-space: normal !important;
  line-height: 1.2 !important;
  text-align: center !important;
  overflow-wrap: anywhere;
}
.detail-consultation-alert {
  display: inline-flex !important;
  align-items: center;
  gap: .4rem;
  width: fit-content;
  max-width: 100%;
}
a.btn.btn-primary.buy-button.detail-side-buy-button:hover,
a.btn.btn-primary.buy-button.detail-side-buy-button:focus,
a.btn.btn-primary.buy-button.detail-side-buy-button:hover i,
a.btn.btn-primary.buy-button.detail-side-buy-button:focus i,
button.btn.btn-primary.buy-button.detail-side-buy-button:hover,
button.btn.btn-primary.buy-button.detail-side-buy-button:focus,
button.btn.btn-primary.buy-button.detail-side-buy-button:hover i,
button.btn.btn-primary.buy-button.detail-side-buy-button:focus i,
button.btn.btn-primary.detail-side-reserve-button:hover,
button.btn.btn-primary.detail-side-reserve-button:focus,
button.btn.btn-primary.detail-side-reserve-button:hover i,
button.btn.btn-primary.detail-side-reserve-button:focus i {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}
a.btn.btn-amazon.buy-button.detail-side-buy-button,
a.btn.btn-amazon.buy-button.detail-mobile-buy-button,
a.btn.btn-amazon.buy-button.detail-side-buy-button:visited,
a.btn.btn-amazon.buy-button.detail-mobile-buy-button:visited,
a.btn.btn-amazon.buy-button.detail-side-buy-button:hover,
a.btn.btn-amazon.buy-button.detail-mobile-buy-button:hover,
a.btn.btn-amazon.buy-button.detail-side-buy-button:focus,
a.btn.btn-amazon.buy-button.detail-mobile-buy-button:focus,
a.btn.btn-amazon.buy-button.detail-side-buy-button:active {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background-color: var(--fd-primary, #79644a) !important;
  border-color: var(--fd-primary, #79644a) !important;
  text-decoration: none !important;
}
a.btn.btn-amazon.buy-button.detail-side-buy-button:hover,
a.btn.btn-amazon.buy-button.detail-side-buy-button:focus {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
a.btn.btn-amazon.buy-button.detail-side-buy-button:hover i,
a.btn.btn-amazon.buy-button.detail-side-buy-button:focus i,
a.btn.btn-amazon.buy-button.detail-side-buy-button:hover i::before,
a.btn.btn-amazon.buy-button.detail-side-buy-button:focus i::before {
  background-color: transparent !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
@media (max-width: 768px) {
  .detail-pdf-consult-button {
    display: none !important;
  }
  .detail-pdf-chapters {
    display: none !important;
  }
  .mobile-image-wrapper .detail-mobile-zoom-link,
  .detail-primary-image-preview .detail-mobile-zoom-link {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    touch-action: manipulation;
  }
  .detail-mobile-zoom-icon {
    position: absolute;
    right: .55rem;
    bottom: .55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 50%;
    background: rgba(0, 0, 0, .72);
    color: #fff;
    box-shadow: 0 2px 9px rgba(0, 0, 0, .32);
    pointer-events: none;
  }
  .detail-mobile-zoom-icon i {
    margin: 0 !important;
    color: #fff !important;
    font-size: 1rem;
  }
  .detail-mobile-shop-add-form {
    display: flex !important;
    order: 2 !important;
    width: min(86vw, 304px) !important;
    max-width: 304px !important;
    margin: 10px auto 8px !important;
  }
  .detail-page-container > .detail-mobile-buy-button,
  .detail-mobile-shop-add-form .detail-mobile-buy-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 304px !important;
    min-height: 38px !important;
    padding: .48rem .75rem !important;
    margin: 0 !important;
    border-radius: 5px !important;
    font-size: .96rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    gap: .38rem !important;
    text-align: center !important;
    white-space: normal !important;
  }
  .detail-page-container > a.detail-mobile-buy-button {
    display: flex !important;
    width: min(86vw, 304px) !important;
    max-width: 304px !important;
    margin: 10px auto 8px !important;
  }
  .detail-page-container > .detail-mobile-buy-button {
    order: 2 !important;
    margin: 10px auto 8px !important;
  }
  .detail-page-container > .detail-mobile-reserve-button {
    margin-top: 0 !important;
    width: min(86vw, 304px) !important;
    max-width: 304px !important;
    min-height: 38px !important;
    padding: .48rem .75rem !important;
    border-radius: 5px !important;
    font-size: .96rem !important;
    font-weight: 800 !important;
  }
}
button.detail-side-reserve-button.is-disabled,
button.detail-mobile-reserve-button.is-disabled {
  position: relative;
  background-color: #9ca3af !important;
  border-color: #9ca3af !important;
  color: #f8fafc !important;
  opacity: .68;
  cursor: not-allowed;
  box-shadow: none !important;
}
button.detail-side-reserve-button.is-disabled:hover,
button.detail-side-reserve-button.is-disabled:focus,
button.detail-mobile-reserve-button.is-disabled:hover,
button.detail-mobile-reserve-button.is-disabled:focus {
  background-color: #9ca3af !important;
  border-color: #9ca3af !important;
  color: #f8fafc !important;
}
button.detail-side-reserve-button.is-disabled::after,
button.detail-mobile-reserve-button.is-disabled::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  z-index: 20;
  min-width: 190px;
  max-width: 240px;
  padding: 7px 10px;
  border-radius: 6px;
  background: #111827;
  color: #ffffff;
  font-size: .82rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
  box-shadow: 0 8px 20px rgba(0,0,0,.22);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition: opacity .16s ease, transform .16s ease;
}
button.detail-side-reserve-button.is-disabled::before,
button.detail-mobile-reserve-button.is-disabled::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 2px);
  z-index: 21;
  width: 10px;
  height: 10px;
  background: #111827;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 4px) rotate(45deg);
  transition: opacity .16s ease, transform .16s ease;
}
button.detail-side-reserve-button.is-disabled:hover::after,
button.detail-side-reserve-button.is-disabled:focus::after,
button.detail-mobile-reserve-button.is-disabled:hover::after,
button.detail-mobile-reserve-button.is-disabled:focus::after,
button.detail-side-reserve-button.is-disabled:hover::before,
button.detail-side-reserve-button.is-disabled:focus::before,
button.detail-mobile-reserve-button.is-disabled:hover::before,
button.detail-mobile-reserve-button.is-disabled:focus::before {
  opacity: 1;
  transform: translate(-50%, 0) rotate(0deg);
}
button.detail-side-reserve-button.is-disabled:hover::before,
button.detail-side-reserve-button.is-disabled:focus::before,
button.detail-mobile-reserve-button.is-disabled:hover::before,
button.detail-mobile-reserve-button.is-disabled:focus::before {
  transform: translate(-50%, 0) rotate(45deg);
}
.reservation-login-button {
  cursor: pointer !important;
  opacity: 1 !important;
  background-color: var(--fd-primary, #79644a) !important;
  border-color: var(--fd-primary, #79644a) !important;
  color: #ffffff !important;
}
.reservation-login-button:hover,
.reservation-login-button:focus {
  background-color: var(--fd-primary-dark, #554a3b) !important;
  border-color: var(--fd-primary-dark, #554a3b) !important;
  color: #ffffff !important;
}
.reservation-availability {
  display: none;
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 6px;
  font-weight: 700;
  line-height: 1.25;
}
.reservation-availability.is-free {
  display: block;
  color: #14532d;
  background: #dcfce7;
  border: 1px solid #22c55e;
}
.reservation-availability.is-busy {
  display: block;
  color: #7f1d1d;
  background: #fee2e2;
  border: 1px solid #ef4444;
}
.reservation-date-field.is-free {
  border-color: #22c55e !important;
  box-shadow: 0 0 0 .2rem rgba(34,197,94,.18) !important;
}
.reservation-date-field.is-busy {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 .2rem rgba(239,68,68,.18) !important;
}
.flatpickr-day.reservation-free {
  background: #dcfce7 !important;
  border-color: #22c55e !important;
  color: #14532d !important;
}
.flatpickr-day.reservation-busy {
  background: #fee2e2 !important;
  border-color: #ef4444 !important;
  color: #7f1d1d !important;
  text-decoration: line-through;
}
.flatpickr-calendar .flatpickr-day.flatpickr-disabled,
.flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover,
.flatpickr-calendar .flatpickr-day.prevMonthDay.flatpickr-disabled,
.flatpickr-calendar .flatpickr-day.nextMonthDay.flatpickr-disabled,
.flatpickr-calendar .flatpickr-day.notAllowed,
.flatpickr-calendar .flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-calendar .flatpickr-day.notAllowed.nextMonthDay {
  color: #991b1b !important;
  background:
    repeating-linear-gradient(135deg, rgba(239,68,68,.16) 0, rgba(239,68,68,.16) 4px, rgba(254,226,226,.94) 4px, rgba(254,226,226,.94) 8px) !important;
  border-color: #f87171 !important;
  opacity: 1 !important;
  text-decoration: line-through;
  cursor: not-allowed;
}
.flatpickr-calendar .flatpickr-day.prevMonthDay,
.flatpickr-calendar .flatpickr-day.nextMonthDay {
  color: #94a3b8;
}
.flatpickr-day.reservation-limit {
  opacity: 1 !important;
  color: #991b1b !important;
  background: #fee2e2 !important;
  border-color: #f87171 !important;
  text-decoration: line-through;
}
.detail-page-container h1.mb-4,
.detail-page-container h1.mb-4 .fd-inline-edit {
  color: var(--fd-primary-dark, var(--fd-primary, #79644a)) !important;
}
.detail-page-container h1.mb-4 i.detail-title-icon {
  color: var(--fd-primary-dark, var(--fd-primary, #79644a)) !important;
  background: transparent !important;
  background-color: transparent !important;
}
.similaires .detail-similar-badge {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: .22em .5em;
  line-height: 1.1;
}
.detail-pdf-reader-modal .modal-dialog {
  max-width: min(96vw, 1500px);
}
.detail-pdf-reader-modal[hidden] {
  display: none !important;
}
.detail-image-preview.detail-pdf-preview {
  width: min(100%, 580px);
  max-width: 580px;
  margin-right: auto;
  margin-left: auto;
}
.detail-image-preview.detail-pdf-preview > a {
  display: block;
  width: 100%;
}
.detail-image-preview.detail-pdf-preview .detail-pdf-canvas {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto;
  border-radius: 8px;
}
@media (min-width: 769px) and (max-width: 991.98px) {
  .detail-image-preview.detail-pdf-preview {
    width: min(100%, 480px);
    max-width: 480px;
  }
}
.detail-pdf-reader-modal .modal-content {
  height: min(94vh, 1100px);
}
.detail-pdf-reader-author,
.detail-pdf-reader-year {
  font-size: .86em;
  font-weight: 400;
  color: #495057;
}
.detail-pdf-reader-modal .modal-header {
  gap: .35rem;
}
.detail-pdf-reader-brand {
  flex: 0 0 210px;
  width: 210px;
  margin-left: auto;
}
.detail-pdf-reader-brand img {
  display: block;
  width: 100%;
  height: 40px;
  object-fit: contain;
  object-position: right center;
}
.detail-pdf-reader-modal .modal-header .detail-pdf-reader-close {
  flex: 0 0 auto;
  margin-left: .15rem;
}
@media (max-width: 991.98px) {
  .detail-pdf-reader-brand {
    flex-basis: 165px;
    width: 165px;
  }
  .detail-pdf-reader-brand img { height: 33px; }
}
@media (max-width: 575.98px) {
  .detail-pdf-reader-brand { display: none; }
}
.detail-pdf-mobile-close { display: none; }
.detail-pdf-reader-modal .detail-pdf-reader-body {
  min-height: 60vh;
  background: #525659;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.detail-pdf-reader-toolbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  flex-wrap: nowrap;
  padding: .45rem .65rem;
  background: #212529;
  color: #fff;
  flex: 0 0 auto;
}
.detail-pdf-page-controls {
  display: flex;
  align-items: center;
  gap: .4rem;
}
.detail-pdf-zoom-controls {
  display: flex;
  align-items: center;
  gap: .4rem;
  margin-left: 0;
}
.detail-pdf-zoom-status {
  min-width: 54px;
  color: #fff;
  text-align: center;
  font-size: .86rem;
  font-variant-numeric: tabular-nums;
}
.detail-pdf-audio-controls {
  display: flex;
  align-items: center;
  gap: .3rem;
  min-width: 0;
}
.detail-pdf-audio-color-label,
.detail-pdf-audio-voice-label,
.detail-pdf-audio-rate-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.detail-pdf-audio-voice { width: 155px; min-width: 135px; }
.detail-pdf-audio-rate { width: 112px; min-width: 105px; }
.detail-pdf-audio-color { width: 86px; min-width: 78px; }
.detail-pdf-audio-status { min-width: 0; max-width: 65px; overflow: hidden; font-size: .76rem; white-space: nowrap; text-overflow: ellipsis; }
.detail-pdf-reader-toolbar .btn { min-width: 36px; padding-right: .55rem; padding-left: .55rem; }
.detail-pdf-reader-page-status {
  min-width: 98px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.detail-pdf-reader-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 1rem;
  text-align: center;
  overscroll-behavior: contain;
}
.detail-pdf-reader-canvas {
  display: block;
  max-width: 100%;
  height: auto;
  background: #fff;
  box-shadow: 0 2px 14px rgba(0,0,0,.35);
}
.detail-pdf-reader-stage {
  position: relative;
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}
.detail-pdf-search {
  display: flex;
  align-items: center;
  gap: .3rem;
  min-width: 280px;
  margin: 0;
}
.detail-pdf-search .input-group { flex-wrap: nowrap; }
.detail-pdf-search-input { min-width: 120px; }
.detail-pdf-search-status {
  min-width: 52px;
  color: #f8f9fa;
  font-size: .82rem;
  white-space: nowrap;
  text-align: left;
}
.detail-pdf-search-highlights {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.detail-pdf-search-highlight {
  position: absolute;
  z-index: 1;
  border-radius: 2px;
  background: rgba(255, 235, 59, .58);
  outline: 1px solid rgba(180, 135, 0, .55);
  mix-blend-mode: multiply;
}
.detail-pdf-search-highlight.is-active {
  background: rgba(255, 152, 0, .7);
  outline: 2px solid #e65100;
}
.detail-pdf-highlight-tools { position: relative; display: flex; gap: .3rem; }
.detail-pdf-reader-toolbar .detail-pdf-highlight-toggle {
  --pdf-highlight-button-color: #ffeb3b;
  color: #111 !important;
  background-color: var(--pdf-highlight-button-color) !important;
  border-color: var(--pdf-highlight-button-color) !important;
}
.detail-pdf-highlight-toggle[aria-pressed="true"] {
  color: #111;
  background: var(--pdf-highlight-button-color, #ffeb3b);
  border-color: var(--pdf-highlight-button-color, #ffeb3b);
  box-shadow: 0 0 0 .18rem rgba(255,235,59,.3);
}
.detail-pdf-highlight-palette {
  position: absolute;
  z-index: 1090;
  top: calc(100% + .55rem);
  left: 0;
  width: 250px !important;
  min-width: 250px !important;
  max-width: none !important;
  box-sizing: border-box;
  padding: .7rem;
  color: #fff;
  background: #2b2b2b;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: .45rem;
  box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.38);
}
.detail-pdf-highlight-palette strong { display: block; margin-bottom: .55rem; font-size: .85rem; }
.detail-pdf-highlight-palette > div { display: flex !important; align-items: center; gap: .65rem; width: 100%; }
.detail-pdf-highlight-palette [data-highlight-color] {
  display: block !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.35);
}
.detail-pdf-highlight-palette [data-highlight-color="yellow"] { background: #ffeb3b !important; }
.detail-pdf-highlight-palette [data-highlight-color="green"] { background: #45d85a !important; }
.detail-pdf-highlight-palette [data-highlight-color="blue"] { background: #3d9cff !important; }
.detail-pdf-highlight-palette [data-highlight-color="pink"] { background: #ff65b8 !important; }
.detail-pdf-highlight-palette [data-highlight-color="orange"] { background: #ff922b !important; }
.detail-pdf-highlight-palette-close { display: inline-block !important; width: auto !important; min-width: 0 !important; margin-top: .55rem; padding: 0 !important; color: #fff !important; white-space: nowrap; }
.detail-pdf-selection-text,
.detail-pdf-saved-highlights {
  position: absolute;
  z-index: 2;
  inset: 0;
  overflow: hidden;
}
.detail-pdf-selection-text {
  line-height: 1;
  pointer-events: auto;
  user-select: text;
  -webkit-user-select: text;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  forced-color-adjust: none;
  transform-origin: 0 0;
  cursor: text;
}
.detail-pdf-selection-text span,
.detail-pdf-selection-text br {
  position: absolute;
  color: transparent;
  white-space: pre;
  transform-origin: 0 0;
  cursor: text;
}
.detail-pdf-selection-text span.markedContent {
  top: 0;
  height: 0;
}
.detail-pdf-selection-text .endOfContent {
  position: absolute;
  z-index: -1;
  inset: 100% 0 0;
  display: block;
  cursor: default;
  user-select: none;
}
.detail-pdf-selection-text ::selection { color: transparent; background: rgba(13,110,253,.42); }
.detail-pdf-saved-highlights { z-index: 3; pointer-events: none; }
.detail-pdf-saved-highlight {
  position: absolute;
  border: 0;
  border-radius: 2px;
  opacity: .48;
  mix-blend-mode: multiply;
  pointer-events: none;
}
.detail-pdf-reader-stage.is-highlight-mode .detail-pdf-saved-highlight { cursor: pointer; pointer-events: auto; }
.detail-pdf-saved-highlight.is-yellow { background: #ffeb3b; }
.detail-pdf-saved-highlight.is-green { background: #7ee787; }
.detail-pdf-saved-highlight.is-blue { background: #79c0ff; }
.detail-pdf-saved-highlight.is-pink { background: #ff9ad5; }
.detail-pdf-saved-highlight.is-orange { background: #ffad66; }
.detail-pdf-accessible-text {
  box-sizing: border-box;
  min-height: 100%;
  padding: clamp(1.5rem, 5vw, 4rem);
  color: #111;
  background: #fff;
  text-align: left;
  line-height: 1.75;
  overflow-wrap: anywhere;
  box-shadow: 0 2px 14px rgba(0,0,0,.35);
}
.detail-pdf-accessible-text.is-luciole {
  font-family: "Luciole", Arial, sans-serif;
}
.detail-pdf-accessible-text.is-dyslexic {
  font-family: "OpenDyslexic", Arial, sans-serif;
  letter-spacing: .02em;
  word-spacing: .08em;
}
.detail-pdf-accessible-text p { margin: 0 0 1em; }
.detail-pdf-accessible-text mark {
  padding: 0 .08em;
  background: #ffeb3b;
  color: inherit;
}
.detail-pdf-accessible-text .detail-pdf-spoken-phrase {
  border-radius: .16em;
  transition: background-color .08s linear, box-shadow .08s linear;
}
.detail-pdf-accessible-text .detail-pdf-spoken-phrase.is-speaking {
  background: var(--pdf-speech-highlight, #ffeb3b);
  box-shadow: 0 0 0 .12em var(--pdf-speech-highlight, #ffeb3b);
  text-decoration: underline;
  text-decoration-thickness: .12em;
  text-underline-offset: .14em;
}
.detail-pdf-footer-info {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  gap: .5rem .7rem;
  min-width: 0;
}
.detail-pdf-chapter-navigation {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex: 1 1 220px;
  min-width: 160px;
  max-width: 320px;
}
.detail-pdf-chapter-navigation > label {
  flex: 0 0 auto;
}
.detail-pdf-chapter-select {
  min-width: 0;
  width: 100%;
  text-overflow: ellipsis;
}
.detail-pdf-footer-actions {
  flex: 0 0 auto;
  flex-wrap: nowrap;
}
.detail-pdf-footer-actions .btn {
  padding-right: .65rem;
  padding-left: .65rem;
  white-space: nowrap;
}
.detail-pdf-reader-modal .modal-footer {
  flex-wrap: nowrap;
  gap: .65rem !important;
}
.detail-pdf-accessibility,
.detail-pdf-bookmarks,
.detail-pdf-composition {
  position: relative;
  flex: 0 0 auto;
}
.detail-pdf-composition-toggle {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.detail-pdf-composition-chevron { transition: transform .18s ease; }
.detail-pdf-composition-toggle[aria-expanded="true"] .detail-pdf-composition-chevron { transform: rotate(180deg); }
.detail-pdf-composition-panel {
  position: absolute;
  z-index: 1088;
  left: 0;
  bottom: calc(100% + .5rem);
  width: 640px !important;
  min-width: 520px;
  max-width: calc(100vw - 3rem) !important;
  padding: .9rem;
  color: #fff;
  background: #2b2b2b;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: .5rem;
  box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.35);
}
.detail-pdf-composition-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .65rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.detail-pdf-composition-panel > label {
  display: block;
  margin: .55rem 0 .3rem;
  font-size: .86rem;
  font-weight: 700;
}
.detail-pdf-composition-text {
  width: 100%;
  min-height: 250px;
  resize: vertical;
  line-height: 1.5;
}
.detail-pdf-composition-panel .note-editor {
  width: 100%;
  margin: 0;
  color: #212529;
  background: #fff;
  border-color: #adb5bd;
}
.detail-pdf-composition-panel .note-toolbar {
  padding: .3rem;
  background: #f1f3f5;
}
.detail-pdf-composition-panel .note-toolbar .note-btn {
  min-width: 32px;
  color: #212529;
  background: #fff;
  border-color: #ced4da;
}
.detail-pdf-composition-panel .note-editable {
  min-height: 220px;
  color: #212529;
  background: #fff;
  font-size: .95rem;
  line-height: 1.5;
  text-align: left;
}
.detail-pdf-composition-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .7rem;
}
.detail-pdf-composition-status {
  min-height: 1.2em;
  margin: .45rem 0 0;
  color: #ced4da;
  font-size: .8rem;
}
.detail-pdf-accessibility-toggle {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.detail-pdf-accessibility-count { font-size: .82em; }
.detail-pdf-accessibility-reset {
  width: 100%;
  margin-top: .75rem;
}
.detail-pdf-reader-modal.is-large-cursor,
.detail-pdf-reader-modal.is-large-cursor * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M5 3v29l8-7 6 12 6-3-6-12h11z' fill='white' stroke='black' stroke-width='2.5' stroke-linejoin='round'/%3E%3C/svg%3E") 5 3, auto !important;
}
.detail-pdf-reader-modal.is-large-cursor button,
.detail-pdf-reader-modal.is-large-cursor a,
.detail-pdf-reader-modal.is-large-cursor label,
.detail-pdf-reader-modal.is-large-cursor input,
.detail-pdf-reader-modal.is-large-cursor select {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M5 3v29l8-7 6 12 6-3-6-12h11z' fill='%23ffd43b' stroke='black' stroke-width='2.5' stroke-linejoin='round'/%3E%3C/svg%3E") 5 3, pointer !important;
}
.detail-pdf-accessibility-chevron { transition: transform .18s ease; }
.detail-pdf-accessibility-toggle[aria-expanded="true"] .detail-pdf-accessibility-chevron {
  transform: rotate(180deg);
}
.detail-pdf-bookmarks-toggle {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.detail-pdf-bookmarks-chevron { transition: transform .18s ease; }
.detail-pdf-bookmarks-toggle[aria-expanded="true"] .detail-pdf-bookmarks-chevron { transform: rotate(180deg); }
.detail-pdf-bookmarks-panel {
  position: absolute;
  z-index: 1086;
  left: 0;
  bottom: calc(100% + .5rem);
  width: 440px;
  max-width: calc(100vw - 2rem);
  max-height: min(66vh, 620px);
  overflow: auto;
  padding: .85rem;
  color: #fff;
  background: #2b2b2b;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: .5rem;
  box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.35);
}
.detail-pdf-bookmarks-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .65rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.detail-pdf-bookmarks-list { display: grid; gap: .45rem; margin-bottom: .65rem; }
.detail-pdf-bookmark-item {
  display: grid;
  grid-template-columns: 10px 1fr auto;
  gap: .55rem;
  align-items: start;
  padding: .55rem;
  color: #fff;
  background: #363636;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: .35rem;
}
.detail-pdf-bookmark-ribbon { width: 9px; height: 30px; clip-path: polygon(0 0,100% 0,100% 100%,50% 76%,0 100%); }
.detail-pdf-bookmark-ribbon.is-red { background: #ef3340; }
.detail-pdf-bookmark-ribbon.is-blue { background: #1847ed; }
.detail-pdf-bookmark-ribbon.is-green { background: #63e646; }
.detail-pdf-bookmark-ribbon.is-yellow { background: #f6c344; }
.detail-pdf-bookmark-main { min-width: 0; }
.detail-pdf-bookmark-page {
  display: inline-block;
  padding: 0;
  color: #fff;
  background: transparent;
  border: 0;
  font-weight: 700;
  text-align: left;
}
.detail-pdf-bookmark-note-preview { display: block; margin-top: .2rem; color: #ddd; font-size: .82rem; font-weight: 400; overflow-wrap: anywhere; }
.detail-pdf-bookmark-edit { color: #fff; background: transparent; border: 0; }
.detail-pdf-bookmarks-empty { color: #ced4da; font-size: .86rem; }
.detail-pdf-bookmark-editor {
  margin-top: .7rem;
  padding-top: .7rem;
  border-top: 1px solid rgba(255,255,255,.18);
}
.detail-pdf-bookmark-editor > label,
.detail-pdf-bookmark-page-label { display: block; margin-bottom: .3rem; font-weight: 700; }
.detail-pdf-bookmark-editor fieldset { margin-top: .65rem; border: 0; padding: 0; }
.detail-pdf-bookmark-editor legend { float: none; width: auto; margin-bottom: .35rem; color: #fff; font-size: .88rem; font-weight: 700; }
.detail-pdf-bookmark-color { display: inline-flex; margin-right: .6rem; cursor: pointer; }
.detail-pdf-bookmark-color input { position: absolute; opacity: 0; pointer-events: none; }
.detail-pdf-bookmark-color span {
  display: block;
  width: 28px;
  height: 35px;
  overflow: hidden;
  color: transparent;
  clip-path: polygon(0 0,100% 0,100% 100%,50% 76%,0 100%);
  border: 3px solid transparent;
}
.detail-pdf-bookmark-color.is-red span { background: #ef3340; }
.detail-pdf-bookmark-color.is-blue span { background: #1847ed; }
.detail-pdf-bookmark-color.is-green span { background: #63e646; }
.detail-pdf-bookmark-color.is-yellow span { background: #f6c344; }
.detail-pdf-bookmark-color input:checked + span { outline: 3px solid #fff; outline-offset: 3px; }
.detail-pdf-bookmark-message { min-height: 1.2em; margin-top: .4rem; font-size: .82rem; }
.detail-pdf-bookmark-editor .d-flex { flex-wrap: nowrap; }
.detail-pdf-bookmark-editor .btn { white-space: nowrap; }
.detail-pdf-accessibility-panel {
  position: absolute;
  z-index: 1085;
  left: 0;
  bottom: calc(100% + .5rem);
  width: min(320px, calc(100vw - 2rem));
  padding: .8rem;
  color: #fff;
  background: #2b2b2b;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: .5rem;
  box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.3);
}
.detail-pdf-accessibility-title {
  font-weight: 700;
}
.detail-pdf-accessibility-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .45rem;
}
.detail-pdf-accessibility-close {
  flex: 0 0 auto;
  font-size: .72rem;
}
.detail-pdf-accessibility-panel label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .42rem .1rem;
  cursor: pointer;
  font-size: .9rem;
}
.detail-pdf-accessibility-panel .form-check-input {
  flex: 0 0 auto;
  margin: 0;
}
.detail-pdf-font-options {
  margin: .55rem 0 0;
  padding: .5rem 0 0;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.18);
}
.detail-pdf-font-options legend {
  float: none;
  width: auto;
  margin: 0 0 .2rem;
  color: #fff;
  font-size: .88rem;
  font-weight: 700;
}
.detail-pdf-accessibility-panel input[type="checkbox"],
.detail-pdf-accessibility-panel input[type="radio"] {
  position: relative;
  width: 1.15rem;
  height: 1.15rem;
  min-width: 1.15rem;
  border: 2px solid #ced4da;
  border-radius: .2rem;
  background-color: #fff;
  background-image: none;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.detail-pdf-accessibility-panel input[type="checkbox"]:checked,
.detail-pdf-accessibility-panel input[type="radio"]:checked {
  border-color: #0d6efd;
  background-color: #0d6efd;
  background-image: none;
}
.detail-pdf-accessibility-panel input[type="checkbox"]:checked::after,
.detail-pdf-accessibility-panel input[type="radio"]:checked::after {
  content: "✓";
  position: absolute;
  inset: 50% auto auto 50%;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1;
  transform: translate(-50%, -54%);
}
.detail-pdf-accessibility-panel input[type="checkbox"]:focus-visible,
.detail-pdf-accessibility-panel input[type="radio"]:focus-visible {
  outline: 3px solid rgba(13,110,253,.4);
  outline-offset: 2px;
}
.detail-pdf-reader-error {
  max-width: 700px;
  margin: 2rem auto;
}
@media (max-width: 1099.98px) {
  .detail-pdf-reader-toolbar { flex-wrap: wrap; }
  .detail-pdf-audio-controls { flex-wrap: wrap; justify-content: center; }
  .detail-pdf-reader-modal .modal-footer,
  .detail-pdf-footer-info,
  .detail-pdf-footer-actions { flex-wrap: wrap; }
  .detail-pdf-chapter-navigation { flex-basis: 100%; max-width: none; }
}
@media (max-width: 991.98px) {
  .detail-pdf-reader-modal .modal-dialog {
    width: 100%;
    max-width: none;
    height: 100dvh;
    min-height: 100vh;
    margin: 0;
  }
  .detail-pdf-reader-modal .modal-content {
    height: 100dvh;
    min-height: 100vh;
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
  }
  .detail-pdf-reader-modal .detail-pdf-reader-body {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
  }
  .detail-pdf-reader-modal .modal-footer {
    align-items: stretch;
  }
  .detail-pdf-reader-scroll { padding: .5rem; }
  .detail-pdf-reader-toolbar { gap: .5rem; }
  .detail-pdf-search { width: 100%; }
  .detail-pdf-search-status { min-width: 64px; }
  .detail-pdf-zoom-controls { margin-left: 0; }
  .detail-pdf-footer-info { width: 100%; }
}
@media (max-width: 767.98px) {
  .detail-pdf-reader-modal .modal-dialog {
    margin: 0;
  }
  .detail-pdf-reader-modal .modal-header {
    position: relative;
    z-index: 1100;
    flex: 0 0 auto;
    padding: .55rem .7rem;
    background: #fff;
  }
  .detail-pdf-reader-modal .modal-title {
    min-width: 0;
    font-size: .94rem;
    line-height: 1.25;
  }
  .detail-pdf-reader-author {
    display: block;
    margin-left: 1.25rem;
    overflow: hidden;
    font-size: .78rem;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .detail-pdf-reader-year {
    margin-left: .25rem;
    font-size: .78rem;
  }
  .detail-pdf-reader-close {
    width: 44px;
    height: 44px;
    margin: -.35rem -.35rem -.35rem .4rem !important;
    padding: .75rem;
    border: 1px solid #adb5bd;
    border-radius: .35rem;
    background-color: #fff;
    opacity: 1;
  }
  .detail-pdf-reader-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    justify-content: stretch;
    gap: .4rem;
    padding: .4rem;
  }
  .detail-pdf-page-controls,
  .detail-pdf-zoom-controls,
  .detail-pdf-highlight-tools {
    justify-content: center;
  }
  .detail-pdf-search {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    min-width: 0;
  }
  .detail-pdf-search .input-group { width: 100%; }
  .detail-pdf-search .input-group,
  .detail-pdf-search-input { min-width: 0; }
  .detail-pdf-search-status { min-width: 48px; }
  .detail-pdf-audio-controls {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 44px 44px minmax(110px, 1fr) minmax(100px, .7fr) minmax(78px, .55fr);
    width: 100%;
    gap: .3rem;
  }
  .detail-pdf-reader-toolbar .btn,
  .detail-pdf-audio-controls .btn {
    min-width: 44px;
    min-height: 44px;
  }
  .detail-pdf-audio-voice,
  .detail-pdf-audio-rate,
  .detail-pdf-audio-color {
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 44px;
  }
  .detail-pdf-audio-status { display: none; }
  .detail-pdf-reader-scroll { padding: .35rem; }
  .detail-pdf-reader-modal .modal-footer {
    display: flex;
    flex-direction: column;
    align-items: stretch !important;
    padding: .5rem;
  }
  .detail-pdf-footer-info {
    width: 100%;
    flex-wrap: wrap;
  }
  .detail-pdf-accessibility,
  .detail-pdf-bookmarks,
  .detail-pdf-composition {
    flex: 1 1 auto;
  }
  .detail-pdf-accessibility-toggle,
  .detail-pdf-bookmarks-toggle,
  .detail-pdf-composition-toggle {
    justify-content: center;
    width: 100%;
    min-height: 44px;
  }
  .detail-pdf-footer-actions {
    display: grid !important;
    grid-template-columns: 1fr;
    width: 100%;
    gap: .4rem !important;
  }
  .detail-pdf-footer-actions .btn {
    width: 100%;
    min-height: 44px;
  }
  .detail-pdf-mobile-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
  }
  .detail-pdf-accessibility-panel,
  .detail-pdf-bookmarks-panel,
  .detail-pdf-composition-panel {
    position: fixed;
    z-index: 1095;
    right: .5rem;
    bottom: .5rem;
    left: .5rem;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: calc(100dvh - 1rem);
  }
  .detail-pdf-highlight-palette {
    position: fixed;
    z-index: 1096;
    top: 7.5rem;
    right: .5rem;
    left: .5rem;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}
@media (max-width: 430px) {
  .detail-pdf-reader-toolbar {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .detail-pdf-page-controls { grid-column: 1 / -1; }
  .detail-pdf-zoom-controls { grid-column: 1; }
  .detail-pdf-highlight-tools { grid-column: 2; }
  .detail-pdf-audio-controls {
    grid-template-columns: 44px 44px minmax(0, 1fr) minmax(0, 1fr);
  }
  .detail-pdf-audio-color { grid-column: 3 / -1; }
  .detail-pdf-search-status {
    position: absolute;
    right: .35rem;
    bottom: -.95rem;
    min-width: 0;
    font-size: .7rem;
    text-align: right;
  }
}

.detail-pdf-chapters {
  clear: both;
  border: 1px solid #dee2e6;
  border-radius: .6rem;
  background: #fff;
  padding: 1rem;
}
.detail-pdf-chapter-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 24rem;
  overflow: auto;
}
.detail-pdf-chapter-list li {
  margin-left: calc(var(--pdf-chapter-level) * 1rem);
  border-top: 1px solid #eef0f2;
}
.detail-pdf-chapter-list li:first-child { border-top: 0; }
.detail-pdf-chapter-list a {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .55rem .25rem;
  text-decoration: none;
}
.detail-pdf-chapter-list small { flex: none; color: #6c757d; }
.detail-reviews{margin-bottom:1rem}
.detail-rating-summary{display:inline-flex;align-items:center;gap:.35rem;position:relative}
.detail-rating-stars{display:inline-flex;gap:.05rem;color:#ff8a00;letter-spacing:0;font-size:1.05rem;line-height:1}
.detail-rating-toggle{border:0;background:transparent;color:var(--fd-text,#222);padding:.1rem .2rem;line-height:1;cursor:pointer}
.detail-rating-popover{display:none;position:absolute;z-index:30;top:calc(100% + .55rem);left:-.35rem;width:390px;max-width:calc(100vw - 2rem);padding:2.75rem 1rem 1.55rem;background:#fff;color:#111;border:1px solid #aaa;border-radius:9px;box-shadow:none}
.detail-rating-summary:hover .detail-rating-popover,.detail-rating-summary:focus-within .detail-rating-popover,.detail-rating-summary.is-open .detail-rating-popover{display:block}
.detail-rating-popover::before{content:"";position:absolute;top:-7px;left:9.75rem;width:13px;height:13px;background:#fff;border-left:1px solid #aaa;border-top:1px solid #aaa;transform:rotate(45deg)}
.detail-rating-popover-close{position:absolute;right:.55rem;top:.55rem;width:2rem;height:2rem;padding:0;border:0;background:transparent;font-size:1.7rem;line-height:1;color:#111;cursor:pointer}
.detail-rating-popover-heading{display:flex;align-items:center;gap:.45rem;padding-right:1.5rem;font-size:1.05rem;white-space:nowrap}
.detail-rating-popover-heading .detail-rating-stars{font-size:1.15rem}
.detail-rating-popover-link{display:block;margin:1rem -1rem -1.55rem;padding:1.55rem 1rem 1.65rem;border-top:1px solid #ddd;text-align:center;color:#065eb3;text-decoration:none}
.detail-rating-popover-link:hover{text-decoration:underline}
.detail-rating-row{display:grid;grid-template-columns:4.1rem minmax(0,1fr) 2.5rem;align-items:center;gap:.65rem;margin:.55rem 0;font-size:.92rem;color:#075fae}
.detail-rating-bar{height:1.2rem;border:1px solid #999;border-radius:4px;overflow:hidden;background:#fff}
.detail-rating-bar span{display:block;height:100%;background:#ff5a00}
.detail-review-panel{scroll-margin-top:1rem;background:var(--fd-surface,#fff);border-top:0;padding:1.5rem 0 2rem}
.detail-review-search{display:flex;gap:.65rem;max-width:800px;margin:.8rem 0 1rem}
.detail-review-search .form-control{min-width:0}
.detail-review-search-button{min-width:140px;white-space:nowrap;background:var(--fd-primary,#3f845f);border-color:var(--fd-primary,#3f845f)}
.detail-review-search-button:hover,.detail-review-search-button:focus{background:var(--fd-primary-dark,#007668);border-color:var(--fd-primary-dark,#007668)}
.detail-review-search-status{min-height:1.25rem;color:var(--fd-muted,#6c757d)}
.detail-review-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:3rem;border-top:1px solid var(--fd-border,#ddd);padding-top:1.5rem}
.detail-review-overview{border-right:1px solid var(--fd-border,#ddd);padding-right:2rem}
.detail-review-form{margin-top:1rem;border-top:1px solid var(--fd-border,#ddd);padding-top:1rem}
.detail-review-stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:.2rem}
.detail-review-stars input{position:absolute;opacity:0;pointer-events:none}
.detail-review-stars label{font-size:2rem;color:#ff8a00;cursor:pointer;line-height:1}
.detail-review-stars label::before{content:"☆"}
.detail-review-stars input:checked ~ label::before,.detail-review-stars label:hover::before,.detail-review-stars label:hover ~ label::before{content:"★"}
.detail-review-list{display:grid;gap:.75rem;margin-top:.75rem}
.detail-review-item{border-top:1px solid var(--fd-border,#ddd);padding-top:.75rem}
.detail-review-delete-form{margin-top:.55rem}
.detail-review-delete-button{padding:.2rem .65rem;font-size:.82rem}
.detail-review-comments{min-width:0}
.detail-review-empty{color:#6c757d;margin:0}
.detail-review-item strong{display:block}
html.detail-page-root{height:auto;min-height:100%;overflow-y:auto}
body.detail-page{height:auto!important;min-height:100vh;overflow-y:visible!important}
@media (max-width: 576px) {
  .detail-pdf-bookmarks-panel {
    width: calc(100vw - 1rem);
    max-width: calc(100vw - 1rem);
  }
  .detail-pdf-chapter-list li { margin-left: calc(var(--pdf-chapter-level) * .45rem); }
  .detail-rating-popover{display:none!important}
  .detail-rating-row{grid-template-columns:4.4rem minmax(0,1fr) 2.7rem}
  .detail-review-stars label{font-size:1.75rem}
}
@media (max-width: 767.98px) {
  .detail-review-layout{grid-template-columns:1fr;gap:1.5rem}
  .detail-review-overview{border-right:0;border-bottom:1px solid var(--fd-border,#ddd);padding:0 0 1.5rem}
  .detail-review-search{flex-direction:column}
}
