/* ------------------------------------------------------------------
   E-book landing page.

   Kept in its own file rather than appended to index-custom.css: the page
   is long-form reading and needs measure, rhythm and box styles that
   nothing else on the marketing site uses, and mixing them into the shared
   sheet would put them one selector away from the pricing tables.
   ------------------------------------------------------------------ */

.ebook_page_banner {
  padding-top: 145px;
  padding-bottom: 70px;
}

.ebook_page_banner .banner_text h1 {
  max-width: 760px;
  margin-bottom: 16px;
}

.ebook_page_banner .banner_text p {
  max-width: 680px;
}

.ebook_hero_lead {
  margin-top: 12px;
}

.ebook_visual {
  text-align: center;
}

.ebook_visual img {
  max-width: 92%;
  height: auto;
  filter: drop-shadow(0 16px 30px rgba(58, 29, 150, 0.2));
  animation: ebookFloat 6s ease-in-out infinite;
}

@keyframes ebookFloat {
  0% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
  100% { transform: translateY(0); }
}

/* ---------- Table of contents ---------- */

.ebook_toc_section {
  padding-top: 20px;
}

.ebook_toc {
  max-width: 780px;
  margin: 0 auto;
  padding-left: 20px;
  counter-reset: ebook-toc;
  list-style: none;
}

.ebook_toc li {
  counter-increment: ebook-toc;
  position: relative;
  padding: 10px 0 10px 42px;
  border-bottom: 1px solid #efeaff;
}

.ebook_toc li::before {
  content: counter(ebook-toc);
  position: absolute;
  left: 0;
  top: 9px;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #ede6ff;
  color: #6a49f2;
  font-size: 0.8rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ebook_toc li a {
  color: #32236f;
  font-size: 0.98rem;
  line-height: 1.5;
}

.ebook_toc li a:hover {
  color: #6a49f2;
}

/* ---------- Reading body ---------- */

.ebook_body {
  max-width: 760px;
  margin: 0 auto;
}

.ebook_body .ebook_chapter {
  margin: 44px 0 16px;
  padding-top: 18px;
  border-top: 2px solid #ede6ff;
  color: #32236f;
  font-size: 1.5rem;
  line-height: 1.35;
}

.ebook_body .ebook_chapter:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.ebook_body .ebook_heading {
  margin: 28px 0 10px;
  color: #32236f;
  font-size: 1.1rem;
  line-height: 1.4;
}

.ebook_body .ebook_paragraph {
  margin-bottom: 16px;
  color: #4b556b;
  font-size: 1.02rem;
  line-height: 1.75;
}

.ebook_body .ebook_list {
  margin: 0 0 18px;
  padding-left: 0;
  list-style: none;
}

.ebook_body .ebook_list li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 26px;
  color: #4b556b;
  font-size: 1.02rem;
  line-height: 1.7;
}

.ebook_body .ebook_list li::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 12px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #6a49f2;
}

.ebook_body .ebook_note {
  margin: -6px 0 20px;
  color: #7d8699;
  font-size: 0.88rem;
  line-height: 1.6;
}

/* The "watch out" aside. */
.ebook_body .ebook_callout {
  margin: 22px 0;
  padding: 16px 18px;
  border-left: 4px solid #6a49f2;
  border-radius: 0 12px 12px 0;
  background: #f6f2ff;
  color: #32236f;
  font-size: 1rem;
  line-height: 1.65;
}

/* The recurring cost calculation - the loudest thing on the page by design,
   because it is the argument the whole e-book is built around. */
