/* Coming-soon waitlists — Figma Marketing Pages 1057:45222 (IHE 1517:50865, Market 1517:51160). */

.coming-soon {
  background: var(--neutral-1000, #0c0b0a);
  color: var(--text-on-media, #fff9f0);
}

.coming-soon .badge {
  --badge-bg: var(--neutral-800, #332d27);
  --badge-border: var(--neutral-700, #4a4238);
  --badge-fg: var(--neutral-400, #c4b9a6);
}

/* Text-only meantime CTA on dark (Figma “Browse topics”). */
.coming-soon .btn--ghost {
  background: transparent;
  border-color: transparent;
  color: var(--text-on-media, #fff9f0);
  box-shadow: none;
}

.coming-soon .btn--ghost:is(:hover, .is-hover) {
  background: rgba(255, 249, 240, 0.08);
}

.coming-soon .email-sub {
  max-width: 520px;
}

.coming-soon .email-sub__label {
  color: var(--neutral-400, #c4b9a6);
}

/* Dark pill + text Subscribe (Market / IHE waitlist screenshot). */
.coming-soon .email-sub__control {
  background: #231f1b;
  border-color: #6b5e4d;
}

.coming-soon .email-sub__input {
  color: #fff9f0;
}

.coming-soon .email-sub__input::placeholder {
  color: #9b9284;
}

.coming-soon .email-sub__btn.btn {
  background: transparent;
  color: #fff9f0;
  border-color: transparent;
  box-shadow: none;
}

.coming-soon .email-sub__btn.btn:is(:hover, .is-hover) {
  background: rgba(255, 249, 240, 0.08);
}

.coming-soon .email-sub__help {
  color: #9b9284;
}

.coming-soon .email-sub__status {
  margin: 0;
  font: var(--text-xs);
  color: var(--neutral-400, #c4b9a6);
}

.coming-soon .email-sub__status.is-error {
  color: var(--status-error, #c44);
}

/* ---- Shared expect / meantime ---- */
.coming-soon__expect {
  padding: var(--space-96) var(--space-112);
}

.coming-soon__expect-title {
  margin: 0 0 var(--space-48);
  font: var(--text-6xl);
  color: var(--text-on-media, #fff9f0);
}

.coming-soon--ihe .coming-soon__expect-title {
  text-align: center;
}

.coming-soon__expect-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-24);
  margin: 0;
  padding: 0;
  list-style: none;
}

.coming-soon__expect-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding-top: var(--space-28);
  border-top: 1px solid var(--neutral-700, #4a4238);
}

.coming-soon__expect-item h3 {
  margin: 0;
  font: var(--text-3xl);
  color: var(--text-on-media, #fff9f0);
}

.coming-soon__expect-item p {
  margin: 0;
  font: var(--text-base);
  color: var(--neutral-400, #c4b9a6);
}

.coming-soon__meantime {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-40);
  padding: var(--space-96) var(--space-112);
}

.coming-soon__meantime-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  max-width: 700px;
}

.coming-soon__meantime-eyebrow {
  margin: 0;
  font: var(--text-xs);
  text-transform: uppercase;
  color: var(--neutral-400, #c4b9a6);
}

.coming-soon__meantime-title {
  margin: 0;
  font: var(--text-6xl);
  color: var(--text-on-media, #fff9f0);
}

.coming-soon__meantime-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-12);
  flex: none;
}

/* ---- IHE hero ---- */
.coming-soon-ihe__hero {
  position: relative;
  overflow: hidden;
  min-height: 1056px;
  padding: var(--space-112) 0;
}

.coming-soon-ihe__glow {
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.coming-soon-ihe__glow--1 {
  top: 40px;
  left: 420px;
  width: 900px;
  height: 900px;
}

.coming-soon-ihe__glow--2 {
  top: 520px;
  left: -240px;
  width: 760px;
  height: 760px;
}

.coming-soon-ihe__center {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-28);
  width: min(640px, calc(100% - 48px));
  margin: 234px auto 0;
  text-align: center;
}

.coming-soon-ihe__logo {
  display: block;
  width: 100%;
  height: auto;
}

.coming-soon-ihe__lede {
  margin: 0;
  font: var(--text-xl);
  color: var(--text-on-media, #fff9f0);
}

.coming-soon-ihe__waitlist {
  width: min(520px, 100%);
  margin-top: var(--space-12);
  text-align: left;
}

.coming-soon-ihe__float {
  position: absolute;
  z-index: 1;
  width: 190px;
  height: 190px;
}

.coming-soon-ihe__float--1 { left: 45px; top: 110px; }
.coming-soon-ihe__float--2 { left: 1170px; top: 110px; }
.coming-soon-ihe__float--3 { left: 80px; top: 425px; }
.coming-soon-ihe__float--4 { left: 1125px; top: 430px; }
.coming-soon-ihe__float--5 { left: 284px; top: 805px; }
.coming-soon-ihe__float--6 { left: 923px; top: 805px; }

/* ---- IHE athlete grid ---- */
.coming-soon-ihe__grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  grid-template-rows: repeat(2, 168px);
  gap: 14px;
  width: 100%;
  padding: 0 0 var(--space-64);
}

.coming-soon-ihe__cell {
  min-width: 0;
  min-height: 0;
}

.coming-soon-ihe__cell--sm {
  grid-column: span 1;
}

.coming-soon-ihe__cell--lg {
  grid-column: span 2;
  grid-row: span 2;
}

.coming-soon-ihe__cell--akers-sm { grid-column: 6; grid-row: 1; }
.coming-soon-ihe__cell--swoopes { grid-column: 3; grid-row: 2; }
.coming-soon-ihe__cell--catchings { grid-column: 6; grid-row: 2; }
.coming-soon-ihe__cell--parker { grid-column: 3; grid-row: 1; }
.coming-soon-ihe__cell--akers-lg { grid-column: 4 / span 2; grid-row: 1 / span 2; }
.coming-soon-ihe__cell--murphy { grid-column: 7 / span 2; grid-row: 1 / span 2; }
.coming-soon-ihe__cell--miller { grid-column: 1 / span 2; grid-row: 1 / span 2; }

/* ---- Market hero ---- */
.coming-soon-market__hero {
  display: grid;
  grid-template-columns: minmax(0, 520px) minmax(0, 616px);
  gap: var(--space-80);
  align-items: center;
  justify-content: space-between;
  padding: var(--space-64) var(--space-112) var(--space-96);
}

.coming-soon-market__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  max-width: 520px;
}

.coming-soon-market__title {
  margin: 0;
  font: var(--text-8xl);
  color: var(--text-on-media, #fff9f0);
}

.coming-soon-market__lede {
  margin: 0;
  font: var(--text-xl);
  color: var(--text-on-media, #fff9f0);
}

.coming-soon-market__products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 300px));
  gap: var(--space-16);
  justify-content: end;
}

.coming-soon-market__col {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.coming-soon-market__col--offset {
  padding-top: 96px;
}

.coming-soon-market .product-card {
  background: var(--neutral-800, #332d27);
  border-color: var(--neutral-800, #332d27);
  color: var(--text-on-media, #fff9f0);
}

.coming-soon-market .product-card__category {
  color: var(--neutral-300, #ddd6c8);
}

.coming-soon-market .product-card__title {
  color: var(--text-on-media, #fff9f0);
}

.coming-soon-market .product-card:hover {
  filter: none;
  border-color: transparent;
}

.coming-soon-market .product-card:hover .product-card__content {
  background: transparent;
}

@media (max-width: 1199px) {
  .coming-soon-ihe__float { display: none; }
  .coming-soon-ihe__center { margin-top: var(--space-64); }
  .coming-soon-ihe__hero { min-height: 0; padding: var(--space-80) 0 var(--space-48); }
  .coming-soon__expect,
  .coming-soon__meantime,
  .coming-soon-market__hero {
    padding-left: var(--space-40);
    padding-right: var(--space-40);
  }
  .coming-soon-market__hero {
    grid-template-columns: 1fr;
  }
  .coming-soon-market__products {
    justify-content: start;
  }
  .coming-soon-market__col--offset {
    padding-top: 0;
  }
  .coming-soon-ihe__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: minmax(120px, 22vw);
    grid-template-rows: none;
  }
  .coming-soon-ihe__cell--miller { grid-column: 1 / span 2; grid-row: auto; }
  .coming-soon-ihe__cell--akers-lg { grid-column: 3 / span 2; grid-row: auto; }
  .coming-soon-ihe__cell--murphy { grid-column: 1 / span 2; grid-row: auto; }
  .coming-soon-ihe__cell--parker,
  .coming-soon-ihe__cell--akers-sm,
  .coming-soon-ihe__cell--swoopes,
  .coming-soon-ihe__cell--catchings {
    grid-column: span 1;
    grid-row: auto;
  }
}

@media (max-width: 743px) {
  .coming-soon__expect-grid {
    grid-template-columns: 1fr;
  }
  .coming-soon__meantime {
    flex-direction: column;
    align-items: flex-start;
    padding: var(--space-64) var(--space-16);
  }
  .coming-soon__expect,
  .coming-soon-market__hero {
    padding: var(--space-48) var(--space-16);
  }
  .coming-soon-market__products {
    grid-template-columns: 1fr;
  }
  .coming-soon-ihe__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .coming-soon-ihe__cell--lg {
    grid-column: span 2;
  }
}
