/* Ruxum-only theme: keep the established content/layout and isolate the footer
   from page gradients and the fixed decorative orbit on interior pages. */
body.brand-ruxum,
body.ruxum-landing {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
body.brand-ruxum > main,
body.ruxum-landing > main { flex: 1 0 auto; }

body.ruxum-landing {
  background:
    radial-gradient(ellipse 900px 620px at 75% 140px, rgba(173, 37, 109, .15), transparent 75%),
    radial-gradient(circle at 15% 10%, #fffafe, #fbf4f8 35%, #f2deea 100%);
}
.ruxum-landing .site-header { border-bottom-color: rgba(157, 42, 104, .14); }
.ruxum-landing .app-section { background: rgba(255, 248, 252, .45); }
.ruxum-landing .get-started { background: rgba(173, 37, 109, .06); }

body.brand-ruxum .site-footer,
body.ruxum-landing .site-footer {
  position: relative;
  z-index: 1;
  isolation: isolate;
  flex-shrink: 0;
  max-width: none;
  background: #fff;
  padding-inline: max(var(--content-gutter), calc((100% - var(--content-max)) / 2 + var(--content-gutter)));
}
.ruxum-landing .destinations .legacy-link { margin-top: 8px; font-size: 15px; }

/* Preserve the two-up desktop grid, but let cards fit a narrow phone instead
   of forcing its original 300px minimum outside the content gutter. */
body.brand-ruxum .media-grid.two-up {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

/* Keep small labels readable even on the darkest part of the pink gradient. */
body.brand-ruxum .chip { color: var(--accent-2); }
