.effect-laag:not([data-effect-direct]){display:block;position:relative}.effect-laag{box-sizing:border-box;--effect-duration:600ms;--effect-delay:0ms;--effect-distance:20px;--effect-strength:12px;--effect-color:var(--kleur-icoon);transform-origin:center;animation-duration:var(--effect-duration);animation-delay:var(--effect-delay);animation-fill-mode:both;transition-duration:var(--effect-duration);transition-property:transform,filter,opacity,color,background-color,border-color,border-radius,box-shadow,letter-spacing}
.effect-laag[data-direction=right]{--effect-x:var(--effect-distance);--effect-y:0px}.effect-laag[data-direction=left]{--effect-x:calc(-1 * var(--effect-distance));--effect-y:0px}.effect-laag[data-direction=top]{--effect-x:0px;--effect-y:calc(-1 * var(--effect-distance))}.effect-laag[data-direction=bottom]{--effect-x:0px;--effect-y:var(--effect-distance)}
.effect-fade_in.effect-in-beeld{animation-name:effect-fade}.effect-slide_in.effect-in-beeld{animation-name:effect-slide}.effect-blur_to_sharp.effect-in-beeld{animation-name:effect-blur}.effect-reveal_mask.effect-in-beeld,.effect-reveal_center.effect-in-beeld{animation-name:effect-reveal}.effect-scale_in.effect-in-beeld{animation-name:effect-scale}.effect-fade_out.effect-in-beeld{animation-name:effect-fade-out}.effect-stagger_rows.effect-in-beeld{animation-name:effect-slide}.effect-text_wave_reveal.effect-in-beeld{animation-name:effect-wave-reveal}.effect-typewriter.effect-in-beeld,.effect-typing_cycle.effect-in-beeld{overflow:hidden;white-space:nowrap;animation-name:effect-type}
.effect-glow{box-shadow:0 0 var(--effect-strength) var(--effect-color)}.effect-text_shadow{text-shadow:0 2px var(--effect-strength) var(--effect-color)}.effect-text_depth{text-shadow:1px 1px var(--effect-color),2px 2px var(--effect-color),3px 3px var(--effect-color)}.effect-text_stroke{-webkit-text-stroke:1px var(--effect-color)}.effect-text_gradient{background-image:linear-gradient(90deg,var(--effect-color),var(--kleur-icoontekst));background-clip:text;-webkit-text-fill-color:transparent}.effect-inset_shadow{box-shadow:inset 0 0 var(--effect-strength) var(--effect-color)}.effect-opacity{opacity:.7}
.effect-letter_spacing:hover,.effect-letter_spacing:focus-within,.effect-text_tracking_sweep:hover,.effect-text_tracking_sweep:focus-within{letter-spacing:.14em}.effect-underline_animation{background:linear-gradient(var(--effect-color),var(--effect-color)) 0 100% / 0 2px no-repeat}.effect-underline_animation:hover,.effect-underline_animation:focus-within{background-size:100% 2px}.effect-shimmer{background-image:linear-gradient(105deg,transparent 30%,color-mix(in srgb,var(--effect-color) 30%,transparent) 50%,transparent 70%);background-size:200% 100%;animation:effect-shimmer calc(var(--effect-duration) * 3) linear infinite}
.effect-wave_text,.effect-floating{animation:effect-float calc(var(--effect-duration) * 4) ease-in-out infinite}.effect-color_pulse,.effect-shadow_pulse{animation:effect-pulse calc(var(--effect-duration) * 3) ease-in-out infinite}.effect-text_flicker{animation:effect-flicker calc(var(--effect-duration) * 4) ease-in-out infinite}.effect-text_blur_pulse,.effect-focus_blur_words{animation:effect-blur-pulse calc(var(--effect-duration) * 3) ease-in-out infinite}.effect-text_squeeze{animation:effect-squeeze calc(var(--effect-duration) * 3) ease-in-out infinite}.effect-soft_wobble{animation:effect-wobble calc(var(--effect-duration) * 4) ease-in-out infinite}.effect-glitch{animation:effect-glitch calc(var(--effect-duration) * 4) steps(2,end) infinite}.effect-text_reflection{-webkit-box-reflect:below 0 linear-gradient(transparent,transparent 65%,color-mix(in srgb,var(--effect-color) 20%,transparent))}
.effect-zoom_hover:hover,.effect-zoom_hover:focus-within{transform:scale(1.06)}.effect-tilt_3d:hover,.effect-tilt_3d:focus-within,.effect-perspective_shift:hover,.effect-perspective_shift:focus-within{transform:perspective(700px) rotateX(5deg) rotateY(-5deg)}.effect-magnetic_hover:hover,.effect-magnetic_hover:focus-within{transform:translate(4px,-3px)}.effect-expand_collapse:hover,.effect-expand_collapse:focus-within{transform:scaleY(1.03)}.effect-row_highlight:hover,.effect-row_highlight:focus-within{background-color:color-mix(in srgb,var(--effect-color) 15%,transparent)}.effect-sticky_header{position:sticky;top:0;z-index:1}.effect-focus_glow:focus-within{box-shadow:0 0 var(--effect-strength) var(--effect-color)}.effect-floating_label:focus-within{transform:translateY(calc(-1 * var(--effect-distance) / 2))}.effect-success_error:focus-within{animation:effect-pulse var(--effect-duration) ease-in-out 1}
.effect-shadow_lift:hover,.effect-shadow_lift:focus-within,.effect-lift_hover:hover,.effect-lift_hover:focus-within{transform:translateY(-4px);box-shadow:0 6px var(--effect-strength) var(--effect-color)}.effect-border_animation{border:1px solid transparent}.effect-border_animation:hover,.effect-border_animation:focus-within,.effect-border_glow:hover,.effect-border_glow:focus-within{border-color:var(--effect-color);box-shadow:0 0 var(--effect-strength) var(--effect-color)}.effect-corner_radius:hover,.effect-corner_radius:focus-within{border-radius:24px}.effect-grayscale_color{filter:grayscale(1)}.effect-grayscale_color:hover,.effect-grayscale_color:focus-within{filter:grayscale(0)}.effect-brightness_contrast:hover,.effect-brightness_contrast:focus-within{filter:brightness(1.15) contrast(1.1)}.effect-saturation:hover,.effect-saturation:focus-within{filter:saturate(1.5)}.effect-rotate_hover:hover,.effect-rotate_hover:focus-within{transform:rotate(7deg)}.effect-pressed_state:active{transform:scale(.95)}.effect-soft_scale_down:hover,.effect-soft_scale_down:focus-within{transform:scale(.96)}.effect-background_transition:hover,.effect-background_transition:focus-within{background-color:color-mix(in srgb,var(--effect-color) 22%,transparent)}.effect-foreground_transition:hover,.effect-foreground_transition:focus-within{color:var(--effect-color)}.effect-blur_background:hover,.effect-blur_background:focus-within{backdrop-filter:blur(5px)}.effect-clip_shape:hover,.effect-clip_shape:focus-within{clip-path:inset(3% round 18px)}
@keyframes effect-fade{from{opacity:0}to{opacity:1}}@keyframes effect-slide{from{opacity:0;transform:translate(var(--effect-x),var(--effect-y))}to{opacity:1;transform:translate(0,0)}}@keyframes effect-blur{from{filter:blur(var(--effect-strength));opacity:.3}to{filter:blur(0);opacity:1}}@keyframes effect-reveal{from{clip-path:inset(0 50%)}to{clip-path:inset(0 0)}}@keyframes effect-scale{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes effect-fade-out{from{opacity:1}to{opacity:.25}}@keyframes effect-wave-reveal{from{opacity:0;letter-spacing:.4em}to{opacity:1;letter-spacing:normal}}@keyframes effect-type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes effect-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes effect-pulse{0%,100%{box-shadow:0 0 0 transparent}50%{box-shadow:0 0 var(--effect-strength) var(--effect-color)}}@keyframes effect-flicker{0%,92%,100%{opacity:1}93%,95%{opacity:.55}}@keyframes effect-blur-pulse{0%,100%{filter:blur(0)}50%{filter:blur(2px)}}@keyframes effect-squeeze{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.94)}}@keyframes effect-wobble{0%,100%{transform:rotate(0)}35%{transform:rotate(2deg)}70%{transform:rotate(-2deg)}}@keyframes effect-glitch{0%,96%,100%{transform:none}97%{transform:translateX(-2px)}98%{transform:translateX(2px)}}@keyframes effect-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.effect-laag{animation:none!important;transition:none!important;transform:none!important;filter:none!important;clip-path:none!important;opacity:1!important}.effect-laag:hover,.effect-laag:focus-within{transform:none!important}.effect-collapse-content,.effect-collapse-toggle::before,.effect-sticky_header thead{transition:none!important}}
@media (hover:none){.effect-laag[data-trigger=hover]{animation:none!important}.effect-laag.effect-tilt_3d,.effect-laag.effect-magnetic_hover,.effect-laag.effect-zoom_hover{transform:none}}
.effecten-beheer{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;color:var(--vlak-tekst,#182e39)}.effecten-kop{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.effecten-kop h2{margin:0}.effecten-catalogus{display:grid;gap:12px;min-width:0}.effecten-catalogus h2{margin:0}.effecten-catalogus-lijst{display:flex;flex-wrap:wrap;gap:8px}.effecten-catalogus-lijst button{max-width:100%;white-space:normal;overflow-wrap:anywhere}.effecten-catalogus>[data-effect-conflicten]{justify-self:start}.effecten-popup{box-sizing:border-box;width:min(850px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:2px solid var(--kleur-icoon,#387b98);border-radius:14px;background:var(--kleur-menu,#fff);color:var(--kleur-menutekst,#111);box-shadow:0 12px 36px #0005;padding:0}.effecten-popup::backdrop{background:#0008}.effecten-popup>header,.effecten-popup>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:var(--kleur-titelbalk,#ddd)}.effecten-popup>header h2{margin:0;font-size:1.2em}.effecten-popup>footer{position:sticky;bottom:0;justify-content:flex-end}.effecten-popup>form{padding:16px;display:grid;gap:10px;max-height:70dvh;overflow:auto}.effecten-popup>form>footer{display:flex;justify-content:flex-end;gap:8px}.effecten-popup label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.effecten-popup input,.effecten-popup select,.effecten-popup textarea{font:inherit;box-sizing:border-box;min-width:0;max-width:100%}.effecten-popup fieldset{min-width:0}.effecten-regels{max-height:44dvh;overflow:auto;padding:12px;display:grid;gap:10px}.effect-regel{border:1px solid var(--kleur-icoon,#888);border-radius:9px;padding:10px;display:grid;gap:8px}.effect-regel-kop,.effect-keuze,.effect-instellingen{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.effect-regel-kop strong{margin-inline-end:auto}.effect-keuze select{flex:1;min-width:150px}.effect-instellingen label{display:flex;align-items:center;gap:4px}.effect-instellingen input[type=number]{width:85px}.effecten-voorbeeld{padding:12px;border-top:1px solid var(--kleur-icoon,#888);min-height:110px}.effecten-voorbeeld h3{margin:0 0 8px}.effect-preview-object{display:inline-block;padding:14px;border:1px solid var(--kleur-icoon,#888);border-radius:7px}.effecten-kleuradapter{position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.effecten-kleuradapter:has(dialog[open]){visibility:visible;pointer-events:auto}.effecten-koppelingen{display:flex;flex-wrap:wrap;gap:8px}.effecten-koppelingen label{border:1px solid var(--kleur-icoon,#888);padding:4px 7px;border-radius:5px}
.effecten-popup [role=alert]:not([data-warning="1"]){color:var(--kleur-fout,#ad2336)}.effecten-popup [role=alert][data-warning="1"]{color:var(--kleur-waarschuwing,#8a5600)}
.effect-sticky_header{position:static}.effect-sticky_header thead{position:sticky;top:0;z-index:1;background:var(--kleur-menu,#fff);transition:box-shadow var(--effect-duration) ease,background-color var(--effect-duration) ease}.effect-sticky_header.effect-sticky-active thead{box-shadow:0 5px 12px color-mix(in srgb,var(--effect-color) 30%,transparent);background-color:color-mix(in srgb,var(--kleur-menu,#fff) 94%,var(--effect-color))}
.effect-expand_collapse:hover,.effect-expand_collapse:focus-within{transform:none}.effect-collapse-toggle{display:block;margin-inline-start:auto;position:relative;z-index:2;width:2.1em;height:2.1em;border:1px solid var(--effect-color);border-radius:6px;background:var(--kleur-menu,#fff);color:var(--effect-color);cursor:pointer}.effect-collapse-toggle::before{content:"";display:block;width:.55em;height:.55em;margin:auto;border-inline-end:2px solid currentColor;border-block-end:2px solid currentColor;transform:translateY(.15em) rotate(225deg);transition:transform var(--effect-duration) ease}.effect-is-collapsed>.effect-collapse-toggle::before{transform:translateY(-.15em) rotate(45deg)}.effect-collapse-content{max-height:none;transition:max-height var(--effect-duration) ease}.effect-expand_collapse .effect-collapse-content>*{width:100%}
.effect-row_highlight:hover,.effect-row_highlight:focus-within{background:transparent}.effect-row_highlight tr:hover,.effect-row_highlight tr:focus-within{background-color:color-mix(in srgb,var(--effect-color) 15%,transparent)}
.effect-stagger_rows.effect-in-beeld{animation:none}.effect-stagger_rows.effect-in-beeld tbody tr{animation:effect-slide var(--effect-duration) both}.effect-stagger_rows tbody tr:nth-child(2){animation-delay:calc(var(--effect-delay) + 100ms)}.effect-stagger_rows tbody tr:nth-child(3){animation-delay:calc(var(--effect-delay) + 200ms)}.effect-stagger_rows tbody tr:nth-child(n+4){animation-delay:calc(var(--effect-delay) + 300ms)}
.effect-text_swap[data-alternative]>*{animation:effect-swap-source calc(var(--effect-duration) * 4) ease-in-out infinite}.effect-text_swap[data-alternative]::after{content:attr(data-alternative);position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;animation:effect-swap-replacement calc(var(--effect-duration) * 4) ease-in-out infinite}
.effect-typing_cycle.effect-in-beeld{animation:effect-type-cycle calc(var(--effect-duration) * 4) steps(24,end) infinite}.effect-text_tracking_sweep{animation:effect-tracking calc(var(--effect-duration) * 4) ease-in-out infinite}.effect-color_pulse{animation:effect-color-pulse calc(var(--effect-duration) * 3) ease-in-out infinite}.effect-text_blur_pulse{animation:effect-blur-pulse calc(var(--effect-duration) * 3) ease-in-out infinite}
.effect-opacity{opacity:var(--effect-opacity)}.effect-glow[data-mode=pulse]{animation:effect-pulse calc(var(--effect-duration) * 3) ease-in-out infinite}.effect-tilt_3d:hover,.effect-tilt_3d:focus-within{transform:perspective(var(--effect-perspective)) rotateX(var(--effect-angle)) rotateY(calc(-1 * var(--effect-angle)))}
.effect-tekstdeel{display:inline-block}.effect-wave_text,.effect-focus_blur_words,.effect-text_wave_reveal.effect-in-beeld{animation:none}.effect-wave_text .effect-tekstdeel{animation:effect-character-wave calc(var(--effect-duration) * 2) ease-in-out infinite;animation-delay:calc(var(--effect-index) * 35ms)}.effect-focus_blur_words .effect-tekstdeel{animation:effect-word-focus calc(var(--effect-duration) * 4) ease-in-out infinite;animation-delay:calc(var(--effect-index) * 130ms)}.effect-text_wave_reveal.effect-in-beeld .effect-tekstdeel{animation:effect-character-reveal var(--effect-duration) both;animation-delay:calc(var(--effect-delay) + var(--effect-index) * 22ms)}
.effect-fade_in[data-trigger=visible]:not(.effect-in-beeld),.effect-slide_in[data-trigger=visible]:not(.effect-in-beeld),.effect-blur_to_sharp[data-trigger=visible]:not(.effect-in-beeld),.effect-reveal_mask[data-trigger=visible]:not(.effect-in-beeld),.effect-reveal_center[data-trigger=visible]:not(.effect-in-beeld),.effect-scale_in[data-trigger=visible]:not(.effect-in-beeld){opacity:0}.effect-text_wave_reveal[data-trigger=visible]:not(.effect-in-beeld) .effect-tekstdeel{opacity:0}
.effect-tilt_3d:hover,.effect-tilt_3d:focus-within{transform:perspective(var(--effect-perspective)) rotateX(calc(-1 * var(--effect-pointer-y, var(--effect-angle)))) rotateY(var(--effect-pointer-x, var(--effect-angle)))}.effect-magnetic_hover:hover,.effect-magnetic_hover:focus-within{transform:translate(var(--effect-pointer-x,4px),var(--effect-pointer-y,-3px))}
.effect-success_error:focus-within{animation:none}.effect-success_error:focus-within:has(:invalid),.effect-success_error:focus-within:has([aria-invalid=true]){animation:effect-error var(--effect-duration) ease-in-out 1}.effect-success_error:focus-within:has(:valid):not(:has(:invalid,[aria-invalid=true])){animation:effect-success var(--effect-duration) ease-in-out 1}.effect-floating_label:focus-within{transform:none}.effect-floating_label label{transition:transform var(--effect-duration)}.effect-floating_label:focus-within label{transform:translateY(calc(-1 * var(--effect-distance) / 2))}
@keyframes effect-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes effect-success{0%,100%{box-shadow:none}50%{box-shadow:0 0 var(--effect-strength) var(--effect-color)}}
@keyframes effect-character-wave{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes effect-word-focus{0%,100%{filter:blur(0)}35%{filter:blur(2px)}55%{filter:blur(0)}}@keyframes effect-character-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes effect-swap-source{0%,42%,100%{opacity:1}50%,92%{opacity:0}}@keyframes effect-swap-replacement{0%,42%,100%{opacity:0}50%,92%{opacity:1}}@keyframes effect-type-cycle{0%,12%,88%,100%{clip-path:inset(0 100% 0 0)}42%,58%{clip-path:inset(0 0 0 0)}}@keyframes effect-tracking{0%,100%{letter-spacing:normal}50%{letter-spacing:.16em}}@keyframes effect-color-pulse{0%,100%{color:inherit}50%{color:var(--effect-color)}}
@media (prefers-reduced-motion:reduce){.effect-text_swap[data-alternative]>*{animation:none!important;opacity:1!important}.effect-text_swap[data-alternative]::after{display:none}.effect-typing_cycle.effect-in-beeld,.effect-text_tracking_sweep,.effect-color_pulse{animation:none!important}}
@media(max-width:600px){.effect-mobile-uit,.effect-mobile-uit:hover,.effect-mobile-uit:focus-within{animation:none!important;transition:none!important;transform:none!important;filter:none!important;clip-path:none!important;opacity:1!important;background-image:none!important;background-color:transparent!important;box-shadow:none!important;text-shadow:none!important;border:0!important;letter-spacing:normal!important;-webkit-text-stroke:0!important;-webkit-box-reflect:none!important}.effect-mobile-uit .effect-tekstdeel,.effect-mobile-uit[data-alternative]>*{animation:none!important;opacity:1!important}.effect-mobile-uit[data-alternative]::after{display:none}}
@media(max-width:600px){.effecten-popup{width:calc(100vw - 8px);max-height:calc(100dvh - 8px)}.effecten-regels{max-height:40dvh}}
/* Eén kolomindeling voor beide scopes; de gedeelde controls bepalen hun opmaak. */
.effecten-rechten{container-type:inline-size;min-width:0;margin:0 0 14px}
.effecten-rechten h2{margin:0 0 14px}
.effecten-rechten-keuzes{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-bottom:14px;min-width:0}
body .effecten-rechten-keuzes>label{display:flex;align-items:center;gap:10px;flex:0 1 350px;min-width:0;max-width:100%;margin:0;text-align:left}
.effecten-rechten-keuzes>label>span{flex:none}
body .effecten-rechten-keuzes>label>:is(select,.zoekkeuze){flex:1 1 220px;min-width:0;width:auto;max-width:100%;margin:0}
[data-effect-rechten-rijen]{display:grid;grid-template-columns:max-content minmax(0,1.2fr) max-content minmax(0,1fr);column-gap:16px}
.effecten-rechtregel{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:center;row-gap:10px;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--kleur-icoon,#387b98) 25%,transparent);min-width:0;text-align:left}
.effecten-rechtregel>strong{grid-column:2;min-width:0;overflow-wrap:anywhere}
body .effecten-rechtregel>label{display:flex;align-items:center;gap:6px;margin:0;min-width:0;user-select:none;overflow-wrap:anywhere}
.effecten-recht-actueel{grid-column:3}
.effecten-recht-delegatie{grid-column:4}
.effecten-rechtregel>.effecten-recht-opslaan{grid-column:1;grid-row:1;justify-self:start;margin:0}
.effecten-recht-opslaan svg{flex:none;pointer-events:none}
.effecten-rechten [hidden]{display:none!important}
.effecten-rechten [data-effect-rechten-status]:empty{display:none}
@container(max-width:700px){
 [data-effect-rechten-rijen]{grid-template-columns:max-content minmax(0,1fr) minmax(0,1fr)}
 .effecten-rechtregel>strong{grid-row:1/3}
 .effecten-recht-actueel{grid-column:3;grid-row:1}
 .effecten-recht-delegatie{grid-column:3;grid-row:2}
 .effecten-rechtregel>.effecten-recht-opslaan{grid-row:1/3}
}
@container(max-width:540px){
 [data-effect-rechten-rijen]{grid-template-columns:max-content minmax(0,1fr);column-gap:12px}
 .effecten-rechtregel>strong{grid-row:1}
 .effecten-recht-actueel{grid-column:2;grid-row:2}
 .effecten-recht-delegatie{grid-column:2;grid-row:3}
 .effecten-rechtregel>.effecten-recht-opslaan{grid-row:1}
}

