@charset "UTF-8";
/* Hier eine spezifische Klasse zu den Elementen hinzufügen die das underline und visited Effekt brauchen, sonst wirkt das auf alle Links */
/*
:root {
    --link-hover-color: #000;
    --link-color: #284b89;
}

.elementor-kit-5 {
    a {
        color: var(--link-color);

        &:hover {
            color: var(--link-hover-color);
            text-decoration: underline;
            text-decoration-color: var(--link-color);
            text-decoration-thickness: 2px;
            text-underline-offset: .3rem;
        }
    }

    header {
        a,
        a:visited {
            color: white !important;
        }

        a:hover {
            text-decoration-color: white;
        }
    }

    .elementor-15 .elementor-element.elementor-element-4eaeb5a {
        .elementor-icon-list-item > .elementor-icon-list-text,
        .elementor-icon-list-item > a {
            color: black !important;
        }
    }
}
*/
/* =============================================================
   NEUE BUTTON LOGIK (Nur für Inhalts-Bereiche, NICHT Header)
   ============================================================= */
/* Wir selektieren die Buttons NUR, wenn sie NICHT im Header (.elementor-15) liegen */
.btn-hell-auf-dunkel:not(.elementor-15) .elementor-button,
.btn-hell:not(.elementor-15) .elementor-button,
.btn-hell-transparent:not(.elementor-15) .elementor-button {
  position: relative;
  padding: 24px 32px !important;
  display: inline-block;
  background-color: transparent !important;
  border: none !important;
  z-index: 1;
  /* Pseudo-Element (Hintergrund) nur für Nicht-Header Buttons */
  /* Hover-Logik nur für Nicht-Header Buttons */
}
.btn-hell-auf-dunkel:not(.elementor-15) .elementor-button::before,
.btn-hell:not(.elementor-15) .elementor-button::before,
.btn-hell-transparent:not(.elementor-15) .elementor-button::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 8px;
  right: 8px;
  bottom: 8px;
  z-index: -1;
  transition: all 0.3s ease;
}
.btn-hell-auf-dunkel:not(.elementor-15) .elementor-button:hover::before,
.btn-hell:not(.elementor-15) .elementor-button:hover::before,
.btn-hell-transparent:not(.elementor-15) .elementor-button:hover::before {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

/* Spezifische Farben (Radius etc.) */
.btn-hell-auf-dunkel:not(.elementor-15) .elementor-button::before {
  background-color: white;
  border-radius: 46px;
}
.btn-hell-auf-dunkel:not(.elementor-15) .elementor-button:hover::before {
  border-radius: 62px;
}

.btn-hell:not(.elementor-15) .elementor-button::before {
  background-color: #D6F1F7;
  border-radius: 46px;
}
.btn-hell:not(.elementor-15) .elementor-button:hover::before {
  background-color: #24B5D3;
  border-radius: 62px;
}

.btn-hell-transparent:not(.elementor-15) .elementor-button::before {
  background-color: transparent !important;
  border: 1px solid #1C1C1C;
  border-radius: 46px;
}

/* =============================================================
   HEADER RESET (.elementor-15)
   Hier stellen wir sicher, dass der Header-Button exakt so bleibt, wie er war.
   ============================================================= */
.elementor-15 {
  /* Falls das Pseudo-Element trotzdem generiert wird, schalten wir es hier hart aus */
}
.elementor-15 .btn-hell a.elementor-button {
  background-color: #D6F1F7 !important;
  color: #24B5D3 !important;
  padding: 16px 24px !important;
  border-radius: 30px !important;
  position: relative;
  display: inline-flex;
}
.elementor-15 .btn-hell a.elementor-button:hover {
  background-color: #24B5D3 !important;
  color: #fff !important;
}
.elementor-15 .elementor-button::before {
  content: none !important;
  display: none !important;
}

/* Section – 1640 Wrapper */
.outer-section-container {
  padding-left: 8% !important;
  padding-right: 8% !important;
}
@media (max-width: 1024px) {
  .outer-section-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

.content-wrapper {
  max-width: 1640px;
  margin: 0 auto;
  padding: 0;
}

.topbar-icon,
.topbar-icon .elementor-icon-wrapper {
  height: 19px !important;
}

.top-bar a {
  color: #fff !important;
}

.main-header,
#e-n-menu-content-2091 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1607843137);
  opacity: 1;
}

@media (min-width: 768px) {
  .main-header .elementor-element.elementor-element-e720a47 {
    margin-block-end: 0 !important;
  }
}

@media screen and (max-width: 1350px) {
  .top-bar .top-nav-sec-1,
  .top-bar .top-nav-sec-3 {
    display: none;
  }
}
@media screen and (max-width: 1350px) {
  .top-bar .top-nav-sec-2 {
    width: 100%;
  }
}

@media screen and (max-width: 1650px) {
  #menubar-209 {
    opacity: 1;
  }
}
@media screen and (min-width: 1650px) {
  #menubar-209 .e-n-menu-title {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media (max-width: 1650px) {
  .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-title {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (min-width: 1650px) {
  #e-n-menu-content-2091 {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1607843137);
    opacity: 1;
    border-top: 2px solid rgb(248, 248, 248) !important;
  }
}

/* Navigation Hover rot */
.elementor-nav-menu .sub-menu a:hover {
  color: var(--e-global-color-Sub-menu-link-accent);
}

/* Banner */
.banner-text {
  max-width: 800px;
}

/* Buttons */
.elementor-button {
  padding: 16px 24px;
}

.btn-hell-auf-dunkel a {
  background-color: #FFFFFF;
  border-radius: 30px;
  font-size: 18px;
  line-height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.btn-hell-auf-dunkel a:hover {
  background-color: white;
  color: var(--e-global-color-primary);
}
.btn-hell-auf-dunkel .elementor-button-text {
  color: #284B89;
}

.btn-hell a,
.btn-hell {
  background-color: #D6F1F7;
  color: #24B5D3 !important;
  border: none;
  border-radius: 30px;
}

.btn-hell a:hover {
  background-color: #24B5D3 !important;
  color: #fff !important;
}

.btn-hell-transparent a {
  background-color: transparent;
  border-radius: 30px;
  font-size: 18px;
  line-height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--unnamed-color-1c1c1c);
  border: 1px solid #1C1C1C;
}
.btn-hell-transparent .elementor-button-text {
  color: #1c1c1c;
}

.woocommerce-message a.button.wc-forward {
  background-color: rgb(214, 241, 247);
  border-radius: 30px;
  font-weight: 400;
  line-height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 24px;
  border: 0;
  color: rgb(36, 181, 211);
  transition: all 0.3s ease;
}
.woocommerce-message a.button.wc-forward:hover {
  background-color: rgb(36, 181, 211);
  color: rgb(214, 241, 247);
}

.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained,
.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained,
.woocommerce-button.button.woocommerce-form-login__submit,
.woocommerce .woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content a.edit,
.woocommerce-MyAccount-content .woocommerce-Button.button,
.woocommerce-MyAccount-content .button.wc-forward,
.woocommerce-ResetPassword .woocommerce-Button.button {
  background-color: rgb(36, 181, 211);
  padding: 0.618em 1em;
  border-radius: 30px;
  font-weight: 400;
  font-size: 18px;
  line-height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  color: rgb(255, 255, 255);
  transition: all 0.3s ease;
  text-decoration: none;
}
.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover,
.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained:hover,
.woocommerce-button.button.woocommerce-form-login__submit:hover,
.woocommerce .woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content a.edit:hover,
.woocommerce-MyAccount-content .woocommerce-Button.button:hover,
.woocommerce-MyAccount-content .button.wc-forward:hover,
.woocommerce-ResetPassword .woocommerce-Button.button:hover {
  color: rgb(36, 181, 211);
  background-color: rgb(214, 241, 247);
}

.woocommerce-MyAccount-content .woocommerce-Button.button,
.woocommerce-MyAccount-content .button.wc-forward {
  margin-top: 1rem;
  float: none;
  margin-right: 100%;
  margin-left: 0;
  width: max-content;
}

.woocommerce-MyAccount-content a.edit {
  margin-bottom: 1rem;
  float: none !important;
}

.wc-block-components-checkout-return-to-cart-button {
  background-color: rgb(214, 241, 247);
  padding: 18px 30px 18px 48px !important;
  font-size: 18px;
  border-radius: 30px;
  font-weight: 400;
  font-size: 18px !important;
  line-height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  color: rgb(36, 181, 211);
  transition: all 0.3s ease;
  text-decoration: none !important;
}
.wc-block-components-checkout-return-to-cart-button svg {
  left: 18px !important;
}
.wc-block-components-checkout-return-to-cart-button:hover {
  background-color: rgb(36, 181, 211);
  color: rgb(214, 241, 247) !important;
}

.elementor p a {
  color: rgb(36, 181, 211);
  text-decoration: none;
}
.elementor p a:hover {
  text-decoration: underline;
}

.ppcp-messages {
  margin-top: 1rem;
}

.ppc-button-wrapper {
  z-index: 1;
  position: relative;
}

/* Call to action mit overlay text */
.cta-overlay .elementor-cta__content {
  position: absolute;
  background-color: transparent !important;
  bottom: 0;
}
.cta-overlay .elementor-cta__content h2 {
  text-decoration: underline;
}

.bg-size-cover {
  background-size: cover;
}

/* Stars */
.stars-wrap {
  display: inline-flex;
  gap: 4px;
  line-height: 1;
  font-size: 20px;
}

.star-full {
  color: #FFC107;
}

.star-empty {
  color: #FFC107;
  opacity: 0.25;
}

.star-half {
  color: #FFC107;
  opacity: 0.6;
}

/* Startsite - Grid Prdukte Verlauf */
@media (min-width: 768px) {
  #homeProductGrid .elementor-bg-transform .elementor-cta__bg-wrapper {
    aspect-ratio: 16/10;
  }
}
#homeProductGrid .elementor-bg-transform .elementor-cta .elementor-cta__bg-overlay {
  background: linear-gradient(to bottom, transparent 10%, rgba(0, 0, 0, 0.85));
}
#homeProductGrid .elementor-bg-transform .elementor-cta:hover .elementor-cta__bg-overlay {
  background: linear-gradient(to bottom, transparent 10%, var(--e-global-color-primary));
}

