/* SENSUENA – Phase 176: Warenkorb-Seitenleiste, Endpreis am Kaufknopf, Kasse */
.kb-scrim{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.62);opacity:0;pointer-events:none;transition:opacity .3s}
.kb-scrim.on{opacity:1;pointer-events:auto}
.kb{position:fixed;top:0;right:0;bottom:0;z-index:71;width:min(440px,100%);display:flex;flex-direction:column;background:var(--bg-2);border-left:1px solid var(--line);transform:translateX(103%);visibility:hidden;transition:transform .42s var(--ease,cubic-bezier(.22,.7,.2,1)),visibility 0s .42s}
.kb.on{transform:none;visibility:visible;transition:transform .42s var(--ease,cubic-bezier(.22,.7,.2,1))}
.kb-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}
.kb-head h2{margin:0;font:400 28px/1 var(--serif);color:var(--ink)}
.kb-x{width:44px;height:44px;border-radius:50%;border:1px solid var(--glass-line);background:transparent;color:var(--ink);font-size:20px;line-height:1;cursor:pointer}
.kb-x:hover{border-color:var(--ink)}
.kb-body{flex:1;min-height:0;display:flex;flex-direction:column}
.kb-body.is-busy{opacity:.55;pointer-events:none}
.kb-in{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:16px;padding:18px 20px 24px}
.kb-in>*{flex:none}
.kb-foot{flex:none;display:flex;flex-direction:column;gap:10px;padding:14px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg-2)}
.kb-foot .kb-total{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0;font-size:16px;color:var(--ink)}
.kb-foot .kb-total span{display:flex;flex-direction:column;font-weight:600}
.kb-foot .kb-total small{font-weight:400;font-size:13px;color:var(--muted)}
.kb-foot .kb-total b{font:400 28px/1 var(--serif)}
.kb-load{padding:40px 20px;color:var(--muted);font-size:15px}
.kb-ok{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);background:rgba(91,196,145,.1);border:1px solid rgba(91,196,145,.3);font-size:15px;color:var(--ink)}
.kb-ok svg{width:20px;height:20px;flex:none;margin-top:1px;fill:none;stroke:var(--ok);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.kb-ok span{display:flex;flex-direction:column;gap:2px}
.kb-ok small{color:var(--ink-2);font-size:13px}
.kb-next{color:var(--brass)}
.kb-film{margin:0;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:#05060f}
.kb-film video{display:block;width:100%;aspect-ratio:2/1;object-fit:cover;object-position:50% 58%}
.kb-film figcaption{padding:8px 12px;font-size:12.5px;line-height:1.35;color:var(--muted);background:var(--card)}
.kb-lines{list-style:none;margin:0;padding:0}
.kb-li{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
.kb-li:first-child{padding-top:0}
.kb-th{position:relative;display:block;width:76px;height:76px;border-radius:10px;overflow:hidden;background:var(--card)}
.kb-th img{width:100%;height:100%;object-fit:cover;display:block}
.kb-th.is-own{background:#1a120c}
.kb-th.is-own img{object-fit:contain}
.kb-lb{display:flex;flex-direction:column;gap:2px;min-width:0}
.kb-lb b{font-weight:600;color:var(--ink);line-height:1.25}
.kb-lb small{font-size:13px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}
.kb-lb .kb-own{color:var(--brass)}
.kb-lb form{margin-top:4px}
.kb-lb .link-btn{font-size:13px;min-height:28px;padding:0}
.kb-pr{font-weight:600;white-space:nowrap;color:var(--ink)}
.kb-sum{margin:0;display:flex;flex-direction:column;gap:6px;font-size:15px;color:var(--ink-2)}
.kb-sum>div{display:flex;justify-content:space-between;gap:16px}
.kb-sum dt,.kb-sum dd{margin:0}
.kb-go{width:100%;justify-content:center;text-align:center}
.kb-trust{margin:-2px 0 0;text-align:center;font-size:13px;color:var(--muted)}
.kb .pay-logos{justify-content:center;margin:0}
.kb-more{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin:0}
.kb-more .link-btn{font-size:14px}
.kb-empty{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.kb-empty-t{margin:0;font:400 24px/1.15 var(--serif);color:var(--ink)}
.kb-empty .hint{margin:0}
.kb-picks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;width:100%}
.kb-picks a{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.kb-picks img{width:72px;height:72px;border-radius:10px;object-fit:cover;flex:none}
.kb-picks span{display:flex;flex-direction:column;gap:2px}
.kb-picks b{font-weight:600}
.kb-picks small{font-size:13px;color:var(--muted)}
.kb-picks a:hover b{color:var(--brass)}
html.kb-lock,html.kb-lock body{overflow:hidden}

/* Endpreis mit Versand und Lieferdatum direkt über dem Kaufknopf */
.kb-buy{display:flex;flex-direction:column;gap:4px;margin:0 0 4px;padding:14px 16px;border-radius:var(--r-md);background:var(--glass);border:1px solid var(--glass-line)}
.kb-buy-t{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:15px;color:var(--ink-2)}
.kb-buy-t b{font:400 26px/1 var(--serif);color:var(--ink);white-space:nowrap}
.kb-buy small{font-size:13.5px;line-height:1.4;color:var(--muted)}
.kb-buy .kb-free{color:var(--ok)}
.kb-buy .kb-eta{color:var(--ink-2)}
.kb-buy .kb-eta b{font-weight:600;color:var(--ink)}
.up-buybar .kb-bb{display:block;font-size:12px;line-height:1.3;color:var(--ok);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Kasse */
.kb-steps{list-style:none;display:flex;flex-wrap:wrap;gap:6px 10px;margin:-8px 0 10px;padding:0;font-size:14px;color:var(--muted)}
.kb-steps li{display:flex;align-items:center;gap:10px}
.kb-steps li+li::before{content:"";width:18px;height:1px;background:var(--line-strong)}
.kb-steps a{color:var(--ink-2)}
.kb-steps .cur{color:var(--ink);font-weight:600}
.kb-lead{margin:0 0 20px;font-size:16px;color:var(--ink-2)}
.kb-ck-pay{margin:12px 0 0}

@media (max-width:600px){
  .kb-head{padding:14px 16px}
  .kb-in{padding:16px 16px 20px}.kb-foot{padding-inline:16px}
  .kb-li{grid-template-columns:64px minmax(0,1fr) auto;gap:12px}
  .kb-th{width:64px;height:64px}
}
@media (prefers-reduced-motion:reduce){.kb,.kb-scrim{transition:none}}
