/* ===== NinjaX minimal copyright footer (nx-only) ===== */
.nx-copyfooter,
.nx-copyfooter * { box-sizing: border-box; }

.nx-copyfooter {

  background: #ffffff;                         /* white footer */
  color: var(--nx-text);
  border-top: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 -2px 10px rgba(0,0,0,0.04);
  flex-shrink: 0;                              /* don’t shrink in flex layout */
}

.nx-copyfooter__container {
  width: min(1200px, 100%);
  margin-inline: auto;
  padding: 18px 16px;
  text-align: center;
}

.nx-copyfooter__text {
  margin: 0;
  color: var(--nx-muted);
  letter-spacing: 0.01em;
  font-size: 14px;
}

/* Links inside the line (if any) */
.nx-copyfooter a {
  color: #4c1d95;                              /* NinjaX purple */
  text-decoration: none;
  border-bottom: 1px dotted rgba(76,29,149,0.25);
  transition: color 160ms ease, border-color 160ms ease;
}
.nx-copyfooter a:hover,
.nx-copyfooter a:focus-visible {
  color: #2563eb;                              /* NinjaX blue */
  border-bottom-color: rgba(37,99,235,0.4);
  outline: none;
}

/* Small screens */
@media (max-width: 576px) {
  .nx-copyfooter__text { font-size: 13px; line-height: 1.5; }
}

/* ===== Sticky layout helpers to force footer to bottom ===== */
/* Wrap your page with .nx-page and put content in .nx-main */
.nx-page {
  min-height: 100vh;                           /* full viewport height */
  display: flex;
  flex-direction: column;
  background: transparent;                     /* inherit page bg */
}

.nx-main {
  flex: 1 0 auto;                              /* grow to fill space */
  min-width: 0;
}

/* Optional utility if you can add class to <body> directly */
body.nx-page { min-height: 100vh; display: flex; flex-direction: column; }
body.nx-page .nx-main { flex: 1 0 auto; }
