/* Panou dropdown Bootstrap, la fel ca AccountMenu (`account-menu-panel`) — aceeași
   idee de ancorare (data-bs-toggle="dropdown" data-bs-display="static"), fără offcanvas,
   fără JS custom. Design: `D:\Evia assets\header\favorite\Meniu favorite.png`. */
.favorite-menu-panel {
    width: 22rem;
    max-width: calc(100vw - 20px);
    max-height: 80vh;
    margin-top: 0.625rem;
    overflow-y: auto;
    border-radius: var(--radius-lg);
    box-shadow: 0 20px 40px rgba(16, 24, 40, 0.15);
}
.favorite-menu-panel.dropdown-menu[data-bs-popper]{
    margin-top: calc(var(--bs-dropdown-spacer) + 0.75rem);
}

/* Sub 768px (Navbar__mobile-tray): "Favorite" devine offcanvas Bootstrap REAL
   (nu dropdown) — panou de jos în sus, model identic cu MiniCart/CategoriesMenu
   (`.mini-cart-offcanvas`/`.categories-menu-offcanvas`). `top:auto` (nu 30vh) —
   conținutul e mai scurt decât cel de cos/categorii, deci înălțimea se adaptează
   la conținut (max 80vh + scroll), fără spațiu mort dedesubt. */
@media (max-width: 767.98px) {
    .favorite-menu-offcanvas {
        top: auto !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        max-height: 80vh;
        overflow-y: auto;
        transform: translateY(100%) !important;
        border-top-left-radius: var(--radius-lg);
        border-top-right-radius: var(--radius-lg);
    }

    .favorite-menu-offcanvas.show:not(.hiding) {
        transform: translateY(0) !important;
    }
}

.favorite-menu__header {
    background-color: var(--color-bg-secondary);
}

.favorite-menu__title {
    font-weight: var(--font-weight-semibold);
    font-size: var(--heading-xs-size);
    color: var(--color-content-primary);
}

.favorite-menu__count {
    background-color: var(--color-bg-primary);
    border: 1px solid var(--color-border-primary);
    border-radius: var(--radius-md);
    padding: 0.375rem 0.75rem;
    font-size: var(--text-s-size);
    color: var(--color-content-primary);
    white-space: nowrap;
}

.favorite-menu__group {
    border-color: var(--color-border-primary) !important;
}

.favorite-menu__item-image {
    width: 3.5rem;
    height: 3.5rem;
    object-fit: cover;
    background-color: var(--color-bg-secondary);
}

.favorite-menu__item-title {
    font-weight: var(--font-weight-regular);
    font-size: var(--text-s-size);
    color: var(--color-content-primary);
}

.favorite-menu__item-status,
.favorite-menu__item-price {
    color: var(--color-content-tertiary);
    font-size: var(--text-s-size);
}

/* "Stoc epuizat" — badge/pastilă (nu doar text colorat, ca „În stoc"), cf.
   "adaugare elemente noi favorite.png"; culorile eșantionate din imagine se
   potrivesc exact cu token-urile semantice existente (nicio culoare nouă). */
.favorite-menu__item--out-of-stock .favorite-menu__item-status {
    background-color: var(--color-bg-negative);
    color: var(--color-content-negative-secondary);
    font-weight: var(--font-weight-medium);
    border-radius: var(--radius-sm);
    padding: 0.0625rem 0.5rem;
}

/* produs indisponibil: imagine grayscale + titlu estompat (tertiary) — restul
   rândului (buton șterge) rămâne neschimbat, doar coșul devine dezactivat mai jos */
.favorite-menu__item--out-of-stock .favorite-menu__item-image {
    filter: grayscale(1);
}

.favorite-menu__item--out-of-stock .favorite-menu__item-title {
    color: var(--color-content-tertiary);
}

/* fundal roșu-pal, identic ca butonul de șters din MiniCart (`mini-cart__qty-btn--remove`) */
.favorite-menu__remove-btn {
    width: 2.25rem;
    height: 2.25rem;
    background-color: var(--color-bg-negative);
    border: none;
    padding: 0;
}

/* buton nou „Adaugă în coș" — reutilizează `basket-dark.svg` (deja folosit de
   ProductCard); starea dezactivată (produs fără stoc) nu e o iconiță nouă, ci
   exact aceeași, la ~40% opacitate — verificat prin eșantionare pixel pe design,
   culoarea rezultată se potrivește aproape exact cu opacity:0.4 peste #101828.
   Opacitatea se aplică DOAR pe iconiță (nu pe tot butonul) — fundalul gri
   (--color-bg-secondary) rămâne plin/vizibil și la disabled, cerut explicit. */
.favorite-menu__cart-btn {
    width: 2.25rem;
    height: 2.25rem;
    background-color: var(--color-bg-secondary);
    border: none;
    padding: 0;
}

.favorite-menu__cart-btn:hover:not(:disabled) {
    background-color: var(--color-bg-tertiary);
}

.favorite-menu__cart-btn:disabled {
    cursor: not-allowed;
}

.favorite-menu__cart-btn:disabled img {
    opacity: 0.4;
}

/* buton plin-albastru, identic ca `search-panel__show-results` */
.favorite-menu__show-all {
    background-color: var(--color-bg-button-primary);
    color: var(--color-content-button-primary);
    font-weight: var(--font-weight-semibold);
    padding: 0.875rem 1rem;
}

.favorite-menu__show-all:hover {
    background-color: var(--color-bg-button-primary-hover);
    color: var(--color-content-button-primary);
}
