html, body {max-width: 100%;overflow-x: hidden;}
:focus {outline: 0 !important;box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;}

.invisible {
    opacity: 0!important;
}

.tess-box-shadow {
background: #FFF;
box-shadow: 0 4px 124px 0 rgba(0, 0, 0, 0.05);
}

.tess-btn-shadow {
background: #FFF;
box-shadow: 0 16px 44px 0 rgba(0, 0, 0, 0.25);
}

/* avoid spacing on p-tags */
.elementor-widget-text-editor p {
    margin: 0;
}

.hidden {
    display: none !important;
}

body.is-case-page .site-logo img {
    filter: brightness(0);
}

body.is-case-page #mobileheader img {
    filter: brightness(0);
}

#mobilescroll {
    transform: translateY(-100%);
    transition: transform 0.3s ease;
}

/* ==========================================================================
   MAINMENU
   ========================================================================== */

/* Underline animation fra midten og ud */
.mainmenu .elementor-nav-menu > li > a.elementor-item {
    position: relative;
}

.mainmenu .elementor-nav-menu > li > a.elementor-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 1px;
    background-color: #ffffff;
    transition: width 0.3s ease;
}

.mainmenu .elementor-nav-menu > li > a.elementor-item:hover::after,
.mainmenu .elementor-nav-menu > li > a.elementor-item-active::after,
.mainmenu .elementor-nav-menu > li > a.elementor-item.highlighted::after {
    width: 100%;
}


body.is-case-page .mainmenu .elementor-item,
body.is-case-page .mainmenu .elementor-item:hover,
body.is-case-page .mainmenu .elementor-item:focus,
body.is-case-page .mainmenu .elementor-item.elementor-item-active {
    color: #000!important;
}

body.is-case-page .mainmenu .elementor-nav-menu > li > a.elementor-item::after {
    background-color: #000;
}

/* ==========================================================================
   POPUP 
   ========================================================================== */

main.blurred,
footer.blurred {
    filter: blur(20px);
    transition: filter 0.3s ease;
    pointer-events: none; /* Optional: disables background clicks */
}

#mobileheader {
    transition: opacity 0.3s ease;
}

#mobileheader.hidden {
    opacity: 0;
    pointer-events: none;
}



/* SCROLL */
/* Den ydre container scroller horisontalt */
/* Ydre container – tving vandret, ingen wrap, scroll */
@media (max-width:1024px){ 
.elementor-element.horizontal-scroll {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    gap: 24px;
    padding-bottom: 8px;
     scrollbar-width: none;        /* Firefox */
    -ms-overflow-style: none;     /* gamle Edge/IE */
}

/* De tre kort = direkte .e-con børn – må ikke krympe */
.elementor-element.horizontal-scroll > .e-con {
    flex: 0 0 auto !important;
    width: 340px !important;
    max-width: 85vw !important;   /* kort "peeker" på mobil */
    align-self: stretch;          /* ens højde på alle kort */
}

/* Pænere scrollbar (valgfrit) */
.horizontal-scroll::-webkit-scrollbar {
    height: 8px;
}
.horizontal-scroll::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,.25);
    border-radius: 8px;
}
.elementor-element.horizontal-scroll::-webkit-scrollbar {
    display: none;                /* Chrome, Safari, ny Edge */
}
}

/* ==========================================================================
   HERO Gradient
   ========================================================================== */

.hero-gradient {
  position: relative;
}

.hero-gradient::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;   /* top/left/right = 0, bund = auto */
  height: 550px;
  background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);
  pointer-events: none;
  z-index: 1;
}

.hero-gradient > .e-con-inner {
  position: relative;
  z-index: 2;
}



/* ==========================================================================
   WPML Language Switcher
   ========================================================================== */

#scrollnavigation .lang-switcher {
    font-size: 14px;
    color: #000;
}


.lang-switcher {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: inherit;
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
    color: #fff;
}

.lang-switcher__item {
    color: inherit;
    text-decoration: none;
    padding-bottom: 2px;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s ease, opacity 0.2s ease;
}

.lang-switcher__item:hover,
.lang-switcher__item:focus-visible {
    border-bottom-color: currentColor;
    opacity: 0.9;
}

.lang-switcher__item.is-active {
    border-bottom: 1px solid currentColor;
}

.lang-switcher__sep {
    opacity: 0.6;
    font-weight: 400;
    user-select: none;
}