/* Startseite - section: Derzeit besonders beliebt */
.derzeit-beliebt-item .woocommerce-review-link {
  font-size: 0;
  height: 20px;
}
.derzeit-beliebt-item .woocommerce-review-link .count {
  font-size: 14px;
  position: relative;
}
.derzeit-beliebt-item .woocommerce-review-link .count::before {
  content: "(";
}
.derzeit-beliebt-item .woocommerce-review-link .count::after {
  content: ")";
}

.produkt-badge--konfigurierbar {
  font-size: 0;
  padding: 8px 8px 0px 8px !important;
}
.produkt-badge--konfigurierbar::before {
  content: "Konfigurierbar";
  font-size: 14px;
}

/* Loop-Karoussel fullwidth */
.loop-karoussel-fullwidth .swiper {
  width: 100% !important;
}

.aktuelle-angebote-discount .elementor-shortcode {
  font-size: 14px;
  line-height: 21px;
  font-family: Poppins;
  font-weight: 500;
  color: #ffffff;
}

/* Produktseite */
/* Woocommerce Button */
.single_add_to_cart_button {
  height: 60px;
  border-radius: 30px !important;
  background-color: #24B5D3 !important;
}

.produkt-galerie .flex-control-thumbs li {
  max-height: 129px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a img {
  aspect-ratio: 4/3;
  object-fit: contain;
  width: 100%;
  height: 100%;
}

@media (min-width: 767px) {
  .tw-produkt-wooc-tabs {
    padding: 0px 170px 0px 170px;
  }
}
.tw-produkt-wooc-tabs .woocommerce-tabs ul.tabs li {
  background-color: #ffffff !important;
  border: none !important;
  padding: 0.8em 1.2em !important;
}
.tw-produkt-wooc-tabs .woocommerce-tabs ul.tabs li a {
  padding: 0 0 0 0 !important;
}
.tw-produkt-wooc-tabs .woocommerce-tabs ul.tabs li.active a {
  border-bottom: 2px solid #1c1c1c;
  padding-bottom: 18px !important;
}
.tw-produkt-wooc-tabs .woocommerce-tabs .panel {
  border: none !important;
}

/*
KATGORIESEITE
 */
.elementor-widget-jet-smart-filters-active {
  display: none;
}

.twrk-filter-reset-btn {
  margin-left: 16px;
  padding: 2px 10px;
  background: transparent;
  border: 1px solid var(--e-global-color-text);
  border-radius: 0;
  cursor: pointer;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  line-height: 1.4;
  color: var(--e-global-color-text);
  transition: background-color 0.2s ease, color 0.2s ease;
}
.twrk-filter-reset-btn:hover {
  background-color: var(--e-global-color-text);
  color: #fff;
}

.produkt-kategorien-liste img {
  display: none !important;
}
.produkt-kategorien-liste ul.products {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px;
}
.produkt-kategorien-liste li.product-category.product {
  width: auto !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  margin-right: 35px;
}

.shop-alle-anzeigen-link a {
  padding: 16px 10px !important;
}

.swiper-slide img {
  transition: transform 0.3s ease;
}
.swiper-slide img:hover {
  transform: scale(1.1);
}

.e-loop-item.product_cat-festmacher:hover .loop-item-container .elementor-widget-woocommerce-product-title .elementor-heading-title > a {
  color: var(--e-global-color-accent);
}

#produkt-preis .woocommerce-variation-add-to-cart {
  display: none;
}

