/* ==========================================================================
   Blacksheepz blokken (bsm/*) – frontend + editor
   Responsieve waarden komen binnen als CSS-variabelen: --x, --x-md, --x-sm
   ========================================================================== */

/* ---------------------------------------------------------- Zichtbaarheid */
@media (max-width: 549px) {
  .bsm-hide-small { display: none !important; }
}
@media (min-width: 550px) {
  .bsm-show-small { display: none !important; }
}
@media (max-width: 849px) {
  .bsm-hide-medium { display: none !important; }
}
@media (min-width: 850px) {
  .bsm-show-medium { display: none !important; }
  .bsm-hide-large { display: none !important; }
}
.bsm-hidden { display: none !important; }

/* -------------------------------------------------------------- Achtergrond */
.bsm-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}
.bsm-bg__img,
.bsm-bg__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.bsm-bg__overlay { position: absolute; inset: 0; }

/* ------------------------------------------------------------------ Sectie */
.bsm-section {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: var(--bsm-h, auto);
  padding-top: 30px;
  padding-bottom: 30px;
}
@media (max-width: 849px) {
  .bsm-section { min-height: var(--bsm-h-md, var(--bsm-h, auto)); }
}
@media (max-width: 549px) {
  .bsm-section { min-height: var(--bsm-h-sm, var(--bsm-h-md, var(--bsm-h, auto))); }
}
.bsm-section__content {
  position: relative;
  z-index: 1;
  width: 100%;
}

