/* Custom Future - Wishlist Styles - v2.0.1 (Integrated into plugin) */

/* Product loop item relative positioning */
.woocommerce ul.products li.product {
    position: relative;
}

/* Styles for wishlist button in ARCHIVE context */
.bdm-wishlist-button-archive { /* Using contextual class */
    display: none;
    position: absolute;
    top: 55%;
    left: 42.5%; /* User requested position */
    transform: translate(-50%, -50%);
    line-height: 0;
    z-index: 10;
    padding: 6px;
    border-radius: 50%;
    transition: background-color 0.2s ease-in-out;
}

@media only screen and (max-width: 768px) {
    .bdm-wishlist-button-archive {
        top: 45%;
    }
}

.woocommerce ul.products li.product:hover > .bdm-wishlist-button-archive {
    display: block;
}
.bdm-wishlist-button-archive:hover {
    /* Background color removed */
}
.bdm-wishlist-button-archive:hover .bdm-wishlist-icon-default path {
    stroke: #00A651; /* Blueberry */
}

/* Styles for wishlist button in SINGLE/SHORTCODE context */
.bdm-wishlist-button-single { /* Using contextual class */
    display: inline-block;
    position: relative;
    vertical-align: middle;
    line-height: 0;
    padding: 4px;
    margin-left: 10px;
    background-color: transparent;
    border-radius: 3px;
    transition: background-color 0.2s ease-in-out;
}
.bdm-wishlist-button-single:hover {
    /* Background color removed */
}
.bdm-wishlist-button-single:hover .bdm-wishlist-icon-default path {
    stroke: #00A651; /* Blueberry */
}

/* Common SVG icon styles for all .bdm-wishlist-button */
.bdm-wishlist-button svg.bdm-wishlist-icon path {
    /* Basic transitions can be here if not specific to context */
}
.bdm-wishlist-button .bdm-wishlist-icon-added path {
    /* fill & stroke are set in SVG */
}

/* Loading state for AJAX actions */
.bdm-wishlist-button.bdm-wishlist-loading {
    cursor: wait;
    opacity: 0.7;
}
/* Optional Spinner instead of opacity: */
.bdm-wishlist-button.bdm-wishlist-loading svg.bdm-wishlist-icon { display: none; }
.bdm-wishlist-button.bdm-wishlist-loading::after {
    content: ''; display: inline-block; width: 16px; height: 16px;
    border: 2px solid #00A651; border-top-color: transparent;
    border-radius: 50%; animation: bdm-spinner-spin 0.6s linear infinite;
    margin: 4px;
}
@keyframes bdm-spinner-spin { to { transform: rotate(360deg); } }


/* Header Wishlist Icon Styles */
.bdm-wishlist-header-icon {
    position: relative; display: inline-block; text-decoration: none; line-height: 0;
}
.bdm-wishlist-header-icon .bdm-wishlist-count-wrapper {
    display: inline-block; /* Ensures counter is part of the flow for JS targeting */
}
.bdm-wishlist-header-icon svg.bdm-header-icon-svg path {
    stroke: #4E97FD; 
    transition: stroke 0.2s ease-in-out;
}
.bdm-wishlist-header-icon:hover svg.bdm-header-icon-svg path {
    stroke: #00A651;
}
.bdm-wishlist-count {
    position: absolute; top: -8px; right: -8px;
    background-color: #00A651;
    color: #ffffff;
    border-radius: 50%; font-size: 10px; font-weight: bold;
    line-height: 1.1; padding: 2px 5px; min-width: 16px; box-sizing: border-box;
    text-align: center; box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}

