.ritter-carts{margin:0 0 1.5rem;position:relative;color:var(--bs-body-color,#252525)}
.ritter-carts-toolbar{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid #d6d6d6;border-radius:8px;background:#fff}
.ritter-carts summary{list-style:none;cursor:pointer}.ritter-carts summary::-webkit-details-marker{display:none}
.ritter-carts-picker{position:relative;min-width:220px;flex:1}.ritter-carts-picker summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:44px}
.ritter-carts small{display:block;color:#626262;font-size:.8rem}.ritter-carts strong{font-weight:600;overflow-wrap:anywhere}.ritter-carts-picker strong{font-size:1.1rem}
.ritter-carts-menu{position:absolute;top:calc(100% + 12px);left:-1rem;min-width:100%;width:360px;max-width:calc(100vw - 48px);padding:.5rem;background:#fff;border:1px solid #d6d6d6;border-radius:8px;box-shadow:0 10px 25px #0002;z-index:1050}
.ritter-carts-menu-heading{padding:.5rem;margin:0;font-size:.85rem;color:#626262}.ritter-carts-menu form{margin:0}
.ritter-cart-option{display:flex;align-items:center;gap:.75rem;justify-content:space-between;width:100%;border:0;border-radius:4px;background:none;text-align:left;padding:.75rem;min-height:56px}.ritter-cart-option>span:first-child{flex:1}.ritter-cart-option:hover,.ritter-cart-option.is-active{background:#f4f4f4}.ritter-cart-option.is-active{box-shadow:inset 3px 0 var(--bs-primary,#e10600)}
.ritter-cart-price-note{padding:.5rem .75rem}.ritter-cart-new{border:0;border-top:1px solid #eee;background:none;width:100%;text-align:left;padding:1rem .75rem;min-height:48px}
.ritter-cart-manage{position:relative}.ritter-cart-manage summary{display:grid;place-items:center;min-width:44px;min-height:44px}.ritter-cart-manage .ritter-carts-menu{left:auto;right:0;width:210px}.ritter-cart-manage button{border:0;background:none;display:block;text-align:left;width:100%;min-height:44px;padding:.75rem}
.ritter-cart-hint{margin:.65rem 0 0;font-size:.85rem;color:#626262}.ritter-cart-header-name{display:block;max-width:180px;text-overflow:ellipsis;overflow:hidden;font-size:.75rem;text-align:right;white-space:nowrap}
.ritter-cart-dialog{border:1px solid #ddd;border-radius:10px;padding:1.5rem;max-width:480px;width:calc(100vw - 32px);color:inherit}.ritter-cart-dialog::backdrop{background:#0006}.ritter-cart-dialog h2{font-size:1.4rem;margin:0 0 1.5rem}.ritter-cart-dialog label{display:block}.ritter-cart-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap}
.offcanvas .ritter-carts-menu{width:calc(100vw - 64px);max-width:360px}
@media(max-width:575px){.ritter-carts-toolbar{gap:.5rem}.ritter-carts-picker{min-width:0}.ritter-carts-menu{width:calc(100vw - 64px)}.ritter-cart-dialog-actions .btn{flex:1}}
.ritter-carts-menu{max-height:min(65vh,480px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:575px){.ritter-cart-dialog-actions{flex-direction:column;align-items:stretch}.ritter-cart-dialog-actions .btn{flex:auto;width:100%}}

/* The native focus trap focuses the panel after reopening; only controls need a visible ring. */
.offcanvas.cart-offcanvas:has(.ritter-carts):focus-visible{box-shadow:none}
