@charset "utf-8";
 
body {
    font-family: 'Roboto Slab', sans-serif;
    background-color: #f9f9f9;
    margin: 0;
    padding: 0;
    color: #2c3e50;
}

.tracker-title {font-weight: 300; color:#fff; margin:10px 0 30px 0}

#bundle-msg {
    display:none;
    margin-top: 10px;
    padding: 8px 12px;
    background-color: rgb(247 247 247 / 72%);
    color: rgb(0, 0, 0);
    border-radius: 4px;
    font-size: 14px;
    font-weight: 300;
    text-align: center;
}

.bundle-tracker {
    position: sticky;
    top: 0;
    background:#52484efc;
    padding: 20px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    z-index: 7999;
    text-align: center;
    transition: all 0.3s ease; /* Smooth shrink animation */
}

.slots-container {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin: 15px 0;
    flex-wrap: wrap;
    transition: all 0.3s ease;
}

.slot {
    width: 80px;
    height: 80px;
    border: 1px dashed #362f33;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    background-color: #fff;
    transition: all 0.2s;
}

.slot.filled {
    border-style: solid;
    border-color: #342e32;
    background-size: cover;
    background-position: center;
}

.slot.filled::after {
    content: '✕ Remove';
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.7);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    opacity: 0;
    border-radius: 6px;
    transition: opacity 0.2s;
}

.slot.filled:hover::after {
    opacity: 1;
}

.free-badge {
    position: absolute;
    top: -10px;
    right: -10px;
    background: #d35400;
    color: white;
    font-size: 11px;
    font-weight: 300;
    padding: 4px 8px;
    border-radius: 12px;
    display: none;
    z-index: 2;
}

.slot.is-free .free-badge {
    display: block;
}

.slot.is-free {
    border-color: #d35400;
    box-shadow: 0 0 0 2px #d35400;
}

.cart-btn {
    background: #ded0bc;
    color: #000;
    border: none;
    padding: 12px 30px;
    font-size: 16px;
    border-radius: 25px;
    cursor: pointer;
    font-weight: 200;
    font-family: 'Roboto Slab', sans-serif;
    transition: all 0.2s ease;
    margin-bottom:5px
}

.cart-btn:disabled {
    background: #ccc;
    cursor: not-allowed;
}

/* ------------------------------------- */
/* IN-BUNDLE NOTIFICATION BADGE          */
/* ------------------------------------- */
.prodimg {
    position: relative; /* Ensures the badge stays inside the image box */
}

.in-bundle-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: #d35400; /* Your orange accent color */
    color: white;
    font-size: 14px;
    font-weight: 300;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    z-index: 10;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
    pointer-events: none; /* Stops it from blocking clicks to the product link */
    display: none; /* Hidden by default */
}

/* ------------------------------------- */
/* COMPACT MODE (Triggered on scroll)    */
/* ------------------------------------- */
.bundle-tracker.compact {
    padding: 10px;
}
/*.bundle-tracker.compact .tracker-title,
.bundle-tracker.compact .cart-note {
    display: none;
}*/
.bundle-tracker.compact .slots-container {
    gap: 8px;
}
.bundle-tracker.compact .slot {
    width: 45px;
    height: 45px;
    font-size: 0.8rem;
}
.bundle-tracker.compact .slot.filled::after {
    font-size: 10px;
    content: '✕';
}
.bundle-tracker.compact .cart-btn {
    padding: 8px 20px;
    font-size: 14px;
}

.cart-note {
        background: #f8f7e8;
    color: #000000;
    padding: 10px;
    border-radius: 6px;
    margin-bottom: 15px;
    font-size: 0.9em;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    font-weight: 200;
}

/* ------------------------------------- */
/* DEFAULT MOBILE OPTIMIZATIONS          */
/* ------------------------------------- */
@media (max-width: 600px) {
    .bundle-tracker {
        padding: 15px 10px;
    }
    .tracker-title {
        font-size: 1.2rem;
        margin: 0 0 10px 0;
    }
    .slots-container {
        gap: 6px; /* Slightly tighter gaps for mobile */
    }
    .slot {
        width: 45px;
        height: 45px;
    }
    
    /* Neatly stack them instead of forcing side-by-side */
    .bundle-tracker.compact {
        display: block;
        padding: 10px;
        text-align: center;
    }
    .bundle-tracker.compact .slots-container {
        margin: 0 auto 10px auto;
        justify-content: center;
    }
    
    /* Make button full-width for an "App" feel */
    .bundle-tracker.compact .cart-btn {
        width: 100%;
        display: block;
        box-sizing: border-box;
        padding: 10px;
        font-size: 15px;
    }
}

/* ------------------------------------- */
/* PRODUCT GRID (Your Existing CSS)      */
/* ------------------------------------- */
.product-grid {
    max-width: 1000px;
    margin: 40px auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 25px;
    padding: 0 20px;
}

.product-card {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 15px;
    text-align: center;
}

.product-image {
    width: 100%;
    height: 200px;
    background-color: #eee;
    border-radius: 4px;
    margin-bottom: 15px;
    object-fit: cover;
}

.product-title {
    font-size: 16px;
    margin: 0 0 10px 0;
}

.product-price {
    font-weight: bold;
    margin-bottom: 15px;
}

.add-btn {
       background: #eae7e7;
    border: 1px solid #aaaaaa;
    color: #000000;
    padding: 8px 20px;
    font-weight:300;
    border-radius: 4px;
    cursor: pointer;
    font-family: 'Roboto Slab', sans-serif;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s ease;
}

.add-btn:hover {
    background: #424242;
    color: white;
}