/*
 * NursingRidge Clinical Modules — nr-clinical-modules.css
 * Brand colors: Navy #153A5B · Teal #2D9C9C · Dark Navy #1F4E79
 *               Gold #C79A3B · Sky #D9EEF2 · BG #F8FAFC · Text #1F2937
 */

:root {
  --nr-cm-navy:     #153A5B;
  --nr-cm-dnav:     #1F4E79;
  --nr-cm-teal:     #2D9C9C;
  --nr-cm-gold:     #C79A3B;
  --nr-cm-sky:      #D9EEF2;
  --nr-cm-bg:       #F8FAFC;
  --nr-cm-text:     #1F2937;
  --nr-cm-border:   #C4D8E2;
  --nr-cm-white:    #ffffff;
  --nr-cm-teal-lt:  #E4F5F5;
  --nr-cm-gold-lt:  #FBF4E3;
  --nr-cm-red:      #9B2226;
  --nr-cm-red-lt:   #FDF0F0;
  --nr-cm-grn:      #1A5C2A;
  --nr-cm-grn-lt:   #EDF5EF;
}

/* ── Wrapper ── */
.nr-cm {
  color: var(--nr-cm-text);
  font-size: 1rem;
  line-height: 1.6;
  padding-bottom: 3rem;
}

/* ── Breadcrumb ── */
.nr-cm__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  font-size: 0.88em;
  color: var(--nr-cm-dnav);
  margin-bottom: 1.25rem;
}
.nr-cm__breadcrumb a {
  color: var(--nr-cm-teal);
  text-decoration: none;
}
.nr-cm__breadcrumb a:hover { text-decoration: underline; }
.nr-cm__breadcrumb-sep { color: var(--nr-cm-border); }

/* ── Hero ── */
.nr-cm__hero {
  background: var(--nr-cm-navy);
  padding: 1.5rem 2rem;
  border-radius: 12px 12px 0 0;
  margin-bottom: 0;
}
.nr-cm__hero-series {
  font-size: 0.72em;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  margin-bottom: 0.4rem;
}
.nr-cm__hero-title {
  font-size: 1.35rem;
  font-weight: 500;
  color: #ffffff;
  line-height: 1.35;
  margin: 0 0 0.3rem;
}
.nr-cm__hero-subtitle {
  font-size: 0.88em;
  color: rgba(255,255,255,0.75);
  margin: 0 0 0.75rem;
}
.nr-cm__hero-intro {
  font-size: 0.875em;
  color: rgba(255,255,255,0.85);
  line-height: 1.7;
  border-top: 1px solid rgba(255,255,255,0.15);
  padding-top: 0.75rem;
  margin: 0 0 1rem;
}
.nr-cm__hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.nr-cm__badge {
  font-size: 0.7em;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
}
.nr-cm__badge--teal  { background: rgba(45,156,156,0.3);  color: #A8E6E6; border: 1px solid rgba(45,156,156,0.45); }
.nr-cm__badge--gold  { background: rgba(199,154,59,0.3);   color: #EFD49A; border: 1px solid rgba(199,154,59,0.45); }
.nr-cm__badge--white { background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.88); border: 1px solid rgba(255,255,255,0.25); }

/* ── Mobile nav ── */
.nr-cm__mob-nav {
  display: none;
  background: var(--nr-cm-dnav);
  padding: 0.7rem 1rem;
  border-bottom: 2px solid var(--nr-cm-teal);
}
.nr-cm__mob-nav select {
  width: 100%;
  background: var(--nr-cm-navy);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 6px;
  padding: 0.5rem 0.75rem;
  font-size: 0.88em;
  appearance: none;
  cursor: pointer;
}

/* ── Layout ── */
.nr-cm__layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  background: var(--nr-cm-bg);
  border-top: 2px solid var(--nr-cm-teal);
  border-radius: 0 0 12px 12px;
  overflow: hidden;
  min-height: 500px;
}

/* ── Sidebar ── */
.nr-cm__sidebar {
  background: var(--nr-cm-dnav);
  padding: 0.75rem 0;
  overflow-y: auto;
  max-height: 600px;
  position: sticky;
  top: 0;
}
.nr-cm__nav-group {
  font-size: 0.68em;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #A8C8E0;
  padding: 0.85rem 1rem 0.3rem;
  margin-top: 0.25rem;
}
.nr-cm__nav-group:first-child { margin-top: 0; }
.nr-cm__nav-link {
  display: block;
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  border-left: 3px solid transparent;
  cursor: pointer;
  font-size: 0.78em;
  color: #CBD8E8;
  padding: 0.45rem 1rem;
  line-height: 1.4;
  transition: background 0.12s, color 0.12s;
}
.nr-cm__nav-link:hover {
  background: rgba(255,255,255,0.1);
  color: #ffffff;
}
.nr-cm__nav-link.active {
  background: rgba(45,156,156,0.22);
  color: #ffffff;
  border-left-color: var(--nr-cm-teal);
  font-weight: 500;
}

