/**
* Override the rules generated with {Less} with pure {Css}
*/

/**
* FIXES
*/
/*
{
  outline: 0 none !important;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-smoothing: antialiased;
  font-weight: 400;
}*/

::selection {
  background: #555;
}

* {
  font-weight: unset;
}

.modal {
 z-index: 10001;
}

body {
  font-family: futura-pt, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.42857143;
  color: #555555;
}

#header .header-top .col.col-logo {
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 15px;
}

a:focus {
  outline: unset !important;
}

a {
  color: #c0392b;
  text-decoration: none;
}

p a, label a {
  text-decoration: none;
}

.branding {
  min-width: 250px;
  text-align: left;
  font-size: 14px;
}

.text-uppercase {
  text-transform: unset;
}

b, strong, dt, label, th, .label {
  font-weight: bold;
  font-family: "futura-pt", Helvetica, Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "futura-pt", Helvetica, Arial, sans-serif;
}

.subpage-wrap .headline[data-toggle="collapse"], .subpage-wrap .headline-underline[data-toggle="collapse"] {
  font-family: "futura-pt", Helvetica, Arial, sans-serif;
}

ul.product-meta-info.bold, ul.product-meta-info.bold * {
  font-family: "futura-pt", Helvetica, Arial, sans-serif !important;
}

.strong, .bold, .text-bold, .text-strong {
  font-family: "futura-pt", Helvetica, Arial, sans-serif;
}

#checkout .headline, #checkout .headline-underline {
  font-family: "futura-pt", Helvetica, Arial, sans-serif;
}

.product-tax-shipping, .product-tax, .product-shipping, .product-weight, .product-stock-name, .product-stock, .product-stock-image, .product-shipping-status, .vpe, .product-base-price, ul.product-meta-info, .product-tax-shipping a, .product-tax a, .product-shipping a, .product-weight a, .product-stock-name a, .product-stock a, .product-stock-image a, .product-shipping-status a, .vpe a, .product-base-price a, ul.product-meta-info a {
  font-family: "futura-pt", Helvetica, Arial, sans-serif;
}

.product-price {
  font-family: "futura-pt", Helvetica, Arial, sans-serif;
}

#product.detail .product-info .product-price.this {
  font-family: "futura-pt", Helvetica, Arial, sans-serif;
}


@media (max-width: 991px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #555;
    background-color: unset;
  }
}

@media (max-width: 991px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #555;
  }
}

@media (max-width: 767px) {
    #header .header-top .col > .inner .logo img {
	max-height: 32px;
    }
  .branding {
    font-size: 10px !important;
  }


 .category-overlay-index {
    font-size: 7.0vw !important;
/*    top: 45% !important; */
  }

  .superkachel .category-overlay {
    font-size: 6.0vw !important;
  }
 .category-overlay-in {
    font-size: 16vw !important;
  }


 .img-bw {
    filter: unset !important;
    transition: unset !important;
 }

 .video-res {
    width: 300%; /* oder mehr, je nach Crop-Wunsch */
    max-width: none;
    margin-left: -100%; /* verschiebt das Video zur Mitte */
    object-fit: cover; /* stellt sicher, dass das Video nicht gestaucht wird */
  }

  .imageDISABLE_SPINNER {
    overflow: hidden; /* Container beschneidet das Video */
    /* border-radius: 20px; */
  }

 .text-center-xs {
    text-align: unset;
 }

 .product-filter-wrapper {
 background-color: white;
 }

}


@media (max-width: 768px) {
 .category-overlay {
    font-size: 4.5vw;
  }
 .col-sm-6 {
/* zwei spalten für mobile*/
/*	width: 50%; 
	float: left; */
 }

 .table {
 font-size: 10px;
}

.full-width-image.category-image.img-thumbnail img {
    width: 100vw; /* Breite beibehalten */
    height: 100%; /* Höhe des Containers ausfüllen */
    object-fit: cover; /* Bild wird beschnitten, um den Container auszufüllen */
    object-position: center; /* Bild bleibt zentriert */
    height: 80px !important;
}


.full-width-image.category-image.img-thumbnail {
    width: 100vw; /* Volle Bildschirmbreite */
    max-width: 100vw;
    margin-left: calc(-50vw + 50%);
    display: block;
    overflow: hidden; /* Überschüssige Bildbereiche ausblenden */
}

.btn-toolbar > .btn-group {
  border-radius: 0px 15px 15px 0px;
}

.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
 /*  border-radius: 15px 0px 0px 15px; */
}

