
  @import url('https://fonts.googleapis.com/css?family=Merriweather:400,700&display=swap');


  body {
  font-family: 'Merriweather', serif;
  }

  h1, h2, h3, h4, h5, h6 {
  font-family: 'Merriweather', serif;
  }

  h1 {
  font-size: 34px;
  }

  h2 {
  font-size: 32px;
  }

  h3 {
  font-size: 26px;
  }

  h4 {
  font-size: 21px;
  }

  h5 {
  font-size: 18px;
  }

  h6 {
  font-size: 16px;
  }

  body {
  font-size: 15px;
  }

  body,
  .product-usps li,
  .stock-message {
  color: #2a1314;
  }

  h1, h2, h3, h4, h5, h6 {
  color: #2a1314 !important;
  }

  a,
  .woocommerce ul.products li.product .price,
  .woocommerce .price {
  color: #e8ddd3 !important;
  }

  a:hover,
  .woocommerce ul.products li.product .price,
  .woocommerce .price,
  .product-usps li i,
  .counter {
  color: #2a1314 !important;
  }

  .btn,
  .wpcf7-submit,
  .woocommerce span.onsale,
  .woocommerce a.button,
  .woocommerce .button,
  [type="submit"],
  .nf-form-content input[type=submit]
  {
  background: #e8ddd3 !important;
  color: #fff !important;
  }

  .btn:hover,
  .wpcf7-submit:hover,
  .woocommerce span.onsale:hover,
  .woocommerce a.button:hover,
  .woocommerce .button:hover,
  [type="submit"]:hover,
  .nf-form-content input[type=submit]:hover
  {
  background: #2a1314 !important;
  color: #fff !important;
  }

  div.social-media ul li a {
  background: #ae9190 !important;
  color: #fff !important;
  }

  div.social-media ul li a i {
  color: #fff !important;
  }

  div.social-media ul li a:hover {
  background: #2a1314 !important;
  color: #fff !important;
  }
  footer div.social-media ul li a {
  background: #e8ddd3 !important;
  }

  div.phone a.phone, div.email a.email {
  background: #ae9190 !important;
  color: #fff !important;
  }

  div.phone a.phone, div.email a.email i {
  color: #fff !important;
  }

  div.phone a.phone:hover, div.email a.email:hover {
  background: #2a1314 !important;
  color: #fff !important;
  }

  header button.navbar-toggle {
  color: #ae9190;
  border-color: #ae9190;
  }

  .woocommerce-info,
  .woocommerce-message {
  border-top-color: #ae9190 !important;
  }

  .woocommerce-info::before,
  .woocommerce-message::before {
  color: #ae9190 !important;
  }

  .btn,
  .wpcf7-submit,
  .woocommerce span.onsale,
  .woocommerce a.button,
  .woocommerce .button,
  .modal__container,
  .footer-cta-box,
  .rimg,
  [type="submit"] {
  -moz-border-radius: 0px !important;
  -webkit-border-radius: 0px !important;
  border-radius: 0px !important;
  }

  .img-responsive {
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  border-radius: 0px;
  }



  header div.header {
  background-color: rgba(255, 255, 255, .5) !important;
  }
  header .sticky_menu_small div.header {
  background-color: rgb(255, 255, 255) !important;
  }

  @media only screen and (max-width : 992px) {
  header nav.navbar-default {
  background: none !important;
  }
  }





  @media only screen and (min-width : 992px) {
  header > div.wrapper {
  min-height: 1196px;
  }
  header > div.wrapper.above {
  min-height: 1346px;
  }

  header div.header div.holder {
  height: 1096px;
  }
  }

  .topbar {
  background: var(--secondary-50);
  }

  .shop_uspbar {
  background: var(--primary-50);
  }



  nav.navbar-default, div.navbar-collapse {
  background-color: #ffffff; !important;
  }

  @media only screen and (min-width : 992px) {
  
  div.navbar-collapse {
  background: none !important;
  }

  header nav.navbar-default {
  background-color: rgba(255, 255, 255, .5) !important;
  }

  nav.navbar-default div.navbar-collapse ul.navbar-nav>li a:hover {
  background-color: rgba(255, 255, 255, .5) !important;
  -webkit-box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.1);
  -moz-box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.1);
  }

  header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li > a:hover,
  header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li > a:focus,
  header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li > a:active {
  color: #ae9190 !important;
  }
  }


  section.featured div.wrapper {
  margin-top: 60px;
  }





  header div.header {
  text-align: center;
  }

  header div.navbar-collapse ul.navbar-nav li a, .nav .open>a, .nav .open>a:focus, .nav .open>a:hover {
  border-bottom: 1px solid #e8ddd3;
  }

  @media only screen and (min-width : 992px) {
  header div.navbar-collapse ul.navbar-nav li a, header nav.navbar-default div.navbar-collapse ul.navbar-nav li ul.dropdown-menu li.active > a {
  color: #e8ddd3 !important;
  }
  }


  header div.header div.contact i {
  color: #e8ddd3;
  }

  @media only screen and (min-width : 992px) {
  header div.navbar-collapse {
  text-align: center;
  }
  }

  section.featured div.item p,
  section.news div.item p {
  color: #2a1314 !important;
  }

  section.featured div.item,
  section.news div.item {
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  border-radius: 0px;
  }

  section.partners {
  background: #e8ddd3 !important;
  }

  section.partners img {
  border-radius: 0 !important;
  }

  footer,
  .footer-cta.center:after,
  .author {
  background: #ae9190 !important;
  }

  footer div.column > h4 {
  border-bottom: 1px solid #e8ddd3;
  }

  footer div.socket,
  .footer-sticky {
  background: #2a1314 !important;
  }


  .img-circle {
  border-radius: 0 !important;
  }

  section.treatments div.button-wrap {
  background: #ae9190;
  margin-top: 30px;
  }

  section.treatments div.item a {
  color: #2a1314 !important;
  }

  section.prices table tr td a {
  color: #2a1314 !important;
  }

  aside div.block.treatments ul li a,
  .woocommerce .widget_product_categories ul li a,
  .woocommerce .widget_product_categories ul li span {
  color: #2a1314 !important;
  }

  aside div.block.treatments ul li:hover,
  .woocommerce .widget_product_categories ul li:hover {
  background: #ae9190;
  }

  /* ╔═══════════════════════════════════════════════════════════════╗
   ║  HOUSE OF NAMUR — FOUNDATION                                    ║
   ║  1. TOKENS (:root)   2. RESET   3. ELEMENT-BASIS   4. BOUWSTENEN║
   ║  Gebruik in componenten ALTIJD de semantische tokens (laag 2),  ║
   ║  nooit de rauwe hexcodes (laag 1).                              ║
   ╚═══════════════════════════════════════════════════════════════╝ */

