@charset "UTF-8";
.ast-advanced-headers-layout-2 {
  min-height: 400px;
}

@media (min-width: 993px) {
  .ast-separate-container #primary {
    margin: 1.5em 0;
  }
}
/* === Block-Layout an Astra/WooCommerce angeglichen (gerlach+, 2026-07-12) ===
 * * Standard-Gutter (20px) kommt aus theme.json (blockGap) = Astra-Shop column-gap.
 * * Hier nur die responsive Spalten-Parität, die theme.json nicht abbilden kann.
 * *
 * * Für core/columns über die native Option „Auf Mobilgeräten stapeln":
 * *   - AN (Standard) -> stapelt auf 1 Spalte (gut lesbar für Textspalten)
 * *   - AUS           -> statt gedrängter N-Spalten ein sauberer Ramp:
 * *                      Tablet ≤768px = 2 Spalten (20px), Smartphone ≤544px = 1 Spalte
 * */
@media (max-width: 768px) {
  .wp-block-columns.is-not-stacked-on-mobile {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}
@media (max-width: 544px) {
  .wp-block-columns.is-not-stacked-on-mobile {
    grid-template-columns: 1fr;
  }
}
/* === Brücken-Layout: Inhaltsbreite wie kruess-live (gerlach+, 2026-07-12) =====
 * * Produkte/Seiten stehen (aus der Elementor-Ära) auf Astra "Full Width/Stretched"
 * * (Body-Klasse .ast-page-builder-template) — Astra legt dort KEINE Maximalbreite an.
 * * In kruess-live kam die Begrenzung aus Elementors Container-Markup, das bei der
 * * Migration entfiel. Bis zum Gutenberg-Rebuild (dann übernimmt theme.json
 * * contentSize/wideSize) reimplementieren wir hier die Breiten:
 * *   - äußerer Inhaltsbereich  = 1400px (wie Astra site-content-width / "wide")
 * *   - Textkörper (entry-content) = 1024px (wie Elementors Content-Width, zentriert)
 * * Greift nur auf Einzel-Produkten/-Beiträgen/-Seiten, nicht auf Archiv-/Systemseiten.
 * */
.ast-page-builder-template.single-product .site-content > .ast-container,
.ast-page-builder-template.single-post .site-content > .ast-container,
.ast-page-builder-template.page .site-content > .ast-container {
  max-width: 1400px;
  margin-inline: auto;
  /* Seitenabstand, damit der Inhalt bei Fensterbreiten < 1400px nicht am
  * * Rand klebt. Astra entfernt für .ast-page-builder-template das Container-
  * * Padding (padding:0), deshalb hier neu setzen. box-sizing:border-box
  * * (Astra-Global) → die 20px liegen INNEN, der Textbereich entspricht damit
  * * wie bei Astras site-content-width 1400px inkl. Gutter. */
  padding-inline: 20px;
}

.ast-page-builder-template.single-product .entry-content,
.ast-page-builder-template.single-post .entry-content,
.ast-page-builder-template.page .entry-content {
  margin-inline: auto;
}

/* === Footer-Content: gleicher Seitenabstand wie der Header (gerlach+, 2026-07-31)
 * * Astra gibt dem Header-Wrap (.site-primary-header-wrap) 20px horizontales Padding,
 * * dem Footer-Wrap (.site-primary-footer-wrap) aber nur vertikales (45px oben/unten).
 * * Dadurch klebt der Footer-Inhalt bei Fensterbreiten < 1400px am Rand, während der
 * * Header 20px Abstand hält. Wir spiegeln die 20px auf denselben Struktur-Wrap.
 * * box-sizing: border-box (Astra-Global) → der Abstand liegt innen; die 1400px-
 * * Inhaltsbreite auf breiten Screens bleibt erhalten (Gutter greift nur, wenn schmaler).
 * */
.site-primary-footer-wrap {
  padding-inline: 20px;
}

h2,
.entry-content :where(h2) {
  font-size: 1.75em;
  line-height: 1.25;
}

.button,
button {
  border-radius: 0 !important;
}

.product_title {
  font-size: 2.125rem;
  line-height: 1.2em;
}

.headline-bg-dark {
  margin-left: -1.6em;
  margin-right: -1.6em;
  margin-bottom: 0 !important;
  padding-top: 30px;
  padding-left: 1.6em;
  padding-right: 1.6em;
  background: #f5f5f5;
}

.woocommerce-Tabs-panel > p {
  max-width: 800px;
  margin: 0 auto;
}

.ast-separate-container .ast-article-single:not(.ast-related-post) .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template > li {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 30px !important;
}
.ast-separate-container .ast-article-single:not(.ast-related-post) .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template > li .wc-block-components-product-image {
  border: 1px solid transparent;
}
.ast-separate-container .ast-article-single:not(.ast-related-post) .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template > li:hover .wc-block-components-product-image {
  border-color: #94a2b5;
}
.ast-separate-container .ast-article-single:not(.ast-related-post) .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template > li h3 a {
  min-height: 2.8em;
}

.ast-single-post .entry-content a {
  text-decoration: none;
  color: #636363;
}

.footerTopText {
  background-color: #BFD730;
  text-align: center;
}
.footerTopText img {
  width: auto;
}

footer .site-footer-primary-section-1 {
  padding-bottom: 60px;
}
footer .footer-widget-area h2 {
  font-size: 24px;
  font-weight: 400;
  color: #FFF;
}
footer .footer-widget-area .wp-block-image img {
  width: auto;
}
footer .widget_nav_menu ul li a {
  color: #FFF;
}
footer .widget_nav_menu ul li a:hover {
  text-decoration: underline;
}

.search-results .ast-container article .ast-article-inner {
  background-color: white;
}
.search-results .ast-container article .ast-article-inner .search-price .kr-preishinweis2 {
  display: inline-block;
  padding: 0;
  background-color: transparent;
}
.search-results .ast-container article .ast-article-inner .search-price .kr-preishinweis2 .elementor-column .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
}
.search-results .ast-container article .ast-article-inner .search-price .kr-preishinweis2 .elementor-column .elementor-widget-wrap > div {
  display: inline-block;
  width: auto;
}
.search-results .ast-container article .ast-article-inner .search-price .kr-preishinweis2 .elementor-column .elementor-widget-wrap > div.elementor-widget-text-editor {
  text-transform: none;
}
.search-results .ast-container article .ast-article-inner .search-price .kr-preishinweis2 .elementor-column .elementor-widget-wrap > div .elementor-button-wrapper {
  border: 1px solid #636363;
}