.ebook_body .ebook_math {
  margin: 28px 0;
  padding: 22px 24px;
  border-radius: 16px;
  background: linear-gradient(135deg, #32236f 0%, #6a49f2 100%);
  box-shadow: 0 14px 32px rgba(106, 73, 242, 0.28);
  color: #ffffff;
  font-size: 1.04rem;
  line-height: 1.7;
  font-weight: 500;
}

/* Time estimate under each step. */
.ebook_body .ebook_time {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
  margin: 22px 0 8px;
  padding: 14px 18px;
  border: 1px dashed #c9b8ff;
  border-radius: 12px;
  background: #fbfaff;
}

.ebook_body .ebook_time_amount {
  flex: 0 0 auto;
  color: #6a49f2;
  font-size: 1.22rem;
  font-weight: 700;
  white-space: nowrap;
}

.ebook_body .ebook_time_label {
  flex: 1 1 220px;
  color: #4b556b;
  font-size: 0.95rem;
  line-height: 1.55;
}

/* ---------- Preview fade into the gate ---------- */

.ebook_preview_section {
  position: relative;
  padding-bottom: 0;
}

.ebook_fade {
  height: 110px;
  margin-top: -110px;
  position: relative;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 85%);
  pointer-events: none;
}

/* ---------- Gate ---------- */

.ebook_gate_section {
  padding-top: 30px;
}

.ebook_gate_points .point_card {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #ece4ff;
  box-shadow: 0 6px 20px rgba(106, 73, 242, 0.08);
  padding: 18px 16px;
  margin-bottom: 14px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.ebook_gate_points .point_card i {
  font-size: 1.15rem;
  color: #6a49f2;
  margin-top: 3px;
}

.ebook_gate_points .point_card h4 {
  margin: 0 0 4px;
  font-size: 1rem;
  color: #32236f;
}

.ebook_gate_points .point_card p {
  margin: 0;
  color: #5a6782;
  font-size: 0.9rem;
  line-height: 1.55;
}

.ebook_gate_box {
  background: #ffffff;
  border-radius: 18px;
  border: 1px solid #e9deff;
  box-shadow: 0 12px 34px rgba(106, 73, 242, 0.14);
  padding: 30px 28px;
}

.ebook_gate_box .gate_header {
  margin-bottom: 18px;
}

.ebook_gate_box .gate_header span {
  display: inline-flex;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  align-items: center;
  justify-content: center;
  background: #ede6ff;
  color: #6a49f2;
  font-size: 1.35rem;
  margin-bottom: 12px;
}

.ebook_gate_box h3 {
  margin-bottom: 8px;
  color: #32236f;
  font-size: 1.42rem;
}

.ebook_gate_box p {
  color: #5a6782;
  font-size: 0.95rem;
}

.ebook_gate_box .form-control {
  height: 48px;
  border-radius: 10px;
  border: 1px solid #ded3ff;
  margin-bottom: 12px;
}

.ebook_gate_box .btn_gate {
  width: 100%;
  border: 0;
  border-radius: 10px;
  padding: 13px 18px;
  background: #6a49f2;
  color: #fff;
  font-weight: 600;
  transition: background .2s ease;
}

.ebook_gate_box .btn_gate:hover {
  background: #573bd0;
}

.ebook_code_hint {
  font-size: 0.9rem;
  color: #5a6782;
  margin-bottom: 10px;
}

.ebook_hint {
  margin-top: 14px;
  margin-bottom: 0;
  font-size: 0.82rem;
  color: #8189a0;
}

/* ---------- Unlocked content ---------- */

.ebook_download_bar {
  max-width: 760px;
  margin: 0 auto 34px;
  text-align: center;
}

.ebook_cta {
  max-width: 760px;
  margin: 46px auto 0;
  padding: 28px 24px;
  border-radius: 16px;
  background: #f6f2ff;
  text-align: center;
}

.ebook_cta p {
  margin-bottom: 16px;
  color: #32236f;
  font-size: 1.08rem;
  font-weight: 500;
}

@media (max-width: 991px) {
  .ebook_page_banner {
    padding-top: 120px;
    padding-bottom: 40px;
  }

  .ebook_gate_points {
    margin-bottom: 20px;
  }

  .ebook_body .ebook_chapter {
    font-size: 1.3rem;
  }

  .ebook_body .ebook_math {
    padding: 18px 18px;
    font-size: 1rem;
  }
}
