/*
 * S2B_BUSINESS_PRO_WEIGHTED_BANNER_STRIP_CSS_20260915
 */

.s2b-bp-ad-strip {
  width: 100%;
  max-width: 100%;
  margin: 26px 0;
  padding: 22px 0 18px;
  box-sizing: border-box;
}

.s2b-bp-ad-strip__header {
  margin: 0 0 14px;
  padding: 0 16px;
}

.s2b-bp-ad-strip__eyebrow {
  display: block;
  margin: 0 0 3px;
  color: #a77d20;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .10em;
}

.s2b-bp-ad-strip__title {
  margin: 0;
  color: #1e2b3a;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 900;
}

.s2b-bp-ad-strip__track {
  display: flex;
  align-items: stretch;
  gap: 12px;

  width: 100%;
  max-width: 100%;

  padding: 2px 16px 10px;

  overflow-x: auto;
  overflow-y: hidden;

  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;

  -webkit-overflow-scrolling: touch;

  box-sizing: border-box;
}

.s2b-bp-ad-card {
  /*
   * Mobiel: ongeveer 2.5 kaart zichtbaar.
   */
  flex: 0 0 38%;

  min-width: 0;
  overflow: hidden;

  border: 1px solid rgba(30, 43, 58, .14);
  border-radius: 14px;

  background: #fff;

  box-shadow:
    0 7px 18px rgba(30, 43, 58, .09);

  scroll-snap-align: start;
}

.s2b-bp-ad-card__link {
  display: block;
  width: 100%;
  text-decoration: none !important;
  background: #f3f5f7;
}

.s2b-bp-ad-card__link:hover,
.s2b-bp-ad-card__link:focus {
  text-decoration: none !important;
}

.s2b-bp-ad-card__image {
  display: block;

  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3;

  object-fit: cover !important;
  object-position: center center !important;

  background: #f3f5f7;
}