.site-navigation .main-navigation ul li a {
  font-weight: 600;
}
.site-navigation .main-navigation .sub-menu {
  padding-top: 0.4em;
}
.site-navigation .main-navigation .sub-menu .menu-link {
  padding: 0.5em 0.9em;
  font-weight: 400;
}

.ast-header-account {
  margin-top: -7px;
  padding-left: 16px;
}

:root {
  --e-global-color-astglobalcolor2: #5b677d;
  --e-global-color-astglobalcolor8: #b7bcc7;
}

.woocommerce-js .woocommerce-breadcrumb {
  margin-bottom: 2em;
  border-bottom: 1px solid var(--ast-border-color);
  color: black;
}
.woocommerce-js .woocommerce-breadcrumb a {
  color: #777;
}
.woocommerce-js .woocommerce-breadcrumb a:hover {
  color: black;
}

.products.columns-4 li {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.products.columns-4 li .astra-shop-summary-wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.products.columns-4 li .astra-shop-summary-wrap .price {
  margin-bottom: 0;
}
.products.columns-4 li .astra-shop-summary-wrap .price .button.product_type_simple {
  margin-bottom: 0;
}

.woocommerce-js ul.products li.product {
  padding: 10px;
}
.woocommerce-js ul.products li.product:hover {
  box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.25);
}
.woocommerce-js ul.products li.product.product-category a img {
  height: auto;
}
.woocommerce-js ul.products li.product.product-category a .term-description {
  padding: 15px;
}

.woocommerce-js ul.products li.product .ast-shop-product-out-of-stock,
.woocommerce-js ul.products li.product .woocommerce-loop-category__title,
.woocommerce-page ul.products li.product .ast-shop-product-out-of-stock,
.woocommerce-page ul.products li.product .woocommerce-loop-category__title {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  padding: 0 15px;
  background-color: transparent;
  text-transform: none;
  font-size: 22px;
}
.woocommerce-js ul.products li.product .ast-shop-product-out-of-stock .count,
.woocommerce-js ul.products li.product .woocommerce-loop-category__title .count,
.woocommerce-page ul.products li.product .ast-shop-product-out-of-stock .count,
.woocommerce-page ul.products li.product .woocommerce-loop-category__title .count {
  font-size: 16px;
}
.woocommerce-js ul.products li.product .ast-shop-product-out-of-stock:hover,
.woocommerce-js ul.products li.product .woocommerce-loop-category__title:hover,
.woocommerce-page ul.products li.product .ast-shop-product-out-of-stock:hover,
.woocommerce-page ul.products li.product .woocommerce-loop-category__title:hover {
  background-color: transparent;
}

