/*
 * Hinweis zu den doppelten Selektoren .tx-cart / .tx-cart-products
 * ----------------------------------------------------------------
 * EXT:cart_products bringt seit der Migration einen eigenen Umschlag mit:
 *
 *   live 7.6 :  div.tx-cart          > div.tx_cart_listview > ...
 *   seit 12.4:  div.tx-cart-products > div.tx_cart_listview > ...
 *
 * Saemtliche Regeln hier beginnen mit ".tx-cart " und liefen damit auf den
 * Produktseiten ins Leere. Die Weinliste war einspaltig statt dreispaltig und
 * fast dreimal so hoch wie das Original, die Weinteaser auf der Startseite zu
 * schmalen Textstreifen zerlaufen. Die Warenkorbseite traegt weiterhin
 * .tx-cart, dort war nie etwas kaputt.
 *
 * Deshalb hat jede Regel, die auf die Produktliste oder den Teaser zielt, eine
 * Zwillingsregel fuer .tx-cart-products. Ergaenzt am 2026-09-25.
 */
.tx-cart .tx_cart_listview,
.tx-cart-products .tx_cart_listview,
.tx-cart-products .tx_cart_listview {
    margin:30px -15px;
}

.tx-cart .controls,
.tx-cart-products .controls {
    text-align: center;
}

.tx-cart .button-black,
.tx-cart-products .button-black,
.tx-cart .button-pink,
.tx-cart-products .button-pink,
.tx-cart .button-grey,
.tx-cart-products .button-grey {
    margin: 0;
}

.tx-cart .controls fieldset,
.tx-cart-products .controls fieldset {
    margin-bottom:10px;
}

.tx-cart .controls fieldset,
.tx-cart-products .controls fieldset,
.tx-cart .controls fieldset label,
.tx-cart-products .controls fieldset label {
    display: block;
    font-size: 13px;
}

.tx-cart .controls fieldset button,
.tx-cart-products .controls fieldset button {
    margin: 0 0 5px 0;
    font-size: 13px;
    padding:3px 12px 0;
}

.tx-cart .tx_cart_teaserview,
.tx-cart-products .tx_cart_teaserview,
.tx-cart-products .tx_cart_teaserview {
    margin:15px 0;
}

/* Gleiche Kachelhoehen ohne matchHeight.
   Das Plugin schrieb jedem Produkt eine feste Pixelhoehe ins style-Attribut -
   die Hoehe der groessten Kachel, ueber alle Zeilen hinweg (byRow: false).
   Genau das macht ein Raster mit grid-auto-rows: 1fr von selbst: alle
   Zeilen bekommen dieselbe Hoehe, naemlich die der groessten Kachel.
   Die Spaltenzahl folgt denselben Breakpoints wie vorher die Float-Breiten:
   eine Spalte, ab 768 px zwei, ab 992 px drei. */
.tx-cart .tx_cart_listview_inner:not(.tx_cart_teaserview_inner),
.tx-cart-products .tx_cart_listview_inner:not(.tx_cart_teaserview_inner),
.tx-cart-products .tx_cart_listview_inner:not(.tx_cart_teaserview_inner) {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: 1fr;
}

/* Der Umschlag traegt die Klasse clearfix, und Bootstrap haengt daran ein
   ::after. In einem Raster wird ein Pseudo-Element des Containers zu einem
   eigenen Rasterfeld - es belegte eine ganze Zeile, und die war wegen
   grid-auto-rows: 1fr so hoch wie eine Produktzeile.

   Auffaellig wird das nur, wenn die Produktzahl genau durch die Spaltenzahl
   teilbar ist: bei 19 Weinen verschwand das Feld in der angebrochenen letzten
   Zeile, bei den 3 Rotweinen ergab es eine zweite, leere Zeile und machte die
   Seite 626 px zu hoch. Gefunden am 2026-09-25 beim Vergleich gegen die
   laufende 7.6-Installation - dort war die Seite 1809 px hoch, lokal 2435.

   Zu raeumen gibt es im Raster nichts, Floats kommen keine mehr vor. */
.tx-cart .tx_cart_listview_inner:not(.tx_cart_teaserview_inner)::before,
.tx-cart .tx_cart_listview_inner:not(.tx_cart_teaserview_inner)::after,
.tx-cart-products .tx_cart_listview_inner:not(.tx_cart_teaserview_inner)::before,
.tx-cart-products .tx_cart_listview_inner:not(.tx_cart_teaserview_inner)::after {
    display: none;
}