/* zusammenraffen aller elemente auf mobilgeräten */

    #header .header-top .col.col-logo {
	padding-bottom: 0px !important;
    }

    #header .header-top .col {
	padding-bottom: 0px !important;
    }

    .navbar-header {
	display: flex;
    }

    .navbar-toggle {
	margin-top: auto;
	margin-bottom: auto;
    }

    #search-xs { 
	margin: auto 0px auto auto;
	padding: 0px 15px 0px 0px !important;
    }

    .breadcrumb-container {
	margin-top: unset;
	margin-bottom: unset;
    }

    .navbar {
	margin-bottom: unset;
    }
    .full-width-image {
	margin-bottom: unset;
    }
    .dropdown-panel-centered {
       transform: translateX(-50%);
    }

}

@media (min-width: 768px) {
  .col-sm-3 {
    width: 24%;
  }
  .superkachel .category-overlay {
    font-size: 4.0vw;
  }
}


@media (min-width: 768px) and (max-width: 991px) {
    #header .header-top .col > .inner {
	padding-top: 0px;
  }
 .category-overlay {
    font-size: 3.2vw;
  }
  .superkachel .category-overlay {
    font-size: 4.0vw;
  }
 .category-overlay-in {
    font-size: 12vw !important;
  }

}

.breadcrumb-container .breadcrumb {
  margin-left: -20px; 
}

@media (min-width: 992px) {
  .navbar-nav {
    margin-left: -15px;
  }
 .category-overlay {
    font-size: 2.6vw;
  }
  .superkachel .category-overlay {
    font-size: 4.0vw;
  }

 .category-overlay-in {
    font-size: 9vw !important;
  }

}

@media (min-width: 1920px) {
  .navbar-nav {
    margin-left: -15px;
  }
 .category-overlay {
    font-size: 2.0vw;
  }

 .category-overlay-in {
    font-size: 9vw !important;
  }

  .superkachel .category-overlay {
    font-size: 4.0vw;
  }

}


.modal.in .modal-dialog {
  border-radius: 20px;
  overflow: hidden;
}

.has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label {
  color: #555;
}

a:hover, a:focus {
  text-decoration: none;
}

.btn-default {
  background-color: unset;
  border: none;
/*  border-radius: 15px; */
}

 .btn.active {
  -webkit-box-shadow: unset;
  box-shadow: unset;
}

.btn {
  padding: 2px 12px;
}

.input-group {
/*    border-radius: 10px;
    overflow: hidden;
    background-color: #eee; */
}

.input-group-addon {
  border-radius: 10px;
}

.input-group-addon, .input-group-btn {
  width: unset;

}

/* alle eingabefelder von fürchterlichem stil befreien */ 
/* textarea,
    select,
    input[type='text'],
    input[type='email'],
    input[type='password'] {
    /* all: unset; Setzt alle geerbten und nicht-geerbten Eigenschaften zurück
    display: block;
    width: 100%;
} 

textarea:focus,
    select:focus,
    input[type='text']:focus,
    input[type='email']:focus,
    input[type='password']:focus {
    all: unset;
} */

.has-error .form-control:focus {
  border-color: #555;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #555;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #555;
}


.btn-success {
  color: #ffffff;
  background-color: #555;
  border: none;
  border-radius: 15px;
}

.btn-success:hover {
  color: #ffffff;
  background-color: #000000;
  border-color: #000000;
}

.btn-success:active {
    background-color: #000000 !important; /* Oder eine andere gewünschte Farbe */
    border-color: #000000 !important;
}

.btn-success:focus {
    background-color: black !important;
    border-color: black !important;
}

.btn-group {
/*    border-radius: 15px; 
    overflow: hidden; */ /* Schneidet überstehende Ecken der Buttons ab */
    border: none; /* Falls eine sichtbare Umrandung gewünscht ist */
    background-color: #FBFBFB;
}

.btn-imagebtn {
    display: inline-flex;
    align-items: center;  /* Startet oben, damit der Pfeil unten ausgerichtet werden kann */
    border: none;
    background: none;
    transition: transform 0.2s ease-in-out, background-color 0.3s ease-in-out;
}

