/**
 * Diensten-megamenu voor de Premium Nav Menu-widget.
 *
 * De WordPress-menuclasses bepalen icoon, beschrijving en positie. Daardoor is
 * geen aangepaste HTML of JavaScript nodig.
 */

.diensten-dropdown > .premium-sub-menu > .seo {
  --dienst-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f47d7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E");
}

.diensten-dropdown > .premium-sub-menu > .sea {
  --dienst-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f47d7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 2.8 2.7 5.5 6.1.9-4.4 4.3 1 6.1-5.4-2.9-5.4 2.9 1-6.1-4.4-4.3 6.1-.9z'/%3E%3C/svg%3E");
}

.diensten-dropdown > .premium-sub-menu > .social {
  --dienst-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f47d7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 11.5a8 8 0 0 1-9 7.9L5 21l1.6-5.2a8 8 0 1 1 13.9-4.3z'/%3E%3C/svg%3E");
}

.diensten-dropdown > .premium-sub-menu > .marketing {
  --dienst-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f47d7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5.5A3.5 3.5 0 0 1 6.5 4H11v16H6.5A3.5 3.5 0 0 0 3 21.5zM21 5.5A3.5 3.5 0 0 0 17.5 4H13v16h4.5a3.5 3.5 0 0 1 3.5 1.5z'/%3E%3C/svg%3E");
}

.diensten-dropdown > .premium-sub-menu > .webdesign {
  --dienst-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f47d7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E");
}

.diensten-dropdown > .premium-sub-menu > .hosting {
  --dienst-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f47d7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/svg%3E");
}

.diensten-dropdown > .premium-sub-menu > .mail {
  --dienst-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f47d7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}

.diensten-dropdown > .premium-sub-menu > .strategie {
  --dienst-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f47d7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m15.5 8.5-2 5-5 2 2-5z'/%3E%3C/svg%3E");
}