/* Die Fehlermeldung des Filters ist ein Geschwister der Kacheln. Als
   Rasterfeld bekaeme sie eine eigene Zeile - und die waere wegen
   grid-auto-rows: 1fr genauso hoch wie eine Produktzeile. Deshalb aus dem
   Rasterfluss nehmen.

   left und right muessen dabei gesetzt sein. Ohne sie bemisst sich ein
   absolut gesetztes Kaestchen nach seinem Inhalt und bleibt an der Stelle
   stehen, an der es im Fluss gestanden haette - die Meldung war dadurch 687
   statt 1170 px breit und ihr mittig gesetzter Text stand links (gemessen am
   2026-09-25, vom Auftraggeber gemeldet). Live ist sie so breit wie die
   Liste. */
.tx-cart .tx_cart_listview_inner .fail-message,
.tx-cart-products .tx_cart_listview_inner .fail-message,
.tx-cart-products .tx_cart_listview_inner .fail-message {
    position: absolute;
    left: 0;
    right: 0;
}

.tx-cart .tx_cart_listview,
.tx-cart-products .tx_cart_listview,
.tx-cart-products .tx_cart_listview {
    position: relative;
}

.tx-cart .tx_cart_listview .product,
.tx-cart-products .tx_cart_listview .product,
.tx-cart-products .tx_cart_listview .product {
    margin:15px 0;
    width:auto;
}

/* Frueher: .mix wurde von InitProductFilter.js an jede Kachel gehaengt und
   hier ausgeblendet, damit vor dem Start von MixItUp nichts aufblitzt.
   MixItUp ist weg; ausgeblendet wird jetzt nur, was der Filter wirklich
   aussortiert. Ein Aufblitzen gibt es nicht mehr, weil der Filter beim Start
   ohne aktive Auswahl arbeitet und damit alles stehen laesst. */
.tx-cart .tx_cart_listview .product--filtered-out,
.tx-cart-products .tx_cart_listview .product--filtered-out {
    display:none;
}

.tx-cart .tx_cart_listview_inner .fail-message,
.tx-cart-products .tx_cart_listview_inner .fail-message,
.tx-cart-products .tx_cart_listview_inner .fail-message {
    opacity: 0;
    height:0;
    overflow: hidden;
    clear:both;
    margin:0 15px;
    -webkit-transition: ease all .4s;
    -moz-transition: ease all .4s;
    transition: ease all .4s;
}

.tx-cart .tx_cart_listview_inner.fail .fail-message,
.tx-cart-products .tx_cart_listview_inner.fail .fail-message {
    opacity: 1;
    height:auto;
}

.tx-cart .tx_cart_listview .product .product-inner,
.tx-cart-products .tx_cart_listview .product .product-inner,
.tx-cart-products .tx_cart_listview .product .product-inner {
    margin:0 15px;
    height: 100%;
}

.tx-cart .tx_cart_listview .row .product,
.tx-cart-products .tx_cart_listview .row .product,
.tx-cart-products .tx_cart_listview .row .product {
    width:100%;
}