/* .btn-imagebtn .dropdown-arrow {
    font-size: 16px;
    color: #333;
    line-height: 1;
    align-self: flex-end;
} */

.dropdown-arrow {
/*    font-size: 7vw; */
}
/* Hover Effekt */
.btn-imagebtn:hover {
/*    background-color: #ececec; */
    transform: scale(1.1);
}


.products-sort-pages .nav-pages .btn {
  padding-top: 2px;
  padding-bottom: 2px;
}

.nav-pages {
  overflow: hidden;
  border-radius: 0px 15px 15px 0px;
}

#product.detail .product-info .ms-options .default_option, #product.detail .product-info .ms-options .default_option_selected {
  border-radius: 15px;
  padding: 2px 12px;
  border-color: #555;
  background-color: #FFFFFF;
  font-size: 14px;
  color: #555;
}



#product.detail .product-info .ms-options .default_option_selected:hover {
  color: #ffffff;
  background-color: #555;
  border-color: #555;
}

textarea:focus, select:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus {
  border-color: #555;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(204, 0, 0, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(85, 85, 85, 0.6);
}

textarea, select, input[type="text"], input[type="email"], input[type="password"] {
    border-radius: 10px;
}



@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.text-primary {
  color: #555;
}


.panel-default {
  border-color: transparent;
}

.img-thumbnail {
 border: none;
}

 
.breadcrumb-container {
  background-color: unset;
} 


/* Navigation */

.main-navigation .navbar-collapse > ul > li > a {
  font-family: futura-pt, Helvetica, Arial, sans-serif;
}

.navbar-collapse {
  border-top: none;
}
.navbar-default {
  background-color: unset;
  border-color: unset;
}

.navbar-default .navbar-nav > li > a {
  color: #555;
}

.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
  color: unset;
  background-color: unset;
}


.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
  color: unset;
  background-color: unset;
}

.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
  background-color: unset;
}


.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
  color: unset;
  background-color: unset;
}

.navbar-mega {
  border-top: unset;
  border-bottom-right-radius: 15px;
  border-bottom-left-radius: 15px;
}

.navbar-mega .col .title {
  font-family: futura-pt, Helvetica, Arial, sans-serif;
}

.meta-navigation {
  background-color: unset;
}


.navbar-default .navbar-collapse, .navbar-default .navbar-form {
  border-color: unset;
}


.navbar-default .navbar-toggle .icon-bar {
  background-color: #555;
}

.full-width-image.category-image.img-thumbnail {
    width: 100vw; /* Volle Bildschirmbreite */
    max-width: 100vw; /* Maximale Breite begrenzen */
    margin-left: calc(-50vw + 50%); /* Zentrierung relativ zur Bildschirmbreite */
    display: block; /* Sicherstellen, dass es sich als Block-Element verhält */
}

.full-width-image.category-image.img-thumbnail img {
    width: 100%; /* Bild passt sich der vollen Breite des Containers an */
    height: auto; /* Verhältnis beibehalten */
}

.breadcrumb a  {
    color: #555 !important;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 12px;
}

.breadcrumb li  {
    color: #555 !important;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 12px;
}


/* icons */

/* Warenkorb */

.btn-sm, .btn-group-sm > .btn {
  border-radius: 10px;
  padding: 0px 10px;
}

.btn-lg, .btn-group-lg > .btn {
}

.btn-lg.btn-cart, .btn-lg.btn-qty {
  padding: 2px 16px;
  font-size: 12px;
/*  line-height: 1.3333333; */
  font-size: 14px;
  border-radius: 20px;
}

.btn-cart:hover,
.btn-cart:active,
.btn-cart:focus,
.btn-cart {
    color: #ffffff;
    background-color: #555;
    border-color: #555;
}


.btn-cart-svg,
.btn-cart-svg:hover,
.btn-cart-svg:active,
.btn-cart-svg.active,
.open > .dropdown-toggle.btn-cart-svg,
.btn-cart-svg:focus {
    color: #ffffff;
    background-color: unset;
    border-color: unset;
    background-image: none;
    box-shadow: none;
    outline: none;
    transition: transform 0.2s ease-in-out;
}

/* Stellt sicher, dass das Icon immer die Originalfarben behält */
.cart-icon-svg {
    width: 25px;
    height: 25px;
    margin-right: 5px;
    transition: transform 0.2s ease-in-out;
}

