/* ShelfLifeCheck header interaction, based on observed Vshokolade UX.
 * Site-specific extension. No shared LIO Core modifications.
 */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  transform: translateY(0);
  transition: transform .32s ease, box-shadow .2s ease;
  background: #fff;
  box-shadow: 0 5px 24px rgba(21,64,42,.06);
}
.site-header.shelf-nav-up {transform: translateY(-105%);pointer-events:none;}
.site-header.shelf-nav-down {transform: translateY(0);pointer-events:auto;}
.site-header .shelf-nav-desktop a[aria-current="page"] {
  color: #28684a;
  text-decoration: none;
  box-shadow: inset 0 -2px #8dbf90;
}
html {scroll-padding-top: 90px;}
@media (max-width:1200px){
  .site-header .wrap{
    min-height:76px;
    display:flex;align-items:center;flex-direction:row;justify-content:space-between;
    padding:8px 0;gap:12px;position:relative;
  }
  .site-header nav.shelf-nav-desktop {display:none;}
  .site-header .shelf-nav-mobile {display:block;position:relative;margin-left:auto;z-index:2;}
  .site-header .shelf-nav-mobile summary {
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;padding:7px;margin:0;
    border:0;background:transparent;color:#184a33;
    cursor:pointer;list-style:none;border-radius:8px;
    font-size:0;box-shadow:none;
  }
  .site-header .shelf-nav-mobile summary::-webkit-details-marker {display:none;}
  .site-header .shelf-nav-mobile summary:hover,
  .site-header .shelf-nav-mobile summary:focus-visible {background:#f0f7ec;}
  .site-header .shelf-nav-mobile summary:focus-visible{
    outline:3px solid #97c290;outline-offset:2px;
  }
  .shelf-menu-word{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
  }
  .shelf-menu-bars{
    display:flex;position:relative;flex-direction:column;justify-content:space-between;
    width:28px;height:22px;
  }
  .shelf-menu-bars span {
    display:block;width:100%;height:2px;background:currentColor;
    border-radius:2px;transition:transform .25s ease,opacity .2s ease;
    transform-origin:center;
  }
  .shelf-nav-mobile[open] .shelf-menu-bars span:nth-child(1) {transform:translateY(10px) rotate(45deg);}
  .shelf-nav-mobile[open] .shelf-menu-bars span:nth-child(2) {opacity:0;}
  .shelf-nav-mobile[open] .shelf-menu-bars span:nth-child(3) {transform:translateY(-10px) rotate(-45deg);}
  .site-header .shelf-nav-mobile nav {
    position:fixed;
    top:var(--shelf-header-height,76px);
    left:0;
    right:0;
    bottom:0;
    z-index:101;
    width:100vw;
    height:calc(100dvh - var(--shelf-header-height,76px));
    box-sizing:border-box;
    overflow-y:auto;overscroll-behavior:contain;
    margin:0;
    padding:24px max(16px,calc((100vw - 1120px)/2));
    background:#fff;
    border:0;border-top:1px solid #e7eee6;border-radius:0;
    box-shadow:none;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:min-content;
    align-content:start;
    align-items:stretch;
    gap:10px;
    animation:shelf-menu-enter .28s cubic-bezier(.18,.78,.21,1) both;
  }
  .site-header .shelf-nav-mobile nav a {
    display:flex;align-items:center;justify-content:center;min-height:55px;
    box-sizing:border-box;
    padding:12px 16px;
    color:#234a35;background:#f9fcf8;
    text-align:center;text-decoration:none;
    font-size:15px;font-weight:600;line-height:1.35;
    border:1px solid #d4e4d4;border-radius:12px;
    transition:background .15s ease,border-color .15s ease;
  }
  .site-header .shelf-nav-mobile nav a:hover,
  .site-header .shelf-nav-mobile nav a:focus-visible,
  .site-header .shelf-nav-mobile nav a[aria-current="page"]{
    background:#edf6ea;border-color:#92bd98;color:#174c35;
  }
  .site-header .shelf-nav-mobile nav a:focus-visible{outline:3px solid #92bd98;outline-offset:2px;}
  html.shelf-menu-open,body.shelf-menu-open{overscroll-behavior:none;}
  html.shelf-menu-open{overflow:hidden;}
  body.shelf-menu-open{overflow:hidden!important;}
  @keyframes shelf-menu-enter {
    from {opacity:.72;transform:translateX(-100%);}
    to {opacity:1;transform:translateX(0);}
  }
}
@media (max-width:600px){
  .site-header .wrap{min-height:68px;gap:8px;}
  .site-header .shelf-nav-mobile nav{padding:22px 16px;}
  .site-header .shelf-nav-mobile nav a{font-size:14px;min-height:54px;padding:12px 8px;}
}
@media (max-width:340px){
  .site-header .shelf-nav-mobile nav{grid-template-columns:1fr;}
  .site-header .shelf-nav-mobile nav a{min-height:46px;}
}
@media(prefers-reduced-motion:reduce){
  .site-header,.shelf-menu-bars span,
  .site-header .shelf-nav-mobile nav{transition:none!important;animation:none!important;}
}