#produktseite-preis-container span.price,
#produktseite-preis-container span.max-price {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 60px;
  letter-spacing: 0;
  color: #1C1C1C;
}

#dynamic-price .amount bdi {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 60px;
  letter-spacing: 0;
  color: #1C1C1C;
}
#dynamic-price .unit-price {
  font-size: 0.6em;
  opacity: 0.7;
  margin-left: 10px;
  display: inline-flex;
  line-height: 0;
}

#Produktdetails-rechts .tw-attr[data-attr-select=attribute_pa_hersteller] {
  display: none;
}
#Produktdetails-rechts .tw-attr__name,
#Produktdetails-rechts .custom-length label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 27px;
}
#Produktdetails-rechts .quantity {
  width: 32%;
  max-width: 32% !important;
}
#Produktdetails-rechts .single_add_to_cart_button {
  width: 66%;
}
#Produktdetails-rechts .single_add_to_cart_button:hover {
  background-color: #D6F1F7 !important;
  color: #24B5D3 !important;
}
#Produktdetails-rechts .custom-processing select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 40px;
  background-repeat: no-repeat;
  background-position: right 17px center;
  background-size: 21px;
}

#produktseite-in-den-warenkorb .price bdi {
  font-size: 0;
}

#zupaypal-button-container {
  width: 66%;
}
#zupaypal-button-container p {
  margin-bottom: 0;
}
#zupaypal-button-container:hover {
  background-color: #D6F1F7 !important;
}
#zupaypal-button-container:hover .elementor-widget .zupaypal-button,
#zupaypal-button-container:hover .elementor-widget .zuPayPal {
  color: #000 !important;
}

.zupaypal-button,
.zuPayPal {
  color: #ffffff !important;
}

.zupaypal-button .zuPayPal {
  font-weight: 400;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  line-height: 27px;
}
.zupaypal-button:hover {
  background-color: #D6F1F7 !important;
}
.zupaypal-button:hover p {
  color: #24B5D3 !important;
}

#Produktdetails-rechts .single_add_to_cart_button {
  font-weight: 400;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  line-height: 27px;
}

/* Selektorpfeil anpassen */
.custom-processing select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
}

/* Länge */
.length-stepper {
  display: flex;
  align-items: center;
  border: 1px solid #1c1c1c;
  border-radius: 25px;
  overflow: hidden;
  height: 50px;
}
.length-stepper button {
  width: 50px;
  height: 100%;
  border: none;
  background: transparent;
  color: #1c1c1c;
  font-size: 18px;
  cursor: pointer;
  /* optional: hover feeling */
}
.length-stepper button:hover, .length-stepper button:focus {
  background: #24B5D3;
  color: #ffffff;
}
.length-stepper input[type=number] {
  flex: 1;
  text-align: center;
  border: none;
  outline: none;
  font-size: 18px;
  -moz-appearance: textfield;
  appearance: textfield;
}
.length-stepper input[type=number]::-webkit-outer-spin-button, .length-stepper input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.length-stepper,
.custom-processing select {
  margin-top: 15px;
  margin-bottom: 15px;
}

.custom-processing select {
  height: 50px;
  border-radius: 25px;
}

/* Aktuelle Angebote */
.aktuelle-angebote-discount-wert {
  padding: 5px 12px 5px 12px;
}

/* Kategorie - template */
#produktfilter-akkordeon > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title {
  border-top-style: groove;
  padding-left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#produktfilter-akkordeon > .e-n-accordion > .e-n-accordion-item > .e-child {
  padding-left: 0;
}
#produktfilter-akkordeon > .e-n-accordion > .e-n-accordion-item:has(.jet-smart-filters-checkboxes):not(:has(.jet-smart-filters-checkboxes:not([style*="display: none"]))) {
  display: none;
}
#produktfilter-akkordeon > .e-n-accordion .e-n-accordion-item:last-child {
  border-bottom: 1px groove;
  border-bottom-color: var(--n-accordion-border-color);
}