/* Vergrößert das Symbol beim Hover */
.btn-cart-svg:hover .cart-icon-svg {
    transform: scale(1.2);
}



.product-listing-link a {
    text-decoration: none; /* Standardzustand */
}

.product-listing-link a:hover {
    text-decoration: none !important; /* Kein Unterstrich bei Hover */
}


.btn-cart-link {
    display: inline-block;  /* Damit der Link wie ein Button aussieht */
    text-align: center;
    padding: 0px 10px;  /* Gleiches Padding wie beim Button */
    border: 1px solid #555;  /* Gleicher Rand wie Button */
    background-color: #555;
    border-color: #555;
    color: #ffffff;
    font-size: 12px;
    cursor: pointer;
    text-decoration: none;  /* Unterstreichung entfernen */
    border-radius: 10px;  /* Gleiche Abrundung */

}

.btn-cart-link:hover {
    text-decoration: none; /* Unterstreichung im Hover-Zustand verhindern */
    color: #ffffff;

}


.categorie-listing .section {
background-color: unset;
border: unset;
/* text-align: center; */

}

.categorie-listing .section .title {
  padding: 15px 0px 0px 0px !important;
}

.category-image {
  opacity: 0; /* Unsichtbar am Anfang */
  animation: fadeIn 1s ease-in-out forwards; /* Langsames Einblenden in 2 Sekunden */
}



.top-search {
width: 50%;
float: right;

}

.breadcrumb {

float: left;

}

listing .section .title a:hover, .listing .section .title a:active {
  text-decoration: none;
}


/* Breadcrumb Styling */
.breadcrumb {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 10px;
    margin: 0;
}

/* Navigation rechts ausrichten */

/* Navigation als horizontale Leiste */
.meta-nav-icons {
    float: right;
    display: flex;
    gap: 1vw; /* Abstand zwischen den Icons */
    margin-bottom: 0px;
}

/* Symbole in der Navigation */
.meta-nav-icons > li {
  align-items: center;
  display: flex;
}


/* Standard-Styling für alle Icon-Links */
.icon-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: none;
    text-decoration: none;
    /* box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1); */
    border: none;

}

/* Hover Effekt */
.icon-link:hover {
/*    background-color: #ececec; */
    transform: scale(1.1);
    text-decoration: none;
}

/* Icon Größe */
.icon-link img {
    width: 24px;
    height: 24px;
}

.icon-link sup {
    text-decoration: none !important;
}



/* Größe der Icons innerhalb der Navigation */
.btn-imagebtn > img {
    width: 32px; 
    height: 32px; 
}

.btn-imagebtn > span {
    color: #555;
    line-height: 0.8;
    align-self: flex-end;
    font-size: 20px;
}

.flag-icon {
    width: 25px;
    height: 16px;
    margin-top: auto;
    margin-bottom:auto;
/*    width: unset !important;
    height: unset !important; */
}

sup {
    font-size: 95%;
/*    font-weight: bold; */
    color: #555;
    top: -1em;
}


/* Aufklappmenue bei angemeldet */
.account-dropdown {
  position: relative;
}

.dropdown .dropdown-arrow {
/*  margin-left: 5px; */
  font-size: 14px;
  vertical-align: middle;
  color: #555;
  padding-top: 20px;
}

.dropdown-menu > li > a {
  text-transform: uppercase;
}


/* language_switcher */

/* Grund-Layout */
.language-switcher {
    list-style: none;
    padding: 0;
    margin: 0;
    min-width: 200px;   /* Optional für bessere Breite */
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
}

/* Jede Sprache als eigene Zeile */
.language-switcher .lang-item {
    width: 100%;
}

/* Sprach-Link als Flexbox */
.language-switcher .lang-entry {
    display: flex;
    align-items: center;
    justify-content: space-between;   /* Sprache links - Häkchen rechts */
    width: 100%;
    padding: 8px 12px;
    text-decoration: none;
    color: #333;
    transition: background-color 0.2s;
}

/* Hover-Effekt für bessere Usability */
.language-switcher .lang-entry:hover {
    background-color: #f5f5f5;
}

/* Flaggenbild */
.language-switcher .flag-icon {
    width: 20px;
    height: auto;
    margin-right: 10px;
    display: inline-block;
    flex-shrink: 0;
}

