/* Dedicated /ai/online-workshop landing. Keeps the first phone screen to title, when, price, CTA. */

html.online-landing {
  --header-height: 52px;
}

html.online-landing .header__lead,
html.online-landing .menu-toggle,
html.online-landing .nav,
html.online-landing .header__actions {
  display: none !important;
}

html.online-landing .logo {
  cursor: default;
  text-decoration: none;
  color: inherit;
}

.online-page {
  padding-bottom: 28px;
}

.online-hero {
  padding: calc(var(--header-height) + 8px) 0 4px;
  text-align: center;
}

.online-hero__inner,
.online-narrow {
  max-width: 28rem;
}

.online-kicker {
  margin: 0 0 4px;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-accent);
}

.online-title {
  margin: 0 0 6px;
  font-size: 1.42rem;
  line-height: 1.25;
  font-weight: 700;
}

.online-subline {
  margin: 0 0 8px;
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.45;
}

.online-when {
  margin: 0 0 4px;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.35;
}

bdi.nowrap {
  white-space: nowrap;
  unicode-bidi: isolate;
}

.online-when-meta {
  display: block;
}

.online-sep {
  white-space: pre;
}

.online-price {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.2;
}

.online-seats {
  margin: 4px 0 0;
  font-weight: 700;
  color: var(--color-accent);
}

.online-closed {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  background: #fff4f4;
  font-weight: 700;
  line-height: 1.45;
}

.online-cta {
  margin-top: 10px;
}

.online-promise,
.online-register,
.online-agenda,
.online-fit,
.online-bring,
.online-credit,
.online-faq,
.online-success {
  padding: 8px 0;
  text-align: right;
}

.online-register:has(form[hidden]) {
  padding: 0;
}

.online-promise__title,
.online-agenda h2,
.online-fit h2,
.online-bring h2,
.online-faq h2,
.online-success h1 {
  margin: 0 0 6px;
  font-size: 1.15rem;
  line-height: 1.35;
  text-align: right;
}

.online-credit p,
.online-fit p,
.online-bring p,
.online-agenda__note,
.online-success p,
.online-trust,
.online-status,
.online-faq dd {
  margin: 0 0 8px;
  line-height: 1.55;
  text-align: right;
}

.online-outcomes,
.online-agenda ul,
.online-bring ul {
  margin: 0;
  padding: 0 1.15rem 0 0;
  text-align: right;
}

.online-outcomes li,
.online-agenda li,
.online-bring li {
  margin: 0 0 4px;
  line-height: 1.45;
}

.online-faq dl {
  margin: 0;
}

.online-faq dt {
  margin: 10px 0 4px;
  font-weight: 700;
  line-height: 1.4;
}

.online-form .booking-field {
  margin-bottom: 8px;
}

.online-form .checkout__methods {
  margin: 8px 0;
}

.online-trust,
.online-status {
  color: var(--color-text-muted);
  font-size: 0.9rem;
}

.online-agenda__note {
  font-weight: 600;
}

.online-fit h2 + p + h2 {
  margin-top: 16px;
}

.online-credit p {
  margin: 0;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  background: var(--color-bg-soft, #f4f7fb);
  line-height: 1.55;
}

.online-success {
  padding-top: calc(var(--header-height) + 16px);
}

.online-pay .checkout-frame,
.online-pay .checkout-frame__iframe {
  min-height: 420px;
  height: calc(100dvh - 180px);
  width: 100%;
  border: 0;
}

.online-manual {
  white-space: pre-wrap;
  text-align: right;
  line-height: 1.55;
}

@media (min-width: 720px) {
  .online-title {
    font-size: 1.85rem;
  }

  .online-hero {
    padding-top: calc(var(--header-height) + 20px);
  }
}
