.elementor-kit-34{--e-global-color-primary:#000000;--e-global-color-secondary:#54595F;--e-global-color-text:#000000;--e-global-color-accent:#61CE70;--e-global-color-0fbc5dc:#FFFFFF;--e-global-color-520a49e:#DFDFDF;--e-global-color-e337fd8:#FF4600;--e-global-typography-primary-font-family:"StudioFeixenEdgy-Regular";--e-global-typography-primary-font-weight:normal;--e-global-typography-secondary-font-family:"GT-Sectra";--e-global-typography-secondary-font-weight:normal;--e-global-typography-text-font-family:"GT-Sectra";--e-global-typography-text-font-size:clamp(1.16rem, 0.35vw + 1.02rem, 1.32rem);--e-global-typography-text-font-weight:normal;--e-global-typography-text-font-style:normal;--e-global-typography-accent-font-family:"GT-Sectra";--e-global-typography-accent-font-weight:normal;--e-global-typography-accent-font-style:italic;--e-global-typography-ef91ae4-font-family:"StudioFeixenEdgy-Regular";--e-global-typography-ef91ae4-font-size:clamp(2.8rem, 4.2vw + 1.9rem, 5.9rem);--e-global-typography-ef91ae4-font-weight:400;--e-global-typography-ef91ae4-text-transform:uppercase;--e-global-typography-ef91ae4-font-style:normal;--e-global-typography-ef91ae4-line-height:0.88;--e-global-typography-ef91ae4-letter-spacing:-0.03em;--e-global-typography-0868cb2-font-family:"GT-Sectra";--e-global-typography-0868cb2-font-size:clamp(1.35rem, 0.95vw + 1.1rem, 1.9rem);--e-global-typography-0868cb2-font-weight:400;--e-global-typography-0868cb2-font-style:normal;--e-global-typography-0868cb2-line-height:1.45;--e-global-typography-1419a21-font-family:"GT-Sectra";--e-global-typography-1419a21-font-size:clamp(1.32rem, 0.7vw + 1.2rem, 1.65rem);--e-global-typography-1419a21-font-weight:400;--e-global-typography-1419a21-font-style:normal;--e-global-typography-1419a21-line-height:1.25;--e-global-typography-d78d1ce-font-size:clamp(0.92rem, 0.18vw + 0.88rem, 1.02rem);--e-global-typography-d78d1ce-font-weight:400;--e-global-typography-d78d1ce-font-style:normal;--e-global-typography-d78d1ce-line-height:1.35;--e-global-typography-83c5b20-font-family:"StudioFeixenEdgy-Regular";--e-global-typography-83c5b20-font-size:clamp(2.2rem, 2.9vw + 1.4rem, 4rem);--e-global-typography-83c5b20-font-weight:400;--e-global-typography-83c5b20-text-transform:uppercase;--e-global-typography-83c5b20-font-style:normal;--e-global-typography-83c5b20-line-height:0.9;--e-global-typography-83c5b20-letter-spacing:-0.025em;--e-global-typography-962f5bc-font-family:"StudioFeixenEdgy-Regular";--e-global-typography-962f5bc-font-size:clamp(1.2rem, 6.5vw + 0.6rem, 9.6rem);--e-global-typography-962f5bc-font-weight:400;--e-global-typography-962f5bc-text-transform:uppercase;--e-global-typography-962f5bc-font-style:normal;--e-global-typography-962f5bc-line-height:0.85;--e-global-typography-962f5bc-letter-spacing:-0.035px;font-family:"GT-Sectra", Sans-serif;font-size:clamp(1.16rem, 0.4vw + 1.1rem, 1.32rem);font-weight:400;font-style:normal;line-height:1.3em;letter-spacing:0em;}.elementor-kit-34 e-page-transition{background-color:#FFBC7D;}.elementor-kit-34 p{margin-block-end:clamp(1.18rem, 0.35vw + 1.02rem, 1.32rem);}.elementor-kit-34 h1{font-family:"StudioFeixenEdgy-Regular", Sans-serif;font-size:clamp(2.03rem, 2.06vw + 1.51rem, 3.06rem);font-weight:400;line-height:1em;letter-spacing:-0.02em;}.elementor-kit-34 h2{font-family:"StudioFeixenEdgy-Regular", Sans-serif;font-size:clamp(1.8rem, 1.83vw + 1.35rem, 2.72rem);line-height:1.12em;}.elementor-kit-34 h3{font-family:"StudioFeixenEdgy-Regular", Sans-serif;font-size:clamp(1.6rem, 1.62vw + 1.2rem, 2.41rem);}.elementor-kit-34 h4{font-family:"StudioFeixenEdgy-Regular", Sans-serif;font-size:clamp(1.42rem, 1.44vw + 1.07rem, 2.14rem);}.elementor-kit-34 h5{font-family:"StudioFeixenEdgy-Regular", Sans-serif;font-size:clamp(1.27rem, 1.27vw + 0.95rem, 1.9rem);}.elementor-kit-34 h6{font-family:"StudioFeixenEdgy-Regular", Sans-serif;font-size:clamp(1.13rem, 1.13vw + 0.84rem, 1.69rem);line-height:1.32em;}.elementor-kit-34 button,.elementor-kit-34 input[type="button"],.elementor-kit-34 input[type="submit"],.elementor-kit-34 .elementor-button{font-family:"GT-Sectra", Sans-serif;font-size:clamp(0.95rem, 0.25vw + 0.98rem, 1.1rem);font-weight:400;font-style:normal;letter-spacing:0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;}.elementor-widget:not(:last-child){--kit-widget-spacing:15px;}.elementor-element{--widgets-spacing:15px 15px;--widgets-spacing-row:15px;--widgets-spacing-column:15px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-34{--e-global-typography-ef91ae4-line-height:0.92em;--e-global-typography-d78d1ce-font-size:clamp(0.96rem, 0.22vw + 0.88rem, 1.02rem);--e-global-typography-83c5b20-line-height:1.12em;--e-global-typography-962f5bc-line-height:1.08em;line-height:1.24em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */:root{
    
     /* Button/Chip – gleiche Typo */
  --ui-font-size: clamp(0.95rem, 0.25vw + 0.98rem, 1.1rem);
  --ui-line-height: 1.1;


  /* Repeater-Chips etwas kleiner/neutral */
  --rep-font-size: clamp(0.95rem, 0.25vw + 0.98rem, 1.1rem);
  --rep-line-height: 1.2;
  

  /* Text Links (Read more, Inline Links mit Pfeil) */
 --link-font-size: clamp(1.02rem, 0.35vw + 0.95rem, 1.25rem);

  --link-line-height: 1.25;

    
  --chamfer: 10px;

  --btn-color: #1a1a1a;
  --btn-color-hover: #5a5a5a;
   --btn-color-hover-black:  #DFDFDF;

  --btn-bw: 1px;     /* 1px sauber */
  --btn-cut: 10px;   /* muss zur Optik passen */
  --btn-pad-y: 0.52em;
  --btn-pad-x: 1.8em;


  /* ======================================================
     NEU: EINHEITLICHE STEUERUNG (ohne Optik zu ändern)
     ====================================================== */

  /* Chips (Terms) */
  --chips-pad-y: .52em;
  --chips-pad-x: 1.8em;
  --chips-gap-x: .35em;
  --chips-gap-y: .35em;
  /* Chips Empty (Terms) */
  --chips-empty-pad-y: .45em;
  --chips-empty-pad-x: 1.8em;
  --chips-empty-gap-x: .45em;
  --chips-empty-gap-y: .35em;
  

  /* Repeater-Chips (nur wenn Wrapper-Klasse gesetzt ist) */
  --rep-pad-y: .52em;
  --rep-pad-x:  1.8em;
   --chips-gap-x: .35em;
  --chips-gap-y: .35em;


  /* Menu padding */
  --menu-pad-top: 40px;
  --menu-pad-bottom: 0px;



    /* Slider dots */
  /* Desktop */
  --slider-dot-offset: 24px;
  --slider-dot-size: 18px;
  --slider-dot-border: 2px;
  --slider-dot-color: white;      /* oder #000 */
  --slider-dot-gap: 10px;

  /* Abstand zur rechten / unteren Kante */
  --slider-dot-offset-x: 18px;
  --slider-dot-offset-y: 24px;
}