/* ── Content area ── */
.nr-cm__content {
  padding: 1.5rem 1.75rem;
  overflow-y: auto;
  max-height: 600px;
  background: var(--nr-cm-bg);
}
.nr-cm__section { display: none; }
.nr-cm__section.active { display: block; }

/* ── Section label ── */
.nr-cm__section-label {
  font-size: 0.68em;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--nr-cm-teal);
  margin-bottom: 0.75rem;
  padding-bottom: 0.4rem;
  border-bottom: 2px solid var(--nr-cm-sky);
}

/* ── Content blocks ── */
.nr-cm__prose {
  font-size: 0.9em;
  color: var(--nr-cm-text);
  line-height: 1.75;
  margin-bottom: 0.875rem;
}
.nr-cm__card {
  background: var(--nr-cm-white);
  border: 1px solid var(--nr-cm-border);
  border-left: 3px solid var(--nr-cm-teal);
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin-bottom: 0.75rem;
}
.nr-cm__card-title {
  font-size: 0.85em;
  font-weight: 600;
  color: var(--nr-cm-navy);
  margin-bottom: 0.5rem;
}
.nr-cm__li {
  font-size: 0.875em;
  color: var(--nr-cm-text);
  padding: 0.4rem 0 0.4rem 1.1rem;
  border-bottom: 1px solid #EEF3F6;
  line-height: 1.65;
  position: relative;
}
.nr-cm__li:last-child { border-bottom: none; }
.nr-cm__li::before {
  content: '';
  position: absolute;
  left: 0.3rem;
  top: 0.85rem;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--nr-cm-teal);
}
.nr-cm__threshold-inline {
  background: var(--nr-cm-sky);
  border: 1px solid var(--nr-cm-border);
  border-radius: 6px;
  padding: 0.5rem 0.875rem;
  font-size: 0.85em;
  color: var(--nr-cm-navy);
  margin-bottom: 0.5rem;
}
.nr-cm__ifthen {
  background: var(--nr-cm-white);
  border: 1px solid var(--nr-cm-border);
  border-left: 3px solid var(--nr-cm-gold);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  margin-bottom: 0.5rem;
}
.nr-cm__if-label, .nr-cm__then-label {
  font-size: 0.65em;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  margin-bottom: 0.2rem;
}
.nr-cm__if-label   { color: var(--nr-cm-navy); }
.nr-cm__then-label { color: var(--nr-cm-teal); margin-top: 0.5rem; }
.nr-cm__if-text    { font-size: 0.85em; color: var(--nr-cm-text); line-height: 1.55; }
.nr-cm__pearl {
  border-left: 3px solid var(--nr-cm-gold);
  padding: 0.75rem 1rem;
  margin-bottom: 0.75rem;
  background: var(--nr-cm-gold-lt);
  border-radius: 0 8px 8px 0;
  font-size: 0.875em;
  color: #7A5A0E;
  line-height: 1.7;
}
.nr-cm__pearl-star { margin-right: 0.25rem; color: var(--nr-cm-gold); }
.nr-cm__exception {
  border-left: 3px solid var(--nr-cm-red);
  padding: 0.75rem 1rem;
  margin-bottom: 0.75rem;
  background: var(--nr-cm-red-lt);
  border-radius: 0 8px 8px 0;
  font-size: 0.875em;
  color: var(--nr-cm-red);
  line-height: 1.7;
}
.nr-cm__story {
  background: var(--nr-cm-sky);
  border: 1px solid var(--nr-cm-border);
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin-bottom: 0.75rem;
  font-size: 0.875em;
  color: var(--nr-cm-dnav);
  line-height: 1.8;
  font-style: italic;
}
.nr-cm__story-label {
  font-size: 0.65em;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nr-cm-teal);
  margin-bottom: 0.5rem;
  font-style: normal;
}
.nr-cm__alert-red {
  background: var(--nr-cm-red-lt);
  border: 1px solid #F0C0C0;
  border-left: 3px solid var(--nr-cm-red);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  margin-bottom: 0.5rem;
  font-size: 0.875em;
  color: var(--nr-cm-red);
  line-height: 1.6;
}
.nr-cm__alert-teal {
  background: var(--nr-cm-teal-lt);
  border: 1px solid #A8D8D8;
  border-left: 3px solid var(--nr-cm-teal);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  margin-bottom: 0.5rem;
  font-size: 0.875em;
  color: var(--nr-cm-dnav);
  line-height: 1.6;
}

