/* CORE - carved from nexus-members.css */

.nm-widget-notice p {
  margin-bottom: 0;
  margin-block-end: 0;
}


@keyframes nm-social-sentinel-spin {
  to { transform: rotate(360deg); }
}


.nm-social-modal__action,
a.nm-social-modal__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 26px;
  border-radius: 12px;
  font-weight: 500;
  line-height: 1.2;
  font-family: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  text-decoration: none;
  transition: background 120ms ease, transform 120ms ease, opacity 120ms ease;
}


.nm-social-modal__action--primary,
a.nm-social-modal__action--primary {
  background: var(--nm-shared-button-bg);
  border: 1px solid var(--nm-shared-button-bg);
  color: var(--nm-shared-button-text);
}


.nm-social-modal__action--primary:hover,
a.nm-social-modal__action--primary:hover {
  opacity: 0.92;
}


.nm-social-modal--alert .nm-social-modal__card,
.nm-social-modal--post-notfound .nm-social-modal__card {
  width: min(92vw, 620px);
  max-height: min(70dvh, 620px);
  grid-template-rows: auto 1fr;
}


.nm-social-modal--alert .nm-social-modal__content,
.nm-social-modal--post-notfound .nm-social-modal__content {
  justify-content: center;
  align-items: center;
  text-align: center;
  display: flex;
  flex-direction: column;
}


.nm-social-modal--alert .nm-social-modal__content p,
.nm-social-modal--post-notfound .nm-social-modal__content p {
  margin: 0 0 16px 0;
  line-height: 1.6;
}


.nm-link-composer-preview {
  margin: 8px 0 12px;
}


@keyframes nm-link-preview-spin {
  to {
    transform: rotate(360deg);
  }
}


.nm-member-action-trigger {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: inherit;
  color: inherit;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
  cursor: pointer;
}


.nm-template-route {
  width: 100%;
  min-height: 100vh;
}


.nm-widget-notice.notice,
.nm-notice.notice {
  position: relative;
  margin: 0;
  padding: 1px 16px;
  border: 1px solid #dcdcde;
  border-left-width: 4px;
  border-radius: 12px;
  background: #000000;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}


.nm-widget-notice.notice p,
.nm-notice.notice p {
  margin: 0.75em 0;
}


.nm-widget-notice.notice.notice-success,
.nm-notice.notice.notice-success {
  border-left-color: #00a32a;
}


.nm-widget-notice.notice.notice-error,
.nm-notice.notice.notice-error {
  border-left-color: #d63638;
}


.nm-widget-notice.notice.notice-warning,
.nm-notice.notice.notice-warning {
  border-left-color: #dba617;
}


.nm-widget-notice.notice.notice-info,
.nm-notice.notice.notice-info {
  border-left-color: #72aee6;
}


.nm-widget-notice .notice-dismiss,
.nm-notice .notice-dismiss {
  position: absolute;
  top: 0;
  right: 0;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}


.nm-widget-notice .notice-dismiss::before,
.nm-notice .notice-dismiss::before {
  content: "\00d7";
  display: block;
  color: #646970;
  font-size: 1.375rem;
  line-height: 38px;
  text-align: center;
}


.nm-feedback-overlay {
  position: fixed;
  inset: 0;
  z-index: 100001;
}


.nm-feedback-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: var(--nm-feedback-modal-overlay, rgba(15, 23, 42, 0.62));
}


.nm-feedback-overlay__dialog {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 100dvh;
  align-items: center;
  justify-content: center;
  padding: clamp(20px, 4vw, 48px);
}