/* Mobile */
@media (max-width: 767px){
  :root{
    --slider-dot-size: 12px;
    --slider-dot-gap: 6px;
    --slider-dot-offset-x: 12px;
    --slider-dot-offset-y: 12px;
  }
}




@media (max-width: 767px){
  :root{
    --btn-pad-y: 0.58em;
    --btn-pad-x: 1.15em;
  

    /* optional mobil feinjustieren */
    --chips-pad-y: 0.58em;
    --chips-pad-x: 1.15em;

    --rep-pad-y: 0.58em;
    --rep-pad-x: 1.15em;
  }
}


/* =========================================
   MOBILE TYPO REFINEMENT
   Mehr Luft für große Headlines
   ========================================= */

@media (max-width: 767px){


  /* ===== STANDARD HEADLINES ===== */

  h1{
    line-height: 1.0;
  }

  h2{
    line-height: 1.13;
  }

  h3{
    line-height: 1.15;
  }

}



/* =========================================
   GLOBAL: BODY / FLIESSTEXT
   ========================================= */
p,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-container p {

  hyphens: auto !important;
  -webkit-hyphens: auto !important;
  -ms-hyphens: auto !important;
 
}



/* =========================================
   GLOBAL: HEADLINES – KEIN UMBRUCH-CHAOS
   ========================================= */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  hyphens: manual;
  -webkit-hyphens: manual;
  word-break: normal;
  overflow-wrap: normal;
  text-wrap: balance;
}

/* =========================================
   MOBILE
   ========================================= */
@media (max-width: 767px) {

  body {
    font-kerning: normal;
    font-variant-ligatures: common-ligatures;
    font-feature-settings: "onum" 1, "pnum" 1, "kern" 1;
  }

  .elementor-widget-text-editor,
  .elementor-widget-text-editor p,
  .elementor-widget-container p {
    font-variant-ligatures: none;
    font-variant-numeric: oldstyle-nums proportional-nums;
    font-feature-settings: "onum" 1, "pnum" 1, "kern" 1;
    font-kerning: normal;
    word-break: normal;
    overflow-wrap: break-word;
     
  }

  h1, h2, h3, h4, h5, h6,
  .elementor-heading-title {
    font-variant-ligatures: none;
    font-variant-numeric: lining-nums proportional-nums;
    font-feature-settings: "case";
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
    word-break: normal;
    overflow-wrap: break-word;
    text-wrap: balance;
  }
}

/* =========================================
   GLOBAL LINKS (Body / Content)
   ========================================= */

a{
  color: #000;
  text-decoration: none;
  transition: color .15s ease;
}

a:hover{
  color: #54595F;
}








/* ===========================
   CHAMFER IMAGES
   =========================== */
   .chamfer-responsive img {
  width: 100% !important;
  height: auto !important;
  display: block;
}
   
   

