/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ==========================================================================
   Bildgren — Custom Stylesheet
   Fonts: Syne (headings), IBM Plex Sans (body)

   Table of Contents:
   1. Design Tokens (CSS Variables)
   2. Base Typography
  2b. Slide-Up Hover Text Effect (nav, buttons, post navigation)
   3. Hero Services Carousel
   4. Project Filter Buttons
   5. Clickable Cards
   6. Project Carousel
   7. Project Grid Cards
   8. Project Gallery Carousel
   9. Lightbox
  10. Stat Banner (98%)
 10b. Careers Accordion Separators
  11. About Page — Value Card Icon Hover Effects
  12. Single Project — Back Button
  13. Load More — Filter-Aware Visibility
  14. Single Project — Post Navigation Pills
  15. Contact Page — Hero Card
  16. Header Nav — Active-Only Overline at Top Edge
  17. WPML Language Switcher
   ========================================================================== */


/* ==========================================================================
   1. Design Tokens
   ========================================================================== */

:root {

  /* Layout ---------------------------------------------------------------- */
  --bg-content-width: 111rem;
  --bg-fullwidth-max: 1920px;
  --bg-site-gutter: clamp(1rem, -0.32rem + 5.63vw, 4.75rem);
  /* 16 → 76 */
  --bg-container: min(var(--bg-content-width), 100% - calc(var(--bg-site-gutter) * 2));
  --bg-container-wide: min(var(--bg-fullwidth-max), 100% - calc(var(--bg-site-gutter) * 2));
  --bg-container-narrow: min(960px, 100% - calc(var(--bg-site-gutter) * 2));

  /* Spacing --------------------------------------------------------------- */
  --bg-section-gap: clamp(3.5rem, 2rem + 5vw, 7.5rem);
  --bg-section-gap-sm: clamp(2rem, 1rem + 3vw, 4rem);
  --bg-block-gap: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);

  /* Grid ------------------------------------------------------------------ */
  --bg-grid-col-gap: 2.5rem;
  --bg-grid-col-gap-sm: 0.5rem;

  /* Typography — Fluid (375 → 1440) -------------------------------------- */

  --bg-fs-highlight: clamp(6rem, 5.3rem + 3vw, 8rem);
  /* 96 → 128 */
  --bg-lh-highlight: 1.1;

  --bg-fs-display: clamp(2.5rem, 2.19rem + 1.31vw, 3.375rem);
  /* 40 → 54 */
  --bg-lh-display: 1.1;

  --bg-fs-h1: clamp(2.1rem, 1.65rem + 1.92vw, 3.375rem);
  /* 33.6 → 54 */
  --bg-lh-h1: 1.1;

  --bg-fs-h2: clamp(1.9rem, 1.51rem + 1.65vw, 3rem);
  /* 30.4 → 48 */
  --bg-lh-h2: 1.3;

  --bg-fs-h3: clamp(1.5rem, 1.24rem + 1.13vw, 2.25rem);
  /* 24 → 36 */
  --bg-lh-h3: 1.1;

  --bg-fs-h4: clamp(1rem, 0.82rem + 0.75vw, 1.5rem);
  /* 16 → 24 */
  --bg-lh-h4: 1.3;

  --bg-fs-h5: 1.125rem;
  /* 18 */
  --bg-lh-h5: 1.6;

  --bg-fs-body-lg: 1.125rem;
  /* 18 */
  --bg-lh-body-lg: 1.6;

  --bg-fs-body: 1rem;
  /* 16 */
  --bg-lh-body: 1.6;

  --bg-fs-body-sm: 0.875rem;
  /* 14 */
  --bg-lh-body-sm: 1.6;

  --bg-fs-body-xs: 0.75rem;
  /* 12 */
  --bg-lh-body-xs: 1.3;

  --bg-fs-btn-lg: 1rem;
  /* 16 */
  --bg-lh-btn-lg: 1.2;

  --bg-fs-btn-sm: 0.875rem;
  /* 14 */
  --bg-lh-btn-sm: 1.2;

  --bg-fs-nav: 1rem;
  /* 16 desktop, 24 mobile */
  --bg-lh-nav: 1.3;

  --bg-fs-nav-sm: 0.875rem;
  /* 14 */
  --bg-lh-nav-sm: 1.3;

  --bg-fs-label: 1rem;
  /* 16 */
  --bg-lh-label: 1.2;

  --bg-fs-caption: 0.75rem;
  /* 12 */
  --bg-lh-caption: 1.3;

  --bg-fs-overline: 0.625rem;
  /* 10 */
  --bg-lh-overline: 1.2;

  /* Transitions ----------------------------------------------------------- */
  --bg-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --bg-duration: 0.3s;

  /* Border Radius --------------------------------------------------------- */
  --bg-radius: 0.5rem;
  --bg-radius-lg: 1rem;
}