body.is-case-page .lang-switcher__item,
body.is-case-page .lang-switcher__item:hover,
body.is-case-page .lang-switcher__item:focus,
body.is-case-page .lang-switcher__item.is-active,
body.is-case-page .lang-switcher__sep {
    color: #000;
}
body.is-case-page .lang-switcher__item.is-active {
    border-color: #000; /* hvis underline er border-bottom */
}

/* ==========================================================================
   Wrapper 1 - centreret som 1400px-container, men bredere mod højre
   ========================================================================== */

.wrapper-1 {
    width: 1780px;
    max-width: 1780px;
    margin-left: calc(50% - 760px);
    margin-right: 0;
}

@media (max-width: 1780px) {
    .wrapper-1 {
        width: 100%;
        max-width: 1400px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* ==========================================================================
   Button Style 1
   ========================================================================== */

.button-style-1 .elementor-button {
    min-width: 253px;
    min-height: 95px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    padding-left: 20px;
    box-sizing: border-box;
}

.button-style-1 .elementor-button-content-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    gap: 10px;
}

.button-style-1 .elementor-button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.button-style-1 .elementor-button-icon svg {
    width: 42px;
    height: 38px;
    display: block;
}

.button-style-1 .elementor-button-text {
    text-align: left;
}

/* ==========================================================================
   Button Style 2 - Grøn knap med chevron-ikon i højre side
   ========================================================================== */

.button-style-2 .elementor-button {
    min-width: 253px;
    min-height: 95px;
    background-color: #009640;
    color: #FFF;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 25px;
    box-sizing: border-box;
    border: none;
    text-decoration: none;
}

/* Hover state */
.button-style-2 .elementor-button:hover,
.button-style-2 .elementor-button:focus {
    background-color: #007a33; /* lidt mørkere grøn */
    color: #FFF;
}

/* Content-wrapper fylder hele knappen, så tekst og ikon kan adskilles */
.button-style-2 .elementor-button-content-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 15px;
}

/* Tekst-styling */
.button-style-2 .elementor-button-text {
    color: #FFF;
    font-family: 'Prompt', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 23.4px;
    text-align: left;
    flex: 1; /* fylder pladsen så ikonet skubbes helt til højre */
}

/* Ikon-wrapper */
.button-style-2 .elementor-button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    order: 2; /* sikrer at ikonet altid er til højre, også hvis Elementor sætter "Icon Position: Before" */
}

.button-style-2 .elementor-button-icon svg {
    width: 13px;
    height: 15px;
    display: block;
}


/* Ikon-animation på hover */
.button-style-2 .elementor-button-icon {
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.button-style-2 .elementor-button:hover .elementor-button-icon,
.button-style-2 .elementor-button:focus-visible .elementor-button-icon {
    transform: translateX(6px);
}


/* ==========================================================================
   Button Style 3 - Grøn knap med chevron-ikon i højre side
   ========================================================================== */

.button-style-3 .elementor-button {
    height: 51px;
    min-width: 247px;
    min-height: 51px;
    background-color: #009640;
    color: #FFF;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 25px;
    box-sizing: border-box;
    border: none;
    text-decoration: none;
}


/* Hover state */
.button-style-3 .elementor-button:hover,
.button-style-3 .elementor-button:focus {
    background-color: #009640;
    color: #FFF;
}

/* Content-wrapper fylder hele knappen, så tekst og ikon kan adskilles */
.button-style-3 .elementor-button-content-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 15px;
}

/* Tekst-styling */
.button-style-3 .elementor-button-text {
    color: #FFF;
    font-family: 'Prompt', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 23.4px;
    text-align: left;
    flex: 1; /* fylder pladsen så ikonet skubbes helt til højre */
}

/* Ikon-wrapper */
.button-style-3 .elementor-button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    order: 2; /* sikrer at ikonet altid er til højre, også hvis Elementor sætter "Icon Position: Before" */
}

.button-style-3 .elementor-button-icon svg {
    width: 13px;
    height: 15px;
    display: block;
}