.chamfer img,
.chamfer .elementor-image img{
  -webkit-clip-path: polygon(
    var(--chamfer) 0%,
    calc(100% - var(--chamfer)) 0%,
    100% var(--chamfer),
    100% calc(100% - var(--chamfer)),
    calc(100% - var(--chamfer)) 100%,
    var(--chamfer) 100%,
    0% calc(100% - var(--chamfer)),
    0% var(--chamfer)
  );
  clip-path: polygon(
    var(--chamfer) 0%,
    calc(100% - var(--chamfer)) 0%,
    100% var(--chamfer),
    100% calc(100% - var(--chamfer)),
    calc(100% - var(--chamfer)) 100%,
    var(--chamfer) 100%,
    0% calc(100% - var(--chamfer)),
    0% var(--chamfer)
  );
  display:block;
}

.chamfer figcaption,
.chamfer [class*="caption"],
.chamfer .caption{
  font-size: clamp(0.92rem, 0.18vw + 0.88rem, 1.02rem);
  font-style:normal;
  margin-top: 12px;
}

.chamfer-slider .elementor-slide,
.chamfer-slider .swiper-slide,
.chamfer-slider .elementor-swiper-slide,
.chamfer-slider .elementor-slide__bg{
  -webkit-clip-path: polygon(
    var(--chamfer) 0%,
    calc(100% - var(--chamfer)) 0%,
    100% var(--chamfer),
    100% calc(100% - var(--chamfer)),
    calc(100% - var(--chamfer)) 100%,
    var(--chamfer) 100%,
    0% calc(100% - var(--chamfer)),
    0% var(--chamfer)
  );
  clip-path: polygon(
    var(--chamfer) 0%,
    calc(100% - var(--chamfer)) 0%,
    100% var(--chamfer),
    100% calc(100% - var(--chamfer)),
    calc(100% - var(--chamfer)) 100%,
    var(--chamfer) 100%,
    0% calc(100% - var(--chamfer)),
    0% var(--chamfer)
  );
  overflow:hidden;
}

/* ============================= */
/* WPML – Ultra Clean Inline    */
/* ============================= */

/* Grundlayout – niemals umbrechen */
.wpml-ls,
.wpml-ls ul {
  font-size: var(--link-font-size);
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 0;
  white-space: nowrap !important;
  width: auto !important;
  margin: 0;
  padding: 0;
}

/* List Items inline */
.wpml-ls li {
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Trenner exakt mittig */
.wpml-ls li + li::before {
  content: "|";
  margin: 0 .35em;
  opacity: .4;
  line-height: 1;
}

/* Links */
.wpml-ls a,
.wpml-ls span {
  display: inline !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  white-space: nowrap !important;
  text-decoration: none !important; /* keine Unterstreichung */
  color: var(--btn-color);
  opacity: .6;
  transition: opacity .15s ease;
}

/* Hover */
.wpml-ls a:hover {
  opacity: .85;
}

/* Active – Farbe, keine Unterstreichung */
.wpml-ls-current-language a,
.wpml-ls-current-language span {
  opacity: 1;
  font-weight: 500;
  text-decoration: none !important; /* Unterstreichung entfernt */
  border-bottom: none !important;   /* ggf. Theme-Border entfernen */
  pointer-events: none;
}

/* ============================= */
/* Footer – invertiert & ohne Flags */
/* ============================= */
.site-footer .wpml-ls,
.site-footer .wpml-ls ul {
font-size: var(--link-font-size);
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 0;
  white-space: nowrap !important;
  width: auto !important;
  margin: 0;
  padding: 0;
}

.site-footer .wpml-ls a,
.site-footer .wpml-ls span {
  color: #fff;
  opacity: .6;
  text-decoration: none !important; /* Footer Unterstreichung Theme verhindern */
  
}

.site-footer .wpml-ls-current-language a,
.site-footer .wpml-ls-current-language span {
  color: #fff;
  opacity: 1;
  font-weight: 500;
  text-decoration: none !important;
  border-bottom: none !important;
  pointer-events: none;
}

/* Flags nur im Footer entfernen */
.site-footer .wpml-ls img,
.site-footer .wpml-ls .wpml-ls-flag {
  display: none !important;
}

/* ============================= */
/* Mobile Fix – keine doppelte Unterstreichung */
@media (max-width: 768px) {
  .wpml-ls a,
  .wpml-ls span {
    text-decoration: none !important;
  }
  
}





/* ===========================
   CHAMFER BOX (Container)
   =========================== */

.chamfer-box{
  position: relative;
}

.chamfer-box,
.chamfer-box > .e-con-inner,
.chamfer-box > .elementor-container,
.chamfer-box > .elementor-widget-wrap{
  -webkit-clip-path: polygon(
    var(--chamfer) 0%,
    calc(100% - var(--chamfer)) 0%,
    100% var(--chamfer),
    100% calc(100% - var(--chamfer)),
    calc(100% - var(--chamfer)) 100%,
    var(--chamfer) 100%,
    0% calc(100% - var(--chamfer)),
    0% var(--chamfer)
  );
  clip-path: polygon(
    var(--chamfer) 0%,
    calc(100% - var(--chamfer)) 0%,
    100% var(--chamfer),
    100% calc(100% - var(--chamfer)),
    calc(100% - var(--chamfer)) 100%,
    var(--chamfer) 100%,
    0% calc(100% - var(--chamfer)),
    0% var(--chamfer)
  );
  overflow: hidden;
}

/* ===========================
   BUTTONS
   =========================== */

.elementor  .elementor-align-justify .elementor-button,
.elementor .elementor-button-wrapper.elementor-align-justify .elementor-button{
  display: flex !important;
  width: 100% !important;
}

.elementor a.elementor-button,
.elementor .elementor-button{
  color: var(--btn-color) !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-size: var(--ui-font-size) !important;
  line-height: var(--ui-line-height) !important;
  padding: var(--btn-pad-y) var(--btn-pad-x) !important;

  background-repeat: no-repeat !important;
  background-image:
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor),
    linear-gradient(135deg,
      transparent calc(50% - (var(--btn-bw) / 2)),
      currentColor 0 calc(50% + (var(--btn-bw) / 2)),
      transparent 0),
    linear-gradient(45deg,
      transparent calc(50% - (var(--btn-bw) / 2)),
      currentColor 0 calc(50% + (var(--btn-bw) / 2)),
      transparent 0),
    linear-gradient(135deg,
      transparent calc(50% - (var(--btn-bw) / 2)),
      currentColor 0 calc(50% + (var(--btn-bw) / 2)),
      transparent 0),
    linear-gradient(45deg,
      transparent calc(50% - (var(--btn-bw) / 2)),
      currentColor 0 calc(50% + (var(--btn-bw) / 2)),
      transparent 0);

  background-size:
    calc(100% - (var(--btn-cut) + var(--btn-cut))) var(--btn-bw),
    calc(100% - (var(--btn-cut) + var(--btn-cut))) var(--btn-bw),
    var(--btn-bw) calc(100% - (var(--btn-cut) + var(--btn-cut))),
    var(--btn-bw) calc(100% - (var(--btn-cut) + var(--btn-cut))),
    var(--btn-cut) var(--btn-cut),
    var(--btn-cut) var(--btn-cut),
    var(--btn-cut) var(--btn-cut),
    var(--btn-cut) var(--btn-cut);

  background-position:
    var(--btn-cut) 0,
    var(--btn-cut) 100%,
    0 var(--btn-cut),
    100% var(--btn-cut),
    0 0,
    100% 0,
    100% 100%,
    0 100%;

  transition: color .15s ease, background-image .15s ease;
}