/* ==========================================================================
   2. Base Typography
   ========================================================================== */

html,
body {
  overflow-x: hidden;
}

body,
.elementor-widget-text-editor {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: var(--bg-fs-body);
  line-height: var(--bg-lh-body);
  color: var(--bg-text);
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title {
  font-family: 'Syne', sans-serif;
}

h1,
.elementor-heading-title.elementor-size-xl {
  font-size: var(--bg-fs-h1);
  line-height: var(--bg-lh-h1);
}

h2,
.elementor-heading-title.elementor-size-large {
  font-size: var(--bg-fs-h2);
  line-height: var(--bg-lh-h2);
}

h3,
.elementor-heading-title.elementor-size-medium {
  font-size: var(--bg-fs-h3);
  line-height: var(--bg-lh-h3);
}

h4 {
  font-size: var(--bg-fs-h4);
  line-height: var(--bg-lh-h4);
}

h5 {
  font-size: var(--bg-fs-h5);
  line-height: var(--bg-lh-h5);
}

p a {
  color: var(--e-global-color-4d915eb);
  font-weight: 700;
}

.elementor-nav-menu--main .elementor-item {
  font-family: 'Syne', sans-serif;
  font-size: var(--bg-fs-nav);
  font-weight: 700;
  line-height: var(--bg-lh-nav);
}

p:last-child {
  margin-block-end: 0;
}

.elementor-widget-text-editor ul {
  list-style: none;
  padding-inline-start: 0;
}

.elementor-widget-text-editor ul li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 1.5em;
}

.elementor-widget-text-editor ul li:last-child {
  margin-bottom: 0;
}

.elementor-widget-text-editor ul:not(.elementor-editor-element-settings) li::before {
  content: "•";
  font-size: 2rem;
  color: var(--e-global-color-580e6f6);
  position: absolute;
  left: 4px;
  top: -0.45em;
}

@media (max-width: 767px) {

  h1,
  .elementor-heading-title.elementor-size-xl {
    line-height: 1.2;
  }

  h3,
  .elementor-heading-title.elementor-size-medium {
    line-height: 1.3;
  }

  :root {
    --bg-fs-nav: 1.5rem;
  }
}


/* ==========================================================================
   2b. Slide-Up Hover Text Effect (nav items, buttons, post navigation)
   ========================================================================== */

/* --- Nav menu items --- */
.elementor-nav-menu--main .elementor-item {
  overflow: hidden;
  height: 1.3em;
}

.elementor-nav-menu--main .elementor-item span {
  display: inline-block;
  position: relative;
  transition: transform 0.35s cubic-bezier(0.76, 0, 0.24, 1);
}

.elementor-nav-menu--main .elementor-item span::after {
  content: attr(data-text);
  position: absolute;
  top: 100%;
  left: 0;
}

.elementor-nav-menu--main .elementor-item:hover span {
  transform: translateY(-109%);
}

/* --- Elementor buttons with .bg-slide-up class --- */
.bg-slide-up .elementor-button-text {
  overflow: hidden;
  height: 1em;
}

.bg-slide-up .elementor-button-text span {
  display: inline-block;
  position: relative;
  transition: transform 0.35s cubic-bezier(0.76, 0, 0.24, 1);
}