/* ═══════════════ 1 · TOKENS ═══════════════ */
:root {
  /* ---- 1a · PRIMITIVES (het palet, 1-op-1 uit het moodboard) ---- */
  --c-ivory: #f3efe9; /* R243 G239 B233 */
  --c-champagne: #ead7c6; /* R234 G215 B198 */
  --c-rose-gold: #cda4a7; /* R205 G164 B167 */
  --c-taupe: #a78b8e; /* R167 G139 B142 */
  --c-mauve: #ac7e6e; /* R172 G126 B110 */
  --c-leather: #543c36; /* R84  G60  B54  */
  --c-text-taupe: #7b615e;
  --c-warm-gray: #8e807a;
  --c-soft-taupe: #b8a9a2;
  --c-champagne-gold: #d8b88a;

  /* ---- 1b · SEMANTISCHE KLEURROLLEN ---- */
  --surface: var(--c-ivory); /* basis-achtergrond            */
  --surface-alt: var(--c-champagne); /* zachte panelen / secties     */
  --surface-deep: var(--c-leather); /* donkere "rust"-secties       */
  --surface-card: #ffffff; /* kaart op ivory, subtiel licht */

  --text-primary: var(--c-leather); /* koppen & sterke tekst        */
  --text-secondary: var(--c-text-taupe); /* lopende tekst                */
  --text-muted: var(--c-warm-gray); /* bijschriften                 */
  --text-subtle: var(--c-soft-taupe); /* labels, placeholders         */
  --text-on-deep: var(--c-ivory); /* tekst op donkere secties     */

  --accent: var(--c-rose-gold); /* primair accent — spaarzaam   */
  --accent-warm: var(--c-mauve); /* warm accent (hover/detail)   */
  --accent-gold: var(--c-champagne-gold);

  --border-soft: color-mix(in srgb, var(--c-taupe) 28%, transparent);
  --border-gold: color-mix(in srgb, var(--c-champagne-gold) 60%, transparent);

  /* ---- 1c · KNOPPEN (3 niveaus uit "gebruik op website") ---- */
  --btn-primary-bg: var(--c-rose-gold);
  --btn-primary-text: var(--c-ivory);
  --btn-primary-hover: var(--c-mauve);
  --btn-secondary-bg: var(--c-champagne);
  --btn-secondary-text: var(--c-leather);
  --btn-tertiary-border: var(--c-leather);
  --btn-tertiary-text: var(--c-leather);

  /* ---- 1d · TYPOGRAFIE ---- */
  --font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif; /* titels */
  --font-body: "Jost", system-ui, -apple-system, sans-serif; /* body   */

  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;

  /* fluid type-schaal (mobiel → desktop) */
  --fs-eyebrow: 0.78rem;
  --fs-small: 0.875rem;
  --fs-body: clamp(1rem, 0.96rem + 0.25vw, 1.125rem);
  --fs-lead: clamp(1.15rem, 1.02rem + 0.6vw, 1.4rem);
  --fs-h3: clamp(1.5rem, 1.25rem + 0.9vw, 2rem);
  --fs-h2: clamp(2rem, 1.55rem + 1.9vw, 3rem);
  --fs-h1: clamp(2.6rem, 1.9rem + 3.4vw, 4.6rem);

  --tracking-label: 0.28em; /* gespatieerde kleinkapitalen */
  --tracking-btn: 0.18em;
  --leading-tight: 1.12; /* koppen      */
  --leading-body: 1.7; /* lopende tekst — ruimte om te ademen */
  --measure: 62ch; /* max. leesbreedte */

  /* ---- 1e · RUIMTE (genereus = "ruimte om te ademen") ---- */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-s: 1rem;
  --space-m: 1.5rem;
  --space-l: 2.5rem;
  --space-xl: 4rem;
  --space-2xl: 6rem;
  --space-3xl: 9rem;
  --section-space: clamp(4rem, 3rem + 6vw, 9rem); /* verticale sectie-adem */

  /* ---- 1f · LAYOUT ---- */
  --wrap: 1180px; /* standaard contentbreedte */
  --wrap-narrow: 760px; /* tekstcontent / leeskolom */

  /* ---- 1g · VORM, SCHADUW, BEWEGING ---- */
  --radius-s: 4px;
  --radius-m: 8px;
  --radius-pill: 999px;
  --shadow-soft: 0 24px 60px -34px color-mix(in srgb, var(--c-leather) 42%, transparent);
  --shadow-card: 0 12px 32px -22px color-mix(in srgb, var(--c-leather) 38%, transparent);
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --dur: 0.3s;
  --dur-slow: 0.6s; /* rustige, trage overgangen */
  --focus-ring: 2px solid var(--accent-warm);
}