.tx-cart .tx_cart_listview .row .product .product-inner,
.tx-cart-products .tx_cart_listview .row .product .product-inner,
.tx-cart-products .tx_cart_listview .row .product .product-inner {
    margin:0;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color {
    padding:15px;
    vertical-align: bottom;
    text-align: center;
    background: white;
    height: 100%;
    position: relative;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .image,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .image,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .image,
.tx-cart .tx_cart_listview .product .product-inner .background-color .float-shadow,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .float-shadow,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .float-shadow,
.tx-cart .tx_cart_listview .product .product-inner .background-color .text,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .text,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .text,
.tx-cart .tx_cart_listview .product .product-inner .background-color .name,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .name,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .name,
.tx-cart .tx_cart_listview .product .product-inner .background-color .price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .price {
    display: block;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color:before,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color:before,
.tx-cart .tx_cart_listview .product .product-inner .background-color:after,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color:after {
    background: #777 none repeat scroll 0 0;
    bottom: 15px;
    box-shadow: 0 15px 10px #777;
    content: "";
    left: 10px;
    max-width: 300px;
    position: absolute;
    top: 80%;
    transform: rotate(-3deg);
    width: 50%;
    z-index: -1;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color:after,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color:after {
    left: auto;
    right: 10px;
    transform: rotate(3deg);
}

.tx-cart .tx_cart_listview .product .product-inner .background-color a,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a {
    display: block;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .image,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .image,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .image {
    height: 200px;
    margin-bottom: 20px;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .image img,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .image img,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .image img {
    width:auto;
    height:100%;
    display: block;
    margin:0 auto;
    position:relative;
}

/* Float Shadow */
.tx-cart .tx_cart_listview .product .product-inner .background-color a .image .float-shadow,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a .image .float-shadow,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a .image .float-shadow {
    display: inline-block;
    height: 100%;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
}
.tx-cart .tx_cart_listview .product .product-inner .background-color a .image .float-shadow:before,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a .image .float-shadow:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: '';
    top: 100%;
    left: 0%;
    height: 20px;
    margin-top:-10px;
    width: 100%;
    opacity: 0;
    background: -webkit-radial-gradient(center, ellipse, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 80%);
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 80%);
    /* W3C */
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform, opacity;
    transition-property: transform, opacity;
}
.tx-cart .tx_cart_listview .product .product-inner .background-color a:hover .image .float-shadow,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a:hover .image .float-shadow,
.tx-cart .tx_cart_listview .product .product-inner .background-color a:focus .image .float-shadow,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a:focus .image .float-shadow,
.tx-cart .tx_cart_listview .product .product-inner .background-color a:active .image .float-shadow,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a:active .image .float-shadow {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
    /* move the element up by 15px */
}
.tx-cart .tx_cart_listview .product .product-inner .background-color a:hover .image .float-shadow:before,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a:hover .image .float-shadow:before,
.tx-cart .tx_cart_listview .product .product-inner .background-color a:focus .image .float-shadow:before,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a:focus .image .float-shadow:before,
.tx-cart .tx_cart_listview .product .product-inner .background-color a:active .image .float-shadow:before,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a:active .image .float-shadow:before {
    opacity: 1;
    -webkit-transform: translateY(15px);
    transform: translateY(15px);
    /* move the element down by 5px (it will stay in place because it's attached to the element that also moves up 15px) */
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .text,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .text,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .text {
    min-height: 80px;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .teaser,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .teaser,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .teaser {
    color: #535353;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .name,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .name,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .name {
    color: #cc2650;
    font-family: "Laila Bold";
    font-weight: normal;
    line-height: 1.4em;
    margin: 10px 0 0;
    font-size:18px;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .price {
    vertical-align: bottom;
    border-top:1px solid #cccccc;
    border-bottom:1px solid #cccccc;
    margin: 10px 0;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .price .base-price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .price .base-price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .price .base-price {
    font-size: 15px;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color a:hover .price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a:hover .price,
.tx-cart .tx_cart_listview .product .product-inner .background-color a:focus .price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a:focus .price {
    border-top:1px solid #212121;
    border-bottom:1px solid #212121;
    background:#212121;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color a:hover .price .regular-price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a:hover .price .regular-price,
.tx-cart .tx_cart_listview .product .product-inner .background-color a:focus .price .regular-price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a:focus .price .regular-price {
    color:white;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color a:hover .price .base-price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a:hover .price .base-price,
.tx-cart .tx_cart_listview .product .product-inner .background-color a:focus .price .base-price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a:focus .price .base-price {
    color:#dddddd;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .price .regular-price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .price .regular-price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .price .regular-price {
    color: #cc2650;
    font-family: "Laila Bold";
    font-weight: normal;
    line-height: 1.4em;
    padding: 0.4em 6px;
    font-size:24px;
    color:black;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .price .regular-price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .price .regular-price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .price .regular-price,
.tx-cart .tx_cart_listview .product .product-inner .background-color .price .base-price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .price .base-price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .price .base-price {
    display: inline-block;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .price .base-price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .price .base-price,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .price .base-price {
    color: #535353;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .tax-notice,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .tax-notice,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .tax-notice {
    /* #aaaaaa auf dem cremefarbenen Grund war 2,15:1 -- der schwaechste Wert der
       ganzen Seite. #6f6a64 erreicht 4,95:1 und ist der Grauton, den auch die
       Beschriftungen in den E-Mails tragen. Gemessen am 2026-09-27. */
    color:#6f6a64;
    font-size:12px;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .tax-notice a,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .tax-notice a,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .tax-notice a {
    display: inline;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .tax-notice a,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .tax-notice a,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .tax-notice a,
.tx-cart .tx_cart_listview .product .product-inner .background-color .tax-notice a:hover,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .tax-notice a:hover,
.tx-cart .tx_cart_listview .product .product-inner .background-color .tax-notice a:focus,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .tax-notice a:focus {
    /* Das verlinkte Wort "Versand" steht mitten im Satz und hatte eine eigene
       Regel -- es blieb auf 2,32:1 zurueck, als der Satz auf #6f6a64 ging. */
    color:#6f6a64;
    text-decoration: underline;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color .tax-notice a:hover,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .tax-notice a:hover,
.tx-cart .tx_cart_listview .product .product-inner .background-color .tax-notice a:focus,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color .tax-notice a:focus {
    text-decoration: none;
}

.tx-cart .tx_cart_listview .product .product-inner .background-color a,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a,
.tx-cart-products .tx_cart_listview .product .product-inner .background-color a {
    text-decoration: none;
}

.tx-cart .tx_cart_detailview .product .product-inner .background-color,
.tx-cart-products .tx_cart_detailview .product .product-inner .background-color,
.tx-cart-products .tx_cart_detailview .product .product-inner .background-color {
    padding:15px;
    vertical-align: bottom;
    text-align: center;
    background: white;
    height: 300px;
    position: relative;
}

.tx-cart .tx_cart_detailview .product .product-inner .background-color:before,
.tx-cart-products .tx_cart_detailview .product .product-inner .background-color:before,
.tx-cart .tx_cart_detailview .product .product-inner .background-color:after,
.tx-cart-products .tx_cart_detailview .product .product-inner .background-color:after {
    background: #777 none repeat scroll 0 0;
    bottom: 15px;
    box-shadow: 0 15px 10px #777;
    content: "";
    left: 10px;
    max-width: 300px;
    position: absolute;
    top: 80%;
    transform: rotate(-3deg);
    width: 50%;
    z-index: -1;
}

.tx-cart .tx_cart_detailview .product .product-inner .image-notice,
.tx-cart-products .tx_cart_detailview .product .product-inner .image-notice,
.tx-cart-products .tx_cart_detailview .product .product-inner .image-notice {
    margin-bottom:40px;
    margin-top:10px;
    /* Wie bei .tax-notice: 2,15:1 auf 4,95:1. */
    color:#6f6a64;
    text-align: center;
    font-size:15px;
}

.tx-cart .tx_cart_detailview .product .product-inner .background-color:after,
.tx-cart-products .tx_cart_detailview .product .product-inner .background-color:after {
    left: auto;
    right: 10px;
    transform: rotate(3deg);
}

.tx-cart .tx_cart_detailview .product .product-inner .background-color img,
.tx-cart-products .tx_cart_detailview .product .product-inner .background-color img,
.tx-cart-products .tx_cart_detailview .product .product-inner .background-color img {
    width:auto;
    height:100%;
    display: block;
    margin:0 auto;
}

.tx-cart .tx_cart_detailview .product .product-inner .pricebox,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox {
    border:1px solid #cccccc;
    padding:15px;
    text-align: center;
}

.tx-cart .tx_cart_detailview .product .product-inner .pricebox .tax-notice,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .tax-notice,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .tax-notice {
    display: block;
    color:#aaaaaa;
}

.tx-cart .tx_cart_detailview .product .product-inner .pricebox .tax-notice a,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .tax-notice a,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .tax-notice a {
    color:#aaaaaa;
    text-decoration: underline;
}

.tx-cart .tx_cart_detailview .product .product-inner .pricebox .tax-notice a:hover,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .tax-notice a:hover,
.tx-cart .tx_cart_detailview .product .product-inner .pricebox .tax-notice a:focus,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .tax-notice a:focus {
    color:#aaaaaa;
    text-decoration: none;
}

.tx-cart .tx_cart_detailview .product .product-inner .pricebox .regular-price,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .regular-price,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .regular-price {
    color: #cc2650;
    font-family: "Laila Bold";
    font-weight: normal;
    line-height: 1.4em;
    padding: 0.4em 6px 0.4em 0;
    font-size:40px;
    color:black;
}

.tx-cart .tx_cart_detailview .product .product-inner .pricebox .price .base-price,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .price .base-price {
    color: #535353;
}

.tx-cart .tx_cart_detailview .product .product-inner .pricebox .button-wrap,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .button-wrap,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .button-wrap {
    text-align: center;
    vertical-align: bottom;
    padding-top: 15px;
}

.tx-cart .tx_cart_detailview .product .product-inner .pricebox .button-wrap .button-box-1,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .button-wrap .button-box-1,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .button-wrap .button-box-1 {
    display: inline-block;
    vertical-align: bottom;
}

.tx-cart .tx_cart_detailview .product .product-inner .pricebox .button-wrap .button-box-1 input,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .button-wrap .button-box-1 input,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .button-wrap .button-box-1 input {
    width: 50px;
    text-align: center;
}

.tx-cart .tx_cart_detailview .product .product-inner .pricebox .button-wrap .button-box-2,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .button-wrap .button-box-2,
.tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .button-wrap .button-box-2 {
    display: inline-block;
    vertical-align: bottom;
}

/* ── "In den Warenkorb" in der Listenansicht ─────────────────────────────────
 *
 * Seit dem 2026-09-25 steht das Formular auch in jeder Kachel der Liste,
 * zwischen Preiszeile und Steuerhinweis (Wunsch des Auftraggebers). Es ist
 * dasselbe Partial wie in der Detailansicht, nur mit dem Zusatz compact.
 *
 * Die Kachel soll uebersichtlich bleiben: Mengenfeld und Knopf stehen deshalb
 * nebeneinander in einer Zeile, nicht untereinander, und das Mengenfeld ist so
 * schmal wie in der Detailansicht (50 px).
 */
.tx-cart-products .tx_cart_listview .product .cart_form--compact,
.tx-cart .tx_cart_listview .product .cart_form--compact {
    margin: 10px 0 6px;
}

.tx-cart-products .tx_cart_listview .product .cart_form--compact .button-wrap,
.tx-cart .tx_cart_listview .product .cart_form--compact .button-wrap {
    text-align: center;
}

.tx-cart-products .tx_cart_listview .product .cart_form--compact .button-box-1,
.tx-cart .tx_cart_listview .product .cart_form--compact .button-box-1,
.tx-cart-products .tx_cart_listview .product .cart_form--compact .button-box-2,
.tx-cart .tx_cart_listview .product .cart_form--compact .button-box-2 {
    display: inline-block;
    vertical-align: middle;
}

.tx-cart-products .tx_cart_listview .product .cart_form--compact .button-box-1,
.tx-cart .tx_cart_listview .product .cart_form--compact .button-box-1 {
    margin-right: 8px;
}

.tx-cart-products .tx_cart_listview .product .cart_form--compact .button-box-1 input,
.tx-cart .tx_cart_listview .product .cart_form--compact .button-box-1 input {
    width: 50px;
    text-align: center;
}

/* Der Knopf ist in der Kachel eine Nummer kleiner als auf der Detailseite -
   dort traegt er die volle Hoehe einer Schaltflaeche, hier soll er die Zeile
   nicht dominieren. */
.tx-cart-products .tx_cart_listview .product .cart_form--compact .button-box-2 input,
.tx-cart .tx_cart_listview .product .cart_form--compact .button-box-2 input {
    padding: 6px 14px;
    font-size: 15px;
}

/* Die Rueckmeldung des AJAX-Warenkorbs (ul.typo3-messages) haengt ueber dem
   Formular. In der schmalen Kachel braucht sie kleinere Schrift, sonst
   sprengt ein Satz wie "Der Artikel wurde in den Warenkorb gelegt" die
   Kachelhoehe und das Raster rutscht. */
.tx-cart-products .tx_cart_listview .product .typo3-messages .alert,
.tx-cart .tx_cart_listview .product .typo3-messages .alert {
    font-size: 13px;
    line-height: 1.3;
    padding: 6px 8px;
    margin-bottom: 6px;
}

.tx-cart .tx_cart_overview ul,
.tx-cart .tx_cart_overview ul li {
    margin:0;
    padding:0;
}

.tx-cart .tx_cart_overview ul li:before {
    display:none;
}

.tx-cart .tx_cart_overview .cart-clear,
.tx-cart .tx_cart_overview .cart-update,
.tx-cart .tx_cart_overview .cart-order {
    text-align: center;
}

.tx-cart .tx_cart_overview .cart-clear .button-grey,
.tx-cart .tx_cart_overview .cart-update .button-black,
.tx-cart .tx_cart_overview .cart-order .button-pink {
    margin-bottom:15px;
    min-width: 290px;
    max-width: 450px;
    width: 100%;
    text-align: center;
}

.tx-cart .tx_cart_overview #form-coupon .form-control {
    display: inline-block;
    margin-bottom: 15px;
}

.tx-cart .tx_cart_overview #form-coupon input,
.tx-cart .tx_cart_overview #form-coupon .form-control {
    min-width: 290px;
    max-width: 450px;
    width: 100%;
}

.tx-cart .tx_cart_overview ul.parsley-errors-list {
    display:none;
}

.tx-cart .tx_cart_overview input.parsley-error {
    border-color: #cc2650;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 4px rgba(204, 38, 80, .3);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 4px rgba(204, 38, 80, .3);
}

.tx-cart .tx_cart_overview label.parsley-error,
.tx-cart .tx_cart_overview label.parsley-error a,
.tx-cart .tx_cart_overview label div.parsley-error + span,
.tx-cart .tx_cart_overview label div.parsley-error + span a,
.tx-cart .tx_cart_overview label div.parsley-error + ul + span,
.tx-cart .tx_cart_overview label div.parsley-error + ul + span a {
    color:#cc2650;
}

.tx-cart .tx_cart_overview form {
    display:block;
    margin:0 0 30px 0;
}

.tx-cart .tx_cart_overview form label,
.tx-cart .tx_cart_overview form dt,
.tx-cart .tx_cart_overview form dd,
.tx-cart .tx_cart_overview form ul,
.tx-cart .tx_cart_overview form li,
.tx-cart .tx_cart_overview form fieldset {
    font-size: 14px;
    font-weight: normal;
}

.tx-cart .tx_cart_overview form dt,
.tx-cart .tx_cart_overview #checkout-review li > label > span {
    font-family: 'Laila Bold';
}

.tx-cart .tx_cart_overview form label {
    margin:5px 0 0 0;
}

.tx-cart .tx_cart_overview form dd {
    margin-bottom: 15px;
}

.tx-cart .tx_cart_overview form dd label {
    margin: 0;
}

.tx-cart .tx_cart_overview form label span a {
    color:#212121;
}

.tx-cart .tx_cart_overview h5.form-title {
    background:#212121;
    color:white;
    font-family: "Laila","Arial",sans-serif;
    padding:6px 10px 3px;
    font-size:12px;
    margin-bottom:15px;
}

.tx-cart .tx_cart_overview h5.form-title span.num {
    background:#cc2650;
    color:white;
    text-align: center;
    display: inline-block;
    width:20px;
    height:20px;
    border-radius: 10px;
    margin-right:6px;
    vertical-align: middle;
    text-align: center;
    position: relative;
    top:-2px;
    left:-3px;
    line-height: 1.8em;
}

.tx-cart .tx_cart_overview .acceptTerms {
    margin-bottom: 15px;
}

.tx-cart .tx_cart_overview #coupon-available fieldset {
    display: block;
    margin-bottom:20px;
}

.tx-cart .tx_cart_overview #checkout-review textarea {
    height:100px;
    margin-bottom:15px;
    resize: vertical;
}

.tx-cart .tx_cart_overview #checkout-review-table a {
    text-decoration: none;
}

.tx-cart .tx_cart_overview #checkout-review-table .last {
    white-space: nowrap;
}

.tx-cart .tx_cart_overview #checkout-review-table a:hover,
.tx-cart .tx_cart_overview #checkout-review-table a:focus {
    text-decoration: none;
    color:#212121;
}

.tx-cart .tx_cart_overview #checkout-review-table div.product-sku,
.tx-cart-products .tx_cart_overview #checkout-review-table div.product-sku {
    font-size: 12px;
}

.tx-cart .tx_cart_overview #checkout-review-table .qty-wrapper input {
    width: 50px;
    text-align: center;
}

.tx-cart .tx_cart_overview  .table-responsive #checkout-review-table > tbody > tr > td, .table > tbody > tr > th,
.tx-cart .tx_cart_overview  .table-responsive #checkout-review-table > tfoot > tr > td, .table > tfoot > tr > th,
.tx-cart .tx_cart_overview  .table-responsive #checkout-review-table > thead > tr > td, .table > thead > tr > th {
    vertical-align: middle;
    line-height: 1em;
}

.tx-cart .tx_cart_overview #form-order li.control {
    margin: 20px 0;
}

.tx-cart .tx_cart_overview #form-order li.control label,
.tx-cart .tx_cart_overview #checkout-review .acceptTerms label {
    position: relative;
}


/* Seit dem Frontend-Umbau gibt es den ez-checkbox-Umschlag nicht mehr - die
   Positionierung gilt jetzt fuer das Feld selbst. Der alte Selektor bleibt
   stehen, solange irgendwo noch altes Markup auftauchen koennte. */
.tx-cart .tx_cart_overview #form-order li.control label div.ez-checkbox,
.tx-cart .tx_cart_overview #checkout-review .acceptTerms label div.ez-checkbox,
.tx-cart .tx_cart_overview #form-order li.control label input[type="checkbox"],
.tx-cart .tx_cart_overview #checkout-review .acceptTerms label input[type="checkbox"] {
    position: absolute;
    display:block;
    top:1px;
}

.tx-cart .tx_cart_overview #form-order li.control label span,
.tx-cart .tx_cart_overview #checkout-review .acceptTerms label span {
    display: block;
    margin-left: 30px;
    line-height: 1.5em;
}

.tx-cart .tx_cart_overview #form-order li.control label span {
    font-family: 'Laila Bold';
}

