/* ================= PRODUCT CARD ================= */
.product-card {
    background: #fff;
    padding: 10px;
    border-radius: 8px;
    border: 1px solid #f0f0f0;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    height: 100%;
    position: relative;
}

.product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* ================= IMAGE & OVERLAYS ================= */
.product-img-container {
    width: 100%;
    height: 260px;
    overflow: hidden;
    border-radius: 6px;
    background: #f9f9f9;
    position: relative;
    /* Crucial for absolute positioning of badge */
}

.product-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.discount-badge-overlay {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #ff1680;
    /* Your brand pink */
    color: #fff;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 4px;
    z-index: 5;
    text-transform: uppercase;
    box-shadow: 0 2px 6px rgba(255, 22, 128, 0.3);
    pointer-events: none;
    /* Allows clicking through the badge to the product link */
}

.no-image-box {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 13px;
    background: #f5f5f5;
}

/* ================= INFO ================= */
.product-info {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    text-align: center;
    padding-top: 10px;
}

.product-brand {
    font-size: 12px;
    color: #94969f;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 2px;
}

.product-name {
    font-size: 15px;
    margin: 6px 0;
    height: 2.4em;
    overflow: hidden;
    font-weight: 500;
}

.product-name a {
    text-decoration: none;
    color: #333;
}

/* ================= PRICE ================= */
.price {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 8px 0;
}

.sales-price {
    font-size: 1rem;
    color: #282c3f;
    font-weight: 700;
}

.old-price {
    font-size: 0.9rem;
    color: #94969f;
    text-decoration: line-through;
}

/* ================= BUTTONS ================= */
.button-group {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.btn-add,
.btn-wishlist {
    height: 40px;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-add {
    flex: 4;
    /* Takes most of the width */
    background: #ff1680;
    color: #fff;
    border: 1px solid #ff1680;
    font-weight: 600;
    text-decoration: none;
}

.btn-add:hover {
    background: #e61472;
    border-color: #e61472;
    color: #fff;
}

.btn-wishlist {
    flex: 1;
    /* Small square-ish button */
    background: #f5f5f5;
    color: #333;
    border: 1px solid #ddd;
}

.btn-wishlist:hover {
    background: #eee;
    color: #ff1680;
}

/* ================= STATUS TAGS ================= */
.status-tag {
    padding: 10px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.85rem;
    margin-top: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.out-of-stock {
    background-color: #fff3cd;
    color: #856404;
}

.unavailable {
    background-color: #f8d7da;
    color: #721c24;
}

.product-card:has(.unavailable) .product-img-container {
    pointer-events: none;
    opacity: 0.7;
}