.s2b-bp-ad-card__title {
  padding: 9px 10px 11px;

  color: #1e2b3a;

  font-size: 13px;
  line-height: 1.3;
  font-weight: 800;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/*
 * Tablet: circa 3.5 kaarten.
 */
@media (min-width: 768px) {
  .s2b-bp-ad-strip__header,
  .s2b-bp-ad-strip__track {
    padding-left: 22px;
    padding-right: 22px;
  }

  .s2b-bp-ad-card {
    flex-basis: 27%;
  }

  .s2b-bp-ad-strip__title {
    font-size: 27px;
  }
}

/*
 * Desktop: circa 4.5 kaarten.
 */
@media (min-width: 1200px) {
  .s2b-bp-ad-card {
    flex-basis: 21%;
  }
}

/* /S2B_BUSINESS_PRO_WEIGHTED_BANNER_STRIP_CSS_20260915 */


/*
 * S2B_BP_CONTEXTUAL_AD_PLACEMENT_20260916
 *
 * Nieuwe bedrijfsadvertenties binnen Views en node
 * altijd als volledige contentrij.
 */
.s2b-business-pro-inline-ad {
  display: block;
  width: 100%;
  min-width: 0;
  grid-column: 1 / -1;
}

.s2b-node-business-pro-ad {
  display: block;
  width: 100%;
  min-width: 0;
}

/* /S2B_BP_CONTEXTUAL_AD_PLACEMENT_20260916 */


/*
 * S2B_BP_COMPACT_CONTEXTUAL_ADS_20260916
 *
 * Compacte advertentieblokken binnen scheepsaanbod en scheepsnode:
 * - zichtbare Gesponsord / Partners-kop weg;
 * - minder verticale ruimte tussen advertenties en content.
 */

/* Geen zichtbare kop boven de advertenties. */
.s2b-business-pro-inline-ad .s2b-bp-ad-strip__header,
.s2b-node-business-pro-ad .s2b-bp-ad-strip__header {
  display: none !important;
}

/* Veel compactere verticale overgang naar omliggende content. */
.s2b-business-pro-inline-ad .s2b-bp-ad-strip,
.s2b-node-business-pro-ad .s2b-bp-ad-strip {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Alleen minimale ruimte onder de kaarten zelf. */
.s2b-business-pro-inline-ad .s2b-bp-ad-strip__track,
.s2b-node-business-pro-ad .s2b-bp-ad-strip__track {
  padding-top: 2px !important;
  padding-bottom: 4px !important;
}

/* /S2B_BP_COMPACT_CONTEXTUAL_ADS_20260916 */


/*
 * S2B_RESPONSIVE_SHIP_ADS_FINAL_20260916
 */

.s2b-ad-slot--mobile {
  display: none !important;
}

.s2b-ad-slot--desktop {
  display: block !important;
}

@media (max-width: 575.98px) {
  .s2b-ad-slot--mobile {
    display: block !important;
  }

  .s2b-ad-slot--desktop {
    display: none !important;
  }
}

/* /S2B_RESPONSIVE_SHIP_ADS_FINAL_20260916 */

/* =========================================================
   S2B_BP_FRONT_COMPACT_AD_STRIP_20260917
   Frontpage bannerstrip gelijk aan compacte node-weergave.
   ========================================================= */

body.path-frontpage .s2b-bp-ad-strip__header {
  display: none !important;
}

body.path-frontpage .s2b-bp-ad-strip {
  margin-top: 10px !important;
  margin-bottom: 10px !important;

  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.path-frontpage .s2b-bp-ad-strip__track {
  padding-top: 2px !important;
  padding-bottom: 4px !important;
}

/* /S2B_BP_FRONT_COMPACT_AD_STRIP_20260917 */


/* =========================================================
 * S2B_BP_PARTNER_CTA_STYLE_20260918
 *
 * Eigen Ship2Buy acquisitiekaart.
 * Gebruikt dezelfde flex-basis als .s2b-bp-ad-card,
 * maar is geen betaalde advertentie.
 * ========================================================= */

.s2b-bp-ad-card--partner-cta {
  border-color:
    rgba(201, 157, 54, .34);

  background: #16384f;

  box-shadow:
    0 8px 20px rgba(18, 47, 68, .16);
}

.s2b-bp-partner-cta__link {
  display: flex;
  flex-direction: column;

  width: 100%;
  height: 100%;

  color: inherit;
  text-decoration: none !important;
}

.s2b-bp-partner-cta__link:hover,
.s2b-bp-partner-cta__link:focus {
  color: inherit;
  text-decoration: none !important;
}

.s2b-bp-partner-cta__visual {
  position: relative;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  width: 100%;
  aspect-ratio: 4 / 3;

  padding: 12px;

  box-sizing: border-box;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(216, 188, 106, .30) 0,
      rgba(216, 188, 106, 0) 45%
    ),
    linear-gradient(
      145deg,
      #102d43 0%,
      #174b68 100%
    );
}

.s2b-bp-partner-cta__visual::after {
  content: "";

  position: absolute;
  right: -28px;
  bottom: -42px;

  width: 92px;
  height: 92px;

  border:
    1px solid rgba(216, 188, 106, .30);

  border-radius: 50%;

  pointer-events: none;
}

.s2b-bp-partner-cta__brand {
  position: relative;
  z-index: 1;

  width: fit-content;

  padding: 3px 6px;

  border:
    1px solid rgba(255, 255, 255, .22);

  border-radius: 6px;

  color:
    rgba(255, 255, 255, .88);

  font-size: 8px;
  font-weight: 900;
  letter-spacing: .10em;
}

.s2b-bp-partner-cta__content {
  position: relative;
  z-index: 1;

  display: flex;
  flex-direction: column;

  min-width: 0;
}

.s2b-bp-partner-cta__eyebrow {
  margin-bottom: 3px;

  color: #d8bc6a;

  font-size: 8px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: .09em;
}

.s2b-bp-partner-cta__title {
  display: block;

  color: #fff;

  font-size: 15px;
  line-height: 1.08;
  font-weight: 900;
}

.s2b-bp-partner-cta__text {
  display: block;

  margin-top: 5px;

  color:
    rgba(255, 255, 255, .78);

  font-size: 10px;
  line-height: 1.3;
  font-weight: 600;
}

.s2b-bp-partner-cta__action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;

  min-height: 35px;

  padding: 8px 10px 9px;

  box-sizing: border-box;

  background: #fff;

  color: #1e2b3a;

  font-size: 12px;
  line-height: 1.2;
  font-weight: 900;
}

.s2b-bp-partner-cta__link:hover
.s2b-bp-partner-cta__action,
.s2b-bp-partner-cta__link:focus
.s2b-bp-partner-cta__action {
  background: #fff8e8;
  color: #8c681c;
}

/*
 * Tablet.
 */
@media (min-width: 768px) {
  .s2b-bp-partner-cta__visual {
    padding: 14px;
  }

  .s2b-bp-partner-cta__brand {
    font-size: 9px;
  }

  .s2b-bp-partner-cta__eyebrow {
    font-size: 9px;
  }

  .s2b-bp-partner-cta__title {
    font-size: 17px;
  }

  .s2b-bp-partner-cta__text {
    font-size: 11px;
  }

  .s2b-bp-partner-cta__action {
    font-size: 13px;
  }
}

/*
 * Desktop.
 */
@media (min-width: 1200px) {
  .s2b-bp-partner-cta__visual {
    padding: 16px;
  }

  .s2b-bp-partner-cta__title {
    font-size: 18px;
  }
}

/*
 * Extra smalle mobiele schermen.
 *
 * De kernboodschap blijft zichtbaar; de langere
 * toelichting mag compacter worden.
 */
@media (max-width: 390px) {
  .s2b-bp-partner-cta__visual {
    padding: 10px;
  }

  .s2b-bp-partner-cta__title {
    font-size: 14px;
  }

  .s2b-bp-partner-cta__text {
    font-size: 9px;
    line-height: 1.25;
  }

  .s2b-bp-partner-cta__action {
    padding-left: 8px;
    padding-right: 8px;

    font-size: 11px;
  }
}

/* /S2B_BP_PARTNER_CTA_STYLE_20260918 */


/* =========================================================
 * S2B_BP_PARTNER_CTA_MOBILE_TEXT_HIDE_20260918
 * Mobiel: kortere CTA-copy + minder tekst.
 * ========================================================= */
@media (max-width: 680px) {
  .s2b-bp-partner-cta__text {
    display: none;
  }

  .s2b-bp-partner-cta__title {
    font-size: 1.75rem;
    line-height: 1.08;
  }

  .s2b-bp-partner-cta__action {
    font-size: .98rem;
  }
}
/* /S2B_BP_PARTNER_CTA_MOBILE_TEXT_HIDE_20260918 */

/* =========================================================
 * S2B_BP_PARTNER_CTA_MOBILE_CLEAN_20260918
 * Rustige compacte mobiele acquisitiekaart.
 * ========================================================= */

@media (max-width: 680px) {

  .s2b-bp-partner-cta__visual {
    justify-content: space-between;

    padding: 11px 10px 10px;
  }

  .s2b-bp-partner-cta__brand {
    padding: 3px 5px;

    font-size: 7px;
    letter-spacing: .08em;
  }

  .s2b-bp-partner-cta__content {
    margin-top: auto;
  }

  .s2b-bp-partner-cta__eyebrow {
    margin-bottom: 3px;

    font-size: 8px;
    line-height: 1.1;
  }

  .s2b-bp-partner-cta__title {
    display: block;

    margin: 0;

    font-size: 18px;
    line-height: 1.08;
    font-weight: 900;

    white-space: normal;
    overflow: visible;
  }

  .s2b-bp-partner-cta__text {
    display: none !important;
  }

  .s2b-bp-partner-cta__action {
    min-height: 34px;

    padding: 7px 9px;

    font-size: 12px;
    line-height: 1.1;
  }
}

/* /S2B_BP_PARTNER_CTA_MOBILE_CLEAN_20260918 */

/*
 * S2B_BP_FULL_CARD_TRACKED_LINK_CSS_20260922
 *
 * Homepage-promotiekaart:
 * afbeelding/logo + titelbalk vormen één hyperlink.
 */

.s2b-bp-ad-card {
  overflow: hidden;
}

.s2b-bp-ad-card__link,
.s2b-bp-ad-card__link:visited {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;

  color: inherit;
  text-decoration: none !important;
  cursor: pointer;
}

.s2b-bp-ad-card__link:hover,
.s2b-bp-ad-card__link:focus,
.s2b-bp-ad-card__link:focus-visible {
  color: inherit;
  text-decoration: none !important;
}

.s2b-bp-ad-card__image {
  display: block;
  width: 100%;
}

.s2b-bp-ad-card__title {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  box-sizing: border-box;
  width: 100%;
  margin-top: auto;

  transition:
    background-color .18s ease,
    color .18s ease;
}

.s2b-bp-ad-card__arrow {
  flex: 0 0 auto;
  margin-left: auto;

  font-size: 1.25em;
  font-weight: 800;
  line-height: 1;

  transition:
    transform .18s ease;
}

.s2b-bp-ad-card:hover .s2b-bp-ad-card__title,
.s2b-bp-ad-card:focus-within .s2b-bp-ad-card__title {
  background: #ddb23f !important;
  color: #172d42 !important;
}

.s2b-bp-ad-card:hover .s2b-bp-ad-card__arrow,
.s2b-bp-ad-card:focus-within .s2b-bp-ad-card__arrow {
  transform: translateX(4px);
}

/* /S2B_BP_FULL_CARD_TRACKED_LINK_CSS_20260922 */

/* =========================================================
 * S2B_MANUAL_AD_PARTNER_CTA_FINAL_20260922
 *
 * Handmatige advertenties gebruiken exact hetzelfde
 * footer-interactiepatroon als de Business Pro partner-CTA.
 * ========================================================= */

.s2b-bp-ad-card:not(.s2b-bp-ad-card--partner-cta)
.s2b-bp-ad-card__title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  min-height: 35px !important;

  margin: 0 !important;
  padding: 8px 10px 9px !important;

  gap: 6px !important;

  background: #fff !important;
  color: #1e2b3a !important;

  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;

  overflow: hidden !important;
  white-space: nowrap !important;
}