/* ------------------------------------------------------------------ Banner */
.bsm-banner {
  position: relative;
  width: 100%;
  height: var(--bsm-h, 400px);
  background-color: var(--bsm-primary, #e74545);
}
@media (max-width: 849px) {
  .bsm-banner { height: var(--bsm-h-md, var(--bsm-h, 400px)); }
}
@media (max-width: 549px) {
  .bsm-banner { height: var(--bsm-h-sm, var(--bsm-h-md, var(--bsm-h, 400px))); }
}
.bsm-banner__layers {
  position: relative;
  z-index: 1;
  height: 100%;
  max-width: var(--bsm-container, 1080px);
  margin: 0 auto;
}
.bsm-banner h1, .is-banner-text h1 { font-size: 3.5em; }
.bsm-banner h2, .is-banner-text h2 { font-size: 2.9em; }
.bsm-banner h3, .is-banner-text h3 { font-size: 2em; }
.bsm-banner h1, .bsm-banner h2, .bsm-banner h3,
.is-banner-text h1, .is-banner-text h2, .is-banner-text h3 { font-weight: 400; line-height: 1; margin: .2em 0; }
.bsm-banner h4, .is-banner-text h4 { font-size: 1.5em; margin: .6em 0; }
.bsm-banner h5, .bsm-banner h6, .bsm-banner p,
.is-banner-text h5, .is-banner-text h6, .is-banner-text p { margin: 1em 0; }
.bsm-banner strong h1, .bsm-banner h3 strong { font-weight: 700; }
.is-banner-text h3 { line-height: 1.2; }
@media (max-width: 549px) {
  .is-banner-text h1 { font-size: 2.2em; }
  .is-banner-text h2 { font-size: 1.8em; }
  .is-banner-text h3 { font-size: 1.35em; }
  .is-banner-text h4 { font-size: 1.2em; }
}
@media (max-width: 549px) {
  .bsm-banner { font-size: .7em; overflow: hidden; }
  .bsm-banner h1 { font-size: 2.2em; }
  .bsm-banner h2 { font-size: 2em; }
  .bsm-banner h3 { font-size: 1.6em; }
  .bsm-banner h4 { font-size: 1.2em; }
}

/* Gepositioneerde elementen (tekstvak, afbeelding) binnen een banner */
.bsm-text-box,
.bsm-image.is-positioned {
  position: absolute;
  left: var(--bsm-x, 50%);
  top: var(--bsm-y, 50%);
  width: var(--bsm-w, 60%);
  transform: translate(calc(var(--bsm-x, 50%) * -1), calc(var(--bsm-y, 50%) * -1));
  margin: var(--bsm-margin, 0);
  max-height: 100%;
}
@media (max-width: 849px) {
  .bsm-text-box,
  .bsm-image.is-positioned {
    left: var(--bsm-x-md, var(--bsm-x, 50%));
    top: var(--bsm-y-md, var(--bsm-y, 50%));
    width: var(--bsm-w-md, var(--bsm-w, 60%));
    margin: var(--bsm-margin-md, var(--bsm-margin, 0));
    transform:
      translate(calc(var(--bsm-x-md, var(--bsm-x, 50%)) * -1), calc(var(--bsm-y-md, var(--bsm-y, 50%)) * -1))
      scale(var(--bsm-scale-md, 1));
  }
}
@media (max-width: 549px) {
  .bsm-text-box,
  .bsm-image.is-positioned {
    left: var(--bsm-x-sm, var(--bsm-x-md, var(--bsm-x, 50%)));
    top: var(--bsm-y-sm, var(--bsm-y-md, var(--bsm-y, 50%)));
    width: var(--bsm-w-sm, var(--bsm-w-md, var(--bsm-w, 60%)));
    transform: translate(
      calc(var(--bsm-x-sm, var(--bsm-x-md, var(--bsm-x, 50%))) * -1),
      calc(var(--bsm-y-sm, var(--bsm-y-md, var(--bsm-y, 50%))) * -1)
    );
  }
}
.bsm-text-box { z-index: 2; }
.bsm-text-box__content {
  position: relative;
  padding: var(--bsm-pad, 0);
}
@media (max-width: 849px) {
  .bsm-text-box__content { padding: var(--bsm-pad-md, var(--bsm-pad, 0)); }
}
.bsm-text-box.is-dark { color: #fff; }
.bsm-text-box.is-light-text-dark { color: var(--bsm-text); }
.bsm-text-box.is-light-text-dark h1,
.bsm-text-box.is-light-text-dark h2,
.bsm-text-box.is-light-text-dark h3,
.bsm-text-box.is-light-text-dark h4 { color: var(--bsm-heading); }
.bsm-text-box__inner > :last-child { margin-bottom: 0; }
.bsm-text-box__inner > :first-child { margin-top: 0; }
/* Cirkel-/vierkant-stijl */
.bsm-text-box.is-circle .bsm-text-box__content,
.bsm-text-box.is-square .bsm-text-box__content {
  height: 0;
  padding: 100% 0 0 !important;
  background-color: rgba(0, 0, 0, .9);
}
.bsm-text-box.is-circle .bsm-text-box__content { border-radius: 100%; }
.bsm-text-box__shape {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  padding: 0 10%;
}
.bsm-text-box.is-circle p { margin: 0; line-height: 1.4; }

.bsm-banner .bsm-image.is-positioned { z-index: 1; }

/* ---------------------------------------------------------------- Raster */
.bsm-row {
  --bsm-col-pad: 0;
  --bsm-col-bg: transparent;
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  max-width: var(--bsm-container, 1080px);
  margin-left: auto;
  margin-right: auto;
}
.bsm-row.is-full-width { max-width: 100%; }
/* Geneste rij (Flatsome row_inner): negatieve marge zodat kolommen uitlijnen met de buitenkolom */
.bsm-row.is-inner { margin-left: -15px; margin-right: -15px; width: auto; }
.bsm-row.is-inner.is-full-width { max-width: none; }
.bsm-section + .bsm-row:not(.is-collapse),
.bsm-banner + .bsm-row:not(.is-collapse),
.bsm-banner-grid + .bsm-row:not(.is-collapse),
.bsm-slider + .bsm-row:not(.is-collapse) { margin-top: 30px; }

.bsm-col {
  position: relative;
  width: 100%;
  padding: 0 15px 30px;
  flex: 0 0 calc(var(--bsm-span-sm, 12) / 12 * 100%);
  max-width: calc(var(--bsm-span-sm, 12) / 12 * 100%);
}
@media (min-width: 550px) {
  .bsm-col {
    flex-basis: calc(var(--bsm-span-md, var(--bsm-span-sm, 12)) / 12 * 100%);
    max-width: calc(var(--bsm-span-md, var(--bsm-span-sm, 12)) / 12 * 100%);
  }
}
@media (min-width: 850px) {
  .bsm-col {
    flex-basis: calc(var(--bsm-span, 12) / 12 * 100%);
    max-width: calc(var(--bsm-span, 12) / 12 * 100%);
  }
}
.bsm-row.is-collapse > .bsm-col { padding: 0 !important; }
.bsm-col__inner {
  position: relative;
  width: 100%;
  padding: var(--bsm-col-pad);
  background-color: var(--bsm-col-bg);
}
.bsm-col.is-divided { border-right: 1px solid #ececec; padding-right: 30px; }
.bsm-col__inner > :last-child { margin-bottom: 0; }

/* ------------------------------------------------------------ Banner grid */
.bsm-banner-grid {
  --bsm-grid-unit: calc(var(--bsm-grid-h, 400px) / 12);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: var(--bsm-grid-unit);
  grid-auto-flow: row dense;
  max-width: var(--bsm-container, 1080px);
  margin: 0 auto;
  padding: 0 0 20px;
}
.bsm-banner-grid.is-full-width { max-width: none; }
@media (max-width: 849px) {
  .bsm-banner-grid { --bsm-grid-unit: calc(var(--bsm-grid-h-md, var(--bsm-grid-h, 400px)) / 12); }
}
.bsm-grid-col {
  grid-column: span var(--bsm-span, 4);
  grid-row: span var(--bsm-rows, 12);
  padding: 0 5px 10px;
  min-height: 0;
}
@media (max-width: 549px) {
  .bsm-grid-col { grid-column: span var(--bsm-span-sm, 12); }
}
.bsm-grid-col__inner { height: 100%; }
.bsm-grid-col .bsm-image-box,
.bsm-grid-col .bsm-image-box__link,
.bsm-grid-col .bsm-image-box__image { height: 100%; }
.bsm-grid-col .bsm-image-box__image img { height: 100%; object-fit: cover; }

/* ------------------------------------------------------------- Image box */
.bsm-image-box { position: relative; overflow: hidden; }
.bsm-image-box__link { display: block; position: relative; color: inherit; }
.bsm-image-box__image { position: relative; overflow: hidden; }
.bsm-image-box__image img {
  display: block;
  width: 100%;
  transition: transform .3s, filter .6s, opacity .6s;
}
.bsm-image-box__overlay,
.bsm-image-box__overlay-add { position: absolute; inset: 0; transition: opacity .3s, background .3s; }
.bsm-image-box__overlay-add { background: rgba(0, 0, 0, .3); opacity: 0; }
.bsm-image-box:hover .bsm-image-box__overlay-add { opacity: 1; }
.bsm-image-box.image-hover-zoom:hover img { transform: scale(1.1); }
.bsm-image-box.image-hover-color img { filter: grayscale(100%); }
.bsm-image-box.image-hover-color:hover img { filter: grayscale(0); }
.bsm-image-box__text {
  position: relative;
  padding: .7em 10px 1.4em;
  font-size: .85em;
  width: 100%;
  text-align: center;
}
.bsm-image-box.is-dark .bsm-image-box__text { color: #fff; text-shadow: 1px 1px 1px rgba(0, 0, 0, .5); }
.bsm-image-box.is-dark .bsm-image-box__text :is(h1, h2, h3, h4, p) { color: #fff; }
.bsm-image-box__text :is(h1, h2, h3, h4, h5, p) { margin: .1em 0; }
/* Badge: tekstvak onderin over de afbeelding */
.bsm-image-box.is-badge .bsm-image-box__text {
  position: absolute;
  bottom: 15%;
  left: 0;
  width: auto;
  max-width: 80%;
  padding: .8em 1em 1em;
  background-color: hsla(0, 0%, 100%, .95);
  z-index: 1;
}
.bsm-image-box.is-badge.is-dark .bsm-image-box__text { background-color: rgba(0, 0, 0, .95); }
.bsm-image-box.is-overlay .bsm-image-box__text,
.bsm-image-box.is-shade .bsm-image-box__text { position: absolute; bottom: 0; z-index: 1; }
/* Tekst die inschuift bij hover */
.bsm-image-box.text-hover-slide .bsm-image-box__text {
  opacity: 0;
  transform: translateY(15%);
  pointer-events: none;
  transition: opacity .5s, transform .3s;
}
.bsm-image-box.text-hover-slide:hover .bsm-image-box__text { opacity: 1; transform: none; }

/* ---------------------------------------------------------- Featured box */
.bsm-featured-box { display: flex; flex-flow: column; align-items: center; text-align: center; }
.bsm-featured-box.is-pos-left { flex-flow: row nowrap; align-items: flex-start; text-align: left; }
.bsm-featured-box.is-pos-right { flex-flow: row-reverse nowrap; align-items: flex-start; text-align: right; }
.bsm-featured-box__icon { flex: 0 0 auto; width: var(--bsm-icon-w, 60px); max-width: 200px; margin-bottom: 1em; }
.bsm-featured-box.is-pos-left .bsm-featured-box__icon,
.bsm-featured-box.is-pos-right .bsm-featured-box__icon { margin-bottom: 0; }
.bsm-featured-box__circle { position: relative; }
.bsm-featured-box__circle img { display: block; width: 100%; }
.bsm-featured-box.has-border .bsm-featured-box__circle {
  height: 0;
  padding-top: 100%;
  border: var(--bsm-icon-border, 2px) solid var(--bsm-icon-color, var(--bsm-primary));
  border-radius: 100%;
  transition: background-color .3s;
}
.bsm-featured-box.has-border .bsm-featured-box__circle img {
  position: absolute;
  left: 20%;
  top: 50%;
  width: 60%;
  transform: translateY(-50%);
}
.bsm-featured-box:hover.has-border .bsm-featured-box__circle { background-color: var(--bsm-icon-color, var(--bsm-primary)); }
.bsm-featured-box__text { flex: 1 1 0; }
.bsm-featured-box.is-pos-left .bsm-featured-box__text { padding-left: 1em; }
.bsm-featured-box.is-pos-right .bsm-featured-box__text { padding-right: 1em; }
.bsm-featured-box__text :is(h1, h2, h3, h4, h5) { margin-top: .5em; }
.bsm-featured-box__text > :last-child { margin-bottom: 0; }

/* --------------------------------------------------------------- Afbeelding */
.bsm-image { width: var(--bsm-w, 100%); max-width: 100%; }
@media (max-width: 849px) {
  .bsm-image { width: var(--bsm-w-md, var(--bsm-w, 100%)); }
}
@media (max-width: 549px) {
  .bsm-image { width: var(--bsm-w-sm, var(--bsm-w-md, var(--bsm-w, 100%))); }
}
.bsm-image img { display: block; width: 100%; transition: filter .6s, transform .3s; }
.bsm-image.has-height img { height: var(--bsm-img-h); object-fit: cover; }
.bsm-image.image-hover-color img { filter: grayscale(100%); }
.bsm-image.image-hover-color:hover img { filter: grayscale(0); }
.bsm-image.image-hover-zoom { overflow: hidden; }
.bsm-image.image-hover-zoom:hover img { transform: scale(1.1); }
.bsm-image.is-positioned { max-width: none; }
.bsm-col__inner > .bsm-image:not(.is-positioned) { margin-bottom: 1em; }

/* ------------------------------------------------------------------ Slider */
.bsm-slider { position: relative; margin-bottom: 0; }
.bsm-slider.is-focus { padding: 30px 0; }
.bsm-slider__viewport { overflow: hidden; width: 100%; }
.bsm-slider__track {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  will-change: transform;
}
.bsm-slider__track > * {
  flex: 0 0 var(--bsm-slide-w, 100%);
  width: var(--bsm-slide-w, 100%) !important;
  max-width: none;
  margin: 0 !important;
  transition: opacity .6s;
}
.bsm-slider.is-focus .bsm-slider__track > *:not(.is-selected) { opacity: .5; }
.bsm-slider .bsm-image img { width: auto; max-width: 100%; margin: 0 auto; }
.bsm-slider__arrow {
  position: absolute;
  top: 40%;
  bottom: 40%;
  width: 36px;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: #111;
  cursor: pointer;
  opacity: 0;
  transition: opacity .3s;
  z-index: 2;
}
.bsm-slider__arrow svg { width: 100%; height: 100%; padding: 20%; fill: currentColor; }
.bsm-slider:hover .bsm-slider__arrow { opacity: .7; }
.bsm-slider__arrow:hover { opacity: 1 !important; color: var(--bsm-primary); }
.bsm-slider__arrow.is-prev { left: 2%; }
.bsm-slider__arrow.is-next { right: 2%; }
.bsm-slider.nav-outside .bsm-slider__arrow.is-prev { left: auto; right: 100%; }
.bsm-slider.nav-outside .bsm-slider__arrow.is-next { right: auto; left: 100%; }
@media (max-width: 849px) {
  .bsm-slider.nav-outside .bsm-slider__arrow { display: none; }
}

/* -------------------------------------------------------------------- Logo */
.bsm-logo { padding: 15px; text-align: center; }
.bsm-logo img {
  display: inline-block;
  height: var(--bsm-logo-h, 80px);
  width: auto !important;
  max-width: 100%;
  object-fit: contain;
}

/* -------------------------------------------------------------------- Knop */
.bsm-button {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  min-height: 2.5em;
  margin: 0 1em 1em 0;
  padding: 0 1.2em;
  border: 1px solid transparent;
  border-radius: 0;
  font-family: "Open Sans", sans-serif;
  font-size: .97em;
  font-weight: 700;
  line-height: 2.4em;
  letter-spacing: .03em;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  vertical-align: middle;
  max-width: 100%;
  cursor: pointer;
  transition: transform .3s, border .3s, background .3s, box-shadow .3s, opacity .3s, color .3s;
  --bsm-btn: var(--bsm-primary);
}
.bsm-col__inner[style*="text-align: center"] .bsm-button,
.bsm-col__inner[style*="text-align:center"] .bsm-button { margin-left: .5em; margin-right: .5em; }
.bsm-button span { display: inline-block; line-height: 1.6; }
.bsm-button.is-color-alert { --bsm-btn: var(--bsm-alert); }
.bsm-button.is-color-secondary { --bsm-btn: var(--bsm-primary); }
.bsm-button.is-color-success { --bsm-btn: #7a9c59; }
.bsm-button.is-color-white { --bsm-btn: #fff; }
.bsm-button.is-color-dark { --bsm-btn: var(--bsm-dark); }
/* Gevuld */
.bsm-button.is-filled { background-color: var(--bsm-btn); border-color: rgba(0, 0, 0, .05); color: #fff; }
.bsm-button.is-filled:hover { box-shadow: inset 0 0 0 100px rgba(0, 0, 0, .2); color: #fff; }
.bsm-button.is-color-white.is-filled { color: #666; }
/* Outline */
.bsm-button.is-outline { background: transparent; border: 2px solid var(--bsm-btn); color: var(--bsm-btn); line-height: 2.19em; }
.bsm-button.is-outline:hover { background-color: var(--bsm-btn); color: #fff; }
/* Underline / link */
.bsm-button.is-underline,
.bsm-button.is-link { background: transparent; border-color: transparent; color: var(--bsm-btn); padding-left: .15em; padding-right: .15em; }
.bsm-button.is-underline::before {
  content: "";
  position: absolute;
  left: 20%;
  bottom: 0;
  width: 60%;
  height: 2px;
  background-color: currentColor;
  opacity: .3;
  transition: all .3s;
}
.bsm-button.is-underline:hover::before { left: 0; width: 100%; opacity: 1; }
.bsm-button.is-underline:hover,
.bsm-button.is-link:hover { color: var(--bsm-primary); }
/* Grootte */
.bsm-button.is-size-xsmall { font-size: .7em; }
.bsm-button.is-size-smaller { font-size: .75em; }
.bsm-button.is-size-small { font-size: .8em; }
.bsm-button.is-size-large { font-size: 1.15em; }
.bsm-button.is-size-larger { font-size: 1.3em; }
.bsm-button.is-size-xlarge { font-size: 1.5em; }
.bsm-button.is-size-xxlarge { font-size: 2em; }
@media (max-width: 549px) {
  .bsm-button.is-size-large { font-size: 1em; }
  .bsm-button.is-size-larger { font-size: 1.2em; }
  .bsm-button.is-size-xlarge { font-size: 1.3em; }
}
.bsm-button.is-expand { display: block; width: 100%; margin-left: 0 !important; margin-right: 0 !important; }
.bsm-button.is-lowercase { text-transform: none; }

/* ------------------------------------------------------------ Scheidingslijn */
.bsm-divider {
  display: block;
  width: 100%;
  max-width: 30px;
  height: 3px;
  margin: 1em 0;
  background-color: rgba(0, 0, 0, .1);
}
.bsm-divider.is-align-center,
[style*="text-align: center"] > .bsm-divider,
[style*="text-align:center"] > .bsm-divider { margin-left: auto; margin-right: auto; }
.bsm-divider.is-align-right { margin-left: auto; }
.is-dark .bsm-divider:not([style*="background"]) { background-color: hsla(0, 0%, 100%, .3); }

/* ---------------------------------------------------------------- Witruimte */
.bsm-gap { height: var(--bsm-h, 30px); }
@media (max-width: 849px) {
  .bsm-gap { height: var(--bsm-h-md, var(--bsm-h, 30px)); }
}
@media (max-width: 549px) {
  .bsm-gap { height: var(--bsm-h-sm, var(--bsm-h-md, var(--bsm-h, 30px))); }
}

/* -------------------------------------------------------------------- Video */
.bsm-video { position: relative; height: 0; overflow: hidden; margin-bottom: 1.3em; background: #000; }
.bsm-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------------------------------------------------------- Gerelateerde cases */
.bsm-related {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  max-width: var(--bsm-container, 1080px);
  margin: 60px auto 30px;
  padding: 0 15px;
}
@media (max-width: 849px) { .bsm-related { grid-template-columns: repeat(2, 1fr); } }
.bsm-related__item { display: block; text-align: center; color: var(--bsm-heading); }
.bsm-related__image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.bsm-related__title {
  padding: .7em 0 1.4em;
  font-size: .8em;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.bsm-related__item:hover .bsm-related__title { color: var(--bsm-primary); }


/* Lijn-iconen (featured box met "icon") – modern: afgeronde tegel, rode lijn */
.bsm-icon { display: block; width: 100%; height: 100%; }
.bsm-featured-box.has-icon { --bsm-tile: 60px; }
.bsm-featured-box.has-icon .bsm-featured-box__icon { width: var(--bsm-tile); }
.bsm-featured-box.has-icon .bsm-featured-box__circle {
  width: var(--bsm-tile); height: var(--bsm-tile); padding: 15px; border-radius: 16px;
  background: #fdecec; color: var(--bsm-icon-color, #b20000);
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.bsm-featured-box.has-icon .bsm-icon { stroke-width: 1.75; }
.bsm-featured-box.has-icon:hover .bsm-featured-box__circle { background: #e74545; color: #fff; transform: translateY(-2px); }
.is-dark .bsm-featured-box.has-icon .bsm-featured-box__circle,
.is-banner-text .bsm-featured-box.has-icon .bsm-featured-box__circle { background: rgba(231, 69, 69, .16); color: #ff7a7a; }
.is-dark .bsm-featured-box.has-icon:hover .bsm-featured-box__circle,
.is-banner-text .bsm-featured-box.has-icon:hover .bsm-featured-box__circle { background: #e74545; color: #fff; }
.bsm-featured-box.has-icon.is-pos-left .bsm-featured-box__text { padding-left: 1.1em; }
.bsm-featured-box.has-icon .bsm-featured-box__text :is(h2, h3, h4):first-child { margin-top: .15em; }
.bsm-featured-box.has-icon + .bsm-featured-box.has-icon { margin-top: 1.6em; }
@media (prefers-reduced-motion: reduce) { .bsm-featured-box.has-icon .bsm-featured-box__circle { transition: none; } }

/* Dienst-iconen op Home (inline SVG in HTML-blok) */
.bsm-svc-icons { display: flex; justify-content: center; gap: 10px; margin: 0 0 .4em; color: #fff; }
.bsm-svc-icons .bsm-icon { width: 54px; height: 54px; stroke-width: 1.5; }