.diensten-dropdown
  > .premium-sub-menu
  > li:not(.nietgevonden)
  > .premium-sub-menu-link {
  display: grid !important;
  grid-template-rows: auto auto;
  grid-template-columns: 44px minmax(0, 1fr);
  align-content: center;
  min-height: 82px;
  padding: 10px 8px !important;
  border-radius: 12px !important;
  column-gap: 14px !important;
  background: transparent !important;
  color: var(--e-global-color-text, #1a0d36) !important;
  font-size: 1.0625rem;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  transition:
    background-color 180ms ease,
    transform 180ms ease !important;
}

.diensten-dropdown
  > .premium-sub-menu
  > li:not(.nietgevonden)
  > .premium-sub-menu-link::before {
  grid-row: 1 / 3;
  grid-column: 1;
  align-self: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background-color: var(--e-global-color-f5b95ff, #f6f3fc);
  background-image: var(--dienst-icon);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px;
  content: "";
  transition:
    background-color 180ms ease,
    transform 180ms ease;
}

.diensten-dropdown__description {
  display: block;
  grid-row: 2;
  grid-column: 2;
  align-self: start;
  color: var(--e-global-color-f620234, #6b6488);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
}

.diensten-dropdown
  > .premium-sub-menu
  > li:not(.nietgevonden)
  > .premium-sub-menu-link:hover,
.diensten-dropdown
  > .premium-sub-menu
  > li:not(.nietgevonden)
  > .premium-sub-menu-link:focus-visible {
  background: var(--e-global-color-feef33c, #faf8fe) !important;
  color: var(--e-global-color-primary, #6f47d7) !important;
  transform: translateY(-2px);
}

.diensten-dropdown
  > .premium-sub-menu
  > li:not(.nietgevonden)
  > .premium-sub-menu-link:hover::before,
.diensten-dropdown
  > .premium-sub-menu
  > li:not(.nietgevonden)
  > .premium-sub-menu-link:focus-visible::before {
  background-color: #eee7ff;
  transform: scale(1.04);
}

.diensten-dropdown > .premium-sub-menu > .nietgevonden {
  grid-column: 1 / -1;
  margin: 8px 12px 0 !important;
  border-top: 1px solid var(--e-global-color-e0c9ccf, #e9e5f2);
}

.diensten-dropdown
  > .premium-sub-menu
  > .nietgevonden
  > .premium-sub-menu-link {
  display: flex !important;
  align-items: center;
  gap: 12px !important;
  min-height: 58px;
  padding: 12px 0 4px !important;
  background: transparent !important;
  color: var(--e-global-color-primary, #6f47d7) !important;
  font-size: 1rem;
  font-weight: 700 !important;
}

.diensten-dropdown
  > .premium-sub-menu
  > .nietgevonden
  > .premium-sub-menu-link
  > .diensten-dropdown__description {
  grid-row: auto;
  grid-column: auto;
  margin-right: auto;
  color: var(--e-global-color-f620234, #6b6488);
  order: -1;
  font-weight: 400;
}

.diensten-dropdown
  > .premium-sub-menu
  > .nietgevonden
  > .premium-sub-menu-link::after {
  content: "→";
  font-size: 1.25em;
  transition: transform 180ms ease;
}

.diensten-dropdown
  > .premium-sub-menu
  > .nietgevonden
  > .premium-sub-menu-link:hover::after,
.diensten-dropdown
  > .premium-sub-menu
  > .nietgevonden
  > .premium-sub-menu-link:focus-visible::after {
  transform: translateX(4px);
}

@media (min-width: 1025px) {
  #header-menu .diensten-dropdown {
    position: relative;
  }

  #header-menu .diensten-dropdown > .premium-sub-menu {
    top: calc(100% + 18px) !important;
    right: auto !important;
    left: 50% !important;
    display: grid;
    width: min(560px, calc(100vw - 40px));
    min-width: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 18px;
    margin: 0 !important;
    padding: 24px 24px 18px !important;
    border: 1px solid var(--e-global-color-e0c9ccf, #e9e5f2) !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 24px 60px rgb(68 34 142 / 16%) !important;
    transform: translateX(-50%);
  }

  #header-menu .diensten-dropdown > .premium-sub-menu::before {
    position: absolute;
    top: -8px;
    left: 50%;
    width: 16px;
    height: 16px;
    border-top: 1px solid var(--e-global-color-e0c9ccf, #e9e5f2);
    border-left: 1px solid var(--e-global-color-e0c9ccf, #e9e5f2);
    background: #fff;
    content: "";
    transform: translateX(-50%) rotate(45deg);
  }
}

@media (max-width: 1024px) {
  .diensten-dropdown > .premium-sub-menu {
    grid-template-columns: 1fr;
    padding-block: 8px !important;
  }

  .diensten-dropdown
    > .premium-sub-menu
    > li:not(.nietgevonden)
    > .premium-sub-menu-link {
    min-height: 76px;
    grid-template-columns: 48px minmax(0, 1fr);
    padding: 8px 12px !important;
  }

  .diensten-dropdown
    > .premium-sub-menu
    > li:not(.nietgevonden)
    > .premium-sub-menu-link::before {
    width: 48px;
    height: 48px;
    border-radius: 13px;
    background-size: 25px;
  }

  .diensten-dropdown > .premium-sub-menu > .nietgevonden {
    margin-inline: 12px !important;
  }
}

/* Tablet: houd het submenu als toegankelijke accordion in het off-canvas-menu. */
@media (min-width: 768px) and (max-width: 1024px) {
  .e-off-canvas__content {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  .e-off-canvas__content .diensten-dropdown > .premium-sub-menu {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-height: none;
    margin: 10px 0 4px !important;
    padding: 4px 0 4px 12px !important;
    overflow: visible;
    border: 0 !important;
    border-left: 2px solid var(--e-global-color-e0c9ccf, #e9e5f2) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
  }

  .e-off-canvas__content
    .diensten-dropdown.is-diensten-open
    > .premium-sub-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .e-off-canvas__content
    .diensten-dropdown.is-diensten-open
    > .premium-menu-link
    > .premium-dropdown-icon {
    transform: rotate(180deg);
  }

  .e-off-canvas__content
    .diensten-dropdown
    > .premium-sub-menu
    > li:not(.nietgevonden) {
    float: none;
    width: 100%;
  }

  .e-off-canvas__content
    .diensten-dropdown
    > .premium-sub-menu
    > .nietgevonden {
    width: auto;
    clear: both;
    margin: 6px 8px 0 !important;
  }

  .e-off-canvas__content
    .diensten-dropdown
    > .premium-sub-menu
    > li:not(.nietgevonden)
    > .premium-sub-menu-link {
    min-height: 66px;
    grid-template-columns: 40px minmax(0, 1fr);
    padding: 7px 8px !important;
    column-gap: 11px !important;
  }

  .e-off-canvas__content
    .diensten-dropdown
    > .premium-sub-menu
    > li:not(.nietgevonden)
    > .premium-sub-menu-link::before {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background-size: 21px;
  }

  .e-off-canvas__content .diensten-dropdown__description {
    font-size: 0.8125rem;
  }
}