/* ═══════════════ 2 · RESET ═══════════════ */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
}
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
img,
svg,
picture {
  max-width: 100%;
  display: block;
  height: auto;
}
ul[role="list"] {
  list-style: none;
  padding: 0;
}
button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}

/* ═══════════════ 3 · ELEMENT-BASIS ═══════════════ */
body {
  background: var(--surface);
  color: var(--text-secondary) !important;
  font-family: var(--font-body);
  font-weight: var(--fw-light);
  font-size: var(--fs-body);
  line-height: var(--leading-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1,
h2,
h3,
h4 {
  font-family: var(--font-display);
  color: var(--text-primary) !important;
  font-weight: var(--fw-regular);
  line-height: var(--leading-tight);
  letter-spacing: 0.01em;
  text-wrap: balance;
}
h1 {
  font-size: var(--fs-h1);
}
h2 {
  font-size: var(--fs-h2);
  font-style: italic;
}
h3 {
  font-size: var(--fs-h3);
}
p {
  max-width: var(--measure);
}
p + p {
  margin-top: var(--space-s);
}
a {
  color: var(--text-primary) !important;
  text-decoration: underline;
  text-underline-offset: 0.18em;
  text-decoration-color: var(--border-soft);
  transition: color var(--dur) var(--ease);
}
a:hover {
  color: var(--accent-warm) !important;
}
strong {
  color: var(--text-primary);
  font-weight: var(--fw-regular);
}
:focus-visible {
  outline: var(--focus-ring);
  outline-offset: 3px;
  border-radius: 2px;
}

/* ═══════════════ 4 · SEMANTISCHE BOUWSTENEN ═══════════════ */

/* 4a · toegankelijkheid */
.skip-link {
  position: absolute;
  left: -999px;
  top: 0;
  z-index: 100;
  background: var(--surface-deep);
  color: var(--text-on-deep);
  padding: var(--space-2xs) var(--space-s);
  border-radius: 0 0 var(--radius-s) 0;
}
.skip-link:focus {
  left: 0;
}

/* 4b · layout-containers */
.wrap {
  width: min(100% - 2.5rem, var(--wrap));
  margin-inline: auto;
}
.wrap--narrow {
  max-width: var(--wrap-narrow);
}
.section {
  padding-block: var(--section-space);
}
.section--deep {
  background: var(--surface-deep);
  color: var(--text-on-deep);
}
.section--alt {
  background: var(--surface-alt);
}

/* verticaal ritme (vervangt losse marges) */
.stack > * + * {
  margin-top: var(--space-s);
}
.stack-l > * + * {
  margin-top: var(--space-l);
}

/* 4c · label / eyebrow — terugkerend merkelement */
.eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-regular);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--text-muted);
}
.section--deep .eyebrow {
  color: var(--c-champagne);
}
.section--deep h1,
.section--deep h2,
.section--deep h3,
.section--deep h4 {
  color: var(--text-on-deep) !important;
}

/* 4d · lead-paragraaf */
.lead {
  font-size: var(--fs-lead);
  color: var(--text-secondary);
  max-width: var(--measure);
}

/* 4e · knoppen */
.btn {
  display: inline-block;
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: var(--fw-regular);
  letter-spacing: var(--tracking-btn);
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.95em 2.3em;
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
  cursor: pointer;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease),
    border-color var(--dur) var(--ease);
}
.btn-primary {
  background: var(--btn-primary-bg) !important;
  color: var(--btn-primary-text) !important;
}
.btn-primary:hover {
  background: var(--btn-primary-hover) !important;
  color: var(--c-ivory) !important;
}
.btn-secondary {
  background: var(--btn-secondary-bg) !important;
  color: var(--btn-secondary-text) !important;
}
.btn-secondary:hover {
  background: color-mix(
    in srgb,
    var(--c-champagne) 70%,
    var(--c-mauve)
  ) !important;
}
.btn-tertiary {
  background: transparent !important;
  color: var(--btn-tertiary-text) !important;
  border-color: var(--btn-tertiary-border);
}
.btn-tertiary:hover {
  background: var(--c-leather) !important;
  color: var(--c-ivory) !important;
}

/* 4f · cluster (knoppen/links naast elkaar) */
.cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-s);
  align-items: center;
}

/* ═══════════════ DOC-ONLY (alleen voor deze referentiepagina) ═══════════════ */
.doc-head {
  background: var(--surface-deep);
  color: var(--text-on-deep);
  text-align: center;
  padding-block: var(--space-2xl);
}
.doc-head h1 {
  color: var(--text-on-deep) !important;
  margin-block: var(--space-2xs) var(--space-s);
}
.doc-head p {
  margin-inline: auto;
  color: color-mix(in srgb, var(--c-ivory) 78%, transparent);
}
.ref {
  border-bottom: 1px solid var(--border-soft);
}
.ref-head {
  margin-bottom: var(--space-l);
}
.ref-head h2 {
  margin-top: var(--space-2xs);
}
.demo {
  background: var(--surface-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-m);
  padding: var(--space-l);
  box-shadow: var(--shadow-card);
}
.skeleton {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  line-height: 2;
  color: var(--text-secondary);
  background: var(--surface-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-m);
  padding: var(--space-l);
  overflow-x: auto;
}
.skeleton .tag {
  color: var(--accent-warm);
}
.skeleton .ind {
  color: var(--text-subtle);
}
.note {
  font-size: var(--fs-small);
  color: var(--text-muted);
  margin-top: var(--space-s);
}
.card {
  background: var(--surface-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-m);
  padding: var(--space-l);
  max-width: 380px;
}
.card h3 {
  font-style: italic;
  margin-bottom: var(--space-2xs);
}
.card .for-whom {
  color: var(--text-muted);
  font-size: var(--fs-small);
  margin-top: var(--space-s);
}