#Produkt-kat-details {
  border-top: 1px solid #1c1c1c;
  border-bottom: 1px solid #1c1c1c;
}

#Produktdetails-rechts .tw-attr__head {
  margin-bottom: 5px;
  margin-top: 15px;
}

#zupaypal-button-container p {
  margin-bottom: 0;
}

/* Produkt:hover -> 'In den Warenkorb' Button */
.loop-item-container {
  position: relative;
}
.loop-item-container > .elementor-element:first-child:not(.produkt-badge--konfigurierbar),
.loop-item-container .produkt-badge--konfigurierbar + .elementor-element {
  padding: 0 !important;
}
.loop-item-container .hover-button {
  display: none;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 40%;
  z-index: 10;
  background: rgba(255, 255, 255, 0.8509803922) 0% 0% no-repeat padding-box;
  opacity: 0.9;
  justify-content: center;
}
.loop-item-container .hover-button .quantity,
.loop-item-container .hover-button .added_to_cart {
  display: none;
}
.loop-item-container .hover-button .elementor-add-to-cart {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.loop-item-container .hover-button .add_to_cart_button {
  cursor: pointer;
  padding: 10px 0;
  border-top: 1px solid #ccc;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: Poppins;
  font-size: 14px;
  font-weight: 500;
  line-height: 27px;
  font-style: normal;
  color: #1c1c1c;
}
.loop-item-container .hover-button .add_to_cart_button::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  margin-right: 10px;
  vertical-align: middle;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20.0049 22H4.00488C3.4526 22 3.00488 21.5523 3.00488 21V3C3.00488 2.44772 3.4526 2 4.00488 2H20.0049C20.5572 2 21.0049 2.44772 21.0049 3V21C21.0049 21.5523 20.5572 22 20.0049 22ZM19.0049 20V4H5.00488V20H19.0049ZM9.00488 6V8C9.00488 9.65685 10.348 11 12.0049 11C13.6617 11 15.0049 9.65685 15.0049 8V6H17.0049V8C17.0049 10.7614 14.7663 13 12.0049 13C9.24346 13 7.00488 10.7614 7.00488 8V6H9.00488Z'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20.0049 22H4.00488C3.4526 22 3.00488 21.5523 3.00488 21V3C3.00488 2.44772 3.4526 2 4.00488 2H20.0049C20.5572 2 21.0049 2.44772 21.0049 3V21C21.0049 21.5523 20.5572 22 20.0049 22ZM19.0049 20V4H5.00488V20H19.0049ZM9.00488 6V8C9.00488 9.65685 10.348 11 12.0049 11C13.6617 11 15.0049 9.65685 15.0049 8V6H17.0049V8C17.0049 10.7614 14.7663 13 12.0049 13C9.24346 13 7.00488 10.7614 7.00488 8V6H9.00488Z'/></svg>") no-repeat center/contain;
}
.loop-item-container .hover-button .button {
  background: transparent;
  border: 1px solid #1c1c1c;
  padding-left: 18px;
  padding-right: 18px;
  border-radius: 25px;
}
.loop-item-container .hover-button .button:hover {
  background: transparent !important;
}
.loop-item-container:hover .hover-button {
  display: flex;
}

@media (min-width: 767px) and (max-width: 1024px) {
  .loop-item-container .hover-button .button {
    padding-left: 12px;
    padding-right: 12px;
  }
  .loop-item-container .hover-button .add_to_cart_button {
    font-size: 14px;
  }
  .wc-block-components-sidebar.wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
    padding-right: 10px;
  }
}
@media (max-width: 1024px) {
  .wc-block-components-sidebar.wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
    padding-right: 10px;
    padding-left: 10px;
  }
  .wc-block-components-sidebar-layout .wc-block-components-main {
    padding-right: 10px !important;
    padding-left: 10px;
  }
}
@media (min-width: 1024px) and (max-width: 1440px) {
  .loop-item-container .hover-button .add_to_cart_button {
    padding: 3px 12px;
    font-size: 10px;
  }
  .loop-item-container .hover-button .add_to_cart_button::before {
    width: 18px;
    height: 18px;
  }
}
/* Produktkategorien - Akkordeon */
.cat-accordion {
  border-bottom: 1px solid #ccc;
}

.cat-title {
  cursor: pointer;
  padding: 10px 0;
  border-top: 1px solid #ccc;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: Poppins;
  font-size: 20px;
  font-weight: 500;
  line-height: 50px;
  font-style: normal;
}
.cat-title .acc-icon {
  margin-left: auto;
  width: 15px;
}

