/* Separator Block Styles  */
.wp-block-separator-connection {
    position: relative
}
.wp-block-separator-connection .wp-block-separator {
  position: relative;
  border: none;
  height: 75px; /* Höhe der vertikalen Strecke */
  width: 100%!important;
  overflow: visible;
}

/* L/R */
.wp-block-separator-connection.is-style-connection-l-r .wp-block-separator::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: calc(50% + 0px);
  border-left: 1px solid var(--orange);
  border-bottom: 1px solid var(--orange);
}

.wp-block-separator-connection.is-style-connection-l-r .wp-block-separator::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 50%;
  height: calc(50% + 1px);
  border-right: 1px solid var(--orange);
  border-top: 1px solid var(--orange);
}

/* R/L */
.wp-block-separator-connection.is-style-connection-r-l .wp-block-separator::before {
  content: "";
  position: absolute; 
  bottom: 0;
  left: 0;
  width: 50%;
  height: calc(50% + 0px);   
  border-left: 1px solid var(--orange);
  border-top: 1px solid var(--orange);
}

.wp-block-separator-connection.is-style-connection-r-l .wp-block-separator::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: calc(50% + 1px);
  border-right: 1px solid var(--orange);
  border-bottom: 1px solid var(--orange);
}


/* #### */

.wp-block-separator-connection .separator-dot {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    background-color: var(--orange);
    border-radius: 50%;
}

.wp-block-separator-connection.is-style-connection-r-l .separator-dot {
    top: 0;
    right: 0;
    left: unset;
    transform: translate(50%, -50%);
}

.wp-block-separator-connection .separator-arrow {
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translate(50%, 20%);
    width: 30px;
    height: 10px;
}

.wp-block-separator-connection.is-style-connection-r-l .separator-arrow {
    top: unset;
    right: unset;
    left: 0;
    bottom: 0;
    transform: translate(-50%, 20%);
}

.wp-block-separator-connection .separator-arrow:before,
.wp-block-separator-connection .separator-arrow:after  {
  content: '';
  position: absolute;
  bottom: 0;
  width: 1px;
  height: 15px;
  background-color: var(--orange);
  transform-origin: bottom center;
}

.wp-block-separator-connection .separator-arrow::before {
  left: 50%;
  transform: translateX(-50%) rotate(40deg); /* 40° nach rechts */
}
.wp-block-separator-connection .separator-arrow::after {
  left: 50%;
  transform: translateX(-50%) rotate(-40deg); /* 40° nach links */
}


/* ######################## */


/* List */
.wp-block-list.is-style-checklist-clean,
.wp-block-list.is-style-checklist-boxed {   
    padding-left: 0;
}
.wp-block-list.is-style-checklist-clean li,
.wp-block-list.is-style-checklist-boxed li {    
    list-style-type: none;
    display: flex;
    align-content: center;
    align-items: center;
    margin-bottom: .25rem;
}
.wp-block-list.is-style-checklist-boxed li {
    /*border: 1px solid var(--darkgrey);*/
    background-color: var(--lightgrey);
    margin-bottom: .5rem;
    border-radius: .5rem;
}
.wp-block-list.is-style-checklist-clean li::before,
.wp-block-list.is-style-checklist-boxed li::before {
    content: "\e800";
    font-family: "tq_iconfont";
    display: inline-flex;
    justify-content: center;
    align-content: center;
    font-size: 1.25rem;
    color: var(--orange);       
    margin-right: 1rem;
    padding: 0;
}

.wp-block-list.is-style-checklist-boxed li::before {
    border-right: 1px solid var(--midgrey);
    width: 50px;
     aspect-ratio: 1/1;
     padding: .5rem;
}

.wp-block-list.is-style-checklist-boxed .li_content {
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-right: .5rem;
  }

/* ######################## */


/* Group */
.wp-block-group.is-style-framed {
    border: 1px solid var(--darkgrey);
    border-left: 5px solid var(--orange);
    gap: 0!important;
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.wp-block-group.is-style-framed > .wp-block-group {
  padding-top: 1rem;
  padding-bottom: 1rem;
}




/* ######################## */


/* Columns */
.wp-block-columns.is-style-framed {
    border: 1px solid var(--darkgrey);
    border-left: 5px solid var(--orange);
    padding-top: 2rem;
    padding-bottom: 2rem;
}


/* ######################## */


/* Image / Produktbild */

.wp-block-group:has(> .wp-block-image.is-style-pulledout),
.wp-block-group:has(> .wp-block-illustration.is-style-pulledout) {
  position: relative;  
}

.wp-block-image.is-style-pulledout.w-100 {
  width: calc(100% - 2rem)!important;
}


/* ######################## */

/* SM-MD */
@media screen and (max-width: 767px) {	
  .wp-block-columns.is-style-framed {
      padding: 1rem!important;
  }
  .wp-block-columns.is-style-framed > .wp-block-column {
      padding: 1rem 0!important;
  }
}

/* SM+ */
@media screen and (min-width: 576px) {	

  .wp-block-list.is-style-checklist-boxed li {
      margin-bottom: 1rem;
  }
  .wp-block-list.is-style-checklist-boxed li::before {
      padding: .5rem 0;
  }

  .wp-block-list.is-style-checklist-clean li::before {
      padding: .25rem 0;
  }

  .wp-block-columns:has( .wp-block-image.is-style-pulledout),
  .wp-block-columns:has( .wp-block-illustration.is-style-pulledout) {
    gap: 1.5rem
  }
}


/* LG+ */
@media screen and (min-width: 992px) {

  .wp-block-group.is-style-framed > .wp-block-group {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .wp-block-image.is-style-pulledout,
  .wp-block-illustration.is-style-pulledout {
    transform: translateY(-70%);
  }

  .wp-block-group.is-style-framed > div:not(:last-child) {
    border-right: 1px solid var(--darkgrey);
  }

  /* Columns */
  .wp-block-columns.is-style-framed {
      gap: 0!important;
  }

  .wp-block-columns.is-style-framed > .wp-block-column:not(:last-child) {
      border-right: 1px solid var(--darkgrey);
  }

  .wp-block-image.is-style-pulledout,
  .wp-block-illustration.is-style-pulledout {
    transform: translateY(-85%);
    margin-bottom: 40%;
    position: absolute;
    top: 0;
    left: 0
  }

  .wp-block-columns:has( .wp-block-image.is-style-pulledout),
  .wp-block-columns:has( .wp-block-illustration.is-style-pulledout) {
    padding-top: 180px; /* Buggy */
    gap: 100px; /* Buggy */
  }


}


/* XXL+ */
@media screen and (min-width: 1400px) {

  .wp-block-columns:has( .wp-block-image.is-style-pulledout),
  .wp-block-columns:has( .wp-block-illustration.is-style-pulledout) {
    padding-top: 240px; /* Buggy */
    gap: 200px; /* Buggy */
  }


}
