/* Final composition overrides: keep two-column rules out of the three-step row. */
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&display=swap');
.pluimers-process { counter-reset: process; }
.pluimers-process > .wp-block-columns > .wp-block-column { flex: 1 1 0 !important; }
.pluimers-logo .wp-block-image { margin: 0; width: 210px; }
.pluimers-logo img, .pluimers-footer-logo img { display: block; height: auto; object-fit: contain; width: 100%; }
.pluimers-footer-logo { margin: 0; max-width: 210px; }

/* Pluimers-like main navigation: clean white band, compact Inter labels and yellow CTA. */
.pluimers-header { border-bottom: 1px solid #eef0ed; }
.pluimers-header > .wp-block-group { align-items: center !important; min-height: 88px; }
.pluimers-header .alignwide { width: min(1240px, calc(100% - 96px)) !important; }
.pluimers-header .pluimers-logo { align-items: center !important; display: flex !important; flex: 0 0 auto; }
.pluimers-header .pluimers-logo .wp-block-image { margin: 0 !important; }
.pluimers-header .wp-block-navigation { align-items: center !important; display: flex !important; margin-left: auto; }
.pluimers-header .wp-block-navigation__container { align-items: center !important; display: flex !important; gap: 1.65rem; margin: 0 !important; padding: 0 !important; }
.pluimers-header .wp-block-navigation-item__content,
.pluimers-footer-nav .wp-block-navigation-item__content,
.pluimers-footer-legal .wp-block-navigation-item__content { font-family: Inter, sans-serif !important; font-size: 16px !important; font-weight: 600 !important; letter-spacing: -.01em !important; }
.pluimers-header .wp-block-navigation-item,
.pluimers-header .wp-block-navigation-item__content { align-items: center; display: inline-flex; line-height: 1.2; margin: 0 !important; padding: 0 !important; }
.pluimers-header .wp-block-button { align-items: center; display: flex; margin: 0 0 0 2rem !important; }
.pluimers-header .wp-block-button__link { align-items: center; border-radius: 28px; display: inline-flex; font-family: Inter, sans-serif; font-size: .875rem; font-weight: 700; line-height: 1; min-height: 44px; padding: 0 1.55rem; }

/* Extra breathing room between the major Gutenberg sections. */
body.home,
body.home .wp-site-blocks,
body.home .wp-block-post-content { background: #FFFDF7; }
/* A single warm field keeps the generous spacing, without turning sections into cards. */
body.home .wp-block-post-content > main > .pluimers-process {
  background: #FFF9DE;
  box-shadow: 0 0 0 100vmax #FFF9DE;
  clip-path: inset(0 -100vmax);
  padding-bottom: clamp(6rem, 9vw, 9rem) !important;
  padding-top: clamp(5.5rem, 8vw, 8rem) !important;
}

body.home .wp-block-post-content > main > .wp-block-group + .wp-block-group {
  margin-top: clamp(3rem, 5vw, 5.5rem) !important;
}

/* Decorative handwriting is intentionally secondary to the editable page content. */
.pluimers-image-wrap::before { color: #66707A; font-family: Caveat, cursive; font-size: clamp(1.35rem, 2vw, 2rem); font-weight: 600; line-height: 1.05; position: absolute; text-align: center; z-index: 2; }
/* Core YouTube embed styled like the organic image it replaces. */
.pluimers-organic-video { margin: 0; position: relative; z-index: 1; }
.pluimers-organic-video .wp-block-embed__wrapper { aspect-ratio: 16 / 9; border-radius: 0; overflow: hidden; }
.pluimers-organic-video iframe { border: 0; height: 100%; width: 100%; }
body.home .wp-block-post-content > main > .wp-block-group:first-child .pluimers-image-wrap::before { bottom: -1.6rem; content: 'Samen voor een gezonde\A leefomgeving ↘'; right: -1.4rem; transform: rotate(-7deg); }
/* The hero photo remains an editable Image block; this overlay only improves textural contrast. */
body.home .wp-block-post-content > main > .wp-block-group:first-child .pluimers-organic-image { overflow: hidden; }
body.home .wp-block-post-content > main > .wp-block-group:first-child .pluimers-organic-image::after { background: rgba(20, 26, 34, .18); border-radius: 32% 8% 28% 16% / 18% 24% 20% 30%; content: ''; inset: 0; pointer-events: none; position: absolute; }
.pluimers-contact::after { content: none; }
.pluimers-contact > .pluimers-eyebrow,
.pluimers-contact > .wp-block-heading,
.pluimers-contact > p:not(.pluimers-eyebrow),
.pluimers-contact > .wp-block-buttons { margin-left: 0 !important; margin-right: 0 !important; max-width: 620px; }
.pluimers-contact > .wp-block-buttons { width: auto; }
.pluimers-footer::after { content: none; }
.pluimers-footer { background: #1d1d1d !important; color: #fff; }
.pluimers-footer-logo img { filter: invert(1) hue-rotate(180deg); mix-blend-mode: screen; }
body.home .pluimers-contact { margin-bottom: 0 !important; }
body.home .pluimers-footer { margin-block-start: 0 !important; }
.pluimers-footer__main,
.pluimers-footer__bottom { width: min(1240px, calc(100% - 96px)) !important; }
.pluimers-footer__main { gap: 2.5rem; min-height: 100px; }
.pluimers-footer-nav { margin-left: auto; }
.pluimers-footer-nav .wp-block-navigation__container { column-gap: 1.75rem; display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: flex-end; row-gap: .75rem; }
.pluimers-footer-nav .wp-block-navigation-item__content { color: #fff; opacity: .78; }
.pluimers-footer__bottom { background: #1d1d1d; box-shadow: 0 0 0 100vmax #1d1d1d; clip-path: inset(0 -100vmax); gap: 1.25rem; margin-top: 2.75rem !important; padding-bottom: 1.15rem; padding-top: 1.15rem; }
.pluimers-footer__bottom p { color: #fff; margin: 0; }
.pluimers-footer-legal { margin-left: auto; }
.pluimers-footer-legal .wp-block-navigation__container { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 1.25rem; justify-content: flex-end; }
.pluimers-footer-legal .wp-block-navigation-item__content { color: #fff; }

/* Additional Pluimers-style photo header; all text and images remain Gutenberg blocks. */
.pluimers-reference-header { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; max-width: none !important; min-height: 620px !important; overflow: visible; width: 100vw !important; }
.pluimers-reference-header .wp-block-cover__inner-container { margin-inline: auto !important; max-width: none !important; position: relative; width: calc(100% - 48px) !important; }
.pluimers-reference-title { color: #fff; font-size: clamp(2.28rem, 3.6vw, 3.24rem) !important; font-weight: 800; letter-spacing: -.045em; line-height: .9; margin-left: 0 !important; margin-right: 0 !important; max-width: 560px; text-transform: uppercase; }
.pluimers-reference-subtitle { color: #fff; font-size: clamp(1rem, 1.5vw, 1.35rem) !important; font-weight: 500; line-height: 1.4; margin: 1.25rem 0 0 !important; max-width: 440px; }
body.home .wp-block-post-content > main > .wp-block-group:nth-child(1) h2,
body.home .wp-block-post-content > main > .wp-block-group:nth-child(2) h2 {
  font-size: clamp(2.15rem, 2.9vw, 3rem) !important;
  line-height: 1.04 !important;
  margin-bottom: 1.55rem !important;
}

body.home .wp-block-post-content > main > .wp-block-group:nth-child(3) h2,
body.home .wp-block-post-content > main > .wp-block-group:nth-child(4) h2,
body.home .wp-block-post-content > main > .wp-block-group:nth-child(5) h2 {
  font-size: clamp(2.15rem, 2.9vw, 3rem) !important;
  line-height: 1.04 !important;
}

body.home .wp-block-post-content > main > .wp-block-group:nth-child(1) p:not(.pluimers-eyebrow),
body.home .wp-block-post-content > main > .wp-block-group:nth-child(2) p:not(.pluimers-eyebrow) {
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

/* Keep the three process steps on one precise grid. */
body.home .pluimers-process > .wp-block-columns {
  align-items: start !important;
  display: grid !important;
  gap: clamp(2rem, 4vw, 4.5rem) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  position: relative;
  width: 100% !important;
}

body.home .pluimers-process > .wp-block-columns::before {
  background: #d9dcd8;
  content: '';
  height: 1px;
  left: 16.6667%;
  position: absolute;
  right: 16.6667%;
  top: 1.675rem;
  z-index: 0;
}

body.home .pluimers-process > .wp-block-columns > .pluimers-step {
  min-width: 0;
  text-align: center;
}

body.home .pluimers-process > .wp-block-columns > .pluimers-step::before {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}

body.home .pluimers-process > .wp-block-columns > .pluimers-step p {
  margin-left: auto;
  margin-right: auto;
}

body.home .pluimers-process > .wp-block-columns > .pluimers-step:not(:last-child)::after {
  display: none;
}

/* Use one button label size throughout the site, including the header CTA. */
.wp-block-button__link {
  font-size: 1rem !important;
  line-height: 1.2 !important;
}
.pluimers-reference-buttons { gap: 1rem; margin-top: 2.25rem; }
.pluimers-reference-buttons { margin-left: 0 !important; margin-right: 0 !important; max-width: 560px; }
.pluimers-reference-buttons .wp-block-button__link { border-radius: 2rem; font-size: 1rem; font-weight: 600; padding: .95rem 1.5rem; }
.pluimers-reference-buttons .is-style-outline .wp-block-button__link { background: #459cec; border-color: #459cec; color: #fff; }
.pluimers-reference-advice { background: #fff; color: #141A22; margin: -10rem 0 0 auto !important; max-width: 430px; padding: 2rem 2.5rem 2.5rem; position: relative; width: calc(100% - 2rem); z-index: 3; }
.pluimers-reference-advice__image { border-radius: 50%; float: left; height: 5rem; margin: 0 1.25rem 1rem 0; overflow: hidden; width: 5rem; }
.pluimers-reference-advice__image img { height: 100%; object-fit: cover; width: 100%; }
.pluimers-reference-advice h2 { font-size: 1.75rem; margin: .25rem 0 .5rem; }
.pluimers-reference-advice p { color: #687078; font-size: .95rem; margin: 0 0 1rem; }
.pluimers-reference-advice .wp-block-button__link { background: #FFD51A; border-radius: 2rem; color: #141A22; font-size: .9rem; padding: .75rem 1.1rem; }
@media (min-width: 782px) {
  .pluimers-reference-header .wp-block-cover__inner-container { height: 620px; }
  .pluimers-reference-header .wp-block-cover__inner-container { left: 0; width: calc(100% - 48px) !important; }
  .pluimers-reference-advice { bottom: -20px; margin: 0 !important; max-width: 460px; position: absolute; right: 80px; width: 460px; }
}

@media (min-width: 782px) {
  body.home .wp-block-post-content > main > .wp-block-group:not(.pluimers-contact) {
	left: 50%;
	margin-left: 0 !important;
	margin-right: 0 !important;
	position: relative;
	transform: translateX(-50%);
    width: min(calc(100vw - 80px), 1240px) !important;
  }
  body.home .wp-block-post-content > main > .wp-block-group > .wp-block-columns {
    margin-inline: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }
  body.home .wp-block-post-content > main > .wp-block-group:first-child > .wp-block-columns {
    display: grid !important;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important;
    gap: 80px !important;
  }
  body.home .wp-block-post-content > main > .wp-block-group:nth-child(2) > .wp-block-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 100px !important;
  }
  body.home .wp-block-post-content > main > .wp-block-group:nth-child(4) > .wp-block-columns {
    display: grid !important;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
    gap: 100px !important;
  }
  body.home .wp-block-post-content > main > .wp-block-group:not(.pluimers-process) > .wp-block-columns > .wp-block-column {
    flex-basis: auto !important;
    width: auto !important;
  }
}

@media (max-width: 781px) {
  .pluimers-reference-header { min-height: 760px !important; }
  .pluimers-reference-header .wp-block-cover__inner-container { width: calc(100% - 40px) !important; }
  .pluimers-reference-title { font-size: clamp(1.8rem, 8.4vw, 2.7rem) !important; }
  .pluimers-reference-buttons { flex-direction: column; }
  .pluimers-reference-buttons .wp-block-button, .pluimers-reference-buttons .wp-block-button__link { width: 100%; }
  .pluimers-reference-advice { margin: 2rem 0 0 !important; max-width: none; width: auto; }
  .pluimers-reference-advice { bottom: auto; position: relative; right: auto; }
  .pluimers-logo .wp-block-image { width: 165px; }
  .pluimers-header .alignwide { width: calc(100% - 40px) !important; }
  .pluimers-header .wp-block-navigation-item__content { line-height: 1.2; padding: 0 !important; }
  .pluimers-image-wrap::before, .pluimers-contact::after, .pluimers-footer::after { display: none; }
  .pluimers-footer__main,
  .pluimers-footer__bottom { width: calc(100% - 40px) !important; }
  .pluimers-footer__main { align-items: flex-start; flex-direction: column; gap: 2rem; }
  .pluimers-footer-nav { margin-left: 0; }
  .pluimers-footer-nav .wp-block-navigation__container { align-items: flex-start; flex-direction: column !important; gap: .8rem; }
  .pluimers-footer__bottom { align-items: flex-start; flex-direction: column; gap: 1rem; margin-top: 2rem !important; }
  .pluimers-footer-legal { margin-left: 0; }
  body.home .wp-block-post-content > main > .wp-block-group + .wp-block-group { margin-top: 3.5rem !important; }
  .pluimers-process > .wp-block-columns > .wp-block-column {
    flex-basis: 100% !important;
  }
  body.home .pluimers-process > .wp-block-columns > .pluimers-step {
    text-align: left;
  }
  body.home .pluimers-process > .wp-block-columns > .pluimers-step::before {
    margin-left: 0;
  }
  body.home .pluimers-process > .wp-block-columns::before {
    display: none;
  }
}

/* Keep the header usable on tablets and smaller laptops. The six-link
 * navigation otherwise runs into the logo and the CTA before WordPress's
 * default 600px overlay breakpoint is reached. */
@media (min-width: 600px) and (max-width: 1149px) {
  .pluimers-header .alignwide {
    width: calc(100% - 48px) !important;
  }

  .pluimers-logo .wp-block-image {
    width: 180px;
  }

  .pluimers-header .wp-block-navigation__responsive-container-open {
    display: flex !important;
  }

  .pluimers-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }

  .pluimers-header .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
  }

  .pluimers-header .wp-block-button {
    margin-left: 1rem !important;
  }
}

/* Align the hero content with the 1240px-wide content sections below it. */
@media (min-width: 782px) {
  .pluimers-reference-header .wp-block-cover__inner-container {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: min(1240px, calc(100vw - 80px)) !important;
  }
}

/* Let the hero connect directly to the navigation without a divider bar. */
.pluimers-header {
  border-bottom: 0 !important;
}

/* Remove the template-part gap above the footer as well. */
body.home .wp-site-blocks > footer.wp-block-template-part,
body.home .pluimers-contact {
  margin-bottom: 0 !important;
}

body.home .wp-site-blocks > footer.wp-block-template-part {
  margin-block-start: 0 !important;
  padding-top: 0 !important;
}
