/* Account and public sharing screens follow the approved Dxta editorial scheme. */
.public-journey-body {
  --journey-ink: #0c1d3b;
  --journey-muted: #52637b;
  --journey-paper: #f2f8fb;
  --journey-line: #cfd9e2;
  --journey-teal: #076d7b;
  --journey-serif: "Cormorant Garamond", "Fraunces", Georgia, serif;
  --bs-body-font-family: "Manrope", "Sora", sans-serif;
  color: var(--journey-ink);
  background: var(--journey-paper);
  font-family: var(--bs-body-font-family);
}

.public-journey-body .content-margin {
  --public-blue-surface: var(--journey-paper);
  display: flex;
  flex-direction: column;
  min-height: calc(100svh - 60px);
  background: var(--journey-paper);
}

.public-journey-body .public-site-footer { margin-top: auto; }
.public-journey-body :is(.home-atmosphere, .pulse-dot) { display: none; }
.public-journey-body .reveal { animation: none; transform: none; }
.public-journey-body .reveal:not([data-recaptcha-gated]) { opacity: 1; }
.public-journey-body .public-form-shell #loginFields { transform: none; }
.public-journey-body .container-fluid.content-margin.public-page-content:has(> .wrapper.home-wrapper) { margin-top: 60px; }
.public-journey-body .content-margin header { z-index: auto; }
.public-journey-body .home-wrapper {
  height: auto;
  min-height: 0;
  overflow: visible;
  background: var(--journey-paper);
  perspective: none;
}
.public-journey-body .home-hero {
  min-height: 0;
  padding: clamp(2.5rem, 6vw, 5rem) 0;
}
.public-journey-body .home-hero > .container {
  width: min(1280px, calc(100% - 80px));
  max-width: none;
  padding: 0;
}
.public-journey-body .hero-grid { gap: clamp(2rem, 5vw, 5rem); }
.public-journey-body .hero-grid > .hero-card { order: 1; }
.public-journey-body .login-shell .hero-grid {
  grid-template-columns: minmax(0, 520px);
  gap: 1.75rem;
}
.public-journey-body .login-shell .hero-grid.mfa-stripe-grid {
  grid-template-columns: minmax(0, 620px);
}
.public-journey-body .login-shell :is(.auth-gated-panel, .hero-card) {
  width: 100%;
  max-width: 100%;
}
.public-journey-body .hero-copy { position: static; align-self: center; }
.public-journey-body .hero-title,
.public-journey-body .signup-hero-title {
  color: var(--journey-ink) !important;
  font-family: var(--journey-serif);
  font-size: clamp(3rem, 5.5vw, 4.5rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.035em;
  text-wrap: balance;
}
.public-journey-body :is(.hero-lead, .signup-hero-copy) {
  color: var(--journey-muted) !important;
  font-size: 1rem;
  line-height: 1.7;
  font-weight: 400;
}
.public-journey-body :is(.hero-card, .public-form-card),
.public-journey-body .login-shell .mfa-stripe-panel .hero-card {
  background: #fff;
  border: 1px solid var(--journey-line);
  border-radius: 4px;
  box-shadow: none;
  backdrop-filter: none;
  transform: none;
}
.public-journey-body .home-wrapper .hero-card { padding: 0; }
.public-journey-body .login-shell.mfa-stripe-shell.mfa-setup-shell .home-hero { min-height: 0; }
.public-journey-body .hero-card::before,
.public-journey-body .hero-card::after { display: none; }
.public-journey-body .hero-card-header {
  padding: 1.5rem 2rem;
  margin-bottom: 0;
  background: #fff;
  color: var(--journey-ink) !important;
  border-bottom: 1px solid var(--journey-line);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
}
.public-journey-body .hero-card-body,
.public-journey-body .login-shell #loginFields .hero-card-body { padding: 2rem; }
.public-journey-body .login-shell #loginFields .auth-card-form,
.public-journey-body .login-shell #resetPasswordForm { width: 100%; }
.public-journey-body :is(.public-form-title, .mfa-screen-header h1, .mfa-setup-header h1) {
  color: var(--journey-ink);
  font: 500 clamp(2.5rem, 4vw, 3.25rem)/1.05 var(--journey-serif);
  letter-spacing: -0.025em;
  margin: 0;
  text-wrap: balance;
}
.public-journey-body .public-form-intro { text-align: center; }
.public-journey-body .public-form-card .public-form-title { margin-bottom: 1.5rem; }
.public-journey-body .form-control,
.public-journey-body .form-select {
  color: var(--journey-ink);
  background-color: #fff;
  border: 1px solid #a8b7c7;
  border-radius: 4px;
  font-size: 1rem;
  box-shadow: none;
}
.public-journey-body :is(.form-control, .form-select):focus {
  border-color: var(--journey-teal);
  box-shadow: 0 0 0 3px rgb(7 109 123 / 12%);
}
.public-journey-body .content-margin .btn {
  min-height: 48px;
  border-radius: 4px;
  font-family: var(--bs-body-font-family);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0;
  box-shadow: none !important;
  transform: none !important;
  white-space: normal;
}
.public-journey-body .content-margin .btn-primary {
  --bs-btn-bg: var(--journey-ink);
  --bs-btn-border-color: var(--journey-ink);
  --bs-btn-hover-bg: #193657;
  --bs-btn-hover-border-color: #193657;
  --bs-btn-active-bg: #193657;
  background: var(--journey-ink);
  color: #fff;
  border-color: var(--journey-ink);
}
.public-journey-body .content-margin .btn-primary:hover { background: #193657; }
.public-journey-body .content-margin .btn-primary:disabled {
  background: #dbe3e9;
  border-color: #b8c5d0;
  color: #617182;
  opacity: 1;
}
.public-journey-body .content-margin .btn-outline-primary { color: var(--journey-ink); border-color: #a8b7c7; }
.public-journey-body .content-margin .btn-outline-primary:hover { background: var(--journey-ink); color: #fff; }
.public-journey-body .content-margin .btn-link { color: var(--journey-teal); }
.public-journey-body :is(a, button):focus-visible { outline: 2px solid var(--journey-teal); outline-offset: 3px; }
.public-journey-body .public-form-shell { padding: clamp(2.5rem, 6vw, 5rem) 1.25rem; }
.public-journey-body .public-form-shell > div { min-height: 0; }
.public-journey-body .public-form-card { width: 100%; max-width: 520px; margin: 0 auto; padding: 2rem; }
.public-journey-body :is(.mfa-stripe-inner, .mfa-setup-inner) { padding: 2rem; gap: 1.5rem; }
.public-journey-body :is(.mfa-screen-header p, .mfa-setup-header p) { color: var(--journey-muted); font-weight: 400; line-height: 1.6; }
.public-journey-body :is(.mfa-option, .mfa-setup-option) { border-radius: 4px; border-color: var(--journey-line); box-shadow: none; background: #fff; }
.public-journey-body .mfa-option.is-active { border-color: var(--journey-teal); background: #f0f8f9; }
.public-journey-body :is(.mfa-option-badge, .mfa-setup-shield, .mfa-setup-option-icon) { color: var(--journey-teal); background: #e9f4f6; box-shadow: none; }
.public-journey-body .mfa-panel-heading h2 { color: var(--journey-ink); font: 500 2rem/1.15 var(--journey-serif); }
.public-journey-body .checkout-status-line { background: transparent; padding-left: 0; border: 0; color: var(--journey-teal); }
.public-journey-body .checkout-success-step { border-radius: 4px; background: var(--journey-paper); border-color: var(--journey-line); }
.public-journey-body .checkout-success-step-number { background: #e9f4f6; color: var(--journey-teal); border-radius: 4px; }

/* Existing plan selection and checkout wiring remain in the billing component. */
.public-journey-body .dxta-signup-page {
  --billing-ink: var(--journey-ink);
  --billing-line: var(--journey-line);
  --billing-teal: var(--journey-teal);
  --billing-violet: var(--journey-ink);
  padding: 3.5rem 2rem;
  color: var(--journey-ink);
  background: var(--journey-paper);
}
.public-journey-body .dxta-signup-page .signup-hero { padding: 0 0 2.5rem; }
.public-journey-body .dxta-signup-page .signup-hero-title { max-width: 900px; margin: 0 auto 1rem; }
.public-journey-body .dxta-signup-page .subscriptions-grid:has(.billing-tier-card) { width: min(1280px, 100%); gap: 1.5rem; }
.public-journey-body .dxta-signup-page .subscriptions-grid:has(.billing-tier-card) .card.subscription-box {
  border-radius: 4px !important;
  border-color: var(--journey-line) !important;
  box-shadow: none !important;
  transform: none !important;
}
.public-journey-body .dxta-signup-page .subscriptions-grid:has(.billing-tier-card) .card.subscription-box .card-title {
  min-height: 78px;
  padding: 1.25rem 1.5rem !important;
  color: var(--journey-ink) !important;
  background: #fff !important;
  font: 600 2.25rem/1 var(--journey-serif);
}
.public-journey-body .dxta-signup-page .subscriptions-grid:has(.billing-tier-card) .subscription-selected {
  border-color: var(--journey-teal) !important;
  box-shadow: inset 0 3px var(--journey-teal) !important;
}
.public-journey-body .dxta-signup-page .billing-period-control { padding: 0.75rem 1rem; background: #f2f8fb; }
.public-journey-body .dxta-signup-page .billing-period-button { min-height: 48px; border-radius: 3px; }
.public-journey-body .dxta-signup-page .subscription-selected .billing-period-button.is-active { background: var(--journey-ink); border-color: var(--journey-ink); box-shadow: none; }
.public-journey-body .dxta-signup-page .subscription-selected .billing-period-button.is-active :is(span, strong) { color: #fff; }
.public-journey-body .dxta-signup-page .subscriptions-grid:has(.billing-tier-card) .feature-icon { min-height: 42px; padding: 0.65rem 1.25rem !important; gap: 1rem; font-size: 0.8125rem; font-weight: 600; }
.public-journey-body .dxta-signup-page .subscriptions-grid:has(.billing-tier-card) .billing-feature-label { font-size: 0.8125rem; font-weight: 500; }
.public-journey-body .dxta-signup-page :is(.signup-account-panel, .billing-action-panel) { border-radius: 4px; box-shadow: none; }
.public-journey-body .dxta-signup-page .billing-panel-heading h2 { font: 500 2.5rem/1.1 var(--journey-serif); }
.public-journey-body .dxta-signup-page .billing-footnotes { color: var(--journey-muted); line-height: 1.7; }
.public-journey-body .dxta-terms-modal .modal-content { border-radius: 4px; box-shadow: none; }
.public-journey-body .dxta-terms-modal .modal-title { font: 500 2rem/1.1 var(--journey-serif); }
.public-journey-body .cookie-popup { background: #fff; border-color: var(--journey-line); box-shadow: none; }
.public-journey-body .cookie-popup__eyebrow::before { display: none; }
.public-journey-body .cookie-popup__title { color: var(--journey-ink) !important; font: 500 2rem/1.1 var(--journey-serif); }
.public-journey-body .cookie-popup__text { color: var(--journey-muted) !important; }
.public-journey-body .cookie-popup__layout { padding-bottom: max(1.25rem, env(safe-area-inset-bottom)); }
.public-journey-body .public-podcast-main { width: min(1120px, calc(100% - 80px)); margin: 0 auto; padding: 4rem 0; }
.public-journey-body .public-podcast-main > .row { margin: 0; }
.public-journey-body .public-podcast-column { width: 100%; padding: 0; }
.public-journey-body .public-podcast-main .card { border-radius: 4px; border-color: var(--journey-line); box-shadow: none !important; }
.public-journey-body .public-podcast-intro { padding: 0 0 2rem; border: 0; background: transparent; }
.public-journey-body .public-podcast-intro .card-body { padding: 0; }
.public-journey-body .public-podcast-intro h1 { font: 500 clamp(2.75rem, 5vw, 4rem)/1.05 var(--journey-serif); letter-spacing: -0.025em; }

@media (max-width: 767.98px) {
  .public-journey-body .home-hero,
  .public-journey-body .login-shell.mfa-stripe-shell .home-hero { padding: 2rem 0 2.5rem; }
  .public-journey-body .home-hero > .container { width: calc(100% - 32px); }
  .public-journey-body .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .public-journey-body .hero-title { font-size: 3rem; }
  .public-journey-body .hero-card-body,
  .public-journey-body .login-shell #loginFields .hero-card-body,
  .public-journey-body :is(.mfa-stripe-inner, .mfa-setup-inner, .public-form-card) { padding: 1.25rem; }
  .public-journey-body .hero-card-header { padding: 1.25rem; }
  .public-journey-body .public-form-shell { padding: 2rem 1rem 2.5rem; }
  .public-journey-body .dxta-signup-page { padding: 2rem 1rem 2.5rem; }
  .public-journey-body .dxta-signup-page .signup-hero { display: block; padding: 0 0 2rem; }
  .public-journey-body .dxta-signup-page .signup-hero-title { font-size: 2.75rem; }
  .public-journey-body .dxta-signup-page .subscriptions-grid:has(.billing-tier-card) { gap: 1.5rem; }
  .public-journey-body .dxta-signup-page .subscriptions-grid:has(.billing-tier-card) .feature-icon { padding: 0.65rem 1rem !important; }
  .public-journey-body .dxta-signup-page .signup-account-panel { padding: 1.25rem; }
  .public-journey-body .public-podcast-main { width: calc(100% - 32px); padding: 2rem 0; }
}

@media (prefers-reduced-motion: reduce) {
  .public-journey-body .reveal { animation: none; opacity: 1; transform: none; }
}

.public-journey-body .billing-tier-card .feature-icon .bi-check-circle-fill { color: var(--journey-teal) !important; }
