@media (min-width: 1024px) {
  .main-navigation {
    --submenu-col-min: 140px;
    --submenu-gap-x: 10px;
    --submenu-gap-y: 6px;
    --submenu-width: min(34vw, 500px);
  }

  /* Submenu container */
  .main-navigation li > ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(var(--submenu-col-min), 1fr));
    column-gap: var(--submenu-gap-x);
    row-gap: var(--submenu-gap-y);

    width: var(--submenu-width) !important;
    min-width: calc(var(--submenu-col-min) * 2 + var(--submenu-gap-x)) !important;
    max-width: 90vw !important;

    padding: 10px 14px 8px; /* slightly less bottom padding so last line is visible */
    box-sizing: border-box;
    height: auto !important;
    overflow: visible !important;

    /* visual style */
    background: #ffffff;
    border: 3px solid #f5f5f5;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);

    /* alignment */
    left: auto !important;
    transform: none !important;
  }

  /* Submenu items */
  .main-navigation li > ul > li {
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    list-style: none !important;
    overflow: visible !important;
  }

  /* Links: full width, multiline text, with bottom border */
  .main-navigation li > ul > li > a {
    display: block !important;
    padding: 8px 10px;
    width: auto !important;
    max-width: none !important;

    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;

    line-height: 1.35;

    /* item separators */
    border-bottom: 2px solid #f5f5f5 !important;
  }

  /* ensure the last one also has a line (theme overrides neutralized) */
  .main-navigation li > ul > li:last-child > a {
    border-bottom: 2px solid #f5f5f5 !important;
  }

  /* Keep dropdown above everything */
  .main-navigation li:hover > ul,
  .main-navigation li:focus-within > ul {
    z-index: 9999;
  }
}



/* ==============================
   BASE STATE VAN DE PRODUCTEN IN DISPLAY BANNERS /RICH MEDIA
============================== */

/* Base */
.cta-card .cta-card__area{
  background-color:#16202A;
  transition:background-color .5s ease;
}

.cta-card .cta-card__btn,
.cta-card .cta-card__btn a,
.cta-card a.cta-card__btn{
  display:inline-block;
  transform-origin:center;
  opacity:0;
  transform:scale(0.8);
  transition:
    transform .5s ease,
    opacity .5s ease;
}

/* Hover only when an area is hovered */
.cta-card:has(.cta-card__area:hover) .cta-card__area{
  background-color:#EF4132;
}

.cta-card:has(.cta-card__area:hover) .cta-card__btn,
.cta-card:has(.cta-card__area:hover) .cta-card__btn a,
.cta-card:has(.cta-card__area:hover) a.cta-card__btn{
  opacity:1;
  transform:scale(1.05);
}

.tag-bg,
.tag-text {
  border-radius: 50px;
  transition: background-color 0.5s ease, color 0.5s ease, border-color 0.5s ease;
}

.portfolio-block:hover .tag-bg,
.portfolio-block:hover .tag-text {
  background-color: #fff;
  color: #EF4132;
  border-radius: 50px; /* lock it */
}


.filters {
  display: flex;
  flex-wrap: wrap; /* zorgt dat knoppen netjes afbreken */
  gap: 12px;       /* betere spacing op mobiel */
}

.filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.filters [data-filter]{
  background: transparent !important;
  border: none !important;
  border-bottom: 5px solid transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #777 !important;

  padding: 12px 16px !important;
  font-size: 16px !important;
  cursor: pointer !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  line-height: 1.2 !important;
  min-height: 44px !important;

  margin-right: 0 !important;
  white-space: nowrap;
}

.filters [data-filter].is-active{
  color: #EF4132 !important;
  border-bottom: 5px solid #EF4132 !important;
}

/* Center only on mobile */
@media (max-width: 768px) {
  .filters {
    justify-content: center;
  }
}


