.product-list .header h1 {
    margin-bottom: -20px;
}
.product-list ul, ul.product-list-container {
    list-style: none;
    padding: 0; margin: 0;
}
ul.product-list-container.grid {
    display: flex;
    flex-wrap: wrap;
}
.product-griditem {
    flex: 1 0 30%;
    text-align: center;
    margin: 5px;
    padding: 8px;
    border: 2px solid #333;
    border-radius: 15px;
}
.product-listitem {
    padding: 15px;
    margin-top: 15px;
    border: 1px solid #333;
    border-radius: 15px;

    /*background-color: rgba(40,40,40,1);*/
    background-color: #111;
    min-height: 150px;
    display: grid;
    color: #888;
    grid-gap: 0px;
    grid-template-columns: 150px 100px auto 200px;
    grid-template-areas:
            'img name name price'
            'img description description price'
            'img artnr technical addtocart';
}

.product-contentitem {
    padding: 15px;
    margin-top: 15px;
    border-radius: 15px;
    background-color: rgba(100,100,100,0.3);
    min-height: 150px;
    height: 100%;
    display: grid;
    color: #888;
    grid-gap: 0px;
    grid-template-columns: 150px 100px auto;
    grid-template-areas:
            'img name name'
            'img description description'
            'img artnr artnr';
}

.product-listitem > .image, .product-contentitem > .image { grid-area: img; margin-right: 20px;}
.product-listitem > .name, .product-contentitem > .name { grid-area: name; font-size: 1.6em; color: #fff; line-height: 1.2em;}
.product-listitem > .description, .product-contentitem > .description { grid-area: description; place-self: start stretch; }
.product-listitem > .artnr, .product-contentitem > .artnr { grid-area: artnr; place-self: end stretch; border-top: 1px solid #333; }
.product-listitem > .technical, .product-contentitem > .technical { grid-area: technical; place-self: end stretch; padding-left: 5px; border-top: 1px solid #333;}
.product-listitem > .price { grid-area: price; place-self: stretch stretch; border-left: 1px solid #333; text-align: right;}
.product-listitem > .addtocart { grid-area: addtocart; place-self: stretch stretch; border-left: 1px solid #333; text-align: right;}

ul.setcontent-list {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    align-items: stretch;
}
ul.setcontent-list > li {
    flex-basis: 45%;

}
#ul.setcontent-list > li .product-contentitem {
    margin: 0;
}

.product-list .indicator-container {
    text-align: right;
}

.produkt-kategorien .pagination-container {
    margin: 10px 0;
    text-align:center;
}
.produkt-kategorien .pagination-container .btn-light, .produkt-kategorien .pagination-container .btn-dark {
    padding: 0.475rem 1.25rem;
    color: #888;
    background-color: transparent;
    border-color: #666;
}
.produkt-kategorien .pagination-container .btn-dark {
    font-weight: bold;
    color: #ff3000;
}
.mwst, .mwst_s {
    text-align: right;
    color: #ff3000;
    font-size: 0.8em;
}
.mwst_s {
    font-size: 0.5em;
}

/** Detail **/
#produkt-detail > .product-container {
    display: grid;
    grid-gap: 0px;
    grid-template-columns: 250px auto;
    grid-template-areas:
            'kategorien detail';
}
#produkt-detail .category-list { grid-area: kategorien; margin-right: 20px; }
#produkt-detail .produktdetail {
    grid-area: detail;
    display: grid;
    grid-gap: 10px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 250px auto auto;
    grid-template-areas:
            'uebersicht uebersicht'
            'beschreibung technik'
            'beschreibung dateien'
            'inhalte inhalte';

}
#produkt-detail .produktdetail .produktdetail-images {

}
#produkt-detail .produktdetail .produktdetail-uebersicht {
    grid-area: uebersicht;
    display: grid;
    grid-template-columns: 3fr 2fr 2fr 2fr;
    /* grid-template-rows: 250px auto; */
    grid-template-areas:
            'bild name name name'
            'bild warenkorb preis preis';
}
#produkt-detail .produktdetail .produktdetail-beschreibung > h2, #produkt-detail .produktdetail .produktdetail-technik > h2 {
    color: #fff;
}
#produkt-detail .produktdetail .produktdetail-beschreibung, #produkt-detail .produktdetail .produktdetail-technik {
    grid-area: beschreibung;
    color: #888;
}
#produkt-detail .produktdetail .produktdetail-dateien {
    grid-area: dateien;
}
#produkt-detail .produktdetail .produktdetail-technik {
    grid-area: technik;
}
#produkt-detail .produktdetail .produktdetail-dateien .product-docs-links {
    list-style: none;
    padding-left: 0;
}
#produkt-detail .produktdetail .produktdetail-inhalte { grid-area: inhalte; }

#produkt-detail .produktdetail .produktdetail-uebersicht .produktdetail-bild {
    grid-area: bild;
    overflow: hidden;
    padding-right: 10px;
}
#produkt-detail .produktdetail .produktdetail-uebersicht .produktdetail-bild .produkt-bild {
    text-align: center;
    display: flex;
}
#produkt-detail .produktdetail .produktdetail-uebersicht .produktdetail-name {
    grid-area: name;
    font-size: 2.5em;
    line-height: 1.0em;
}
#produkt-detail .produktdetail .produktdetail-uebersicht .produktdetail-artikelnummer { grid-area: artikelnummer; }
#produkt-detail .produktdetail .produktdetail-uebersicht .produktdetail-preis {
    text-align: right;
    grid-area: preis;
    font-size: 1.5em;
}
#produkt-detail .produktdetail .produktdetail-uebersicht .produktdetail-preis .addtocart {
    font-size: 0.6em;
}
#produkt-detail .produktdetail .produktdetail-uebersicht .produktdetail-preis .preis {
    color: #ff3000;

}
#produkt-detail .produktdetail .produktdetail-uebersicht .produktdetail-warenkorb { grid-area: warenkorb; }