html {
  font-size: 15px !important;
}

header div.header.full-width div.wrapper img.logo {
  height: 105px !important;
}

@media only screen and (min-width: 992px) {


.container {
    width: 100%;
    max-width: 1600px;
  }

header .container {
  width: 100%;
  max-width: 1600px;
}

.header__home .wrap {
width: 100%;
max-width: none;
}

.header__home .container {
  width: 100%;
  max-width: 1500px;
}

  header > div.wrapper {
    height: auto;
  }
  header > div.wrapper {
    min-height: 0;
  }
  header div.header div.holder {
    height: auto;
  }
}

p:empty {
  display: none;
}

/* HERGEBRUIKBAAR — foto-plaatshouder (1x toevoegen) */
.ph {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-m);
  border: 1px solid var(--border-gold);
  background: radial-gradient(120% 120% at 30% 20%, #fff 0%, transparent 55%),
    linear-gradient(
      140deg,
      var(--c-champagne) 0%,
      var(--c-ivory) 55%,
      var(--c-rose-gold) 140%
    );
  display: grid;
  place-items: center;
  text-align: center;
}
.ph__label {
  font-family: var(--font-body);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: color-mix(in srgb, var(--c-leather) 62%, transparent);
  padding: var(--space-l);
}

/* SECTIE 1 — HERO */
.nmr-hero {
  padding-block: var(--space-xl) var(--space-2xl);
}
.nmr-hero__eyebrow {
  margin-bottom: var(--space-m);
}
.nmr-hero__media {
  position: relative;
  margin-bottom: clamp(4rem, 3rem + 4vw, 7rem);
}
.nmr-hero__main {
  width: 100%;
  aspect-ratio: 16/8.2;
  object-fit: cover;
  border-radius: var(--radius-m);
}
.nmr-hero__accent {
  position: absolute;
  right: 0;
  bottom: -3.5rem;
  width: 30%;
  min-width: 200px;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: var(--radius-m);
  box-shadow: var(--shadow-soft);
}
.nmr-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(2rem, 1rem + 5vw, 6rem);
  align-items: end;
}
.nmr-hero__title {
  margin-bottom: var(--space-s);
}
.nmr-hero__title em {
  font-style: italic;
  color: var(--accent-warm);
}
.nmr-hero__intro .cluster {
  margin-top: var(--space-l);
}
@media (max-width: 860px) {
  .nmr-hero__accent {
    width: 42%;
    bottom: -2.5rem;
  }
  .nmr-hero__grid {
    grid-template-columns: 1fr;
    gap: var(--space-l);
    align-items: start;
  }
}

/* SECTIE 2 — ESSENTIE */
.nmr-essence {
  padding-block: var(--section-space);
}
.nmr-essence__grid {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: clamp(2rem, 1rem + 5vw, 5.5rem);
  align-items: center;
}
.nmr-essence__img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  border-radius: var(--radius-m);
  box-shadow: var(--shadow-card);
}
.nmr-essence__content .eyebrow {
  margin-bottom: var(--space-m);
}
.nmr-essence__content h2 {
  margin-bottom: var(--space-m);
}
.nmr-essence__content .lead {
  margin-bottom: var(--space-xl);
}
.nmr-pillars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-l);
}
.nmr-pillar__icon {
  width: 30px;
  height: 30px;
  color: var(--accent-warm);
  stroke-width: 1;
  stroke-linecap: round;
  stroke-linejoin: round;
  margin-bottom: var(--space-s);
}
.nmr-pillar h3 {
  font-size: 1.3rem;
  font-style: normal;
  margin-bottom: var(--space-2xs);
}
.nmr-pillar p {
  font-size: var(--fs-small);
  color: var(--text-secondary);
}
.nmr-essence__links {
  margin-top: var(--space-xl);
  gap: var(--space-l);
}
.nmr-link {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--text-primary);
}
.nmr-link--underline {
  padding-bottom: 0.4em;
  border-bottom: 1px solid var(--accent);
}
.nmr-link:hover {
  color: var(--accent-warm);
}
@media (max-width: 820px) {
  .nmr-essence__grid {
    grid-template-columns: 1fr;
    gap: var(--space-l);
  }
  .nmr-pillars {
    grid-template-columns: 1fr;
  }
}

/* SECTIE 3 — RITUELEN */
.nmr-rituals {
  background: var(--surface-alt);
  padding-block: var(--section-space);
}
.nmr-rituals__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--space-l);
  margin-bottom: var(--space-2xl);
  flex-wrap: wrap;
}
.nmr-rituals__intro {
  max-width: var(--wrap-narrow);
}
.nmr-rituals__intro .eyebrow {
  margin-bottom: var(--space-m);
}
.nmr-rituals__intro h2 {
  margin-bottom: var(--space-m);
}
.nmr-rituals__head .btn {
  flex-shrink: 0;
}

.nmr-rituals__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-l);
}
.nmr-card {
  background: var(--surface-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-m);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-card);
  transition: transform var(--dur-slow) var(--ease),
    box-shadow var(--dur-slow) var(--ease);
}
.nmr-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-soft);
}
.nmr-card__img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.nmr-card__body {
  padding: var(--space-l);
  display: flex;
  flex-direction: column;
  flex: 1;
}
.nmr-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  font-family: var(--font-body);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent-warm);
  margin-bottom: var(--space-s);
}
.nmr-card__tags span + span::before {
  content: "·";
  margin-right: 0.5em;
  color: var(--text-subtle);
}
.nmr-card h3 {
  font-size: var(--fs-h3);
  font-style: italic;
  margin-bottom: var(--space-xs);
}
.nmr-card p {
  font-size: var(--fs-small);
  color: var(--text-secondary);
  margin-bottom: var(--space-m);
}
.nmr-card__link {
  margin-top: auto;
  font-family: var(--font-body);
  font-size: var(--fs-small);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--text-primary);
}
.nmr-card__link:hover {
  color: var(--accent-warm);
}
.nmr-card__link span {
  transition: margin var(--dur) var(--ease);
  display: inline-block;
}
.nmr-card:hover .nmr-card__link span {
  margin-left: 0.3em;
}