.woocommerce-js ul.products li.product .ast-woo-product-category,
.woocommerce-page ul.products li.product .ast-woo-product-category {
  display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  justify-content: space-between;
}

.woocommerce-product-details__short-description ul {
  margin-left: 20px;
}

.woocommerce-js div.product form.cart .single_variation_wrap p {
  margin-bottom: 0.3em;
}

.woocommerce-js div.product .woocommerce-tabs.wc-tabs-wrapper .tabs.wc-tabs {
  display: none;
}

.kr-preishinweis2 {
  display: block;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--ast-border-color);
}
.kr-preishinweis2 .button {
  font-weight: 400 !important;
}

.astra-shop-summary-wrap .kr-preishinweis2 {
  margin-top: 0;
  border-top: none;
}

.product-quote-only .summary .wc-gzd-additional-info.tax-info,
.product-quote-only .summary .wc-gzd-additional-info.shipping-costs-info {
  display: none;
}

.related.products li.product-quote-only .wc-gzd-additional-info.tax-info,
.related.products li.product-quote-only .wc-gzd-additional-info.shipping-costs-info {
  display: none;
}

.woocommerce-js div.product form.cart .variations {
  border-bottom: none;
}
.woocommerce-js div.product form.cart .variations .reset_variations {
  display: none !important;
}

.woocommerce-variation-description ul {
  margin-left: 16px;
  margin-bottom: 0;
}

.consultationRequestBlock a.single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 15px 0;
  background: transparent;
  color: #0a2240;
  text-decoration: underline;
}
.consultationRequestBlock a.single_add_to_cart_button svg {
  display: inline-block;
  width: 20px;
  height: auto;
}
.consultationRequestBlock a.single_add_to_cart_button svg path {
  fill: none;
  stroke: #0a2240;
  stroke-miterlimit: 10;
  stroke-width: 3px;
}
.consultationRequestBlock a.single_add_to_cart_button:hover {
  background: transparent;
  color: #0a2240;
}

.variations_form {
  display: flex;
  flex-direction: column;
}
.variations_form .single_variation_wrap {
  display: flex;
  flex-direction: column;
}
.variations_form .variations {
  order: 5;
}

.wc-block-product-template__responsive.wc-block-product-template li img {
  box-shadow: none;
}
.wc-block-product-template__responsive.wc-block-product-template li h3 a {
  text-decoration: none;
}

.wp-block-woocommerce-product-collection h2.wp-block-heading {
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1.3em;
}

div[data-wp-interactive="woocommerce/product-collection"] h2,
section.related.products h2 {
  margin-bottom: 20px;
}

.ast-product-gallery-layout-horizontal-slider {
  margin-bottom: 20px !important;
}
.ast-product-gallery-layout-horizontal-slider h3 a {
  color: var(--wp--preset--color--ast-global-color-3);
  text-decoration: none;
}
.ast-product-gallery-layout-horizontal-slider h3 a:hover {
  text-decoration: underline;
}
.ast-product-gallery-layout-horizontal-slider .wp-block-woocommerce-product-price {
  margin-bottom: 0;
}
.ast-product-gallery-layout-horizontal-slider .wp-block-woocommerce-gzd-product-price-label {
  display: inline-block;
}
.ast-product-gallery-layout-horizontal-slider .wc-gzd-block-components-product-tax-info::after {
  content: ", ";
}
.ast-product-gallery-layout-horizontal-slider button:not(.splide__arrow) {
  padding: 15px 30px;
}
.ast-product-gallery-layout-horizontal-slider button:not(.splide__arrow) span {
  font-size: 16px;
  line-height: 16px;
}

.single-product .wp-block-rank-math-toc-block {
  position: sticky;
  top: var(--kr-header-h, 100px);
  margin-left: -3em;
  margin-right: -3em;
  padding-left: 3em;
  padding-right: 3em;
  z-index: 9;
  background: #fff;
  padding-block: 0.5rem;
  border-top: 1px solid var(--ast-global-color-7);
  border-bottom: 1px solid var(--ast-global-color-7);
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.single-product .wp-block-rank-math-toc-block.is_sticky {
  padding-block: 0;
  border-top: 1px solid transparent;
}
.single-product .wp-block-rank-math-toc-block ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  padding-left: 0;
}
.single-product .wp-block-rank-math-toc-block ul li {
  padding: 0 15px;
}
.single-product .wp-block-rank-math-toc-block ul li a {
  text-decoration: none;
  font-weight: 600;
  color: rgb(99, 99, 99);
}
.single-product .wp-block-rank-math-toc-block ul li a:hover {
  color: #000;
}