/* ── Category grid ── */
.nr-cm__cat-header { margin-bottom: 2rem; }
.nr-cm__cat-title  { font-size: 1.75rem; font-weight: 500; color: var(--nr-cm-navy); }
.nr-cm__module-grid, .nr-cm__cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.25rem;
}
.nr-cm__module-card {
  background: var(--nr-cm-white);
  border: 1px solid var(--nr-cm-border);
  border-top: 4px solid var(--nr-cm-teal);
  border-radius: 10px;
  padding: 1.25rem;
  text-decoration: none;
  color: var(--nr-cm-text);
  transition: box-shadow 0.15s;
  display: block;
}
.nr-cm__module-card:hover { box-shadow: 0 4px 16px rgba(21,58,91,0.12); }
.nr-cm__module-card-series { font-size: 0.72em; color: var(--nr-cm-teal); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.4rem; }
.nr-cm__module-card-title  { font-size: 1rem; font-weight: 500; color: var(--nr-cm-navy); margin-bottom: 0.4rem; line-height: 1.35; }
.nr-cm__module-card-sub    { font-size: 0.82em; color: #4B5563; line-height: 1.5; margin-bottom: 0.75rem; }
.nr-cm__module-card-meta   { display: flex; gap: 0.5rem; font-size: 0.75em; color: var(--nr-cm-teal); }
.nr-cm__cat-card {
  background: var(--nr-cm-sky);
  border: 1px solid var(--nr-cm-border);
  border-left: 4px solid var(--nr-cm-navy);
  border-radius: 10px;
  padding: 1.5rem;
  text-decoration: none;
  color: var(--nr-cm-text);
  display: block;
  transition: background 0.15s;
}
.nr-cm__cat-card:hover { background: #C8E4EA; }
.nr-cm__cat-card-name  { font-size: 1.1rem; font-weight: 500; color: var(--nr-cm-navy); margin-bottom: 0.3rem; }
.nr-cm__cat-card-count { font-size: 0.82em; color: var(--nr-cm-teal); margin-bottom: 0.5rem; }
.nr-cm__cat-card-desc  { font-size: 0.85em; color: #4B5563; line-height: 1.5; }
.nr-cm__index-header { margin-bottom: 2rem; }
.nr-cm__index-title  { font-size: 1.75rem; font-weight: 500; color: var(--nr-cm-navy); }
.nr-cm__index-sub    { color: #4B5563; margin-top: 0.4rem; }

/* ── Mobile ── */
@media (max-width: 640px) {
  .nr-cm__layout { grid-template-columns: 1fr; }
  .nr-cm__sidebar { display: none; }
  .nr-cm__mob-nav { display: block; }
  .nr-cm__content { max-height: none; padding: 1rem; }
  .nr-cm__hero { padding: 1rem; border-radius: 8px 8px 0 0; }
  .nr-cm__hero-title { font-size: 1.1rem; }
  .nr-cm__module-grid,
  .nr-cm__cat-grid { grid-template-columns: 1fr; }
}
/* Sub-label: appears above a card, acts as a section sub-heading */
.nr-cm__sub-label {
  font-size: 0.8em;
  font-weight: 600;
  color: var(--nr-cm-navy);
  padding: 0.6rem 0 0.3rem;
  border-left: 3px solid var(--nr-cm-teal);
  padding-left: 0.75rem;
  margin-bottom: 0.35rem;
  margin-top: 0.75rem;
}

/* Threshold items - styled as sky-blue info rows */
.nr-cm__threshold-inline {
  background: var(--nr-cm-sky);
  border: 1px solid var(--nr-cm-border);
  border-left: 3px solid var(--nr-cm-navy);
  border-radius: 6px;
  padding: 0.5rem 0.875rem;
  font-size: 0.85em;
  color: var(--nr-cm-navy);
  margin-bottom: 0.4rem;
  line-height: 1.5;
}

/* ── Collapsible TOC ──────────────────────────────────────────────────── */
.nr-cm__toc {
  background: #ffffff;
  border-bottom: 1px solid #C4D8E2;
}
.nr-cm__toc-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.6rem 1rem;
  background: #D9EEF2;
  border-bottom: 1px solid #B8D4DC;
}
.nr-cm__toc-title {
  font-size: 0.7em;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #153A5B;
}
.nr-cm__toc-count {
  font-size: 0.7em;
  color: #2D9C9C;
  font-weight: 500;
}
.nr-cm__toc-group {
  border-bottom: 0.5px solid #E4EEF3;
}
.nr-cm__toc-group:last-child {
  border-bottom: none;
}
.nr-cm__toc-grp-hdr {
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
  background: #ffffff;
  border: none;
  padding: 0.6rem 1rem;
  cursor: pointer;
  gap: 0.6rem;
}
.nr-cm__toc-grp-hdr:hover {
  background: #F5F9FA;
}
.nr-cm__toc-grp-icon {
  width: 22px;
  height: 22px;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  flex-shrink: 0;
}
.nr-cm__toc-grp-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.nr-cm__toc-grp-name {
  font-size: 0.82em;
  font-weight: 600;
  color: #153A5B;
  line-height: 1.2;
}
.nr-cm__toc-grp-sub {
  font-size: 0.7em;
  color: #6B7280;
}
.nr-cm__toc-chevron {
  font-size: 1em;
  color: #9CA3AF;
  flex-shrink: 0;
  transition: transform 0.15s;
}
.nr-cm__toc-items {
  background: #F8FAFC;
  border-top: 0.5px solid #E4EEF3;
}
.nr-cm__toc-item {
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  border-left: 3px solid transparent;
  padding: 0.5rem 1rem 0.5rem 2.6rem;
  cursor: pointer;
  gap: 0.5rem;
  border-bottom: 0.5px solid #EEF3F6;
}
.nr-cm__toc-item:last-child {
  border-bottom: none;
}
.nr-cm__toc-item:hover {
  background: #EEF8F8;
  border-left-color: #2D9C9C;
}
.nr-cm__toc-item.active {
  background: #E4F5F5;
  border-left-color: #2D9C9C;
}
.nr-cm__toc-item-num {
  font-size: 0.7em;
  font-weight: 600;
  color: #1F4E79;
  min-width: 18px;
  flex-shrink: 0;
}
.nr-cm__toc-item-label {
  font-size: 0.82em;
  color: inherit;
  flex: 1;
  line-height: 1.3;
}
.nr-cm__toc-item-arrow {
  font-size: 0.85em;
  opacity: 0.6;
  flex-shrink: 0;
}

/* ── Sub-label block ──────────────────────────────────────────────────── */
.nr-cm__sub-label {
  font-size: 0.8em;
  font-weight: 600;
  color: #153A5B;
  padding: 0.5rem 0 0.25rem;
  border-left: 3px solid #2D9C9C;
  padding-left: 0.75rem;
  margin-bottom: 0.3rem;
  margin-top: 0.75rem;
}

/* ── Threshold items ──────────────────────────────────────────────────── */
.nr-cm__threshold-inline {
  background: #D9EEF2;
  border: 1px solid #C4D8E2;
  border-left: 3px solid #153A5B;
  border-radius: 6px;
  padding: 0.45rem 0.875rem;
  font-size: 0.85em;
  color: #153A5B;
  margin-bottom: 0.4rem;
  line-height: 1.5;
}

/* ── Mobile ───────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
  .nr-cm__mob-nav    { display: none !important; }
  .nr-cm__layout     { grid-template-columns: 1fr; border-top: none; }
  .nr-cm__sidebar    { display: none; }
  .nr-cm__content    { max-height: none; padding: 1rem; }
  .nr-cm__hero       { padding: 1rem; border-radius: 8px 8px 0 0; }
  .nr-cm__hero-title { font-size: 1.1rem; }
  .nr-cm__module-grid,
  .nr-cm__cat-grid   { grid-template-columns: 1fr; }
  /* TOC takes full width on mobile */
  .nr-cm__toc        { border-radius: 0; }
  .nr-cm__toc-item   { padding-left: 2rem; }
}
}

/* Mobile content height fix */
@media (max-width: 640px) {
  .nr-cm__layout { min-height: unset; }
  .nr-cm__content { height: auto; max-height: none; overflow: visible; }
  .nr-cm__section.active { display: block; min-height: 200px; }
}
/* ── Mobile nav bar ─────────────────────────────────────────────────── */
.nr-cm__mob-bar {
  display: none;
  background: #1F4E79;
  border-bottom: 2px solid #2D9C9C;
}
.nr-cm__mob-bar-top {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.75rem;
  gap: 0.5rem;
}
.nr-cm__mob-prev,
.nr-cm__mob-next {
  background: rgba(255,255,255,0.15);
  border: none;
  border-radius: 6px;
  color: #ffffff;
  font-size: 1.4rem;
  line-height: 1;
  padding: 0.2rem 0.6rem;
  cursor: pointer;
  flex-shrink: 0;
}
.nr-cm__mob-prev:disabled,
.nr-cm__mob-next:disabled {
  opacity: 0.3;
  cursor: default;
}
.nr-cm__mob-bar-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  overflow: hidden;
}
.nr-cm__mob-bar-num {
  font-size: 0.65em;
  color: rgba(255,255,255,0.55);
  font-weight: 500;
}
.nr-cm__mob-bar-name {
  font-size: 0.82em;
  color: #ffffff;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.nr-cm__mob-all {
  background: #2D9C9C;
  border: none;
  border-radius: 6px;
  color: #ffffff;
  font-size: 0.75em;
  font-weight: 600;
  padding: 0.35rem 0.75rem;
  cursor: pointer;
  flex-shrink: 0;
}
.nr-cm__mob-progress-bar {
  height: 3px;
  background: rgba(255,255,255,0.15);
}
.nr-cm__mob-progress-fill {
  height: 100%;
  background: #2D9C9C;
  transition: width 0.25s ease;
  width: 4%;
}