@media (max-width: 900px) {
  .nmr-rituals__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 560px) {
  .nmr-rituals__grid {
    grid-template-columns: 1fr;
  }
}

/* SECTIE 4 — PRODUCTEN */
.nmr-products {
  padding-block: var(--section-space);
}
.nmr-products__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 1rem + 5vw, 5.5rem);
  align-items: center;
}
.nmr-products__img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: var(--radius-m);
  box-shadow: var(--shadow-card);
}
.nmr-products__content .eyebrow {
  margin-bottom: var(--space-m);
}
.nmr-products__content h2 {
  margin-bottom: var(--space-m);
}
.nmr-products__content .lead {
  margin-bottom: var(--space-xl);
}
.nmr-products__links {
  gap: var(--space-l);
}
@media (max-width: 820px) {
  .nmr-products__grid {
    grid-template-columns: 1fr;
    gap: var(--space-l);
  }
}

/* SECTIE 5 — CTA (afsluiter) */
.nmr-cta {
  background: var(--surface-deep);
  color: var(--text-on-deep);
  padding-block: var(--section-space);
}
.nmr-cta__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-xl);
  flex-wrap: wrap;
}
.nmr-cta__text {
  max-width: 48ch;
}
.nmr-cta .eyebrow {
  color: var(--c-champagne);
  margin-bottom: var(--space-m);
}
.nmr-cta h2 {
  color: var(--text-on-deep);
  margin-bottom: var(--space-s);
}
.nmr-cta .lead {
  color: color-mix(in srgb, var(--c-ivory) 82%, transparent);
}
.nmr-cta__actions {
  flex-shrink: 0;
}
@media (max-width: 720px) {
  .nmr-cta__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-l);
  }
}





/* ╔══════════════════════════════════════════════════════════════╗
   ║  HOUSE OF NAMUR — EXTRA CSS RONDE 1                            ║
   ║  Toevoegen ONDER je bestaande namur-website.css                ║
   ╚══════════════════════════════════════════════════════════════╝ */

/* Rituelen-overzicht: zelfde kaarten als homepage, maar als hele
   pagina (geen champagne-achtergrond, geen extra kop-marge). */
.nmr-rituals--page{background:transparent;padding-top:0;}

/* ─────────── RITUEEL-DETAIL: HERO ─────────── */
.nmr-ritual-hero{padding-block:var(--space-xl) var(--section-space);}
.nmr-ritual-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,1rem + 5vw,5.5rem);align-items:center;}
.nmr-ritual-hero__text .eyebrow{margin-bottom:var(--space-m);}
.nmr-ritual-hero__text h1{margin-bottom:var(--space-m);}
.nmr-ritual-hero__text .lead{margin-bottom:var(--space-l);}
.nmr-ritual-hero__meta{display:flex;gap:var(--space-xl);margin-bottom:var(--space-l);}
.nmr-ritual-hero__meta .eyebrow{display:block;margin-bottom:var(--space-3xs);}
.nmr-ritual-hero__meta p{font-family:var(--font-display);font-size:var(--fs-h3);
  color:var(--text-primary);line-height:1;}
.nmr-ritual-hero__img{width:100%;aspect-ratio:4/5;object-fit:cover;
  border-radius:var(--radius-m);box-shadow:var(--shadow-card);}
@media (max-width:820px){
  .nmr-ritual-hero__grid{grid-template-columns:1fr;gap:var(--space-l);}
  .nmr-ritual-hero__img{order:-1;}
}

/* ─────────── RITUEEL-DETAIL: BEHANDELING (champagne) ─────────── */
.nmr-ritual-body{background:var(--surface-alt);padding-block:var(--section-space);}
.nmr-ritual-body .eyebrow{margin-bottom:var(--space-m);}
.nmr-ritual-body h2{margin-bottom:var(--space-m);}

/* ─────────── RITUEEL-DETAIL: WAT JE KRIJGT / VOOR WIE ─────────── */
.nmr-ritual-details{padding-block:var(--section-space);}
.nmr-ritual-details__grid{display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2rem,1rem + 5vw,5rem);align-items:start;}
.nmr-ritual-details__col .eyebrow{display:block;margin-bottom:var(--space-m);}
.nmr-ticklist{display:flex;flex-direction:column;gap:var(--space-s);}
.nmr-ticklist li{position:relative;padding-left:1.8em;font-size:var(--fs-body);
  color:var(--text-secondary);}
.nmr-ticklist li::before{content:"";position:absolute;left:0;top:.55em;
  width:8px;height:8px;border-radius:var(--radius-pill);background:var(--accent);}
.nmr-ritual-details__col .cluster{margin-top:var(--space-l);}
@media (max-width:680px){.nmr-ritual-details__grid{grid-template-columns:1fr;gap:var(--space-xl);}}


.ritueel-uitleg {
  background: var(--surface-alt);
}


/*contact*/

