/* Bulldog Wishlist — heart button */
button.bf-wishlist-heart, a.bf-wishlist-heart { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 2px solid #000000 !important; border-radius: 50%; background-color: #ffffff !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); cursor: pointer; line-height: 1; vertical-align: middle; text-decoration: none; color: #666666; transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease, border-color 0.15s ease; }
button.bf-wishlist-heart:hover:not(:disabled), a.bf-wishlist-heart:hover { background-color: #000000 !important; border-color: #000000 !important; transform: scale(1.05); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25); }
button.bf-wishlist-heart:hover .bf-wishlist-heart__icon,
a.bf-wishlist-heart:hover .bf-wishlist-heart__icon { background-color: #ffffff !important; }
button.bf-wishlist-heart.is-active:hover .bf-wishlist-heart__icon,
a.bf-wishlist-heart.is-active:hover .bf-wishlist-heart__icon { background-color: #e81d32 !important; }
button.bf-wishlist-heart:disabled { opacity: 0.6; cursor: wait; }
.bf-wishlist-heart__icon { display: block; width: 1.5rem; height: 1.4rem; background-color: currentColor; /* CSS heart via mask so fill color follows currentColor */ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E"); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.5)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35)); }
/* Unfilled: dark gray heart on white circle */
button.bf-wishlist-heart:not(.is-active) .bf-wishlist-heart__icon,
a.bf-wishlist-heart:not(.is-active) .bf-wishlist-heart__icon { opacity: 1; background-color: #333333; }
/* Active / filled brand red */
button.bf-wishlist-heart.is-active, a.bf-wishlist-heart.is-active { color: #e81d32; }
button.bf-wishlist-heart.is-active .bf-wishlist-heart__icon,
a.bf-wishlist-heart.is-active .bf-wishlist-heart__icon { opacity: 1; background-color: #e81d32; }
button.bf-wishlist-heart:focus-visible, a.bf-wishlist-heart:focus-visible { outline: 2px solid #e81d32; outline-offset: 2px; }
/* Wishlist page */
.bf-wishlist-container { max-width: 900px; margin: 2rem auto; padding: 0 1rem; }
.bf-wishlist-heading { margin: 0 0 1.25rem; font-size: 1.5rem; font-weight: 700; color: #000000; font-family: inherit; }
.bf-wishlist-actions { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid #e1e1e1; }
.bf-wishlist-download-pdf { display: inline-block !important; padding: 0.4rem 0.85rem !important; border: 0 !important; border-radius: 4px !important; background: #000000 !important; color: #ffffff !important; font-family: inherit !important; font-size: 0.8rem !important; font-weight: 600; letter-spacing: 0.02em; line-height: 1.4 !important; text-decoration: none !important; text-transform: uppercase; transition: background-color 0.15s ease; }
.bf-wishlist-download-pdf:hover, .bf-wishlist-download-pdf:focus { background: #333333 !important; color: #ffffff !important; }
.bf-wishlist-email-toggle { display: inline-block !important; padding: 0.4rem 0.85rem !important; border: 2px solid #faed33 !important; border-radius: 4px !important; background: #faed33 !important; color: #000000 !important; font-family: inherit !important; font-size: 0.8rem !important; font-weight: 600; letter-spacing: 0.02em; line-height: 1.4 !important; text-decoration: none !important; text-transform: uppercase; cursor: pointer; transition: background-color 0.15s ease; }
.bf-wishlist-email-toggle:hover, .bf-wishlist-email-toggle:focus { background: #f5d800 !important; border-color: #f5d800 !important; color: #000000 !important; }
.bf-wishlist-email-form { flex: 1 0 100%; width: 100%; margin-top: 1rem; padding: 1rem; border: 1px solid #e1e1e1; border-radius: 8px; background: #fbfbfb; }
.bf-wishlist-email-form__inner label { display: block; margin-top: 0.75rem; margin-bottom: 0.25rem; color: #333333; font-family: inherit !important; font-size: 0.85rem; font-weight: 600; }
.bf-wishlist-email-form__inner label:first-child { margin-top: 0; }
.bf-wishlist-email-form__inner input, .bf-wishlist-email-form__inner textarea { box-sizing: border-box; width: 100%; padding: 0.5rem; border: 1px solid #bbbbbb; border-radius: 4px; font: inherit; font-family: inherit !important; }
.bf-wishlist-email-send { display: inline-block !important; margin-top: 0.75rem !important; padding: 0.4rem 0.85rem !important; border: 2px solid #faed33 !important; border-radius: 4px !important; background: #faed33 !important; color: #000000 !important; font-family: inherit !important; font-size: 0.8rem !important; font-weight: 600; letter-spacing: 0.02em; line-height: 1.4 !important; text-decoration: none !important; text-transform: uppercase; cursor: pointer; transition: background-color 0.15s ease; }
.bf-wishlist-email-send:hover, .bf-wishlist-email-send:focus { background: #f5d800 !important; border-color: #f5d800 !important; color: #000000 !important; }
.bf-wishlist-email-status { display: inline-block; margin-left: 0.75rem; color: #666666; font-size: 0.85rem; }
.bf-wishlist-list { display: flex; flex-direction: column; gap: 1.25rem; }
.bf-wishlist-item { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border: 1px solid #e1e1e1; border-radius: 8px; background: #ffffff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06); transition: box-shadow 0.15s ease; }
.bf-wishlist-item:hover { box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); }
.bf-wishlist-item__thumb { flex: 0 0 90px; width: 90px; height: 90px; overflow: hidden; border: 1px solid #e1e1e1; border-radius: 6px; }
.bf-wishlist-item__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bf-wishlist-item__info { flex: 1 1 12rem; min-width: 0; }
.bf-wishlist-item__name { display: inline-block; margin-bottom: 0.35rem; color: #000000; font-family: inherit !important; font-size: 1.05rem; font-weight: 600; text-decoration: none; }
.bf-wishlist-item__name:hover, .bf-wishlist-item__name:focus { color: #e81d32; }
.bf-wishlist-item__price { color: #e81d32; font-family: inherit !important; font-size: 1rem; font-weight: 700; }
.bf-wishlist-item__qty { display: flex; align-items: center; gap: 0.5rem; flex: 0 0 auto; margin-top: 0; }
.bf-wishlist-item__qty label { margin-right: 0; color: #666666; font-size: 0.8rem; white-space: nowrap; }
.bf-wishlist-item__qty .bf-wishlist-qty-input { flex-shrink: 0; width: 3.5rem; padding: 0.3rem; border: 1px solid #bbbbbb; border-radius: 4px; font-family: inherit !important; font-size: 0.95rem !important; line-height: 1.4 !important; text-align: center; color: #333333; }
.bf-wishlist-item__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-left: auto; }
button.bf-wishlist-remove { padding: 0.5rem 1rem; border: 1px solid #bbbbbb; border-radius: 4px; background: transparent; color: #666666; cursor: pointer; font: inherit; font-family: inherit !important; font-size: 0.85rem; line-height: 1.2; transition: all 0.15s ease; }
button.bf-wishlist-remove:hover, button.bf-wishlist-remove:focus { background-color: #e81d32 !important; border-color: #e81d32 !important; color: #ffffff !important; }
button.bf-wishlist-remove:disabled { opacity: 0.6; cursor: wait; }
.bf-wishlist-empty { padding: 3rem 1rem; border: 1px dashed #e1e1e1; border-radius: 8px; background: #fbfbfb; color: #666666; font-size: 1rem; text-align: center; }
.bf-wishlist-login-required { padding: 1rem 0; color: #333333; }
.bf-wishlist-login-required a { color: #e81d32; }
@media (max-width: 480px) {
 .bf-wishlist-item__qty { flex: 1 0 100%; margin-top: 0.5rem; }
}
.bf-sticky-wishlist-link { position: fixed; right: 28px; top: 90%; transform: translateY(-90%); z-index: 9999; display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; background-color: #000000; color: #ffffff; border-radius: 50%; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); transition: transform 0.2s ease, background-color 0.2s ease; text-decoration: none; }
.bf-sticky-wishlist-link:hover { transform: translateY(-89%) scale(1.08); background-color: #000000; color: #ffffff; }
.bf-sticky-wishlist-icon { display: flex; align-items: center; justify-content: center; }
.bf-sticky-wishlist-link:hover .bf-sticky-wishlist-icon svg{ fill: #e81d32; }
.bf-sticky-wishlist-badge { position: absolute; top: -4px; right: -4px; background-color: #e63946; color: #ffffff; font-size: 12px; font-weight: bold; line-height: 1; min-width: 24px; height: 24px; padding: 2px 4px; border-radius: 15px; display: flex; align-items: center; justify-content: center; border: 2px solid #ffffff; }
