

/* ============================
   GENERAL SECTION
   ============================ */

/* Product image zoom effect */
.product-image img.zoomed {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 90%;
    max-height: 90vh;
    z-index: 1000;
    background-color: white;
    padding: 10px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

/* Background overlay for zoomed image */
.product-image img.zoomed::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: -1;
}

/* Sidebar Toggle */
.sidebar-toggle {
    display: none;
    background-color: #f0f0f0;
    padding: 10px 15px;
    margin-bottom: 15px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    align-items: center;
    justify-content: space-between;
}

.sidebar-toggle svg {
    transition: transform 0.3s;
}

.sidebar-toggle.active svg {
    transform: rotate(180deg);
}

.sidebar-container {
    transition: max-height 0.3s ease-out;
    overflow: hidden;
}

/* ============================
   HEADER SECTION - MOBILE
   ============================ */

.mobile-menu-container.active .user-greeting {
    display: none;
}

/* Mobile menu Styles */
.mobile-menu-toggle {
    display: none;
    cursor: pointer;
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 1000;
}

.hamburger {
    width: 30px;
    height: 24px;
    position: relative;
}

.hamburger span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #fff;
    border-radius: 3px;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
}

.hamburger span:nth-child(1) {
    top: 0px;
}

.hamburger span:nth-child(2) {
    top: 10px;
}

.hamburger span:nth-child(3) {
    top: 20px;
}

.mobile-menu-toggle.active .hamburger span:nth-child(1) {
    top: 10px;
    transform: rotate(135deg);
}

.mobile-menu-toggle.active .hamburger span:nth-child(2) {
    opacity: 0;
    left: -60px;
}

.mobile-menu-toggle.active .hamburger span:nth-child(3) {
    top: 10px;
    transform: rotate(-135deg);
}

.mobile-menu-container {
    display: none;
    position: fixed;
    top: 64px;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.95);
    z-index: 1000;
    overflow-y: auto;
    padding: 20px 20px 20px;
    box-sizing: border-box;
}

.mobile-menu-container.active {
    display: block;
}

.mobile-menu-container ul {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
}

.mobile-menu-container li {
    text-align: left;
}

.mobile-menu-container a {
    color: #fff;
    font-size: 18px;
    text-decoration: none;
    display: block;
    padding: 10px;
}

body.menu-open {
    overflow: hidden;
}

@media only screen and (max-width: 1368px) {
    .mobile-menu-toggle {
        display: block;
        position: absolute;
        top: 20px;
        left: 18px;
    }

    .navbar .left .menu,
    .navbar .right {
        display: none;
    }
}

@media screen and (max-width: 819px) {
    .navbar .center {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
    
    .navbar .left {
        width: 100%;
        justify-content: center;
    }
    
    .logo {
        margin: 0 auto;
        width: 230px;
    }
    
    /* Sidebar toggle tonen */
    .sidebar-toggle {
        display: flex;
        font-size: 20px;
    }
    
    .sidebar-container {
        max-height: 0;
        width: 100%;
        margin: 10px 0;
        padding: 0;
    }
    
    .sidebar-container.active {
        max-height: 2000px; /* Hoge waarde om alle content te tonen */
    }
    
    /* Header en navigatie */
    .navbar {
        flex-direction: column;
    }
    
    .logo {
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }
    
    .sb-titel h3 {
        font-size: 22px;
        text-align: center;
    }
}

@media screen and (max-width: 480px) {
    .menu li {
        margin: 3px;
    }
    
    .menu li a {
        font-size: 14px;
        padding: 3px 6px;
    }
    
    .right li {
        margin: 3px 5px;
    }
    
    /* Header stacking */
    .user-greeting {
        margin-bottom: 5px;
        width: 100%;
        text-align: center;
    }
}

@media screen and (max-width: 767px) {
    .breadcrumbs {
        white-space: nowrap;
        overflow-x: auto;
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE and Edge */
        border: none;
        box-shadow: none;
        background-color: #f8f8ff;
        text-align: center;
    }
    
    .breadcrumbs::-webkit-scrollbar {
        display: none; /* Chrome, Safari, Opera */
    }
}

/* ============================
   HEADER SECTION - TABLETS
   ============================ */

@media screen and (min-width: 769px) and (max-width: 1024px) {
    
    .navbar .left {
        width: 30%;
    }
    
    .navbar .center {
        width: 30%;
    }
    
    .navbar .right {
        width: 40%;
    }
}

@media screen and (min-width: 820px) and (max-width: 1368px) {
    /* Change header layout to vertical for tablets */
    header .navbar {
        display: flex;
        flex-direction: column;
       /*  padding: 10px 15px; oude header */
    }
    
    /* First row with hamburger and logo */
    header .navbar .left {
        width: 100%;
        display: flex;
        justify-content: center;
        position: relative;
    }
    
    /* Hide desktop menu on tablets */
    header .navbar .left .menu {
        display: none;
    }
    
    /* Center logo */
    header .navbar .left .logo {
        margin: 0 auto;
        text-align: center;
    }
    
    /* Center search bar in its own row */
    header .navbar .center {
        width: 80%;
        margin: 0 auto 0;
        order: 2;
    }
    
    /* Make sure search bar takes full width */
    header .navbar .center .search-form {
        width: 100%;
    }
    
    /* Adjust right section for tablets */
    header .navbar .right {
        width: 100%;
        order: 3;
    }
    
    /* Center the right menu items */
    header .navbar .right ul {
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px;
    }
}

/* ============================
   HEADER SECTION - DESKTOP
   ============================ */

@media screen and (min-width: 1025px) {
    /* Behoud meeste desktop styles, maar let op maximale breedtes */
    .wrapper {
        max-width: 1600px;
    }
}



/* ============================
   kleinste telefoons
   ============================ */


@media screen and (max-width: 480px){

.search-form button {
    margin-top: inherit !important;
    min-height: inherit!important;
}

}

/* iPhone XR (414px) and smaller */
@media (max-width: 414px) {
    .search-form input {
        min-width: 143px;
    }
}