/* Fichier CSS : /asset/css/page/resource/book.css */
.book-grid-layout {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(15 / 16 * 1rem);
  margin-top: 0;
  width: 100%;
  align-self: start;
}
/* ---------------------------------------------------- */
/* STYLE DE BASE DES CARTES */
/* ---------------------------------------------------- */
.book-resource-card {
  flex: 0 1 calc(33.333% - calc(10 / 16 * 1rem));
  max-width: calc(33.333% - calc(10 / 16 * 1rem));
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--space-md);
  background-color: var(--source-color-white-transparent) !important;
  border: calc(1 / 16 * 1rem) solid var(--color-book-resource-card-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-z2);
  align-items: flex-start;
  align-self: start;
}
html[data-theme="dark"] .book-resource-card {
  background-color: #000000 !important;
  border: none;
}
/* ---------------------------------------------------- */
/* 1. EN-TÊTE HORIZONTAL */
/* ---------------------------------------------------- */
.book-header-content {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
}
.book-cover-container {
  width: calc(132 / 16 * 1rem);
  height: auto;
  flex-shrink: 0;
  margin-left: var(--space-md);
  margin-right: 0;
  overflow: hidden;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-z2);
}
.book-cover-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.book-info-base {
  flex-grow: 1;
  text-align: left;
}
.book-title {
  font-size: var(--font-size-book-title);
  color: var(--source-color-accent-two);
  margin-top: 0;
  margin-bottom: var(--space-xs);
  line-height: var(--line-height-heading);
}
html[data-theme="dark"] .book-title {
  color: var(--color-dark-mode-title);
  font-size: calc(18 / 16 * 1rem);
  font-weight: var(--fw-normal);
  line-height: normal;
}
.book-subtitle {
  font-size: var(--font-size-base);
  color: var(--color-book-subtitle);
  line-height: calc(18 / 16 * 1rem);
  font-weight: var(--fw-bold);
  border-radius: var(--radius-sm);
}
html[data-theme="dark"] .book-subtitle {
  color: white;
  font-weight: var(--fw-normal);
}
.book-author {
  font-size: var(--font-size-book-author);
  color: var(--source-color-accent-two);
  font-weight: var(--fw-bold);
  margin-bottom: var(--space-xs);
}
html[data-theme="dark"] .book-author {
  color: #90EE90;
  font-weight: var(--fw-normal);
}
.book-author-website {
  margin-top: calc(8 / 16 * 1rem);
  margin-bottom: 0;
}
.book-author-link {
  display: inline-flex;
  align-items: center;
  background-color: #ffffff;
  color: #000000;
  border: none;
  border-radius: calc(8 / 16 * 1rem);
  padding: calc(5 / 16 * 1rem) calc(10 / 16 * 1rem);
  font-size: 0.9em;
  text-decoration: none;
  font-weight: normal;
  cursor: pointer;
  box-shadow: var(--shadow-z2);
}
html[data-theme="dark"] .book-author-link {
  background-color: #ffffff;
  color: #000000;
}
.book-author-link::before {
  content: "";
  background-image: url("/asset/img/gl/hand-pointer.svg");
  display: inline-block;
  width: 1.3em;
  height: 1.3em;
  margin-right: calc(5 / 16 * 1rem);
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
  filter: brightness(0);
}
.book-author-link:hover {
  background-color: #ededed;
  color: #000000;
  filter: none;
}
html[data-theme="dark"] .book-author-link:hover {
  background-color: #ededed;
  color: #000000;
}
.book-language {
  font-size: 1rem;
  color: var(--color-book-language);
  font-weight: var(--fw-bold);
  margin-top: var(--space-sm);
  margin-bottom: var(--space-sm);
  width: 100%;
}
html[data-theme="dark"] .book-language {
  color: #ff7777;
  font-weight: var(--fw-normal);
}
.book-language-link {
  color: var(--color-link-to-be-view);
  font-weight: var(--fw-bold);
  text-decoration: underline;
  display: inline-block;
}
html[data-theme="dark"] .book-language-link {
  color: #ff7777;
  font-weight: var(--fw-normal);
}
.book-language-link:hover {
  transform: scale(var(--transform-scale-md));
}
/* ---------------------------------------------------- */
/* 2. SECTION CENTRÉE (Résumé et Expansion) */
/* ---------------------------------------------------- */
.book-center-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-align: left;
  margin-bottom: 0;
  width: 100%;
}
.book-summary-wrapper {
  max-height: calc(103 / 16 * 1rem);
  overflow: hidden;
  position: relative;
  padding-bottom: 0;
  flex-grow: 1;
  min-height: 0;
  box-sizing: border-box;
  margin-top: 0;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 100%);
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 100%);
}
html[data-theme="dark"] .book-summary-wrapper {
  background-color: #000000 !important;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 100%);
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 100%);
}
.book-summary-wrapper.no-overflow {
  max-height: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
html[data-theme="dark"] .book-summary-wrapper.no-overflow {
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
.book-summary-wrapper.expanded {
  max-height: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
html[data-theme="dark"] .book-summary-wrapper.expanded {
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
.book-summary-wrapper::after {
  display: none !important;
}
.book-summary-wrapper.expanded::after {
  opacity: 0;
}
.book-summary,
.book-summary p {
  color: #000000;
  font-size: 1rem !important;
  margin: 0 !important;
  padding: 0 !important;
}
html[data-theme="dark"] .book-summary,
html[data-theme="dark"] .book-summary p {
  color: var(--color-texte-dark-mode) !important;
}
.book-expand-btn {
  display: block;
  width: 100%;
  margin: var(--space-xs) auto var(--space-sm) auto;
  text-align: center;
  padding: calc(4 / 16 * 1rem) 0;
  background-color: transparent;
  color: black;
  border: none;
  cursor: pointer;
  font-size: var(--font-size-video-btn-read-more);
  font-weight: var(--fw-bold);
  text-decoration: none;
  position: relative;
  z-index: 10;
  flex-shrink: 0;
}
html[data-theme="dark"] .book-expand-btn {
  color: #FFFFFF;
  font-weight: normal;
}
.book-expand-btn:hover {
  transform: scale(var(--transform-scale-md));
}
.book-expand-btn::after {
  content: "\25BC";
  display: inline-block;
  margin-left: var(--space-sm);
  font-size: var(--font-size-video-btn-read-more-triangle);
  transition: none;
}
.book-expand-btn.is-expanded::after {
  content: "\25B2";
}
@media (max-width: calc(1024 / 16 * 1rem)) {
  .book-resource-card {
    flex: 0 1 calc(50% - calc(7.5 / 16 * 1rem));
    max-width: calc(50% - calc(7.5 / 16 * 1rem));
  }
}

@media (max-width: calc(785 / 16 * 1rem)) {
  .book-resource-card {
    flex: 0 1 100%;
    max-width: 100%;
  }
}
.vegan-resource-page-container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.vegan-resource-page-container .box {
  margin-bottom: 0 !important;
}
.box {
  margin-bottom: calc(5 / 16 * 1rem);
}
@media (max-width: calc(635 / 16 * 1rem)) {
  .book-language {
    font-size: .9rem !important;
  }
}