/* Apple overlay for CortexHub Platform + subscriptions.
   Loaded AFTER platform.css so tokens and buttons actually win. */

:root {
  --chp-accent: #1080e0;
  --chp-ink: #1d1d1f;
  --chp-ink-2: #424245;
  --chp-ink-3: #6e6e73;
  --chp-border: #d2d2d7;
  --chp-surface: #ffffff;
  --chp-bg: #f5f5f7;
  --chp-green: #248a3d;
  --chp-red: #b80d0d;
  --chp-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  --chp-radius: 14px;
}

body.no-theme-header .ct-header,
body.no-theme-header .ct-footer,
body.no-theme-header .ct-mobile-nav,
body.chp-auth-page .ct-header,
body.chp-auth-page .ct-footer,
body.chp-auth-page .ct-mobile-nav,
body.chp-launch-page .ct-header,
body.chp-launch-page .ct-footer,
body.chp-checkout-page .ct-header,
body.chp-checkout-page .ct-footer {
  display: none !important;
}

body.no-theme-header,
body.chp-auth-page,
body.chp-launch-page,
body.chp-checkout-page {
  padding-top: 0 !important;
}

body.chp-auth-page {
  min-height: 100dvh;
  background: #f5f5f7 !important;
  font-family: var(--chp-font) !important;
}

body.chp-auth-page .ct-main,
body.chp-auth-page .ct-auth {
  min-height: auto;
  padding: 0;
  width: 100%;
}

body.chp-auth-page .ct-auth-card,
.chp-auth-card {
  font-family: var(--chp-font);
  background: #fff;
  border: 1px solid #d2d2d7;
  border-radius: 22px;
  box-shadow: 0 8px 40px rgb(0 0 0 / 0.06);
}

.chp-auth-logo,
.chp-auth-title,
.cx-product-page h1,
.cx-product-page h2,
.chp-dash-wrap h1,
.chp-dash-wrap h2 {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif !important;
  letter-spacing: -0.03em !important;
  font-weight: 600 !important;
}

.chp-auth-logo span,
.chp-auth-switch a,
.chp-auth-terms a,
.chp-field-link {
  color: #0071e3 !important;
}

.chp-btn,
.chp-btn--primary,
.cx-product-hero .chp-btn,
a.chp-btn--primary,
button.chp-btn--primary {
  background: #1080e0 !important;
  color: #f5f5f7 !important;
  border: 0 !important;
  border-radius: 980px !important;
  font-weight: 600 !important;
  font-family: inherit !important;
  box-shadow: none !important;
  transform: none !important;
}

.chp-btn--primary:hover,
a.chp-btn--primary:hover {
  background: #424245 !important;
  color: #fff !important;
  transform: none !important;
  box-shadow: none !important;
}

.chp-btn--secondary,
.chp-btn--ghost,
.cx-upvote-btn,
.cx-upvote-btn--lg {
  background: #fff !important;
  color: #1d1d1f !important;
  border: 1px solid #d2d2d7 !important;
  border-radius: 980px !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-weight: 600 !important;
}

.chp-btn--secondary:hover,
.cx-upvote-btn:hover {
  background: #f5f5f7 !important;
  color: #1d1d1f !important;
  border-color: #1d1d1f !important;
}

.cx-upvote-btn.is-voted,
.cx-upvote-btn[aria-pressed="true"] {
  background: #1080e0 !important;
  color: #fff !important;
  border-color: #1d1d1f !important;
}

.chp-field input,
.chp-field select,
.chp-field textarea,
.ct-auth-card input {
  border: 1px solid #d2d2d7 !important;
  border-radius: 12px !important;
  min-height: 48px;
  font-size: 16px !important;
  font-family: inherit !important;
  box-shadow: none !important;
}

.chp-field input:focus,
.chp-field select:focus,
.ct-auth-card input:focus {
  border-color: #1d1d1f !important;
  box-shadow: 0 0 0 4px rgb(0 0 0 / 0.06) !important;
}

.ct-auth-card .ct-subscribe,
.ct-auth-card .ct-full {
  display: inline-flex !important;
  width: 100%;
  min-height: 48px;
  border-radius: 980px;
}