.bg-slide-up .elementor-button-text span::after {
  content: attr(data-text);
  position: absolute;
  top: 100%;
  left: 0;
}

.bg-slide-up .elementor-button:hover .elementor-button-text span {
  transform: translateY(-100%);
}

/* --- Heading links with .bg-slide-up class (footer social etc.) --- */
.bg-slide-up .elementor-heading-title a {
  overflow: hidden;
  height: 1.1em;
  display: inline-block;
}

.bg-slide-up .elementor-heading-title a span {
  display: inline-block;
  position: relative;
  transition: transform 0.35s cubic-bezier(0.76, 0, 0.24, 1);
}

.bg-slide-up .elementor-heading-title a span::after {
  content: attr(data-text);
  position: absolute;
  top: 100%;
  left: 0;
}

.bg-slide-up .elementor-heading-title a:hover span {
  transform: translateY(-109%);
}

/* --- Post navigation pill titles --- */
.elementor-widget-post-navigation .post-navigation__prev--title,
.elementor-widget-post-navigation .post-navigation__next--title {
  overflow: hidden;
  height: 1.3em;
}

.elementor-widget-post-navigation .post-navigation__prev--title span,
.elementor-widget-post-navigation .post-navigation__next--title span {
  display: inline-block;
  position: relative;
  transition: transform 0.35s cubic-bezier(0.76, 0, 0.24, 1);
}

.elementor-widget-post-navigation .post-navigation__prev--title span::after,
.elementor-widget-post-navigation .post-navigation__next--title span::after {
  content: attr(data-text);
  position: absolute;
  top: 100%;
  left: 0;
}

.elementor-widget-post-navigation .elementor-post-navigation__link a:hover .post-navigation__prev--title span,
.elementor-widget-post-navigation .elementor-post-navigation__link a:hover .post-navigation__next--title span {
  transform: translateY(-100%);
}


/* ==========================================================================
   3. Hero Services Carousel — Slide Separators
   ========================================================================== */

.elementor-element-88252a0 .swiper-slide {
  position: relative;
}

.elementor-element-88252a0 .swiper-slide::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 1rem;
  background: var(--e-global-color-4d915eb);
}

/* Hide separator on the 3rd visible slide */
.elementor-element-88252a0 .swiper-slide-active+.swiper-slide+.swiper-slide::after {
  display: none;
}

@media (max-width: 1024px) {
  .elementor-element-88252a0 .swiper-slide::after {
    display: none;
  }
}


/* ==========================================================================
   4. Project Filter Buttons  [projekt_filter]
   ========================================================================== */

.bg-projekt-filter {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  padding: 1.5rem;
  background: #DCF0FF;
  border-radius: 1.5rem;
}

.bg-filter-btn {
  appearance: none;
  border: none;
  cursor: pointer;
  font-family: 'Syne', sans-serif;
  font-size: var(--bg-fs-btn-l);
  line-height: var(--bg-lh-btn-l);
  font-weight: 500;
  padding: 0.75rem 1.5rem 0.5rem;
  border-radius: var(--bg-radius);
  background: #fff;
  color: #000;
  transition: background var(--bg-duration) var(--bg-ease),
    color var(--bg-duration) var(--bg-ease);
}

.bg-filter-btn:hover {
  background: #fff;
  color: #000;
}

.bg-filter-btn.is-active,
.bg-filter-btn.is-active:hover {
  background: var(--e-global-color-4d915eb);
  color: #fff;
}

.bg-filter-btn:focus,
.bg-filter-btn:focus-visible {
  outline: 1px solid var(--e-global-color-4d915eb);
  outline-offset: 2px;
  background-color: #fff;
  color: #000;
  box-shadow: none;
}

.bg-filter-btn.is-active:focus,
.bg-filter-btn.is-active:focus-visible {
  background-color: var(--e-global-color-4d915eb);
  color: #fff;
}

/* Slide-up hover text effect */
.bg-filter-btn .bg-slide-up-text {
  display: inline-block;
  overflow: hidden;
  height: 1.4em;
}

