.elementor-2333644 .elementor-element.elementor-element-a3fbf82{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2333644 .elementor-element.elementor-element-61d3d87{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;border-style:solid;--border-style:solid;border-width:0px 0px 01px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:01px;--border-left-width:0px;border-color:var( --e-global-color-f1313ca );--border-color:var( --e-global-color-f1313ca );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:40px;--padding-left:80px;--padding-right:80px;}.elementor-2333644 .elementor-element.elementor-element-7588561 .elementor-heading-title{font-family:"Manrope", Sans-serif;font-size:128px;font-weight:700;line-height:120px;}.elementor-2333644 .elementor-element.elementor-element-e719f4e .elementor-heading-title{font-family:"Manrope", Sans-serif;font-size:128px;font-weight:700;line-height:120px;}.elementor-2333644 .elementor-element.elementor-element-c57e686{--display:grid;--e-con-grid-template-columns:305px minmax(0, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2333644 .elementor-element.elementor-element-86c3f2c .elementor-repeater-item-be027f1 .taxonomy-filter, .elementor-2333644 .elementor-element.elementor-element-86c3f2c .elementor-repeater-item-be027f1 .taxonomy-filter li{display:block;}.elementor-2333644 .elementor-element.elementor-element-86c3f2c .elementor-repeater-item-163f916 .taxonomy-filter, .elementor-2333644 .elementor-element.elementor-element-86c3f2c .elementor-repeater-item-163f916 .taxonomy-filter li{display:block;}.elementor-2333644 .elementor-element.elementor-element-86c3f2c .elementor-repeater-item-9eabb02 .taxonomy-filter, .elementor-2333644 .elementor-element.elementor-element-86c3f2c .elementor-repeater-item-9eabb02 .taxonomy-filter li{display:block;}.elementor-2333644 .elementor-element.elementor-element-86c3f2c > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-2333644 .elementor-element.elementor-element-86c3f2c .elementor-grid{grid-template-columns:repeat(1,1fr);}.elementor-2333644 .elementor-element.elementor-element-86c3f2c{--grid-column-gap:0px;--grid-row-gap:0px;}.elementor-2333644 .elementor-element.elementor-element-86c3f2c .bpfwe-swatch{opacity:1;}.elementor-2333644 .elementor-element.elementor-element-86c3f2c  input[type="checkbox"]:checked + span .bpfwe-swatch, .elementor-2333644 .elementor-element.elementor-element-86c3f2c input[type="radio"]:checked + span .bpfwe-swatch{opacity:0.7;}.elementor-2333644 .elementor-element.elementor-element-86c3f2c .bpfwe-select2 .select2-selection, .elementor-2333644 .elementor-element.elementor-element-86c3f2c .bpfwe-select2 .select2-selection__rendered, .elementor-2333644 .elementor-element.elementor-element-86c3f2c .bpfwe-select2 .select2{width:100% !important;}.elementor-2333644 .elementor-element.elementor-element-86c3f2c .bpfwe-select2 .select2-selection, .elementor-2333644 .elementor-element.elementor-element-86c3f2c .bpfwe-select2 .select2-selection__rendered{height:auto;line-height:42px;}.elementor-2333644 .elementor-element.elementor-element-640412e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:028px;--padding-bottom:028px;--padding-left:028px;--padding-right:80px;}.elementor-2333644 .elementor-element.elementor-element-b72a5bd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:12px 0px;--row-gap:12px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2333644 .elementor-element.elementor-element-e419662 .elementor-heading-title{font-family:"Manrope", Sans-serif;font-size:28px;font-weight:400;line-height:40px;}.elementor-2333644 .elementor-element.elementor-element-a0ba1cd{font-family:"Geist", Sans-serif;font-size:12px;font-weight:300;line-height:12px;}.elementor-2333644 .elementor-element.elementor-element-f8b1ce2{--grid-columns:4;--grid-row-gap:28px;--e-loop-nothing-found-message-align:start;--grid-column-gap:28px;}.elementor-2333644 .elementor-element.elementor-element-f8b1ce2 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:20px 0px 20px 0px;}.elementor-2333644 .elementor-element.elementor-element-f8b1ce2.elementor-element{--align-self:flex-start;}.elementor-2333644 .elementor-element.elementor-element-0529785{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:12px 0px;--row-gap:12px;--column-gap:0px;--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2333644 .elementor-element.elementor-element-c2ee7c6 .elementor-heading-title{font-family:"Manrope", Sans-serif;font-size:28px;font-weight:400;line-height:40px;}.elementor-2333644 .elementor-element.elementor-element-1b447e8{--grid-columns:4;--grid-row-gap:28px;--e-loop-nothing-found-message-align:start;--grid-column-gap:28px;}.elementor-2333644 .elementor-element.elementor-element-1b447e8 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:20px 0px 20px 0px;}.elementor-2333644 .elementor-element.elementor-element-1b447e8.elementor-element{--align-self:flex-start;}body.elementor-page-2333644:not(.elementor-motion-effects-element-type-background), body.elementor-page-2333644 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-de8fce0 );}@media(min-width:768px){.elementor-2333644 .elementor-element.elementor-element-a3fbf82{--content-width:1600px;}.elementor-2333644 .elementor-element.elementor-element-c57e686{--width:100%;}}@media(max-width:1200px){.elementor-2333644 .elementor-element.elementor-element-c57e686{--grid-auto-flow:row;}}@media(max-width:1024px){.elementor-2333644 .elementor-element.elementor-element-c57e686{--grid-auto-flow:row;}.elementor-2333644 .elementor-element.elementor-element-86c3f2c .elementor-grid{grid-template-columns:repeat(1,1fr);}.elementor-2333644 .elementor-element.elementor-element-f8b1ce2{--grid-columns:2;}.elementor-2333644 .elementor-element.elementor-element-1b447e8{--grid-columns:2;}}@media(max-width:767px){.elementor-2333644 .elementor-element.elementor-element-61d3d87{border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;--padding-top:28px;--padding-bottom:20px;--padding-left:16px;--padding-right:16px;}.elementor-2333644 .elementor-element.elementor-element-7588561 .elementor-heading-title{font-size:40px;line-height:42px;word-spacing:0em;}.elementor-2333644 .elementor-element.elementor-element-e719f4e .elementor-heading-title{font-size:40px;line-height:42px;}.elementor-2333644 .elementor-element.elementor-element-f84dc92 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 016px 0px 016px;}.elementor-2333644 .elementor-element.elementor-element-c57e686{--e-con-grid-template-columns:1;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2333644 .elementor-element.elementor-element-86c3f2c .elementor-grid{grid-template-columns:repeat(1,1fr);}.elementor-2333644 .elementor-element.elementor-element-640412e{--padding-top:40px;--padding-bottom:040px;--padding-left:016px;--padding-right:016px;}.elementor-2333644 .elementor-element.elementor-element-a0ba1cd > .elementor-widget-container{margin:0px 0px 20px 0px;padding:0px 0px 0px 0px;}.elementor-2333644 .elementor-element.elementor-element-f8b1ce2{--grid-columns:2;--grid-row-gap:20px;--grid-column-gap:12px;}.elementor-2333644 .elementor-element.elementor-element-f8b1ce2 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-2333644 .elementor-element.elementor-element-0529785{--margin-top:40px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;}.elementor-2333644 .elementor-element.elementor-element-1b447e8{--grid-columns:2;--grid-row-gap:20px;--grid-column-gap:12px;}.elementor-2333644 .elementor-element.elementor-element-1b447e8 > .elementor-widget-container{padding:0px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-f84dc92 *//* ---------- Mobil: filter-knap og popup ---------- */

/* Skjult på desktop */
#filter-toggle,
.elementor-element-86c3f2c .filter-bar,
.elementor-element-86c3f2c .filter-done {
  display: none !important;
}

/* Når filteret er åbent, kan siden bagved ikke scrolle */
html.filter-lock,
html.filter-lock body {
  overflow: hidden !important;
}

@media (max-width: 767px) {

  /* Ét-kolonne layout: filter over kurser */
  .elementor-element-c57e686 {
    grid-template-columns: 1fr !important;
  }

  /* Knappen "Filter +" */
   /* Knappen "Filter +" */
  #filter-toggle {
    display: block !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    color: #201E1F !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 17px !important;
    font-style: normal;
    font-weight: 500 !important;
    line-height: normal !important;
    letter-spacing: normal;
    text-transform: none;
    cursor: pointer;
  }

  #filter-toggle:hover,
  #filter-toggle:focus,
  #filter-toggle:active {
    background: none !important;
    color: #201E1F !important;
  }

  /* Figmas text-edge: cap (fjerner luften over/under teksten) hvor browseren kan */
  @supports (text-box: trim-both cap alphabetic) {
    #filter-toggle {
      text-box: trim-both cap alphabetic;
    }
  }

  /* Filteret er lukket som standard */
  .elementor-element-86c3f2c {
    display: none;
  }

  /* Åbent: fast lag oven på siden (popup) */
  .elementor-element-c57e686.filter-open .elementor-element-86c3f2c {
    display: block !important;
    position: fixed !important;
    top: var(--filter-top, 0px) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 900;
    max-height: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    align-self: auto !important;
    background: #fff;
    border-radius: 30px 30px 0 0;
    box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.15);
  }

  /* Topbar: "Filter" til venstre, minus til højre, ingen tema-knapstil */
    .elementor-element-86c3f2c .filter-bar {
    display: flex !important;
    justify-content: space-between;
    align-items: flex-start;
    position: sticky;
    top: 0;
    z-index: 20;
    width: 100%;
    height: auto;
    min-height: 84px;
    box-sizing: border-box;
    margin: 0;
    padding: 24px 24px 36px !important;
    background: #fff !important;
    color: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font: inherit;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: normal;
    text-transform: none;
    text-align: left;
    cursor: pointer;
  }

  .elementor-element-86c3f2c .filter-bar:hover,
  .elementor-element-86c3f2c .filter-bar:focus,
  .elementor-element-86c3f2c .filter-bar:active {
    background: #fff !important;
    color: #000 !important;
  }

  .elementor-element-86c3f2c .filter-bar-icon {
    display: block;
    width: 20px;
    height: 2px;
    background: #000;
    border-radius: 2px;
  }

  /* ---------- Kursuskort i to kolonner ---------- */

  /* Kortet: mobilens mål (174,5 × 229,52) */
  :is(#holdKurser, #planlaegEgetKursus) .e-loop-item > .e-con,
  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort {
    --u: calc(100cqw / 174.5);
    aspect-ratio: 174.5 / 229.52 !important;
  }

  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-tekst {
    padding: calc(var(--u) * 12) !important;
    gap: calc(var(--u) * 12) !important;
  }

  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-titel,
  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-titel * {
    font-size: clamp(10px, calc(var(--u) * 12), 16px) !important;
  }

  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-meta,
  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-meta * {
    font-size: clamp(9px, calc(var(--u) * 10), 14px) !important;
  }
}