.cx-product-page,
.cx-product-page .container,
.chp-product-hero,
.chp-product-layout,
.cx-product-page h1,
.cx-product-page h2,
.cx-product-page p,
.cx-product-page a,
.cx-product-page button,
.cx-product-page span,
.cx-product-page strong {
  font-family: var(--chp-font) !important;
}

body.single-cortex_product {
  overflow-x: clip;
}

.cx-product-page {
  max-width: 100%;
  overflow-x: clip;
  color: #1d1d1f;
  padding-bottom: calc(88px + env(safe-area-inset-bottom));
}

.cx-product-page .container {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 0 max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
  box-sizing: border-box;
}

.cx-product-page *,
.cx-product-page *::before,
.cx-product-page *::after {
  box-sizing: border-box;
  min-width: 0;
}

.cx-product-page img,
.cx-product-page svg,
.cx-product-page video {
  max-width: 100%;
  height: auto;
}

/* Hero: column on phones, App Store identity + GET */
.chp-product-hero,
.cx-product-hero {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 18px !important;
  padding: 20px 0 24px !important;
  border-bottom: 1px solid #d2d2d7;
}

.cx-product-hero > div:first-child {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 14px !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
}

.cx-product-hero > div:first-child > img,
.cx-product-hero > div:first-child > div:first-child:not(:has(h1)) {
  width: 64px !important;
  height: 64px !important;
  border-radius: 14px !important;
  flex: 0 0 64px !important;
  object-fit: contain !important;
  background: #f5f5f7 !important;
  border: 1px solid #d2d2d7 !important;
}

.cx-product-hero h1,
.cx-product-hero h1[style] {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif !important;
  font-size: 1.75rem !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
  font-weight: 650 !important;
  color: #1d1d1f !important;
  margin: 0 0 6px !important;
  overflow-wrap: anywhere;
}

.cx-product-hero p[style] {
  font-size: 15px !important;
  line-height: 1.45 !important;
  color: #6e6e73 !important;
  margin: 0 0 10px !important;
}

.cx-product-hero [style*="#1a5cff"],
.cx-product-hero [style*="#ff5722"],
.cx-product-hero [style*="#f59e0b"],
.cx-product-hero [style*="#eaefff"] {
  background: #f5f5f7 !important;
  color: #6e6e73 !important;
  font-family: inherit !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  text-transform: none !important;
}

/* Actions: full-width 48px pills, then a sticky GET bar */
.cx-product-hero > div:last-child {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
  flex: none !important;
  flex-shrink: 1 !important;
}

.cx-product-hero .chp-btn,
.cx-product-hero .cx-upvote-btn,
.cx-product-hero a.chp-btn--primary,
.cx-product-hero button.cx-upvote-btn--lg {
  width: 100% !important;
  min-height: 48px !important;
  justify-content: center !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 18px !important;
  font-size: 15px !important;
}

@media (max-width: 699.98px) {
  .cx-product-hero > div:last-child {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 0;
    padding: 10px max(16px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));
    padding-right: max(16px, env(safe-area-inset-right));
    background: rgb(251 251 253 / 0.86);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
    border-top: 1px solid #d2d2d7;
  }

  .cx-product-hero > div:last-child .chp-btn,
  .cx-product-hero > div:last-child .cx-upvote-btn {
    min-height: 44px !important;
    font-size: 14px !important;
  }
}

.cx-product-layout,
.chp-product-layout {
  display: flex !important;
  flex-direction: column !important;
  gap: 28px !important;
  padding: 24px 0 40px !important;
  grid-template-columns: none !important;
}

.cx-product-layout > aside,
.chp-product-layout > aside,
.cx-product-layout aside[style] {
  position: static !important;
  top: auto !important;
  width: 100% !important;
  max-width: 100% !important;
}

.cx-product-page h2,
.cx-product-page h2[style] {
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  color: #6e6e73 !important;
  margin: 28px 0 12px !important;
}

.cx-product-page [style*="padding-bottom:56.25%"],
.cx-product-page [style*="padding-bottom: 56.25%"] {
  position: relative !important;
  width: 100% !important;
  height: 0 !important;
  padding-bottom: 56.25% !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  background: #000;
}

.cx-product-page .cx-embed iframe,
.cx-product-page .cx-video iframe,
.cx-product-page .wpc-iframe-delay {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  border: 0 !important;
}

