/* ==========================================================================
   Algemene Productlijst Stijlen
   ========================================================================== */

#product-section .product-list-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: flex-start; /* Houd de items links binnen de wrapper */
    max-width: 1200px;           /* Pas dit aan naar je gewenste max breedte */
    margin: 0 auto;              /* Dit centreert de wrapper zelf op de pagina */
}
#product-section .product-item {
    flex: 0 1 calc(33.333% - 1rem); /* Forceert 3 items per rij, minus de gap */
    min-width: 250px; /* Voorkomt dat ze te klein worden op mobiel */
}

/* Productnaam Titel */
ul.product_list .product-name h3 {
    display: inline-block;
    width: 100%;
    overflow: hidden;
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
}

/* Beschikbaarheid Spans */
ul.product_list .availability span {
    display: inline-block;
    color: white;
    font-weight: 700; /* Van 'bold' naar '700' */
    padding: 3px 8px 4px 8px;
    margin-bottom: 20px;
    border-radius: 14px;
}

ul.product_list .availability span.available-now {
    background: #55c65e;
    border: 1px solid #36943e;
}

ul.product_list .availability span.out-of-stock,
ul.product_list .availability span.available-dif {
    background: #fe9126;
    border: 1px solid #e4752b;
}

/* Kleur Keuze Container */
ul.product_list .color-list-container {
    margin-bottom: 12px;
    border-top: 1px solid #e8eaed;
}

ul.product_list .color-list-container ul li {
    display: inline-block;
    border: 1px solid #d6d4d4;
    width: 26px;
    height: 26px;
}

ul.product_list .color-list-container ul li a {
    display: block;
    width: 22px;
    height: 22px;
    margin: 1px;
}

/* Afbeeldingscontainer */
ul.product_list .product-image-container {
    text-align: center;
}

ul.product_list .product-image-container img {
    margin: 0 auto;
}

/* Quick View (Desktop) - De standaardstijl */
ul.product_list .product-image-container .quick-view {
    font: 700 13px/16px Arial, Helvetica, sans-serif;
    color: #777676;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -21px 0 0 -53px;
    padding: 13px 0 0;
    background: rgba(255, 255, 255, 0.82);
    width: 107px;
    height: 43px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16);
    display: none; /* Standaard verborgen */
}

/* Productbeoordelingen */
ul.product_list .comments_note {
    text-align: left;
    overflow: hidden;
}

ul.product_list .comments_note .star_content {
    float: left;
}

ul.product_list .comments_note .nb-comments {
    overflow: hidden;
    font-style: italic;
}

/* Functionele Knoppen (Wenslijst/Vergelijken) */
ul.product_list .functional-buttons div a,
ul.product_list .functional-buttons div label {
    font-weight: 700;
    color: #777676;
    cursor: pointer;
}

ul.product_list .functional-buttons div a:hover,
ul.product_list .functional-buttons div label:hover {
    color: #000;
}

ul.product_list .functional-buttons div.wishlist {
    border-right: 1px solid #d6d4d4;
}

/* FontAwesome Iconen geconsolideerd */
ul.product_list .functional-buttons div.wishlist a:before,
ul.product_list .functional-buttons div.compare a:before {
    display: inline-block;
    font-family: "FontAwesome";
    margin-right: 3px;
}

ul.product_list .functional-buttons div.wishlist a:before {
    content: "\f08a";
    padding: 0 3px;
}
ul.product_list .functional-buttons div.wishlist a.checked:before {
    content: "\f004";
}

ul.product_list .functional-buttons div.compare a:before {
    content: "\f067";
}
ul.product_list .functional-buttons div.compare a.checked:before {
    content: "\f068";
}

/* ==========================================================================
   2. Quick View (Mobiel) & Responsive Hides
   ========================================================================== */

/* Quick-view elementen standaard verbergen */
ul.product_list .product-image-container .quick-view-wrapper-mobile,
ul.product_list .product-image-container .quick-view-wrapper-mobile .quick-view-mobile {
    display: none;
}

