.cart-toast {
    position: fixed; right: max(1.25rem, env(safe-area-inset-right));
    bottom: max(1.25rem, env(safe-area-inset-bottom)); z-index: 2100;
    box-sizing: border-box; width: min(390px, calc(100% - 2rem));
    display: flex; align-items: center; gap: .75rem;
    padding: 1rem; border: 1px solid #dfe5ea; border-radius: 12px;
    background: #fafafa; color: #303942; box-shadow: 0 6px 22px rgba(19,42,19,.15);
    font-family: inherit; text-align: left;
    animation: cart-toast-enter .2s ease-out;
}
.cart-toast[hidden] { display: none; }
.cart-toast--error .cart-toast-icon { color: #b54708; }
.product-image-area, .related-image-link { position: relative; }
.stock-badge {
    position: absolute; left: .4rem; bottom: .4rem; z-index: 2;
    display: inline-flex; align-items: center; gap: .25rem;
    padding: .2rem .35rem; border-radius: 999px;
    background: rgba(255,255,255,.95); color: #006b5a;
    font-size: .65rem; font-weight: 600; line-height: 1.3;
    pointer-events: none;
}
.stock-badge::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.stock-badge--out { color: #b54708; }
.cart-toast-icon { width: 22px; height: 22px; flex: 0 0 22px; }
.cart-toast-copy { flex: 1; min-width: 0; }
.cart-toast-copy strong { display: block; font-size: .95rem; line-height: 1.4; font-weight: 600; }
.cart-toast-copy p { margin: .25rem 0 0; font-size: .9rem; line-height: 1.5; color: #687787; overflow-wrap: anywhere; }
.cart-toast-close { align-self: flex-start; flex: 0 0 32px; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #687787; font: inherit; font-size: 1.4rem; cursor: pointer; }
.cart-toast-close:hover { background: #edf0f2; }
.cart-toast-close:focus-visible { outline: 2px solid #006b5a; outline-offset: 2px; }
@keyframes cart-toast-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 768px) {
    .cart-toast { right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); padding: .85rem; }
}
@media (prefers-reduced-motion: reduce) { .cart-toast { animation: none; } }
