/* Floating Cart Open Button */
#wpbm-open-cart {
    position: fixed;
    bottom: 80px;
    right: 15px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #0a5f24;
    color: #fff;
    border: none;
    outline: none;
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    cursor: pointer;
}

/* cart count bubble */
#wpbm-open-cart .wpbm-open-count {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #ff3b30;
    color: #fff;
    font-size: 12px;
    min-width: 20px;
    height: 20px;
    padding: 0 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
}

/* Floating Cart Panel */
.wpbm-floating-cart {
    position: fixed;
    bottom: -100%;
    left: 0;
    width: 100%;
    height: 70%;
    background: #fff;
    box-shadow: 0 -4px 15px rgba(0,0,0,0.2);
    z-index: 999999;
    transition: bottom 0.35s ease;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

/* open state */
.wpbm-floating-cart.active {
    bottom: 0;
}

/* top bar */
.wpbm-fc-bar {
    background: #0a5f24;
    padding: 12px 16px;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.wpbm-fc-close {
    color: #fff;
    background: none;
    border: none;
    font-size: 28px;
}

/* cart items */
.wpbm-cart-items {
    list-style: none;
    margin: 0;
    padding: 10px 15px;
    max-height: 60%;
    overflow-y: auto;
}

.wpbm-cart-item {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 5px;
    border-bottom: 1px solid #f1f1f1;
}

.wpbm-item-thumb img {
    width: 55px;
    height: 55px;
    border-radius: 10px;
    object-fit: cover;
}

.wpbm-item-details {
    flex: 1;
    margin-left: 10px;
    font-size: 14px;
}

.wpbm-remove-item {
    background: #ff3b30;
    border: none;
    color: #fff;
    padding: 6px 10px;
    border-radius: 6px;
    cursor: pointer;
}

/* bottom total area */
.wpbm-fc-footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 12px 16px;
    background: #ffffff;
    border-top: 1px solid #ececec;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.wpbm-fc-go-to-cart {
    background: #0a5f24;
    color: #fff;
    padding: 8px 12px;
    border-radius: 6px;
    text-decoration: none;
}

/* empty state */
.wpbm-empty {
    padding: 20px;
    text-align: center;
    color: #777;
}