.elementor a.elementor-button:hover,
.elementor .elementor-button:hover{
  color: var(--btn-color-hover) !important;
}


/* ===========================
   CHIPS (Terms)
   =========================== */

.chips a,
.dce-term{
  color: var(--btn-color);
  text-decoration: none;
  display: inline-BLOCK !important;
   font-size: var(--ui-font-size)!important;
  line-height: var(--ui-line-height)!important;

  /* NUR hier variabel gemacht (Design bleibt gleich) */
  padding: var(--chips-pad-y) var(--chips-pad-x);
  margin: 0 var(--chips-gap-x) var(--chips-gap-y) 0;

  background-repeat: no-repeat;
  background-image:
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor),
    linear-gradient(135deg, transparent calc(50% - (var(--btn-bw)/2)), currentColor 0 calc(50% + (var(--btn-bw)/2)), transparent 0),
    linear-gradient(45deg,  transparent calc(50% - (var(--btn-bw)/2)), currentColor 0 calc(50% + (var(--btn-bw)/2)), transparent 0),
    linear-gradient(135deg, transparent calc(50% - (var(--btn-bw)/2)), currentColor 0 calc(50% + (var(--btn-bw)/2)), transparent 0),
    linear-gradient(45deg,  transparent calc(50% - (var(--btn-bw)/2)), currentColor 0 calc(50% + (var(--btn-bw)/2)), transparent 0);

  background-size:
    calc(100% - (var(--btn-cut) * 2)) var(--btn-bw),
    calc(100% - (var(--btn-cut) * 2)) var(--btn-bw),
    var(--btn-bw) calc(100% - (var(--btn-cut) * 2)),
    var(--btn-bw) calc(100% - (var(--btn-cut) * 2)),
    var(--btn-cut) var(--btn-cut),
    var(--btn-cut) var(--btn-cut),
    var(--btn-cut) var(--btn-cut),
    var(--btn-cut) var(--btn-cut);

  background-position:
    var(--btn-cut) 0,
    var(--btn-cut) 100%,
    0 var(--btn-cut),
    100% var(--btn-cut),
    0 0,
    100% 0,
    100% 100%,
    0 100%;
}

.chips a:hover,
.dce-term:hover{
  color: var(--btn-color-hover);
}

/* =================================
   CHIPS für Wrapper
   ================================= */

.chips-empty {
  color: var(--btn-color);
  min-width: 0;

  position: relative;
  text-align: center;
  font-size: var(--ui-font-size);
  line-height: var(--ui-line-height);


   text-decoration: none;
  display: inline-block;

  /* NUR hier variabel gemacht (Design bleibt gleich) */

  padding: var(--chips-empty-pad-y) var(--chips-empty-pad-x) !important;
  margin: 0 var(--chips-empty-gap-x) var(--chips-empty-gap-y) 0 !important;
  
  background-repeat: no-repeat;
  background-image:
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor),
    linear-gradient(135deg, transparent calc(50% - (var(--btn-bw)/2)), currentColor 0 calc(50% + (var(--btn-bw)/2)), transparent 0),
    linear-gradient(45deg,  transparent calc(50% - (var(--btn-bw)/2)), currentColor 0 calc(50% + (var(--btn-bw)/2)), transparent 0),
    linear-gradient(135deg, transparent calc(50% - (var(--btn-bw)/2)), currentColor 0 calc(50% + (var(--btn-bw)/2)), transparent 0),
    linear-gradient(45deg,  transparent calc(50% - (var(--btn-bw)/2)), currentColor 0 calc(50% + (var(--btn-bw)/2)), transparent 0);

  background-size:
    calc(100% - (var(--btn-cut) * 2)) var(--btn-bw),
    calc(100% - (var(--btn-cut) * 2)) var(--btn-bw),
    var(--btn-bw) calc(100% - (var(--btn-cut) * 2)),
    var(--btn-bw) calc(100% - (var(--btn-cut) * 2)),
    var(--btn-cut) var(--btn-cut),
    var(--btn-cut) var(--btn-cut),
    var(--btn-cut) var(--btn-cut),
    var(--btn-cut) var(--btn-cut);

  background-position:
    var(--btn-cut) 0,
    var(--btn-cut) 100%,
    0 var(--btn-cut),
    100% var(--btn-cut),
    0 0,
    100% 0,
    100% 100%,
    0 100%;
}