/* ╔══════════════════════════════════════════════════════════════════════╗
   ║  HOUSE OF NAMUR — CSS: AFSPRAAK EN CONTACT (theme-output)              ║
   ║                                                                        ║
   ║  Deze pagina komt uit de theme; we passen alleen de opmaak aan.        ║
   ║  Alles is gescoped onder .contact zodat het de rest niet raakt.        ║
   ║  De theme-grid (col-md-*) blijft intact. De Google Maps-binnenkant     ║
   ║  laten we met rust; alleen het kaartvenster krijgt hoogte + ronding.   ║
   ║  Toevoegen ONDER je bestaande CSS-bestanden.                           ║
   ╚══════════════════════════════════════════════════════════════════════╝ */

/* ─────────── SECTIE-BASIS ─────────── */
.contact{background:var(--surface);padding-block:var(--space-xl) var(--section-space);}
.contact .container{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto;}

/* neutraliseer de globale .wrap binnen deze theme-pagina */
.contact .wrap{width:auto;max-width:none;margin:0;}

/* ─────────── PAGINAKOP ─────────── */
.contact .page-header{border:0;margin:0 0 var(--space-2xl);padding:0;}
.contact .page-header h1{color:var(--text-primary);margin:0;}

/* ─────────── SALONFOTO + ADRESREGEL (bovenste rij) ─────────── */
.contact .col-md-32 > .row{margin-bottom:var(--space-2xl);align-items:center;}
.contact .col-md-32 img{width:100%;height:auto;border-radius:var(--radius-m);
  box-shadow:var(--shadow-card);}
.contact .col-md-pull-24{font-size:var(--fs-lead);line-height:var(--leading-body);
  color:var(--text-secondary);}

/* ─────────── INHOUDSKOPPEN (Afspraak maken / Contact) ─────────── */
.contact .holder{margin-top:var(--space-l);}
.contact .holder h4{font-family:var(--font-display);font-style:italic;
  font-size:var(--fs-h3);color:var(--text-primary);margin-bottom:var(--space-s);
  font-weight:var(--fw-regular);}
.contact .holder p{color:var(--text-secondary);}
.contact .holder p + p{margin-top:var(--space-2xs);}
.contact .holder .col-sm-24{margin-bottom:var(--space-l);}

/* ─────────── CTA-BLOK "Maak online een afspraak" ─────────── */
.contact__footer{background:var(--surface-alt);border-radius:var(--radius-m);
  padding:var(--space-l);margin-block:var(--space-l);text-align:center;}
.contact__footer h4{font-family:var(--font-display);font-style:italic;
  font-size:var(--fs-h3);color:var(--text-primary);margin-bottom:var(--space-s);
  font-weight:var(--fw-regular);}
.contact__footer h4 em{color:var(--accent-warm);}
.contact__footer h4 .fas,.contact__footer h4 i{display:block;color:var(--accent);
  font-size:1.4rem;margin-bottom:var(--space-2xs);font-style:normal;}
.contact__footer p{color:var(--text-secondary);margin-bottom:var(--space-m);
  max-width:46ch;margin-inline:auto;}

/* knop uit de theme (.btn-white) in Namur-stijl */
.contact .btn-white{display:inline-block;font-family:var(--font-body);
  font-size:var(--fs-small);font-weight:var(--fw-regular);letter-spacing:var(--tracking-btn);
  text-transform:uppercase;text-decoration:none;padding:0.95em 2.3em;
  border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;
  background:var(--btn-primary-bg) !important;color:var(--btn-primary-text) !important;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease);}
.contact .btn-white:hover{background:var(--btn-primary-hover) !important;
  color:var(--c-ivory) !important;}

/* ─────────── ASIDE: BLOKKEN (kaart / gegevens / openingstijden) ─────────── */
.contact aside .block{padding-top:var(--space-l);margin-top:var(--space-l);
  border-top:1px solid var(--border-soft);}
.contact aside .block:first-child{padding-top:0;margin-top:0;border-top:0;}
.contact aside .head > h4{font-family:var(--font-body);font-size:var(--fs-eyebrow);
  font-weight:var(--fw-regular);letter-spacing:var(--tracking-label);
  text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-m);}

/* kaartvenster: hoogte + ronding, binnenkant van Google Maps laten we met rust */
.contact .googlemap .map,.contact .map.js-map{height:320px;width:100%;
  border-radius:var(--radius-m);overflow:hidden;border:1px solid var(--border-soft);}

/* contactgegevens */
.contact .list-unstyled{list-style:none;padding:0;margin:0;
  font-size:var(--fs-body);line-height:1.9;color:var(--text-secondary);}
.contact .list-unstyled li strong{color:var(--text-primary);
  font-family:var(--font-display);font-style:italic;font-size:1.25rem;
  font-weight:var(--fw-regular);}
.contact .list-unstyled a{color:var(--text-secondary);text-decoration:none;}
.contact .list-unstyled a:hover{color:var(--accent-warm);}

/* openingstijden-tabel */
.contact .opening_hours{width:100%;border-collapse:collapse;font-size:var(--fs-small);}
.contact .opening_hours td{padding:var(--space-2xs) 0;
  border-bottom:1px solid var(--border-soft);color:var(--text-secondary);}
.contact .opening_hours tr:last-child td{border-bottom:0;}
.contact .opening_hours td:first-child{color:var(--text-primary);}
.contact .opening_hours td:last-child{text-align:right;
  font-variant-numeric:tabular-nums;}

/* ─────────── RESPONSIVE PUNTJES ─────────── */
@media (max-width:768px){
  .contact .col-md-32 > .row{margin-bottom:var(--space-l);}
  .contact aside{margin-top:var(--space-xl);}
}
.shop_uspbar {
  background: rgba(255, 255, 255, .5) !important;
}


