/* ============================================================
   E-BOOKS CATALOG + PRODUCT RESPONSIVE LAYOUT HOTFIX
   Scope intentionally limited to /ebooks/ catalog and product page.
   Does not alter global site pages, library, checkout or admin.
   ============================================================ */

/* Contain every e-book storefront section inside the viewport. */
.ebooks-catalog-v4,
.product-v4.product-influencer {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

.ebooks-catalog-v4 *,
.product-v4.product-influencer * {
  min-width: 0;
}

.ebooks-catalog-v4 .wrap,
.product-v4.product-influencer .wrap {
  width: min(1180px, calc(100% - 40px));
  max-width: 1180px;
  margin-inline: auto;
  padding-inline: 0;
}

/* ---------------- CATALOG /ebooks/ ---------------- */
.ebooks-catalog-v4 .catalog-hero-v4 {
  position: relative;
  overflow: hidden;
  padding: 42px 0 46px;
}

.ebooks-catalog-v4 .catalog-hero-grid-v4 {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
  gap: clamp(28px, 3.4vw, 48px);
  align-items: center;
}

.ebooks-catalog-v4 .catalog-copy-v4 {
  width: 100%;
  max-width: 620px;
}

.ebooks-catalog-v4 .catalog-copy-v4 h1 {
  max-width: 620px;
  margin: 10px 0 17px;
  font-size: clamp(36px, 3.35vw, 52px);
  line-height: 1.05;
  letter-spacing: -.035em;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}

.ebooks-catalog-v4 .catalog-copy-v4 h1 span {
  display: inline;
}

.ebooks-catalog-v4 .catalog-copy-v4 > p {
  max-width: 610px;
  margin: 0;
  font-size: clamp(13px, 1.05vw, 15px);
  line-height: 1.72;
  overflow-wrap: break-word;
}

.ebooks-catalog-v4 .catalog-hero-points-v4,
.ebooks-catalog-v4 .catalog-hero-actions-v4 {
  max-width: 100%;
}

.ebooks-catalog-v4 .catalog-feature-card-v4 {
  width: 100%;
  max-width: 100%;
  min-height: 320px;
  grid-template-columns: minmax(170px, 42%) minmax(0, 58%);
  gap: 18px;
  padding: 22px;
  overflow: hidden;
}

.ebooks-catalog-v4 .catalog-feature-art-v4 {
  width: 100%;
  height: 265px;
}

.ebooks-catalog-v4 .catalog-feature-art-v4 img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.ebooks-catalog-v4 .catalog-feature-card-v4 > div:last-child {
  width: 100%;
  overflow: hidden;
}

.ebooks-catalog-v4 .catalog-feature-card-v4 h2 {
  max-width: 100%;
  margin: 8px 0 8px;
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.08;
  white-space: normal;
  overflow-wrap: break-word;
  text-wrap: balance;
}

.ebooks-catalog-v4 .catalog-feature-card-v4 p {
  max-width: 100%;
  margin: 0;
  overflow-wrap: break-word;
}

.ebooks-catalog-v4 .catalog-feature-card-v4 > div:last-child > div {
  gap: 14px;
  flex-wrap: wrap;
}

.ebooks-catalog-v4 .catalog-products-v4,
.ebooks-catalog-v4 .catalog-proof-v4,
.ebooks-catalog-v4 .catalog-how-v4 {
  position: relative;
  z-index: 1;
  clear: both;
  overflow: hidden;
}

.ebooks-catalog-v4 .section-head-v4 {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
  align-items: end;
  gap: 36px;
}

.ebooks-catalog-v4 .section-head-v4 h2 {
  max-width: 720px;
  font-size: clamp(30px, 3vw, 43px);
  line-height: 1.08;
  white-space: normal;
  overflow-wrap: normal;
  text-wrap: balance;
}

.ebooks-catalog-v4 .section-head-v4 > p {
  width: 100%;
  max-width: 360px;
  justify-self: end;
  margin: 0;
  overflow-wrap: break-word;
}

.ebooks-catalog-v4 .catalog-grid-v4 {
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.ebooks-catalog-v4 .catalog-card-v4,
.ebooks-catalog-v4 .catalog-card-body-v4 {
  width: 100%;
  max-width: 100%;
}

.ebooks-catalog-v4 .catalog-card-body-v4 h3,
.ebooks-catalog-v4 .catalog-card-body-v4 p {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
}

/* ---------------- PRODUCT /ebooks/<slug> ---------------- */
.product-v4.product-influencer .store-breadcrumb {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.product-v4.product-influencer .product-hero-v4 {
  position: relative;
  overflow: hidden;
  padding: 14px 0 46px;
}

.product-v4.product-influencer .product-hero-grid-v4 {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
  gap: clamp(30px, 3.5vw, 48px);
  align-items: start;
}

.product-v4.product-influencer .product-visual-v4,
.product-v4.product-influencer .product-buy-card-v4 {
  width: 100%;
  max-width: 100%;
}

.product-v4.product-influencer .visual-stage {
  width: 100%;
  height: min(530px, 48vw);
  min-height: 430px;
}

.product-v4.product-influencer .visual-stage img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.product-v4.product-influencer .product-buy-card-v4 {
  overflow: hidden;
  padding: clamp(22px, 2.2vw, 28px);
}

.product-v4.product-influencer .product-status-row {
  flex-wrap: wrap;
  justify-content: flex-start;
}

.product-v4.product-influencer .product-status-row .instant-pill {
  margin-left: auto;
}

/* Critical fix: long product names must never be forced onto one line. */
.product-v4.product-influencer .product-buy-card-v4 h1 {
  width: 100%;
  max-width: 100%;
  margin: 15px 0 7px;
  font-size: clamp(36px, 3.25vw, 50px);
  line-height: 1.02;
  letter-spacing: -.045em;
  white-space: normal !important;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}

.product-v4.product-influencer .product-tagline-v4,
.product-v4.product-influencer .product-lede-v4,
.product-v4.product-influencer .micro-highlights-v4,
.product-v4.product-influencer .rating-line-v4 {
  width: 100%;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
}

.product-v4.product-influencer .rating-line-v4,
.product-v4.product-influencer .micro-highlights-v4,
.product-v4.product-influencer .buyer-reassurance-v4 {
  flex-wrap: wrap;
}

.product-v4.product-influencer .facts-row-v4 {
  width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-v4.product-influencer .facts-row-v4 strong {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: break-word;
}

.product-v4.product-influencer .price-block-v4 {
  width: 100%;
  flex-wrap: wrap;
}

.product-v4.product-influencer .buy-actions-v4 {
  width: 100%;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, .85fr);
}

.product-v4.product-influencer .buy-actions-v4 .store-btn {
  max-width: 100%;
  white-space: normal;
  line-height: 1.25;
  text-align: center;
}

.product-v4.product-influencer .section-head-v4 {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
  gap: 34px;
  align-items: end;
  position: relative;
}

.product-v4.product-influencer .section-head-v4 h2,
.product-v4.product-influencer .section-head-v4 > p,
.product-v4.product-influencer .problem-title-v4 h2,
.product-v4.product-influencer .preview-tease-copy h2,
.product-v4.product-influencer .challenge-grid-v4 h2,
.product-v4.product-influencer .final-offer-v4 h2 {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  text-wrap: balance;
}

.product-v4.product-influencer .problem-solution-v4,
.product-v4.product-influencer .inside-v4,
.product-v4.product-influencer .preview-tease-v4,
.product-v4.product-influencer .challenge-v4,
.product-v4.product-influencer .package-v4,
.product-v4.product-influencer .audience-v4,
.product-v4.product-influencer .reviews-v4,
.product-v4.product-influencer .final-offer-v4,
.product-v4.product-influencer .faq-v4,
.product-v4.product-influencer .editorial-note {
  position: relative;
  max-width: 100%;
  overflow: hidden;
}

.product-v4.product-influencer .parts-grid-v4,
.product-v4.product-influencer .package-grid-v4,
.product-v4.product-influencer .reviews-grid-v4,
.product-v4.product-influencer .review-cards-v4,
.product-v4.product-influencer .write-review-v4,
.product-v4.product-influencer .preview-tease-grid-v4,
.product-v4.product-influencer .challenge-grid-v4,
.product-v4.product-influencer .problem-grid-v4,
.product-v4.product-influencer .audience-grid-v4 {
  width: 100%;
  max-width: 100%;
}

/* Desktop/laptop widths where two columns become cramped because of browser zoom. */
@media (max-width: 1120px) {
  .ebooks-catalog-v4 .catalog-hero-grid-v4,
  .product-v4.product-influencer .product-hero-grid-v4 {
    grid-template-columns: 1fr;
  }

  .ebooks-catalog-v4 .catalog-copy-v4 {
    max-width: 760px;
  }

  .ebooks-catalog-v4 .catalog-copy-v4 h1 {
    max-width: 760px;
  }

  .ebooks-catalog-v4 .catalog-feature-card-v4 {
    max-width: 780px;
  }

  .product-v4.product-influencer .product-visual-v4,
  .product-v4.product-influencer .product-buy-card-v4 {
    max-width: 820px;
    margin-inline: auto;
  }

  .product-v4.product-influencer .product-buy-card-v4 {
    position: static;
  }

  .product-v4.product-influencer .visual-stage {
    height: 560px;
    min-height: 0;
  }
}

@media (max-width: 820px) {
  .ebooks-catalog-v4 .wrap,
  .product-v4.product-influencer .wrap {
    width: min(100% - 28px, 1180px);
  }

  .ebooks-catalog-v4 .catalog-hero-v4 {
    padding: 28px 0 36px;
  }

  .ebooks-catalog-v4 .catalog-copy-v4 h1 {
    font-size: clamp(34px, 8vw, 46px);
  }

  .ebooks-catalog-v4 .catalog-feature-card-v4 {
    grid-template-columns: minmax(130px, 40%) minmax(0, 60%);
    min-height: 270px;
    padding: 16px;
  }

  .ebooks-catalog-v4 .catalog-feature-art-v4 {
    height: 225px;
  }

  .ebooks-catalog-v4 .section-head-v4,
  .product-v4.product-influencer .section-head-v4 {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 10px;
  }

  .ebooks-catalog-v4 .section-head-v4 > p,
  .product-v4.product-influencer .section-head-v4 > p {
    justify-self: start;
    max-width: 640px;
  }

  .product-v4.product-influencer .visual-stage {
    height: 470px;
  }

  .product-v4.product-influencer .product-buy-card-v4 h1 {
    font-size: clamp(34px, 7vw, 46px);
  }
}

@media (max-width: 620px) {
  .ebooks-catalog-v4 .wrap,
  .product-v4.product-influencer .wrap {
    width: min(100% - 22px, 1180px);
  }

  .ebooks-catalog-v4 .catalog-copy-v4 h1 {
    font-size: 34px;
    line-height: 1.06;
  }

  .ebooks-catalog-v4 .catalog-feature-card-v4 {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .ebooks-catalog-v4 .catalog-feature-art-v4 {
    height: 270px;
  }

  .ebooks-catalog-v4 .catalog-feature-card-v4 h2 {
    font-size: 24px;
  }

  .ebooks-catalog-v4 .catalog-grid-v4 {
    grid-template-columns: 1fr;
  }

  .ebooks-catalog-v4 .catalog-proof-v4 > .wrap {
    grid-template-columns: 1fr 1fr;
  }

  .product-v4.product-influencer .visual-stage {
    height: 370px;
    min-height: 0;
    padding: 16px;
  }

  .product-v4.product-influencer .product-buy-card-v4 {
    padding: 18px;
  }

  .product-v4.product-influencer .product-buy-card-v4 h1 {
    font-size: clamp(32px, 10vw, 40px);
    line-height: 1.04;
  }

  .product-v4.product-influencer .product-status-row .instant-pill {
    margin-left: 0;
  }

  .product-v4.product-influencer .facts-row-v4 {
    grid-template-columns: 1fr 1fr;
  }

  .product-v4.product-influencer .buy-actions-v4 {
    grid-template-columns: 1fr;
  }

  .product-v4.product-influencer .price-block-v4 {
    align-items: flex-start;
  }

  .product-v4.product-influencer .secure-mini {
    text-align: left;
  }
}

@media (max-width: 390px) {
  .ebooks-catalog-v4 .catalog-copy-v4 h1,
  .product-v4.product-influencer .product-buy-card-v4 h1 {
    font-size: 30px;
  }

  .ebooks-catalog-v4 .catalog-proof-v4 > .wrap {
    grid-template-columns: 1fr;
  }
}

/* Explicit line structure for the two broken headings. */
.ebooks-catalog-v4 .catalog-title-line {
  display: block;
}
.ebooks-catalog-v4 .catalog-title-accent {
  color: var(--v4-gold-hi);
}
.product-v4.product-influencer .influencer-title-line {
  display: block;
  width: 100%;
}
.product-v4.product-influencer .influencer-title-accent {
  color: #f4f0e7;
}