.feature-product {
    text-align: center;
}
#top-products {
    width: 97%;
    padding: 5px 45px;
}
#top-products .carousel__slide {
    width: 24%;
}

.product-griditem {
    margin-top: 20px;
    position: relative;
    padding-bottom:50px;
    background-color: #111;
    min-width: 200px;
}
.product-griditem.carousel__slide {
    overflow: visible;
}
.product-griditem .title {
    position: absolute;
    left: 50%;
    padding: 0 10px;
    transform: translateX(-50%);
    top: -10px;
    font-size: 1.3em;
    white-space: nowrap;
}
.product-griditem .image {
    margin-top: 10px;
    height: 150px;
}
.product-griditem .name h1 {

    font-size: 1.4em;
}
.product-griditem .description {
    color: #888;
    text-align: justify-all;
}
.product-griditem .rating {
    color: #ff3000;
    font-size: 1.5em;
    padding-bottom: 15px;
}
.product-griditem .price {
    position: absolute;
    width: 100%;
    bottom: 0;
    display: grid;
    grid-template-areas:
            'details amount';
}
.product-griditem.dj .price {
    grid-template-areas:
            'details';
}
.product-griditem .more {
    position: absolute;
    bottom: 0; left: 0; right: 0;
}
.product-griditem .price .details {
    grid-area: details;
    text-align: center;
    margin-bottom: 10px;
}
.product-griditem .price .details a {
    color: #888;
    padding: 5px 15px;
    border: 1px solid #666;
    border-radius: 5px;
}
.product-griditem .price .amount {
    grid-area: amount;
    text-align: center;
}
.product-griditem.dj .price .amount {
    display: none;
}
.product-griditem .price .amount span {
    color: #fff;
    font-weight: bold;
    background-color: #ff3000;
    padding: 5px 15px;
    border: 1px solid #ff3000;
    border-radius: 5px;
}

.productoverview .pagination-container .btn-group {
    display: block;
    text-align: center;
    margin-top: 15px;
    font-size: 1.3em;
    font-weight: bold;
}

.productoverview .pagination-container .btn-group .btn-light {
    color: #ff3000;
    background-color: transparent;
    border-color: transparent;
}
.productoverview .pagination-container .btn-group .btn-dark {
    color: #fff;
    background-color: #ff3000;
    border-color: transparent;
}

#cart-link.flash {
    background-color: #009900;
    color: #fff;
    animation: flasher 1s linear infinite;
}
#cart-link svg {
    font-size: 1.3em;
}
@keyframes flasher {
    50% {
        background-color: transparent;
        color: #ff3000;
    }
}
div.alert-success {
    background-color: #009900 !important;
}

#produkt-kategorien-toggle {display: none;}

.top-products-headline {
    font-size: 1.8em;
}

.merkliste-gesamtpreis {
    margin-top: 15px;
    font-size: 1.5em;
    color: #fff;

}
.merkliste-gesamtpreis .amount {
    color: #ff3000;
    font-weight: bold;
}

@media (max-width: 992px) {

    #produkt-kategorien-toggle {
        display: block;
        font-size: 1.4em;
        padding: 5px 10px;
        border: 1px solid #4d4d4d;
        background-color: #2e2e2e;
    }
    #produkt-kategorien-target {display: none;}

    .product-listitem > .technical { display: none;}
    .product-listitem {
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-areas:
        'img name name'
        'img artnr artnr'
        'img description description'
        'addtocart price price';

    }
    .product-listitem > .artnr {
        border: none;
    }
    .product-listitem > .price {
        border: none;
        padding-top: 15px;
        font-size: 1.3em;
    }
    .product-listitem > .addtocart {
        border: none;
        text-align: left;
        font-size: 0.5em;
    }
    .product-listitem > .addtocart a {
        padding: 20px 10px 10px 10px;
        border: 1px solid #4d4d4d;
        background-color: #2e2e2e;
    }

    .merkliste .product-listitem {
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-areas:
        'img name name'
        'img artnr artnr'
        'img description description'
        'price price price'
        'addtocart addtocart addtocart';

    }

    #produkt-detail > .product-container {
        grid-template-columns: 1fr;
        grid-template-areas: 'kategorien'
                             'detail';
    }

    #produkt-detail .produktdetail {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        grid-template-areas:
        'uebersicht'
        'beschreibung'
        'technik'
        'dateien'
        'inhalte';
    }

    #produkt-detail .produktdetail .produktdetail-uebersicht {
        grid-template-columns: 1fr;
        grid-template-areas:
        'bild'
        'name'
        'preis'
        'warenkorb';
    }
    #produkt-detail .produktdetail .produktdetail-uebersicht .produktdetail-bild {
        overflow: visible;
    }

    ul.setcontent-list {
        display: block;
    }

    #top-products .carousel__slide {
        width: 49%;
    }

    .top-products-headline {
        font-size: 1.6em;
        line-height: 1.2em;
    }

}

@media (max-width: 688px) {
    #top-products .carousel__slide {
        width: 98%;
    }

}