.cat-item ul {
  max-height: 0;
  overflow: hidden;
  padding-left: 0;
  transition: max-height 0.35s ease;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.cat-item li {
  list-style: none;
  width: 32%;
}
.cat-item.active ul {
  max-height: 500px;
  padding-left: 26px;
  padding-bottom: 40px;
}

.sortierung-top-bar {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

.poppins-medium-18-27 {
  font-family: Poppins;
  font-size: 18px;
  font-weight: 500;
  line-height: 27px;
  font-style: normal;
}

.poppins-regular-18-27 {
  font-family: Poppins;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  font-style: normal;
}

/* Woocommerce */
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price {
  color: var(--e-global-color-text) !important;
}

.woocommerce div.product form.cart a.button {
  display: inline-flex;
  align-items: center;
}
.woocommerce div.product form.cart a.button:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: 5px;
  background-color: #515151;
  -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMjAuMDA0OSAyMkg0LjAwNDg4QzMuNDUyNiAyMiAzLjAwNDg4IDIxLjU1MjMgMy4wMDQ4OCAyMVYzQzMuMDA0ODggMi40NDc3MiAzLjQ1MjYgMiA0LjAwNDg4IDJIMjAuMDA0OUMyMC41NTcyIDIgMjEuMDA0OSAyLjQ0NzcyIDIxLjAwNDkgM1YyMUMyMS4wMDQ5IDIxLjU1MjMgMjAuNTU3MiAyMiAyMC4wMDQ5IDIyWk0xOS4wMDQ5IDIwVjRINS4wMDQ4OFYyMEgxOS4wMDQ5Wk05LjAwNDg4IDZWOEM5LjAwNDg4IDkuNjU2ODUgMTAuMzQ4IDExIDEyLjAwNDkgMTFDMTMuNjYxNyAxMSAxNS4wMDQ5IDkuNjU2ODUgMTUuMDA0OSA4VjZIMTcuMDA0OVY4QzE3LjAwNDkgMTAuNzYxNCAxNC43NjYzIDEzIDEyLjAwNDkgMTNDOS4yNDM0NiAxMyA3LjAwNDg4IDEwLjc2MTQgNy4wMDQ4OCA4VjZIOS4wMDQ4OFoiPjwvcGF0aD48L3N2Zz4=") no-repeat center/contain;
  mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMjAuMDA0OSAyMkg0LjAwNDg4QzMuNDUyNiAyMiAzLjAwNDg4IDIxLjU1MjMgMy4wMDQ4OCAyMVYzQzMuMDA0ODggMi40NDc3MiAzLjQ1MjYgMiA0LjAwNDg4IDJIMjAuMDA0OUMyMC41NTcyIDIgMjEuMDA0OSAyLjQ0NzcyIDIxLjAwNDkgM1YyMUMyMS4wMDQ5IDIxLjU1MjMgMjAuNTU3MiAyMiAyMC4wMDQ5IDIyWk0xOS4wMDQ5IDIwVjRINS4wMDQ4OFYyMEgxOS4wMDQ5Wk05LjAwNDg4IDZWOEM5LjAwNDg4IDkuNjU2ODUgMTAuMzQ4IDExIDEyLjAwNDkgMTFDMTMuNjYxNyAxMSAxNS4wMDQ5IDkuNjU2ODUgMTUuMDA0OSA4VjZIMTcuMDA0OVY4QzE3LjAwNDkgMTAuNzYxNCAxNC43NjYzIDEzIDEyLjAwNDkgMTNDOS4yNDM0NiAxMyA3LjAwNDg4IDEwLjc2MTQgNy4wMDQ4OCA4VjZIOS4wMDQ4OFoiPjwvcGF0aD48L3N2Zz4=") no-repeat center/contain;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  text-decoration: none !important;
}

.elementor-widget-woocommerce-product-price .tw-unit {
  font-weight: 400;
}

.woocommerce-notices-wrapper {
  background-color: #F5F5F5;
  display: block;
  position: relative;
}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
  display: grid;
  gap: 1rem !important;
  border-top: 0 !important;
}
@media (min-width: 992px) {
  .woocommerce-notices-wrapper .woocommerce-message,
  .woocommerce-notices-wrapper .woocommerce-error,
  .woocommerce-notices-wrapper .woocommerce-info {
    margin: 0 auto;
    margin-bottom: 0 !important;
    max-width: 1570px;
    position: relative;
    padding: 16px 8px 16px 30px;
  }
}
@media (min-width: 992px) {
  .woocommerce-notices-wrapper .woocommerce-message,
  .woocommerce-notices-wrapper .woocommerce-error,
  .woocommerce-notices-wrapper .woocommerce-info {
    display: grid;
    width: 100%;
    margin: auto;
    grid-auto-flow: column;
    grid-template-columns: 1fr auto;
    vertical-align: middle;
    align-items: center;
  }
}
@media (min-width: 992px) {
  .woocommerce-notices-wrapper .woocommerce-message:before,
  .woocommerce-notices-wrapper .woocommerce-error:before,
  .woocommerce-notices-wrapper .woocommerce-info:before {
    left: 0;
    top: auto;
    bottom: auto;
  }
}
.woocommerce-notices-wrapper .woocommerce-message:focus-visible,
.woocommerce-notices-wrapper .woocommerce-error:focus-visible,
.woocommerce-notices-wrapper .woocommerce-info:focus-visible {
  outline: none;
}

.woocommerce-variation-price .tw-unit {
  display: none;
}

.woocommerce-mini-cart__empty-message {
  line-height: 1.5;
}

