/* Kokkekarriere v2.0.55 — final header breakpoint/logo sizing fix.
   Purpose: the previous 992px breakpoint made medium desktop/tablet widths load the
   small mobile logo + hide the normal menu too early. This file is loaded last and
   defines a clean split: desktop/tablet header from 769px and compact mobile under 768px. */

@media (min-width: 769px){
  body.kk-theme-v2 .kk-site-header{
    position:sticky!important;
    top:0!important;
    z-index:1300!important;
    background:#fff!important;
    border-bottom:1px solid var(--line,#e8e6e2)!important;
  }
  body.admin-bar.kk-theme-v2 .kk-site-header{top:32px!important;}

  body.kk-theme-v2 .kk-site-header__brandline,
  body.kk-theme-v2 .kk-site-header__menuline{
    display:block!important;
    background:#fff!important;
  }

  body.kk-theme-v2 .kk-site-header__brandline-inner,
  body.kk-theme-v2 .kk-site-header__menuline > .kk-container{
    width:min(100% - 56px,1180px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.kk-theme-v2 .kk-site-header__brandline-inner{
    position:relative!important;
    min-height:98px!important;
    padding:14px 64px 8px 0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:24px!important;
  }

  body.kk-theme-v2 .kk-wordmark,
  body.kk-theme-v2 .kk-wordmark:has(.kk-logo-picture){
    display:inline-flex!important;
    align-items:center!important;
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:calc(100vw - 150px)!important;
    overflow:visible!important;
    white-space:nowrap!important;
    line-height:1!important;
    text-decoration:none!important;
  }

  body.kk-theme-v2 .kk-logo-picture{
    display:inline-flex!important;
    align-items:center!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body.kk-theme-v2 .kk-wordmark__image--desktop{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-height:82px!important;
    max-width:min(720px,calc(100vw - 150px))!important;
    object-fit:contain!important;
  }
  body.kk-theme-v2 .kk-wordmark__image--mobile{
    display:none!important;
  }

  body.kk-theme-v2 .kk-site-header__menuline{
    padding:0 0 14px!important;
    border-top:0!important;
    border-bottom:1px solid var(--line,#e8e6e2)!important;
  }
  body.kk-theme-v2 .kk-site-header__menuline > .kk-container,
  body.kk-theme-v2 .kk-site-header__menuline .kk-site-nav{
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center!important;
    min-height:22px!important;
  }
  body.kk-theme-v2 .kk-site-header__menuline .kk-main-nav,
  body.kk-theme-v2 .kk-site-header__menuline .kk-site-nav > ul,
  body.kk-theme-v2 .kk-site-header__menuline .kk-site-nav .menu{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:22px!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  body.kk-theme-v2 .kk-site-header__menuline a{
    color:var(--brand,#DA1F26)!important;
    background:transparent!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:900!important;
    padding:0!important;
    text-decoration:none!important;
    white-space:nowrap!important;
  }

  body.kk-theme-v2 #hambuger_menu,
  body.kk-theme-v2 .kk-mobile-toggle,
  body.kk-theme-v2 button.humburger.kk-mobile-toggle#hambuger_menu{
    display:inline-flex!important;
    position:absolute!important;
    top:50%!important;
    right:0!important;
    transform:translateY(-50%)!important;
    z-index:1600!important;
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    border:0!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:6px!important;
    margin:0!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    appearance:none!important;
  }
  body.kk-theme-v2 #hambuger_menu .line,
  body.kk-theme-v2 .kk-mobile-toggle .line,
  body.kk-theme-v2 button.humburger.kk-mobile-toggle#hambuger_menu .line{
    display:block!important;
    width:28px!important;
    height:3px!important;
    border-radius:2px!important;
    margin:0!important;
    background:var(--brand,#DA1F26)!important;
    opacity:1!important;
    visibility:visible!important;
  }
}

@media (min-width: 769px) and (max-width: 1100px){
  body.kk-theme-v2 .kk-site-header__brandline-inner{
    min-height:88px!important;
    padding-top:10px!important;
    padding-bottom:6px!important;
  }
  body.kk-theme-v2 .kk-wordmark__image--desktop{
    max-height:72px!important;
    max-width:calc(100vw - 150px)!important;
  }
  body.kk-theme-v2 .kk-site-header__menuline .kk-main-nav,
  body.kk-theme-v2 .kk-site-header__menuline .kk-site-nav > ul,
  body.kk-theme-v2 .kk-site-header__menuline .kk-site-nav .menu{
    gap:18px!important;
  }
  body.kk-theme-v2 .kk-site-header__menuline a{font-size:14px!important;}
}

@media (max-width: 768px){
  body.kk-theme-v2 .kk-site-header{
    position:sticky!important;
    top:0!important;
    z-index:1300!important;
    background:#fff!important;
    border-bottom:2px solid #d0ccc4!important;
  }
  body.admin-bar.kk-theme-v2 .kk-site-header{top:46px!important;}
  body.kk-theme-v2 .kk-site-header__brandline-inner{
    width:min(100% - 24px,1180px)!important;
    min-height:56px!important;
    padding:5px 0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  body.kk-theme-v2 .kk-site-header__menuline{display:none!important;}
  body.kk-theme-v2 .kk-wordmark,
  body.kk-theme-v2 .kk-wordmark:has(.kk-logo-picture){
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:calc(100vw - 74px)!important;
    overflow:visible!important;
  }
  body.kk-theme-v2 .kk-wordmark__image--desktop{display:none!important;}
  body.kk-theme-v2 .kk-wordmark__image--mobile{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:min(220px,calc(100vw - 74px))!important;
    max-height:44px!important;
    object-fit:contain!important;
  }
  body.kk-theme-v2 #hambuger_menu,
  body.kk-theme-v2 .kk-mobile-toggle,
  body.kk-theme-v2 button.humburger.kk-mobile-toggle#hambuger_menu{
    display:inline-flex!important;
    position:relative!important;
    top:auto!important;
    right:auto!important;
    transform:none!important;
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
    padding:5px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
  }
  body.kk-theme-v2 #hambuger_menu .line,
  body.kk-theme-v2 .kk-mobile-toggle .line{
    width:27px!important;
    height:3px!important;
    background:var(--brand,#DA1F26)!important;
  }
}

@media (max-width: 420px){
  body.kk-theme-v2 .kk-site-header__brandline-inner{min-height:52px!important;padding-top:4px!important;padding-bottom:4px!important;}
  body.kk-theme-v2 .kk-wordmark__image--mobile{max-height:40px!important;max-width:min(190px,calc(100vw - 70px))!important;}
}

/* v2.0.55 — larger mobile logo while keeping compact mobile header.
   The client supplied a dedicated mobile logo and it should use more of the
   available horizontal space instead of being capped too low by legacy mobile
   rules. Loaded after all older header rules. */
@media (max-width: 768px){
  body.kk-theme-v2 .kk-site-header__brandline-inner{
    width:calc(100% - 24px)!important;
    min-height:86px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
    gap:12px!important;
  }
  body.kk-theme-v2 .kk-wordmark,
  body.kk-theme-v2 .kk-wordmark:has(.kk-logo-picture){
    flex:1 1 auto!important;
    max-width:calc(100vw - 86px)!important;
    min-width:0!important;
    overflow:visible!important;
  }
  body.kk-theme-v2 .kk-logo-picture{
    width:min(280px,calc(100vw - 86px))!important;
    max-width:calc(100vw - 86px)!important;
  }
  body.kk-theme-v2 .kk-wordmark__image--mobile{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:78px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  body.kk-theme-v2 .kk-wordmark__image--desktop{display:none!important;}
  body.kk-theme-v2 #hambuger_menu,
  body.kk-theme-v2 .kk-mobile-toggle,
  body.kk-theme-v2 button.humburger.kk-mobile-toggle#hambuger_menu{
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
    margin-left:auto!important;
  }
}
@media (max-width: 420px){
  body.kk-theme-v2 .kk-site-header__brandline-inner{
    min-height:84px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  body.kk-theme-v2 .kk-logo-picture{
    width:min(250px,calc(100vw - 82px))!important;
    max-width:calc(100vw - 82px)!important;
  }
  body.kk-theme-v2 .kk-wordmark__image--mobile{
    width:100%!important;
    max-width:100%!important;
    max-height:76px!important;
  }
}
@media (max-width: 360px){
  body.kk-theme-v2 .kk-logo-picture{
    width:min(226px,calc(100vw - 78px))!important;
  }
  body.kk-theme-v2 .kk-wordmark__image--mobile{max-height:71px!important;}
}


/* v2.0.56 — mobile drawer close button hardlock.
   The drawer's close X must remain visible/clickable on mobile after the larger
   mobile-logo changes. Use generated cross-lines so old button typography/color
   cannot hide the close control. */
body.kk-theme-v2 #menubody #kk_menu_close,
body.kk-theme-v2 #menubody .kk-drawer-close{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#fff!important;
  font-size:0!important;
  line-height:1!important;
  text-indent:0!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  z-index:9999!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  box-shadow:none!important;
}
body.kk-theme-v2 #menubody #kk_menu_close::before,
body.kk-theme-v2 #menubody #kk_menu_close::after,
body.kk-theme-v2 #menubody .kk-drawer-close::before,
body.kk-theme-v2 #menubody .kk-drawer-close::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:28px!important;
  height:3px!important;
  border-radius:3px!important;
  background:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  transform-origin:center!important;
  pointer-events:none!important;
}
body.kk-theme-v2 #menubody #kk_menu_close::before,
body.kk-theme-v2 #menubody .kk-drawer-close::before{
  transform:translate(-50%,-50%) rotate(45deg)!important;
}
body.kk-theme-v2 #menubody #kk_menu_close::after,
body.kk-theme-v2 #menubody .kk-drawer-close::after{
  transform:translate(-50%,-50%) rotate(-45deg)!important;
}
body.kk-theme-v2 #menubody #kk_menu_close:hover::before,
body.kk-theme-v2 #menubody #kk_menu_close:hover::after,
body.kk-theme-v2 #menubody #kk_menu_close:focus::before,
body.kk-theme-v2 #menubody #kk_menu_close:focus::after,
body.kk-theme-v2 #menubody .kk-drawer-close:hover::before,
body.kk-theme-v2 #menubody .kk-drawer-close:hover::after,
body.kk-theme-v2 #menubody .kk-drawer-close:focus::before,
body.kk-theme-v2 #menubody .kk-drawer-close:focus::after{
  background:var(--brand,#DA1F26)!important;
}
body.kk-theme-v2 #menubody #kk_menu_close:focus-visible,
body.kk-theme-v2 #menubody .kk-drawer-close:focus-visible{
  outline:2px solid rgba(255,255,255,.55)!important;
  outline-offset:3px!important;
}
@media (max-width: 768px){
  body.kk-theme-v2 #menubody.menu_body.kk-mobile-menu,
  body.kk-theme-v2 .menu_body.kk-mobile-menu#menubody,
  body.kk-theme-v2 .kk-mobile-menu#menubody{
    padding-top:72px!important;
  }
  body.kk-theme-v2 #menubody #kk_menu_close,
  body.kk-theme-v2 #menubody .kk-drawer-close{
    top:12px!important;
    right:12px!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }
}


/* v2.0.57 — adjustable mobile header rhythm and divider line.
   The mobile logo/header padding is now controlled from Theme Options so the
   client can tighten or loosen the white space above/below the logo without
   changing code. This block is intentionally last to beat older 420px/768px
   rules from previous iterations. */
@media (max-width: 768px){
  body.kk-theme-v2 .kk-site-header{
    border-bottom:var(--kk-mobile-header-divider-width,2px) solid var(--kk-mobile-header-divider-color,#c7c2b9)!important;
  }
  body.kk-theme-v2 .kk-site-header__brandline,
  body.kk-theme-v2 .kk-site-header__brandline-inner{
    border-bottom:0!important;
  }
  body.kk-theme-v2 .kk-site-header__brandline-inner{
    min-height:0!important;
    padding-top:var(--kk-mobile-header-padding-top,6px)!important;
    padding-bottom:var(--kk-mobile-header-padding-bottom,7px)!important;
  }
  body.kk-theme-v2 .kk-wordmark,
  body.kk-theme-v2 .kk-wordmark:has(.kk-logo-picture){
    align-self:center!important;
  }
  body.kk-theme-v2 #hambuger_menu,
  body.kk-theme-v2 .kk-mobile-toggle,
  body.kk-theme-v2 button.humburger.kk-mobile-toggle#hambuger_menu{
    align-self:center!important;
  }
}
@media (max-width: 420px){
  body.kk-theme-v2 .kk-site-header__brandline-inner{
    min-height:0!important;
    padding-top:var(--kk-mobile-header-padding-top,6px)!important;
    padding-bottom:var(--kk-mobile-header-padding-bottom,7px)!important;
  }
}
@media (max-width: 360px){
  body.kk-theme-v2 .kk-site-header__brandline-inner{
    padding-top:var(--kk-mobile-header-padding-top,6px)!important;
    padding-bottom:var(--kk-mobile-header-padding-bottom,7px)!important;
  }
}