/* ╔══════════════════════════════════════════════════════════════════════╗
   ║  HOUSE OF NAMUR — CSS: RECENSIES (theme-output)  [GECORRIGEERD]        ║
   ║                                                                        ║
   ║  Theme-pagina; alleen opmaak, niet de HTML.                            ║
   ║  Gescoped onder .archive.reviews.                                      ║
   ║  Vervangt de vorige versie volledig.                                   ║
   ╚══════════════════════════════════════════════════════════════════════╝ */

/* ─────────── SECTIE-BASIS ─────────── */
.archive.reviews{background:var(--surface);padding-block:var(--space-xl) var(--section-space);}
.archive.reviews .container{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto;}
.archive.reviews .wrap{width:auto;max-width:none;margin:0;}

/* ─────────── TERUG-KNOP / BREADCRUMB ─────────── */
.archive.reviews .breadcrumbs{margin-bottom:var(--space-l);}
.archive.reviews .back-button{background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--font-body);font-size:var(--fs-small);letter-spacing:.12em;
  text-transform:uppercase;color:var(--text-muted);
  display:inline-flex;align-items:center;gap:.5em;transition:color var(--dur) var(--ease);}
.archive.reviews .back-button:hover{color:var(--accent-warm);}

/* ─────────── PAGINAKOP + INTRO ─────────── */
.archive.reviews .page-header{border:0;padding:0;margin:0 0 var(--space-2xl);
  max-width:var(--wrap-narrow);}
.archive.reviews .page-header h1{color:var(--text-primary);margin-bottom:var(--space-l);}
.archive.reviews .page-header p{color:var(--text-secondary);font-size:var(--fs-lead);
  line-height:var(--leading-body);}
.archive.reviews .devider{border:0;border-top:1px solid var(--border-soft);margin:var(--space-m) 0;}
.archive.reviews .page-header .ninja-forms-noscript-message{color:var(--text-muted);font-size:var(--fs-small);}

/* ─────────── HET RASTER ───────────
   Structuur in de theme:
   .reviews > .row > .col-xs-48 (= 1 recensie) > .row > .col-xs-48 > .review
   Het grid moet dus op de BUITENSTE .reviews > .row, met de losse
   .col-xs-48 daarin als kolommen. */
.archive.reviews .reviews > .row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-l);
  align-items:stretch;
}
@media (max-width:768px){
  .archive.reviews .reviews > .row{grid-template-columns:1fr;}
}

/* alle tussenliggende theme-wrappers platmaken, zodat grid + hoogte werken */
.archive.reviews .reviews > .row > .col-xs-48,
.archive.reviews .reviews .col-xs-48 > .row,
.archive.reviews .reviews .col-xs-48 > .row > .col-xs-48{
  width:auto;max-width:none;padding:0;margin:0;float:none;height:100%;
}

/* ─────────── DE KAART ─────────── */
.archive.reviews .review{
  height:100%;
  background:var(--surface-card);border:1px solid var(--border-soft);
  border-radius:var(--radius-m);box-shadow:var(--shadow-card);
  padding:var(--space-l);
  display:flex;flex-direction:column;
  transition:transform var(--dur-slow) var(--ease),box-shadow var(--dur-slow) var(--ease);
}
.archive.reviews .review:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}

/* binnen de kaart: sterren boven, tekst eronder */
.archive.reviews .review > .row{display:block;}
.archive.reviews .review .col-sm-12,
.archive.reviews .review .col-sm-36{width:auto;max-width:none;padding:0;float:none;}

/* sterren */
.archive.reviews .review .col-sm-12{margin-bottom:var(--space-s);}
.archive.reviews .review img{width:130px;height:auto;}

/* titel */
.archive.reviews .review h4{font-family:var(--font-display);font-style:italic;
  font-size:var(--fs-h3);color:var(--text-primary);font-weight:var(--fw-regular);
  margin-bottom:var(--space-s);line-height:var(--leading-tight);}

/* tekst (soms <p>, soms geneste <div>'s) */
.archive.reviews .review p,
.archive.reviews .review .col-sm-36 > div:not(.blockquote){
  color:var(--text-secondary);font-size:var(--fs-body);line-height:var(--leading-body);}

/* naam onderaan, tegen de onderkant van de kaart */
.archive.reviews .review .blockquote{margin:auto 0 0;padding:var(--space-m) 0 0;border:0;}
.archive.reviews .review .blockquote-footer{font-family:var(--font-body);font-size:var(--fs-small);
  letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);}
.archive.reviews .review .blockquote-footer cite{font-style:normal;color:var(--accent-warm);}




body.archive .col-xs-48 .row::before {
display: none;
}

body.archive .col-xs-48 .row::after {
display: none;
}

footer, .footer-cta.center::after, .author {
  background: var(--btn-secondary-bg) !important;
}

footer {
  color: var(--c-leather);
}

.opening_hours {
  color: var(--text-primary);
}

footer div.column > h4, footer section.treatments div.items div.item a div.column > span, section.treatments div.items div.item a footer div.column > span {
  border-bottom: 1px solid #e6e6e6;
  color: var(--accent-warm) !important;
  margin-bottom: 15px;
  padding-bottom: 15px;
}

header nav.navbar-default ul.navbar-nav .active > a:focus, header nav.navbar-default ul.navbar-nav .active > a:hover, header nav.navbar-default ul.navbar-nav .active > a:visited {
  background: none;
  color: var(--c-leather) !important;
}

header div.navbar-collapse ul li a {
  color: var(--c-leather) !important;
}

.navbar-default .navbar-nav .open .dropdown-menu > li > a {
  text-align: center;
}

/* ─────────── JAPANDI FOOTER VERFIJNING (toegevoegd) ─────────── */
/* Rustige, gebalanceerde footer: ademruimte (ma), nette uitlijning,
   haarlijn-scheidingen en consistente kopjes. Kleuren/lettertypes
   blijven uit het bestaande design-systeem. */