.s2b-bp-ad-card:not(.s2b-bp-ad-card--partner-cta)
.s2b-bp-ad-card__arrow {
  display: block !important;

  flex: 0 0 auto !important;

  margin: 0 0 0 auto !important;
  padding: 0 !important;

  color: inherit !important;

  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  transform: none !important;
}

.s2b-bp-ad-card:not(.s2b-bp-ad-card--partner-cta)
.s2b-bp-ad-card__link:hover
.s2b-bp-ad-card__title,
.s2b-bp-ad-card:not(.s2b-bp-ad-card--partner-cta)
.s2b-bp-ad-card__link:focus
.s2b-bp-ad-card__title,
.s2b-bp-ad-card:not(.s2b-bp-ad-card--partner-cta)
.s2b-bp-ad-card__link:focus-visible
.s2b-bp-ad-card__title {
  background: #fff8e8 !important;
  color: #8c681c !important;
}

.s2b-bp-ad-card:not(.s2b-bp-ad-card--partner-cta)
.s2b-bp-ad-card__link:hover
.s2b-bp-ad-card__arrow,
.s2b-bp-ad-card:not(.s2b-bp-ad-card--partner-cta)
.s2b-bp-ad-card__link:focus
.s2b-bp-ad-card__arrow,
.s2b-bp-ad-card:not(.s2b-bp-ad-card--partner-cta)
.s2b-bp-ad-card__link:focus-visible
.s2b-bp-ad-card__arrow {
  transform: none !important;
}