/* Sprachname */
.language-switcher .lang-name {
    font-size: 14px;
    white-space: nowrap;
    flex-grow: 1;  /* sorgt für Abstand zum Häkchen */
}

/* Das Häkchen */
.language-switcher .checkmark {
    color: #555;
    font-size: 16px;
    margin-left: 10px;
}

/* Optional: Hover-Farbe für das Häkchen */
.language-switcher .lang-entry:hover .checkmark {
    color: #333;
}




.language-switcher .lang-item.active a {
    background-color: #fff !important;
    color: #333 !important;
}

/* startpage_categories */


#box-start-page-categories p.image a {
  max-height: none;
  max-width: none;
  opacity: 0.2; /* 20% */
  transition: opacity 0.5s ease-in-out; /* Übergangsdauer */
}

#box-start-page-categories p.image a:hover {
  opacity: 100%; /* Auf 0 reduzieren */
}


.category-overlay {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(255,255,255,1); /* Hintergrundfarbe + Transparenz */
  color: #FFF;                       /* Textfarbe */
  padding: 10px 20px;
/*  border-radius: 8px; */
/*  border: 1px solid #fff; */           /* Optional: Rahmen */
  display: flex;
  align-items: center;     /* vertikale Zentrierung */
  justify-content: center;
  font-weight: bold;
/*  font-size: 3vw; */
  letter-spacing: -2px;
/*  text-transform: uppercase; */
  text-align: center;
  background-color: unset; /*rgba(255, 255, 255, 0.3);*/
  height: 40%;
}

.category-overlay p {
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);

/*    text-shadow:
    -1px -1px 0 #444,
     1px -1px 0 #444,
    -1px  1px 0 #444,
     1px  1px 0 #444; */
}


/*.category-fade-background {
background: 
        linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 5%, rgba(255, 255, 255, 1) 95% , rgba(255, 255, 255, 0)),
        linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 5%, rgba(255, 255, 255, 1) 95% , rgba(255, 255, 255, 0));
}*/





.category-overlay-in {
 /* width:35%; */
 font-size:6vw;
 opacity: 1;
 padding-top:25px;
}

.copyright {
  position: absolute;
  bottom: 5px;
  right: 10px;
  font-size: 0.75em;
  color: #fff;
  background: rgba(0,0,0,0.4);
  padding: 2px 5px;
  border-radius: 4px;
}

.language-currency-selector {
    padding: 15px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 0px;
    max-width: 400px;
}

.language-currency-selector .headline {
    font-weight: bold;
    margin-bottom: 15px;
}

.selector-list {
    list-style: none;
    padding: 0;
    margin: 0 0 15px 0;
}

.selector-list li {
    margin-bottom: 15px;
}

.selector-list li label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
}