.tx-cart .tx_cart_overview tr td {
    font-size:12px;
}

.tx-cart .tx_cart_overview .total-price td {
    font-family: 'Laila Bold';
    color:#cc2650;
    font-size:17px;
}

.tx-cart .tx_cart_overview .total-price td span.tax-label {
    font-size:12px;
    font-family: "Laila","Arial",sans-serif;
}

.tx-cart .tx_cart_overview .table-responsive {
    margin-bottom: 15px;
}

.tx-cart .tx_cart_overview .table-responsive table th {
    color:black;
    font-size: 14px;
}

/**
 * CSS File for ezMark jQuery Plugin
 *
 **/
.ez-hide {
    opacity: 0;
    filter: alpha(opacity=0);
}

.ez-checkbox {
    background: transparent url('../../Images/ezmark.png') 0 0 no-repeat;
    display: inline-block;
    width:20px;
    height:20px;
}

.ez-radio {
    background: transparent url('../../Images/ezmark.png') -20px 0 no-repeat;
    display: inline-block;
    width:20px;
    height:20px;
}

.ez-checked {
    background-position: 0 -20px;
}

.ez-selected {
    background-position: -20px -20px;
}

.ez-checkbox, .ez-radio {
    zoom: 1;
    *display: inline;
    _height: 30px;
}

