/* bio-quickcart: "+" and stepper on product cards, availability line, toast. */

/* The theme's hover-only "In den Warenkorb" overlay; the "+" replaces it. */
.component__productbox-quickadd { display: none !important; }

/* Wraps the card picture and anchors the "+" to its bottom corner. Takes over
   the picture's place in the card column (flex fill and bottom margin). */
.bio-qc-media {
    position: relative;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin-bottom: 1.5rem;
}
.bio-qc-media > .component__productbox-picture { margin-bottom: 0 !important; }

/* #6f9416: brand green darkened to 3.5:1 against the white card. */
.bio-qc {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    margin: 0;
}
.bio-qc__add,
.bio-qc__btn {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    color: #fff;
    cursor: pointer;
}
.bio-qc__add {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #6f9416;
    box-shadow: 0 2px 6px rgba(17, 34, 17, 0.25);
    transition: background-color 0.15s ease, transform 0.15s ease;
}
.bio-qc__add:hover { background: #546a16; }
.bio-qc__add:active { transform: scale(0.94); }
.bio-qc__add:focus-visible,
.bio-qc__btn:focus-visible {
    outline: 2px solid #121212;
    outline-offset: 2px;
}

.bio-qc__stepper {
    display: none;
    align-items: center;
    height: 44px;
    border-radius: 22px;
    background: #6f9416;
    color: #fff;
    box-shadow: 0 2px 6px rgba(17, 34, 17, 0.25);
}
/* The stepper needs the script; without it the "+" stays (plain submit). */
.bio-qc-js .bio-qc.is-in-cart .bio-qc__add { display: none; }
.bio-qc-js .bio-qc.is-in-cart .bio-qc__stepper { display: inline-flex; }
.bio-qc__btn {
    width: 40px;
    height: 44px;
    border-radius: 22px;
    background: transparent;
}
.bio-qc__btn:hover { background: rgba(0, 0, 0, 0.15); }
.bio-qc__btn:disabled {
    opacity: 0.45;
    cursor: default;
    background: transparent;
}
.bio-qc__count {
    min-width: 1.5rem;
    text-align: center;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.bio-qc.is-busy .bio-qc__count { opacity: 0.6; }
.bio-qc__icon-bin { display: none; }
.bio-qc__btn--dec.is-remove .bio-qc__icon-minus { display: none; }
.bio-qc__btn--dec.is-remove .bio-qc__icon-bin { display: inline; }

/* Mini cart: the stepper sits in the line, left of the price, and replaces
   the "n x" before the title. Both need the script (plain amounts without). */
.bio-qc--mini {
    position: static;
    display: none;
    align-self: center;
}
.bio-qc-js .bio-qc--mini { display: block; }
.bio-qc-js .bio-qc-nojs { display: none; }
.bio-qc--mini .bio-qc__stepper {
    height: 36px;
    border-radius: 18px;
    box-shadow: none;
}
.bio-qc--mini .bio-qc__btn {
    width: 34px;
    height: 36px;
    border-radius: 18px;
}

/* Availability line under the price. */
.bio-qc-stock {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.35rem;
    font-size: 0.8125rem;
    line-height: 1.3;
}
.bio-qc-stock__dot {
    flex: none;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: currentColor;
}
.bio-qc-stock--instock { color: #3f6212; }
.bio-qc-stock--low,
.bio-qc-stock--reorder { color: #9a5b00; }
.bio-qc-stock--soldout { color: #6c757d; }

/* Confirmation after a change, bottom centre. */
.bio-qc-toast {
    position: fixed;
    left: 50%;
    bottom: max(1rem, env(safe-area-inset-bottom));
    z-index: 1090;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: max-content;
    max-width: calc(100vw - 2rem);
    padding: 0.75rem 1rem;
    border-radius: 6px;
    background: #121212;
    color: #fff;
    font-size: 0.9375rem;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
    opacity: 0;
    transform: translate(-50%, 1rem);
    transition: opacity 0.2s ease, transform 0.2s ease;
}
.bio-qc-toast[hidden] { display: none; }
.bio-qc-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}
.bio-qc-toast__text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bio-qc-toast__link {
    color: #c5e17a;
    font-weight: 600;
    white-space: nowrap;
}
.bio-qc-toast__link:hover { color: #fff; }

@media (prefers-reduced-motion: reduce) {
    .bio-qc__add,
    .bio-qc-toast { transition: none; }
}