.option-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.option-list li {
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-bottom: 8px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.option-list li:hover {
    background-color: #f5f5f5;
}

.option-list input[type="radio"] {
    margin-right: 10px;
}

.selector-list .spacer {
    height: 20px;
}

.btn-primary {
    padding: 2px 12px;
    background-color: #555;
    color: #fff;
    border: none;
    border-radius: 15px;
    cursor: pointer;
}


.custom-radio {
    position: relative;
    display: flex;
    gap: 5px;
    font-weight: normal;
    font-family: "futura-pt", Helvetica, Arial, sans-serif;
    text-transform: uppercase;
    padding: 5px 0px 0px 0px;
}

.custom-radio input[type="radio"] {
    display: none;
}

.custom-radio::after {
    content: '✔';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    transition: opacity 0.2s;
    padding-right:20px
}

/* Jetzt springt das Häkchen immer zur aktiven Auswahl */
.custom-radio:has(input[type="radio"]:checked)::after {
    opacity: 1;
}

.meta-nav {
    display: flex;
    justify-content: flex-end; /* Schiebt den Inhalt nach rechts */
}


/* .meta-navbar {

    position: absolute;
    border: 1px solid rgb(85, 85, 85);
    z-index: 1000;
    border-radius: 10px;
    height: 2px;

} */

.meta-navbar-collapse {
    position: absolute;
    top: 100%;       /* direkt unter dem Button */
    right: 0;        /* rechts bündig zur meta-nav */
    background-color: #fff;
    /* border: 1px solid #555; */
    min-width: 200px; /* Optional: Mindestbreite */
    z-index: 999;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    border-radius: 0px;
    border-left: 1px solid #E0E0E0;
    margin-right: 7px;
    margin-top: 20px;
    padding-right: 15px;
    padding-left: 15px;
    padding-bottom: 10px;
    padding-top: 10px;

}

.meta-navbar-collapse.collapse {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

.meta-navbar-collapse.collapse.in {
    display: block !important;
    height: auto !important;
    overflow: hidden !important;
/*    overflow: visible !important; */
}

.meta-navbar-collapse ul {
    padding: 0px;
    margin: 0px;
    list-style: none;
}

.meta-navbar-collapse ul li {
    transition: background-color 0.3s;
    border-bottom: 1px solid #E0E0E0;
}

/* WICHTIG: Link als Block für volle Breite */
.meta-navbar-collapse ul li a {
  display: block;
  padding: 5px 15px 5px 0px;
  color: #333;
  text-decoration: none;
  margin: 0px;
  font-size: 16px;
  text-transform: uppercase;
}
.meta-navbar-collapse ul li:hover {
    /*background-color: #f5f5f5;*/
    color: #FF0000;
}

/* Optional: Linkfarbe beim Hover */
.meta-navbar-collapse ul li:hover a {
    color: #cc0000; /* oder gewünschte Farbe */
}

.no-hover > li:hover {
    background: none !important;
    color: inherit !important;
    cursor: default !important;
}

.no-hover p {
    text-align: center;
    text-transform: uppercase;
    padding-top: 5px;
    margin-bottom: 0px;
    padding-bottom: 5px;
}


#search-xs {
  display: none;
}

@media (max-width: 991px) {
  #search-xs {
    display: block;
    float: right;
    padding: 19px 15px;
    padding-left: unset;
  }
}

.navbar-header {
/* float: left; */
}

.main-navigation .navbar-header .navbar-toggle {
  padding-right: unset;
  color: #555;
  top: 8px;
}


.bootstrap-select .dropdown-toggle .filter-option-inner-inner {
    /* color: #555; */
}

.bootstrap-select .dropdown-toggle .caret {
    color: #555;
}

.category-overlay {
  pointer-events: none;
}


.img-bw {
  filter: grayscale(100%);
  transition: filter 0.4s ease;
}

.image-link:hover .img-bw:hover {
  filter: grayscale(0%);
}


.kachel-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;  /* gleichmäßiger Abstand zwischen den Kacheln */
    /* gap: 5px; */                       /* zusätzlicher Abstand (optional) */
    /* margin-bottom: 40px; */
}

.kachel {
    flex: 1 0 23%;                    /* bis zu 4 Kacheln pro Zeile bei großen Screens */
    box-sizing: border-box;
    max-width: 23%;
    background: #fff;
/*    border-radius: 20px; */
    overflow: hidden;
    transition: transform 0.2s ease;
}


.image-wrapper {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
}


/* bkp .product-filter-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
  background-color: #fbfbfb;
  border-radius: 15px;
  margin-top: 20px;
  padding: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
} */

