/* Arendswijk Smart Navigation v3.2
   Compact desktop + mega popovers + mobile bottom dock/sheets.
   Loaded after style.css and intentionally overrides old nav breakpoints. */

:root{
  --smart-nav-bg:rgba(7,17,31,.84);
  --smart-panel-bg:rgba(10,22,38,.985);
  --smart-panel-bg-soft:rgba(16,32,51,.985);
  --smart-accent:#38bdf8;
  --smart-accent-2:#34d399;
  --smart-yellow:#facc15;
  --smart-shadow:0 24px 70px rgba(0,0,0,.52);
}

.smart-nav-site.smart-nav-lock,
.smart-nav-admin.smart-nav-lock{overflow:hidden}

.smart-site-nav,
.smart-admin-nav{
  z-index:220;
  overflow:visible;
  background:linear-gradient(135deg,rgba(7,17,31,.92),rgba(8,23,39,.84));
  border-color:rgba(255,255,255,.13);
}
.smart-site-nav .smart-nav-inner,
.smart-admin-nav .smart-nav-inner{
  width:100%;
  max-width:none;
  min-height:68px;
  padding:8px 12px 8px 14px;
  gap:12px;
  flex-direction:row;
  align-items:center;
  flex-wrap:nowrap;
}
.smart-nav-brand{flex:0 1 auto;min-width:0}
.smart-nav-brand .brand-logo-wrap{width:46px;height:46px;border-radius:15px}
.smart-nav-brand .brand-text{min-width:0}
.smart-nav-brand .brand-text strong{white-space:nowrap}

.smart-site-desktop,
.smart-admin-desktop{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;flex:1 1 auto}
.smart-site-primary{display:flex;align-items:center;gap:3px;min-width:0}
.smart-nav-main-link,
.smart-nav-popover-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 12px;
  border-radius:999px;
  color:var(--muted-2);
  font-size:.92rem;
  font-weight:760;
  white-space:nowrap;
  transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease;
}
.smart-nav-main-link:hover,
.smart-nav-main-link.active,
.smart-nav-popover-trigger:hover,
.smart-nav-popover-trigger.active,
.smart-nav-popover[open]>.smart-nav-popover-trigger{
  background:rgba(255,255,255,.09);
  color:#fff;
}
.smart-nav-main-link:active,.smart-nav-popover-trigger:active{transform:scale(.98)}