.tx-cart .tx_cart_overview .sp-methods ul li {
    display:block;
    margin:3px 0;
}

.tx-cart .tx_cart_overview .sp-methods ul li label span:before,
.tx-cart .tx_cart_overview .sp-methods ul li label a:before {
    content:"";
    background: transparent url('../../Images/ezmark.png') 0 -20px no-repeat;
    display:inline-block;
    width: 20px;
    height: 20px;
    margin-right:10px;
    position: relative;
    top:3px;
}

.tx-cart .tx_cart_overview .sp-methods ul li label a {
    text-decoration: none;
    color:#535353;
}

.tx-cart .tx_cart_overview .sp-methods ul li label a:before {
    background: #F8F6EE url('../../Images/ezmark.png') 0 0 no-repeat;
}

.tx-cart .tx_cart_overview .sp-methods ul li label a:hover:before,
.tx-cart .tx_cart_overview .sp-methods ul li label a:focus:before,
.tx-cart .tx_cart_overview .sp-methods ul li label a:active:before {
    background: #F8F6EE url('../../Images/ezmark.png') 0 -20px no-repeat;
}

.tx-cart .tx_cart_overview #shipping-address {
    margin-bottom: 30px;
}

/* Custom, iPhone Retina */
@media only screen and (min-width : 320px) {

}