/* ===========================
   DCE ACF REPEATER – NUR MIT WRAPPER KLASSE
   Elementor Widget: Advanced > CSS Classes:  repeater-chips
   =========================== */

.repeater-chips .dce-acf-repeater-item{
  min-width: 0;
  word-break: break-word;

  position: relative;
  text-align: center;

  /* NUR Variablen für Spacing/Typo */
  padding: var(--rep-pad-y) var(--rep-pad-x);
  margin-right: var(--rep-gap-x);
  margin-bottom: var(--rep-gap-y);
   font-size: var(--rep-font-size);
  line-height: var(--rep-line-height);
  
  color: var(--btn-color);
  background-color: transparent;

  /* Chamfer-Outline (identisch zu Chips) */
  background-repeat: no-repeat;
  background-image:
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor),
    linear-gradient(135deg, transparent calc(50% - (var(--btn-bw)/2)), currentColor 0 calc(50% + (var(--btn-bw)/2)), transparent 0),
    linear-gradient(45deg,  transparent calc(50% - (var(--btn-bw)/2)), currentColor 0 calc(50% + (var(--btn-bw)/2)), transparent 0),
    linear-gradient(135deg, transparent calc(50% - (var(--btn-bw)/2)), currentColor 0 calc(50% + (var(--btn-bw)/2)), transparent 0),
    linear-gradient(45deg,  transparent calc(50% - (var(--btn-bw)/2)), currentColor 0 calc(50% + (var(--btn-bw)/2)), transparent 0);

  background-size:
    calc(100% - (var(--btn-cut) * 2)) var(--btn-bw),
    calc(100% - (var(--btn-cut) * 2)) var(--btn-bw),
    var(--btn-bw) calc(100% - (var(--btn-cut) * 2)),
    var(--btn-bw) calc(100% - (var(--btn-cut) * 2)),
    var(--btn-cut) var(--btn-cut),
    var(--btn-cut) var(--btn-cut),
    var(--btn-cut) var(--btn-cut),
    var(--btn-cut) var(--btn-cut);

  background-position:
    var(--btn-cut) 0,
    var(--btn-cut) 100%,
    0 var(--btn-cut),
    100% var(--btn-cut),
    0 0,
    100% 0,
    100% 100%,
    0 100%;
}

.repeater-chips .dce-acf-repeater-item:hover{
  color: var(--btn-color-hover);
}

/* ===========================
   TEXT ARROW – Standard
   =========================== */

.text-arrow a {
  color: currentColor !important;
  text-decoration: none;
  display: inline-flex;
  align-items: baseline;
  gap: .35em;

  font-size: var(--link-font-size);
  line-height: var(--link-line-height);
}

/* Pfeil */
.text-arrow a::after {
  content: "→";
  font-size: var(--link-font-size) !important;
  line-height: var(--link-line-height) !important;
  transform: translateY(0.02em);
  transition: transform .12s ease, color .12s ease;
}

/* Standard Hover */
.text-arrow a:hover {
  color: var(--btn-color-hover) !important;
}
.text-arrow a:hover::after {
  transform: translateX(2px) translateY(0.02em);
  color: var(--btn-color-hover) !important;
}

/* ===========================
   TEXT ARROW – schwarze Links
   =========================== */

.text-arrow-black a {
  color: currentColor !important;
  text-decoration: none;
  display: inline-flex;
  align-items: baseline;
  gap: .35em;

  font-size: var(--link-font-size);
  line-height: var(--link-line-height);
}

/* Pfeil */
.text-arrow-black a::after {
  content: "→";
  font-size: var(--link-font-size) !important;
  line-height: var(--link-line-height) !important;
  transform: translateY(0.02em);
  transition: transform .12s ease, color .12s ease;
}

/* Hover für schwarze Links */
.text-arrow-black a:hover {
  color: var(--btn-color-hover-black) !important;
}
.text-arrow-black a:hover::after {
  transform: translateX(2px) translateY(0.02em);
  color: var(--btn-color-hover-black) !important;
}


/* ===========================
   TYPO / PARAGRAPH SPACING
   =========================== */

.elementor-widget-text-editor p,
.elementor-widget-theme-post-content p{
  margin: 0 !important;
}

.elementor-widget-text-editor p + p,
.elementor-widget-theme-post-content p + p{
  margin-top: 1em !important;
}

