/* Move With Meaning — componentlaag.
   Tokens komen uit theme.json; hier staat alleen wat de blokkeneditor zelf niet uitdrukt. */

:root {
  --mws-radius-button: 2px;
  --mws-radius-card: 6px;
  --mws-radius-input: 4px;
  --mws-shadow-card: 0 2px 12px rgba(29, 27, 41, 0.06);
  --mws-shadow-lift: 0 6px 24px rgba(29, 27, 41, 0.12);
  --mws-shadow-image: 0 4px 20px rgba(29, 27, 41, 0.15);
}

/* Neutraliseer browser-standaarden zonder componentregels te overstemmen. */
:where(figure) { margin: 0; }
:where(img) { max-width: 100%; height: auto; }

/* ---------- Typografie ---------- */

.mws-kicker {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 500;
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  margin: 0 0 0.75rem;
  line-height: 1.4;
}

.mws-h-light { font-weight: 300; }
.mws-h-light strong { font-weight: 700; }

.mws-subhead {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.3;
  color: var(--wp--preset--color--ink);
  margin: 0.5rem 0 0;
}

.mws-lead { max-width: 34em; }
.mws-measure { max-width: 36em; }

/* Tekstkolommen staan in een groep met flow-layout, zodat ze links uitlijnen
   met de rest van de sectie in plaats van gecentreerd te worden. */
.mws-textcol { width: 100%; }

.mws-note {
  font-family: var(--wp--preset--font-family--display);
  font-size: 0.6875rem;
  letter-spacing: 0.03em;
  line-height: 1.5;
  color: #C26B3C;
}

.mws-linkarrow {
  font-family: var(--wp--preset--font-family--display);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  display: inline-block;
}
.mws-linkarrow:hover,
.mws-linkarrow:focus-visible { text-decoration: underline; }

/* ---------- Knopvarianten ---------- */

.wp-block-button.is-style-secondary .wp-block-button__link {
  background: transparent;
  color: var(--wp--preset--color--ink);
  box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--ink);
}
.wp-block-button.is-style-secondary .wp-block-button__link:hover,
.wp-block-button.is-style-secondary .wp-block-button__link:focus-visible {
  background: var(--wp--preset--color--ink);
  color: var(--wp--preset--color--bg);
}
.wp-block-button.is-style-violet .wp-block-button__link {
  background: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--ink);
}
.wp-block-button.is-style-violet .wp-block-button__link:hover,
.wp-block-button.is-style-violet .wp-block-button__link:focus-visible {
  background: #B9B9DC;
  color: var(--wp--preset--color--ink);
}

/* ---------- Kaarten ---------- */

.mws-card {
  background: var(--wp--preset--color--bg);
  border: 1px solid var(--wp--preset--color--hairline);
  border-radius: var(--mws-radius-card);
  box-shadow: var(--mws-shadow-card);
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.mws-card:hover { box-shadow: var(--mws-shadow-lift); transform: translateY(-2px); }
.mws-card > .wp-block-image { margin-bottom: 0; }
.mws-card > .wp-block-image img { border-radius: 0; display: block; }

.mws-card-body { padding: 1.25rem 1.375rem 1.5rem; }
.mws-card-title {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  font-size: 1rem;
  text-transform: uppercase;
  line-height: 1.25;
  color: var(--wp--preset--color--ink);
  margin: 0 0 0.5rem;
}
.mws-card-title.is-plain { text-transform: none; font-size: 1.0625rem; }

.mws-tag {
  display: inline-block;
  background: var(--wp--preset--color--surface);
  color: var(--wp--preset--color--muted);
  font-family: var(--wp--preset--font-family--display);
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.25rem 0.625rem;
  border-radius: var(--mws-radius-input);
  line-height: 1.6;
}

/* ---------- Beeld en uitsnede ---------- */

.mws-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--mws-radius-card);
  box-shadow: var(--mws-shadow-image);
  display: block;
}
.mws-card .mws-media img { border-radius: 0; box-shadow: none; }
.mws-cover img { max-width: 220px; height: auto; object-fit: contain; }