@media (max-width: 1199px) {
    /* Toont de Quick View wrapper op tablet/mobiel */
    ul.product_list .product-image-container .quick-view-wrapper-mobile {
        display: block;
        background-color: transparent;
        height: 155px;
        width: 215px;
        position: absolute;
        overflow: hidden;
        pointer-events: none;
        bottom: 0px;
        right: 0px;
    }

    /* Het daadwerkelijke visuele mobiele Quick View icoon (de gedraaide box) */
    ul.product_list .product-image-container .quick-view-wrapper-mobile .quick-view-mobile {
        display: block;
        position: relative;
        background-color: rgba(208, 208, 211, 0.57);
        height: 130px;
        width: 85px;
        top: 80px;
        right: -162px;
        transform: rotate(45deg);
        pointer-events: all;
        transition: background-color 0.2s;
    }
    ul.product_list .product-image-container .quick-view-wrapper-mobile .quick-view-mobile:hover {
        background-color: rgba(167, 167, 167, 0.57);
    }
    ul.product_list .product-image-container .quick-view-wrapper-mobile .quick-view-mobile i {
        position: relative;
        top: 48px;
        left: -20px;
        font-size: x-large;
        color: black;
    }
    ul.product_list .product-image-container .quick-view-wrapper-mobile .quick-view-mobile i:before {
        transform: rotate(315deg);
    }
}

/* Verberg Desktop Quick View op tablet/mobiel */
@media (max-width: 1199px) {
    ul.product_list .product-image-container .quick-view {
        display: none;
    }
}

/* Verberg functional buttons/iconen op specifieke tablet/mobiel breakpoints */
@media (min-width: 992px) and (max-width: 1199px), (min-width: 480px) and (max-width: 767px) {
    ul.product_list .functional-buttons div.wishlist {
        border-right: 0;
    }
    ul.product_list .functional-buttons div.wishlist a:before,
    ul.product_list .functional-buttons div.compare a:before {
        display: none;
    }
}

/* ==========================================================================
   3. Grid Weergave Stijlen
   ========================================================================== */

ul.product_list.grid > li {
    padding-bottom: 20px;
    text-align: center;
}

/* Responsieve kolommen */
@media (min-width: 480px) and (max-width: 767px) {
    ul.product_list.grid > li {
        width: 50%;
        float: left;
    }
}

ul.product_list.grid > li .product-container {
    background: white;
    padding: 10px;
    position: relative;
    border-radius: 14px;
    border: 1px solid #e1e1e1;
    transition: all 0.3s ease-in-out;
}

@media (max-width: 767px) {
    ul.product_list.grid > li .product-container {
        max-width: 290px;
        margin-left: auto;
        margin-right: auto;
    }
}

ul.product_list.grid > li .product-container .product-image-container {
    /* border:1px solid #dadce0; */
    padding: 10px;
    margin-bottom: 15px;
    position: relative;
    border-radius: 14px;
    background-color: #f8f9fa;
    transition: all 0.3s ease-in-out;
    /* box-shadow:0 2px 5px rgba(0,0,0,0.1); */
}