.bg-filter-btn .bg-slide-up-text span {
  display: inline-block;
  position: relative;
  transition: transform 0.35s cubic-bezier(0.76, 0, 0.24, 1);
}

.bg-filter-btn .bg-slide-up-text span::after {
  content: attr(data-text);
  position: absolute;
  top: 100%;
  left: 0;
}

.bg-filter-btn:hover .bg-slide-up-text span {
  transform: translateY(-100%);
}

@media (max-width: 767px) {
  .bg-projekt-filter {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
  }
}


/* ==========================================================================
   5. Clickable Cards
   ========================================================================== */

.post-card .post-card__text:has(.clickable-parent),
.clickable-parent:not(a),
.clickable-parent:not(a) a {
  position: static;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.clickable-parent a::after {
  content: "";
  position: absolute;
  inset: 0;
  cursor: pointer !important;
  display: flex;
  z-index: 1;
}

.focus-parent:has(:focus-visible) :where(:focus, :focus-visible) {
  box-shadow: none;
  outline: none;
}


/* ==========================================================================
   6. Project Carousel — Inactive Slide Overlay
   ========================================================================== */

.elementor-element-42da7dd .project-slide__title,
.elementor-element-42da7dd .project-slide__btn,
.elementor-element-42da7dd .project-slide__info {
  opacity: 0;
  transition: opacity 0.4s var(--bg-ease);
}

.elementor-element-42da7dd .swiper-slide-active .project-slide__title,
.elementor-element-42da7dd .swiper-slide-active .project-slide__btn,
.elementor-element-42da7dd .swiper-slide-active .project-slide__info {
  opacity: 1;
}

.elementor-element-42da7dd .swiper-slide>.e-con::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / 0.6);
  border-radius: var(--bg-radius-lg);
  transition: opacity 0.5s var(--bg-ease);
  pointer-events: none;
  z-index: 1;
}

.elementor-element-42da7dd .swiper-slide-active>.e-con::after {
  opacity: 0;
}

@media (max-width: 767px) {
  .elementor-element-42da7dd .swiper-slide-active>.e-con::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background-color: transparent !important;
    background-image: linear-gradient(180deg, transparent 44%, #000000 74%) !important;
    border-radius: var(--bg-radius-lg);
    pointer-events: none;
    z-index: 0;
  }

  .elementor-element-42da7dd .swiper-slide-active>.e-con>.e-con,
  .elementor-element-42da7dd .swiper-slide-active>.e-con>.elementor-widget {
    position: relative;
    z-index: 1;
  }
}


/* ==========================================================================
   7. Project Grid Cards — Zoom on Hover
   ========================================================================== */

.e-loop-item {
  overflow: hidden;
  border-radius: var(--bg-radius-lg);
}

.e-loop-item.elementor-repeater-item-aa5a14d {
  overflow: visible;
}

@media (max-width: 767px) {
  .e-loop-item.elementor-repeater-item-aa5a14d {
    margin-top: 1rem;
  }
}

@media (hover: hover) {
  .e-loop-item .post-card {
    transition: transform 0.5s var(--bg-ease);
    will-change: transform;
  }

  .e-loop-item:hover .post-card {
    transform: scale(1.05);
  }

  .e-loop-item .post-card__text {
    transition: transform 0.5s var(--bg-ease);
    transform: translateZ(0);
    backface-visibility: hidden;
    will-change: transform;
  }

  .e-loop-item:hover .post-card__text {
    transform: scale(calc(1 / 1.05)) translateZ(0);
  }
}


/* ==========================================================================
   8. Project Gallery Carousel  [projekt_gallery]
   ========================================================================== */

.bg-gallery-carousel {
  /* Smoothly scales: 250px at 1440px → 340px at 1920px */
  --bg-gallery-offset: clamp(15.625rem, -1.25rem + 18.75vw, 21.25rem);
  position: relative;
  width: 100%;
}

.bg-gallery-swiper {
  overflow: hidden;
}

.bg-gallery-swiper .swiper-slide {
  width: calc(100% - var(--bg-gallery-offset) * 2);
  flex-shrink: 0;
}

