.library-page { background: #fff; }

.library-hero {
  position: relative;
  overflow: hidden;
  padding: 58px 0 62px;
  background:
    radial-gradient(circle at 87% 22%, rgba(255, 198, 47, .16), transparent 26%),
    radial-gradient(circle at 74% 92%, rgba(245, 41, 141, .12), transparent 25%),
    radial-gradient(circle at 8% 40%, rgba(255, 138, 31, .07), transparent 25%),
    linear-gradient(180deg, #fffdf9 0%, #fff9ee 100%);
}
.library-hero::after {
  content: "";
  position: absolute;
  width: 560px;
  height: 260px;
  right: -160px;
  bottom: -170px;
  border-radius: 50%;
  background: rgba(255, 198, 47, .13);
  transform: rotate(-9deg);
}
.library-hero > .shell {
  width: min(calc(100% - 40px), clamp(1240px, 86vw, 1760px));
}
.library-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: .84fr 1.16fr;
  gap: clamp(40px, 3.4vw, 72px);
  align-items: center;
}
.library-hero-copy h1 {
  margin: 18px 0 18px;
  color: var(--navy);
  font-size: clamp(52px, 5.7vw, 78px);
  line-height: .96;
  letter-spacing: -.055em;
}
.library-hero-copy h1 em {
  position: relative;
  display: inline-block;
  color: var(--pink);
  font-family: "Segoe Print", "Bradley Hand", cursive;
  font-style: italic;
  font-weight: 850;
  letter-spacing: -.065em;
}
.library-hero-copy h1 em::after {
  content: "";
  position: absolute;
  left: 5%;
  right: 2%;
  bottom: -7px;
  height: 7px;
  border-radius: 60% 40% 70% 30%;
  background: var(--yellow);
  transform: rotate(-2deg);
}
.title-heart,
.heading-heart {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--pink);
  font-size: 26px;
  font-weight: 900;
}
.title-heart { margin: 6px 0 18px; width: 320px; }
.title-heart span,
.heading-heart span {
  display: block;
  height: 2px;
  background: linear-gradient(90deg, rgba(245,41,141,.1), rgba(245,41,141,.65));
  flex: 1;
}
.title-heart span:last-child,
.heading-heart span:last-child { background: linear-gradient(90deg, rgba(245,41,141,.65), rgba(245,41,141,.1)); }
.library-intro {
  max-width: 560px;
  margin: 0;
  color: #3d4963;
  font-size: 19px;
  line-height: 1.62;
}
.library-intro strong { color: var(--pink); }
.library-values {
  display: grid;
  gap: 16px;
  margin: 28px 0 30px;
}
.library-values > div {
  display: flex;
  gap: 15px;
  align-items: flex-start;
}
.library-values p {
  margin: 1px 0 0;
  display: grid;
  gap: 3px;
}
.library-values strong { color: var(--navy); font-size: 15px; }
.library-values small { color: #667189; font-size: 12px; }
.value-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 900;
  font-size: 20px;
  box-shadow: 0 10px 20px rgba(40, 50, 90, .10);
}
.value-icon.heart { background: linear-gradient(135deg, #f72d88, #dc2d74); }
.value-icon.people { background: linear-gradient(135deg, #ffb217, #ff8d1d); }

.library-visual {
  min-height: 430px;
  position: relative;
}
.library-visual-photo {
  display: flex;
  align-items: center;
  justify-content: center;
}
.library-visual-photo img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  max-height: clamp(480px, 31vw, 650px);
  object-fit: contain;
}
.library-doodle { position: absolute; z-index: 3; font-weight: 900; }
.ld1 { top: 72px; left: 2%; color: #1bafea; font-size: 28px; }
.ld2 { top: 48px; right: 6%; color: #f5298d; font-size: 32px; transform: rotate(10deg); }
.ld3 { bottom: 50px; left: 4%; color: #ff931e; font-size: 34px; }
.ld4 { bottom: 90px; right: 4%; color: #7d35df; font-size: 30px; }

.books-section {
  padding: 50px 0 34px;
  background:
    radial-gradient(circle at 10% 83%, rgba(23,199,197,.06), transparent 25%),
    radial-gradient(circle at 92% 36%, rgba(245,41,141,.05), transparent 22%),
    #fff;
}
.library-section-heading {
  text-align: center;
  margin-bottom: 32px;
}
.library-section-heading h2 {
  margin: 0;
  color: var(--navy);
  font-size: 38px;
  letter-spacing: -.035em;
}
.heading-heart {
  width: 180px;
  margin: 3px auto 3px;
  font-size: 18px;
}
.library-section-heading p { margin: 4px 0 0; color: #65718a; }
.books-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.library-book-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 16px 16px 18px;
  border: 1px solid #e2e8f1;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(26, 48, 86, .08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.library-book-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(26, 48, 86, .12);
}
.book-cover {
  min-height: 225px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  text-align: center;
  font-weight: 800;
  color: #273658;
  margin-bottom: 15px;
}
.book-cover.cover-pink { background: linear-gradient(145deg, #ffd0df, #f5b4c9); }
.book-cover.cover-yellow { background: linear-gradient(145deg, #fff0b8, #ffd77c); }
.book-cover.cover-blue { background: linear-gradient(145deg, #cbe7ff, #91c3f7); }
.book-cover.cover-purple { background: linear-gradient(145deg, #e5d1ff, #c8a8f8); }
.book-cover.cover-mint { background: linear-gradient(145deg, #caf4e8, #9be2d2); }
.book-cover.cover-orange { background: linear-gradient(145deg, #ffe2bd, #ffc774); }
.book-kind {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 8px;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
}
.kind-purple { color: #7136d7; background: #efe4ff; }
.kind-mint { color: #048b83; background: #d9f8f2; }
.kind-orange { color: #ca6900; background: #fff0d4; }
.kind-blue { color: #126fd0; background: #deeeff; }
.kind-pink { color: #cf2874; background: #ffe0ef; }
.library-book-card h3 {
  margin: 0 0 9px;
  color: var(--navy);
  font-size: 20px;
  line-height: 1.13;
  letter-spacing: -.025em;
}
.library-book-subtitle {
  margin: -2px 0 9px;
  color: #7b38d0;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.35;
}
.library-book-card > p {
  flex: 1;
  margin: 0 0 18px;
  color: #5c6880;
  font-size: 13px;
}
.book-card-actions {
  display: grid;
  grid-template-columns: 1fr 44px;
  gap: 9px;
  align-items: center;
}
.book-main-action,
.book-cart {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 850;
}
.book-main-action {
  gap: 10px;
  padding: 0 16px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(90deg, #7434d7, #9826b2);
  box-shadow: 0 10px 20px rgba(117, 50, 204, .18);
}
.book-cart {
  width: 44px;
  border: 2px solid #ff9ac6;
  border-radius: 50%;
  color: var(--pink);
  background: #fff;
  font-size: 18px;
}
.extra-book { display: none; }
.extra-book.is-visible { display: flex; }
.more-books-wrap { display: flex; justify-content: center; padding-top: 28px; }
.more-books {
  min-height: 48px;
  padding: 0 26px;
  border-radius: 999px;
  border: 2px solid #a36be7;
  color: #6b35ce;
  background: #fff;
  font-weight: 850;
}

.library-reassurance { padding: 24px 0 46px; background: #fff; }
.reassurance-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 24px 20px;
  border: 1px solid #e4eaf3;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(23, 48, 89, .06);
}
.reassurance-grid > div {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 5px 18px;
  border-right: 1px solid #edf1f6;
}
.reassurance-grid > div:last-child { border-right: 0; }
.reassurance-grid p { margin: 0; display: grid; gap: 2px; }
.reassurance-grid strong { color: var(--navy); font-size: 13px; }
.reassurance-grid small { color: #707b90; font-size: 10px; }
.reassurance-icon { font-size: 28px; }
.ri-pink { color: var(--pink); }
.ri-orange { color: #ff9d17; }
.ri-mint { color: #16b9b6; }
.ri-purple { color: #8a3bd3; }
.library-help { padding-top: 0; }

@media (max-width: 1050px) {
  .library-hero-grid { grid-template-columns: 1fr; }
  .library-visual { min-height: 390px; }
  .books-grid { grid-template-columns: repeat(2, 1fr); }
  .reassurance-grid { grid-template-columns: repeat(2, 1fr); }
  .reassurance-grid > div:nth-child(2) { border-right: 0; }
  .reassurance-grid > div { padding-block: 12px; }
}

@media (max-width: 700px) {
  .library-hero { padding-top: 40px; }
  .library-hero-copy h1 { font-size: 50px; }
  .title-heart { width: 250px; }
  .library-intro { font-size: 16px; }
  .library-visual { min-height: 310px; }
  .library-visual-photo img { max-height: none; }
  .books-grid { grid-template-columns: 1fr; }
  .book-cover { min-height: 260px; }
  .reassurance-grid { grid-template-columns: 1fr; }
  .reassurance-grid > div { border-right: 0; border-bottom: 1px solid #edf1f6; }
  .reassurance-grid > div:last-child { border-bottom: 0; }
}

/* v4.14 - prix et fiche livre */
.library-book-card h3 a{color:inherit;text-decoration:none}.library-book-card .book-cover{overflow:hidden}.library-book-card .book-cover img{width:100%;height:100%;object-fit:cover}.book-public-price{display:grid;grid-template-columns:1fr;gap:4px;margin:4px 0 16px;padding:13px 14px;border-radius:15px;background:#fff8fb;border:1px solid #ffd8e8}.book-price-before{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.book-reference-price{font-size:15px;font-weight:800;color:#8791a4;text-decoration:line-through;text-decoration-thickness:2px}.book-discount-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;background:#ffdceb;color:#d31f6f;font-size:11px;font-weight:950}.book-site-price-label{font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.065em;color:#7c38d0}.book-public-price .book-price{display:block;width:100%;margin:0;font-size:25px;line-height:1.05;color:#e9277e;font-weight:950}.book-detail-hero{padding:48px 0 58px;background:linear-gradient(180deg,#fffdf9,#fff9ee)}.book-detail-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:58px;align-items:start}.book-detail-media{max-width:470px}.book-detail-cover{aspect-ratio:2/3;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#f0e7ff,#ffe5ef);box-shadow:0 24px 50px rgba(42,39,83,.15);display:grid;place-items:center;color:#7c6c92}.book-detail-cover img{width:100%;height:100%;object-fit:cover}.book-detail-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.book-detail-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid #e5e9f1}.book-detail-copy{padding-top:8px}.book-detail-back{display:inline-block;margin-bottom:22px;color:#7341ce;font-size:13px;font-weight:850}.book-detail-category{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f1e8ff;color:#7341ce;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.book-detail-copy h1{margin:14px 0 8px;color:var(--navy);font-size:clamp(38px,4.5vw,64px);line-height:1.03;letter-spacing:-.045em}.book-detail-subtitle{margin:0 0 16px;color:#596780;font-size:19px;line-height:1.5}.book-detail-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.book-detail-meta span{padding:6px 9px;border-radius:8px;background:#f3f5f8;color:#68758b;font-size:11px;font-weight:800}.book-detail-intro{max-width:680px;color:#4e5c75;font-size:16px;line-height:1.72}.book-detail-price{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:28px 0 20px;padding:18px;border-radius:18px;background:#fff;border:1px solid #e7eaf0;box-shadow:0 12px 28px rgba(39,52,84,.06)}.book-detail-reference{text-decoration:line-through;text-decoration-thickness:2px;color:#8a95a7;font-size:17px;font-weight:800}.book-detail-price strong{width:100%;font-size:38px;line-height:1;color:#e9277e}.book-detail-price small{width:100%;font-size:11px;font-weight:900;color:#7b38d0;text-transform:uppercase;letter-spacing:.06em}.book-detail-content{padding:52px 0 70px;background:#fff}.book-detail-rich{max-width:860px;margin:0 auto;color:#33435f;font-size:16px;line-height:1.75}.book-detail-rich h2,.book-detail-rich h3{color:var(--navy)}.book-detail-rich img{max-width:100%;height:auto;border-radius:16px}.book-buy-button{margin-top:5px}
@media(max-width:880px){.book-detail-grid{grid-template-columns:1fr;gap:30px}.book-detail-media{max-width:330px;margin:0 auto}.book-detail-copy{padding-top:0}}
.book-buy-form{margin:0}.book-buy-form .book-buy-button{border:0;cursor:pointer;font:inherit}.book-stripe-note{margin:9px 0 0;color:#7c8798;font-size:12px;font-weight:750}.book-stripe-note::before{content:'🔒';margin-right:5px;font-size:11px}


@media (max-width: 1050px) {
  .library-hero > .shell { width: min(calc(100% - 40px), var(--shell)); }
}

/* v4.66 - Titre hero fluide ; "Atypique World" reste toujours sur une ligne */
.library-hero-copy h1{
  font-size:clamp(42px,4.5vw,78px);
}
.library-hero-copy h1 em{
  display:inline-block;
  white-space:nowrap;
  font-size:.86em;
}
@media(max-width:760px){
  .library-hero-copy h1{font-size:clamp(38px,10vw,56px);}
  .library-hero-copy h1 em{font-size:.82em;}
}

/* v5.0 - choix invité / espace client sur l'achat d'un livre */
.book-customer-connected{display:flex;align-items:center;gap:11px;margin:0 0 14px;padding:13px 14px;border:1px solid #dfe7f0;border-radius:15px;background:#f9fbff;color:var(--navy)}
.book-customer-connected>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:13px;background:#eee7ff;color:#7134d8;font-size:18px;font-weight:900}.book-customer-connected div{display:grid;gap:2px}.book-customer-connected strong{font-size:12px}.book-customer-connected small{color:#758298;font-size:10px;line-height:1.4}
.book-customer-choice{display:grid;gap:8px;margin:0 0 14px;padding:13px;border:1px solid #e3e8f1;border-radius:16px;background:#fff}.book-customer-choice legend{padding:0 6px;color:var(--navy);font-size:11px;font-weight:950}.book-customer-choice>label{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;padding:10px 11px;border:1px solid #edf0f5;border-radius:13px;background:#fbfcff;cursor:pointer}.book-customer-choice>label:has(input:checked){border-color:#cdb4ef;background:#faf6ff;box-shadow:0 0 0 2px rgba(113,52,216,.06)}.book-customer-choice input{margin-top:2px;accent-color:#7b31eb}.book-customer-choice label span{display:grid;gap:2px}.book-customer-choice label strong{color:var(--navy);font-size:11px}.book-customer-choice label small{color:#758198;font-size:9px;line-height:1.45}.book-customer-choice .book-newsletter-choice{margin-top:2px;background:#fff9fc;border-color:#f4d9e7}.book-customer-choice>p{margin:2px 3px 0;color:#7a8799;font-size:10px}.book-customer-choice>p a{color:#6f36d4;font-weight:900}.book-buy-form .book-buy-button{width:auto}
@media(max-width:520px){.book-customer-choice{padding:10px}.book-customer-connected{align-items:flex-start}.book-buy-form .book-buy-button{width:100%;justify-content:center}}
