/* CurioVox 1.8.5 — isolation robuste de la mise en page. */

/* Le conteneur principal d'une fiche ne doit jamais comprimer ses sections. */
.single-cvx_book .product-main {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-inline: 0;
  overflow: clip;
}

.single-cvx_book .product-main > * {
  float: none;
  clear: both;
}

.single-cvx_book .detail-breadcrumb,
.single-cvx_book .product-hero,
.single-cvx_book .related-early {
  width: min(calc(100% - 48px), 1320px);
  max-width: 1320px;
  margin-inline: auto;
}

.single-cvx_book .product-hero,
.single-cvx_book .book-detail {
  min-width: 0;
  grid-template-columns: minmax(300px, 400px) minmax(0, 1fr);
}

.single-cvx_book .detail-copy,
.single-cvx_book .product-story-copy,
.single-cvx_book .product-facts {
  min-width: 0;
  max-width: 100%;
}

.single-cvx_book .product-story-section,
.single-cvx_book .product-author-section {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box;
}

/*
 * Le résumé et les caractéristiques forment leur propre grille. Ces valeurs
 * neutralisent les anciennes règles de colonnes qui pouvaient réduire le
 * résumé à quelques pixels sur ordinateur.
 */
.single-cvx_book .product-story-section {
  display: grid !important;
  grid-template-columns: minmax(0, 760px) minmax(280px, 360px) !important;
  justify-content: center;
  align-items: start;
  gap: clamp(40px, 6vw, 92px);
  padding: clamp(64px, 7vw, 100px) max(24px, calc((100vw - 1220px) / 2)) !important;
}

.single-cvx_book .product-story-copy {
  width: 100% !important;
  max-width: 760px !important;
  display: block;
}

.single-cvx_book .product-facts {
  width: 100% !important;
  max-width: 360px !important;
  justify-self: stretch;
}

.single-cvx_book .product-story-copy > *,
.single-cvx_book .product-story-text > *,
.single-cvx_book .product-facts > * {
  width: auto;
  max-width: 100%;
}

.single-cvx_book .product-story-copy h2,
.single-cvx_book .product-story-text,
.single-cvx_book .product-facts,
.single-cvx_book .product-facts * {
  writing-mode: horizontal-tb;
  word-break: normal;
  overflow-wrap: break-word;
}

/* Navigation : même boîte, même ligne de base et même zone tactile. */
.site-header .header-nav-menu,
.detail-header.public-header .header-nav-menu {
  margin: 0;
}

.site-header [data-main-nav] > .header-genre-menu > summary {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  font-size: .94rem;
  line-height: 1.25;
  font-weight: 800;
}

.site-header [data-main-nav] > .header-genre-menu > summary span {
  width: 14px;
  margin-left: 5px;
  display: inline-flex;
  justify-content: center;
  font-size: .72rem;
}

@media (min-width: 1101px) {
  .site-header [data-main-nav] > .header-genre-menu {
    height: 100%;
    display: flex;
    align-items: stretch;
  }

  .site-header [data-main-nav] > .header-genre-menu > summary {
    width: auto;
    height: 100%;
    min-height: 0;
    padding: 29px 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    vertical-align: middle;
  }
}

/* Le bandeau catalogue utilise trois zones stables, sans chevauchement. */
.catalogue-invitation {
  grid-template-columns: minmax(185px, 230px) minmax(320px, 1fr) auto;
  gap: clamp(24px, 3vw, 52px);
}

.catalogue-invitation-count {
  min-width: 0;
  padding-right: clamp(22px, 3vw, 38px);
}

.catalogue-invitation-count strong {
  display: block;
  white-space: nowrap;
}

.catalogue-invitation-copy {
  align-content: center;
}

.catalogue-invitation-copy strong {
  max-width: none;
}

.catalogue-invitation-copy p {
  max-width: 620px;
  margin-top: 8px;
}

.catalogue-invitation > a {
  justify-self: end;
}

@media (max-width: 1100px) {
  .single-cvx_book .detail-breadcrumb,
  .single-cvx_book .product-hero,
  .single-cvx_book .related-early {
    width: min(calc(100% - 56px), 980px);
  }

  .single-cvx_book .product-hero,
  .single-cvx_book .book-detail {
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  }

  .site-header [data-main-nav].open > .header-genre-menu > summary {
    width: 100%;
    height: auto;
    min-height: 54px;
    padding: 0 2px;
    justify-content: space-between;
    font-size: 1rem;
  }

  .catalogue-invitation {
    grid-template-columns: minmax(170px, 220px) minmax(0, 1fr);
  }

  .catalogue-invitation > a {
    grid-column: 2;
    justify-self: start;
  }

  .single-cvx_book .product-story-section {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important;
    gap: 40px;
    padding-inline: 28px !important;
  }
}

@media (max-width: 820px) {
  .single-cvx_book .product-hero,
  .single-cvx_book .book-detail {
    grid-template-columns: 1fr;
  }

  .single-cvx_book .detail-cover-column {
    position: static;
  }

  .single-cvx_book .product-story-section,
  .single-cvx_book .product-author-section {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .single-cvx_book .product-facts {
    max-width: 600px !important;
  }
}

@media (max-width: 767px) {
  .single-cvx_book .detail-breadcrumb,
  .single-cvx_book .product-hero,
  .single-cvx_book .related-early {
    width: calc(100% - 32px);
  }

  .single-cvx_book .product-story-section,
  .single-cvx_book .product-author-section {
    padding: 48px 16px !important;
  }

  .single-cvx_book .product-story-copy,
  .single-cvx_book .product-facts {
    width: 100% !important;
    max-width: 100% !important;
  }

  .single-cvx_book .product-story-text {
    font-size: 1.05rem;
    line-height: 1.68;
  }

  .single-cvx_book .product-story-copy h2 {
    overflow-wrap: normal;
  }

  .catalogue-invitation {
    padding: 30px 20px;
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .catalogue-invitation-count {
    padding: 0 0 18px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.25);
  }

  .catalogue-invitation-count strong {
    font-size: clamp(3.3rem, 18vw, 4.8rem);
  }

  .catalogue-invitation > a {
    grid-column: 1;
    width: 100%;
    min-height: 52px;
    justify-self: stretch;
    white-space: normal;
    text-align: center;
  }
}

@media (max-width: 359px) {
  .single-cvx_book .detail-breadcrumb,
  .single-cvx_book .product-hero,
  .single-cvx_book .related-early {
    width: calc(100% - 24px);
  }

  .single-cvx_book .product-story-section,
  .single-cvx_book .product-author-section {
    padding: 40px 12px !important;
  }
}