/* Afbeeldingscontainer Hover */
ul.product_list.grid > li .product-container .product-image-container:hover {
    border-color: #c0c4cc;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

/* Prijsoverlay op afbeelding (Grid) */
ul.product_list.grid > li .product-container .product-image-container .content_price {
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    padding: 9px 0;
    display: none;
    background-image: linear-gradient(#74d578, #0b6c0f);
}

ul.product_list.grid > li .product-container .product-image-container .content_price span {
    color: white;
}

ul.product_list.grid > li .product-container .product-image-container .content_price span.old-price {
    color: black;
}

ul.product_list.grid > li .product-container h3 {
    padding: 0 15px 7px 15px;
    min-height: 53px;
}

@media (min-width: 1200px) {
    ul.product_list.grid > li .product-container .comments_note,
    ul.product_list.grid > li .product-container .button-container,
    ul.product_list.grid > li .product-container .functional-buttons {
        display: none; /* Verberg deze elementen op desktop (standaard) */
    }
}

ul.product_list.grid > li .product-container .comments_note .star_content {
    margin: 0 3px 12px 59px;
}

ul.product_list.grid > li .product-container .product-desc,
ul.product_list.grid > li .product-container .product-flags {
    display: none;
}

ul.product_list.grid > li .product-container .content_price {
    padding-bottom: 9px;
    line-height: 21px;
}

ul.product_list.grid > li .product-container .old-price,
ul.product_list.grid > li .product-container .price,
ul.product_list.grid > li .product-container .price-percent-reduction {
    display: inline-block;
    border-radius: 14px;
}

ul.product_list.grid > li .product-container .old-price {
    margin-right: 5px;
}

ul.product_list.grid > li .product-container .button-container {
    margin-bottom: 14px;
}

ul.product_list.grid > li .product-container .button-container .ajax_add_to_cart_button,
ul.product_list.grid > li .product-container .button-container span.button,
ul.product_list.grid > li .product-container .button-container .lnk_view {
    margin: 0 6px 10px 6px;
}

ul.product_list.grid > li .product-container .functional-buttons {
    /* De achtergrondafbeelding is behouden aangezien de bron niet kan worden gewijzigd */
    background: url(../img/functional-bt-shadow.png) repeat-x;
    padding: 11px 0 5px;
}

ul.product_list.grid > li .product-container .functional-buttons div {
    width: 100%;
    float: left;
    padding: 3px 0 4px 0;
}

/* Hover effecten (Desktop only) */
@media (min-width: 1200px) {
    ul.product_list.grid > li.hovered .product-container {
        box-shadow: 0 0 13px rgba(0, 0, 0, 0.17);
        position: relative;
        z-index: 10;
    }
    ul.product_list.grid > li.hovered .product-container .product-image-container .content_price,
    ul.product_list.grid > li.hovered .product-container .product-image-container .quick-view,
    ul.product_list.grid > li.hovered .product-container .functional-buttons,
    ul.product_list.grid > li.hovered .product-container .button-container,
    ul.product_list.grid > li.hovered .product-container .comments_note {
        display: block; /* Toon elementen bij hover */
    }
}

ul.product_list.grid li.hovered h3 {
    min-height: 30px;
}

/* Categorieën titelstijl */
ul.product_list.grid > li .product-container .primary-cat {
    font-size: 0.765em;
    font-weight: 500;
    color: #191970;
}

/* Clear fixes geconsolideerd */
@media (min-width: 992px) {
    ul.product_list.grid > li.first-in-line {
        clear: left;
    }
}
@media (min-width: 480px) and (max-width: 991px) {
    ul.product_list.grid > li.first-item-of-tablet-line {
        clear: left;
    }
}

/* ==========================================================================
   4. Lijst Weergave Stijlen
   ========================================================================== */

ul.product_list.list > li .product-container {
    border: 1px solid #d6d4d4;
    padding: 30px 0;
    margin-bottom: 13px;
    border-radius: 14px;
}

ul.product_list.list > li .product-image-container {
    position: relative;
    padding: 9px;
}

ul.product_list.list > li .product-image-container .content_price {
    display: none;
}

ul.product_list.list > li .product-flags {
    color: #333333;
    margin: -5px 0 10px 0;
}

ul.product_list.list > li .product-flags .discount {
    color: #f13340;
}

ul.product_list.list > li h3 {
    padding-bottom: 8px;
}

ul.product_list.list > li .product-desc {
    margin-bottom: 15px;
    font-weight: 400;
    color: #152027;
    word-wrap: break-word;
}

ul.product_list.list > li .center-block .comments_note {
    margin-bottom: 12px;
}

/* Rechterblok (Prijs/Knoppen) */
@media (min-width: 992px) {
    ul.product_list.list > li .right-block .right-block-content {
        margin: 0;
        border-left: 1px solid #d6d4d4;
        padding-left: 15px;
        padding-bottom: 16px;
    }
}

ul.product_list.list > li .right-block .right-block-content .content_price {
    padding-bottom: 10px;
}

ul.product_list.list > li .right-block .right-block-content .content_price span {
    display: inline-block;
    margin-top: -4px;
    margin-bottom: 14px;
    border-radius: 14px;
    color: #152027;
}

ul.product_list.list > li .right-block .right-block-content .content_price span.old-price {
    margin-right: 8px;
}

ul.product_list.list > li .right-block .right-block-content .button-container {
    overflow: hidden;
    padding-bottom: 20px;
}

ul.product_list.list > li .right-block .right-block-content .button-container .btn {
    margin-bottom: 10px;
}

@media (min-width: 992px) {
    ul.product_list.list > li .right-block .right-block-content .button-container .btn {
        float: left;
        clear: both;
    }
    ul.product_list.list > li .right-block .right-block-content .functional-buttons {
        overflow: hidden;
    }
}

ul.product_list.list > li .right-block .right-block-content .functional-buttons a {
    cursor: pointer;
}

ul.product_list.list > li .right-block .right-block-content .functional-buttons .wishlist {
    border: none;
}

ul.product_list.list > li .right-block .right-block-content .functional-buttons .compare {
    padding-top: 10px;
}

ul.product_list.list > li .right-block .right-block-content .functional-buttons .compare a:before {
    margin-right: 10px;
}

@media (min-width: 1200px) {
    ul.product_list.list > li:hover .product-image-container .quick-view {
        display: block;
    }
}

/* Responsive List View (Mobiel) */
@media (max-width: 479px) {
    ul.product_list.list > li {
        text-align: center;
    }
    ul.product_list.list > li .left-block,
    ul.product_list.list > li .center-block,
    ul.product_list.list > li .right-block .right-block-content .button-container,
    ul.product_list.list > li .right-block .right-block-content .content_price {
        width: 100%;
    }
    ul.product_list.list > li .product-image-container {
        max-width: 290px;
        margin: 0 auto;
    }
    ul.product_list.list > li .right-block .right-block-content .functional-buttons {
        float: none;
        display: inline-block;
    }
    ul.product_list.list > li .right-block .right-block-content .functional-buttons a:before,
    ul.product_list.list > li .right-block .right-block-content .functional-buttons label:before {
        display: none;
    }
}

/* Responsive List View (Tablet) */
@media (max-width: 991px) {
    ul.product_list.list > li .right-block .right-block-content {
        padding-top: 20px;
    }
    ul.product_list.list > li .right-block .right-block-content .content_price {
        padding-top: 13px;
        padding-bottom: 0;
    }
    ul.product_list.list > li .right-block .right-block-content .functional-buttons {
        clear: both;
    }
    ul.product_list.list > li .right-block .right-block-content .functional-buttons > div {
        float: left;
        padding-top: 0;
        padding-right: 20px;
    }
}
@media (max-width: 479px) {
    ul.product_list.list > li .right-block .right-block-content {
        padding-top: 5px;
    }
    ul.product_list.list > li .right-block .right-block-content .content_price {
        padding-top: 0;
    }
}

/* ==========================================================================
   5. Specifieke Stijlen (Index, Blocks, Legacy)
   ========================================================================== */

/* Categorieën Titel */
.products-category {
    color: var(--hoofdkleur-blauw);
    font-weight: 700;
    font-size: 20px;
    position: relative;
    margin: 0 0 20px;
    padding: 9px 20px;
    border-bottom: 1px solid #d6d4d4;
    border-radius: 0;
}

/* Homepage Tabs */
#index ul.product_list.tab-pane > li {
    padding-bottom: 10px;
    margin-bottom: 10px;
}
#index ul.product_list.tab-pane > li .availability {
    display: none;
}
@media (min-width: 1200px) {
    #index ul.product_list.tab-pane > li {
        padding-bottom: 85px;
        margin-bottom: 0;
    }
    #index ul.product_list.tab-pane > li.last-line {
        border: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }
}

/* Legacy Clear Fixes (Blockpack) */
#blockpack ul > li.first-item-of-tablet-line {
    clear: none;
}
#blockpack ul > li.first-item-of-mobile-line {
    clear: left;
}
@media (min-width: 1200px) {
    #blockpack ul > li.last-line {
        border: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }
}

/* Specifieke styling voor de categorie-sectie */
#category-section.category-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px; /* Voegt een mooie gelijkmatige witruimte toe tussen de categorie-items */
}

/* Zorg dat de afbeeldingen in deze sectie netjes schalen */
#category-section.category-wrapper img {
    max-width: 100%;
    height: auto;
    align-self: center; /* Centreert de afbeelding als deze smaller is dan de kolom */
}