.is-focal-top img     { object-position: center 15%; }
.is-focal-upper img   { object-position: center 25%; }
.is-focal-face img    { object-position: center 30%; }
.is-focal-center img  { object-position: center 50%; }
.is-focal-lower img   { object-position: center 70%; }

/* ---------- Swirl ---------- */

.mws-swirl {
  position: absolute;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}
.mws-swirl img { box-shadow: none; border-radius: 0; }
.mws-has-swirl { position: relative; overflow: hidden; }
.mws-has-swirl > *:not(.mws-swirl) { position: relative; z-index: 1; }

.mws-swirl.is-top-right    { top: -3rem; right: -2rem; width: min(280px, 40vw); }
.mws-swirl.is-top-left     { top: -3rem; left: -3rem;  width: min(220px, 34vw); }
.mws-swirl.is-bottom-right { bottom: -3rem; right: -2.5rem; width: min(220px, 34vw); }

/* ---------- Donkere secties ---------- */

.mws-dark { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--bg); }
.mws-dark :where(h1, h2, h3, h4, h5, h6) { color: var(--wp--preset--color--bg); }
.mws-dark .mws-kicker { color: var(--wp--preset--color--accent); }
.mws-dark :where(p) { color: rgba(255, 255, 255, 0.88); }

.mws-statement {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 300;
  font-size: clamp(1.1875rem, 2.4vw, 1.5rem);
  line-height: 1.45;
  max-width: 22em;
  margin: 0;
}
.mws-statement strong { font-weight: 700; }

.mws-testi { border-radius: var(--mws-radius-card); padding: clamp(1.5rem, 4vw, 2.25rem); }
.mws-testi .mws-stars { color: var(--wp--preset--color--accent); letter-spacing: 0.15em; font-size: 0.875rem; }
.mws-testi blockquote,
.mws-testi .mws-quote {
  font-size: clamp(1.0625rem, 2vw, 1.1875rem);
  line-height: 1.65;
  margin: 0.75rem 0 1rem;
  border: 0;
  padding: 0;
}
.mws-testi .mws-who {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  color: var(--wp--preset--color--accent);
}

/* ---------- Logostrip en mediategels ---------- */

.mws-logostrip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.5rem 2rem;
}
.mws-logostrip .wp-block-image { margin: 0; }
.mws-logostrip img {
  width: 110px;
  height: 40px;
  object-fit: contain;
  box-shadow: none;
  border-radius: 0;
}