/* ── Mobile drawer ──────────────────────────────────────────────────── */
.nr-cm__mob-drawer {
  background: #1F4E79;
  border-bottom: 2px solid #2D9C9C;
  max-height: 55vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.nr-cm__mob-drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  font-size: 0.85em;
  font-weight: 600;
  color: #ffffff;
  position: sticky;
  top: 0;
  background: #1F4E79;
}
.nr-cm__mob-drawer-header button {
  background: transparent;
  border: none;
  color: rgba(255,255,255,0.6);
  font-size: 1rem;
  cursor: pointer;
  padding: 0.25rem;
}
.nr-cm__mob-drawer-group {
  font-size: 0.65em;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #A8C8E0;
  padding: 0.75rem 1rem 0.25rem;
}
.nr-cm__mob-drawer-item {
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  border-left: 3px solid transparent;
  color: #CBD8E8;
  font-size: 0.85em;
  padding: 0.55rem 1rem;
  cursor: pointer;
  gap: 0.6rem;
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
}
.nr-cm__mob-drawer-item:hover,
.nr-cm__mob-drawer-item.active {
  background: rgba(45,156,156,0.2);
  color: #ffffff;
  border-left-color: #2D9C9C;
}
.nr-cm__mob-drawer-num   { font-size: 0.75em; font-weight: 600; color: #A8C8E0; min-width: 18px; }
.nr-cm__mob-drawer-label { flex: 1; line-height: 1.3; }
.nr-cm__mob-drawer-arrow { font-size: 0.9em; opacity: 0.5; }

/* ── Sub-label block ────────────────────────────────────────────────── */
.nr-cm__sub-label {
  font-size: 0.8em;
  font-weight: 600;
  color: #153A5B;
  border-left: 3px solid #2D9C9C;
  padding: 0.4rem 0 0.4rem 0.75rem;
  margin: 0.75rem 0 0.3rem;
}

/* ── Threshold items ────────────────────────────────────────────────── */
.nr-cm__threshold-inline {
  background: #D9EEF2;
  border: 1px solid #C4D8E2;
  border-left: 3px solid #153A5B;
  border-radius: 6px;
  padding: 0.45rem 0.875rem;
  font-size: 0.85em;
  color: #153A5B;
  margin-bottom: 0.4rem;
  line-height: 1.5;
}

/* ── Mobile overrides ───────────────────────────────────────────────── */
@media (max-width: 640px) {
  .nr-cm__mob-bar        { display: block; }
  .nr-cm__mob-nav        { display: none !important; }
  .nr-cm__layout         { grid-template-columns: 1fr; border-top: none; }
  .nr-cm__sidebar        { display: none; }
  .nr-cm__content        { max-height: none; height: auto; overflow: visible; padding: 1rem; }
  .nr-cm__section        { display: none; }
  .nr-cm__section.active { display: block; }
  .nr-cm__hero           { padding: 1rem; border-radius: 8px 8px 0 0; }
  .nr-cm__hero-title     { font-size: 1.1rem; }
  .nr-cm__module-grid,
  .nr-cm__cat-grid       { grid-template-columns: 1fr; }
}
/* Mobile section visibility fix */
@media (max-width: 640px) {
  .nr-cm__section { display: none !important; }
  .nr-cm__section.active { display: block !important; }
  .nr-cm__content { height: auto !important; max-height: none !important; overflow: visible !important; }
}