/* "– Ryd alt" ligger i topbaren, lige efter "Filter" */
.elementor-element-c57e686.filter-open .elementor-element-86c3f2c .reset-form {
  position: fixed !important;
  top: var(--reset-top, 0) !important;
  left: var(--reset-left, 0) !important;
  right: auto !important;
  z-index: 21;
}/* End custom CSS */
/* Start custom CSS for filter-widget, class: .elementor-element-86c3f2c *//* ================= STICKY FILTER ================= */
/* Filteret hænger fast lige under headeren (80px) og fylder resten af skærmen.
   Er indholdet højere end skærmen, kan man scrolle inde i det. */
.elementor-element-86c3f2c{
  --sw-header-h: 60px;            /* headerens højde – ret her hvis den ændres */
  position: sticky !important;
  top: var(--sw-header-h);
  align-self: start !important;
  height: calc(100vh - var(--sw-header-h));
  height: calc(100dvh - var(--sw-header-h));   /* rigtig højde på mobil med adresselinjen */
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;          /* skjul scrollbaren (Firefox) */
  border-right: 1px solid #A1A1A1;
}
.elementor-element-86c3f2c::-webkit-scrollbar{
  display: none;                  /* skjul scrollbaren (Chrome/Safari) */
}

/* Når man er logget ind, ligger WordPress-baren (32px) også i toppen */
body.admin-bar .elementor-element-86c3f2c{
  top: calc(var(--sw-header-h) + 32px);
  height: calc(100vh - var(--sw-header-h) - 32px);
  height: calc(100dvh - var(--sw-header-h) - 32px);
}

