.gxs-membership {
  width: min(860px, calc(100% - 48px));
  min-width: 0;
  margin-inline: auto;
  padding-block: clamp(36px, 7vw, 78px);
  color: var(--gxs-ink);
}

.gxs-membership--pricing,
.gxs-membership--course-center {
  width: min(1180px, calc(100% - 48px));
}

.gxs-membership--pricing .gxs-membership__surface,
.gxs-membership--course-center .gxs-membership__surface {
  padding-inline: clamp(24px, 3.2vw, 42px);
}

.gxs-membership--course-center {
  padding-block: clamp(22px, 4vw, 44px);
}

.gxs-membership--course-center .gxs-membership__surface {
  padding-block: clamp(24px, 3.2vw, 34px);
}

.gxs-membership--course-center .gxs-membership__header {
  padding-bottom: 18px;
}

.gxs-membership--course-center .gxs-membership__header h1 {
  font-size: clamp(30px, 4vw, 44px);
}

.gxs-membership--course-center .gxs-membership__content {
  padding-top: 20px;
}

.gxs-membership__surface,
.gxs-membership__empty {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: clamp(24px, 5vw, 46px);
  border: 1px solid var(--gxs-line);
  border-radius: var(--gxs-radius);
  background: var(--gxs-paper);
  box-shadow: var(--gxs-shadow);
}

.gxs-membership__surface::before,
.gxs-membership__empty::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: var(--gxs-gradient);
}

.gxs-membership__header {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--gxs-line);
}

.gxs-membership__eyebrow {
  margin: 0 0 8px;
  color: var(--gxs-faint);
  font: 700 11px/1.5 var(--gxs-mono);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.gxs-membership__header h1,
.gxs-membership__empty h1 {
  margin: 0;
  color: var(--gxs-ink);
  font-size: clamp(32px, 5vw, 52px);
  line-height: 1.1;
  letter-spacing: -0.05em;
  overflow-wrap: anywhere;
}

.gxs-membership__introduction,
.gxs-membership__empty p {
  max-width: 650px;
  margin: 14px 0 0;
  color: var(--gxs-soft);
}

.gxs-membership__content {
  min-width: 0;
  padding-top: 26px;
  overflow-wrap: anywhere;
}

.gxs-membership__content > :first-child {
  margin-top: 0;
}

.gxs-membership__content > :last-child {
  margin-bottom: 0;
}

.gxs-membership__content :where(form, fieldset, table, .swpm-login-widget-form, .swpm-registration-widget-form, .swpm-profile-form, .swpm-pw-reset-widget-form, .swpm-payment-status, .member-pricing, .pricing-table) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.gxs-membership__content :where(form, .swpm-payment-status) {
  padding: clamp(18px, 4vw, 28px);
  border: 1px solid var(--gxs-line);
  border-radius: 12px;
  background: #faf8ff;
}

.gxs-membership__content :where(label, .swpm-label) {
  display: flex;
  align-items: center;
  min-height: 44px;
  margin-bottom: 6px;
  color: var(--gxs-ink);
  font-weight: 750;
  cursor: pointer;
}

.gxs-membership__content :where(.swpm-remember-me, .swpm-password-input-visibility, .swpm-form-checkbox-row, .swpm-form-radio-row) {
  display: flex;
  align-items: center;
  min-height: 44px;
}

.gxs-membership__content :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--gxs-line-strong);
  border-radius: 10px;
  background: var(--gxs-paper);
  color: var(--gxs-ink);
}

.gxs-membership__content :where(input, select, textarea, button, a):focus-visible {
  outline: 3px solid var(--gxs-focus);
  outline-offset: 3px;
}

.gxs-membership__content :where(button, input[type="button"], input[type="submit"], .swpm-submit, .swpm-button, .swpm-payment-button, a.button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 9px 18px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: var(--gxs-gradient);
  color: var(--gxs-paper);
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
  cursor: pointer;
}