.smart-nav-popover{position:relative;flex:0 0 auto}
.smart-nav-popover>summary{list-style:none;cursor:pointer;user-select:none}
.smart-nav-popover>summary::-webkit-details-marker{display:none}
.smart-chevron{display:inline-block;margin-left:7px;font-size:.8rem;transition:transform .18s ease}
.smart-nav-popover[open] .smart-chevron{transform:rotate(180deg)}
.smart-popover-panel{
  position:absolute;
  top:calc(100% + 12px);
  z-index:430;
  padding:16px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  background:linear-gradient(145deg,var(--smart-panel-bg),var(--smart-panel-bg-soft));
  box-shadow:var(--smart-shadow);
  backdrop-filter:blur(28px);
  animation:smart-pop-in .16s ease-out both;
}
.smart-site-more-panel{right:0;width:min(620px,calc(100vw - 32px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.smart-admin-mega{left:50%;transform:translateX(-50%);width:min(560px,calc(100vw - 32px))}
@keyframes smart-pop-in{from{opacity:0;translate:0 -7px}to{opacity:1;translate:0 0}}

.smart-popover-section{min-width:0;padding:4px}
.smart-popover-kicker{margin:0 0 9px;color:#facc15;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.smart-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.smart-site-more-panel .smart-link-grid{grid-template-columns:1fr}
.smart-link-card,
.smart-mobile-link,
.smart-command-result{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  padding:11px;
  border:1px solid transparent;
  border-radius:15px;
  color:#f8fafc;
  background:rgba(255,255,255,.025);
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.smart-link-card:hover,
.smart-link-card.active,
.smart-mobile-link:hover,
.smart-mobile-link.active,
.smart-command-result:hover,
.smart-command-result.is-selected{
  background:rgba(56,189,248,.095);
  border-color:rgba(56,189,248,.20);
}
.smart-link-card:active,.smart-mobile-link:active{transform:scale(.985)}
.smart-link-icon,
.smart-mega-icon{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(56,189,248,.11),rgba(52,211,153,.07));
  color:#dff8ff;
  font-size:.88rem;
  font-weight:950;
}
.smart-link-card>span:last-child,
.smart-mobile-link>span:last-child,
.smart-command-result>span:nth-child(2){display:grid;gap:3px;min-width:0}
.smart-link-card strong,.smart-mobile-link strong,.smart-command-result strong{font-size:.92rem;line-height:1.15}
.smart-link-card small,.smart-mobile-link small,.smart-command-result small{color:var(--muted);font-size:.75rem;line-height:1.35;font-weight:560}

.smart-mega-header{display:flex;align-items:center;gap:11px;margin:0 3px 13px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.smart-mega-header .smart-mega-icon{width:44px;height:44px;border-radius:14px;color:#fff}
.smart-mega-header h2{margin:0;font-size:1.28rem;line-height:1}
.smart-mega-header .smart-popover-kicker{margin-bottom:4px}

.smart-site-actions,.smart-admin-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.smart-site-cta{white-space:nowrap}
.smart-admin-actions .nav-cta{white-space:nowrap;min-height:42px;padding:10px 14px}
.smart-admin-view-site{padding:10px 8px;color:var(--muted-2);font-size:.86rem;white-space:nowrap}
.smart-admin-view-site:hover{color:#fff}
.smart-command-button{
  display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:7px 9px;
  border:1px solid rgba(255,255,255,.11);border-radius:13px;background:rgba(255,255,255,.045);color:var(--muted-2);font:inherit;font-size:.82rem;font-weight:750;cursor:pointer
}
.smart-command-button:hover{background:rgba(255,255,255,.08);color:#fff}
.smart-command-button kbd{padding:2px 5px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:rgba(0,0,0,.18);color:var(--muted);font-size:.65rem}

/* Mobile dock — hidden on desktop */
.smart-mobile-dock{display:none}
.smart-sheet,.smart-command-palette{position:fixed;inset:0;z-index:1200}
.smart-sheet[hidden],.smart-command-palette[hidden]{display:none!important}
.smart-sheet-backdrop,.smart-command-backdrop{position:absolute;inset:0;border:0;background:rgba(2,7,13,.68);backdrop-filter:blur(8px);cursor:default}
.smart-sheet-panel{
  position:absolute;left:8px;right:8px;bottom:8px;max-height:min(88dvh,820px);overflow:auto;
  padding:9px 16px max(18px,env(safe-area-inset-bottom));
  border:1px solid rgba(255,255,255,.15);border-radius:28px;
  background:linear-gradient(160deg,rgba(10,24,41,.995),rgba(8,18,31,.995));box-shadow:0 -24px 90px rgba(0,0,0,.58);
  animation:smart-sheet-up .22s cubic-bezier(.2,.8,.2,1) both
}
@keyframes smart-sheet-up{from{transform:translateY(36px);opacity:0}to{transform:translateY(0);opacity:1}}
.smart-sheet-handle{width:46px;height:5px;margin:2px auto 13px;border-radius:999px;background:rgba(255,255,255,.2)}
.smart-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.smart-sheet-header h2{margin:0;font-size:clamp(1.65rem,8vw,2.35rem);line-height:1;letter-spacing:-.035em}
.smart-sheet-header .smart-popover-kicker{margin-bottom:6px}
.smart-sheet-close{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.055);color:#fff;font:inherit;font-size:1.55rem;cursor:pointer}
.smart-nav-search{display:flex;align-items:center;gap:9px;margin-bottom:14px;padding:0 13px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.045)}
.smart-nav-search>span{color:#7dd3fc;font-size:1.2rem}
.smart-nav-search input{width:100%;min-height:48px;padding:0;border:0!important;outline:0;background:transparent!important;color:#fff;box-shadow:none!important;font:inherit}
.smart-nav-search input::placeholder{color:var(--muted)}
.smart-mobile-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.smart-mobile-link{min-height:68px;background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.06)}
.smart-mobile-link[data-smart-filter-hidden]{display:none}
.smart-sheet-footer-actions{display:flex;gap:9px;align-items:center;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}
.smart-sheet-footer-actions .nav-cta{flex:1 1 auto;justify-content:center}
.smart-sheet-admin-link{padding:10px 12px;color:var(--muted);font-size:.82rem}

.smart-admin-mobile-groups{display:grid;gap:18px}
.smart-admin-mobile-group{display:grid;gap:10px;scroll-margin-top:18px}
.smart-admin-mobile-group[data-smart-filter-empty]{display:none}
.smart-admin-mobile-group-title{display:flex;align-items:center;gap:10px;padding:0 3px}
.smart-admin-mobile-group-title h3{margin:0;font-size:1.12rem}
.smart-admin-mobile-group-title .smart-popover-kicker{margin-bottom:3px}
.smart-admin-sheet-actions>*{flex:1 1 0;justify-content:center;text-align:center}

/* Admin command palette */
.smart-command-palette{z-index:1400;display:grid;place-items:start center;padding-top:min(13vh,110px)}
.smart-command-dialog{position:relative;width:min(720px,calc(100% - 24px));max-height:min(72vh,720px);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:rgba(8,20,35,.995);box-shadow:0 30px 110px rgba(0,0,0,.66);animation:smart-pop-in .15s ease-out both}
.smart-command-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid var(--line)}
.smart-command-search-icon{color:#7dd3fc;font-size:1.35rem}
.smart-command-header input{min-width:0;min-height:46px;padding:0;border:0!important;outline:0;background:transparent!important;color:#fff;font:inherit;font-size:1.08rem;box-shadow:none!important}
.smart-command-header kbd{padding:4px 7px;border:1px solid rgba(255,255,255,.13);border-radius:7px;color:var(--muted);background:rgba(255,255,255,.04);font-size:.7rem}
.smart-command-results{max-height:calc(min(72vh,720px) - 74px);overflow:auto;padding:9px}
.smart-command-result{position:relative;padding:10px 11px}
.smart-command-result em{margin-left:auto;color:var(--muted);font-style:normal;opacity:.6}
.smart-command-result[hidden]{display:none}
.smart-command-empty{padding:28px;text-align:center;color:var(--muted)}

@media(max-width:1260px){
  .smart-admin-nav{width:min(1460px,calc(100% - 20px))}
  .smart-admin-nav .smart-nav-inner{gap:7px}
  .smart-admin-desktop{gap:1px}
  .smart-admin-nav .smart-nav-main-link,.smart-admin-nav .smart-nav-popover-trigger{padding-inline:9px;font-size:.84rem}
  .smart-command-button kbd{display:none}
  .smart-admin-view-site{font-size:.78rem}
}

/* Tablet/smartphone: top bar becomes identity only, bottom dock is the primary nav. */
@media(max-width:1040px){
  .smart-nav-site,.smart-nav-admin{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .smart-site-nav,.smart-admin-nav{top:8px!important;width:calc(100% - 16px)!important;border-radius:22px!important}
  .smart-site-nav .smart-nav-inner,.smart-admin-nav .smart-nav-inner{min-height:58px!important;padding:7px 9px 7px 10px!important;align-items:center!important;flex-direction:row!important;flex-wrap:nowrap!important}
  .smart-site-desktop,.smart-admin-desktop{display:none!important}
  .smart-mobile-dock{
    position:fixed;z-index:1000;left:50%;bottom:max(8px,env(safe-area-inset-bottom));transform:translateX(-50%);
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;
    width:min(520px,calc(100% - 16px));padding:6px;
    border:1px solid rgba(255,255,255,.14);border-radius:21px;
    background:rgba(7,17,31,.94);backdrop-filter:blur(24px);box-shadow:0 18px 60px rgba(0,0,0,.46)
  }
  .smart-dock-item{
    display:grid;place-items:center;align-content:center;gap:3px;min-width:0;min-height:54px;padding:5px 3px;border:0;border-radius:15px;background:transparent;color:var(--muted-2);font:inherit;font-size:.64rem;font-weight:760;cursor:pointer
  }
  .smart-dock-item:hover,.smart-dock-item.active{background:rgba(56,189,248,.11);color:#fff}
  .smart-dock-icon{display:grid;place-items:center;height:22px;font-size:1rem;font-weight:950;color:#b9efff}
  .smart-dock-menu-icon{gap:3px;width:20px}
  .smart-dock-menu-icon i{display:block;width:18px;height:2px;border-radius:2px;background:currentColor}
  .smart-site-actions{margin-left:auto;width:auto!important}
  .smart-site-actions .admin-key-link{display:grid}
  .smart-admin-actions{margin-left:auto}
  .smart-admin-actions .smart-admin-view-site,.smart-admin-actions .nav-cta{display:none}
  .smart-admin-actions .smart-command-button span:nth-child(2){display:none}
  .smart-admin-actions .smart-command-button{width:42px;height:42px;justify-content:center;padding:0}
  .smart-site-nav .brand-text small,.smart-admin-nav .brand-text small{display:none}
  .smart-site-nav .brand-text strong,.smart-admin-nav .brand-text strong{font-size:.96rem}
  .smart-site-nav .brand-logo-wrap,.smart-admin-nav .brand-logo-wrap{width:42px;height:42px;border-radius:13px}
}

@media(max-width:620px){
  .smart-site-nav .smart-site-cta{display:none}
  .smart-site-nav .brand-text strong{max-width:175px;overflow:hidden;text-overflow:ellipsis}
  .smart-mobile-link-grid{grid-template-columns:1fr}
  .smart-sheet-panel{left:6px;right:6px;bottom:6px;padding-inline:13px;border-radius:25px}
  .smart-sheet-footer-actions{display:grid}
  .smart-sheet-footer-actions .nav-cta,.smart-sheet-admin-link{width:100%;justify-content:center;text-align:center}
}

@media(max-width:390px){
  .smart-site-nav .brand-text{display:none}
  .smart-mobile-dock{width:calc(100% - 10px);bottom:max(5px,env(safe-area-inset-bottom));padding:5px}
  .smart-dock-item{font-size:.6rem}
}

@media(prefers-reduced-motion:reduce){
  .smart-chevron,.smart-link-card,.smart-mobile-link,.smart-nav-main-link,.smart-nav-popover-trigger{transition:none}
  .smart-popover-panel,.smart-sheet-panel,.smart-command-dialog{animation:none}
}


/* ================================================================
   V3.1 — STACKING FIX
   seasonal-themes.css gebruikt:
   body[class*="site-theme-"] > :not(.seasonal-scene) { z-index:1; }
   Die selector is specifieker dan de oorspronkelijke .smart-site-nav-regel.
   Daardoor kon hero/page-content boven een geopende popover tekenen.
   ================================================================ */
body.smart-nav-site > .smart-site-nav,
body.smart-nav-admin > .smart-admin-nav{
  position:sticky !important;
  z-index:1100 !important;
  isolation:isolate;
  overflow:visible !important;
}

body.smart-nav-site > .smart-site-nav .smart-nav-inner,
body.smart-nav-admin > .smart-admin-nav .smart-nav-inner{
  position:relative;
  z-index:1;
  overflow:visible;
}

body.smart-nav-site > .smart-site-nav .smart-nav-popover[open],
body.smart-nav-admin > .smart-admin-nav .smart-nav-popover[open]{
  z-index:20;
}

body.smart-nav-site > .smart-site-nav .smart-popover-panel,
body.smart-nav-admin > .smart-admin-nav .smart-popover-panel{
  z-index:30 !important;
}

@media(max-width:1040px){
  body.smart-nav-site > .smart-mobile-dock,
  body.smart-nav-admin > .smart-mobile-dock{
    z-index:1250;
  }

  body.smart-nav-site > .smart-sheet,
  body.smart-nav-admin > .smart-sheet{
    z-index:1300;
  }
}


/* ================================================================
   V3.2 — PUBLIEK MOBIEL: COMPACT APP-MENU
   Geen zoekveld/autofocus, geen lange beschrijvingen, wel grote touch targets.
   ================================================================ */
@media(max-width:1040px){
  .smart-site-mobile-sheet .smart-site-sheet-panel{
    left:10px;
    right:10px;
    bottom:max(82px,calc(env(safe-area-inset-bottom) + 72px));
    max-height:min(76dvh,650px);
    padding:9px 14px 14px;
    overflow:auto;
    overscroll-behavior:contain;
    border-radius:26px;
  }

  .smart-site-sheet-header{
    align-items:flex-start;
    margin-bottom:12px;
  }
  .smart-site-sheet-header h2{
    font-size:clamp(1.7rem,8vw,2.15rem);
    line-height:1;
  }
  .smart-site-sheet-intro{
    margin:5px 0 0;
    color:var(--muted);
    font-size:.78rem;
    line-height:1.35;
  }

  .smart-site-mobile-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .smart-site-mobile-tile{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
    gap:10px;
    min-width:0;
    min-height:66px;
    padding:10px;
    border:1px solid rgba(255,255,255,.085);
    border-radius:17px;
    background:rgba(255,255,255,.045);
    color:#fff;
    text-decoration:none;
    transition:transform .14s ease,background .14s ease,border-color .14s ease;
  }
  .smart-site-mobile-tile:active{transform:scale(.975)}
  .smart-site-mobile-tile.active{
    border-color:rgba(56,189,248,.32);
    background:rgba(56,189,248,.105);
  }
  .smart-site-mobile-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid rgba(125,211,252,.18);
    border-radius:13px;
    background:linear-gradient(145deg,rgba(56,189,248,.11),rgba(255,255,255,.035));
    color:#c8f3ff;
    font-size:1rem;
    font-weight:950;
  }
  .smart-site-mobile-tile strong{
    min-width:0;
    overflow-wrap:anywhere;
    font-size:.88rem;
    line-height:1.12;
  }

  .smart-site-sheet-footer{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.08);
  }
  .smart-site-sheet-cta{
    flex:1 1 auto;
    min-height:46px;
    justify-content:center;
  }
  .smart-site-sheet-admin{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:14px;
    color:var(--muted);
    font-size:.72rem;
    font-weight:750;
    text-decoration:none;
  }
}

@media(max-width:430px){
  .smart-site-mobile-sheet .smart-site-sheet-panel{
    left:7px;
    right:7px;
    bottom:max(76px,calc(env(safe-area-inset-bottom) + 67px));
    max-height:74dvh;
    padding-inline:11px;
    border-radius:23px;
  }
  .smart-site-mobile-grid{gap:7px}
  .smart-site-mobile-tile{
    grid-template-columns:36px minmax(0,1fr);
    gap:8px;
    min-height:60px;
    padding:8px;
    border-radius:15px;
  }
  .smart-site-mobile-icon{
    width:36px;
    height:36px;
    border-radius:11px;
    font-size:.88rem;
  }
  .smart-site-mobile-tile strong{font-size:.79rem}
  .smart-site-sheet-footer{margin-top:10px;padding-top:10px}
  .smart-site-sheet-cta,.smart-site-sheet-admin{min-height:43px}
}

@media(max-width:350px){
  .smart-site-mobile-grid{grid-template-columns:1fr}
}


/* ================================================================
   V3.3 — DEFINITIEVE MOBIELE POSITIONERING
   seasonal-themes.css zet directe body-kinderen op position:relative.
   Daardoor werden dock en sheet uit hun fixed-position gehaald.
   Deze regels zijn bewust specifieker en gebruiken !important.
   ================================================================ */
@media(max-width:1040px){

  /* Echte vaste bottom dock, ongeacht seizoenthema */
  body.smart-nav-site > .smart-mobile-dock,
  body.smart-nav-admin > .smart-mobile-dock{
    position:fixed !important;
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:max(8px,env(safe-area-inset-bottom)) !important;
    transform:translateX(-50%) !important;
    z-index:1450 !important;
    margin:0 !important;
  }

  /* Echte viewport-overlay; niet langer onderdeel van de paginaflow */
  body.smart-nav-site > .smart-sheet,
  body.smart-nav-admin > .smart-sheet{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    min-height:100dvh !important;
    margin:0 !important;
    z-index:1500 !important;
  }

  /* Publiek menu wordt een echte full-screen app view */
  body.smart-nav-site > .smart-site-mobile-sheet .smart-sheet-backdrop{
    display:none;
  }

  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-sheet-panel{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    max-height:none !important;
    margin:0 !important;
    padding:
      max(18px,env(safe-area-inset-top))
      16px
      max(18px,env(safe-area-inset-bottom)) !important;
    overflow:hidden !important;
    border:0 !important;
    border-radius:0 !important;
    background:
      radial-gradient(circle at 88% 8%,rgba(245,199,71,.14),transparent 34%),
      radial-gradient(circle at 10% 92%,rgba(56,189,248,.11),transparent 36%),
      linear-gradient(160deg,#071725 0%,#081827 58%,#0c1721 100%) !important;
    box-shadow:none !important;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:14px;
  }

  body.smart-nav-site > .smart-site-mobile-sheet .smart-sheet-handle{
    display:none;
  }

  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-sheet-header{
    margin:0;
    padding:0;
    align-items:center;
  }

  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-sheet-header h2{
    font-size:clamp(2rem,8vw,2.65rem);
  }

  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-sheet-intro{
    margin-top:4px;
    font-size:.8rem;
  }

  body.smart-nav-site > .smart-site-mobile-sheet .smart-sheet-close{
    width:46px;
    height:46px;
    border-radius:15px;
  }

  /* Nooit een scrollbar in het publieke menu */
  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-mobile-grid{
    min-height:0;
    overflow:hidden;
    align-content:center;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:minmax(58px,72px);
    gap:9px;
  }

  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-mobile-tile{
    min-height:0;
    height:100%;
    padding:9px 10px;
  }

  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-sheet-footer{
    margin:0;
    padding-top:12px;
  }

  /* Tijdens open menu is de dock bewust niet zichtbaar:
     één laag, één navigatie, geen knoppen onder/door de overlay. */
  body.smart-nav-site.smart-nav-lock > .smart-site-dock{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  /* Op tablet/smalle desktop hoeft de witte CTA niet óók in de topbar te staan. */
  body.smart-nav-site > .smart-site-nav .smart-site-cta{
    display:none !important;
  }
}

@media(max-width:430px){
  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-sheet-panel{
    padding:
      max(14px,env(safe-area-inset-top))
      11px
      max(14px,env(safe-area-inset-bottom)) !important;
    gap:10px;
  }

  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-mobile-grid{
    gap:7px;
    grid-auto-rows:minmax(54px,66px);
  }

  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-mobile-tile{
    grid-template-columns:36px minmax(0,1fr);
    gap:8px;
    padding:7px 8px;
  }

  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-mobile-icon{
    width:36px;
    height:36px;
  }

  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-mobile-tile strong{
    font-size:.78rem;
  }
}

/* Alleen bij extreem kleine schermhoogte compacter maken,
   nog steeds zonder interne scrollbar. */
@media(max-width:430px) and (max-height:650px){
  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-sheet-intro{
    display:none;
  }
  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-sheet-header h2{
    font-size:1.8rem;
  }
  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-mobile-grid{
    grid-auto-rows:minmax(48px,56px);
  }
  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-sheet-footer{
    padding-top:7px;
  }
  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-sheet-cta,
  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-sheet-admin{
    min-height:40px;
  }
}

/* ================================================================
   V3.4 — MOBIEL MENU TERUG IN DE HEADER
   Publieke smartphone-navigatie gebruikt geen bottom dock meer.
   In de vaste header staan alleen Home, Menu en Beheer (sleutel).
   ================================================================ */
.smart-mobile-header-action{display:none}

@media(max-width:1040px){
  .smart-nav-site{padding-bottom:0!important}
  .smart-mobile-dock{display:none!important}

  .smart-site-actions{
    margin-left:auto;
    width:auto!important;
    display:flex;
    align-items:center;
    gap:6px;
  }

  .smart-mobile-header-action{
    display:inline-grid;
    place-items:center;
    flex:0 0 auto;
    width:42px;
    height:42px;
    padding:0;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.045);
    color:rgba(224,235,247,.82);
    font:inherit;
    cursor:pointer;
    transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
  }
  .smart-mobile-header-action:hover,
  .smart-mobile-header-action:focus-visible{
    color:#fff;
    border-color:rgba(56,189,248,.38);
    background:rgba(56,189,248,.11);
  }
  .smart-mobile-header-action:active{transform:scale(.96)}
  .smart-mobile-header-action svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .smart-header-menu-icon{
    display:grid;
    gap:4px;
    width:20px;
  }
  .smart-header-menu-icon i{
    display:block;
    width:20px;
    height:2px;
    border-radius:999px;
    background:currentColor;
  }

  .smart-site-actions .admin-key-link--header{
    width:42px;
    height:42px;
    opacity:.72;
  }

  /* De sleutel staat al in de header; geen dubbele beheerknop in het menu. */
  .smart-site-mobile-sheet .smart-site-sheet-admin{display:none!important}

  /* Het menu opent nu vanuit de header en mag tot onderaan het scherm lopen. */
  body.smart-nav-site > .smart-site-mobile-sheet .smart-site-sheet-panel{
    padding-bottom:max(18px,env(safe-area-inset-bottom))!important;
  }
}

@media(max-width:560px){
  /* Met drie headerknoppen houden we de mobiele kop bewust compact. */
  .smart-site-nav .brand-text{display:none!important}
  .smart-site-nav .smart-nav-inner{gap:7px!important}
  .smart-site-actions{gap:5px}
}