.bg-gallery-swiper .swiper-slide-active {
  cursor: pointer;
}

.bg-gallery-slide__inner {
  position: relative;
  width: 100%;
  min-height: 37.5rem;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border-radius: var(--bg-radius-lg);
}

/* Dark overlay on inactive slides */
.bg-gallery-swiper .swiper-slide .bg-gallery-slide__inner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / 0.6);
  border-radius: var(--bg-radius-lg);
  transition: opacity 0.5s var(--bg-ease);
  pointer-events: none;
}

.bg-gallery-swiper .swiper-slide-active .bg-gallery-slide__inner::after {
  opacity: 0;
}

/* Navigation arrows */
.bg-gallery-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  background: #F9FDFF;
  border-radius: 50%;
}

.bg-gallery-btn svg {
  display: block;
}

.bg-gallery-btn-prev {
  left: calc(var(--bg-gallery-offset) - 2.5rem);
  padding-right: 2px;
}

.bg-gallery-btn-next {
  right: calc(var(--bg-gallery-offset) - 2.5rem);
  padding-left: 2px;
}

@media (max-width: 1439px) {
  .bg-gallery-carousel {
    --bg-gallery-offset: 2.5rem;
    /* 40px */
  }
}

@media (max-width: 767px) {
  .bg-gallery-carousel {
    --bg-gallery-offset: 1rem;
    /* 16px */
  }

  .bg-gallery-slide__inner {
    min-height: 30rem;
  }

  .bg-gallery-btn {
    display: none;
  }
}


/* ==========================================================================
   9. Lightbox
   ========================================================================== */

.bg-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.80);
  backdrop-filter: blur(5px);
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s var(--bg-ease), visibility 0.3s;
  user-select: none;
}

.bg-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}

.bg-lightbox__header {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 1.5rem 2rem;
  flex-shrink: 0;
}

.bg-lightbox__close {
  background: #F9FDFF;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
}

.bg-lightbox__close:hover {
  background: #DCF0FF;
}

.bg-lightbox__close img {
  display: block;
  width: 1rem;
  height: 1rem;
}

.bg-lightbox__body {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  padding: 0 2rem 2rem;
  min-height: 0;
}

.bg-lightbox__img-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  max-height: 100%;
}

.bg-lightbox__img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: var(--bg-radius-lg, 1rem) !important;
  user-select: none;
  -webkit-user-drag: none;
}

.bg-lightbox__btn {
  flex-shrink: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  background: #F9FDFF;
  border-radius: 50%;
}

.bg-lightbox__btn svg path {
  stroke: var(--e-global-color-4d915eb);
}

.bg-lightbox__btn-prev {
  padding-right: 2px;
}

.bg-lightbox__btn-next {
  padding-left: 2px;
}

@media (max-width: 767px) {
  .bg-lightbox__header {
    padding: 1rem;
  }

  .bg-lightbox__body {
    padding: 0 1rem 1rem;
    gap: 0.75rem;
  }

  .bg-lightbox__btn {
    width: 2.5rem;
    height: 2.5rem;
  }

  .bg-lightbox__btn svg {
    width: 10px;
    height: 18px;
  }
}


/* ==========================================================================
   10. Stat Banner (98%) — Decorative Elements
   ========================================================================== */

.bg-stat-banner {
  position: relative;
}

.bg-stat-banner__line {
  position: absolute !important;
  left: 8.8rem;
  top: 0;
  bottom: 0;
  width: 36.6rem;
  min-width: 36.6rem;
  z-index: 1;
  overflow: hidden;

  &.alternate {
    left: 9.2975rem;
  }
}

.bg-stat-banner__icon {
  position: absolute !important;
  left: 23.8rem;
  top: 28%;
  width: 12.4rem;
  z-index: 2;

  &.alternate {
    width: 26rem;
    transform: rotate(-18.214deg);
    left: 2.1875rem;
    top: -6rem;
  }
}

.bg-stat-banner__mascot {
  position: absolute !important;
  left: -4.5rem;
  bottom: -3.5rem;
  width: 13.625rem;
  z-index: 3;
}