.product-filter-wrapper {
  display: flow-root;
  /* border: 1px solid #e0e0e0; */
  /* background-color: #fbfbfb; */
  border-radius: 15px;
  /* margin-top: 20px; */
  margin-top: unset;
  /* padding: 20px; */
  padding-bottom: 15px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.product-filter-header {
  margin-bottom: 10px;
  margin-left: 15px;
}

.product-filter-wrapper .form-control {
  margin-bottom: 10px;
  max-width: 100%;
}


.product-filter-button {
 /* padding: 2px 12px; */
    border: 1px solid #e0e0e0;
    border-radius: 15px;
 /*  margin: 5px; */
    margin: 0px 5px 5px 0px;
}

/* .product-filter-wrapper .dropdown.bootstrap-select {
  flex: 1 1 250px; 
  max-width: 100%;
} */



.owl-carousel,
.owl-carousel * {
/*  transition: none !important;
  animation: none !important; */
  transition: transform 0.3s ease-in-out;
  animation: initial;
}




.image-zoom-container.zoom-active img.zoomable {
    cursor: move;
}


.row-centered {
    text-align: center;
}

.col-centered {
    display: inline-block;
    float: none;
    vertical-align: top;
    text-align: left; /* falls du innerhalb z. B. linksbündige Inhalte willst */
}


.zoom-active img.zoomable {
    transform: scale(2);
    transition: transform 0.3s ease;
    cursor: zoom-out;
    will-change: transform;
}

.product-image figure {
    overflow: hidden;
    position: relative;
}

.image-zoom-container {
  overflow: hidden;
  position: relative;
  cursor: zoom-in;
}

.image-zoom-container.zoom-active {
  cursor: zoom-out;
  border: 1px solid #555;
  border-radius: 15px;
}

.image-zoom-container .zoomable {
  display: block;
  max-width: 100%;
  height: auto;
  opacity: 1;
  transition: opacity 3s ease;
}

.image-zoom-container img.zoomable {
  transition: opacity 3s ease, transform 0.2s ease;
/*    transition: transform 0.2s ease-out; */
  transform-origin: top left;
  will-change: transform;
/*  max-width: none; */
  cursor: zoom-in;
}

.image-zoom-container .zoomable.fade-start {
  opacity: 0;
}

.image-link {
/*  position: relative;*/
}

.video-play-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 30px;
  color: white;
  background: rgba(0, 0, 0, 0.6);
/*  padding: 10px 14px;*/
  border-radius: 50%;
  pointer-events: none;
}


.btn-toolbar {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  border-radius: 15px;
  position: relative !important; /* WICHTIG! macht Dropdown absolut zum btn-toolbar Element */
  margin-bottom: 15px;
}


.btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group {
  margin-left: unset;
}



.dropdown-wrapper {
  position: relative;
}


.dropdown-panel {
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  border-radius: 8px;
  top: 20px;
  padding-bottom: 10px !important;
 /* min-width: 310px; */
  width: max-content;
  z-index: 10000;
}

.dropdown-panel-centered {
  left: 50%;
  transform: translateX(-50%);
}

.listing-switch {
  overflow: hidden;
  border-radius: 15px 0px 0px 15px;
}



.product-tile-mobile {
  padding: 10px 0;
  border-bottom: 1px solid #ddd;
}

.product-tile-mobile .media-left img {
  max-width: 120px;
  height: auto;
}

.product-tile-mobile .media-heading {
  font-size: 16px;
  margin-top: 0;
  margin-bottom: 5px;
}

.product-tile-mobile .price {
  font-weight: bold;
  margin-bottom: 5px;
}

.product-tile-mobile .desc {
  font-size: 13px;
  color: #555;
}

@media (max-width: 767px) {
  .price-tag.price-discount {
    display: block;
  }
}

.media-heading a {
  color: #555;
}

.price-tag.price-new {
  color: #c33d39;
  font-weight: bold;
}

.price-tag.price-old {
  color: #555;
  text-decoration: line-through;
}

.product-tile-mobile .media .media-left {
  padding-left: 15px;
}



/* flyout mobile */

/* Button vertikal zentriert am rechten Bildschirmrand */

/* Flyout-Overlay */
#filter-flyout-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 9998;
  display: none;
}

/* Flyout-Panel */
#filter-flyout-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: auto;
  max-width: 500px;
  min-width: 300px;
  height: 100%;
  background: #d0d0d0;
  z-index: 9999;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.3s ease-in-out;
  padding: 20px;
  box-shadow: -4px 0 10px rgba(0,0,0,0.2);
  border-radius: 15px 0px 0px 15px;
}
/* Aktiver Zustand */
#filter-flyout-panel.active {
  transform: translateX(0);
}
#filter-flyout-overlay.active {
  display: block;
}
#filter-flyout-panel .collapse.in {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.flyout-collapse {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease-in-out;
}

.flyout-collapse.open {
  max-height: 1000px; /* je nach Inhalt großzügig bemessen */
}

/* Container für Symbol + Badge */
.filter-icon-wrapper {
  position: relative;
  display: inline-block;
}

/* Umgibt nur das Symbol + Badge */
.filter-icon-wrapper {
  position: relative;
  display: inline-block;
}

/* Die Badge */
.filter-badge {
  position: absolute;
  top: -6px;
  right: -8px;
  background: red;
  color: white;
  font-size: 10px;
  padding: 2px 5px;
  border-radius: 50%;
  line-height: 1;
  font-weight: bold;
  z-index: 10;
}