/* Gebalanceerde verticale ademruimte: ruimte boven en rondom de
   kolommen, maar de socket (copyright) sluit netjes onderaan aan */
footer.footer-cta-inside {
  padding-top: var(--space-2xl);
  padding-bottom: 0;
}
footer.footer-cta-inside > .container {
  padding-bottom: var(--space-2xl);
}

/* Kolommen netjes naast elkaar en bovenaan uitgelijnd */
footer.footer-cta-inside > .container > .row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--space-xl) var(--space-l);
}
footer.footer-cta-inside > .container > .row > .col-sm-16 {
  float: none;
  width: auto;
  flex: 1 1 240px;
  max-width: none;
}

/* CTA-blok links: niet langer gecentreerd/zwevend, maar rustig links
   uitgelijnd zoals de andere kolommen, zonder eigen kader */
footer.footer-cta-inside .contact__footer {
  background: transparent;
  border-radius: 0;
  padding: 0;
  margin-block: 0;
  text-align: left;
}
footer.footer-cta-inside .contact__footer p {
  margin-inline: 0;
  max-width: 42ch;
}
footer.footer-cta-inside .contact__footer h4 .fas,
footer.footer-cta-inside .contact__footer h4 i {
  display: inline-block;
  margin: 0 0.5em 0 0;
  vertical-align: baseline;
  font-size: 1em;
}
footer.footer-cta-inside .contact__footer h4 br {
  display: none;
}

/* Consistente, fijne kopjes met haarlijn en wat letterspatiëring */
footer.footer-cta-inside .column > h4 {
  font-family: var(--font-body);
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-regular);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--text-muted) !important;
  border-bottom: 1px solid var(--border-soft) !important;
  padding-bottom: var(--space-s);
  margin-bottom: var(--space-m);
}

/* Rustige regelhoogte voor contact & openingstijden (ma) */
footer.footer-cta-inside .list-unstyled,
footer.footer-cta-inside .opening_hours {
  line-height: 2;
}

/* Zachtere overgang van de donkere reserveer-sectie naar het footervlak */
footer.footer-cta-inside {
  border-top: 1px solid var(--border-soft);
}


/* ─────────── SOCKET LOGO: NetBeauty-logo achter de tekst (desktop) ─────────── */
/* In de bron staat de tekst al vóór het logo binnen dezelfde link.
   Het logo stond op een eigen regel (display:block); we zetten het op
   desktop inline, netjes achter "Websites voor schoonheidssalons". */
@media (min-width: 768px) {
  footer.footer-cta-inside .socket .col-md-18.right a {
    display: inline-flex;
    align-items: center;
    gap: 0.7em;
  }
  footer.footer-cta-inside .socket .col-md-18.right a img {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
  }
}

/* ===== MENU DROPDOWN LEESBAARHEID ===== */
/* Dropdown-items hadden lichte champagnetekst op wit -> onleesbaar.
   Hoge specificiteit nodig om de bestaande header-regels te overrulen. */
.dropdown-menu {
  background-color: #fff;
  border: 1px solid var(--border-soft, rgba(167,139,142,0.28));
  box-shadow: 0 6px 18px rgba(84, 60, 54, 0.12);
}
header div.navbar-collapse ul li ul.dropdown-menu li a {
  color: var(--c-leather, #543c36) !important;
}
header div.navbar-collapse ul li ul.dropdown-menu li a:hover,
header div.navbar-collapse ul li ul.dropdown-menu li a:focus {
  color: var(--c-leather, #543c36) !important;
  background-color: var(--c-champagne, #ead7c6) !important;
}

/* ===== TOPBAR UITLIJNING ===== */
.topbar .container {
  max-width: var(--wrap, 1180px);
  margin-left: auto;
  margin-right: auto;
}
.topbar__cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px 24px;
}
.topbar__cta > div {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 575px) {
  .topbar__cta {
    justify-content: center;
    text-align: center;
  }
}

/* ===== OVER ONS CTA – matcht homepage CTA (donkere leather achtergrond) ===== */
body.over-ons section.intro.text.block4 {
  background-color: var(--surface-deep, #543c36) !important;
}
body.over-ons section.intro.text.block4 .section.cta {
  color: var(--text-on-deep, #f3efe9) !important;
}
body.over-ons section.intro.text.block4 .section.cta .eyebrow {
  color: var(--c-champagne, #ead7c6) !important;
}
body.over-ons section.intro.text.block4 .section.cta h1,
body.over-ons section.intro.text.block4 .section.cta h2,
body.over-ons section.intro.text.block4 .section.cta h3 {
  color: #fff !important;
}
body.over-ons section.intro.text.block4 .section.cta p {
  color: var(--text-on-deep, #f3efe9) !important;
}
body.over-ons section.intro.text.block4 .section.cta .btn {
  margin-top: 28px;
}

/* Afspraak/contact: gelijke hoogte van de twee linkerkaarten, gat onderaan wegwerken */
body.afspraak-en-contact .col-md-32 .holder > .row{display:flex;flex-wrap:wrap;align-items:stretch}
body.afspraak-en-contact .col-md-32 .holder > .row > [class*="col-sm-24"]{float:none;display:flex}
body.afspraak-en-contact .col-md-32 .holder > .row > [class*="col-sm-24"] > .wrap{width:100%}

/* Rituelen: gecentreerd tekstblok in de gekleurde middensectie (zoals op Over Ons) */
.nmr-ritual-body{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}
.nmr-ritual-body .wrap--narrow{margin-left:auto;margin-right:auto}
.nmr-ritual-body .wrap--narrow > *:last-child{margin-bottom:0}
.nmr-ritual-body .wrap--narrow > *{margin-left:auto;margin-right:auto}
