/* Zijmenu (menubuilder) — off-canvas drawer rechts, JS-vrij via de checkbox-hack
   (body:has(.sidemenu-toggle:checked)) + native <details>/<summary>-accordion.
   Placeholder-opmaak; verfijning volgt. */
.sidemenu-toggle{position:fixed;top:0;left:0;width:1px;height:1px;margin:0;padding:0;border:0;overflow:hidden;opacity:0;clip:rect(0 0 0 0);clip-path:inset(50%)}
.sidemenu-trigger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:50%;order:4;margin-left:6px}
.sidemenu-trigger:hover{background:var(--color-bg-soft,#f7f4ee)}
.sidemenu-backdrop{position:fixed;inset:0;z-index:90;background:rgba(41,39,35,.45);opacity:0;visibility:hidden;cursor:pointer;transition:opacity .35s var(--ease-out,ease),visibility 0s linear .35s}
body:has(.sidemenu-toggle:checked) .sidemenu-backdrop{opacity:1;visibility:visible;transition:opacity .35s var(--ease-out,ease)}
.sidemenu-drawer{position:fixed;top:0;right:0;z-index:100;width:min(86vw,360px);height:100%;background:var(--color-bg-elev,#fff);color:var(--color-fg,#2a2620);box-shadow:var(--shadow-lg,0 30px 70px -30px rgba(41,39,35,.45));display:flex;flex-direction:column;transform:translateX(100%);transition:transform .42s cubic-bezier(.4,0,.2,1);overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(20px,env(safe-area-inset-bottom))}
body:has(.sidemenu-toggle:checked) .sidemenu-drawer{transform:translateX(0)}
@media (prefers-reduced-motion:reduce){.sidemenu-drawer{transition-duration:.01ms}}
.sidemenu-drawer__head{display:flex;justify-content:flex-end;padding:14px 12px 2px}
.sidemenu-drawer__close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:50%}
.sidemenu-drawer__close:hover{background:var(--color-bg-soft,#f7f4ee)}
.sidemenu{display:flex;flex-direction:column;min-height:0}
.sidemenu__list,.sidemenu__sublist{list-style:none;margin:0;padding:0}
.sidemenu__item{position:relative;border-bottom:1px solid var(--color-border,#e7e2d8)}
.sidemenu__link{display:flex;align-items:center;gap:14px;padding:15px 22px;text-decoration:none;color:inherit;font-family:var(--font-display,inherit);font-size:1.08rem;font-weight:600}
.sidemenu__link--no-route{cursor:default}
.sidemenu__label{flex:1 1 auto}
.sidemenu__summary-link{flex:1 1 auto;color:inherit;text-decoration:none}
.sidemenu__item--active>.sidemenu__link{color:var(--color-primary,#2E6042)}
.sidemenu__summary{cursor:pointer;list-style:none}
.sidemenu__summary::-webkit-details-marker{display:none}
.sidemenu__chevron{flex:none;width:22px;height:22px;transition:transform var(--dur-med,.3s) var(--ease-out,ease)}
.sidemenu__disclosure[open]>.sidemenu__summary .sidemenu__chevron{transform:rotate(180deg)}
.sidemenu__sublist{background:var(--color-bg-soft,#f7f4ee)}
.sidemenu__item--sub>.sidemenu__link{padding-left:44px;font-size:.98rem;font-weight:500}
.sidemenu__ctas{display:flex;flex-direction:column;gap:10px;padding:20px 22px;margin-top:auto}
.sidemenu__cta{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:40px;background:var(--color-primary,#2E6042);color:var(--color-primary-fg,#fff);text-decoration:none;font-weight:600;transition:background var(--dur-fast,.2s) var(--ease-out,ease),transform var(--dur-fast,.2s) var(--ease-out,ease)}
.sidemenu__cta:hover{background:var(--green-2,#37723E);transform:translateY(-2px)}

/* Hamburger-zichtbaarheid: mobiel altijd; desktop alleen als de CMS-toggle aanstaat
   (data-sidemenu-desktop op <html>, gezet door SiteApp::sideMenuOnDesktop). Het zijmenu
   vervangt de oude nav-toggle (één hamburger), dus die verbergen waar een sidemenu is. */
html[data-has-sidemenu="1"] .site-header__menu-toggle{display:none}
@media (min-width:861px){
  .sidemenu-trigger{display:none}
  html[data-sidemenu-desktop="1"] .sidemenu-trigger{display:inline-flex}
}
