body #ped-detail .ped-aligned-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.6fr) minmax(0, 1fr) !important;
  grid-template-areas: 'identity heading reactions' 'cover summary author' 'classification information related' !important;
  gap: 24px !important;
  padding: 20px !important;
  margin: 0 !important;
  background: #fff;
  border: 1px solid #e7e1f2;
  border-radius: 24px;
}
body #ped-detail .ped-aligned-grid > * { min-width: 0; margin: 0 !important; align-self: start; }
body #ped-detail .ped-aligned-identity { grid-area: identity; align-self: stretch; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; text-align: center; }
body #ped-detail .ped-aligned-heading { grid-area: heading; align-self: center; }
body #ped-detail .ped-aligned-heading h1 { margin: 0 !important; font-size: clamp(1.3rem,2vw,1.8rem) !important; line-height: 1.25; overflow-wrap: anywhere; }
body #ped-detail .ped-aligned-reactions { grid-area: reactions; }
body #ped-detail .ped-aligned-reactions .content-reactions { margin: 0 !important; }
body #ped-detail .ped-aligned-reactions .content-reactions-heading { margin: 0 0 10px; }
body #ped-detail .ped-aligned-reactions .content-reactions-heading > span { display: none; }
body #ped-detail .ped-aligned-reactions .content-reaction-buttons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
body #ped-detail .ped-aligned-reactions .content-reaction { display: flex; align-items: center; justify-content: center; gap: 6px; min-width: 0; min-height: 44px; }
body #ped-detail .ped-aligned-reactions .content-reaction svg { width: 20px; height: 20px; flex: 0 0 20px; }
body #ped-detail .ped-aligned-reactions .content-reaction > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body #ped-detail .ped-aligned-reactions .content-reaction-status:empty { display: none; }
body #ped-detail .ped-aligned-cover-column { grid-area: cover; }
body #ped-detail .ped-aligned-summary { grid-area: summary; }
body #ped-detail .ped-aligned-author { grid-area: author; }
body #ped-detail .ped-aligned-classification { grid-area: classification; }
body #ped-detail .ped-aligned-information { grid-area: information; }
body #ped-detail .ped-aligned-related { grid-area: related; }
body #ped-detail :is(.ped-aligned-identity,.ped-aligned-cover,.ped-aligned-summary,.ped-aligned-author,.ped-aligned-classification,.ped-aligned-information,.ped-aligned-related) {
  background: #f8f6fc; border: 1px solid #e7e1f2; border-radius: 16px; padding: 16px; box-sizing: border-box;
}
body #ped-detail .ped-aligned-cover img { display: block; width: 100%; max-height: 440px; height: auto; object-fit: contain; margin: 0 auto; border-radius: 10px; }
body #ped-detail .ped-aligned-cover .content-image-credit { display: block; margin-top: 8px; }
body #ped-detail .ped-aligned-downloads { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
body #ped-detail .ped-aligned-downloads .btn { width: 100%; box-sizing: border-box; text-align: center; white-space: normal; }
body #ped-detail .ped-aligned-grid h2 { font-size: 1.1rem !important; line-height: 1.4; margin: 0 0 16px !important; padding: 0 0 10px 12px !important; border-bottom: 1px solid #e3deec; color: #4d5b96; position: relative; }
body #ped-detail .ped-aligned-grid h2::before { content: ''; position: absolute; left: 0; top: 3px; width: 4px; height: 18px; border-radius: 3px; background: #a78de8; }
body #ped-detail .ped-aligned-grid h3 { margin: 24px 0 10px; font-size: 1rem; color: #4d5b96; }
body #ped-detail .ped-aligned-grid p { margin: 0; overflow-wrap: anywhere; }
body #ped-detail .ped-aligned-grid .tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
body #ped-detail .ped-aligned-grid .tag { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #eee9ff; color: #563a99; font-size: .85rem; line-height: 1.4; font-weight: 800; border: 1px solid currentColor; text-decoration: none; white-space: normal; overflow-wrap: anywhere; max-width: 100%; box-sizing: border-box; }
body #ped-detail .ped-aligned-grid .tag[data-age-group] { background: var(--age-bg) !important; color: var(--age-ink) !important; border-color: var(--age-border) !important; }
body #ped-detail .ped-aligned-grid a.tag:hover { background: #e2d8ff; }
body #ped-detail .ped-aligned-grid a.tag:focus-visible { outline: 3px solid #6855bb; outline-offset: 3px; }
body #ped-detail .ped-aligned-information .detail-table { display: block !important; margin: 0; border: 0; padding: 0; background: none; }
body #ped-detail .ped-aligned-information .detail-row { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 12px; padding: 12px 0; }
body #ped-detail .ped-aligned-information .detail-row > * { min-width: 0; overflow-wrap: anywhere; white-space: pre-line; }
body #ped-detail .ped-aligned-related .pc-ped-related-section { padding: 0; background: none; border: 0; margin: 0; }
body #ped-detail .ped-aligned-related .pc-ped-related-track { max-width: 100%; }
body.pc-public-detail-ressource-pedagogique .pc-detail-band-row { display: none !important; }
body.pc-public-detail-ressource-pedagogique .page-band { padding: 20px 0 !important; min-height: 0 !important; }
body.pc-public-detail-ressource-pedagogique .pc-detail-breadcrumb { font-size: 1rem; }
@media (max-width: 1100px) {
  body #ped-detail .ped-aligned-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.6fr) !important; grid-template-areas: 'identity heading' 'reactions reactions' 'cover summary' 'author author' 'classification information' 'related related' !important; }
}
@media (max-width: 700px) {
  body #ped-detail .ped-aligned-grid { grid-template-columns: minmax(0,1fr) !important; grid-template-areas: 'heading' 'identity' 'reactions' 'cover' 'summary' 'author' 'classification' 'information' 'related' !important; gap: 16px !important; padding: 14px !important; }
  body #ped-detail .ped-aligned-identity { padding: 12px; }
  body #ped-detail .ped-aligned-information .detail-row { grid-template-columns: minmax(0,1fr); gap: 6px; }
}