.woocommerce div.product div.images .flex-control-thumbs {
  display: grid;
  position: relative;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.woocommerce div.product div.images .flex-control-thumbs li {
  width: 100%;
  height: 100%;
  float: none;
  aspect-ratio: 4/3;
  padding: 0 !important;
  max-height: unset;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
  aspect-ratio: 1/1;
  object-fit: contain;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease;
}

/*
Rick: Elementor Overrides
 */
@media screen and (max-width: 768px) {
  .elementor-kit-5 h1 {
    font-size: 3.8rem;
  }
}

@media screen and (max-width: 1024px) {
  .elementor-element .swiper .elementor-swiper-button,
  .elementor-element .swiper ~ .elementor-swiper-button,
  .elementor-lightbox .swiper .elementor-swiper-button,
  .elementor-lightbox .swiper ~ .elementor-swiper-button {
    display: none !important;
    -webkit-appearance: none;
  }
}

/*
iPhone swiper buttons
 */
@media screen and (max-width: 1024px) {
  .elementor-widget-loop-carousel.elementor-element :is(.swiper, .swiper-container) ~ .elementor-swiper-button-prev {
    display: none !important;
    -webkit-appearance: none;
  }
}

/*
Bilder boxen
 */
.elementor-508 .elementor-widget-theme-post-featured-image,
.elementor-756 .elementor-widget-image {
  aspect-ratio: 4/3;
}
.elementor-508 .elementor-widget-theme-post-featured-image img,
.elementor-756 .elementor-widget-image img {
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
}

.elementor-756 .e-con > .e-con-inner {
  gap: 0;
}

.elementor-508 .elementor-widget-image > a {
  display: block;
  width: 100%;
  height: 100%;
}

/*
Header Logo
 */
.elementor-15 .elementor-widget-image a img[src$=".svg"] {
  width: 226px;
  height: 57px;
}
.elementor-15 .elementor-element.elementor-element-460e74c {
  width: 226px;
}
@media (max-width: 440px) {
  .elementor-15 .elementor-widget-image a img[src$=".svg"] {
    width: 100%;
    height: auto;
  }
  .elementor-15 .elementor-element.elementor-element-460e74c {
    width: 45%;
  }
}

/*
Footer Font
 */
.elementor-124 .elementor-element.elementor-element-e1868bf .elementor-heading-title {
  font-family: var(--e-global-typography-secondary-font-family), Charter;
  font-weight: 400;
}
.elementor-124 .elementor-element.elementor-element-00075f5 .elementor-heading-title {
  font-size: var(--e-global-typography-secondary-font-size);
  line-height: var(--e-global-typography-secondary-line-height);
}
@media screen and (min-width: 768px) {
  .elementor-124 .elementor-element.elementor-element-6888616 {
    margin-bottom: 0;
    padding: 0;
  }
  .elementor-124 .elementor-element.elementor-element-5cd07d91 .elementor-image-box-wrapper .elementor-image-box-img {
    margin-bottom: 0;
  }
  .elementor-124 .elementor-element.elementor-element-6bdd989a {
    margin-top: 0;
  }
  .elementor-124 .elementor-element.elementor-element-7f914565.e-con {
    margin-top: 0;
  }
}

.elementor-493 .elementor-element.elementor-element-509bf3f .jet-filters-pagination__link {
  aspect-ratio: 1/1;
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  align-self: center;
  width: 35px;
}

/* Suche im Header – Overlay wie auf ddev (dmind-wp-searchfield + Elementor) */
#search-form-container,
.header-oeffnungszeiten {
  --header-search-border: #cdcdcd;
  --header-search-text: #515962;
  --header-search-primary: var(--e-global-color-accent , #24b5d3);
  --header-search-radius: 30px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2147483647;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.05);
  transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
  pointer-events: none;
}
#search-form-container.active, #search-form-container.is-open,
.header-oeffnungszeiten.active,
.header-oeffnungszeiten.is-open {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  pointer-events: auto;
}
#search-form-container .close-search,
#search-form-container .close-opening-hours,
.header-oeffnungszeiten .close-search,
.header-oeffnungszeiten .close-opening-hours {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 24px;
  line-height: 36px;
  color: #fff;
  cursor: pointer;
  transition: opacity 0.3s;
  border: 0;
  padding: 0;
  background: transparent;
}
#search-form-container .close-search:hover,
#search-form-container .close-opening-hours:hover,
.header-oeffnungszeiten .close-search:hover,
.header-oeffnungszeiten .close-opening-hours:hover {
  opacity: 0.7;
}

.elementor-widget #search-form-container {
  padding: 20px;
}
.elementor-widget #search-form-container .search-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
  width: 100%;
  max-width: 600px;
  margin: 0;
  padding: 20px;
  border-radius: 10px;
  gap: 0;
}
@media (max-width: 1650px) {
  .elementor-widget #search-form-container .search-container {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .elementor-widget #search-form-container .search-container {
    width: 100%;
  }
}
.elementor-widget #search-form-container .search-field {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 16px 32px 16px 16px !important;
  border: 1px solid var(--header-search-border);
  border-right: none;
  border-radius: 50px 0px 0px 50px !important;
  background-color: #fff;
  color: var(--header-search-text);
  font-family: var(--e-global-typography-text-font-family, "Poppins", sans-serif);
  font-size: 16px !important;
  line-height: 1.5;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}
.elementor-widget #search-form-container .search-field::placeholder {
  color: var(--header-search-text);
  opacity: 1;
}
.elementor-widget #search-form-container .search-field:focus {
  outline: none;
  border-color: var(--header-search-primary);
}
.elementor-widget #search-form-container .search-field::-webkit-search-cancel-button, .elementor-widget #search-form-container .search-field::-webkit-search-decoration {
  display: none;
}
.elementor-widget #search-form-container #searchbutton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  gap: 8px;
  margin: 0;
  padding: 16px 24px !important;
  border: none !important;
  border-radius: 0 var(--header-search-radius) var(--header-search-radius) 0 !important;
  background-color: var(--header-search-primary) !important;
  color: #fff !important;
  font-family: var(--e-global-typography-text-font-family, "Poppins", sans-serif);
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1;
  box-shadow: none;
  cursor: pointer;
}
.elementor-widget #search-form-container #searchbutton::after {
  content: "Suche";
}
.elementor-widget #search-form-container #searchbutton svg {
  fill: currentColor;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.elementor-widget #search-form-container #searchbutton:hover, .elementor-widget #search-form-container #searchbutton:focus {
  background-color: #81D4E6 !important;
  color: #fff !important;
}