/* Doorlopende logocarrousel (Vertrouwd door) */
.mws-marquee {
  display: flex;
  overflow: hidden;
  width: 100%;
  -webkit-mask-image: linear-gradient(90deg, transparent, #1D1B29 8%, #1D1B29 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #1D1B29 8%, #1D1B29 92%, transparent);
}
.mws-marquee-track {
  display: flex;
  align-items: center;
  gap: 3.5rem;
  flex-shrink: 0;
  min-width: 100%;
  justify-content: space-around;
  padding-right: 3.5rem;
  animation: mws-logoscroll 55s linear infinite;
}
.mws-marquee img {
  width: 110px;
  height: 40px;
  object-fit: contain;
  box-shadow: none;
  border-radius: 0;
}
.mws-marquee:hover .mws-marquee-track { animation-play-state: paused; }
@keyframes mws-logoscroll {
  to { transform: translateX(calc(-100% - 3.5rem)); }
}
@media (prefers-reduced-motion: reduce) {
  .mws-marquee-track { animation: none; flex-wrap: wrap; justify-content: center; min-width: 0; }
  .mws-marquee-track[aria-hidden="true"] { display: none; }
  .mws-marquee { -webkit-mask-image: none; mask-image: none; }
}

/* Boek-sectie op soft violet vlak */
.mws-boek-cta .mws-kicker { color: var(--wp--preset--color--ink); opacity: .65; }
.mws-boek-cta .mws-media img { box-shadow: 0 6px 28px rgba(29, 27, 41, .22); }

/* Telefoon-frames (Te zien bij) */
.mws-phones {
  display: flex;
  gap: 2.5rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: var(--wp--preset--spacing--50);
}
.mws-phone {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  text-decoration: none;
  width: 150px;
}
.mws-phone-screen {
  position: relative;
  display: block;
  width: 150px;
  aspect-ratio: 9 / 18;
  border: 9px solid var(--wp--preset--color--ink);
  border-radius: 26px;
  overflow: hidden;
  background: var(--wp--preset--color--ink);
  box-shadow: 0 10px 32px rgba(29, 27, 41, .22);
  transition: transform .2s ease, box-shadow .2s ease;
}
.mws-phone-screen::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  width: 54px;
  height: 7px;
  border-radius: 4px;
  background: var(--wp--preset--color--ink);
  z-index: 2;
}
.mws-phone-screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  box-shadow: none;
  display: block;
}
a.mws-phone:hover .mws-phone-screen { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(29, 27, 41, .3); }
.mws-phone-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  font-size: 1.4rem;
  background: rgba(29, 27, 41, .28);
}
.mws-phone-cap {
  font-family: var(--wp--preset--font-family--display);
  font-size: .6875rem;
  font-weight: 500;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink);
}
.mws-phone-brand {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .94);
  border-radius: 5px;
  z-index: 2;
}
.mws-phone-brand img { max-height: 16px; max-width: 82%; width: auto; height: auto; object-fit: contain; box-shadow: none; border-radius: 0; }
.mws-phone-brand b {
  font-family: var(--wp--preset--font-family--display);
  font-size: .5625rem;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--wp--preset--color--ink);
}
.mws-phone-screen.is-news {
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  padding: 0;
}
.mws-news-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  margin-top: 14px;
  padding: 0 10px;
  border-bottom: 1px solid var(--wp--preset--color--hairline);
  flex-shrink: 0;
}
.mws-news-bar img { max-height: 14px; max-width: 88%; width: auto; height: auto; object-fit: contain; box-shadow: none; border-radius: 0; }
.mws-news-bar b {
  font-family: var(--wp--preset--font-family--display);
  font-size: .5625rem;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--wp--preset--color--ink);
}
.mws-news-kop {
  display: block;
  padding: 10px 11px 8px;
  font-family: var(--wp--preset--font-family--display);
  font-size: .625rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--wp--preset--color--ink);
  text-align: left;
}
.mws-phone-screen.is-news .mws-news-foto {
  width: calc(100% - 22px);
  margin: 0 11px;
  height: 84px;
  object-fit: cover;
  border-radius: 4px;
  box-shadow: none;
  flex-shrink: 0;
}
.mws-news-link {
  display: block;
  padding: 8px 11px;
  font-family: var(--wp--preset--font-family--display);
  font-size: .5625rem;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  text-align: left;
  margin-top: auto;
}

.mws-phone-screen.is-teaser {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  background: var(--wp--preset--color--surface);
  padding: 1rem .75rem;
}
.mws-teaser-label {
  font-family: var(--wp--preset--font-family--display);
  font-size: .5625rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink);
  background: var(--wp--preset--color--accent);
  padding: .2rem .5rem;
  border-radius: 4px;
}
.mws-teaser-logos { display: flex; flex-direction: column; align-items: center; gap: .625rem; }
.mws-teaser-logos img { max-width: 84px; max-height: 34px; width: auto; height: auto; object-fit: contain; box-shadow: none; border-radius: 0; }
.mws-teaser-datum {
  font-family: var(--wp--preset--font-family--display);
  font-size: .625rem;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  text-align: center;
  line-height: 1.5;
}

