/* Kokkekarriere v2.0.71 - cross-site runtime guards. */
body.kk-theme-v2 .kk-ad-slot[data-kk-ad-state="empty"],
body.kk-theme-v2 .kk-after-menu-ad[data-kk-ad-state="empty"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}


/* Pending ad shells are collapsed until a visible creative is confirmed. This
   prevents provider wrappers with fixed 980x300 sizing from masking the first
   editorial module while still allowing synchronous creatives to render as
   `filled` immediately and asynchronous creatives to reopen via JS. */
body.kk-theme-v2 .kk-ad-slot[data-kk-ad-state="pending"],
body.kk-theme-v2 .kk-after-menu-ad[data-kk-ad-state="pending"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

body.kk-theme-v2 .kk-after-menu-ad[data-kk-ad-state="filled"],
body.kk-theme-v2 .kk-ad-slot[data-kk-ad-state="filled"] {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Ad-provider CSS must never position the theme-owned wrapper over following
   content. Creative internals remain untouched. */
body.kk-theme-v2 .kk-after-menu-ad,
body.kk-theme-v2 .kk-ad-slot {
  position: relative !important;
  inset: auto !important;
  clear: both !important;
  float: none !important;
}

body.kk-theme-v2 [data-kk-frontpage-module="aktuelt"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  inset: auto !important;
  z-index: 2 !important;
  clear: both !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  color: var(--ink, #191919) !important;
  background: #fff !important;
}

body.kk-theme-v2 [data-kk-frontpage-module="aktuelt"] .kk-section__header,
body.kk-theme-v2 [data-kk-frontpage-module="aktuelt"] .kk-section-title,
body.kk-theme-v2 [data-kk-frontpage-module="aktuelt"] .kk-eyebrow,
body.kk-theme-v2 [data-kk-frontpage-module="aktuelt"] .kk-hero-grid,
body.kk-theme-v2 [data-kk-frontpage-module="aktuelt"] .kk-empty-state--articles {
  visibility: visible !important;
  opacity: 1 !important;
}

body.kk-theme-v2 [data-kk-frontpage-module="aktuelt"] .kk-section__header {
  display: flex !important;
  position: relative !important;
  z-index: 3 !important;
  color: var(--ink, #191919) !important;
}

body.kk-theme-v2 [data-kk-frontpage-module="aktuelt"] .kk-section-title {
  display: block !important;
  color: var(--ink, #191919) !important;
  -webkit-text-fill-color: var(--ink, #191919) !important;
}

body.kk-theme-v2 [data-kk-frontpage-module="aktuelt"] .kk-hero-grid {
  display: grid !important;
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  height: auto !important;
}

body.kk-theme-v2 [data-kk-frontpage-module="aktuelt"] .kk-hero-grid__main,
body.kk-theme-v2 [data-kk-frontpage-module="aktuelt"] .kk-hero-grid__side,
body.kk-theme-v2 [data-kk-frontpage-module="aktuelt"] .kk-article-card {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  height: auto !important;
}

body.kk-theme-v2 [data-kk-frontpage-module="aktuelt"] .kk-hero-grid__side {
  display: grid !important;
}

/* v2.0.66 — the front-page editorial module is structurally independent from
   every ad slot. Provider CSS may style its own boundary only; it must never
   reserve, hide, clip or position the Aktuelt module. */
body.kk-theme-v2 #kk-after-menu-ad-boundary {
  isolation: isolate !important;
  contain: layout paint !important;
  z-index: 0 !important;
}

body.kk-theme-v2 #kk-frontpage-aktuelt[data-kk-layout-independent="true"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  isolation: isolate !important;
  contain: layout !important;
}

body.kk-theme-v2 #kk-frontpage-aktuelt[hidden],
body.kk-theme-v2 #kk-frontpage-aktuelt[aria-hidden="true"] {
  display: block !important;
  visibility: visible !important;
}

/* Configurable employer-logo size. Default 80px is roughly 45% taller than the
   former 54px presentation while retaining each image's natural aspect ratio. */
body.kk-theme-v2 .kk-job-card--listing .kk-job-card__top,
body.kk-theme-v2 .kk-job-card--taxonomy .kk-job-card__top,
body.kk-theme-v2 .kk-job-card--home .kk-job-card__top {
  min-height: var(--kk-job-logo-size, 80px) !important;
}

body.kk-theme-v2 .kk-job-card--listing .kk-job-card__logo,
body.kk-theme-v2 .kk-job-card--taxonomy .kk-job-card__logo,
body.kk-theme-v2 .kk-job-card--home .kk-job-card__logo {
  min-width: var(--kk-job-logo-size, 80px) !important;
  min-height: var(--kk-job-logo-size, 80px) !important;
  width: auto !important;
  height: var(--kk-job-logo-size, 80px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

body.kk-theme-v2 .kk-job-card--listing .kk-job-card__logo img,
body.kk-theme-v2 .kk-job-card--taxonomy .kk-job-card__logo img,
body.kk-theme-v2 .kk-job-card--home .kk-job-card__logo img {
  width: auto !important;
  height: auto !important;
  max-width: var(--kk-job-logo-size, 80px) !important;
  max-height: var(--kk-job-logo-size, 80px) !important;
  object-fit: contain !important;
}

body.kk-theme-v2 .kk-job-card--listing .kk-logo-fallback,
body.kk-theme-v2 .kk-job-card--taxonomy .kk-logo-fallback,
body.kk-theme-v2 .kk-job-card--home .kk-logo-fallback {
  width: var(--kk-job-logo-size, 80px) !important;
  height: var(--kk-job-logo-size, 80px) !important;
  min-width: var(--kk-job-logo-size, 80px) !important;
}


/* Job details use the same lead-image contract as articles. Legacy job CSS
   must not hide or shrink a featured image that is rendered above content. */
body.kk-theme-v2 .kk-job-detail-main > .kk-detail-image--featured {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  margin: 4px 0 24px !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}
body.kk-theme-v2 .kk-job-detail-main > .kk-detail-image--featured img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}

/* v2.0.70 — unified header-to-content spacing.
   One gap now belongs to <main> for every light/non-hero public view. Template
   sections and cards no longer own competing top padding, so archives,
   categories, pages, posts, job details, job search, search and 404 screens
   all begin at the same vertical position below the header divider. */
body.kk-theme-v2 main#content[data-kk-unified-content-spacing="1"] {
  box-sizing: border-box !important;
  display: block !important;
  position: relative !important;
  clear: both !important;
  background: var(--paper, #f6f5f2) !important;
  padding-top: var(--kk-unified-content-top-desktop, var(--kk-unified-content-top-space, 40px)) !important;
  margin-top: 0 !important;
}

body.kk-theme-v2 main#content[data-kk-unified-content-spacing="1"] > .kk-section--no-hero,
body.kk-theme-v2 main#content[data-kk-unified-content-spacing="1"] > .kk-section--archive-list.kk-section--no-hero,
body.kk-theme-v2 main#content[data-kk-unified-content-spacing="1"] > .kk-section--single-content.kk-section--no-hero,
body.kk-theme-v2 main#content[data-kk-unified-content-spacing="1"] > .kk-section--jobs-filter.kk-section--no-hero {
  padding-top: 0 !important;
  margin-top: 0 !important;
  transform: none !important;
}

body.kk-theme-v2 main#content[data-kk-unified-content-spacing="1"] [data-kk-content-top-boundary] {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Jobs listing: heading and filter are separate normal-flow rows. This blocks
   inherited grid/flex/absolute rules from placing the H1 underneath the form. */
body.kk-theme-v2 main#content[data-kk-unified-content-spacing="1"] > [data-kk-canonical-jobs-header="1"] {
  display: block !important;
  position: relative !important;
  clear: both !important;
  width: 100% !important;
  padding: 0 0 18px !important;
  margin: 0 !important;
  overflow: visible !important;
}

body.kk-theme-v2 [data-kk-canonical-jobs-header="1"] > .kk-jobs-listing-heading-wrap,
body.kk-theme-v2 [data-kk-canonical-jobs-header="1"] > .kk-jobs-filter-wrap {
  display: block !important;
  position: static !important;
  float: none !important;
  clear: both !important;
  width: min(1180px, calc(100% - 56px)) !important;
  height: auto !important;
  min-height: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 0 !important;
  transform: none !important;
  overflow: visible !important;
}

body.kk-theme-v2 [data-kk-canonical-jobs-header="1"] > .kk-jobs-listing-heading-wrap {
  margin-bottom: 18px !important;
}

body.kk-theme-v2 [data-kk-canonical-jobs-header="1"] .kk-jobs-listing-header,
body.kk-theme-v2 [data-kk-canonical-jobs-header="1"] .kk-jobs-filter-card,
body.kk-theme-v2 [data-kk-canonical-jobs-header="1"] .kk-job-search--listing {
  position: static !important;
  inset: auto !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  transform: none !important;
  overflow: visible !important;
}

body.kk-theme-v2 [data-kk-canonical-jobs-header="1"] .kk-jobs-listing-header,
body.kk-theme-v2 [data-kk-canonical-jobs-header="1"] header.kk-jobs-listing-header {
  display: block !important;
  margin: 0 !important;
  padding: 0 0 14px !important;
  background: transparent !important;
  background-image: none !important;
  color: #191919 !important;
  box-shadow: none !important;
  border-bottom: 2px solid #191919 !important;
  z-index: auto !important;
}

body.kk-theme-v2 [data-kk-canonical-jobs-header="1"] .kk-jobs-filter-card {
  display: block !important;
  margin: 0 !important;
  z-index: auto !important;
}

body.kk-theme-v2 [data-kk-canonical-jobs-header="1"] .kk-job-search--listing {
  display: grid !important;
  margin: 0 !important;
}

body.kk-theme-v2 .kk-section--404 .kk-404-content {
  max-width: 880px !important;
  margin: 0 auto !important;
}

@media (max-width: 900px) {
  body.kk-theme-v2 main#content[data-kk-unified-content-spacing="1"] {
    padding-top: var(--kk-unified-content-top-mobile, var(--kk-content-top-space-mobile, 28px)) !important;
  }

  body.kk-theme-v2 [data-kk-canonical-jobs-header="1"] > .kk-jobs-listing-heading-wrap,
  body.kk-theme-v2 [data-kk-canonical-jobs-header="1"] > .kk-jobs-filter-wrap {
    width: min(100% - 32px, 1180px) !important;
  }
}

/* v2.0.71 — mobile jobs fixes.
   Legacy responsive.css applies a black background to every <header> element;
   the compact jobs heading is a content header and must remain transparent.
   Job detail source order is main article first and employer/contact sidebar
   second, so mobile must never reverse the sidebar above the advert/content. */
body.kk-theme-v2 [data-kk-canonical-jobs-header="1"] header.kk-jobs-listing-header,
body.kk-theme-v2 [data-kk-canonical-jobs-header="1"] .kk-jobs-listing-header {
  width: 100% !important;
  min-height: 0 !important;
  position: static !important;
  inset: auto !important;
  float: none !important;
  clear: both !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #191919 !important;
}

@media (max-width: 992px) {
  body.kk-theme-v2 .kk-detail-layout {
    display: flex !important;
    flex-direction: column !important;
  }

  body.kk-theme-v2 .kk-detail-layout > .kk-job-detail-main {
    order: 1 !important;
  }

  body.kk-theme-v2 .kk-detail-layout > .kk-detail-sidebar {
    order: 2 !important;
  }
}