.header-oeffnungszeiten__inner {
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  width: 100%;
  max-width: 600px;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  text-align: left;
}
@media (max-width: 1650px) {
  .header-oeffnungszeiten__inner {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .header-oeffnungszeiten__inner {
    width: 100%;
  }
}
.header-oeffnungszeiten__inner .header-oeffnungszeiten__status {
  margin: 0 0 16px;
  padding: 10px 14px;
  border-radius: 8px;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
}
.header-oeffnungszeiten__inner .header-oeffnungszeiten__status--open {
  background-color: #e8f7ee;
  color: #1a7f37;
}
.header-oeffnungszeiten__inner .header-oeffnungszeiten__status--closed {
  background-color: #fdecea;
  color: #9b3b3b;
}
.header-oeffnungszeiten__inner .header-oeffnungszeiten__title {
  margin: 0 0 12px;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  color: #333;
}
.header-oeffnungszeiten__inner .header-oeffnungszeiten__table {
  width: 100%;
  margin: 0 0 16px;
  border-collapse: collapse;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
}
.header-oeffnungszeiten__inner .header-oeffnungszeiten__table th,
.header-oeffnungszeiten__inner .header-oeffnungszeiten__table td {
  padding: 6px 8px;
  border: none;
  vertical-align: top;
  text-align: left;
  font-weight: 400;
}
.header-oeffnungszeiten__inner .header-oeffnungszeiten__table th {
  width: 42%;
  font-weight: 500;
}
.header-oeffnungszeiten__inner .header-oeffnungszeiten__extra {
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #333;
}
.header-oeffnungszeiten__inner .header-oeffnungszeiten__extra p:last-child {
  margin-bottom: 0;
}

.header-oeffnungszeiten {
  padding: 20px;
}
.header-oeffnungszeiten__placeholder {
  margin: 0;
  padding: 12px 16px;
  border: 1px dashed #cdcdcd;
  border-radius: 8px;
  color: #888;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
}

#navigation-geschaetskunden a span {
  font-weight: 400 !important;
  background-color: #D6F1F7 !important;
  color: #24B5D3 !important;
  padding: 16px 24px !important;
  border-radius: 30px !important;
  position: relative;
  display: inline-flex;
}
#navigation-geschaetskunden a span:hover {
  background-color: #24B5D3 !important;
  color: #fff !important;
}

#jetzt-erreichbar a span {
  display: none !important;
}
@media (max-width: 1650px) {
  #jetzt-erreichbar a span {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box;
    font-weight: 400 !important;
    text-align: center !important;
    background-color: #24B5D3 !important;
    color: #ffffff !important;
    padding: 8px 16px !important;
    border-radius: 0 !important;
    position: relative;
  }
  #jetzt-erreichbar a span:hover {
    background-color: #D6F1F7 !important;
    color: #24B5D3 !important;
  }
}

@media (max-width: 1650px) {
  #jetzt-erreichbar.e-n-menu-title {
    background-color: transparent !important;
    padding: 0 !important;
  }
  #jetzt-erreichbar a {
    display: flex !important;
    width: 100% !important;
  }
}
/*
Header Tablet and Mobile Adjustments
- "Geschäftskunden" button into dropdown
- Reorder Header Elements (Burger menu to the right)
*/
@media (max-width: 1650px) {
  /* Ensure the inner container is a flexbox and reorder children */
  .elementor-element-dc2c512 > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
  }
  /* 1. Logo (Container 460e74c) stays left */
  .elementor-element-460e74c {
    order: 1 !important;
  }
  /* 2. Search/Account/Cart Icons (Container 96381ca) move to right-middle */
  .elementor-element-96381ca {
    order: 2 !important;
    margin-left: auto !important;
    margin-right: 20px !important;
    width: auto !important;
  }
  /* 3. Burger Menu (Navigation Container e720a47) moves to the very right */
  .elementor-element-e720a47 {
    order: 3 !important;
    width: auto !important;
  }
  /* 4. Hide original "Geschäftskunden" button (Container 28e3885) */
  .navigation-geschaetskunden {
    display: none !important;
  }
  /* 5. Mobile menu: white background */
  #menubar-209.e-n-menu-wrapper {
    background-color: #FFFFFF !important;
  }
  .e-n-menu-heading {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .e-n-menu-item {
    padding-top: 1.2rem !important;
  }
  /* Fixed panel + scroll lock when open (body class set in header_example.js) */
  body.tauwerk-mobile-menu-open {
    overflow: hidden !important;
    position: fixed;
    width: 100%;
  }
  body.tauwerk-mobile-menu-open #menubar-209.e-n-menu-wrapper {
    position: fixed !important;
    top: var(--tauwerk-mobile-menu-top, 142px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    margin-top: 0 !important;
    --stretch-left: 0 !important;
    --n-menu-dropdown-content-box-height: none !important;
    height: auto !important;
    max-height: calc(100vh - var(--tauwerk-mobile-menu-top, 142px)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
    box-shadow: none !important;
    border: none !important;
    border-block-start: 0 !important;
    border-block-end: 0 !important;
    border-inline-start: 0 !important;
    border-inline-end: 0 !important;
    --n-menu-dropdown-content-box-border-width-block-start: 0;
    --n-menu-dropdown-content-box-border-width-block-end: 0;
    --n-menu-dropdown-content-box-border-width-inline-start: 0;
    --n-menu-dropdown-content-box-border-width-inline-end: 0;
    --n-menu-dropdown-content-box-border-style: none;
    border-top: none !important;
  }
  /* Sub-dropdown (z. B. Shop): nur 2px oben, kein Schatten */
  #menubar-209 [id^=e-n-menu-content-] {
    box-shadow: none !important;
    border-width: 2px 0 0 0 !important;
    border-style: solid !important;
    border-color: rgb(248, 248, 248) !important;
    border-top: 2px solid rgb(248, 248, 248) !important;
  }
  #menubar-209 [id^=e-n-menu-content-] .menu-custom-width {
    --width: 25%;
  }
}
@media (max-width: 767px) {
  #menubar-209 [id^=e-n-menu-content-] .menu-custom-width {
    --width: 100%;
  }
}
/*
Shop Kategorie-Seite und Filter
 */
.elementor-493 .elementor-element.elementor-element-fa76929.elementor-element p {
  margin-bottom: 0 !important;
}
.elementor-493 .woocommerce ul.products li.product .woocommerce-loop-category__title {
  font-family: "Poppins", sans-serif;
}

.term-description h2,
.term-description h3,
.term-description h4,
.term-description h5,
.term-description h6 {
  font-family: "Poppins", sans-serif;
}

/* Produktseite */
.elementor-485 .elementor-element.elementor-element-5744fe3 {
  width: 100%;
}
.elementor-485 .elementor-element.elementor-element-fd616c5 {
  width: fit-content;
}

@media screen and (max-width: 1650px) {
  .elementor-element-ceb5698 {
    display: none;
  }
}