.nm-feedback-overlay__card {
  width: min(100%, var(--nm-feedback-modal-max-width, 540px));
  padding: clamp(24px, 4vw, 36px);
  border-radius: var(--nm-feedback-modal-radius, 20px);
  background: var(--nm-feedback-modal-bg, #ffffff);
  color: var(--nm-feedback-modal-text, #111827);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}


.nm-feedback-overlay__eyebrow {
  margin-bottom: 10px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nm-feedback-modal-label, #475569);
}


.nm-feedback-overlay__title {
  margin: 0 0 10px;
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.15;
  color: var(--nm-feedback-modal-title, currentColor);
}


.nm-feedback-overlay__message {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: inherit;
}


.nm-feedback-overlay__actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 20px;
}


.nm-feedback-overlay__button {
  min-width: 120px;
}


.nm-feedback-overlay[data-feedback-type="success"] .nm-feedback-overlay__eyebrow {
  color: var(--nm-feedback-modal-success, #15803d);
}


.nm-feedback-overlay[data-feedback-type="error"] .nm-feedback-overlay__eyebrow {
  color: var(--nm-feedback-modal-error, #b91c1c);
}


.nm-feedback-overlay[data-feedback-type="warning"] .nm-feedback-overlay__eyebrow {
  color: var(--nm-feedback-modal-warning, #a16207);
}


.nm-feedback-overlay[data-feedback-type="info"] .nm-feedback-overlay__eyebrow {
  color: var(--nm-feedback-modal-info, #1d4ed8);
}


body.nm-feedback-overlay-active {
  overflow: hidden;
}


.nm-social-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
}


.nm-social-modal.is-style-preview-inline {
  position: relative;
  inset: auto;
  z-index: 1;
  display: block;
  margin-top: 24px;
}


.nm-social-modal.is-style-preview-inline .nm-social-modal__backdrop {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  inset: 0;
  pointer-events: none;
  opacity: 0.18;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
}


.nm-social-modal__backdrop {
  position: absolute;
  inset: 0;
  background: var(--nm-overlay-modal-overlay, rgba(15, 23, 42, 0.75));
}


.nm-social-modal__content {
  gap: 20px;
  display: flex;
  flex-direction: column;
}


.nm-social-modal__dialog {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 100dvh;
  align-items: center;
  justify-content: center;
  padding: clamp(20px, 4vw, 48px);
}


.nm-social-modal.is-style-preview-inline .nm-social-modal__dialog {
  min-height: 0;
  align-items: stretch;
  justify-content: stretch;
  padding: 24px 0 0;
}


.nm-social-modal__card {
  width: min(92vw, var(--nm-cropper-max-width, 680px));
  max-height: min(80dvh, 720px);
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border-radius: var(--nm-overlay-modal-radius, 20px);
  border: 2px solid var(--nm-overlay-modal-border, color-mix(in srgb, currentColor 10%, transparent));
  background: var(--nm-overlay-modal-bg, #ffffff);
  color: var(--nm-overlay-modal-text, #111827);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}


.nm-social-modal__card > .nm-social-modal__header {
  padding: clamp(20px, 4vw, 28px) clamp(24px, 4vw, 32px) 0;
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--nm-overlay-modal-header-bg, color-mix(in srgb, var(--nm-overlay-modal-bg, #ffffff) 92%, transparent));
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}


.nm-social-modal__card > .nm-social-modal__content {
  min-height: 0;
  overflow: auto;
  padding: clamp(16px, 3vw, 22px) clamp(24px, 4vw, 32px) clamp(24px, 4vw, 32px);
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}


.nm-social-modal.is-style-preview-inline .nm-social-modal__card {
  width: 100%;
  max-width: 100%;
  max-height: none;
}


.nm-social-modal--comments .nm-social-modal__card {
  width: min(94vw, 820px);
  max-height: min(85dvh, 780px);
  background: var(--nm-comments-modal-bg, var(--nm-overlay-modal-bg, #ffffff));
  color: var(--nm-comments-modal-text, var(--nm-overlay-modal-text, #111827));
}


.nm-social-modal--comments .nm-social-modal__header {
  background: var(--nm-comments-modal-header-bg, var(--nm-overlay-modal-header-bg, color-mix(in srgb, var(--nm-overlay-modal-bg, #ffffff) 92%, transparent)));
}


.nm-social-modal--comments h3.nm-social-modal__title,
.nm-social-modal--comments .nm-social-modal__title {
  color: var(--nm-comments-modal-title, var(--nm-overlay-modal-title, inherit));
}


.nm-social-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid color-mix(in srgb, currentColor 10%, transparent);
}


.nm-social-modal__title {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.2;
  color: var(--nm-overlay-modal-title, inherit);
}


.nm-social-modal h3.nm-social-modal__title,
.nm-notification-modal h3.nm-notification-modal__title,
.nm-message-modal h3.nm-message-modal__title,
.nm-prompt-modal h3.nm-prompt-modal__title,
.nm-date-modal h3.nm-date-modal__title {
  color: var(--nm-overlay-modal-title, inherit);
}


button.nm-social-modal__close {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
}


html.nm-social-modal-active,
html.nm-social-modal-active body,
body.nm-social-modal-active {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}


@media (max-width: 767px) {
  html.nm-social-modal-active,
  body.nm-social-modal-active,
  html.nm-notification-modal-active,
  body.nm-notification-modal-active,
  html.nm-message-modal-active,
  body.nm-message-modal-active,
  html.nm-prompt-modal-active,
  body.nm-prompt-modal-active,
  html.nm-date-modal-active,
  body.nm-date-modal-active,
  html.nm-page-login-overlay-active,
  body.nm-page-login-overlay-active,
  html.nm-page-notice-modal-active,
  body.nm-page-notice-modal-active {
    position: fixed;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }
  .nm-social-modal--comments,
  .nm-social-modal--comments .nm-social-modal__dialog,
  .nm-social-modal--comments .nm-social-modal__card {
    min-height: 0;
    overflow: hidden;
    overscroll-behavior: contain;
  }
  .nm-social-modal--comments .nm-social-modal__dialog {
    height: 100dvh;
  }
  .nm-social-modal--comments .nm-social-modal__card {
    height: 100%;
    grid-template-rows: auto minmax(0, 1fr);
  }
  .nm-social-modal--comments .nm-social-modal__content {
    min-height: 0;
    height: auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }
}


@media (max-width: 767px) {
  .nm-social-modal--comments .nm-social-modal__dialog {
    align-items: stretch;
    padding: 0;
  }
  .nm-social-modal--comments .nm-social-modal__card {
    width: 100%;
    max-width: none;
    max-height: none;
    min-height: 100dvh;
    border: 0;
    border-radius: 0;
  }
}


.nm-notification-modal {
  position: fixed;
  inset: 0;
  z-index: 100002;
}


.nm-notification-modal__backdrop {
  position: absolute;
  inset: 0;
  background: var(--nm-overlay-modal-overlay, rgba(15, 23, 42, 0.75));
}


.nm-notification-modal__dialog {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 100dvh;
  align-items: stretch;
  justify-content: center;
  padding: clamp(16px, 3vw, 28px);
  padding-bottom: max(clamp(16px, 3vw, 28px), env(safe-area-inset-bottom, 0px));
}


.nm-notification-modal__card {
  width: min(100%, 1040px);
  min-height: min(780px, calc(100dvh - clamp(32px, 6vw, 56px)));
  max-height: min(720px, calc(100dvh - clamp(32px, 6vw, 56px)));
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border-radius: var(--nm-overlay-modal-radius, 20px);
  border: 2px solid var(--nm-overlay-modal-border, color-mix(in srgb, currentColor 10%, transparent));
  background: var(--nm-notification-modal-bg, var(--nm-overlay-modal-bg, #ffffff));
  color: var(--nm-notification-modal-text, var(--nm-overlay-modal-text, #111827));
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}


.nm-notification-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: clamp(20px, 3vw, 28px);
  border-bottom: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  background: var(--nm-notification-modal-header-bg, var(--nm-overlay-modal-header-bg, color-mix(in srgb, var(--nm-overlay-modal-bg, #ffffff) 92%, transparent)));
  box-shadow: 0 4px 14px color-mix(in srgb, currentColor 12%, transparent);
  backdrop-filter: blur(6px);
}


.nm-notification-modal__title {
  margin: 0;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.2;
  color: var(--nm-notification-modal-title, var(--nm-overlay-modal-title, inherit));
}


button.nm-notification-modal__close {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 1.875rem;
  line-height: 1;
  cursor: pointer;
}


.nm-notification-modal__content {
  overflow: auto;
  padding: clamp(20px, 3vw, 28px);
  background: var(--nm-notification-modal-content-bg, transparent);
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}


@keyframes nm-highlight-flash {
  0% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--nm-accent, #2563eb) 40%, transparent);
    background-color: color-mix(in srgb, var(--nm-accent, #2563eb) 22%, transparent);
  }
  100% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--nm-accent, #2563eb) 0%, transparent);
    background-color: transparent;
  }
}


.nm-social-highlight {
  animation: nm-highlight-flash 2.2s ease-out forwards;
  border-radius: 14px;
  scroll-margin-block: 120px;
}


html.nm-notification-modal-active,
body.nm-notification-modal-active {
  overflow: hidden;
  overscroll-behavior: none;
}


.nm-message-modal {
  position: fixed;
  inset: 0;
  z-index: 100003;
}


.nm-message-modal__backdrop {
  position: absolute;
  inset: 0;
  background: var(--nm-overlay-modal-overlay, rgba(15, 23, 42, 0.75));
}


.nm-message-modal__dialog {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 100vh;
  align-items: center;
  justify-content: center;
  padding: 12px;
}


.nm-message-modal__card {
  width: min(100%, 1120px);
  height: min(820px, calc(100vh - 24px));
  max-height: calc(100vh - 24px);
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border-radius: var(--nm-overlay-modal-radius, 20px);
  border: 2px solid var(--nm-overlay-modal-border, color-mix(in srgb, currentColor 10%, transparent));
  background: var(--nm-overlay-modal-bg, #ffffff);
  color: var(--nm-overlay-modal-text, #111827);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}


.nm-message-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: clamp(20px, 3vw, 28px);
  border-bottom: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  background: var(--nm-overlay-modal-header-bg, color-mix(in srgb, var(--nm-overlay-modal-bg, #fff) 94%, currentColor));
  box-shadow: 0 4px 14px color-mix(in srgb, currentColor 12%, transparent);
}


.nm-message-modal__title {
  margin: 0;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.2;
  color: var(--nm-overlay-modal-title, inherit);
}


button.nm-message-modal__close,
button.nm-date-modal__close,
button.nm-prompt-modal__button,
button.nm-date-modal__button,
.nm-date-modal__calendar .ui-datepicker-buttonpane button {
  font-family: inherit !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}


button.nm-message-modal__close,
button.nm-date-modal__close,
button.nm-social-modal__close,
button.nm-notification-modal__close {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px;
  background: var(--nm-overlay-modal-close-bg, color-mix(in srgb, currentColor 8%, transparent)) !important;
  color: inherit !important;
  font-size: 1.6rem !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer;
}


button.nm-message-modal__close:hover,
button.nm-message-modal__close:focus-visible,
button.nm-date-modal__close:hover,
button.nm-date-modal__close:focus-visible,
button.nm-social-modal__close:hover,
button.nm-social-modal__close:focus-visible,
button.nm-notification-modal__close:hover,
button.nm-notification-modal__close:focus-visible {
  background: var(--nm-overlay-modal-border, inherit) !important;
  outline: none;
  border-radius: 12px;
}


.nm-message-modal__content {
  display: grid;
  overflow: hidden;
  padding: clamp(14px, 2vw, 20px);
}


html.nm-message-modal-active,
body.nm-message-modal-active {
  overflow: hidden;
  overscroll-behavior: none;
}


@media (max-width: 767px) {
  .nm-message-modal__dialog {
    min-height: 100dvh;
    padding: 0;
    align-items: stretch;
  }
  .nm-message-modal__card {
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
    border-width: 0;
  }
  .nm-message-modal__header {
    padding: 14px 16px;
  }
  .nm-message-modal__content {
    min-height: 0;
    padding: 10px 12px max(10px, env(safe-area-inset-bottom, 0px));
  }
  .nm-message-modal__content {
    height: auto;
  }
}


@media (max-width: 767px) {
  .nm-prompt-modal__dialog,
  .nm-date-modal__dialog {
    min-height: 100dvh;
    padding: 16px;
    overflow-y: auto;
    overscroll-behavior: contain;
    align-items: start;
  }
  .nm-prompt-modal__card,
  .nm-date-modal__card {
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .nm-page-login-overlay__card,
  .nm-page-notice-modal__dialog {
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}


.nm-prompt-modal {
  position: fixed;
  inset: 0;
  z-index: 100020;
}


.nm-prompt-modal__backdrop {
  position: absolute;
  inset: 0;
  background: var(--nm-overlay-modal-overlay, rgba(15, 23, 42, 0.75));
}


.nm-prompt-modal__dialog {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  min-height: 100%;
  padding: 24px;
}


.nm-prompt-modal__card {
  width: min(92vw, 540px);
  padding: 28px;
  border-top: 5px solid var(--nm-overlay-modal-header-bg, color-mix(in srgb, currentColor 16%, transparent));
  border-radius: var(--nm-overlay-modal-radius, 20px);
  border: 2px solid var(--nm-overlay-modal-border, color-mix(in srgb, currentColor 10%, transparent));
  background: var(--nm-overlay-modal-bg, #ffffff);
  color: var(--nm-overlay-modal-text, #111827);
  display: grid;
  gap: 16px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.24);
}


.nm-prompt-modal__title {
  margin: 0;
  padding-top: 4px;
  font-size: 1.375rem;
  color: var(--nm-overlay-modal-title, inherit);
}


.nm-prompt-modal__message {
  margin: 0;
  line-height: 1.6;
}


.nm-prompt-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}


html.nm-prompt-modal-active,
body.nm-prompt-modal-active {
  overflow: hidden;
  overscroll-behavior: none;
}


.nm-date-modal {
  position: fixed;
  inset: 0;
  z-index: 100021;
}


.nm-date-modal__backdrop {
  position: absolute;
  inset: 0;
  background: var(--nm-overlay-modal-overlay, rgba(15, 23, 42, 0.75));
}


.nm-date-modal__dialog {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  min-height: 100%;
  padding: 24px;
}


.nm-date-modal__card {
  width: min(92vw, 620px);
  padding: 24px;
  border-radius: var(--nm-overlay-modal-radius, 20px);
  border: 2px solid var(--nm-overlay-modal-border, color-mix(in srgb, currentColor 10%, transparent));
  background: var(--nm-overlay-modal-bg, #ffffff);
  color: var(--nm-overlay-modal-text, #111827);
  display: grid;
  gap: 16px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.24);
}


.nm-date-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}


.nm-date-modal__title {
  margin: 0;
  font-size: 1.375rem;
  color: var(--nm-overlay-modal-title, inherit);
}


.nm-date-modal__selected {
  font-size: 0.875rem;
  opacity: 0.74;
}


.nm-date-modal__calendar .ui-datepicker {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: inherit;
}


.nm-date-modal__calendar .ui-datepicker-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
}


.nm-date-modal__calendar .ui-datepicker-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-width: 0;
}


.nm-date-modal__calendar .ui-datepicker-prev,
.nm-date-modal__calendar .ui-datepicker-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  opacity: 0.8;
  border-radius: 999px;
  background: color-mix(in srgb, currentColor 6%, transparent);
}


.nm-date-modal__calendar .ui-datepicker-prev span,
.nm-date-modal__calendar .ui-datepicker-next span {
  display: none;
}


.nm-date-modal__calendar .ui-datepicker-prev::before {
  content: "‹";
  font-size: 1.5rem;
}


.nm-date-modal__calendar .ui-datepicker-next::before {
  content: "›";
  font-size: 1.5rem;
}


.nm-date-modal__calendar .ui-datepicker-month,
.nm-date-modal__calendar .ui-datepicker-year {
  width: 100%;
  min-width: 0;
  font: inherit;
  color: inherit;
  background: inherit;
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  border-radius: 12px;
  padding: 10px 12px;
}


.nm-date-modal__calendar table {
  width: 100%;
  border-collapse: collapse;
}


.nm-date-modal__calendar th,
.nm-date-modal__calendar td {
  padding: 4px;
  text-align: center;
}


.nm-date-modal__calendar td a,
.nm-date-modal__calendar td span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin: 0 auto;
  border-radius: 999px;
  text-decoration: none;
  color: inherit;
}


.nm-date-modal__calendar td a:hover,
.nm-date-modal__calendar td a:focus-visible {
  background: color-mix(in srgb, currentColor 10%, transparent);
  outline: none;
}


.nm-date-modal__calendar .ui-datepicker-current-day a {
  background: color-mix(in srgb, currentColor 16%, transparent);
}


.nm-date-modal__calendar .ui-datepicker-today a {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 24%, transparent);
}


.nm-date-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}


button.nm-date-modal__button,
.nm-date-modal__calendar .ui-datepicker-buttonpane button {
  appearance: none;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 0.8rem 1rem !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}


.nm-date-modal__calendar .ui-datepicker-buttonpane {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding-top: 14px;
}


.nm-date-modal__calendar .ui-datepicker-buttonpane button {
  border-radius: 12px !important;
}


html.nm-date-modal-active,
body.nm-date-modal-active {
  overflow: hidden;
  overscroll-behavior: none;
}


.nm-page-login-overlay {
  position: fixed;
  inset: 0;
  z-index: 99998;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
}


.nm-page-login-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: var(--nm-login-overlay-backdrop, rgba(17, 24, 39, 0.68));
}


.nm-page-login-overlay__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 100dvh;
  display: flex;
}


.nm-page-login-overlay__card {
  width: 100%;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(24px, 5vw, 64px);
}


.nm-page-login-overlay__content {
  width: min(100%, var(--nm-login-overlay-max-width, 560px));
  padding: clamp(30px, 4vw, 30px);
  border-radius: var(--nm-login-overlay-radius, 18px);
  background: var(--nm-login-overlay-card-bg, #ffffff);
  color: var(--nm-login-overlay-text, #111827);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
  text-align: center;
  align-content: center;
  min-height:50vh;
}


.nm-page-login-overlay__title {
  margin: 0 0 10px;
  color: var(--nm-login-overlay-title, currentColor);
}


.nm-page-login-overlay__message {
  color: currentColor;
}


.nm-page-login-overlay__button {
  margin-top: 14px;
}


.nm-page-login-overlay__button,
.nm-page-login-overlay__button:visited {
  background: var(--nm-shared-button-bg);
  border-color: var(--nm-shared-button-bg);
  color: var(--nm-shared-button-text);
}


html.nm-page-login-overlay-active,
body.nm-page-login-overlay-active {
  overflow: hidden;
  overscroll-behavior: none;
}


html.nm-page-notice-modal-active,
body.nm-page-notice-modal-active {
  overflow: hidden;
  overscroll-behavior: none;
}


.nm-page-notice-modal {
  position: fixed;
  inset: 0;
  z-index: 99998;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
}


.nm-page-notice-modal__backdrop {
  position: absolute;
  inset: 0;
  background: var(--nm-overlay-modal-overlay, rgba(17, 24, 39, 0.78));
}


.nm-page-notice-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(24px, 5vw, 64px);
}


.nm-page-notice-modal__card {
  position: relative;
  width: min(100%, 560px);
  border-radius: var(--nm-overlay-modal-radius, 20px);
  background: var(--nm-overlay-modal-bg, #ffffff);
  color: var(--nm-overlay-modal-text, currentColor);
  border: 1px solid var(--nm-overlay-modal-border, transparent);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.28);
  padding: clamp(26px, 3.5vw, 42px) clamp(22px, 3.2vw, 40px);
}


.nm-page-notice-modal__card--private_profile,
.nm-page-notice-modal__card--warning {
  border-left: 4px solid var(--nm-shared-color-warn, #f59e0b);
}


.nm-page-notice-modal__card--missing_template,
.nm-page-notice-modal__card--info {
  border-left: 4px solid var(--nm-shared-color-info, #6366f1);
}


.nm-page-notice-modal__card--error {
  border-left: 4px solid var(--nm-shared-color-danger, #ef4444);
}


.nm-page-notice-modal__content {
  display: grid;
  gap: 16px;
  align-content: start;
}


.nm-page-notice-modal__title {
  margin: 0;
  color: var(--nm-overlay-modal-title, currentColor);
  font-size: clamp(22px, 2.2vw, 28px);
  line-height: 1.15;
  max-width: 100%;
}


.nm-page-notice-modal__message {
  margin: 0;
  color: var(--nm-overlay-modal-text, currentColor);
  font-size: clamp(15px, 1.4vw, 16px);
  line-height: 1.55;
}


.nm-page-notice-modal__actions {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}


.nm-page-notice-modal__button,
.nm-page-notice-modal__button:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border-radius: 999px;
  background: var(--nm-shared-button-bg);
  border: 1px solid var(--nm-shared-button-bg);
  color: var(--nm-shared-button-text);
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}


.nm-page-notice-modal__button--primary {
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}


.elementor-lightbox,
.dialog-lightbox-widget,
.elementor-lightbox-overlay,
.dialog-lightbox-widget__overlay,
.dialog-lightbox-overlay {
  z-index: 999999 !important;
}


.dialog-container,
.dialog-lightbox-container,
.elementor-lightbox-dialog,
.dialog-lightbox-widget__dialog,
.elementor-lightbox__dialog {
  z-index: 1000000 !important;
}


#TB_overlay {
  z-index: 100004 !important;
}


#TB_window {
  z-index: 100005 !important;
}


.nm-nc-tabs__tab {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 0.875rem;
  line-height: 1.2;
  font-weight: 600;
  transition: background-color 140ms ease, color 140ms ease, border-color 140ms ease, transform 140ms ease, box-shadow 140ms ease;
  will-change: transform;
}


.nm-nc-tabs__tab:hover {
  background: color-mix(in srgb, currentColor 6%, transparent);
}


.nm-nc-tabs__tab:focus-visible {
  outline: 2px solid var(--nm-accent, #2563eb);
  outline-offset: 2px;
}


.nm-nc-tabs__tab.is-active {
  background: var(--nm-accent, #2563eb);
  color: #fff;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--nm-accent, #2563eb) 24%, transparent);
}


.nm-nc-tabs__tab-label {
  display: inline-block;
  white-space: nowrap;
}


.nm-nc-tabs__tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  padding: 2px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, currentColor 30%, transparent);
  font-weight: 600;
  font-size: 0.75rem;
}


.nm-nc-tabs__tab.is-active .nm-nc-tabs__tab-count {
  background: color-mix(in srgb, #fff 20%, transparent);
  color: #fff;
}


.nm-nc-panel[hidden] {
  display: none !important;
}


@media (max-width: 767px) {
  .nm-nc-tabs__tab {
    flex: 1 1 0;
    justify-content: center;
    min-height: 44px;
    padding: 10px 8px;
    font-size: 0.8125rem;
  }
  .nm-notification-modal__dialog {
    padding: 0;
  }
  .nm-notification-modal__card {
    width: 100%;
    min-height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
    border-width: 0;
  }
  .nm-notification-modal__header {
    padding: 14px 16px;
  }
  .nm-notification-modal__content {
    min-height: 0;
    padding: 12px;
    padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
  }
}


/* Follow Request rows + list (shared between centre + modal) */
.nm-follow-requests {
  display: grid;
  gap: 18px;
}


.nm-follow-requests__subsection {
  display: grid;
  gap: 10px;
}


.nm-follow-requests__list {
  display: grid;
  gap: 12px;
}


.nm-follow-requests__row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 18px;
  background: var(--nm-overlay-modal-inner-card, color-mix(in srgb, currentColor 3.5%, transparent));
  border: 1px solid color-mix(in srgb, currentColor 10%, transparent);
  transition: opacity 160ms ease, transform 160ms ease, background-color 160ms ease;
}


.nm-follow-requests__row.is-processing,
.nm-follow-requests__row.is-resolving {
  opacity: 0.55;
  pointer-events: none;
}


.nm-follow-requests__row.is-resolving {
  transform: translateY(-2px);
}


.nm-follow-requests__avatar {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


.nm-follow-requests__avatar a,
.nm-follow-requests__avatar img {
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 999px;
}


.nm-follow-requests__body {
  display: grid;
  gap: 4px;
  min-width: 0;
}


.nm-follow-requests__name {
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1.15;
}


.nm-follow-requests__username {
  font-size: 0.8125rem;
  opacity: 0.72;
}


.nm-follow-requests__meta {
  font-size: 0.75rem;
  opacity: 0.62;
}


.nm-follow-requests__actions {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}


.nm-follow-requests__action {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  background: transparent;
  color: inherit;
  cursor: pointer;
  padding: 9px 14px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.8125rem;
  line-height: 1.1;
  transition: background-color 140ms ease, color 140ms ease, transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}


.nm-follow-requests__action:disabled {
  opacity: 0.55;
  cursor: progress;
}


.nm-follow-requests__action--accept {
  background: var(--nm-accent, #2563eb);
  color: #fff;
  border-color: var(--nm-accent, #2563eb);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--nm-accent, #2563eb) 24%, transparent);
}


.nm-follow-requests__action--accept:hover {
  transform: translateY(-1px);
}


.nm-follow-requests__action--deny {
  background: color-mix(in srgb, currentColor 4%, transparent);
}


.nm-follow-requests__action--deny:hover {
  background: color-mix(in srgb, currentColor 8%, transparent);
}


.nm-follow-requests__action--cancel {
  background: color-mix(in srgb, currentColor 6%, transparent);
}


.nm-follow-requests__action--cancel:hover {
  background: color-mix(in srgb, currentColor 12%, transparent);
}


.nm-follow-requests__empty {
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in srgb, currentColor 2%, transparent);
  opacity: 0.72;
  font-size: 0.8125rem;
}


@media (max-width: 767px) {
  .nm-follow-requests__row {
    grid-template-columns: auto 1fr;
  }
  .nm-follow-requests__actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}


.nm-duplicate-field-runtime,
[data-nm-duplicate-hidden="1"] {
  display: none !important;
  visibility: hidden !important;
}


.onsale.nm-role-sale-badge {
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 0;
  max-width: 160px;
  line-height: 1.3;
}


.onsale.nm-role-sale-badge br {
  line-height: inherit;
}