@media (max-width: 1024px) {

  .bg-stat-banner__line,
  .bg-stat-banner__line.alternate {
    left: auto;
    right: -12rem;
    top: auto;
    bottom: -6rem;
    width: 36.6rem !important;
    min-width: 36.6rem !important;
    clip-path: inset(0 12rem 6rem 6rem);
  }

  .bg-stat-banner__icon,
  .bg-stat-banner__icon.alternate {
    left: auto;
    right: 10rem;
    top: auto;
    bottom: 1rem;
    width: 12.4rem;
    transform: none;
  }

}

@media (max-width: 767px) {
  .bg-stat-banner__icon.house-icon__alternate {
    left: auto;
    right: 2rem;
    top: auto;
    bottom: 3rem;
    width: 12.4rem;
  }
}

/* ==========================================================================
  10b. Careers Accordion Separators
   ========================================================================== */

.elementor-element-7aa1e3b .e-n-accordion-item:not(:last-child) {
  position: relative;
}

.elementor-element-7aa1e3b .e-n-accordion-item:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(var(--n-accordion-item-title-space-between, 0px) / -2);
  height: 1px;
  background: #DCF0FF;
}


/* ==========================================================================
   11. About Page — Value Card Icon Hover Effects
   ========================================================================== */

@media (hover: hover) {

  /* Tree icon — subtle rotation (card: ca2ce0c) */
  .elementor-element-69bc89c img {
    transition: transform 0.4s var(--bg-ease);
  }

  .elementor-element-ca2ce0c:hover .elementor-element-69bc89c img {
    transform: rotate(-3deg);
  }

  /* Human icon — vertical lift (card: 33ac4af) */
  .elementor-element-c8010a7 img {
    transition: transform 0.4s var(--bg-ease);
  }

  .elementor-element-33ac4af:hover .elementor-element-c8010a7 img {
    transform: translateY(-1.2rem);
  }

  /* Bird icon — subtle rotation (card: 94ce1d2) */
  .elementor-element-75a5f13 img {
    transition: transform 0.4s var(--bg-ease);
  }

  .elementor-element-94ce1d2:hover .elementor-element-75a5f13 img {
    transform: rotate(-6deg);
  }
}


/* ==========================================================================
   12. Single Project — "Kõik projektid" Back Button
   ========================================================================== */

.elementor-element-c44a079 .elementor-button-icon svg {
  width: 0.5rem;
  height: auto;
}


/* ==========================================================================
   13. Load More — Filter-Aware Visibility
   ========================================================================== */

.e-loop__load-more.bg-hidden {
  display: none !important;
}


/* ==========================================================================
   14. Single Project — Post Navigation Pills
   ========================================================================== */

.elementor-widget-post-navigation .elementor-post-navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.elementor-widget-post-navigation .elementor-post-navigation__link a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: 1px solid var(--e-global-color-4d915eb);
  border-radius: 50px;
  padding: 0.6rem 1.5rem 0.7rem;
  text-decoration: none;
}

.elementor-widget-post-navigation .post-navigation__prev--title,
.elementor-widget-post-navigation .post-navigation__next--title {
  font-family: "Syne", sans-serif;
  font-size: var(--bg-fs-body);
  font-weight: 500;
  color: var(--e-global-color-4d915eb);
}

.elementor-widget-post-navigation .post-navigation__arrow-wrapper svg {
  width: 0.5rem;
  height: auto;
  margin-top: 0.1rem;
}

.elementor-post-navigation__link {
  width: 100% !important;
}

@media (max-width: 434px) {
  .elementor-widget-post-navigation .elementor-post-navigation {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: 100%;
  }

  .elementor-post-navigation .elementor-post-navigation__link {
    width: 100% !important;
    text-align-last: center;
  }
}


/* ==========================================================================
   15. Contact Page — Hero Card
   ========================================================================== */

/* Team member and others links — brand blue */
.elementor-element-4720ca12 a,
.elementor-element-a437a4d a {
  color: var(--e-global-color-4d915eb);
}