@media (max-width: 921px) {
  .single-product .wp-block-rank-math-toc-block {
    position: static;
  }
}
#et-boc .wpfd-content-ggd .wpfd-file-link .droptitle,
.wpfd-content-ggd .wpfd-file-link .droptitle {
  white-space: normal !important;
  overflow: visible !important;
  padding-left: 10px !important;
  font-size: 16px !important;
  color: #636363 !important;
  line-height: 1.5;
  font-weight: 400 !important;
}

#et-boc .dropblock.ext[class*=wpfd-icon-set-],
.dropblock div.ext[class*=wpfd-icon-set-] {
  width: 80px !important;
  margin: 10px auto !important;
}

#et-boc .wpfd-content-ggd .file.is_downloaded,
.wpfd-content-ggd .file.is_downloaded {
  background-color: transparent !important;
}
#et-boc .wpfd-content-ggd .file.is_downloaded:hover,
.wpfd-content-ggd .file.is_downloaded:hover {
  background-color: #eee !important;
}

#et-boc .wpfd-content-ggd .file,
.wpfd-content-ggd .file {
  border-radius: 0 !important;
}
#et-boc .wpfd-content-ggd .file:hover,
.wpfd-content-ggd .file:hover {
  background-color: #eee !important;
}

.woocommerce-Tabs-panel .wp-block-embed,
.woocommerce-Tabs-panel .wp-block-media-text,
.woocommerce-Tabs-panel .wp-block-kruess-contentelements-gplus-teaserslider,
.woocommerce-Tabs-panel .wp-block-accordion,
.woocommerce-Tabs-panel .related.products {
  margin-bottom: 80px;
}

.volle-seitenbreite,
.entry-content[data-ast-blocks-layout] > .volle-seitenbreite {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.wp-block-accordion {
  border: 1px solid #636363;
}
.wp-block-accordion h3 {
  text-align: center;
  border: none;
}
.wp-block-accordion h3 button {
  justify-content: space-between;
  box-shadow: none;
  border-radius: 0 !important;
  cursor: pointer;
}
.wp-block-accordion h3 button .wp-block-accordion-heading {
  margin-left: 20px !important;
  margin-right: 20px !important;
}
.wp-block-accordion h3 button .wp-block-accordion-heading__toggle-title {
  flex: none;
  text-decoration: none;
}
.wp-block-accordion h3 button .wp-block-accordion-heading__toggle-icon {
  color: transparent;
  background: url("/wp-content/themes/kruess-theme/assets/icons/icnPlus.svg") 50% 50% no-repeat;
  background-size: 30px 30px;
}
.wp-block-accordion h3 button:hover, .wp-block-accordion h3 button:focus {
  background-color: #636363;
  border-color: #636363;
  color: white !important;
}
.wp-block-accordion h3 button:hover .wp-block-accordion-heading__toggle-icon, .wp-block-accordion h3 button:focus .wp-block-accordion-heading__toggle-icon {
  background: url("/wp-content/themes/kruess-theme/assets/icons/icnPlusWhite.svg") 50% 50% no-repeat;
  background-size: 30px 30px;
}
.wp-block-accordion h3 button.wp-block-accordion-heading__toggle {
  color: inherit;
}
.wp-block-accordion h3 button.wp-block-accordion-heading__toggle[aria-expanded=true] {
  background-color: #0a2240;
  color: white !important;
}
.wp-block-accordion h3 button.wp-block-accordion-heading__toggle[aria-expanded=true] .wp-block-accordion-heading__toggle-icon {
  background: url("/wp-content/themes/kruess-theme/assets/icons/icnPlusWhite.svg") 50% 50% no-repeat !important;
  background-size: 30px 30px;
}
.wp-block-accordion h3 button:hover .wp-block-accordion-heading__toggle-title, .wp-block-accordion h3 button:focus .wp-block-accordion-heading__toggle-title {
  text-decoration: none;
}
.wp-block-accordion .wp-block-accordion-item {
  border: 1px solid #0a2240;
  border-radius: 0;
}
.wp-block-accordion .wp-block-accordion-item.is-open {
  border: none;
}
.wp-block-accordion .wp-block-accordion-panel {
  padding: 0 20px !important;
}

.wp-block-columns.wp-block-columns-is-layout-flex.text-video-teaser {
  gap: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
}
.wp-block-columns.wp-block-columns-is-layout-flex.text-video-teaser > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
}
.wp-block-columns.wp-block-columns-is-layout-flex.text-video-teaser > div > h2,
.wp-block-columns.wp-block-columns-is-layout-flex.text-video-teaser > div > p {
  padding-left: 8%;
}
.wp-block-columns.wp-block-columns-is-layout-flex.text-video-teaser > div .wp-block-embed {
  margin-bottom: 0;
}
.wp-block-columns.wp-block-columns-is-layout-flex.text-video-teaser > div:first-child > h2,
.wp-block-columns.wp-block-columns-is-layout-flex.text-video-teaser > div:first-child > p {
  padding-left: 0;
  padding-right: 8%;
}

