/* NMR Page Design Studio v1.2 — native Gutenberg editorial layouts.
   No font files, images, JavaScript, third-party APIs or external stylesheets. */
body.nmrpd-formatted-content main {
  --nmrpd-purple: #71358a;
  --nmrpd-dark: #29213b;
  --nmrpd-green: #187e56;
  --nmrpd-purple-bg: #f3eafa;
  --nmrpd-green-bg: #e9f6ef;
  --nmrpd-card-border: #e5dce9;
}
body.nmrpd-formatted-content main .nmrpd-layout-intro {
  background: linear-gradient(120deg, #faf7fc 0%, #f7f9f9 100%);
  border-left: 5px solid var(--nmrpd-purple);
  border-radius: 0 18px 18px 0;
  padding: clamp(1rem, 3vw, 1.7rem) clamp(1.2rem, 3vw, 2rem);
  margin-block: 1.25rem 2.4rem;
  max-width: 100%;
  box-sizing: border-box;
}
body.nmrpd-formatted-content main .nmrpd-layout-intro p {
  text-align: left;
  max-width: 78ch;
  margin-block: 0 1rem;
  line-height: 1.72;
}
body.nmrpd-formatted-content main .nmrpd-layout-intro p:last-child { margin-bottom: 0; }
body.nmrpd-formatted-content main .nmrpd-layout-intro p:first-child:has(strong) { color: var(--nmrpd-dark); }

body.nmrpd-formatted-content main .nmrpd-layout-grid,
body.nmrpd-formatted-content main .nmrpd-layout-grid > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(1rem, 2.3vw, 1.5rem);
  margin-block: 1.5rem 2.4rem;
}
body.nmrpd-formatted-content main .nmrpd-layout-grid > .wp-block-group__inner-container { margin-block: 0; }
body.nmrpd-formatted-content main .nmrpd-layout-card,
body.nmrpd-formatted-content main .nmrpd-layout-h2-card {
  background: var(--nmrpd-purple-bg);
  border: 1px solid var(--nmrpd-card-border);
  border-radius: 20px;
  padding: clamp(1.15rem, 2.5vw, 1.7rem);
  min-width: 0;
  box-shadow: 0 3px 14px rgba(53, 34, 63, .04);
  box-sizing: border-box;
  height: 100%;
}
body.nmrpd-formatted-content main .nmrpd-layout-grid > .nmrpd-layout-card:nth-child(even),
body.nmrpd-formatted-content main .nmrpd-layout-grid > .nmrpd-layout-h2-card:nth-child(even),
body.nmrpd-formatted-content main .nmrpd-layout-grid > .wp-block-group__inner-container > :nth-child(even) {
  background: var(--nmrpd-green-bg);
  border-color: #d7e9dc;
}
body.nmrpd-formatted-content main .nmrpd-layout-card h3,
body.nmrpd-formatted-content main .nmrpd-layout-h2-card h2 {
  color: var(--nmrpd-dark);
  font-size: clamp(1.18rem, 1.8vw, 1.52rem);
  line-height: 1.3;
  margin: 0 0 .7rem;
  text-align: left;
}
body.nmrpd-formatted-content main .nmrpd-layout-card :is(p,li),
body.nmrpd-formatted-content main .nmrpd-layout-h2-card :is(p,li) {
  font-size: 1rem;
  line-height: 1.64;
  text-align: left;
  overflow-wrap: anywhere;
}
body.nmrpd-formatted-content main .nmrpd-layout-card :is(p,ul,ol):last-child,
body.nmrpd-formatted-content main .nmrpd-layout-h2-card :is(p,ul,ol):last-child { margin-bottom: 0; }
body.nmrpd-formatted-content main .nmrpd-layout-card :is(a,button),
body.nmrpd-formatted-content main .nmrpd-layout-h2-card :is(a,button) { overflow-wrap: anywhere; }

body.nmrpd-formatted-content main .nmrpd-layout-steps,
body.nmrpd-formatted-content main .nmrpd-layout-steps > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: .9rem;
  margin-block: 1.4rem 2.2rem;
}
body.nmrpd-formatted-content main .nmrpd-layout-steps > .wp-block-group__inner-container { margin-block: 0; }
body.nmrpd-formatted-content main .nmrpd-layout-step {
  padding: 1.05rem 1.4rem 1.1rem 1.6rem;
  border: 1px solid #e6e0ea;
  border-left: 5px solid var(--nmrpd-purple);
  background: #fcfafc;
  border-radius: 0 16px 16px 0;
  text-align: left;
}
body.nmrpd-formatted-content main .nmrpd-layout-step:nth-child(even) { border-left-color: var(--nmrpd-green); background: #f8fcf9; }
body.nmrpd-formatted-content main .nmrpd-layout-step h3 {
  font-size: clamp(1.15rem,2vw,1.4rem);
  margin: 0 0 .65rem;
  line-height: 1.35;
  text-align: left;
}
body.nmrpd-formatted-content main .nmrpd-layout-step p { max-width: 85ch; line-height: 1.68; }
body.nmrpd-formatted-content main .nmrpd-layout-step :last-child { margin-bottom: 0; }

body.nmrpd-formatted-content main .nmrpd-layout-faq-list,
body.nmrpd-formatted-content main .nmrpd-layout-faq-list > .wp-block-group__inner-container {
  display: grid;
  gap: .75rem;
  margin-block: 1.3rem 2.2rem;
}
body.nmrpd-formatted-content main .nmrpd-layout-faq-list > .wp-block-group__inner-container { margin-block: 0; }
body.nmrpd-formatted-content main .nmrpd-layout-faq-item {
  border: 1px solid #e5e1e7;
  border-radius: 14px;
  padding: 1.1rem 1.35rem;
  background-color: #fff;
  box-shadow: 0 1px 7px rgba(0,0,0,.025);
}
body.nmrpd-formatted-content main .nmrpd-layout-faq-item h3 {
  font-size: 1.14rem;
  line-height: 1.4;
  color: var(--nmrpd-dark);
  margin-block: 0 .6rem;
  text-align: left;
}
body.nmrpd-formatted-content main .nmrpd-layout-faq-item :last-child { margin-bottom: 0; }

/* Tighten block editor alignment (visible on front-end without altering source). */
body.nmrpd-formatted-content main :is(.nmrpd-layout-grid,.nmrpd-layout-steps,.nmrpd-layout-faq-list) :is(.wp-block-buttons,.wp-block-button) {
  justify-content: flex-start;
  text-align: left;
}
@media (max-width: 720px) {
  body.nmrpd-formatted-content main .nmrpd-layout-grid,
  body.nmrpd-formatted-content main .nmrpd-layout-grid > .wp-block-group__inner-container { grid-template-columns: minmax(0,1fr); gap: .85rem; }
  body.nmrpd-formatted-content main .nmrpd-layout-intro { padding: 1rem 1.15rem; }
  body.nmrpd-formatted-content main .nmrpd-layout-card,
  body.nmrpd-formatted-content main .nmrpd-layout-h2-card { padding: 1.15rem; }
}
@media print {
  body.nmrpd-formatted-content main :is(.nmrpd-layout-card,.nmrpd-layout-step,.nmrpd-layout-faq-item) { break-inside: avoid; }
  body.nmrpd-formatted-content main .nmrpd-layout-grid { display: block; }
}