.img-auto figure {
  width: auto;
  max-width: 100%;
}

.product_title a {
  font-family: "Poppins", Charter;
  font-size: 18px;
  font-weight: 500;
  line-height: 27px;
}

footer #trusted-shops-badge img,
footer #trustbadgeCustomContainer {
  filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.2));
}
footer ._uuhri8 > div {
  position: static !important;
}
footer ._qmwjye {
  right: 0 !important;
}
@media (min-width: 649px) {
  footer ._qmwjye {
    right: -15px !important;
  }
}
footer ._ufvbz7 {
  width: 130px !important;
  left: 0 !important;
}
@media (min-width: 649px) {
  footer ._ufvbz7 {
    left: 15px !important;
  }
}
@media (min-width: 768px) {
  footer ._ufvbz7 {
    left: -15px !important;
  }
}

.toggle-opening-hours,
.header-oeffnungszeiten-icon {
  border-width: 0;
  box-sizing: border-box;
  display: block;
  padding: 0;
  line-height: 0;
  background-color: transparent;
  cursor: pointer;
}
.toggle-opening-hours svg,
.header-oeffnungszeiten-icon svg {
  fill: var(--e-global-color-text);
}
.toggle-opening-hours:hover, .toggle-opening-hours[aria-expanded=true],
.header-oeffnungszeiten-icon:hover,
.header-oeffnungszeiten-icon[aria-expanded=true] {
  background-color: transparent;
}
.toggle-opening-hours:hover svg, .toggle-opening-hours[aria-expanded=true] svg,
.header-oeffnungszeiten-icon:hover svg,
.header-oeffnungszeiten-icon[aria-expanded=true] svg {
  fill: var(--e-global-color-accent);
}

.woocommerce #review_form #respond .form-submit input {
  border-radius: 30px !important;
  background-color: #24B5D3 !important;
  color: #fff;
  border: none;
  padding: 16px 24px !important;
  cursor: pointer;
  font-weight: 400 !important;
  transition: all 0.3s ease;
}
.woocommerce #review_form #respond .form-submit input:hover {
  background-color: #D6F1F7 !important;
  color: #24B5D3 !important;
}

@media screen and (max-width: 767px) {
  .woocommerce-MyAccount-navigation {
    margin-bottom: 2rem;
  }
}

.wp-block-woocommerce-cart {
  margin: auto !important;
  container-type: unset !important;
}

@media (max-width: 781px) {
  .wc-block-components-sidebar-layout {
    display: block !important;
  }
  .wc-block-components-main,
  .wc-block-cart__sidebar {
    width: 100% !important;
    flex: none !important;
    min-height: auto !important;
    height: auto !important;
  }
  .wc-block-cart__sidebar {
    position: static !important;
    align-self: auto !important;
  }
}
/* Suchergebnisseite */
.elementor-pagination .page-numbers {
  aspect-ratio: 1/1;
  display: inline-flex;
  position: relative;
}
@media (min-width: 1024px) {
  .elementor-pagination .page-numbers {
    padding: 0 25px;
  }
}
@media (min-width: 1200px) {
  .elementor-pagination .page-numbers {
    padding: 0 30px;
  }
}
@media (min-width: 1400px) {
  .elementor-pagination .page-numbers {
    padding: 0 35px;
  }
}
@media (min-width: 1600px) {
  .elementor-pagination .page-numbers {
    padding: 0 40px;
  }
}
@media (min-width: 1800px) {
  .elementor-pagination .page-numbers {
    padding: 0 45px;
  }
}
@media (min-width: 2000px) {
  .elementor-pagination .page-numbers {
    justify-content: center;
    align-items: center;
    align-self: center;
    width: 35px;
    height: 35px !important;
    padding: 2px 10px 2px 10px;
    border-radius: 50px 50px 50px 50px;
  }
  .elementor-pagination .page-numbers.current {
    background-color: #24B5D3 !important;
    color: #ffffff !important;
  }
  .elementor-pagination .page-numbers:hover {
    background-color: #24B5D3 !important;
    color: #ffffff !important;
  }
}

/*
 * Suchicon im Header
 */
.toggle-search {
  border-width: 0;
  box-sizing: border-box;
  display: block;
  padding: 0;
  line-height: 0;
}
.toggle-search svg {
  fill: var(--e-global-color-text);
}
.toggle-search:hover {
  background-color: transparent;
}
.toggle-search:hover svg {
  fill: var(--e-global-color-accent);
}

.elementor-15 .elementor-element.elementor-element-a63fc22 .elementor-icon-wrapper {
  line-height: 0;
}

/* seitlicher Warenkorb - Eigenschaften entfernen */
.elementor-menu-cart__product .variation,
.elementor-menu-cart__product dl.variation {
  display: none !important;
}

.elementor-menu-cart__wrapper,
.elementor-menu-cart__toggle_wrapper {
  line-height: 0;
}

.elementor-menu-cart__toggle {
  line-height: 0;
}
.elementor-menu-cart__toggle .elementor-button {
  line-height: 0;
  padding: 0;
}
.elementor-menu-cart__toggle .elementor-button svg {
  height: 25px;
  width: 25px;
  fill: var(--e-global-color-text);
  transition: fill 0.3s ease;
}
.elementor-menu-cart__toggle .elementor-button:hover svg {
  fill: #43B5D3;
}

.elementor-menu-cart__subtotal strong {
  font-weight: 400 !important;
}

.elementor-menu-cart--items-indicator-bubble .elementor-menu-cart__toggle .elementor-button-icon .elementor-button-icon-qty[data-counter] {
  background-color: var(--e-global-color-accent);
}

/* singlepage-template (Einzelne Seite,Bsp: Impressum) */
.einzelne-seite-maincontainer a {
  color: var(--e-global-color-accent);
  text-decoration: underline;
}

/*# sourceMappingURL=tauwerk.css.map */