/* Extra Small Devices, Phones */
@media only screen and (min-width : 480px) {

}

@media only screen and (min-width : 580px) {

    .tx-cart .tx_cart_detailview .product .product-inner .pricebox,
    .tx-cart-products .tx_cart_detailview .product .product-inner .pricebox,
    .tx-cart-products .tx_cart_detailview .product .product-inner .pricebox {
        text-align: left;
    }

    .tx-cart .tx_cart_detailview .product .product-inner .pricebox .button-wrap,
    .tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .button-wrap,
    .tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .button-wrap {
        text-align: right;
        padding-top: 43px;
    }

    .tx-cart .tx_cart_detailview .product .product-inner .pricebox .price-box-info,
    .tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .price-box-info,
    .tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .price-box-info {
        float: left;
        width: 50%;
    }

    .tx-cart .tx_cart_detailview .product .product-inner .pricebox .price-box-buy,
    .tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .price-box-buy,
    .tx-cart-products .tx_cart_detailview .product .product-inner .pricebox .price-box-buy {
        float: right;
        width: 50%;
    }

}

/* Small Devices, Tablets */
@media only screen and (min-width : 768px) {

    .tx-cart .tx_cart_listview_inner:not(.tx_cart_teaserview_inner),
    .tx-cart-products .tx_cart_listview_inner:not(.tx_cart_teaserview_inner),
    .tx-cart-products .tx_cart_listview_inner:not(.tx_cart_teaserview_inner) {
        grid-template-columns: repeat(2, 1fr);
    }

    .tx-cart .tx_cart_overview .cart-update {
        text-align: right;
    }

    .tx-cart .tx_cart_overview #form-coupon .wrap-helper {
        display:inline;
        vertical-align: top;
    }

    .tx-cart .tx_cart_overview #form-coupon .wrap-helper input.form-control {
        margin-right: 15px;
        width: auto;
    }

    .tx-cart .tx_cart_overview .cart-clear .button-grey,
    .tx-cart .tx_cart_overview .cart-update .button-black,
    .tx-cart .tx_cart_overview .cart-order .button-pink {
        max-width: 100%;
        width: auto;
    }

    .tx-cart .tx_cart_overview #form-coupon input,
    .tx-cart .tx_cart_overview #form-coupon .form-control {
        max-width: 100%;
        width: auto;
    }

    .tx-cart .tx_cart_overview .cart-order {
        text-align: right;
    }

    .tx-cart .tx_cart_overview .cart-clear {
        text-align: left;
    }

    .tx-cart .tx_cart_overview .cart-update {
        text-align: right;
    }

    .tx-cart .tx_cart_listview .product .product-inner .background-color .image,
    .tx-cart-products .tx_cart_listview .product .product-inner .background-color .image,
    .tx-cart-products .tx_cart_listview .product .product-inner .background-color .image {
        height: 250px;
    }

    .tx-cart .tx_cart_detailview .product .product-inner .background-color,
    .tx-cart-products .tx_cart_detailview .product .product-inner .background-color,
    .tx-cart-products .tx_cart_detailview .product .product-inner .background-color {
        height: 400px;
    }

    .tx-cart .tx_cart_overview tr td {
        font-size:18px;
    }

}

