/* Extended Modules page — light theme matching the home page.
   Wrapper: .pms-page.em-page (reuses scoped PMS-page rules); hero reuses .pms-hero / .fdb-chip. */

/* Hero: module launcher (light) */
.emh { background: #fff; border: 1px solid var(--up-line); border-radius: 18px; overflow: hidden; box-shadow: var(--up-shadow-lg); font-family: var(--up-font); }
.emh-body { padding: 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; background: #f7f8f9; }
.emh-card { background: #fff; border: 1px solid #e3e7eb; border-radius: 12px; padding: 14px 16px; position: relative;
  animation: emh-in .5s cubic-bezier(.2,.7,.2,1) both; animation-delay: var(--d, 0s); }
.emh-card.wide { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; }
.emh-top { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.emh-card.wide .emh-top { margin: 0; }
.emh-ic { width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex: none; }
.emh-ic svg { width: 20px; height: 20px; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.emh-name { font-weight: 700; font-size: .88rem; color: #2b3440; }
.emh-sub { font-size: .66rem; color: #8a94a0; }
.emh-on { position: absolute; top: 12px; right: 12px; width: 30px; height: 17px; border-radius: 9px; background: var(--up-accent-deep); }
.emh-on::after { content: ""; position: absolute; right: 2px; top: 2px; width: 13px; height: 13px; border-radius: 50%; background: #fff; }
.emh-kpi { display: flex; align-items: baseline; gap: .4rem; }
.emh-kpi b { font-size: 1.25rem; font-weight: 800; color: #2b3440; }
.emh-kpi span { font-size: .64rem; font-weight: 700; color: #4b7d3a; }
.emh-kpi small { font-size: .62rem; color: #8a94a0; }
.emh-spark { display: flex; align-items: flex-end; gap: 4px; height: 34px; }
.emh-spark i { width: 9px; border-radius: 3px 3px 0 0; background: #d9e3dc; }
.emh-spark i:last-child { background: var(--up-accent-deep); }
.emh-foot { display: flex; align-items: center; gap: .5rem; padding: .6rem 1rem; font-size: .66rem; color: #555; border-top: 1px solid #eef0f2; }
.emh-foot .ok { width: 16px; height: 16px; border-radius: 50%; background: #e8f1e4; color: #4b7d3a; display: inline-flex; align-items: center; justify-content: center; font-size: .6rem; font-weight: 800; }
@keyframes emh-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .emh-card { animation: none; } }

/* Module sections: line icon tile, collages, image column wider */
.em-page .module-icon-large { width: 60px; height: 60px; border-radius: 16px; background: var(--up-accent-tint); display: flex; align-items: center; justify-content: center; font-size: 0; }
.em-page .module-icon-large svg { width: 30px; height: 30px; stroke: var(--up-accent-deep); fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.em-page .module-overline { color: var(--gold); }
.em-page .module-heading { color: var(--up-accent-deep); }
.em-page .module-section { border-bottom: 0; }
.em-page .module-section.alt { background: var(--up-bg); }
.em-page .module-visual--img img { display: block; width: 100%; height: auto; }
@media (min-width: 1101px) {
  .em-page .module-detail-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 56px; }
}

/* Purple CTA → green */
.em-page .em-cta-strip { background: linear-gradient(160deg, #2F5740 0%, #1f3d2b 100%); }

@media (max-width: 640px) {
  .emh-body { grid-template-columns: 1fr; }
  .emh-card.wide { grid-template-columns: auto 1fr; }
  .emh-card.wide .emh-spark { display: none; }
}