.elementor-element-1722a22b .elementor-widget-image,
.elementor-element-54f3a681 .elementor-widget-image {
  overflow: hidden;
  border-radius: var(--bg-radius-lg);
}

@media (max-width: 1330px) {
  .elementor-element-24c96277 {
    flex-direction: column;
  }
}

/* Purple contact card — relative anchor for absolutely positioned children */
.kontakt-hero-card {
  position: relative;
  overflow: visible !important;
}

/* Mascot — top-right corner, peeking above card */
.kontakt-hero-card>.elementor-element-4c750292 {
  position: absolute !important;
  top: -3.125rem;
  right: -1.875rem;
  left: auto;
  bottom: auto;
  z-index: 2;
}

.kontakt-hero-card>.elementor-element-4c750292 img {
  height: auto;
}

/* SVG decoration — bottom-right of purple card */
.kontakt-hero-card .elementor-element-dd39115 {
  position: absolute !important;
  bottom: -1.25rem;
  right: -2.5rem;
  z-index: 1;
  pointer-events: none;
}

.kontakt-hero-card .elementor-element-dd39115 img {
  height: auto;
}

@media (max-width: 1024px) {
  .kontakt-hero-card>.elementor-element-4c750292 {
    top: -2.1875rem !important;
    right: -1.6rem !important;
  }

  .kontakt-hero-card .elementor-element-dd39115 {
    right: -1.25rem;
  }
}

@media (max-width: 767px) {
  .elementor-element-43c20f38 {
    height: auto !important;
    min-height: 0 !important;
  }

  .elementor-element-43c20f38 .elementor-widget-image img {
    width: 100%;
    height: auto;
    border-radius: var(--bg-radius-lg);
  }

  .kontakt-hero-card>.elementor-element-4c750292 {
    top: -1.5625rem !important;
    right: -1.6rem !important;
  }

  .kontakt-hero-card .elementor-element-dd39115 {
    right: -0.625rem;
    bottom: -0.625rem;
  }
}


/* ==========================================================================
   16. Header Nav — Active-Only Overline at Top Edge
   ========================================================================== */

/* A) Stretch the nav chain down to <li> (not <a>) to fill header height */
.elementor-element-044adf0 .elementor-widget-container,
.elementor-element-044adf0 .elementor-nav-menu--main,
.elementor-element-044adf0 .elementor-nav-menu {
  height: 100%;
}

.elementor-element-044adf0 .elementor-nav-menu>li {
  height: 100%;
  display: flex;
  align-items: center;
}

/* B) Disable Elementor's ::before on the <a> — we'll use the <li> instead */
.elementor-element-044adf0 .elementor-item::before {
  display: none !important;
}

/* C) Hide pointer on hover — keep focus accessible */
.elementor-element-044adf0 .elementor-item:hover::after {
  opacity: 0 !important;
}

/* D) Active overline on <li> — sits at header top edge.
      Covers both standard pages (.current-menu-item) and
      CPT archive/single projekt pages (body class + menu-item-42). */
.elementor-element-044adf0 .elementor-nav-menu>li.current-menu-item::before,
body.post-type-archive-projekt .elementor-element-044adf0 .elementor-nav-menu>.menu-item-42::before,
body.single-projekt .elementor-element-044adf0 .elementor-nav-menu>.menu-item-42::before {
  content: "";
  display: block !important;
  position: absolute;
  top: calc(-1 * ((5.8rem - 100%) / 2));
  left: 0;
  width: 100%;
  height: 3px;
  background-color: var(--e-global-color-4d915eb);
  z-index: 2;
  opacity: 1;
}


/* ==========================================================================
   17. WPML Language Switcher
   ========================================================================== */

.wpml-ls-legacy-list-horizontal {
  padding-left: 0;
}

.wpml-ls-legacy-list-horizontal .wpml-ls-first-item .wpml-ls-link {
  padding-left: 0;
}

.elementor-element-f42ba85 .wpml-ls-item {
  display: none;
}

/*Temporary hide WPML links*/

/*.wpml-ls-item{
	display: none!important;
}*/