/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {

    .tx-cart .tx_cart_listview_inner:not(.tx_cart_teaserview_inner),
    .tx-cart-products .tx_cart_listview_inner:not(.tx_cart_teaserview_inner),
    .tx-cart-products .tx_cart_listview_inner:not(.tx_cart_teaserview_inner) {
        grid-template-columns: repeat(3, 1fr);
    }

    .tx-cart .controls fieldset,
    .tx-cart-products .controls fieldset,
    .tx-cart .controls fieldset label,
    .tx-cart-products .controls fieldset label {
        display: inline-block;
    }

    .tx-cart .controls fieldset label,
    .tx-cart-products .controls fieldset label {
        margin-right: 8px;
    }

    .tx-cart .controls fieldset.taste,
    .tx-cart-products .controls fieldset.taste,
    .tx-cart .controls fieldset.reset,
    .tx-cart-products .controls fieldset.reset {
        margin-left: 15px;
    }

    .tx-cart .tx_cart_listview .product .product-inner .background-color .image,
    .tx-cart-products .tx_cart_listview .product .product-inner .background-color .image,
    .tx-cart-products .tx_cart_listview .product .product-inner .background-color .image {
        height: 300px;
    }

    .tx-cart .tx_cart_detailview .product .product-inner .background-color,
    .tx-cart-products .tx_cart_detailview .product .product-inner .background-color,
    .tx-cart-products .tx_cart_detailview .product .product-inner .background-color {
        height: 500px;
        margin-top:15px;
    }

}