@media (min-width: 768px) {
  .s2b-bp-ad-card:not(.s2b-bp-ad-card--partner-cta)
  .s2b-bp-ad-card__title {
    font-size: 13px !important;
  }
}

/* /S2B_MANUAL_AD_PARTNER_CTA_FINAL_20260922 */

/* =========================================================
 * S2B_BP_AD_TITLE_TWO_LINES_CSS_20260922
 *
 * Bedrijfs-/advertentienaam:
 * - maximaal twee regels;
 * - daarna ellipsis;
 * - pijl blijft onafhankelijk helemaal rechts;
 * - footerhoogtes blijven rustig en gelijkmatig.
 * ========================================================= */

.s2b-bp-ad-card__title {
  min-height: 48px !important;
}

.s2b-bp-ad-card__title-text {
  flex: 1 1 auto;
  min-width: 0;

  display: -webkit-box;

  overflow: hidden;

  white-space: normal;

  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;

  line-clamp: 2;

  overflow-wrap: anywhere;
}

.s2b-bp-ad-card__title-text > div {
  display: contents;
}

.s2b-bp-ad-card__arrow {
  flex: 0 0 auto !important;
  align-self: center;

  margin-left: auto !important;
}

/*
 * De eigen Business Pro CTA krijgt dezelfde footerhoogte,
 * zodat alle kaarten in de strip onderaan gelijk uitlijnen.
 */
