/* Module catalogue and detail pages share the public site's blue palette. */
.lp-modules-page { color: var(--ink); background: var(--soft); }
.mp-breadcrumbs { color: var(--muted); font-weight: 650; }
.mp-breadcrumbs a:hover { color: var(--product-blue-dark); }
.mp-breadcrumbs span[aria-hidden] { color: #8a9bb1; }

/* Keep the existing composition and diagrams, with neutral blue surfaces. */
.mp-index-hero,
.mp-detail-hero,
.mp-app-hero { background: linear-gradient(135deg, #edf4ff 0%, #f3f6fa 100%); }
.mp-index-hero::before,
.mp-detail-hero::before {
  background-image: linear-gradient(rgba(37, 99, 235, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(37, 99, 235, .06) 1px, transparent 1px);
}
.mp-index-hero-copy > p,
.mp-detail-hero-copy > p,
.mp-section-heading > p,
.mp-module-group > header span,
.mp-module-tile > p,
.mp-feature-grid p,
.mp-connection-grid small { color: var(--muted); }
.mp-secondary-link { color: var(--product-blue-dark); font-weight: 650; }
.mp-secondary-link:hover { color: var(--product-blue); }
.mp-index-orbit {
  border-color: #d5e3f7;
  box-shadow: inset 0 0 0 70px rgba(255, 255, 255, .25), 0 12px 32px rgba(27, 49, 80, .09);
}
.mp-index-orbit::before { border-color: #b8ccea; }
.mp-index-orbit::after { border-color: #d5e1f0; }
.mp-index-orbit-core { background: #20334e; box-shadow: 0 12px 30px rgba(27, 49, 80, .16); }
.mp-index-orbit-core svg { color: #a9caff; }
.mp-index-orbit > span:not(.mp-index-orbit-core) {
  color: var(--ink);
  border-color: var(--line);
  box-shadow: 0 4px 12px rgba(27, 49, 80, .06);
  font-weight: 650;
}

/* Cards use the same icon colour, borders and shadows as the landing page. */
.mp-module-group { border-color: var(--line); }
.mp-module-group > header span,
.mp-module-number,
.mp-module-link,
.mp-benefit-strip span,
.mp-feature-grid article > span { font-weight: 650; }
.mp-module-tile {
  border-color: var(--line);
  border-radius: 12px;
  background: var(--soft);
  box-shadow: 0 3px 12px rgba(27, 49, 80, .035);
}
.mp-module-tile:hover { border-color: #a8c2e8; background: #fff; box-shadow: 0 8px 20px rgba(27, 49, 80, .08); }
.mp-module-icon,
.mp-detail-icon {
  color: var(--product-blue);
  border-color: #d8e5f8;
  border-radius: 10px;
  background: var(--product-blue-soft);
}
.mp-module-number { color: #738399; }
.mp-module-tile > strong,
.mp-benefit-strip strong { color: var(--ink); }
.mp-module-link,
.mp-benefit-strip span,
.mp-feature-grid article > span,
.mp-connection-grid > a > b { color: var(--product-blue-dark); }
.mp-detail-icon { box-shadow: 0 4px 12px rgba(27, 49, 80, .06); }
.lp-wide-screen,
.mp-detail-screen {
  border-color: var(--line);
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(27, 49, 80, .1);
}
.lp-screen-meta { color: #52647a; border-bottom-color: var(--line); background: #f4f7fb; }
.lp-screen-dots i { background: #74a8f4; }
.lp-screen-dots i:nth-child(2) { background: #b8cce7; }
.lp-screen-dots i:nth-child(3) { background: #d6e1ef; }
.mp-benefit-strip { border-color: var(--line); border-radius: 12px; }
.mp-benefit-strip li + li { border-color: var(--line); }
.mp-feature-grid article { border-color: var(--line); border-radius: 12px; background: var(--soft); }
.mp-connections { background: var(--soft); }
.mp-connection-grid > a { border-color: var(--line); border-radius: 12px; }
.mp-connection-grid > a:hover { box-shadow: 0 8px 20px rgba(27, 49, 80, .08); }

/* Slate backgrounds and pale blue accents for process and closing sections. */
.mp-mobile-band,
.mp-workflow { background: #20334e; }
.mp-mobile-band p,
.mp-final-cta p { color: #c0cee0; }
.mp-mobile-band > .lp-shell > div > a,
.mp-mobile-band li > svg,
.mp-workflow li span,
.mp-final-cta span { color: #a9caff; }
.mp-mobile-band > .lp-shell > div > a,
.mp-workflow li span,
.mp-final-cta span { font-weight: 650; }
.mp-mobile-band li { border-color: #536b8a; border-radius: 12px; background: #2a405d; }
.mp-mobile-band li small { color: #bdcbdc; }
.mp-workflow ol,
.mp-workflow li { border-color: #536b8a; }
.mp-workflow li strong { color: #f3f7fc; }
.mp-final-cta { background: var(--night); }
.lp-lightbox::backdrop { background: rgba(17, 32, 52, .84); }
.lp-lightbox-close { background: rgba(24, 43, 69, .94); }

/* Mobile module: update its surrounding guide cards, preserve the app showcase. */
.mp-app-intro h1 { color: var(--ink); }
.mp-app-intro p,
.mp-app-guide-grid span,
.mp-app-guide-grid p,
.mp-app-access { color: var(--muted); }
.mp-app-guide-grid > a { border-color: var(--line); border-radius: 12px; background: var(--soft); }
.mp-app-guide-grid > a:hover { border-color: #a8c2e8; background: var(--product-blue-soft); }
.mp-app-guide-grid svg { color: var(--product-blue); }
.mp-app-guide-grid strong { color: var(--product-blue-dark); }
.mp-app-guide-grid span,
.mp-app-guide-grid strong { font-weight: 650; }
.mp-app-hero .lp-mobile { --product-blue: #2f6fe4; color: #213129; }

.mp-module-tile:focus-visible,
.mp-secondary-link:focus-visible,
.mp-connection-grid > a:focus-visible,
.mp-app-guide-grid > a:focus-visible,
.mp-breadcrumbs a:focus-visible,
.lp-wide-screen:focus-visible { outline: 3px solid #60a5fa; outline-offset: 4px; }

@media (max-width: 820px) {
  .mp-benefit-strip li:nth-child(even),
  .mp-benefit-strip li:nth-child(n + 3) { border-color: var(--line); }
}
@media (max-width: 620px) {
  .mp-benefit-strip li + li { border-color: var(--line); }
  .mp-index-hero-copy h1,
  .mp-detail-hero-copy h1,
  .mp-section-heading h2 { hyphens: auto; overflow-wrap: anywhere; }
}