.wp-block-columns.wp-block-columns-is-layout-flex.kategorie-teaser {
  gap: 2%;
}

.wp-block-column:has(> .kruess-kategorie-teaser) {
  display: flex;
}

.kruess-kategorie-teaser {
  height: 100%;
}
.kruess-kategorie-teaser .kkt__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 10px;
  text-decoration: none;
  color: #636363;
  background: #fff;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.kruess-kategorie-teaser .kkt__link:hover {
  box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.25);
}
.kruess-kategorie-teaser .kkt__media {
  margin: 0;
  overflow: hidden;
}
.kruess-kategorie-teaser .kkt__media img {
  display: block;
  width: 100%;
  height: auto;
}
.kruess-kategorie-teaser .kkt__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
  padding: 20px;
  background-color: rgb(245, 245, 245);
}
.kruess-kategorie-teaser .kkt__title {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.2;
}
.kruess-kategorie-teaser .kkt__text {
  margin: 0;
}

h2 {
  margin-bottom: 0.5em !important;
}

.wp-block-kruess-contentelements-gplus-teaserslider {
  margin-left: -3em;
  margin-right: -3em;
  padding-left: 3em;
  padding-right: 3em;
}
.wp-block-kruess-contentelements-gplus-teaserslider h2 {
  margin-top: 0;
  margin-bottom: 0 !important;
  padding-top: 30px;
}
.wp-block-kruess-contentelements-gplus-teaserslider .splide__list {
  padding: 20px 0 !important;
  padding-bottom: 0 !important;
}
.wp-block-kruess-contentelements-gplus-teaserslider .splide__list .splide__slide {
  padding: 20px;
  background-color: #FFF;
}
.wp-block-kruess-contentelements-gplus-teaserslider .splide__list .splide__slide .slideText h3 {
  margin-bottom: 0.5em !important;
  padding-top: 0.5em;
  font-size: 22px;
}
.wp-block-kruess-contentelements-gplus-teaserslider .splide__list .splide__slide .slideText h4 {
  margin-top: 0;
  font-size: 16px;
  font-weight: 400;
}
@media (max-width: 500px) {
  .wp-block-kruess-contentelements-gplus-teaserslider .splide__arrows {
    display: none;
  }
}
.wp-block-kruess-contentelements-gplus-teaserslider .splide__arrows button {
  background: #94a2b5;
  color: white;
  border-radius: 0;
  opacity: 1;
}
.wp-block-kruess-contentelements-gplus-teaserslider .splide__arrows button svg {
  fill: none;
}
.wp-block-kruess-contentelements-gplus-teaserslider .splide__arrows button:hover {
  background: #0a2240;
}
.wp-block-kruess-contentelements-gplus-teaserslider .splide__arrows .splide__arrow--prev {
  left: -40px;
}
.wp-block-kruess-contentelements-gplus-teaserslider .splide__arrows .splide__arrow--prev svg {
  transform: none;
}
.wp-block-kruess-contentelements-gplus-teaserslider .splide__arrows .splide__arrow--next {
  right: -40px;
}
.wp-block-kruess-contentelements-gplus-teaserslider .splide__pagination {
  display: flex !important;
  padding-bottom: 20px;
}
.wp-block-kruess-contentelements-gplus-teaserslider .splide__pagination button {
  padding: 0;
  border: 1px solid #94a2b5;
  background: transparent;
  border-radius: 50% !important;
}
.wp-block-kruess-contentelements-gplus-teaserslider .splide__pagination button.is-active {
  background-color: #94a2b5;
}

/*# sourceMappingURL=kruess-custom.min.css.map */