/* Secties naadloos laten aansluiten */
.mws-flush-top { margin-top: 0 !important; }
.mws-flush-top .mws-swirl.is-top-left { top: -160px; }

/* Aanmeldformulier compacter + Move Mail optie */
.mws-aanmeldvelden {
  display: flex;
  flex-wrap: wrap;
  gap: .875rem;
  align-items: flex-end;
  justify-content: flex-start;
  max-width: 720px;
}
.mws-aanmeldvelden .mws-veld { flex: 1 1 200px; margin: 0; }
.mws-aanmeldvelden .mws-veld-knop { flex: 0 0 auto; }
/* Move Mail — dagelijkse tips, oefeningen en inzichten */
.mws-movemail {
  margin-top: 1.125rem;
  max-width: 720px;
  background: var(--wp--preset--color--bg);
  border: 1px solid var(--wp--preset--color--hairline);
  border-radius: 6px;
  padding: 1.125rem 1.25rem;
  box-shadow: 0 2px 12px rgba(29, 27, 41, .06);
}
.mws-movemail-badge {
  display: inline-block;
  background: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--display);
  font-size: .6875rem;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .25rem .625rem;
  border-radius: 4px;
}
.mws-movemail-pitch {
  margin: .625rem 0 .75rem;
  font-size: .875rem;
  color: var(--wp--preset--color--muted);
  line-height: 1.6;
}
label.mws-optin {
  display: inline-flex;
  gap: .625rem;
  align-items: flex-start;
  font-size: .8125rem;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 500;
  color: var(--wp--preset--color--ink);
  cursor: pointer;
  max-width: 560px;
}
.mws-optin input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  margin-top: .1rem;
  accent-color: var(--wp--preset--color--ink);
  flex-shrink: 0;
}

/* Review-carrousel */
.mws-testi-carousel { position: relative; display: grid; }
.mws-testi-slide {
  grid-area: 1 / 1;
  opacity: 0;
  transition: opacity .6s ease;
  pointer-events: none;
}
.mws-testi-slide.is-active { opacity: 1; pointer-events: auto; }
.mws-testi-dots {
  grid-area: 2 / 1;
  display: flex;
  gap: .5rem;
  margin-top: 1.25rem;
}
.mws-testi-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border-radius: 50%;
  border: none;
  background: rgba(202, 202, 229, .35);
  cursor: pointer;
  transition: background .2s ease;
}
.mws-testi-dot.is-active { background: var(--wp--preset--color--accent); }
@media (prefers-reduced-motion: reduce) {
  .mws-testi-slide { transition: none; }
}