/* Wishlist Page Styles */
.bdm-wishlist-page-container { margin-top: 2em; margin-bottom: 2em; }
.bdm-wishlist-empty-message { padding: 20px 30px; background-color: #F7F5FF; border: 1px solid #AABADA; text-align: center; margin-bottom: 25px; border-radius: 4px; }
.bdm-return-to-shop { text-align: center; margin-bottom: 20px; } /* Added margin */
.bdm-wishlist-products { list-style: none; padding: 0; margin: 0; border: 1px solid #AABADA; border-radius: 4px; overflow: hidden; }
.bdm-wishlist-item { display: flex; flex-wrap: wrap; align-items: center; padding: 20px; border-bottom: 1px solid #AABADA; gap: 15px; transition: opacity 0.3s ease-out, transform 0.3s ease-out; }
.bdm-wishlist-item.removing { opacity: 0.5; transform: translateX(-20px); }
.bdm-wishlist-item:last-child { border-bottom: none; }

/* Responsive layout for wishlist items */
.bdm-wishlist-item-remove { order: 1; width: 100%; text-align: right; margin-bottom: 10px; }
.bdm-wishlist-item-image-container { order: 2; flex-shrink: 0; } /* Prevent image shrinking */
.bdm-wishlist-item-details { order: 3; flex-grow: 1; min-width: 150px; } /* Allow details to grow */
.bdm-wishlist-item-actions { order: 4; width: 100%; margin-top:10px; } /* Actions full width on mobile */

@media (min-width: 600px) {
    .bdm-wishlist-item-remove { order: 4; width: auto; text-align: left; margin-left: auto; margin-bottom: 0; padding-left:15px;}
    .bdm-wishlist-item-image-container { order: 1; }
    .bdm-wishlist-item-details { order: 2; }
    .bdm-wishlist-item-actions { order: 3; width: auto; margin-top:0; margin-left: 15px; }
}

a.bdm-remove-from-wishlist-ajax {
    color: #E5AE41; font-size: 22px; text-decoration: none; font-weight: bold;
    padding: 5px; line-height: 1; display: inline-block; cursor: pointer;
    transition: color 0.2s ease;
}
a.bdm-remove-from-wishlist-ajax:hover { color: #c0392b; }

.bdm-wishlist-item-image-container img.bdm-wishlist-item-image { width: 80px; height: 80px; object-fit: cover; border-radius: 4px; border: 1px solid #DFDAEC; }
.bdm-wishlist-item-title { margin: 0 0 8px 0; font-size: 1.15em; font-weight: 600; }
.bdm-wishlist-item-title a { text-decoration: none; color: #053331; transition: color 0.2s ease;}
.bdm-wishlist-item-title a:hover { color: #00A651; }
.bdm-wishlist-item-price { font-size: 1.05em; color: #333; margin-bottom: 8px; font-weight: 500; }
.bdm-wishlist-item-stock { font-size: 0.9em; font-style: italic; }
.bdm-stock-in-stock { color: #1C7B7F; }
.bdm-stock-out-of-stock { color: #E5AE41; }

.bdm-wishlist-item-actions .button.bdm-add-to-cart-button,
.bdm-return-to-shop a.button.wc-backward {
    background-color: #4E97FD !important;
    color: #F7F5FF !important;
    padding: 10px 18px !important;
    font-size: 0.95em !important;
    border-radius: 4px !important;
    text-transform: uppercase;
    font-weight: bold;
    text-decoration: none;
    line-height: 1.5;
    border: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.bdm-wishlist-item-actions .button.bdm-add-to-cart-button:hover,
.bdm-return-to-shop a.button.wc-backward:hover {
    background-color: #00A651 !important;
    color: #F7F5FF !important;
}

/* Floating success/error notice for AJAX Wishlist */
.bdm-wishlist-notice {
    position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%);
    padding: 12px 25px; background-color: #333; color: white;
    border-radius: 5px; z-index: 100000; font-size: 14px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2); opacity: 0; visibility: hidden;
    transition: opacity 0.3s ease, visibility 0s linear 0.3s, bottom 0.3s ease;
}
.bdm-wishlist-notice.show {
    opacity: 1; visibility: visible; bottom: 30px; transition-delay: 0s;
}
.bdm-wishlist-notice.success { background-color: #4CAF50; }
.bdm-wishlist-notice.error { background-color: #f44336; }