/* Coming Soon page polish. Loaded after styles.css on coming-soon.html. */
body.coming-soon-page {
  background: #f6efe4;
}

body.coming-soon-page .page-main {
  background:
    radial-gradient(circle at 16% 12%, rgba(223, 178, 88, 0.18), transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(63, 134, 150, 0.16), transparent 30%),
    linear-gradient(180deg, #fbf4e8 0%, #f3eadb 100%);
}

body.coming-soon-page .page-hero {
  padding: clamp(64px, 7vw, 98px) 0 clamp(26px, 4vw, 42px) !important;
  background: transparent !important;
  color: #251a14 !important;
}

body.coming-soon-page .section-title {
  max-width: 940px !important;
  text-align: left !important;
}

body.coming-soon-page .section-kicker {
  color: #9a5a2b !important;
}

body.coming-soon-page .section-title h1 {
  max-width: 780px !important;
  font-size: clamp(3.2rem, 6vw, 6.2rem) !important;
  line-height: 0.94 !important;
  letter-spacing: 0 !important;
}

body.coming-soon-page .section-title p {
  max-width: 650px !important;
  color: #63584e !important;
}

body.coming-soon-page .series-section {
  padding: clamp(34px, 5vw, 62px) 0 clamp(80px, 8vw, 120px) !important;
  background: transparent !important;
}

body.coming-soon-page .series-grid {
  --coming-cover-height: clamp(250px, 22vw, 318px);
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 340px)) !important;
  gap: clamp(18px, 1.8vw, 28px) !important;
  align-items: stretch !important;
  justify-content: center !important;
}

body.coming-soon-page .series-card {
  position: relative !important;
  display: grid !important;
  grid-template-rows: var(--coming-cover-height) auto auto 1fr auto !important;
  justify-items: center !important;
  width: 100% !important;
  max-width: 340px !important;
  min-height: 0 !important;
  padding: clamp(18px, 2vw, 26px) clamp(22px, 2.2vw, 30px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(84, 65, 49, 0.14) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255, 252, 245, 0.97), rgba(247, 236, 219, 0.94)) !important;
  box-shadow: 0 24px 60px rgba(55, 42, 29, 0.13) !important;
  color: #261a14 !important;
}

body.coming-soon-page .series-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: radial-gradient(circle at 20% 8%, rgba(223, 178, 88, 0.18), transparent 34%) !important;
}

body.coming-soon-page .series-card.large {
  background:
    radial-gradient(circle at 92% 12%, rgba(64, 132, 145, 0.16), transparent 30%),
    linear-gradient(135deg, rgba(255, 252, 245, 0.98), rgba(240, 230, 212, 0.94)) !important;
}

body.coming-soon-page .coming-cover {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  width: min(100%, 222px) !important;
  height: var(--coming-cover-height) !important;
  justify-self: center !important;
  margin: 0 auto clamp(14px, 1.6vw, 20px) !important;
  padding: 10px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(56, 43, 34, 0.1) !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 50% 12%, rgba(255, 255, 255, 0.82), transparent 36%),
    rgba(255, 249, 239, 0.72) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74) !important;
}

body.coming-soon-page .coming-cover-feature {
  max-width: 222px !important;
  height: var(--coming-cover-height) !important;
}

body.coming-soon-page .coming-cover img {
  display: block !important;
  width: auto !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 10px !important;
  box-shadow: 0 18px 34px rgba(39, 29, 22, 0.18) !important;
}

body.coming-soon-page .book-label,
body.coming-soon-page .series-card h3,
body.coming-soon-page .series-card p,
body.coming-soon-page .series-card a {
  position: relative !important;
  z-index: 1 !important;
}

body.coming-soon-page .book-label {
  width: min(100%, 280px) !important;
  margin: 0 0 8px !important;
  color: #9a5a2b !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  text-align: center !important;
}

body.coming-soon-page .series-card h3 {
  width: min(100%, 280px) !important;
  max-width: 280px !important;
  margin: 0 0 10px !important;
  color: #241813 !important;
  font-size: clamp(1.9rem, 2.35vw, 2.85rem) !important;
  line-height: 0.94 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  overflow-wrap: break-word !important;
  text-wrap: balance !important;
  white-space: normal !important;
}

body.coming-soon-page .series-card:not(.large) h3 {
  font-size: clamp(1.65rem, 1.78vw, 2.12rem) !important;
}

body.coming-soon-page .series-card p:not(.book-label) {
  width: min(100%, 280px) !important;
  max-width: 280px !important;
  margin: 0 0 18px !important;
  color: #675d54 !important;
  font-size: clamp(1rem, 1.1vw, 1.08rem) !important;
  line-height: 1.55 !important;
  text-align: center !important;
}

body.coming-soon-page .series-card .button,
body.coming-soon-page .series-card .text-link {
  align-self: end !important;
  justify-self: center !important;
  width: min(100%, 260px) !important;
  margin-top: 8px !important;
  text-align: center !important;
}

body.coming-soon-page .series-card .button {
  width: min(100%, 260px) !important;
}

body.coming-soon-page .text-link {
  color: #a65f2d !important;
  font-weight: 900 !important;
}

@media (max-width: 1080px) {
  body.coming-soon-page .series-grid {
    grid-template-columns: 1fr !important;
  }

  body.coming-soon-page .series-card {
    max-width: 720px !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 680px) {
  body.coming-soon-page .section-title {
    text-align: center !important;
  }

  body.coming-soon-page .section-title h1,
  body.coming-soon-page .section-title p {
    margin-inline: auto !important;
  }

  body.coming-soon-page .coming-cover,
  body.coming-soon-page .coming-cover-feature {
    height: auto !important;
    min-height: 0 !important;
  }

  body.coming-soon-page .coming-cover img {
    max-height: none !important;
  }
}