/* Large Devices, Wide Screens */
@media only screen and (min-width : 1200px) {

    .tx-cart .tx_cart_detailview .product .product-inner .background-color,
    .tx-cart-products .tx_cart_detailview .product .product-inner .background-color,
    .tx-cart-products .tx_cart_detailview .product .product-inner .background-color {
        height: 600px;
    }

    .tx-cart .tx_cart_overview form label,
    .tx-cart .tx_cart_overview form dt,
    .tx-cart .tx_cart_overview form dd,
    .tx-cart .tx_cart_overview form ul,
    .tx-cart .tx_cart_overview form li,
    .tx-cart .tx_cart_overview form fieldset {
        font-size: 16px;
    }

}
/*
 * Mini-Warenkorb: kurzes Aufleuchten, wenn AJAX etwas hineingelegt hat.
 *
 * Ohne Rueckmeldung uebersieht man die geaenderte Zahl leicht - die Seite
 * bleibt beim Hinzufuegen ja stehen. Der Puls dauert so lange wie der Flug des
 * Produktbilds (InitCartAjax.js) und setzt kurz danach wieder ab.
 */
@keyframes minicart-pulse {
    0%   { transform: scale(1); }
    35%  { transform: scale(1.12); }
    60%  { transform: scale(0.97); }
    100% { transform: scale(1); }
}

#tx-cart-minicart.minicart-pulse .cart-box-inner {
    animation: minicart-pulse 600ms ease-out 550ms;
}

@media (prefers-reduced-motion: reduce) {
    #tx-cart-minicart.minicart-pulse .cart-box-inner {
        animation: none;
    }
}