.s2b-bp-partner-cta__action {
  min-height: 48px;
}

/* /S2B_BP_AD_TITLE_TWO_LINES_CSS_20260922 */

/* =========================================================
 * S2B_AD_FOOTER_EQUAL_HEIGHT_20260922
 *
 * Eén- en tweeregelige advertentienamen krijgen exact
 * dezelfde footerhoogte en volledig gevulde achtergrond.
 * ========================================================= */

.s2b-bp-ad-card:not(.s2b-bp-ad-card--partner-cta)
.s2b-bp-ad-card__title {
  box-sizing: border-box !important;

  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;

  display: flex !important;
  align-items: center !important;
}

.s2b-bp-ad-card__title-text {
  display: -webkit-box !important;

  flex: 1 1 auto !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  white-space: normal !important;

  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;

  overflow: hidden !important;
}

.s2b-bp-ad-card__arrow {
  align-self: center !important;
}

/* /S2B_AD_FOOTER_EQUAL_HEIGHT_20260922 */

/* =========================================================
 * S2B_AD_TWO_LINES_MOBILE_ONLY_20260922
 *
 * Mobiel:
 *   maximaal twee regels voor lange bedrijfsnamen.
 *
 * Tablet/desktop:
 *   één regel en compacte footer.
 * ========================================================= */

/* Mobiel blijft twee regels ondersteunen. */
@media (max-width: 680px) {

  .s2b-bp-ad-card:not(.s2b-bp-ad-card--partner-cta)
  .s2b-bp-ad-card__title {
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  .s2b-bp-ad-card__title-text {
    display: -webkit-box !important;

    white-space: normal !important;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    overflow: hidden !important;
  }
}

/* Vanaf tablet/desktop terug naar één compacte regel. */
@media (min-width: 681px) {

  .s2b-bp-ad-card:not(.s2b-bp-ad-card--partner-cta)
  .s2b-bp-ad-card__title {
    height: 35px !important;
    min-height: 35px !important;
    max-height: 35px !important;

    padding: 8px 10px 9px !important;
  }

  .s2b-bp-ad-card__title-text {
    display: block !important;

    overflow: hidden !important;

    white-space: nowrap !important;
    text-overflow: ellipsis !important;

    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
  }

  .s2b-bp-partner-cta__action {
    min-height: 35px !important;
  }
}

/* /S2B_AD_TWO_LINES_MOBILE_ONLY_20260922 */

/* =========================================================
 * S2B_AD_MOBILE_FOOTER_COMPACT_20260922
 *
 * Mobiel:
 * minder witruimte boven/onder één- of tweeregelige titels,
 * zonder de tweeregelige bedrijfsnaam af te kappen.
 * ========================================================= */

@media (max-width: 680px) {

  .s2b-bp-ad-card:not(.s2b-bp-ad-card--partner-cta)
  .s2b-bp-ad-card__title {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;

    padding: 4px 9px !important;
  }

  .s2b-bp-ad-card__title-text {
    line-height: 1.08 !important;
  }

  .s2b-bp-ad-card__arrow {
    align-self: center !important;
  }

  .s2b-bp-partner-cta__action {
    height: 48px !important;
    min-height: 48px !important;

    padding: 4px 9px !important;
  }
}

/* /S2B_AD_MOBILE_FOOTER_COMPACT_20260922 */

/* =========================================================
 * S2B_AD_MOBILE_FOOTER_TIGHTER_20260922
 *
 * Mobiele advertentiefooter nog compacter:
 * minder witruimte boven en onder de tekst.
 * Desktop blijft onaangeroerd.
 * ========================================================= */

@media (max-width: 680px) {

  .s2b-bp-ad-card:not(.s2b-bp-ad-card--partner-cta)
  .s2b-bp-ad-card__title {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;

    padding: 2px 8px !important;
  }

  .s2b-bp-ad-card__title-text {
    line-height: 1.04 !important;
  }

  .s2b-bp-ad-card__arrow {
    align-self: center !important;
  }

  .s2b-bp-partner-cta__action {
    height: 42px !important;
    min-height: 42px !important;

    padding: 2px 8px !important;
  }
}

/* /S2B_AD_MOBILE_FOOTER_TIGHTER_20260922 */