.gxs-membership__content :where(input[type="checkbox"], input[type="radio"]) {
  width: 20px;
  height: 20px;
  min-height: 20px;
  margin: 0 8px 0 0;
  vertical-align: middle;
}

.gxs-membership__content :where(a) {
  color: var(--gxs-blue);
  overflow-wrap: anywhere;
}

.gxs-membership[data-membership-page-id="572"] .gxs-membership__content label a[href*="page_id=285"] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.gxs-membership[data-membership-page-id="573"] .gxs-membership__content :where(.swpm-forgot-pass-link a, .swpm-join-us-link a) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.gxs-membership__content :where(.swpm-error, .swpm_error, .swpm-red-box, .swpm-red-error-text, .swpm-cft-error-msg, .swpm-login-widget-action-msg:not(:empty), .swpm-post-not-logged-in-msg, .swpm-post-no-access-msg, .swpm-post-older-post-msg, .swpm_profile_not_logged_in_msg, [role="alert"]) {
  margin-block: 14px;
  padding: 12px 14px;
  border: 1px solid var(--gxs-red);
  border-left-width: 5px;
  border-radius: 8px;
  background: #fff4f5;
  color: #7d1f2a;
  font-weight: 700;
}

.gxs-membership__content :where(.swpm-success, .swpm_success, .swpm-green-box, .swpm_message, .swpm-yellow-box, .swpm-ppcp-txn-success-message, .swpm_pass_reset_processing_msg_section, .mmp-user-info, [role="status"]) {
  margin-block: 14px;
  padding: 12px 14px;
  border: 1px solid var(--gxs-line-strong);
  border-left: 5px solid var(--gxs-purple);
  border-radius: 8px;
  background: #f3f0ff;
  color: var(--gxs-ink);
  font-weight: 700;
}

.gxs-membership__content :where(.avatar, .swpm-profile-avatar, .basic-user-avatars img) {
  width: min(144px, 40vw);
  height: auto;
  border: 4px solid var(--gxs-paper);
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--gxs-line-strong);
}

.gxs-membership--pricing .gxs-membership__content :where(.member-pricing, .pricing-table, .pricing-table-wrap, .swpm-membership-levels) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 16px;
}

.gxs-membership--pricing .gxs-membership__content .mmp-pricing-grid {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gxs-membership--pricing .gxs-membership__content .mmp-pricing-grid .price {
  overflow-wrap: normal;
  white-space: nowrap;
}

.gxs-membership--pricing .gxs-membership__content :where(.pricing-card, .pricing-table > *, .swpm-membership-levels > *) {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--gxs-line);
  border-radius: 12px;
  background: #faf8ff;
}

.gxs-membership__content :where(table) {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

@media (max-width: 1099px) {
  .gxs-membership--pricing .gxs-membership__content .mmp-pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .gxs-membership {
    width: calc(100% - 32px);
    padding-block: 32px;
  }

  .gxs-membership--pricing .gxs-membership__content .mmp-pricing-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gxs-membership__surface,
  .gxs-membership__empty {
    padding: 24px 18px;
    border-radius: 12px;
  }

  .gxs-membership__content :where(form, .swpm-payment-status) {
    padding: 16px;
  }

  .gxs-membership__content :where(.swpm-registration-widget-form, .swpm-edit-profile-form) :where(table, tbody) {
    display: block;
    overflow: visible;
  }

  .gxs-membership__content :where(.swpm-registration-widget-form, .swpm-edit-profile-form) tr {
    display: grid;
    gap: 4px;
    padding-block: 9px;
    border-bottom: 1px solid var(--gxs-line);
  }

  .gxs-membership__content :where(.swpm-registration-widget-form, .swpm-edit-profile-form) td {
    display: block;
    padding: 0;
    border: 0;
  }
}

@media (max-width: 390px) {
  .gxs-membership__content :where(button, input[type="button"], input[type="submit"], .swpm-submit, .swpm-button, .swpm-payment-button, a.button) {
    width: 100%;
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gxs-membership *,
  .gxs-membership *::before,
  .gxs-membership *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}