.event-excerpt{
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ===========================
   CHAMFER MENU (nur variabel padding)
   =========================== */

.chamfer-menu,
.chamfer-menu .elementor-widget-container,
.chamfer-menu .elementor-nav-menu__container,
.chamfer-menu .elementor-nav-menu{
  overflow: visible !important;
}

.chamfer-menu .elementor-nav-menu__container .elementor-nav-menu > li{
  --chamfer: 18px;
  position: relative;

  -webkit-clip-path: polygon(
    var(--chamfer) 0%,
    calc(100% - var(--chamfer)) 0%,
    100% var(--chamfer),
    100% 100%,
    0% 100%,
    0% var(--chamfer)
  );
  clip-path: polygon(
    var(--chamfer) 0%,
    calc(100% - var(--chamfer)) 0%,
    100% var(--chamfer),
    100% 100%,
    0% 100%,
    0% var(--chamfer)
  );
}

.chamfer-menu .elementor-nav-menu__container .elementor-nav-menu > li > a.elementor-item{
  background: #fbfcfc;
  color: #000;

  display: block;
  text-align: center;

  padding: var(--menu-pad-top) 0 var(--menu-pad-bottom) 0 !important;
  line-height: 0.85;

  box-shadow: inset 0px -12px 16px -16px rgba(0,0,0,0.55);

  -webkit-clip-path: none !important;
  clip-path: none !important;

  transition: background-color .25s ease, color .25s ease;
}

.chamfer-menu .elementor-nav-menu__container .elementor-nav-menu > li > a.elementor-item:hover{
  background:#000 !important;
  color:#fff !important;
}

.chamfer-menu .elementor-nav-menu__container .elementor-nav-menu > li.current-menu-item > a.elementor-item,
.chamfer-menu .elementor-nav-menu__container .elementor-nav-menu > li.current-menu-ancestor > a.elementor-item{
  background:#000 !important;
  color:#fff !important;
}



/* ===========================
   OFFCANVAS SCROLL FIX
   =========================== */

html:not(.menu-open),
body:not(.menu-open){
  overflow: auto;
}

html.menu-open,
body.menu-open{
  overflow: hidden !important;
}






/* ===== Archive Hover Preview: rechts mittig, ohne Layout-Shift ===== */
.archive-hover{
  position: relative;
}

/* typische Kandidaten für Preview-Elemente (DCE/Elementor Variationen) */
/* =========================================
   ARCHIVE HOVER IMAGE
   - Bild stört NIE das Layout
   - erscheint fixiert rechts
   - Liste bleibt ruhig
   ========================================= */

/* Sicherheit: Loop selbst bleibt stabil */
.elementor-loop-container{
  position: relative;
}

/* -----------------------------------------
   Basis: Hover-Bild komplett aus dem Layout
   ----------------------------------------- */
.archive-hover img{
  position: fixed;
  right: 3vw;
  top: 50%;
  transform: translateY(-50%);

  width: min(60vw, 600px);
  max-width: 600px;
  height: auto;

  opacity: 0;
  pointer-events: none;
  z-index: 9999;

  transition: opacity .2s ease;
}

/* -----------------------------------------
   Sichtbar NUR beim Hover
   ----------------------------------------- */
.archive-hover:hover img{
  opacity: 1;
}

/* -----------------------------------------
   Mobile: Hover-Bilder AUS
   ----------------------------------------- */
@media (max-width: 767px){
  .archive-hover img{
    display: none !important;
  }
}


/* Past → Status-Term ausblenden */
body.vh-is-past .program-status{
  display: none !important;
}




/* ===========================
   VH ACF SLIDER – BASIS
   =========================== */

.vh-acf{
  position: relative;
  overflow: visible !important;
}

.vh-acf .swiper{
  overflow: hidden !important;
}

/* Slides */
.vh-acf .swiper-slide{
  overflow: hidden!important;
 
}

/* ===========================
   OPTION 1 – DOTS (Hero / Normal / Small)
   =========================== */

.vh-dots .swiper-pagination{
  position: absolute !important;
  right: var(--slider-dot-offset-x) !important;
  bottom: var(--slider-dot-offset-y) !important;
  left: auto !important;
  top: auto !important;

  display: flex !important;
  gap: var(--slider-dot-gap) !important;
  width: auto !important;
  z-index: 50 !important;
}

.vh-dots .swiper-pagination-bullet{
  width: var(--slider-dot-size) !important;
  height: var(--slider-dot-size) !important;
  border-radius: 50% !important;
  background: transparent !important;
  opacity: 1 !important;
  border: var(--slider-dot-border) solid var(--slider-dot-color) !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.vh-dots .swiper-pagination-bullet-active{
  background: var(--slider-dot-color) !important;
}

/* ===========================
   VH MEDIA BLOCK – HÖHEN
   =========================== */

.vh-media{
  position: relative;
  width: 100%;
  overflow: hidden;
}

.vh-media--hero   { height: 65vh; }
.vh-media--normal { height: 100%; }
.vh-media--small  { height: 320px; }

/* Tablet */
@media (max-width: 1024px) {
  .vh-media--hero   { height: 40vh; }
  .vh-media--normal { height: 100%; }
  .vh-media--small  { height: 280px; }
}

/* Mobile */
@media (max-width: 767px) {
  .vh-media--hero   { height: 40vh; }
  .vh-media--normal { height: 100%; }
  .vh-media--small  { height: 220px; }
}
/* Slider füllt Media-Block */
.vh-media .elementor-widget,
.vh-media .swiper,
.vh-media .swiper-wrapper,
.vh-media .swiper-slide{
  height: 100%;

}

/* Bild fix */
.vh-media img,
.vh-media .swiper-slide-image,
.vh-media .elementor-carousel-image,
.vh-media .elementor-slide__bg{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background-size: cover;

}

.vh-media .swiper-slide-inner{
  position: relative;
  height: 100%;
}

/* ===========================
   OPTION 3 – CAPTION BELOW (NUR HIER!)
   =========================== */

/* darf unten rauslaufen 
.vh-media.vh-caption-below{
  overflow: visible !important;
}*/

/* Caption aus Layout nehmen,
   bleibt ans Bild gebunden */
.vh-caption-below .elementor-image-carousel-caption,
.vh-caption-below figcaption {
  position: absolute !important;
  bottom: 0px;
  left: 0;
  width: 100%;
  max-width: 100%;
  text-align: left;
  background: transparent;
}

@-moz-document url-prefix() {
  .vh-caption-below .swiper-slide {
    height: auto !important;
  }
}


@media (min-width: 768px) and (max-width: 1024px) {
  .vh-caption-below figcaption {
    bottom: -2px; /* minimal anpassen */
  }
}



/* Caption-Slider: schwarze Dots */
.vh-caption-below{
  --slider-dot-color: #000;
}

/* Elementor-Outside-Pagination neutralisieren */
.vh-acf.elementor-pagination-position-outside .swiper{
  padding-bottom: 0 !important;
}

/* =========================================
   CAPTION-SLIDER: Footer-Zone (responsive, stabil)
   NUR für .vh-caption-below – Hero bleibt unberührt
   ========================================= */

.vh-caption-below{
  --vh-cap-footer: 55px; /* Höhe der Zone unter dem Bild (Desktop) */
}

/* Caption-Slider: alles positionierbar */
.vh-caption-below .swiper{
  position: relative !important;
}

/* Wir reservieren unten Platz */
.vh-caption-below .swiper-wrapper,
.vh-caption-below .swiper-slide,
.vh-caption-below .swiper-slide-inner{
  height: 100% !important;
}

/* Slide-Inner bekommt den Footer-Platz */
.vh-caption-below .swiper-slide-inner{
  position: relative !important;
  display: block !important;             
  padding-bottom: var(--vh-cap-footer) !important;
  overflow: hidden !important;           
} 

.elementor-element.elementor-pagination-position-outside .swiper, .elementor-lightbox.elementor-pagination-position-outside .swiper {
 padding-bottom: 0px!important; 

}

/* Bild füllt NUR den Bereich über dem Footer */
.vh-caption-below img.swiper-slide-image{
  width: 100% !important;
  height: calc(100% - var(--vh-cap-footer)) !important;
  object-fit: cover !important;
  display: block !important;
}

/* Caption sitzt im Footer (links)*/
.vh-caption-below .elementor-image-carousel-caption{
  position: absolute !important;
  left: 0 !important;
  
  bottom: 10px!important;
 max-width: 70% !important;
  margin: 0 !important;
  padding: 8px 0 0 0 !important;
 background: transparent !important;
  text-align: left !important;
  z-index: 5 !important;
}

/* Dots sitzen im Footer (rechts) – gleiche Höhe wie Caption */
.vh-caption-below .swiper-pagination{
  position: absolute !important;
  right: 0 !important;
  left: auto !important;
  bottom: 15px!important;

  display: flex !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
padding-top: 8px !important; /* gleiche "baseline" wie Caption */
  width: auto !important;
  
  z-index: 6 !important;
}

/* Mobile: kleinere Footer-Zone */
@media (max-width: 767px){
  .vh-caption-below{ --vh-cap-footer: 65px; }

  .vh-caption-below .elementor-image-carousel-caption{
    max-width: 100% !important;

     bottom: 15px!important;
    
  }


  .vh-caption-below .swiper-pagination{
    padding-top: 8px !important;
     bottom: 0px!important;
  }
}



/* =========================================
  Hotspot rooms
   ========================================= */


.room-content{
  display: none;
}
.room-content.is-active{
  display: block;
}



.vh-map {
  position: relative;
  aspect-ratio: 1920 / 1080; /* exakt wie dein Plan */
  width: 100%;
  max-width: 100%;
    background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .vh-map {
    aspect-ratio: 3 / 4;
  }
}

.vh-hotspot {
  position: absolute;
  left: 42.3%;
  top: 36.8%;
  transform: translate(-50%, -50%);
}

.force-inline-menu .elementor-nav-menu {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between;
}

.force-inline-menu .elementor-menu-toggle {
  display: none !important;
}

.force-inline-menu .elementor-nav-menu li {
  float: none !important;
}
.force-inline-menu a {
  font-size: var(--e-global-typography-h6-font-size);
  color: var(--btn-color);
}


@media (max-width: 767px) {
  .mobile-inline-menu .elementor-nav-menu {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-around;
  }

  .mobile-inline-menu .elementor-nav-menu li {
    float: none !important;
  }

  .mobile-inline-menu .elementor-menu-toggle {
    display: none !important;
  }
}

.force-inline-menu a {
  font-size: var(--e-global-typography-h6-font-size);
  color: var(--btn-color);
}





/* ===========================
   SOLID PILL BUTTON
   Für: AddToCalendar, Share etc.
   Kontrast zum Chamfer-Button
   =========================== */

/* Icon + Text → Pill */
.elementor .btn-solid a.elementor-button,
.elementor .btn-solid .elementor-button {
  color: #fff !important;
  background-color: var(--btn-color) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;

  font-size: var(--ui-font-size) !important;
  line-height: var(--ui-line-height) !important;
  padding: var(--btn-pad-y) var(--btn-pad-x) !important;

  /* Chamfer-Background-Image komplett neutralisieren */
  background-image: none !important;
  background-repeat: unset !important;
  background-size: unset !important;
  background-position: unset !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45em !important;

  transition: background-color .15s ease, color .15s ease !important;
}

.elementor .btn-solid a.elementor-button:hover,
.elementor .btn-solid .elementor-button:hover {
  background-color: var(--btn-color-hover) !important;
  color: #fff !important;
}

/* Icon-only → Kreis (Apple Style) */
.elementor .btn-solid-icon a.elementor-button,
.elementor .btn-solid-icon .elementor-button {
  color: var(--btn-color) !important;
  background-color: color-mix(in srgb, var(--btn-color) 12%, transparent) !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: none !important;

  background-image: none !important;
  background-repeat: unset !important;
  background-size: unset !important;
  background-position: unset !important;

  /* Quadratisch damit der Kreis stimmt */
  width: 2.6em !important;
  height: 2.6em !important;
  padding: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  font-size: var(--ui-font-size) !important;
  line-height: 1 !important;

  /* Apple: spring-like scale + tint fade */
  transition:
    background-color .2s ease,
    transform .18s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  will-change: transform !important;
  -webkit-backdrop-filter: blur(8px) !important;
  backdrop-filter: blur(8px) !important;
}

.elementor .btn-solid-icon a.elementor-button:hover,
.elementor .btn-solid-icon .elementor-button:hover {
  background-color: color-mix(in srgb, var(--btn-color) 20%, transparent) !important;
  transform: scale(1.08) !important;
}

.elementor .btn-solid-icon a.elementor-button:active,
.elementor .btn-solid-icon .elementor-button:active {
  background-color: color-mix(in srgb, var(--btn-color) 28%, transparent) !important;
  transform: scale(0.93) !important;
  transition:
    background-color .08s ease,
    transform .08s ease !important;
}

/* Elementor inner wrapper centering fix (btn-solid-icon) */
.elementor .btn-solid-icon .elementor-button-content-wrapper,
.elementor .btn-solid-icon .elementor-button-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.elementor .btn-solid-icon svg {
  display: block !important;
}

/* Mobile */
@media (max-width: 767px) {
  .elementor .btn-solid-icon a.elementor-button,
  .elementor .btn-solid-icon .elementor-button {
    width: 2.4em !important;
    height: 2.4em !important;
  }
}

/* Icon-only → Kreis (Neutral/Ghost Style) */
.elementor .btn-ghost-icon a.elementor-button,
.elementor .btn-ghost-icon .elementor-button {
  color: #636366 !important;
  background-color: rgba(0, 0, 0, 0.06) !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: none !important;

  background-image: none !important;
  background-repeat: unset !important;
  background-size: unset !important;
  background-position: unset !important;

  width: 2.3em !important;
  height: 2.3em !important;
  padding: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  font-size: var(--ui-font-size) !important;
  line-height: 1 !important;

  transition:
    background-color .2s ease,
    transform .18s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  will-change: transform !important;
  cursor: pointer !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}

.elementor .btn-ghost-icon a.elementor-button:hover,
.elementor .btn-ghost-icon .elementor-button:hover {
  background-color: rgba(0, 0, 0, 0.10) !important;
  transform: scale(1.08) !important;
}

.elementor .btn-ghost-icon a.elementor-button:active,
.elementor .btn-ghost-icon .elementor-button:active {
  background-color: rgba(0, 0, 0, 0.14) !important;
  transform: scale(0.93) !important;
  transition: background-color .08s ease, transform .08s ease !important;
}

/* Elementor inner wrapper centering fix (btn-ghost-icon) */
.elementor .btn-ghost-icon .elementor-button-content-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  line-height: 1 !important;
}
.elementor .btn-ghost-icon .elementor-button-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  line-height: 1 !important;
}
.elementor .btn-ghost-icon .elementor-button-text {
  display: none !important;
}
.elementor .btn-ghost-icon svg,
.elementor .btn-ghost-icon i {
  display: block !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .elementor .btn-ghost-icon a.elementor-button,
  .elementor .btn-ghost-icon .elementor-button {
    width: 2.4em !important;
    height: 2.4em !important;
  }
}

