/*
@include max($tablet) {
	height: 60px;
}
*/
/*
Beispiel:
@include default_text_specs(
    $css-variable-prepend: "kc-teaser-title",
    $font-weight: 700,
    $line-height: 1,
    $text-align: "center"
);
*/
/*
Beispiel:
@include default_h1_specs(
    $css-variable-prepend: "",
    $font-weight: 700,
    $line-height: 1,
    $text-align: "center"
);
*/
/*
Beispiel:
@include default_h2_specs(
    $css-variable-prepend: "",
    $font-weight: 700,
    $line-height: 1,
    $text-align: "center"
);
*/
/*
Beispiel:
@include css_variable_prepend(
    $property: "font-size",
    $prepend-string: 'kc-teaser-title',
    $default-value: 20px
);
*/
/*
@extend %transition;
*/
/*
@extend %transition-timing;
*/
.wp-block-kc-accordion {
  width: var(--block-default-width, calc(var(--text-width) + 2 * var(--global-padding)));
  max-width: var(--block-default-max-width, 100%);
  padding-left: var(--block-default-padding-left, var(--global-padding));
  padding-right: var(--block-default-padding-right, var(--global-padding));
  border: 1px solid var(--accordion-border-color, #ddd);
  border-radius: var(--accordion-border-radius, 8px);
  margin-bottom: var(--accordion-margin-bottom, 1rem);
  overflow: hidden;
}
.wp-block-kc-accordion.align-wide {
  width: calc(var(--content-width) + 2 * var(--global-padding));
}
.wp-block-kc-accordion.align-full {
  max-width: 100%;
  width: 100%;
}
.wp-block-kc-accordion.align-wide {
  padding-left: var(--block-default-wide-padding-left, var(--global-padding));
  padding-right: var(--block-default-wide-padding-right, var(--global-padding));
}
.wp-block-kc-accordion.align-full {
  padding-left: var(--block-default-full-padding-left, var(--global-padding));
  padding-right: var(--block-default-full-padding-right, var(--global-padding));
}
.wp-block-kc-accordion.align-full .wp-block-group__inner-container > .container {
  padding-left: var(--block-default-full-inner-padding-left, 0);
  padding-right: var(--block-default-full-inner-padding-right, 0);
}
.wp-block-kc-accordion .accordion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--accordion-header-padding, 1rem);
  background-color: var(--accordion-header-bg, #f8f9fa);
  cursor: pointer;
  transition: background-color 0.2s ease;
  border: none;
  width: 100%;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.wp-block-kc-accordion .accordion-header:hover {
  background-color: var(--accordion-header-hover-bg, #e9ecef);
}
.wp-block-kc-accordion .accordion-header:focus {
  outline: 2px solid var(--accordion-focus-color, #007cba);
  outline-offset: -2px;
}
.wp-block-kc-accordion .accordion-header[aria-expanded=true] {
  background-color: var(--accordion-header-active-bg, #e9ecef);
}
.wp-block-kc-accordion .accordion-title {
  flex-grow: 1;
  margin: 0;
  font-weight: var(--accordion-title-font-weight, 600);
  font-size: var(--accordion-title-font-size, 1.125rem);
  color: var(--accordion-title-color, inherit);
  line-height: 1.4;
}
.wp-block-kc-accordion .accordion-title[contenteditable=true] {
  outline: none;
}
.wp-block-kc-accordion .accordion-title[contenteditable=true]:empty:before {
  content: attr(placeholder);
  color: #999;
  opacity: 0.8;
}
.wp-block-kc-accordion .accordion-icon {
  margin-left: 1rem;
  flex-shrink: 0;
}
.wp-block-kc-accordion .accordion-icon .icon {
  display: inline-block;
  font-size: var(--accordion-icon-size, 1.25rem);
  font-weight: bold;
  color: var(--accordion-icon-color, #666);
  transition: transform var(--accordion-animation-duration, 300ms) ease;
  min-width: 20px;
  text-align: center;
}
.wp-block-kc-accordion .accordion-icon .icon.open {
  transform: rotate(0deg);
}
.wp-block-kc-accordion .accordion-icon .icon.closed {
  transform: rotate(0deg);
}
.wp-block-kc-accordion .accordion-content-wrapper {
  overflow: hidden;
  transition: max-height var(--accordion-animation-duration, 300ms) ease;
}
.wp-block-kc-accordion .accordion-content-wrapper.closed {
  max-height: 0;
}
.wp-block-kc-accordion .accordion-content-wrapper.open {
  max-height: 1000px;
}
.wp-block-kc-accordion .accordion-content {
  padding: var(--accordion-content-padding, 1rem);
  background-color: var(--accordion-content-bg, #fff);
  border-top: 1px solid var(--accordion-border-color, #ddd);
}
.wp-block-kc-accordion .accordion-content > *:first-child {
  margin-top: 0;
}
.wp-block-kc-accordion .accordion-content > *:last-child {
  margin-bottom: 0;
}
.wp-block-kc-accordion .accordion-content .block-editor-inner-blocks > .block-editor-block-list__layout {
  margin: 0;
}

#editor [data-type="kc/accordion"] .accordion-content-wrapper {
  max-height: none !important;
}
#editor [data-type="kc/accordion"] .accordion-content-wrapper.closed {
  opacity: 0.6;
}
#editor [data-type="kc/accordion"] .accordion-content-wrapper.open {
  opacity: 1;
}
#editor [data-type="kc/accordion"] .accordion-header {
  pointer-events: none;
}
#editor [data-type="kc/accordion"] .accordion-header .accordion-title {
  pointer-events: all;
}

@media (max-width: 768px) {
  .wp-block-kc-accordion .accordion-header {
    padding: var(--accordion-header-padding-mobile, 0.75rem);
  }
  .wp-block-kc-accordion .accordion-content {
    padding: var(--accordion-content-padding-mobile, 0.75rem);
  }
  .wp-block-kc-accordion .accordion-title {
    font-size: var(--accordion-title-font-size-mobile, 1rem);
  }
}
.wp-block-kc-accordion[data-animation-duration="100"] .accordion-content-wrapper {
  transition-duration: 100ms;
}
.wp-block-kc-accordion[data-animation-duration="100"] .accordion-icon .icon {
  transition-duration: 100ms;
}

.wp-block-kc-accordion[data-animation-duration="500"] .accordion-content-wrapper {
  transition-duration: 500ms;
}
.wp-block-kc-accordion[data-animation-duration="500"] .accordion-icon .icon {
  transition-duration: 500ms;
}

.wp-block-kc-accordion[data-animation-duration="1000"] .accordion-content-wrapper {
  transition-duration: 1000ms;
}
.wp-block-kc-accordion[data-animation-duration="1000"] .accordion-icon .icon {
  transition-duration: 1000ms;
}

@media (prefers-color-scheme: dark) {
  .wp-block-kc-accordion {
    --accordion-border-color: #444;
    --accordion-header-bg: #2d3748;
    --accordion-header-hover-bg: #4a5568;
    --accordion-header-active-bg: #4a5568;
    --accordion-content-bg: #1a202c;
    --accordion-title-color: #e2e8f0;
    --accordion-icon-color: #a0aec0;
  }
}
.accordion {
  display: block;
  width: 100%;
}

.accordion-container {
  width: var(--accordion-width, calc(var(--text-width) + 2 * var(--global-padding)));
  max-width: var(--accordion-max-width, 100%);
  padding-left: var(--accordion-padding-left, var(--global-padding));
  padding-right: var(--accordion-padding-right, var(--global-padding));
}
.accordion-container.align-wide {
  width: calc(var(--content-width) + 2 * var(--global-padding));
}
.accordion-container.align-full {
  max-width: 100%;
  width: 100%;
}
.accordion-container.align-wide {
  padding-left: var(--accordion-wide-padding-left, var(--global-padding));
  padding-right: var(--accordion-wide-padding-right, var(--global-padding));
}
.accordion-container.align-full {
  padding-left: var(--accordion-full-padding-left, var(--global-padding));
  padding-right: var(--accordion-full-padding-right, var(--global-padding));
}
.accordion-container.align-full .wp-block-group__inner-container > .container {
  padding-left: var(--accordion-full-inner-padding-left, 0);
  padding-right: var(--accordion-full-inner-padding-right, 0);
}
.accordion-container .accordion-title-container {
  display: var(--accordion-title-display, block);
  position: var(--accordion-title-position, relative);
  width: var(--accordion-title-width, 100%);
  padding: var(--accordion-title-padding, var(--global-padding) calc(var(--global-padding) * 2));
  cursor: var(--accordion-title-cursor, pointer);
  -webkit-user-select: var(--accordion-title-user-select, none);
     -moz-user-select: var(--accordion-title-user-select, none);
          user-select: var(--accordion-title-user-select, none);
  border: var(--accordion-title-border, 1px solid var(--primary-color, var(--text-color)));
}
.accordion-container .accordion-title-container:after {
  content: var(--accordion-title-after-content, '');
  position: var(--accordion-title-after-position, absolute);
  display: var(--accordion-title-after-display, block);
  top: var(--accordion-title-after-top, 50%);
  right: var(--accordion-title-after-right, var(--global-padding));
  transform: var(--accordion-title-after-transform, translateY(-50%));
  background-image: var(--accordion-title-after-background-image, url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjNWY2MzY4Ij48cGF0aCBkPSJNNDgwLTM0NCAyNDAtNTg0bDU2LTU2IDE4NCAxODQgMTg0LTE4NCA1NiA1Ni0yNDAgMjQwWiIvPjwvc3ZnPg=="));
  width: var(--accordion-title-after-width, 20px);
  height: var(--accordion-title-after-height, 20px);
}
.accordion-container .accordion-title-container .accordion-title {
  font-family: var(--accordion-title-inner-font-family, var(--p-font-family));
  font-size: var(--accordion-title-inner-font-size, 1.5rem);
  font-weight: var(--accordion-title-inner-font-weight, 700);
  line-height: var(--accordion-title-inner-line-height, 1);
  color: var(--accordion-title-inner-color, var(--p-color, var(--text-color)));
  -webkit-text-decoration: var(--accordion-title-inner-text-decoration, none);
          text-decoration: var(--accordion-title-inner-text-decoration, none);
  text-align: var(--accordion-title-inner-text-align, left);
}
.accordion-container .accordion-content {
  padding: var(--accordion-content-padding, var(--global-padding) calc(var(--global-padding) * 2));
  display: var(--accordion-content-display, none);
  border: var(--accordion-content-border, none);
}
.accordion-container .accordion-content.admin {
  display: block !important;
}
.accordion-container .accordion-content > section {
  --block-default-padding-left: 0;
  --block-default-padding-right: 0;
}