/* RIDO v0.54.2 — mobiele publieke navigatie.
   Doel: een herkenbare menuknop en één duidelijk, begrensd mobiel navigatiepaneel
   zonder overlap met hero-content of losse navigatieteksten op de pagina. */

@media (max-width: 1280px) {
  html body.rido-public-site.rido-ui-v0542 .site-header {
    overflow:visible!important;
  }

  html body.rido-public-site.rido-ui-v0542 .site-header .nav-wrap {
    position:relative!important;
  }

  /* De knop is bewust contrastrijk: geen leeg/grijs vlak meer. */
  html body.rido-public-site.rido-ui-v0542 .site-header .site-menu-toggle {
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 48px!important;
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #c8d8e2!important;
    border-radius:15px!important;
    background:#f5f9fb!important;
    color:#0a2238!important;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent;
  }

  html body.rido-public-site.rido-ui-v0542 .site-header .site-menu-toggle:hover,
  html body.rido-public-site.rido-ui-v0542 .site-header .site-menu-toggle:focus-visible,
  html body.rido-public-site.rido-ui-v0542 .site-header .site-menu-toggle.open {
    background:#e8f3f8!important;
    border-color:#87aec2!important;
  }

  html body.rido-public-site.rido-ui-v0542 .site-header .site-menu-toggle span {
    position:absolute!important;
    left:13px!important;
    display:block!important;
    width:22px!important;
    height:2px!important;
    margin:0!important;
    border:0!important;
    border-radius:999px!important;
    background:#0a2238!important;
    opacity:1!important;
    transform-origin:center!important;
    transition:top .16s ease,transform .16s ease,opacity .16s ease!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .site-menu-toggle span:nth-child(1){top:16px!important;}
  html body.rido-public-site.rido-ui-v0542 .site-header .site-menu-toggle span:nth-child(2){top:23px!important;}
  html body.rido-public-site.rido-ui-v0542 .site-header .site-menu-toggle span:nth-child(3){top:30px!important;}
  html body.rido-public-site.rido-ui-v0542 .site-header .site-menu-toggle.open span:nth-child(1){top:23px!important;transform:rotate(45deg)!important;}
  html body.rido-public-site.rido-ui-v0542 .site-header .site-menu-toggle.open span:nth-child(2){top:23px!important;opacity:0!important;}
  html body.rido-public-site.rido-ui-v0542 .site-header .site-menu-toggle.open span:nth-child(3){top:23px!important;transform:rotate(-45deg)!important;}

  /* Eén echt drawer-paneel. Belangrijk: background/border staan hier expliciet,
     zodat de navigatie nooit meer als losse tekst boven de hero verschijnt. */
  html body.rido-public-site.rido-ui-v0542 .site-header .site-nav {
    position:fixed!important;
    top:calc(var(--rido-public-header-bottom, 112px) + 8px)!important;
    left:12px!important;
    right:12px!important;
    bottom:auto!important;
    width:auto!important;
    max-width:none!important;
    max-height:calc(100dvh - var(--rido-public-header-bottom,112px) - 20px)!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:6px!important;
    margin:0!important;
    padding:12px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    border:1px solid #d5e1e8!important;
    border-radius:20px!important;
    background:#ffffff!important;
    color:#0a2238!important;
    box-shadow:0 22px 64px rgba(6,31,50,.22)!important;
    z-index:1310!important;
    -webkit-overflow-scrolling:touch;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .site-nav.open {
    display:flex!important;
  }

  html body.rido-public-site.rido-ui-v0542 .site-header .site-nav > a,
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-more-btn {
    width:100%!important;
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin:0!important;
    padding:13px 14px!important;
    border:1px solid transparent!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#0a2238!important;
    font-size:15px!important;
    font-weight:800!important;
    line-height:1.25!important;
    text-align:left!important;
    text-decoration:none!important;
    white-space:normal!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .site-nav > a:hover,
  html body.rido-public-site.rido-ui-v0542 .site-header .site-nav > a:focus-visible,
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-more-btn:hover,
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-more-btn:focus-visible,
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-more.open > .nav-more-btn {
    background:#eef6fa!important;
    border-color:#d6e6ee!important;
    color:#075f8f!important;
  }

  html body.rido-public-site.rido-ui-v0542 .site-header .nav-more-btn::after {
    content:""!important;
    flex:0 0 9px!important;
    width:9px!important;
    height:9px!important;
    margin:0 3px 4px 10px!important;
    border-right:2px solid currentColor!important;
    border-bottom:2px solid currentColor!important;
    transform:rotate(45deg)!important;
    transition:transform .16s ease!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-more.open > .nav-more-btn::after {
    margin-bottom:-3px!important;
    transform:rotate(225deg)!important;
  }

  html body.rido-public-site.rido-ui-v0542 .site-header .nav-more {
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-more:not(.open) > .nav-more-menu {
    display:none!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-more.open > .nav-more-menu {
    display:grid!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-more-menu.nav-mega-menu {
    position:static!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    max-height:none!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin:4px 0 6px!important;
    padding:10px!important;
    overflow:visible!important;
    border:1px solid #dce7ed!important;
    border-radius:14px!important;
    background:#f6f9fb!important;
    box-shadow:none!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-mega-intro {
    display:grid!important;
    gap:2px!important;
    padding:4px 4px 7px!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-mega-intro strong {
    color:#0a2238!important;
    font-size:14px!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-mega-intro span {
    color:#5b7182!important;
    font-size:12px!important;
    line-height:1.45!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-mega-grid,
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-mega-grid.three-cols {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-mega-grid > a,
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-mega-footer > a {
    min-width:0!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    padding:11px!important;
    border:1px solid #e1e9ee!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#0a2238!important;
    text-decoration:none!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-mega-grid > a small {
    display:block!important;
    margin-top:2px!important;
    color:#5b7182!important;
    font-size:11px!important;
    line-height:1.35!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-menu-icon {
    display:grid!important;
    place-items:center!important;
    width:34px!important;
    height:34px!important;
    border-radius:10px!important;
    background:#e8f5fb!important;
    color:#075f8f!important;
    font-size:11px!important;
    font-weight:900!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-mega-footer {
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-mega-footer > a {
    display:flex!important;
    justify-content:center!important;
    min-height:44px!important;
    font-size:12px!important;
    font-weight:800!important;
    text-align:center!important;
  }

  html body.rido-public-site.rido-ui-v0542 .site-header .nav-account {
    border-top:1px solid #e4edf2!important;
    margin-top:4px!important;
    border-radius:0!important;
    padding-top:15px!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-cta {
    min-height:52px!important;
    justify-content:center!important;
    margin-top:2px!important;
    background:#0879bd!important;
    border-color:#0879bd!important;
    color:#fff!important;
    font-weight:850!important;
  }

  html body.rido-public-site.rido-ui-v0542 .rido-nav-backdrop {
    background:rgba(4,23,35,.48)!important;
    backdrop-filter:blur(2px)!important;
    -webkit-backdrop-filter:blur(2px)!important;
  }
}

@media (max-width: 560px) {
  html body.rido-public-site.rido-ui-v0542 .site-audience-context-inner {
    min-height:44px!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-context-trust span:first-child,
  html body.rido-public-site.rido-ui-v0542 .site-audience-change {
    font-size:12px!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-wrap {
    min-height:74px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .brand {
    grid-column:1!important;
    gap:10px!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .brand-mark {
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    border-radius:13px!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .brand-full {
    display:inline!important;
    max-width:210px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:17px!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .brand-short,
  html body.rido-public-site.rido-ui-v0542 .site-header .brand::after {
    display:none!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .site-menu-toggle {
    grid-column:2!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .site-nav {
    left:10px!important;
    right:10px!important;
    top:calc(var(--rido-public-header-bottom,118px) + 6px)!important;
    max-height:calc(100dvh - var(--rido-public-header-bottom,118px) - 16px)!important;
    padding:10px!important;
    border-radius:18px!important;
  }
  html body.rido-public-site.rido-ui-v0542 .site-header .nav-mega-footer {
    grid-template-columns:1fr!important;
  }
}

@media (max-width: 380px) {
  html body.rido-public-site.rido-ui-v0542 .site-header .brand-full {
    max-width:175px!important;
    font-size:16px!important;
  }
}