/* ================= FILTER GROUPS ================= */
/* Line at the bottom of each group – the right line sits on the whole column */
.flex-wrapper{
  border-bottom: 1px solid #A1A1A1;
border-left: 1px solid #A1A1A1;
  border-right: none;
  padding: 20px 28px;
}

/* Headings: Kategori, Pris, Type, Lokation – 20px down to the options */
.flex-wrapper .filter-title,
.flex-wrapper .bpfwe-filter-title,
.flex-wrapper > .elementor-heading-title{
  display: block;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--Black---Primary, #201E1F) !important;
  font-family: Manrope, sans-serif !important;
  font-size: 1.0625rem !important;      /* 17px */
  font-style: normal;
  font-weight: 500 !important;
  line-height: normal !important;
  text-transform: none;
  letter-spacing: normal;
}

/* ================= "- RYD ALLE" ================= */
.reset-form{
  position: absolute;
  top: 28px;                 /* adjust until it lines up with the "Kategori" heading */
  right: 28px;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--Black---Primary, #201E1F) !important;
  font-family: Geist, sans-serif !important;
  font-size: 0 !important;   /* hides the original text */
  font-weight: 300 !important;
  line-height: 20px !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  z-index: 2;
  transition: opacity .2s ease;
}

.reset-form::after{
  content: "- Ryd alle";
  font-size: 14px;
  text-decoration: underline;
}