.e-loop-item > .e-con { height: 100%; }
.e-loop-item > .e-con > .e-con-inner { height: 100%; display: flex; flex-direction: column; }
.e-loop-item > .e-con > .e-con-inner > .e-con:last-child { margin-top: auto !important; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'StudioFeixenEdgy-Regular';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://vanabbehuis.com/wp-content/uploads/2025/12/StudioFeixenEdgy-Regular.woff2') format('woff2'),
		url('https://vanabbehuis.com/wp-content/uploads/2025/12/StudioFeixenEdgy-Regular.woff') format('woff'),
		url('https://vanabbehuis.com/wp-content/uploads/2025/12/StudioFeixenEdgy-Regular.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'GT-Sectra';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://vanabbehuis.com/wp-content/uploads/2025/12/GT-Sectra-Fine-Book.woff2') format('woff2'),
		url('https://vanabbehuis.com/wp-content/uploads/2025/12/GT-Sectra-Fine-Book.woff') format('woff'),
		url('https://vanabbehuis.com/wp-content/uploads/2025/12/GT-Sectra-Fine-Book.ttf') format('truetype');
}
@font-face {
	font-family: 'GT-Sectra';
	font-style: italic;
	font-weight: normal;
	font-display: auto;
	src: url('https://vanabbehuis.com/wp-content/uploads/2025/12/GT-Sectra-Fine-Book-Italic.woff2') format('woff2'),
		url('https://vanabbehuis.com/wp-content/uploads/2025/12/GT-Sectra-Fine-Book-Italic-1.woff') format('woff'),
		url('https://vanabbehuis.com/wp-content/uploads/2025/12/GT-Sectra-Fine-Book-Italic.ttf') format('truetype');
}
/* End Custom Fonts CSS */