/* Optional: Abstand zwischen Icon und Text */
.filter-label {
  margin-left: 6px;
}

.filter-flyout-button {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 9999;
  border-radius: 15px 0 0 15px;
  padding: 10px 15px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  background-color: #FFF;
  transition: top 0.5s ease, transform 0.5s ease;
}

.filter-flyout-button.stage0 {
  top: 50%;
  transform: translateY(-50%);
}

.filter-flyout-button.stage1,
.filter-flyout-button.stage2 {
  top: 70%;
  transform: translateY(-70%);
}

/* Filtertext ausblenden in Stage 2 */
.filter-flyout-button.stage2 .filter-label {
  display: none;
}
.filter-flyout-button .filter-label {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s ease;
}


/* ende flyout mobil */


/* owl slider */

/* .owl-item {
  width: auto !important;
  max-width: 100% !important;
}

@media (max-width: 480px) {
  .panel.panel-default {
    height: auto !important;
  }

  .panel-body {
    height: auto !important;
  }

  .vertical-helper.image-link {
    height: auto !important;
    display: block;
    max-height: 100px;
  }

  .vertical-helper.image-link img {
    max-height: 120px;
    width: auto;
    margin: 0 auto;
  }
} */


.superkachel {
    position: relative;
    margin-top: 30px;
}

.input-group-styled {
  display: table;
  border-collapse: separate;
  width: 100%;
  background: #eee;
  border-radius: 10px;
  overflow: hidden;
}

.input-group-styled .form-control,
.input-group-styled .input-group-addon {
  display: table-cell;
  border: none;
  background: transparent;
  vertical-align: middle;
}

.input-group-styled .form-control {
  border-right: 1px solid #ccc;
  border-radius: 0;
}

.input-group-styled .input-group-addon {
  width: 60px;
  text-align: center;
  border-left: none;
  border-radius: 0;
  background: transparent;
}

.input-group-compact {
  font-size: 12px;
  height: 25px;
}

.input-group-compact .form-control,
.input-group-compact .input-group-addon {
  height: 25px;
  padding: 2px 6px;
  font-size: 12px;
  line-height: 1;
  border-radius: 0;
}


.input-group-rounded {
  font-size: 12px;
  height: 25px;
  border-radius: 20px;
  border: 1px solid #555;
  overflow: hidden;
  background: transparent;
  width: 170px;
  margin-bottom: 15px;
}

.input-group-rounded .form-control,
.input-group-rounded .input-group-addon {
  height: 25px;
  padding: 2px 6px;
  font-size: 14px;
  line-height: 1;
  border: none;
  background: transparent;
  box-shadow: none;
}

.input-group-rounded .form-control {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  width: 120px;
  text-align: center;
}

.input-group-rounded .input-group-addon {
  padding-right: 20px;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  text-align: center;
  white-space: nowrap;
  width: auto;
}

.add-to-cart {
    margin-top: 20px;
}


#product.detail .product-images .product-image {
  margin-bottom: unset;
}

.product-reviews {
  margin-top: 20px;
}


.table-wrap{
  border:1px solid #ddd;
  border-radius:15px;
  overflow:hidden;      /* clippt die Ecken zuverlässig */
}

.table{ margin:0; border:0; }

#startpage-content {
 margin-bottom: 20px;
}

.caret{
  /* Tuning */
  --w: 4px;    /* Breite links/rechts */
  --h: 4px;    /* Höhe der Spitze */
  --r: 0deg;   /* Rotation */
  --sy: 2.5;     /* vertikale Streckung */

  display:inline-block;
  width:0; height:0;
  margin-left:.3em;
  vertical-align:middle;

  border-left: var(--w) solid transparent;
  border-right:var(--w) solid transparent;
  border-top:  var(--h) solid currentColor;   /* ▼ Basis */
  transform: rotate(var(--r)) scaleY(var(--sy));
  transform-origin:center;
}

/* Richtungen NUR mit rotate */
.caret.is-up    { --r: 180deg; }
.caret.is-right { --r: -90deg; }
.caret.is-left  { --r: 90deg; }


.list-group-item-xt_banktransfer {

 background-color: unset !important;
 color: #555 !important;
}

#edit-sepa-account fieldset legend {
    color: #555 !important;
}

.item-xt_banktransfer .check {
    display: inline-block;
    width: 25px;
}