/**
 * Theme Tab & Accordion Styles
 * 
 * This file contains all styles related to tab menu blocks and accordion behavior 
 * using the UAGB tabs component.
 * 
 * If specific tab or accordion styles become too extensive, create a separate 
 * sub-file and reference it accordingly.
 */

.wp-block-uagb-container.cont-tabs.background {
  background-color: var(--ast-global-color-2);
  border-bottom: 10px solid var(--ast-global-color-4);
}

.wp-block-uagb-container.cont-tabs {
  background-color: var(--ast-global-color-2);
  margin-top: calc(var(--gap-xl) * 2.6);
}

.wp-block-uagb-container.cont-tabs p,
.wp-block-uagb-container.cont-tabs li {
  color: var(--ast-global-color-0);
  background-color: var(--ast-global-color-2);
}

.wp-block-uagb-container.cont-tabs .wp-block-uagb-tabs {
  justify-content: space-between;
}

/* panel */

.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab {
  margin: 0;
}

.wp-block-uagb-container.cont-tabs ul.uagb-tabs__panel {
  gap: var(--gap-m);
  padding-top: calc(var(--gap-xl) + var(--gap-m)) !important;
  max-width: unset;
}

.wp-block-uagb-container.cont-tabs ul.uagb-tabs__panel::after {
  content: "";
  display: block;
  --my-size: clamp(151px, 26vw, 450px);
  width: var(--my-size);
  aspect-ratio: 450/422;
  background-image: url(../../img/icon-leitn-franz.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate(26%, 0%);
  transition: transform 0.5s ease;

}

.wp-block-uagb-container.cont-tabs a.uagb-tabs-list div {
  color: var(--ast-global-color-0);
  font-family: var(--headlinefont);
  font-size: var(--h3-font-size);
  font-weight: 400;
  font-style: normal;
  line-height: 1.18;
  letter-spacing: -0.01em;
}

.wp-block-uagb-container.cont-tabs
  .uagb-tabs__wrap
  ul.uagb-tabs__panel
  li.uagb-tab
  a {
  z-index: 9;
}

.wp-block-uagb-container.cont-tabs
  .uagb-tab.uagb-tabs__active
  a.uagb-tabs-list
  div {
  color: var(--ast-global-color-4);
}

/* content */

.wp-block-uagb-container.cont-tabs .tab-content {
  margin-bottom: calc(var(--gap-xl) + var(--gap-l));
  background-color: var(--ast-global-color-2);
}

.wp-block-uagb-container.cont-tabs .uagb-tabs__wrap .uagb-tabs__body-container {
  padding: 0 !important;
}

.wp-block-uagb-container.cont-tabs .uagb-tabs__body-wrap {
  padding: 0 !important;
  max-width: 790px;
}

.wp-block-uagb-container.cont-tabs .uagb-tabs__body-wrap .cont-img-large-txt {
  gap: var(--gap-m);
  margin-top: calc(var(--gap-xl) * -1);
}

.wp-block-uagb-container.cont-tabs
  .uagb-tabs__body-wrap
  .cont-img-large-txt
  .wp-block-uagb-image {
  margin-bottom: calc(var(--gap-l) * 1.4);
}

.wp-block-uagb-container.cont-tabs
  .uagb-tabs__body-wrap
  .cont-img-large-txt
  .cont-txt {
  gap: calc(var(--gap-l));
}

/**animation*/

/* Container muss relativ sein, damit absolute Kinder sich daran orientieren */
.uagb-tabs__body-wrap {
  position: relative;
  transition: min-height 0.3s ease; /* Macht die Höhenanpassung weich */
}

/* Der INAKTIVE Tab */
.entry-content .uagb-tabs__wrap .uagb-tabs__body-container {
  display: block;
  opacity: 0;

  /* WICHTIG: Absolute Positionierung für Überblendung */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;

  /* Keine max-height Animation mehr, das verursacht Ruckeln */
  transition: opacity 0.5s ease;
  pointer-events: none;
  z-index: 1;
}

/* Der AKTIVE Tab */
.entry-content
  .uagb-tabs__wrap
  .uagb-tabs__body-container.uagb-tabs-body__active {
  opacity: 1;

  /* Der aktive Tab bestimmt den Platz (oder das JS hilft nach) */
  position: relative;
  z-index: 5;

  /* KEIN Delay mehr beim Einblenden */
  transition: opacity 0.5s ease;
  pointer-events: all;
}
/* --------------- */
/**als acc*/

.wp-block-uagb-tabs.uagb-tab-accordion ul.uagb-tabs__panel {
  padding: 0 !important;
}

.wp-block-uagb-tabs-child li a {
  padding: 0 !important;
  display: inline-block !important;
}

.uagb-tabs__panel.uagb-tabs__align-left {
  border: none !important;
}

.uagb-tab-accordion ul.uagb-tabs__panel li.uagb-tab a.uagb-tabs-list {
  width: 100%;
  height: auto;
  justify-content: flex-start;
  font-family: var(--headlinefont);
  font-size: var(--mainfont);
  font-style: normal;
  font-weight: 400;
  line-height: 1.8;
  text-transform: unset !important;
  letter-spacing: 0;
  text-align: left;
  padding: 0.8em var(--gap-m) !important;
  font-size: var(--base-font-size);
}

.uagb-tab-accordion ul.uagb-tabs__panel li.uagb-tab a.uagb-tabs-list > div {
  display: flex;
  align-items: flex-start;
}

.uagb-tab-accordion
  ul.uagb-tabs__panel
  li.uagb-tab
  a.uagb-tabs-list
  > div:before {
  content: "+";
  display: flex;
  height: 0.8em;
  width: 0.8em;
  background-position: center center;
  margin-top: 0.4em;
  rotate: 180deg;
  margin-right: 0.8em;
  background-repeat: no-repeat;
  transition: all 0.5s ease 0s;
}

.wp-block-uagb-tabs.uagb-tab-accordion .wp-block-uagb-tabs-child {
  background-color: var(--ast-global-color-1);
}

.uagb-tab-accordion .wp-block-uagb-container.tab-content > * {
  max-width: 100% !important;
  margin-right: auto !important;
}

.wp-block-uagb-tabs.uagb-tab-accordion {
  padding: 0;
  background-color: transparent;
}

.wp-block-uagb-tabs.uagb-tab-accordion .uagb-tabs__panel.uagb-tabs__align-left {
  min-width: unset !important;
  max-width: 100% !important;
  width: 100% !important;
}

.tabbox.uagb-tabs__wrap.uagb-tab-accordion ul.uagb-tabs__panel li::before {
  line-height: 1;
}

.uagb-tab-accordion .uagb-tab {
  padding: 0;
  margin: 0 0 5px 0 !important;
}

.uagb-tab-accordion .uagb-tabs__body-wrap {
  display: none;
}

.uagb-tab-accordion .uagb-tabs-list {
  padding: 0 !important;
  margin: 0 !important;
}

.uagb-tabs__panel > li > .wp-block-uagb-tabs-child {
  position: relative !important;
  max-height: 0 !important;
  opacity: 0 !important;
  transition-property: max-height, opacity;
  transition-delay: 0s, 0.5s;
  padding: 0;
}

.uagb-tabs__panel > li.uagb-tabs__active > .wp-block-uagb-tabs-child {
  max-height: 200vh !important;
  position: relative !important;
  opacity: 1 !important;
  pointer-events: all;
}

.wp-block-uagb-tabs.uagb-tab-accordion
  .uagb-tabs__panel.uagb-tabs__align-left
  .wp-block-uagb-container.tab-content
  .wp-block-uagb-image {
  margin-top: unset !important;
}

.wp-block-uagb-container.tab-content
  .wp-block-uagb-image
  figure.wp-block-uagb-image__figure,
.wp-block-uagb-container.tab-content
  .wp-block-uagb-image
  figure.wp-block-uagb-image__figure
  img {
  width: 100%;
}

.uagb-tab-accordion .wp-block-uagb-container.tab-content {
  padding: 0 var(--gap-l) var(--gap-m) var(--gap-l);
}

@media (max-width: 1400px) {
  .uagb-tabs__panel.uagb-tabs__align-left {
    min-width: 38% !important;
    max-width: 38% !important;
    padding: var(--gap-l) 0 0 var(--gap-l) !important;
    counter-reset: my-counter;
    list-style: none;
  }
}

@media (max-width: 1024px) {
  .wp-block-uagb-container.cont-tabs {
    margin-top: calc(var(--gap-xl) * 1.6);
  }
  .wp-block-uagb-container.cont-tab {
    padding-top: 0;
  }
  .wp-block-uagb-container.cont-tabs ul.uagb-tabs__panel::after {
    left: 55%;
  }

  .wp-block-uagb-container.cont-tabs ul.uagb-tabs__panel {
    gap: 0;
    margin-bottom: 80px !important;
  }

  .wp-block-uagb-container.cont-tabs {
    padding-top: 80px;
  }

  .uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab a {
    padding: 0.867em 2.333em;
  }

  .wp-block-uagb-container.cont-tabs .tab-content .uagb-buttons__wrap {
    justify-content: flex-start;
  }

  .uagb-tab-accordion ul.uagb-tabs__panel li.uagb-tab a.uagb-tabs-list {
    padding-left: 8vw !important;
  }

  .uagb-tab-accordion ul.uagb-tabs__panel li.uagb-tab a.uagb-tabs-list {
    padding: 0 var(--gap-m) !important;
  }

  .wp-block-uagb-container.cont-tabs li.uagb-tab {
    margin: 0 0 30px 0 !important;
  }

  .wp-block-uagb-container.cont-tabs li.uagb-tab:not(.uagb-tabs__active) {
    max-height: 23px;
  }
}

@media (max-width: 567px) {
  .wp-block-uagb-container.cont-tabs
    .wp-block-uagb-image-gallery
    .spectra-image-gallery__control-arrows {
    width: 10px !important;
    top: 82%;
  }

  .wp-block-uagb-container.cont-tabs
    .wp-block-uagb-image-gallery
    button.slick-arrow.slick-next {
    right: 44% !important;
  }

  .wp-block-uagb-container.cont-tabs
    .wp-block-uagb-image-gallery
    button.slick-arrow.slick-prev {
    left: 39% !important;
  }

  .wp-block-uagb-container.cont-tabs .tab-content {
    margin-bottom: 10px;
  }

  .wp-block-uagb-container.cont-tabs ul.uagb-tabs__panel::after {
    z-index: 9;
  }
}
