/* SMIT KAUFLEISTE */
.smit-kl {
    --smit-kl-accent: #111;
    position: fixed; left: 50%; bottom: var(--smit-kl-offset, 16px); z-index: 1035;
    width: min(980px, calc(100vw - 32px));
    transform: translate(-50%, calc(100% + 40px)); opacity: 0; pointer-events: none;
    transition: transform .4s cubic-bezier(.22, 1, .36, 1), opacity .25s ease;
    font-size: 14px; line-height: 1.3; color: #18181b;
}
.smit-kl.is-visible { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
.smit-kl.is-top { top: calc(var(--smit-kl-top, 0px) + var(--smit-kl-offset, 16px)); bottom: auto; transform: translate(-50%, -150%); }
.smit-kl.is-top.is-visible { transform: translate(-50%, 0); }
.smit-kl-inner {
    display: flex; align-items: center; gap: 14px; padding: 10px 10px 10px 12px;
    background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px);
    border: 1px solid #e4e4e7; border-radius: 20px; box-shadow: 0 20px 50px -18px rgba(0, 0, 0, .35), 0 2px 6px rgba(0, 0, 0, .04);
}
.smit-kl-img { flex: 0 0 52px; width: 52px; height: 52px; object-fit: contain; border-radius: 12px; border: 1px solid #e4e4e7; background: #fafafa; }
.smit-kl-info { flex: 1 1 auto; min-width: 0; }
.smit-kl-name { font-weight: 700; color: #09090b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.smit-kl-meta { display: flex; align-items: center; gap: 12px; margin-top: 3px; font-size: 12.5px; color: #71717a; white-space: nowrap; overflow: hidden; }
.smit-kl-status { display: inline-flex; align-items: center; gap: 6px; }
.smit-kl-status i { width: 8px; height: 8px; border-radius: 50%; background: #16a34a; box-shadow: 0 0 0 3px rgba(22, 163, 74, .15); }
.smit-kl-price b { color: #09090b; font-weight: 700; }
.smit-kl-price small { font-size: 11.5px; }
.smit-kl-qty {
    flex: 0 0 auto; display: flex; align-items: center; height: 44px; border: 1px solid #d4d4d8; border-radius: 999px; background: #fff; overflow: hidden;
}
.smit-kl-qty:focus-within { border-color: var(--smit-kl-accent); }
.smit-kl-qty button { width: 38px; height: 100%; border: 0; background: none; font-size: 20px; line-height: 1; color: #3f3f46; cursor: pointer; }
.smit-kl-qty button:hover:not(:disabled) { color: var(--smit-kl-accent); }
.smit-kl-qty button:disabled { opacity: .3; cursor: default; }
.smit-kl-qty input { width: 76px; height: 100%; border: 0; text-align: center; font-weight: 700; font-size: 15px; font-variant-numeric: tabular-nums; background: none; outline: none; }
.smit-kl-total { flex: 0 0 auto; min-width: 92px; text-align: right; display: flex; flex-direction: column; }
.smit-kl-total small { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: #a1a1aa; font-weight: 600; }
.smit-kl-total b { font-size: 17px; font-weight: 800; color: #09090b; font-variant-numeric: tabular-nums; }
.smit-kl-buy {
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: 9px; height: 46px; padding: 0 22px; border: 0; border-radius: 999px;
    background: var(--smit-kl-accent); color: #fff; font-weight: 700; font-size: 14.5px; white-space: nowrap; cursor: pointer;
    box-shadow: 0 8px 20px -10px var(--smit-kl-accent); transition: transform .15s ease, filter .15s ease;
}
.smit-kl-buy:hover { filter: brightness(1.08); }
.smit-kl-buy:active { transform: scale(.97); }
.smit-kl-buy.is-busy i { animation: smitKlBump .6s ease; }
@keyframes smitKlBump { 30% { transform: translateY(-3px) rotate(-8deg); } 60% { transform: translateY(0) rotate(4deg); } }

/* andere schwebende Elemente über die Leiste heben */
.smit-kl-open .smoothscroll-top, .smit-kl-open .go-to-top, .smit-kl-open #consent-settings-btn {
    transform: translateY(calc(-1 * var(--smit-kl-space, 0px))); transition: transform .4s cubic-bezier(.22, 1, .36, 1);
}

/* Tablet: Gesamtpreis kompakter */
@media (max-width: 991.98px) {
    .smit-kl-meta .smit-kl-status { display: none; }
}
/* Smartphone: volle Breite unten, Button nur mit Symbol */
@media (max-width: 767.98px) {
    .smit-kl, .smit-kl.is-top { left: 0; right: 0; top: auto; bottom: 0; width: 100%; transform: translateY(110%); }
    .smit-kl.is-visible, .smit-kl.is-top.is-visible { transform: translateY(0); }
    .smit-kl-inner { gap: 10px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); border-radius: 18px 18px 0 0; border-width: 1px 0 0; }
    .smit-kl-img { flex-basis: 40px; width: 40px; height: 40px; border-radius: 10px; }
    .smit-kl-name { font-size: 13px; }
    .smit-kl-total { display: none; }
    .smit-kl-qty { height: 40px; }
    .smit-kl-qty button { width: 30px; }
    .smit-kl-qty input { width: 54px; font-size: 14px; }
    .smit-kl-buy { width: 46px; height: 44px; padding: 0; justify-content: center; }
    .smit-kl-buy span { display: none; }
    .smit-kl-buy i { font-size: 17px; }
}
@media (max-width: 374.98px) { .smit-kl-img { display: none; } }
@media (prefers-reduced-motion: reduce) { .smit-kl, .smit-kl-buy { transition: none; } }
