/* Book pages share the homepage palette, paper shapes, type and navigation.
   Content, illustrations and existing preview URLs remain in their source pages. */
body.book-detail {
  --detail-paper: #f5faeb; --detail-wash: #d9edba; --detail-edge: #91b46c; --detail-ink: #466332;
}
body.book-detail[data-palette="yellow"] { --detail-paper: #fff9df; --detail-wash: #ffe78d; --detail-edge: #d3b24c; --detail-ink: #7c6021; }
body.book-detail[data-palette="coral"] { --detail-paper: #fff2ed; --detail-wash: #ffd2c1; --detail-edge: #d99b85; --detail-ink: #995239; }
body.book-detail[data-palette="blue"] { --detail-paper: #edf7ff; --detail-wash: #c7e5f9; --detail-edge: #86b3ce; --detail-ink: #36668a; }
.book-detail .book-breadcrumb, .book-detail .fl-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 24px; font-size: 13px; }
.book-detail .section { padding-block: 32px; background: transparent; }
.book-detail .section > .container { min-width: 0; }
.book-detail .book-page-hero { padding-block: 38px 52px; }
.book-detail .book-page-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: 66px; align-items: center; }
.book-detail .book-page-copy { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.book-detail .kicker { display: inline-block; padding: 6px 12px; margin-bottom: 18px; border-radius: 10px 7px 12px 8px; background: var(--detail-wash); color: var(--detail-ink); font-size: 12px; line-height: 1.5; font-weight: 800; letter-spacing: .05em; transform: rotate(-1deg); }
.book-detail .book-page-copy h1 { max-width: none; margin: 0 0 18px; color: var(--home-blue); font-family: var(--home-hand); font-size: clamp(32px, 3.5vw, 46px); line-height: 1.18; overflow-wrap: break-word; }
.book-detail .book-page-copy h1::after { content: ""; display: block; width: min(210px, 75%); height: 38px; margin-top: 9px; background: url("assets/icons/gribouillage-crayon.svg") left center / contain no-repeat; transform: rotate(-3deg); }
.book-detail .lead { max-width: 65ch; margin: 16px 0; color: var(--home-ink); font-size: 17px; line-height: 1.7; }
.book-detail main p { color: var(--home-ink); }
.book-detail main p + p { margin-top: 14px; }
.book-detail .book-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 20px; }
.book-detail .pill { padding: 6px 11px; background: var(--detail-wash); border: 1px solid var(--detail-edge); border-radius: 9px 6px 11px 7px; color: var(--detail-ink); font: 750 15px/1.5 var(--home-hand); }
.book-detail .pill:first-child { transform: rotate(-2deg); }
.book-detail .benefit-list, .book-detail .check-list { padding-left: 22px; margin-block: 20px; font-size: 15px; line-height: 1.8; }
.book-detail li + li { margin-top: 7px; }
.book-detail li::marker { color: var(--home-green); }
.book-detail .button { min-height: 46px; padding: 13px 19px; border: 2px solid #b9c9cb; border-radius: 16px 20px 17px 19px; background: var(--home-paper); color: var(--home-ink); font-size: 15px; font-weight: 750; line-height: 1.4; white-space: normal; box-shadow: 2px 3px 0 #b9c9cb28; }
.book-detail .button.primary { background: var(--home-yellow); border-color: #b79b48; box-shadow: 2px 3px 0 #c1a65230; }
.book-detail .button.primary::after { display: none; }
.book-detail .button:hover { background: #edf5f3; transform: none; text-decoration: none; }
.book-detail .button.primary:hover { background: #ffce37; }
.book-detail .material-selection-link .button { background: #dceff6; border-color: #7da9bc; font-size: 13px; }
.book-detail .material-selection-link { margin: 17px 0; }
.book-detail main .microcopy { font-size: 12px; line-height: 1.6; color: #60665e; margin-top: 12px; }
.book-detail .actions, .book-detail .fl-actions, .book-detail .campaign-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 22px 14px; }
.book-detail .book-page-cover { position: relative; padding: 32px 25px; background: radial-gradient(ellipse at 35% 45%, #ffffff60 0 45%, transparent 46%), var(--detail-wash); border: 2px solid var(--detail-edge); border-radius: 26px 19px 30px 22px; box-shadow: 5px 6px 0 color-mix(in srgb, var(--detail-edge) 25%, transparent); transform: rotate(2deg); }
.book-detail .book-page-cover::before { content: ""; position: absolute; left: calc(50% - 40px); top: -12px; width: 80px; height: 26px; background: var(--detail-edge); opacity: .7; border-inline: 2px dashed #fff8; transform: rotate(-7deg); }
.book-detail .book-page-cover img { display: block; width: 100%; max-width: 100%; height: auto; max-height: 435px; object-fit: contain; border-radius: 2px; box-shadow: none; margin: 0 auto; filter: drop-shadow(4px 6px 4px #344d6230); }
.book-detail .book-page-cover picture { display: block; }
.book-detail .section:not(.book-page-hero) > .container { padding: clamp(24px, 3.5vw, 42px); border: 2px solid #d5d9bf; border-radius: 28px 21px 30px 23px; background: var(--home-paper); box-shadow: 4px 5px 0 #c9cba522; }
.book-detail .section.soft-section > .container { background: var(--detail-paper); border-color: var(--detail-edge); }
.book-detail .container.narrow { max-width: 900px; }
.book-detail main h2 { margin-bottom: 20px; color: var(--home-green); font-size: clamp(26px, 2.7vw, 34px); line-height: 1.25; }
.book-detail main h3 { font-family: var(--home-hand); color: var(--detail-ink); font-size: 23px; line-height: 1.3; margin-bottom: 12px; }
.book-detail main :is(p, ul) + h2 { margin-top: 32px; }
.book-detail main :is(p, ul) { font-size: 15px; line-height: 1.8; }
.book-detail main [id] { scroll-margin-top: 24px; }
.book-detail :is(.preview-gallery, .sens-previews, .chiffres-previews, .real-pages, .fl-preview-grid) { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); justify-content: center; gap: 24px; width: 100%; max-width: 1040px; margin: 28px auto 0; }
.book-detail :is(.preview-gallery, .sens-previews, .chiffres-previews, .real-pages, .fl-preview-grid) figure { min-width: 0; margin: 0; }
.book-detail :is(.preview-gallery, .sens-previews, .chiffres-previews, .real-pages, .fl-preview-grid) img { display: block; width: 100%; height: auto; max-height: 580px; object-fit: contain; padding: 10px; border: 1px solid #d7d4c4; border-radius: 6px 10px 7px 9px; background: #fff; box-shadow: 3px 4px 0 #344d6210; }
.book-detail .fl-preview-grid a { padding: 0; border: 0; background: transparent; }
.book-detail figcaption { margin-top: 14px; padding: 0; color: var(--home-ink); font-size: 13px; line-height: 1.65; text-align: center; }
.book-detail :is(.aplus-panel, .aplus-module > img) { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 8px; }
.book-detail .aplus-panel { max-height: 510px; margin: 0 auto 28px; }
.book-detail .aplus-module { max-width: 900px; margin: 0 auto 30px; background: #fff; border: 1px solid #d7d4c4; border-radius: 15px 21px 16px 23px; overflow: hidden; }
.book-detail .aplus-module:last-child { margin-bottom: 0; }
.book-detail .aplus-module > div { padding: 24px; }
.book-detail main details { margin: 12px 0; padding: 17px 20px; border: 1px solid #ccdac4; border-radius: 13px 18px 15px 16px; background: #fffef8; }
.book-detail main summary { color: var(--home-ink); font-weight: 750; font-size: 16px; line-height: 1.5; cursor: pointer; }
.book-detail main details p { margin-top: 14px; }
.book-detail .recommendations-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 22px; }
.book-detail .recommendations-grid .book-card { min-width: 0; padding: 22px; background: #fff9df; border: 2px solid #d3b24c; border-radius: 22px 15px 25px 17px; box-shadow: 4px 5px 0 #d3b24c22; }
.book-detail .recommendations-grid .book-card:nth-child(2) { background: #edf7ff; border-color: #86b3ce; }
.book-detail .recommendations-grid .book-card:nth-child(3) { background: #fff2ed; border-color: #d99b85; }
.book-detail .recommendations-grid .book-card img { height: 235px; max-width: 100%; border: 0; border-radius: 2px; background: transparent; box-shadow: none; filter: drop-shadow(3px 4px 2px #344d6228); }
.book-detail .recommendations-grid .book-card h3 { font-size: 22px; }
.book-detail .recommendations-grid .book-card p { font-size: 13px; }
.book-detail .text-link { color: var(--home-blue) !important; text-underline-offset: 4px; }
.book-detail .collection-links { margin-top: 28px; font-size: 13px; }
.book-detail :is(.tome2-univers, .tome2-steps, .fl-ideas) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.book-detail :is(.tome2-univers, .tome2-steps, .fl-ideas) article { padding: 22px; background: #fff4d1; border: 1px solid #dac782; border-radius: 17px 23px 19px 22px; }
.book-detail :is(.tome2-univers, .tome2-steps, .fl-ideas) article:nth-child(2n) { background: #e8f2f7; border-color: #b1cbd6; }
.book-detail .tome2-steps strong { color: var(--home-blue); font-family: var(--home-hand); font-size: 22px; }
.book-detail .tome2-facts { gap: 12px; margin-top: 24px; }
.book-detail .tome2-facts span { background: #fff0b5; font-size: 14px; border: 1px solid #d9bb56; border-radius: 11px 15px 13px 12px; }
.book-detail .tome2-related { align-items: center; }
.book-detail .tome2-related img { max-width: 150px; }
.book-detail .fl-choice { margin-top: 28px; background: #fff4d1; border-color: #dac782; }
.book-detail .campaign-sticky { border-top: 2px solid #d6b961; background: var(--home-paper); }
.book-detail .home-footer { margin-top: 28px; }
@media (max-width: 900px) {
  .book-detail .book-page-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 34px; }
  .book-detail .book-page-copy h1 { font-size: 33px; }
  .book-detail .book-page-cover { padding: 25px 16px; }
  .book-detail :is(.tome2-univers, .tome2-steps, .fl-ideas) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .book-detail .book-page-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 35px; }
  .book-detail .book-page-cover { order: 0; width: min(88%, 340px); justify-self: center; }
  .book-detail .book-page-cover img { max-height: 355px; }
  .book-detail .book-page-hero { padding-block: 26px 30px; }
  .book-detail .section { padding-block: 16px; }
  .book-detail .book-page-copy h1 { font-size: clamp(30px, 7.5vw, 38px); }
  .book-detail .section:not(.book-page-hero) > .container { padding: 25px 21px; }
  .book-detail :is(.preview-gallery, .sens-previews, .chiffres-previews, .real-pages, .fl-preview-grid) { grid-template-columns: minmax(0, 1fr); max-width: 400px; gap: 24px; }
  .book-detail :is(.tome2-univers, .tome2-steps, .fl-ideas, .recommendations-grid) { grid-template-columns: minmax(0, 1fr); }
  .book-detail main h2 { font-size: 27px; }
  .book-detail .aplus-module > div { padding: 20px; }
  .book-detail .actions .button, .book-detail .fl-actions .button, .book-detail .campaign-actions .button { width: 100%; }
  .book-detail[data-book="mon-premier-cahier-3-5-ans"] { padding-bottom: 90px; }
}
@media (prefers-reduced-motion: reduce) {
  .book-detail .button { transition: none; }
}