.reset-form:hover{
  opacity: .6;
  text-decoration: underline;
}

/* Only clickable when at least one filter is selected */
.elementor-widget:not(:has(input:checked)) .reset-form{
  opacity: .35;
  pointer-events: none;
  cursor: default;
}

/* ================= NOTE UNDER "TYPE" ================= */
.flex-wrapper._stock_status::after{
  content: "Bemærk: alle holdkurser tilbydes også som Planlæg dit eget kursus i hele Danmark.";
  display: block;
  margin-top: 20px;
  color: var(--Black---Primary, #201E1F);
  font-family: Geist, sans-serif;
  font-weight: 300;
  font-size: 12px;
  line-height: 1.5;
}

/* Hide the "Ukategoriseret" row in the category filter */
li.parent-term:has(input.bpfwe-filter-item[data-taxonomy="product_cat"][value="15"]){
  display: none !important;
}

/* ================= PILLS: Kategori, Type and Lokation ================= */

/* The list: pills wrapping, 8px gap */
:is(.flex-wrapper.product_cat, .flex-wrapper._stock_status, .flex-wrapper.kursus_lokation) .bpfwe-taxonomy-wrapper ul.taxonomy-filter,
:is(.flex-wrapper.product_cat, .flex-wrapper._stock_status, .flex-wrapper.kursus_lokation) .bpfwe-custom-field-wrapper ul.taxonomy-filter{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start !important;
  gap: 8px !important;
}

/* Remove lines and spacing from earlier li rules */
:is(.flex-wrapper.product_cat, .flex-wrapper._stock_status, .flex-wrapper.kursus_lokation) li{
  border-bottom: none;
  margin: 0;
  padding: 0;
}

/* The pill: 12px padding around, 30px on the left (12 + 10 icon + 8 gap) */
:is(.flex-wrapper.product_cat, .flex-wrapper._stock_status, .flex-wrapper.kursus_lokation) li > label{
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 12px 12px 12px 30px;
  border: 1px solid black;
  border-radius: 30px;
  color: black;
  font-family: geist;
  font-weight: 300;
  font-size: 14px;
  line-height: 20px;
  user-select: none;
  transition: background-color .25s ease, border-color .25s ease;
}

/* Pointer cursor on the whole pill */
:is(.flex-wrapper.product_cat, .flex-wrapper._stock_status, .flex-wrapper.kursus_lokation) li > label,
:is(.flex-wrapper.product_cat, .flex-wrapper._stock_status, .flex-wrapper.kursus_lokation) li > label *{
  cursor: pointer !important;
}

:is(.flex-wrapper.product_cat, .flex-wrapper._stock_status, .flex-wrapper.kursus_lokation) li > label:hover{
  background: rgba(0, 0, 0, .04);
}

/* Icon: plus drawn with borders (always sharp, exactly 1px).
   11 × 11px, so the lines meet exactly in the middle.
   ::before = horizontal line, ::after = vertical line */
:is(.flex-wrapper.product_cat, .flex-wrapper._stock_status, .flex-wrapper.kursus_lokation) li > label::before,
:is(.flex-wrapper.product_cat, .flex-wrapper._stock_status, .flex-wrapper.kursus_lokation) li > label::after{
  content: "";
  position: absolute;
  background: none !important;
  transform: none !important;
  box-sizing: content-box;
}

/* Horizontal line */
:is(.flex-wrapper.product_cat, .flex-wrapper._stock_status, .flex-wrapper.kursus_lokation) li > label::before{
  left: 12px;
  top: 50%;
  width: 11px;
  height: 0;
  margin-top: -1px;
  border-top: 1px solid black;
}

/* Vertical line */
:is(.flex-wrapper.product_cat, .flex-wrapper._stock_status, .flex-wrapper.kursus_lokation) li > label::after{
  left: 17px;                   /* 12 + 5 = exactly in the middle of the horizontal line */
  top: 50%;
  width: 0;
  height: 11px;
  margin-top: -6px;
  border-left: 1px solid black;
  transition: opacity .2s ease;
}

/* ---------- Selected ---------- */
:is(.flex-wrapper.product_cat, .flex-wrapper._stock_status, .flex-wrapper.kursus_lokation) li > label:has(input:checked){
  background: #D7FF90;
  border-color: black;
}

/* The vertical line disappears, so + becomes − */
:is(.flex-wrapper.product_cat, .flex-wrapper._stock_status, .flex-wrapper.kursus_lokation) li > label:has(input:checked)::after{
  opacity: 0;
}

/* Keyboard focus */
:is(.flex-wrapper.product_cat, .flex-wrapper._stock_status, .flex-wrapper.kursus_lokation) li > label:has(input:focus-visible){
  outline: 2px solid #1a1a1a;
  outline-offset: 2px;
}

/* ================= PRICE SLIDER ================= */

/* The hidden number inputs aren't used */
.flex-wrapper._price .bpfwe-numeric-wrapper{
  display: none !important;
}

/* The price group: heading → numbers → slider, top to bottom */
.flex-wrapper._price{
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

/* "Dissolve" the plugin's wrapper boxes around the numbers and the slider,
   so they sit directly in the price group and can be ordered */
.flex-wrapper._price :has(.bpfwe-slider-track),
.flex-wrapper._price :has(.bpfwe-slider-values){
  display: contents !important;
}

/* Order: heading first, then the numbers, then the slider */
.flex-wrapper._price .filter-title,
.flex-wrapper._price .bpfwe-filter-title,
.flex-wrapper._price > .elementor-heading-title{
  order: 0;
}

/* Numbers: min left, max right – 1.25rem down to the slider */
.flex-wrapper._price .bpfwe-slider-values{
  order: 1;
  display: flex !important;
  align-items: baseline;
  width: 100%;
  margin: 0 0 0.5rem 0 !important;
  font-size: 0;                 /* hides the "–" between the numbers */
}

.flex-wrapper._price .bpfwe-slider-values span{
  color: var(--Black---Primary, #201E1F);
  font-family: Geist, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 20px;
}

.flex-wrapper._price .bpfwe-slider-value-max{
  margin-left: auto;            /* pushes max all the way to the right */
}

/* "kr." in front of the number – like the price on the cards */
.flex-wrapper._price .bpfwe-slider-value-min::before,
.flex-wrapper._price .bpfwe-slider-value-max::before{
  content: "kr. ";
}

/* Remove any old "kr" after the number */
.flex-wrapper._price .bpfwe-slider-value-min::after,
.flex-wrapper._price .bpfwe-slider-value-max::after{
  content: none !important;
}

/* The slider under the numbers. Height matches the handle (12px) */
.flex-wrapper._price .bpfwe-slider-track{
  order: 2;
  position: relative !important;
  width: 100% !important;
  height: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Grey line behind everything */
.flex-wrapper._price .bpfwe-slider-track::before{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(50% - 0.5px);
  height: 1px;
  background: #A1A1A1;
}

/* Black line between the two handles (left/width are set by the plugin) */
.flex-wrapper._price .bpfwe-slider-range{
  position: absolute !important;
  top: calc(50% - 0.5px) !important;
  height: 1px !important;
  background: black !important;
  transform: none !important;
}

/* The two range inputs on top of each other – only the handles are clickable */
.flex-wrapper._price .bpfwe-slider-handle{
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: auto !important;
  transform: none !important;
  width: 100% !important;
  height: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  pointer-events: none;
  -webkit-appearance: none;
  appearance: none;
}

.flex-wrapper._price .bpfwe-slider-handle::-webkit-slider-runnable-track{
  background: transparent;
  height: 12px;
}
.flex-wrapper._price .bpfwe-slider-handle::-moz-range-track{
  background: transparent;
  height: 12px;
}

/* Handle: 12 × 12px, lime with a black border */
.flex-wrapper._price .bpfwe-slider-handle::-webkit-slider-thumb{
  -webkit-appearance: none;
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #D7FF90;
  border: 1px solid black;
  box-shadow: none;
  pointer-events: auto;
  cursor: pointer;
}
.flex-wrapper._price .bpfwe-slider-handle::-moz-range-thumb{
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #D7FF90;
  border: 1px solid black;
  box-shadow: none;
  pointer-events: auto;
  cursor: pointer;
}

/* Keyboard focus */
.flex-wrapper._price .bpfwe-slider-handle:focus-visible::-webkit-slider-thumb{
  outline: 2px solid black;
  outline-offset: 2px;
}
.flex-wrapper._price .bpfwe-slider-handle:focus-visible::-moz-range-thumb{
  outline: 2px solid black;
  outline-offset: 2px;
}

/* Pris-slider: større knapper på mobil */
@media (max-width: 767px) {
  .flex-wrapper._price .bpfwe-slider-track,
  .flex-wrapper._price .bpfwe-slider-handle { height: 18px !important; }
  .flex-wrapper._price .bpfwe-slider-handle::-webkit-slider-runnable-track { height: 18px; }
  .flex-wrapper._price .bpfwe-slider-handle::-webkit-slider-thumb { width: 18px; height: 18px; }
  .flex-wrapper._price .bpfwe-slider-handle::-moz-range-thumb { width: 18px; height: 18px; box-sizing: border-box; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-640412e *//* Grid-widgets fylder hele kolonnen */
#holdKurser,
#planlaegEgetKursus {
  width: 100% !important;
  min-width: 0;
}

#holdKurser > .elementor-widget-container,
#planlaegEgetKursus > .elementor-widget-container {
  width: 100%;
}

/* Selve griddet ligger på loop-containeren */
#holdKurser .elementor-loop-container,
#planlaegEgetKursus .elementor-loop-container {
  display: grid;
  align-items: start;
}

/* Yderste lag må ikke klippe skygge/hover */
#holdKurser .elementor-loop-container,
#planlaegEgetKursus .elementor-loop-container,
#holdKurser .e-loop-item,
#planlaegEgetKursus .e-loop-item,
#holdKurser .e-loop-item > .e-con,
#planlaegEgetKursus .e-loop-item > .e-con {
  overflow: visible !important;
}

/* Kortets højde følger prototypens forhold, ikke indholdet */
#holdKurser .e-loop-item > .e-con,
#planlaegEgetKursus .e-loop-item > .e-con,
.kursus-kort {
  height: auto !important;
  aspect-ratio: auto !important;
}



/* NYT: kortet er en container, så cqw måler kortets bredde */
:is(#holdKurser, #planlaegEgetKursus) .kursus-kort {
  container-type: inline-size;
}

/* NYT: 1 enhed = 1px i Figma ved desktopkortets bredde (200px) */
@media (min-width: 768px) {
  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort {
    --u: calc(100cqw / 200);
  }
}

/* Billede */
:is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-billede img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 200 / 128;
  object-fit: cover;
}

/* Tekstdel: padding 16, gap 16 */
:is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-tekst {
  flex: 1 1 auto !important;
  min-height: 0;
  justify-content: flex-start;
  padding: clamp(12px, calc(var(--u) * 16), 28px) !important;
  gap: clamp(10px, calc(var(--u) * 16), 28px) !important;
}

/* Titel: 14px / 20px, trimmet som Figmas text-edge: cap */
:is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-titel,
:is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-titel * {
  font-size: clamp(14px, calc(var(--u) * 14), 16px) !important;
  line-height: 1.4286 !important;
  margin: 0 !important;
}

:is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-titel .elementor-heading-title {
  min-height: 2.857em;           /* altid plads til 2 linjer */
  margin-top: -0.377em !important;
  margin-bottom: -0.331em !important;
}

/* Pris/tid: 11px, gap 4 */
:is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-meta {
  margin-top: auto !important;
  gap: clamp(3px, calc(var(--u) * 4), 8px) !important;
}

:is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-meta,
:is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-meta * {
  font-size: clamp(11px, calc(var(--u) * 11), 16px) !important;
  line-height: 1.27 !important;
}

@media (max-width: 767px) {
  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort {
    --u: calc(100cqw / 174.5);
    display: flex !important;
    flex-direction: row !important;
  }
  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-tekst {
    display: flex !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    transform: none !important;
  }
  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-titel *,
  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-meta * {
    opacity: 1 !important;
    visibility: visible !important;
  }
  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-titel,
  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-titel * {
    font-size: clamp(10px, calc(var(--u) * 12), 12px) !important;
    line-height: 1.6667 !important;
  }
  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-meta,
  :is(#holdKurser, #planlaegEgetKursus) .kursus-kort .kursus-meta * {
    font-size: clamp(9px, calc(var(--u) * 11), 11px) !important;
  }
}/* End custom CSS */
/* Start custom CSS *//* Popup: centrering (mangler på /kurser/) */
.elementor-popup-modal{
  display:flex;
  pointer-events:none;
  background-color:transparent;
  user-select:auto;
}
.elementor-popup-modal .dialog-buttons-wrapper,
.elementor-popup-modal .dialog-header{
  display:none;
}
.elementor-popup-modal .dialog-close-button{
  display:none;
  inset-inline-end:20px;
  top:20px;
  margin-top:0;
  opacity:1;
  pointer-events:all;
  z-index:9999;
}
.elementor-popup-modal .dialog-widget-content{
  width:auto;
  max-width:100%;
  max-height:100%;
  overflow:visible;
  border-radius:0;
  box-shadow:none;
  background-color:#fff;
  pointer-events:all;
}
.elementor-popup-modal .dialog-message{
  display:flex;
  max-width:100vw;
  max-height:100vh;
  overflow:auto;
  padding:0;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Geist';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-Black.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: italic;
	font-weight: 900;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-BlackItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: italic;
	font-weight: 700;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-BoldItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-ExtraBold.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: italic;
	font-weight: 800;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-ExtraBoldItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-ExtraLight.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: italic;
	font-weight: 200;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-ExtraLightItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: italic;
	font-weight: 400;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-Italic.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-Light.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: italic;
	font-weight: 300;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-LightItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: italic;
	font-weight: 500;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-MediumItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-SemiBold.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: italic;
	font-weight: 600;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-SemiBoldItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: normal;
	font-weight: 100;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-Thin.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: italic;
	font-weight: 100;
	font-display: auto;
	src: url('https://www.softworld.dk/wp-content/uploads/2026/09/Geist-ThinItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Geist';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: ;
}
/* End Custom Fonts CSS */