.cx-product-page [style*="grid-template-columns:1fr 1fr"],
.cx-product-page [style*="grid-template-columns: 1fr 1fr"] {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.cx-product-page [style*="background:#f7f8fc"],
.cx-claim-box,
.cx-product-layout aside > div[style] {
  background: #fff !important;
  border: 1px solid #d2d2d7 !important;
  border-radius: 18px !important;
  overflow-wrap: anywhere;
}

.cx-product-layout aside a,
.cx-product-layout aside span {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.cx-product-layout aside a {
  align-items: flex-start !important;
}

.cx-product-layout aside a span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.cx-claim-box,
.cx-claim-box__form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cx-claim-box input,
.chp-comment-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  font-size: 16px !important;
}

.cx-claim-box .chp-btn,
.chp-comment-submit {
  width: 100%;
  min-height: 48px;
  justify-content: center;
}

.cx-product-page [style*="background:#1a5cff"],
.cx-product-page a[style*="background:#1a5cff"] {
  background: #1080e0 !important;
  color: #f5f5f7 !important;
  border-radius: 980px !important;
}

.cx-product-page a[href*="/get-featured"] {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
}

@media (min-width: 700px) {
  .cx-product-page {
    padding-bottom: 0;
  }

  .cx-product-page .container {
    padding: 0 28px;
  }

  .cx-product-hero > div:first-child > img,
  .cx-product-hero > div:first-child > div:first-child:not(:has(h1)) {
    width: 88px !important;
    height: 88px !important;
    flex-basis: 88px !important;
    border-radius: 20px !important;
  }

  .cx-product-hero h1,
  .cx-product-hero h1[style] {
    font-size: clamp(2.4rem, 5vw, 3.4rem) !important;
  }

  .cx-product-hero > div:last-child {
    grid-template-columns: 1fr 1fr;
    position: static;
    background: none;
    border: 0;
    padding: 0;
    backdrop-filter: none;
  }

  .cx-product-page [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (min-width: 960px) {
  .chp-product-hero,
  .cx-product-hero {
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 32px !important;
    padding: 40px 0 32px !important;
  }

  .cx-product-hero > div:first-child {
    flex: 1 1 auto !important;
  }

  .cx-product-hero > div:last-child {
    width: 220px;
    grid-template-columns: 1fr;
    flex: 0 0 220px !important;
  }

  .cx-product-layout,
  .chp-product-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 260px !important;
    gap: 48px !important;
    padding: 36px 0 80px !important;
  }

  .cx-product-layout > aside {
    position: sticky !important;
    top: 72px !important;
    align-self: start;
  }
}

.chp-credit-pill {
  background: #f5f5f7 !important;
  color: #1d1d1f !important;
  border-radius: 980px !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  max-width: 100%;
}

.chp-credit-pill__badge {
  background: #1d1d1f !important;
  color: #f5f5f7 !important;
}

#chp-promo-wrap {
  z-index: 80 !important;
  pointer-events: none;
}
#chp-promo-wrap.is-visible {
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.chp-dash-wrap,
.chp-launch-flow,
.cko-layout,
.cx-tools,
.ch-community {
  font-family: var(--chp-font);
}

.chp-dash-wrap {
  background: #f5f5f7;
}

.cx-builder-profile-page {
  background: var(--ct-bg, #fbfbfd) !important;
  color: #1d1d1f !important;
  font-family: var(--chp-font) !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 8px 0 48px !important;
  overflow-x: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
}

.cx-builder-profile-page .container {
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}

.cx-builder-hero {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: 16px !important;
  padding: 16px 0 24px !important;
  border-bottom: 1px solid #d2d2d7 !important;
  align-items: stretch !important;
}

.cx-builder-hero__avatar,
.cx-builder-hero img.cx-builder-hero__avatar,
.cx-builder-hero__media img {
  width: 72px !important;
  height: 72px !important;
  border-radius: 18px !important;
  border: 0 !important;
  object-fit: cover !important;
  background: #f5f5f7 !important;
}

.cx-builder-hero__name {
  font-family: var(--chp-font) !important;
  font-size: clamp(1.6rem, 8vw, 2.5rem) !important;
  font-weight: 650 !important;
  letter-spacing: -0.04em !important;
  color: #1d1d1f !important;
  line-height: 1.08 !important;
  margin: 0 0 8px !important;
}

.cx-builder-hero__title,
.cx-builder-hero__bio {
  color: #6e6e73 !important;
  max-width: none !important;
}

.cx-builder-hero__links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.cx-builder-hero__links a {
  background: #f5f5f7 !important;
  border: 0 !important;
  color: #1d1d1f !important;
  border-radius: 980px !important;
}

.cx-builder-hero__actions .cx-btn,
.cx-builder-hero__actions .cx-btn--primary,
.cx-builder-hero__actions a,
.cx-builder-hero__actions .cx-follow-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px !important;
  border-radius: 980px !important;
  background: #1080e0 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 0 !important;
  width: auto;
}

.cx-builder-stats {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 12px !important;
  background: #fff !important;
  border: 1px solid #d2d2d7 !important;
  border-radius: 16px !important;
}

.cx-builder-stats > div {
  text-align: left !important;
  min-width: 0 !important;
}

.cx-builder-stats strong {
  color: #1d1d1f !important;
  font-size: 1.2rem !important;
  font-weight: 650 !important;
  letter-spacing: -0.03em !important;
}

.cx-builder-stats span {
  color: #6e6e73 !important;
  font-size: 11px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.cx-section-head h2,
.cx-builder-profile-page h2 {
  color: #1d1d1f !important;
  font-family: var(--chp-font) !important;
  font-size: 1.15rem !important;
  letter-spacing: -0.03em !important;
}

.cx-builder-featured__card,
.cx-builder-product-card,
.cx-builder-activity__item,
.cx-community-mini,
.cx-empty-card {
  display: flex !important;
  flex-wrap: wrap !important;
  background: #fff !important;
  border: 1px solid #d2d2d7 !important;
  border-radius: 16px !important;
  color: #1d1d1f !important;
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.cx-builder-featured__cta {
  white-space: normal !important;
  width: 100%;
  margin-top: 8px;
}

.cx-builder-featured__copy strong,
.cx-builder-product-card__copy strong,
.cx-builder-activity__item h3,
.cx-community-mini strong {
  color: #1d1d1f !important;
}

.cx-builder-featured__copy p,
.cx-builder-product-card__copy p,
.cx-builder-activity__item time,
.cx-community-mini span,
.cx-empty-card p {
  color: #6e6e73 !important;
}

.cx-builder-featured__cta,
.cx-builder-activity__item a {
  color: #1080e0 !important;
}

.cx-builder-grid {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 24px !important;
  width: 100% !important;
}

.cx-chip {
  background: #f5f5f7 !important;
  color: #6e6e73 !important;
  border: 0 !important;
}

@media (min-width: 800px) {
  .cx-builder-hero {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 20px 28px !important;
    grid-template-columns: none !important;
  }

  .cx-builder-hero__media {
    flex: 0 0 auto;
  }

  .cx-builder-hero__body {
    flex: 1 1 220px;
    min-width: 0 !important;
  }

  .cx-builder-hero__avatar,
  .cx-builder-hero img.cx-builder-hero__avatar,
  .cx-builder-hero__media img {
    width: 88px !important;
    height: 88px !important;
  }

  .cx-builder-stats {
    flex: 1 1 100%;
    width: 100% !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  .cx-builder-stats > div {
    text-align: left !important;
  }

  .cx-builder-grid,
  .cx-builder-grid aside,
  .cx-builder-grid section {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: none !important;
  }

  .cx-builder-featured__cta {
    width: auto;
    margin-top: 0;
  }
}

.cx-builder-profile-page img,
.cx-builder-profile-page iframe,
.cx-builder-product-card__media img,
.cx-builder-featured__logo img {
  max-width: 100% !important;
  height: auto !important;
}

.cx-builder-profile-page .container {
  overflow-x: hidden !important;
}

.chs-badge,
.chs-cta,
.chs-btn-primary {
  background: #1080e0 !important;
  color: #fff !important;
  border-radius: 980px !important;
}

body.cortexhub-site .ct-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
}

.chp-follow-btn,
.cx-follow-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 980px !important;
  background: #1080e0 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-family: var(--chp-font) !important;
  cursor: pointer;
}

.chp-follow-btn.is-following,
.cx-follow-btn.is-following {
  background: #f5f5f7 !important;
  color: #1d1d1f !important;
  box-shadow: inset 0 0 0 1px #d2d2d7;
}
