/* Crédits compacts : une photo et un nom, sans hauteur réservée à la biographie. */
body :is(#book-detail, #webtoon-detail) .book-structural-author {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-self: start;
}
body :is(#book-detail, #webtoon-detail) .book-author-offset { display: none; }
body :is(#book-detail, #webtoon-detail) .book-structural-author > h2 {
  min-height: 0;
  margin: 0 !important;
  padding-bottom: 8px !important;
}
body :is(#book-detail, #webtoon-detail) .book-structural-author-content {
  display: grid;
  gap: 8px;
  padding: 0;
}
body :is(#book-detail, #webtoon-detail) .book-structural-author .author-card-under-cover {
  flex-direction: row !important;
  gap: 12px;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 8px !important;
  padding: 10px !important;
}
body :is(#book-detail, #webtoon-detail) .book-structural-author .author-card-under-cover img,
body :is(#book-detail, #webtoon-detail) .book-structural-author .author-photo-fallback {
  flex: 0 0 80px;
  width: 80px !important;
  height: 80px !important;
  min-height: 0 !important;
  margin: 0 !important;
}
body :is(#book-detail, #webtoon-detail) .book-structural-author .author-card-copy {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0 !important;
}
body :is(#book-detail, #webtoon-detail) .book-structural-author .author-card-under-cover h3 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
  text-align: left;
  overflow-wrap: anywhere;
}
/* Liens d’achat placés sous la maison d’édition. */
:is(#book-detail,#webtoon-detail) .book-purchase-links { margin: 0; padding: 14px; border: 1px solid #e5def2; border-radius: 16px; background: #fff; }
:is(#book-detail,#webtoon-detail) .book-purchase-links p { margin: 0 0 12px; font-weight: 700; text-align: center; }
:is(#book-detail,#webtoon-detail) .book-purchase-links > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
:is(#book-detail,#webtoon-detail) .book-purchase-link { display: flex; flex: 1 1 110px; align-items: center; flex-direction: column; gap: 6px; padding: 10px; min-height: 44px; border: 1px solid #ded7ed; border-radius: 12px; color: #5d46a0; text-decoration: none; text-align: center; font-size: .85rem; overflow-wrap: anywhere; }
:is(#book-detail,#webtoon-detail) .book-purchase-link svg { flex-shrink: 0; }
:is(#book-detail,#webtoon-detail) .book-purchase-link:hover { background: #f4f0fc; }
:is(#book-detail,#webtoon-detail) .book-purchase-link:focus-visible { outline: 3px solid #6855bb; outline-offset: 3px; }

body :is(#book-detail, #webtoon-detail) .book-structural-summary .back-cover > h2 {
  margin: 0 0 10px !important;
  padding: 0 0 8px !important;
  border-bottom: 2px solid var(--line);
  line-height: 1.2 !important;
}

/* Même retrait intérieur que les autres rubriques de la fiche. */
body :is(#book-detail, #webtoon-detail) .book-structural-summary .back-cover {
  padding: 16px !important;
}

/* Un seul intervalle horizontal et vertical dans la grille et entre ses cartes. */
body :is(#book-detail, #webtoon-detail) .book-structural-grid {
  column-gap: 24px !important;
  row-gap: 24px !important;
}

body :is(#book-detail, #webtoon-detail) .book-structural-left {
  gap: 12px !important;
}
body :is(#book-detail, #webtoon-detail) .book-structural-information { padding: 0 16px 16px !important; }
body :is(#book-detail, #webtoon-detail) .book-structural-left > * { margin: 0 !important; }

/* Deux fiches, une grille : éditeur compact puis couverture alignée avec le résumé. */
body :is(#book-detail, #webtoon-detail) .book-structural-publisher { grid-area: publisher; min-width: 0; }
body :is(#book-detail, #webtoon-detail) .book-structural-heading { grid-area: heading; min-width: 0; align-self: center; }
body :is(#book-detail, #webtoon-detail) .book-structural-heading p { margin: 0; }
body :is(#book-detail, #webtoon-detail) .book-structural-publisher .book-publisher-feature {
  margin: 0 !important; padding: 12px 10px !important; min-height: 108px; display: flex; align-items: center; justify-content: center;
}
body :is(#book-detail, #webtoon-detail) .book-structural-publisher .book-publisher-logo-link {
  flex-direction: row; gap: 12px; max-width: 100%; min-height: 32px; font-size: 1.1rem;
}
body :is(#book-detail, #webtoon-detail) .book-structural-publisher .book-publisher-logo-img,
body :is(#book-detail, #webtoon-detail) .book-structural-publisher .book-publisher-logo-link img {
  width: 96px !important; height: 96px !important; max-height: 96px !important; object-fit: contain; flex-shrink: 0;
}
body :is(#book-detail, #webtoon-detail) .book-publisher-logo-placeholder { font-size: 1.3rem; }
body :is(#book-detail, #webtoon-detail) .book-structural-summary { padding: 0 !important; }
body :is(#book-detail, #webtoon-detail) .book-structural-cover { padding-top: 0 !important; }
body :is(#book-detail, #webtoon-detail) .book-structural-cover .detail-cover { margin-top: 0 !important; top: auto !important; transform: none !important; }
body :is(#book-detail, #webtoon-detail) .book-structural-summary .back-cover { margin-top: 0 !important; }
body :is(#book-detail, #webtoon-detail) .book-structural-publisher:empty { display: none; }
body:is(.pc-public-detail-livre, .pc-public-detail-webtoon) main#contenu > header.page-band {
  min-height: 0 !important; padding: 12px 0 !important;
}
body:is(.pc-public-detail-livre, .pc-public-detail-webtoon) .pc-detail-breadcrumb {
  margin: 0 !important; font-size: clamp(1rem, 1.4vw, 1.2rem) !important; line-height: 1.5;
  font-weight: 750; flex-wrap: wrap; white-space: normal; overflow: visible; gap: 4px 10px;
}
body:is(.pc-public-detail-livre, .pc-public-detail-webtoon) .pc-detail-breadcrumb [aria-current='page'] {
  max-width: none !important; white-space: normal !important; overflow: visible !important; text-overflow: clip;
}
body:is(.pc-public-detail-livre, .pc-public-detail-webtoon) .pc-detail-breadcrumb a { min-height: 32px; display: inline-flex; align-items: center; }
@media (min-width: 801px) {
  body :is(#book-detail, #webtoon-detail) .book-structural-grid {
    grid-template-areas: 'publisher heading actions' 'cover summary author' 'left information related' !important;
    grid-template-rows: auto auto auto !important;
  }
  body :is(#book-detail, #webtoon-detail) :is(.book-structural-left, .book-structural-information, .book-structural-related) {
    position: static; top: auto; margin-bottom: 0;
  }
}
@media (min-width: 1101px) {
  body :is(#book-detail, #webtoon-detail) .book-structural-grid {
    grid-template-columns: minmax(0, 25fr) minmax(0, 47fr) minmax(0, 28fr) !important;
  }
}
@media (min-width: 801px) and (max-width: 1100px) {
  body :is(#book-detail, #webtoon-detail) .book-structural-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) !important;
    grid-template-areas: 'publisher heading' 'actions actions' 'cover summary' 'author author' 'left information' 'related related' !important;
  }
}
body :is(#book-detail, #webtoon-detail) .book-structural-heading:empty { display: none; }
body :is(#book-detail,#webtoon-detail) .book-structural-heading h1 { margin: 0 0 8px !important; font-size: clamp(1.3rem,2vw,1.8rem) !important; line-height: 1.25; overflow-wrap: anywhere; }
body :is(#book-detail,#webtoon-detail) .book-structural-information { padding: 0 !important; }
body :is(#book-detail,#webtoon-detail) .book-structural-information .detail-table { margin: 0 !important; width: 100%; }
@media (max-width: 800px) {
  body :is(#book-detail, #webtoon-detail) .book-structural-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: 'heading' 'publisher' 'actions' 'cover' 'summary' 'author' 'left' 'information' 'related' !important;
    grid-template-rows: auto !important;
  }
  body :is(#book-detail, #webtoon-detail) .book-structural-information {
    padding: 0 !important;
  }
}

/* Actions au-dessus de l’auteur ; achat immédiatement sous la couverture. */
body :is(#book-detail,#webtoon-detail) .book-structural-loan { display:block; margin:0 0 16px !important; padding:0 !important; }
body :is(#book-detail,#webtoon-detail) .book-structural-loan > button { width:100%; }
body :is(#book-detail,#webtoon-detail) .book-structural-loan .content-reactions { margin-top:12px; }
body :is(#book-detail,#webtoon-detail) .book-structural-cover .book-purchase-links { margin-top:16px; }
body :is(#book-detail,#webtoon-detail) .book-structural-loan .content-reaction-buttons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
body :is(#book-detail,#webtoon-detail) .book-structural-loan .content-reaction { display:flex; justify-content:center; min-width:0; min-height:44px; gap:5px; padding:5px; }
body :is(#book-detail,#webtoon-detail) .book-structural-loan .content-reaction > span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
body :is(#book-detail,#webtoon-detail) .book-structural-loan .content-reactions-heading span { display:none; }
body :is(#book-detail,#webtoon-detail) .book-structural-loan .content-reaction-status:empty { display:none; }
/* Bandeau d’avis compact : libellé et trois boutons sur une même ligne. */
body :is(#book-detail,#webtoon-detail) .book-structural-loan .content-reactions { display:flex; align-items:center; gap:8px; padding:8px 9px; }
body :is(#book-detail,#webtoon-detail) .book-structural-loan .content-reactions-heading { flex:0 0 auto; margin:0; }
body :is(#book-detail,#webtoon-detail) .book-structural-loan .content-reaction-buttons { flex:1 1 auto; min-width:0; gap:5px; }

/* Trois rang?es communes : les trois blocs de chaque rang?e commencent ensemble. */
body :is(#book-detail,#webtoon-detail) .book-structural-actions { grid-area:actions; min-width:0; }
body :is(#book-detail,#webtoon-detail) .book-structural-grid > * { min-width:0; margin:0 !important; align-self:start !important; }
body :is(#book-detail,#webtoon-detail) .book-structural-grid > .book-structural-heading { min-height:0; width:100%; display:block; align-self:center !important; }
body :is(#book-detail,#webtoon-detail) .book-structural-grid > .book-structural-actions { margin:0 !important; }
body :is(#book-detail,#webtoon-detail) a.book-publisher-feature.book-publisher-logo-link {
  width:100%; box-sizing:border-box; text-decoration:none !important; color:inherit;
}
body :is(#book-detail,#webtoon-detail) a.book-publisher-feature.book-publisher-logo-link strong { text-decoration:none !important; }
body :is(#book-detail,#webtoon-detail) a.book-publisher-feature:focus-visible { outline:3px solid #6750a4; outline-offset:3px; }
body :is(#book-detail,#webtoon-detail) .book-structural-publisher .book-publisher-feature {
 display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; text-align:center;
}
body :is(#book-detail,#webtoon-detail) .book-structural-publisher .book-publisher-feature > * { justify-self:center; align-self:center; margin:0 !important; min-width:0; max-width:100%; }
body :is(#book-detail,#webtoon-detail) .book-structural-publisher .book-publisher-feature strong { width:100%; overflow-wrap:anywhere; }
@media (min-width:1101px) {
 body :is(#book-detail,#webtoon-detail) .book-structural-grid { grid-template-areas:'publisher heading actions' 'cover summary author' 'left information related' !important; grid-template-rows:auto auto auto !important; }
 body :is(#book-detail,#webtoon-detail) .book-structural-grid > :is(.book-structural-left,.book-structural-information,.book-structural-related) { margin-top:-12px !important; }
 body :is(#book-detail,#webtoon-detail) .book-structural-grid > :is(.book-structural-publisher,.book-structural-actions) { align-self:stretch !important; }
 body :is(#book-detail,#webtoon-detail) .book-structural-publisher .book-publisher-feature { height:100%; box-sizing:border-box; }
 body :is(#book-detail,#webtoon-detail) .book-structural-actions .book-structural-loan { height:100%; box-sizing:border-box; display:flex; flex-direction:column; justify-content:space-between; margin:0 !important; }
}

.related-catalogue-link { color: inherit; text-decoration: none; }
.related-catalogue-link:hover { text-decoration: underline; text-underline-offset: .2em; }
.related-catalogue-link:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 3px; }