.mws-logotiles { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.mws-logotile {
  height: 52px;
  min-width: 110px;
  padding: 0 1.125rem;
  background: var(--wp--preset--color--bg);
  border: 1px solid var(--wp--preset--color--hairline);
  border-radius: var(--mws-radius-card);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: var(--mws-shadow-card);
  font-family: var(--wp--preset--font-family--display);
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  color: var(--wp--preset--color--ink);
  white-space: nowrap;
}
.mws-logotile:hover { box-shadow: var(--mws-shadow-lift); }
.mws-logotile img { max-height: 26px; max-width: 120px; object-fit: contain; box-shadow: none; }

/* ---------- Kop van de site ---------- */

.mws-header {
  border-bottom: 1px solid var(--wp--preset--color--hairline);
  background: var(--wp--preset--color--bg);
}
.mws-header .wp-block-site-logo img { height: 44px; width: auto; max-width: 100%; box-shadow: none; border-radius: 0; }
/* De knop in de kop mag nooit letter voor letter afbreken als de ruimte krap wordt. */
.mws-header .wp-block-button__link { white-space: nowrap; }
.mws-header .wp-block-navigation { flex-wrap: nowrap; }
.mws-header .wp-block-navigation .wp-block-navigation-item__content { text-decoration: none; }
.mws-header .wp-block-navigation .wp-block-navigation-item__content:hover,
.mws-header .wp-block-navigation .current-menu-item .wp-block-navigation-item__content {
  color: var(--wp--preset--color--ink);
  text-decoration: none;
}
.mws-header .wp-block-navigation .current-menu-item .wp-block-navigation-item__content { font-weight: 500; }

/* ---------- Voet ---------- */

.mws-footer-strip { background: var(--wp--preset--color--ink); color: #E7E6EE; }
.mws-footer-strip a { color: #E7E6EE; }
.mws-footer-strip a:hover { color: #fff; }
.mws-footer-strip p { color: #E7E6EE; font-size: 0.75rem; }

.mws-social { display: flex; gap: 0.625rem; align-items: center; }
.mws-social a {
  width: 30px; height: 30px;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: transform 0.15s ease, opacity 0.15s ease;
}
.mws-social a:hover { transform: translateY(-1px); opacity: 0.85; }
.mws-social svg { width: 16px; height: 16px; fill: #fff; }
.mws-social .is-instagram { background: linear-gradient(45deg, #FEDA75 0%, #D62976 55%, #4F5BD5 100%); }
.mws-social .is-linkedin  { background: #0A66C2; }
.mws-social .is-tiktok    { background: #14131C; }
.mws-social .is-youtube   { background: #FF0000; }

/* ---------- Formulieren ---------- */

.mws-form input[type="text"],
.mws-form input[type="email"],
.mws-form input[type="tel"],
.mws-form textarea,
.mws-form select {
  width: 100%;
  border: 1px solid var(--wp--preset--color--hairline);
  border-radius: var(--mws-radius-input);
  padding: 0.75rem 0.875rem;
  font-family: var(--wp--preset--font-family--body);
  font-weight: 300;
  font-size: 0.9375rem;
  color: var(--wp--preset--color--ink);
  background: var(--wp--preset--color--bg);
}
.mws-form input::placeholder,
.mws-form textarea::placeholder { color: #6B6980; opacity: 1; }
.mws-form :is(input, textarea, select):focus-visible {
  outline: 2px solid var(--wp--preset--color--ink);
  outline-offset: 1px;
}
.mws-form label {
  display: block;
  font-family: var(--wp--preset--font-family--display);
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  margin: 0 0 0.375rem;
}

/* ---------- Aanmeldformulier ---------- */

.mws-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.mws-aanmeldvelden {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-end;
  max-width: 40rem;
}
.mws-veld { flex: 1 1 12rem; margin: 0; }
.mws-veld-knop { flex: 0 0 auto; }
.mws-veld-knop button {
  font-family: var(--wp--preset--font-family--display);
  font-size: var(--wp--preset--font-size--xs);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.2;
  background: var(--wp--preset--color--ink);
  color: var(--wp--preset--color--bg);
  border: 0;
  border-radius: var(--mws-radius-button);
  padding: 1rem 1.5rem;
  cursor: pointer;
}
.mws-veld-knop button:hover,
.mws-veld-knop button:focus-visible { background: #2C2940; }

.mws-formstatus {
  font-size: 0.9375rem;
  line-height: 1.6;
  padding: 0.875rem 1rem;
  border-radius: var(--mws-radius-input);
  max-width: 40rem;
  margin: 0 0 1rem;
}
.mws-formstatus.is-ok { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--ink); }
.mws-formstatus.is-fout { background: #F6E7E0; color: #7A3B1B; }

.mws-formnote {
  font-size: 0.75rem;
  color: var(--wp--preset--color--muted);
  margin: 0.875rem 0 0;
  max-width: 40rem;
}

@media (max-width: 600px) {
  .mws-aanmeldvelden { flex-direction: column; align-items: stretch; }
  .mws-veld-knop button { width: 100%; }
}

/* ---------- Toegankelijkheid ---------- */

:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 2px solid var(--wp--preset--color--ink);
  outline-offset: 2px;
}
.mws-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--wp--preset--color--ink);
  color: #fff;
  padding: 0.75rem 1rem;
  z-index: 999;
}
.mws-skip-link:focus { left: 0; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .mws-card:hover { transform: none; }
}

/* ---------- Mobiele terugval ---------- */

@media (max-width: 781px) {
  .mws-header .wp-block-site-logo img { height: 30px; }
  .mws-header .wp-block-group { gap: 0.75rem; }
  .mws-header .wp-block-button__link { padding: 0.75rem 0.875rem; font-size: 0.625rem; letter-spacing: 0.04em; }
  .mws-swirl { width: min(180px, 45vw); }
  .mws-logostrip { gap: 1.125rem 1.5rem; }
  .mws-logostrip img { width: 88px; height: 32px; }
  .mws-statement { max-width: none; }
}


/* Aanmeldsectie: rustiger en feestelijker */
.mws-aanmeldform {
  background: #FFFFFF;
  border: 1px solid var(--wp--preset--color--hairline);
  border-left: 4px solid var(--wp--preset--color--accent);
  border-radius: 6px;
  padding: clamp(1.5rem, 3.5vw, 2.25rem);
  box-shadow: 0 12px 32px rgba(29, 27, 41, .09);
  max-width: 760px;
}
.mws-aanmeldvelden { gap: 1.25rem 1rem; max-width: none; }
.mws-aanmeldvelden .mws-veld label { display: block; margin-bottom: .375rem; font-size: .8125rem; font-weight: 500; letter-spacing: .02em; }
.mws-movemail { margin-top: 1.75rem; max-width: none; box-shadow: none; }
.mws-movemail-pitch { margin: .625rem 0 .75rem; }
.mws-aanmeldform .mws-formnote { margin-top: 1.25rem; margin-bottom: 0; opacity: .75; }


/* Boekpagina */
.mws-boek-badges { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:1.25rem; }
.mws-boek-badges .mws-tag { display:inline-block; }
.mws-boek-badges .is-volgt { opacity:.55; }
.mws-media.is-boekcover img { box-shadow: 0 14px 40px rgba(29,27,41,.22); border-radius: 6px; }
.mws-stars { color: var(--wp--preset--color--accent); letter-spacing: .15em; font-size: .95rem; margin-bottom: .5rem; }

/* Media-pagina */
.mws-pressgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:1.75rem; }
@media (max-width:900px){ .mws-pressgrid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .mws-pressgrid { grid-template-columns:1fr; } }
.mws-presscard { display:flex; flex-direction:column; gap:.75rem; background:#fff; border:1px solid var(--wp--preset--color--hairline); border-radius:6px; padding:1.375rem 1.5rem; text-decoration:none; color:inherit; box-shadow:0 2px 12px rgba(29,27,41,.06); transition:transform .15s ease, box-shadow .15s ease; }
a.mws-presscard:hover { transform:translateY(-2px); box-shadow:0 10px 26px rgba(29,27,41,.12); }
.mws-presscard p { margin:0; font-size:.9375rem; line-height:1.5; flex:1; }
.mws-presslogo { height:32px; display:flex; align-items:center; }
.mws-presslogo img { max-height:32px; max-width:140px; object-fit:contain; }
.mws-presslogo.is-tekst { font-family:var(--wp--preset--font-family--display); font-weight:700; letter-spacing:.06em; font-size:1.125rem; }
.mws-presstype { font-size:.75rem; opacity:.65; }
.mws-tvlogo { display:flex; gap:1rem; align-items:center; height:40px; margin-bottom:.75rem; }
.mws-tvlogo img { max-height:36px; max-width:130px; object-fit:contain; }
/* Reviews-pagina */
.mws-reviewgrid { column-count:2; column-gap:1.25rem; }
@media (max-width:760px){ .mws-reviewgrid { column-count:1; } }
.mws-reviewcard { break-inside:avoid; background:#fff; border:1px solid var(--wp--preset--color--hairline); border-radius:6px; padding:1.5rem 1.625rem; margin-bottom:1.25rem; box-shadow:0 2px 12px rgba(29,27,41,.06); }
.mws-reviewcard p { margin:.625rem 0 0; font-size:.9375rem; line-height:1.65; }
.mws-reviewcard .mws-reviewwie { margin-top:.875rem; font-size:.8125rem; opacity:.8; }
/* Woordmerk-logo */
.mws-wordmark{display:block;color:var(--wp--preset--color--ink);text-decoration:none;padding:6px 0;transition:opacity .2s ease}
.mws-wordmark:hover{opacity:.75}
.mws-wordmark svg{height:23px;width:auto;display:block}

/* Scroll-reveal */
.mws-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.16,.84,.3,1)}
.mws-reveal.in{opacity:1;transform:none}

/* Hover-effecten overal gelijk */
.mws-card,.mws-reviewcard,.mws-testi,.mws-movemail{transition:transform .25s cubic-bezier(.16,.84,.3,1),box-shadow .25s ease}
.mws-card:hover,.mws-reviewcard:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(29,27,41,.12)}

/* Signatuur: chaos die tot orde komt */
.mws-chaos{position:relative;height:200px;margin-top:2.25rem;overflow:visible}
.mws-chaos span{position:absolute;top:50%;left:50%;width:2px;border-radius:2px;background:var(--wp--preset--color--accent);transform-origin:center center;transition:transform 1.5s cubic-bezier(.16,.84,.3,1),opacity 1.2s ease}
.mws-chaos span.grijs{background:#4A4860}
@media (max-width:600px){.mws-chaos{height:150px}}

@media (prefers-reduced-motion: reduce){
  .mws-reveal{opacity:1;transform:none;transition:none}
  .mws-card:hover,.mws-reviewcard:hover{transform:none}
}
/* Aanvullende opties: kaarten op donker */
.mws-opties { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; margin-top:2rem; }
@media (max-width:760px){ .mws-opties { grid-template-columns:1fr; } }
.mws-optie { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:6px; padding:1.625rem 1.75rem; transition:transform .25s cubic-bezier(.16,.84,.3,1), background .25s ease; }
.mws-optie:hover { transform:translateY(-3px); background:rgba(255,255,255,.08); }
.mws-optie .num { display:block; font-family:var(--wp--preset--font-family--display); color:var(--wp--preset--color--accent); font-weight:700; font-size:.8125rem; letter-spacing:.12em; margin-bottom:.75rem; }
.mws-optie h3 { margin:0 0 .5rem; font-size:1.0625rem; line-height:1.35; }
.mws-optie p { margin:0; font-size:.9375rem; line-height:1.6; opacity:.85; }

/* ---------- Blog ---------- */

.mws-catfilter { display:flex; flex-wrap:wrap; gap:.625rem; margin-top:1.5rem; }
.mws-catfilter a { display:inline-block; background:var(--wp--preset--color--surface); color:var(--wp--preset--color--ink); font-family:var(--wp--preset--font-family--display); font-size:.8125rem; letter-spacing:.03em; text-transform:uppercase; padding:.5rem 1rem; border-radius:999px; text-decoration:none; transition:background .2s ease; }
.mws-catfilter a:hover { background:var(--wp--preset--color--accent); color:#fff; }

.mws-bloggrid.wp-block-query { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
@media (max-width:900px){ .mws-bloggrid.wp-block-query { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .mws-bloggrid.wp-block-query { grid-template-columns:1fr; } }
.mws-bloggrid .wp-block-post {
  background:var(--wp--preset--color--bg);
  border:1px solid var(--wp--preset--color--hairline);
  border-radius:var(--mws-radius-card);
  box-shadow:var(--mws-shadow-card);
  overflow:hidden;
  transition:box-shadow .2s ease, transform .2s ease;
}
.mws-bloggrid .wp-block-post:hover { box-shadow:var(--mws-shadow-lift); transform:translateY(-2px); }
.mws-bloggrid .wp-block-post > .mws-media { margin-bottom:0; }
.mws-bloggrid .wp-block-post > .mws-media img { border-radius:0; display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.mws-bloggrid .mws-card-body .mws-tag { margin-bottom:.5rem; }
.mws-bloggrid .mws-card-body .mws-card-title a { text-decoration:none; color:inherit; }
.mws-bloggrid .mws-card-body p { font-size:.9375rem; }

.mws-article { max-width:720px; margin-left:auto; margin-right:auto; font-size:1.0625rem; line-height:1.7; }
.mws-article p { margin-bottom:1.25rem; }
.mws-article h2, .mws-article h3 { font-family:var(--wp--preset--font-family--display); margin-top:2rem; }

.mws-authorbox { border-top:1px solid var(--wp--preset--color--hairline); }


.mws-relatedgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
@media (max-width:900px){ .mws-relatedgrid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .mws-relatedgrid { grid-template-columns:1fr; } }


.mws-featuredpost .wp-block-post {
  display:grid;
  grid-template-columns: 1.1fr 1fr;
  gap:2.5rem;
  align-items:center;
  background:var(--wp--preset--color--bg);
  border:1px solid var(--wp--preset--color--hairline);
  border-radius:var(--mws-radius-card);
  box-shadow:var(--mws-shadow-card);
  overflow:hidden;
  padding:0;
}
.mws-featuredpost .mws-media { margin:0; height:100%; }
.mws-featuredpost .mws-media img { width:100%; height:100%; object-fit:cover; border-radius:0; box-shadow:none; aspect-ratio:4/3; display:block; }
.mws-featuredpost .mws-card-body { padding:2rem 2.25rem 2rem 0; }
.mws-featuredpost .mws-card-title { font-size:1.375rem; }
.mws-featuredpost .mws-card-body p { font-size:1rem; }
@media (max-width:760px){
  .mws-featuredpost .wp-block-post { grid-template-columns:1fr; }
  .mws-featuredpost .mws-card-body { padding:1.5rem 1.5rem 1.75rem; }
}


.mws-featured-badge {
  display:inline-block;
  background:var(--wp--preset--color--accent);
  color:#fff;
  font-family:var(--wp--preset--font-family--display);
  font-weight:700;
  font-size:.75rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:.375rem .875rem;
  border-radius:999px;
  margin-bottom:1rem;
}
.mws-featuredpost .wp-block-post { border:2px solid var(--wp--preset--color--accent); }
.mws-featuredpost .mws-card-title { font-size:1.625rem; }

/* Compactere lijst-kaarten op mobiel i.p.v. lange gestapelde blokken */
@media (max-width:640px){
  .mws-bloggrid.wp-block-query { grid-template-columns:1fr; gap:1rem; }
  .mws-bloggrid .wp-block-post { display:grid; grid-template-columns:96px 1fr; gap:.875rem; align-items:center; }
  .mws-bloggrid .wp-block-post > .mws-media { width:96px; height:96px; align-self:start; }
  .mws-bloggrid .wp-block-post > .mws-media img { width:96px; height:96px; aspect-ratio:1/1; }
  .mws-bloggrid .mws-card-body { padding:.75rem .875rem .75rem 0; }
  .mws-bloggrid .mws-card-body .mws-tag { display:none; }
  .mws-bloggrid .mws-card-body .mws-card-title { font-size:.9375rem; margin-bottom:.25rem; }
  .mws-bloggrid .mws-card-body p.has-small-font-size,
  .mws-bloggrid .mws-card-body > p:not(.mws-card-title):not(.mws-tag) { display:none; }
  .mws-featuredpost .wp-block-post { grid-template-columns:1fr; }
}
