.elementor-kit-29338{--e-global-color-primary:#015BAD;--e-global-color-secondary:#DBAB72;--e-global-color-text:#141F29;--e-global-color-accent:#F2F2F5;--e-global-color-771ac53:#FFFFFF;--e-global-color-c27a6e3:#2D3A45;--e-global-color-913cb67:#02AD6E;--e-global-color-433e3c0:#AD4602;--e-global-color-d77bf60:#90969D;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:32px;--e-global-typography-1ea8634-font-family:"Euclid Square";--e-global-typography-1ea8634-font-size:clamp(2.5rem, 1.6667rem + 3.7037vw, 5rem);--e-global-typography-1ea8634-font-weight:600;--e-global-typography-1ea8634-line-height:1em;--e-global-typography-1ea8634-letter-spacing:-0.04em;--e-global-typography-e90edb4-font-family:"Euclid Square";--e-global-typography-e90edb4-font-size:clamp(1.8rem, 1.4rem + 1.7778vw, 3rem);--e-global-typography-e90edb4-font-weight:600;--e-global-typography-e90edb4-line-height:1.1em;--e-global-typography-e90edb4-letter-spacing:-0.03em;--e-global-typography-4859031-font-family:"Euclid Square";--e-global-typography-4859031-font-size:clamp(1.6rem, 1.3333rem + 1.1852vw, 2.4rem);--e-global-typography-4859031-font-weight:600;--e-global-typography-4859031-line-height:1.2em;--e-global-typography-4859031-letter-spacing:-0.02em;--e-global-typography-9c442f3-font-family:"Euclid Square";--e-global-typography-9c442f3-font-size:clamp(1.4rem, 1.2667rem + 0.5926vw, 1.8rem);--e-global-typography-9c442f3-font-weight:600;--e-global-typography-9c442f3-line-height:1.3em;--e-global-typography-9c442f3-letter-spacing:-0.01em;--e-global-typography-956fa3a-font-family:"Euclid Square";--e-global-typography-956fa3a-font-size:clamp(1.2rem, 1.1333rem + 0.2963vw, 1.4rem);--e-global-typography-956fa3a-font-weight:600;--e-global-typography-956fa3a-line-height:1.4em;--e-global-typography-b970eb1-font-family:"Euclid Square";--e-global-typography-b970eb1-font-size:clamp(0.875rem, 0.7917rem + 0.3704vw, 1.125rem);--e-global-typography-b970eb1-font-weight:600;--e-global-typography-b970eb1-line-height:1.4em;--e-global-typography-6558ddd-font-family:"Euclid Square";--e-global-typography-6558ddd-font-size:clamp(1.125rem, 1.0833rem + 0.1852vw, 1.25rem);--e-global-typography-6558ddd-font-weight:400;--e-global-typography-6558ddd-line-height:1.2em;--e-global-typography-b742095-font-family:"Euclid Square";--e-global-typography-b742095-font-size:clamp(1rem, 0.9583rem + 0.1852vw, 1.125rem);--e-global-typography-b742095-font-weight:400;--e-global-typography-b742095-line-height:1.4em;--e-global-typography-71f1d9e-font-family:"Euclid Square";--e-global-typography-71f1d9e-font-size:clamp(0.875rem, 0.8333rem + 0.1852vw, 1rem);--e-global-typography-71f1d9e-font-weight:400;--e-global-typography-71f1d9e-line-height:1.6em;}.elementor-kit-29338 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Header SVG Fix*/

.headersvg svg path{
    fill: white;
    stroke: none !important;
}

.headersvg a.elementor-icon:hover svg path {
    fill: #015BAD !important;
}

.headersvg .elementor-widget-container { padding: 0 !important; }
.headersvg a { padding: 0.5rem; }


/*Remove bottom space from paragraphs*/
p:last-child { 
    margin-bottom: 0px;
}

/*Adjust margin of paragraphs*/
/*.elementor-widget-text-editor p:last-child { margin-bottom: 4px;
}
*/

/* Button Style */

.lf-button .elementor-button-icon {
    transition: all 0.3s ease-in-out;
    transform: translateX(0);
}

.lf-button .elementor-button:hover .elementor-button-icon {
    transform: translateX(5px);
}

.lf-button .elementor-button-icon svg {
  transform: scale(1);
}

.toggleElem .elementor-button-icon {
  padding-top: 2px;
}

/* Hide Background Image on Tablet and Mobile */
@media (max-width: 1024px) {
    .desktop-background-only {
        background-image: none !important;
    }
}

/* Animation Stativtypen*/

.comparison {
  height: 0;
  opacity: 0;
  overflow: hidden;
  transition: height 0.4s ease, opacity 0.3s ease;
  will-change: height, opacity;
}

/* Sichtbarer Zustand */
.comparison.is-open {
  opacity: 1;
}

/* Standardzustand des Icons */
.expand svg {
    transition: transform 0.3s ease;
    transform: rotate(0deg);
}

/* Zustand, wenn der Container sichtbar ist */
.expand.visible svg {
    transform: rotate(180deg);
}

/* Hand Icon bei Mouseover */
.expand { cursor: pointer; }

/* WooCommerce Produkte Icons */
.popup-garantie {
  cursor: pointer;
}
.popup-garantie {
  transition: transform 0.3s ease; /* Sanfter Übergang */
}
.popup-garantie:hover {
  transform: scale(1.05); /* 5% Vergrößerung */
}


/* Optimierung Aufzählungen */
ul {
  padding-left: 1.5em; /* Standard ist 40px*/
}

ul li {
  margin-bottom: 0.5em; /* Abstand zwischen Listeneinträgen */
}

/* Zum Warenkorb hinzugefügt Meldung */
.woocommerce a.added_to_cart {
    font-size: 12px;
}

/* JSF hide Grid if Filter empty */
.elementor-element.elementor-widget-jet-smart-filters-checkboxes:has(.jet-filter-indexed[style*="display: none"]),
.elementor-element.elementor-widget-jet-smart-filters-select:has(.jet-filter-indexed[style*="display: none"]),
.elementor-element.elementor-widget-jet-smart-filters-radio:has(.jet-filter-indexed[style*="display: none"]) {
    display: none !important;
}

/* Product Loop Filter */ 

/* Smooth transition */
.jet-filter-items-dropdown .jet-filter-items-dropdown__label {
  transition: background-color .2s ease;
}

/* Hellgrauer Hover */
.jet-filter-items-dropdown:hover .jet-filter-items-dropdown__label,
.jet-filter-items-dropdown .jet-filter-items-dropdown__label:hover {
  background-color: #F8F8FC !important;
}

/* Hand-Cursor */
.jet-filter-items-dropdown__label,
.jet-filter-items-dropdown__label * {
  cursor: pointer;
}

/* Product Loop Grid */ 

/* Bild-Wrapper */
.product-image-wrap {
  position: relative;
  overflow: hidden;
  max-height: 240px;   /* gleiche Höhe wie Featured Image */
}

/* Beide Bilder sollen dieselbe Logik nutzen */
.product-image-wrap img {
  width: 100%;
  height: 240px;       /* fixiert die Höhe */
  object-fit: contain; /* oder 'cover', s.u. */
  object-position: center;
  display: block;
}

/* Hover-Bild bleibt absolut darüber */
.product-card .product-hover-image {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease-in-out;
}

/* Hover sichtbar */
.product-card:hover .product-hover-image {
  opacity: 1;
}

@media (hover:hover) {
  .product-image-wrap img {
    transition: transform .25s ease;
  }
  .product-card:hover .product-image-wrap img {
    transform: scale(1.03);
  }
}


/* Button Container standardmässig verstecken */
.product-card .product-cart {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .25s ease, transform .25s ease;
    pointer-events: none; /* verhindert Ghost-Hover-Flächen */
}

/* Bei Hover Card → Button zeigen */
.product-card:hover .product-cart {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Container vorbereiten (deine Klasse) */
.product-cart {
  position: relative;
  min-height: 48px; /* an deine Buttonhöhe anpassen */
}

/* Add to cart Icon */
.product-cart .elementor-button-icon svg{
  width: 20px;
}

/* WooCommerce „Warenkorb anzeigen“ verstecken statt verschieben */
.product-card a.added_to_cart.wc-forward {
  position: absolute !important;
  background: #015BAD;
  color: white;
  padding: 10px 12px;
  border-radius: 8px;
  bottom: 0;
  right: 0;
  opacity: 0;
  pointer-events: none; /* bleibt zugänglich wenn sichtbar */
  margin: 0;
  font-size: 12px;
  white-space: nowrap;
  transition: opacity .2s ease;
}

/* Wenn Button den Zustand 'added' hat ⇒ Link schön einblenden */
.product-card .ajax_add_to_cart.added + a.added_to_cart.wc-forward {
  opacity: 1;
  pointer-events: auto;
}

/* Product Detail */

/* WooCommerce Additional Information Tabelle */

.woocommerce table.shop_attributes {
    border: none;
}

.woocommerce-product-attributes-item {
    text-align: left;
}

.woocommerce table.shop_attributes td p {
    padding: 12px;
}

.woocommerce table.shop_attributes td {
    border: none;
    font-style: normal;
}

.woocommerce table.shop_attributes th {
    padding: 12px;
    border: none;
    font-weight: 500;
}

/* Alternierende Zeilenfarben */
table.woocommerce-product-attributes.shop_attributes tr:nth-child(odd) {
  background-color: #ffffff; /* Hellgrau */
}

table.woocommerce-product-attributes.shop_attributes tr:nth-child(even) {
  background-color: #f2f2f5; /* Etwas dunkleres Grau */
}

/* Rundungen an der Tabelle */
table.woocommerce-product-attributes.shop_attributes {
	border-collapse: separate; /* wichtig für border-radius */
	border-spacing: 0; /* sonst entstehen Lücken */
	border-radius: 12px; /* gewünschter Radius */
	overflow: hidden; /* stellt sicher, dass es sauber clipped */
}

/* Erste Zeile – links & rechts abrunden */
table.woocommerce-product-attributes.shop_attributes tr:first-child th:first-child,
table.woocommerce-product-attributes.shop_attributes tr:first-child td:first-child {
	border-top-left-radius: 12px;
}

table.woocommerce-product-attributes.shop_attributes tr:first-child th:last-child,
table.woocommerce-product-attributes.shop_attributes tr:first-child td:last-child {
	border-top-right-radius: 12px;
}

/* Letzte Zeile – links & rechts abrunden */
table.woocommerce-product-attributes.shop_attributes tr:last-child th:first-child,
table.woocommerce-product-attributes.shop_attributes tr:last-child td:first-child {
	border-bottom-left-radius: 12px;
}

table.woocommerce-product-attributes.shop_attributes tr:last-child th:last-child,
table.woocommerce-product-attributes.shop_attributes tr:last-child td:last-child {
	border-bottom-right-radius: 12px;
}

/* Add-to-Cart-Widget*/

/* Vorrätig */
.elementor-widget-woocommerce-product-add-to-cart .stock.in-stock {
  color: #02AD6E !important; /* Grün */
}

/* Vorrätig (kann nachbestellt werden) */
.elementor-widget-woocommerce-product-add-to-cart .stock.available-on-backorder {
  color: #DBAB72 !important; /* Amber / Hinweisfarbe */
}

/* Nicht vorrätig */
.elementor-widget-woocommerce-product-add-to-cart .stock.out-of-stock {
  color: #AD4602 !important; /* Rot */
}

/* Woo Success Message */
.woocommerce-message {
  background: #F2F2F5 !important;
  border: none !important;
  border-radius: 8px;
  padding: 20px 28px 20px 68px; /* Platz für Icon */
  color: #141F29;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 20px;
  position: relative;
}

/* Grüner Kreis + Icon */
.woocommerce-message::before {
  content: "✓";
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #02AD6E;    /* Hintergrund Kreis */
  color: #ffffff;         /* Icon */
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Button – Success */
.woocommerce-message .button {
  margin: 8px 0 !important;           /* neue Zeile, leicht abgesetzt */
  background: #015BAD !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  padding: 12px 18px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  float: left !important;
}

.woocommerce-message .button:hover {
  background: #2D3A45 !important;
}

/* Info & Error – gleicher Stil wie oben */

/* Box-Styling für Info & Error */
.woocommerce-info,
.woocommerce-error {
  background: #F2F2F5 !important;
  border: none !important;
  border-radius: 8px;
  padding: 20px 28px 20px 68px;
  color: #141F29 !important;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 20px;
  position: relative;
  list-style: none;              /* Bulletpoints entfernen */
  margin: 0 0 15px;
}

.woocommerce-info li,
.woocommerce-error li {
  margin: 0;
  padding: 0;
}

/* Icon-Grundform */
.woocommerce-info::before,
.woocommerce-error::before {
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Info (blau) */
.woocommerce-info {
  border-top: 4px solid #015BAD !important;
}

.woocommerce-info::before {
  content: "i";
  background: #015BAD;
}

.woocommerce-info .button {
  margin: 8px 0 !important;
  background: #015BAD !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  padding: 12px 18px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  float: left !important;
}

/* Error (rot) */
.woocommerce-error::before {
  content: "!";
  background: #D32F2F;
}

.woocommerce-error .button {
  margin: 8px 0 !important;
  background: #D32F2F !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  padding: 12px 18px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  float: left !important;
}

/* Wishlist */

/* Header ausblenden */

.tinv-header {
    display: none;
}

/* TI WISHLIST – LEOFOTO DETAIL-TABLE STYLE */

.woocommerce .tinvwl-table-manage-list {
  font-family: "Euclid Square", sans-serif;
  color: #141F29;
  font-size: 16px;
  border-radius: 16px;
  overflow: hidden;            /* damit die Ecken wirklich rund sind */
}

/* Tabellenkopf (Product Name / Unit Price / Stock etc.) */
.woocommerce .tinvwl-table-manage-list thead th {
  background: #F5F5FA;
  color: #141F29;
  padding: 14px 20px;
  font-size: 14px;
  font-weight: 600;
  text-align: left;
  border-bottom: 1px solid #E3E5EE;
}

/* Tabellenzellen */
.woocommerce .tinvwl-table-manage-list tbody td {
  padding: 14px 20px;
  border-bottom: 1px solid #E3E5EE;
  vertical-align: middle;
}

/* Zebra-Stil wie bei den Produktdetails */
.woocommerce .tinvwl-table-manage-list tbody tr:nth-child(odd) {
  background: #F5F5FC;
}
.woocommerce .tinvwl-table-manage-list tbody tr:nth-child(even) {
  background: #F5F5FA;
}

/* erste & zweite Spalte typografisch wie in der Produkt-Tabelle */
.woocommerce .tinvwl-table-manage-list .product-name,
.woocommerce .tinvwl-table-manage-list .product-name a {
  font-weight: 600;
  color: #141F29;
  text-decoration: none;
}
.woocommerce .tinvwl-table-manage-list .product-name a:hover {
  text-decoration: underline;
}

/* Preis */
.woocommerce .tinvwl-table-manage-list .product-price {
  color: #141F29;
  font-weight: 500;
}

/* Stock-Status (Vorrätig etc.) */
.woocommerce .tinvwl-table-manage-list .product-stock .stock {
  font-weight: 500;
  color: #02AD6E; /* dein Grün für Verfügbarkeit */
}

/* Links in der Tabelle (z.B. Stativtyp, Tragkraft etc.) */
.woocommerce .tinvwl-table-manage-list a {
  color: #015BAD;
}
.woocommerce .tinvwl-table-manage-list a:hover {
  color: #01437F;
}

/* Produktbild kompakt */
.woocommerce .tinvwl-table-manage-list .product-thumbnail img {
  max-width: 80px;
  border-radius: 6px;
}

/* Entfernen-Icon */
.woocommerce .tinvwl-table-manage-list .product-remove a {
  color: #A7B0C0;
  font-size: 18px;
}
.woocommerce .tinvwl-table-manage-list .product-remove a:hover {
  color: #141F29;
}

/* ===== Button "In Warenkorb legen" im Leofoto-Blau ===== */

.woocommerce .tinvwl-table-manage-list .product-action .button,
.woocommerce .tinvwl-table-manage-list .product-action .tinvwl-add-to-cart {
  background: #015BAD;
  color: #ffffff;
  border-radius: 999px;
  padding: 9px 20px;
  border: none;
  font-size: 14px;
  font-weight: 500;
  font-family: "Euclid Square", sans-serif;
  text-transform: none;
  box-shadow: none;
  transition: background .2s ease, transform .1s ease;
}

.woocommerce .tinvwl-table-manage-list .product-action .button:hover,
.woocommerce .tinvwl-table-manage-list .product-action .tinvwl-add-to-cart:hover {
  background: #01437F;
  color: #ffffff;
}

/* --- Borders der TI Wishlist komplett zurücksetzen --- */
.woocommerce .tinvwl-table-manage-list,
.woocommerce .tinvwl-table-manage-list th,
.woocommerce .tinvwl-table-manage-list td {
  border: none !important;
  box-shadow: none;
}

/* Nur horizontale Linien (oben im Header + zwischen den Zeilen) */
.woocommerce .tinvwl-table-manage-list thead th {
  border-bottom: 1px solid #E3E5EE !important;
}

.woocommerce .tinvwl-table-manage-list tbody td {
  border-bottom: 1px solid #E3E5EE !important;
}


/* Kontakt*/

/* Elementor Form Feld Padding */
.elementor-form .elementor-field {
  padding: 12px 16px; /* oben/unten | links/rechts */
}


/* Improved Animations Stylesheet from https://element.how/elementor-improve-entrance-animations/ , works for the 'fade' animations */

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0,-30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInDown {
    animation-name: fadeDown
}

@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInLeft {
    animation-name: fadeLeft
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translate3d(30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInRight {
    animation-name: fadeRight
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translate3d(0,30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInUp {
    animation-name: fadeUp
}/* End custom CSS */