.button-style-3 .elementor-button {
    /* ...eksisterende regler... */
    box-shadow: 0 16px 44px 0 rgba(0, 0, 0, 0.25);
    transition: background-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

/* Lidt mere markant shadow på hover */
.button-style-3 .elementor-button:hover,
.button-style-3 .elementor-button:focus {
    background-color: #009640;
    color: #FFF;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
    transform: translateY(-2px); /* løfter knappen lidt */
}

/* Ikon-animation på hover */
.button-style-3 .elementor-button-icon {
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.button-style-3 .elementor-button:hover .elementor-button-icon,
.button-style-3 .elementor-button:focus-visible .elementor-button-icon {
    transform: translateX(6px);
}


/* ==========================================================================
   Button Style 4 - hvid knap med chevron-ikon i højre side
   ========================================================================== */

.button-style-4 .elementor-button {
	width: 247px;
    height: 51px;
    min-width: 247px;
    min-height: 51px;
    background-color: #fff;
    color: #009640;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 25px;
    box-sizing: border-box;
    border: none;
    text-decoration: none;
}


/* Hover state */
.button-style-4 .elementor-button:hover,
.button-style-4 .elementor-button:focus {
    background-color: #fff;
    color: #009640;
}

/* Content-wrapper fylder hele knappen, så tekst og ikon kan adskilles */
.button-style-4 .elementor-button-content-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 15px;
}

/* Tekst-styling */
.button-style-4 .elementor-button-text {
    color: #009640;;
    font-family: 'Prompt', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 23.4px;
    text-align: left;
    flex: 1; /* fylder pladsen så ikonet skubbes helt til højre */
}

/* Ikon-wrapper */
.button-style-4 .elementor-button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    order: 2; /* sikrer at ikonet altid er til højre, også hvis Elementor sætter "Icon Position: Before" */
}

.button-style-4 .elementor-button-icon svg {
    width: 13px;
    height: 15px;
    display: block;
}

.button-style-4 .elementor-button {
    /* ...eksisterende regler... */
    box-shadow: 0 16px 44px 0 rgba(0, 0, 0, 0.25);
    transition: background-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

/* Lidt mere markant shadow på hover */
.button-style-4 .elementor-button:hover,
.button-style-4 .elementor-button:focus {
    background-color: #fff;
    color: #009640;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
    transform: translateY(-2px); /* løfter knappen lidt */
}

/* Ikon-animation på hover */
.button-style-4 .elementor-button-icon {
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.button-style-4 .elementor-button:hover .elementor-button-icon,
.button-style-4 .elementor-button:focus-visible .elementor-button-icon {
    transform: translateX(6px);
}

/* ==========================================================================
   BTN PILE
   ========================================================================== */

.btn-services-previous .elementor-button-icon svg, 
.btn-services-next .elementor-button-icon svg {
    width: 19px;
    height: auto;   /* bevarer forholdet automatisk */
    display: block; /* fjerner evt. baseline-spacing under inline-svg */
}

.btn-services-previous .elementor-button-icon svg path,
.btn-services-next .elementor-button-icon svg path {
    fill: currentColor;
}

.btn-services-previous .elementor-button,
.btn-services-next .elementor-button {
    color: #000;
    transition: color 0.3s ease;
}

.btn-services-previous .elementor-button:hover,
.btn-services-next .elementor-button:hover {
    color: #009640;
}

/* ==========================================================================
   BTN STYLE
   ========================================================================== */


.jobs-card__button {
box-shadow: 0 16px 44px 0 rgba(0, 0, 0, 0.25)!important;
} 

/* ==========================================================================
   ANIMATION
   ========================================================================== */

/* Skjul indtil GSAP har sat startværdier (undgår FOUC) */
.tess-text-intro .elementor-heading-title {
    opacity: 0;
    perspective: 800px; /* nødvendig for at z-aksen "læses" som 3D */
}

.tess-word {
    display: inline-block;
    will-change: transform, filter, opacity;
}



/* ==========================================================================
   Ledige stillinger — vis/skjul containers via body-class
   ========================================================================== */

/* Skjul kun den container der IKKE skal vises — så den synlige beholder
   sin egen display (vigtigt: Elementor-containers bruger display:flex) */

body.available-positions #no_positions { display: none !important; }
body.no-positions        #available_positions { display: none !important; }

/* ==========================================================================
   MOBILE
   ========================================================================== */


@media (min-width: 768px) {
      .button-style-1 .elementor-button {
          min-width: 253px;
          min-height: 95px;
      }
  }




  /* ==========================================================================
   Footer info - åbningstider, CVR og bankoplysninger
   ========================================================================== */

.footer-info {
    color: #FFF;
    font-family: 'Prompt', sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

.footer-info-block {
    margin-bottom: 30px;
}

.footer-info-block:last-child {
    margin-bottom: 0;
}

.footer-info-heading {
    font-weight: 500;
    margin: 0 0 8px 0;
    font-size: 18px;
    color: #FFF;
}

.footer-info-row {
    display: grid;
    grid-template-columns: 140px 1fr; /* label-bredde + resten */
    gap: 10px;
}


.underline a:hover::after, .underline a:focus::after {
    transform: translateX(-50%) scaleX(1);
}


.underline a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 1px;
    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    transition: transform 0.35s ease;
}