/* EOC keuzehulp: eigen dropdowns en interactiestaten. Kaartopmaak staat op de kolom in Design. */
.eoc-keuzehulp { width: 100%; min-width: 0; color: var(--color-content-heading); }
.eoc-keuzehulp [hidden] { display: none !important; }
.eoc-keuzehulp .eoc-keuzehulp-greeting { margin: 0; font-family: inherit; font-size: 24px; font-weight: 700; line-height: 1.2; }
.eoc-keuzehulp .eoc-keuzehulp-question { margin: 0 0 24px; font-family: inherit; font-size: 23px; font-weight: 400; line-height: 1.2; }
.eoc-keuzehulp .eoc-keuzehulp-field { margin-bottom: 20px; min-width: 0; }
.eoc-keuzehulp label { display: block; margin: 0 0 3px; color: var(--color-content-text); font-size: 14px; line-height: 1.4; }
.eoc-keuzehulp select {
  display: block; box-sizing: border-box; width: 100%; max-width: 100%;
  min-height: 40px; height: 40px; padding: 6px 30px 6px 9px;
  border: 0; border-radius: 0; box-shadow: none;
  background-color: var(--color-content-bg); color: var(--color-content-heading);
  font-family: inherit; font-size: 16px; line-height: 1.4; cursor: pointer;
  text-overflow: ellipsis;
}
.eoc-keuzehulp .eoc-keuzehulp-next { display: block; width: 100%; margin: 0; padding: 12px 10px; text-align: center; }
.eoc-keuzehulp select:focus-visible,
.eoc-keuzehulp .eoc-keuzehulp-trigger:focus-visible,
.eoc-keuzehulp a:focus-visible,
.eoc-keuzehulp summary:focus-visible { outline: 2px solid var(--color-content-heading); outline-offset: 3px; }
.eoc-keuzehulp-fallback summary { cursor: pointer; font-weight: 700; padding: 8px 0; }
.eoc-keuzehulp-fallback ul { margin: 0 0 12px 20px; }
.eoc-keuzehulp-fallback a { overflow-wrap: anywhere; }

/* Impreza gebruikt negatieve kolommarges; een ingesloten blok moet binnen de hostkolom blijven. */
.eoc-keuzehulp-block > .l-section-h > .g-cols { margin-left: 0; margin-right: 0; }

/* Eigen listbox: dezelfde breedte als het veld, ook bij lange teksten en op mobiel. */
.eoc-keuzehulp .eoc-keuzehulp-dropdown { position: relative; width: 100%; min-width: 0; }
.eoc-keuzehulp .eoc-keuzehulp-dropdown.is-open { z-index: 20; }
.eoc-keuzehulp .eoc-keuzehulp-trigger {
  position: relative; display: block; box-sizing: border-box; width: 100%; max-width: 100%;
  min-height: 40px; height: auto; margin: 0; padding: 8px 32px 8px 9px;
  border: 0; border-radius: 0; box-shadow: none; appearance: none;
  background: var(--color-content-bg); color: var(--color-content-heading);
  font-family: inherit; font-size: 16px; font-weight: 400; line-height: 1.4;
  text-align: left; text-transform: none; letter-spacing: normal;
  white-space: normal; overflow-wrap: anywhere; cursor: pointer;
}
.eoc-keuzehulp .eoc-keuzehulp-trigger::after {
  content: ''; position: absolute; right: 13px; top: 16px; width: 7px; height: 7px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg); pointer-events: none;
}
.eoc-keuzehulp .eoc-keuzehulp-trigger[aria-expanded="true"]::after { top: 19px; transform: rotate(225deg); }
.eoc-keuzehulp .eoc-keuzehulp-options {
  position: absolute; top: 100%; left: 0; z-index: 21; box-sizing: border-box;
  width: 100%; max-width: 100%; max-height: none; margin: 0; padding: 0;
  overflow: visible;
  border: 1px solid var(--color-content-border); border-radius: 0;
  background: var(--color-content-bg); color: var(--color-content-heading);
  text-align: left;
}
.eoc-keuzehulp .eoc-keuzehulp-option {
  position: relative; box-sizing: border-box; width: 100%; min-height: 44px;
  padding: 10px 28px 10px 9px; font-size: 16px; font-weight: 400; line-height: 1.4;
  white-space: normal; overflow-wrap: anywhere; cursor: pointer;
}
.eoc-keuzehulp .eoc-keuzehulp-option[aria-selected="true"]::after {
  content: '✓'; position: absolute; top: 10px; right: 9px; font-weight: 700;
}
.eoc-keuzehulp .eoc-keuzehulp-option.is-active {
  background: var(--color-content-primary); color: var(--color-content-bg);
}
@media (hover: hover) {
  .eoc-keuzehulp .eoc-keuzehulp-options:has(.eoc-keuzehulp-option:hover) .is-active:not(:hover) {
    background: var(--color-content-bg); color: var(--color-content-heading);
  }
  .eoc-keuzehulp .eoc-keuzehulp-option:hover {
    background: var(--color-content-primary); color: var(--color-content-bg);
  }
}
