:root{--rlsc-accent:#000;--rlsc-width:420px;--rlsc-text:#111;--rlsc-muted:#777;--rlsc-line:#d9d9d9;--rlsc-bg:#f5f5f5}

body.rlsc-lock{overflow:hidden}

.rlsc-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:99998;opacity:0;transition:opacity .25s}
.rlsc-overlay:not([hidden]){display:block}
body.rlsc-is-open .rlsc-overlay{opacity:1}

.rlsc-drawer{position:fixed;top:0;right:0;height:100%;width:var(--rlsc-width);max-width:100vw;background:var(--rlsc-bg);color:var(--rlsc-text);z-index:99999;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s ease;box-shadow:-4px 0 24px rgba(0,0,0,.15);font-family:inherit}
body.rlsc-is-open .rlsc-drawer{transform:none}

.rlsc-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 12px}
.rlsc-title{margin:0;font-size:22px;font-weight:500}
.rlsc-close{width:30px;height:30px;border:0;border-radius:50%;background:#000;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0}

.rlsc-body{flex:1;overflow-y:auto;padding:0 24px;display:flex;flex-direction:column}
.rlsc-body.is-loading{opacity:.55;pointer-events:none}

.rlsc-slot:empty{display:none}
.rlsc-slot--before-items{margin-bottom:16px}
.rlsc-slot .fspb-container{margin:0;max-width:100%;text-align:left}

.rlsc-items{list-style:none;margin:0;padding:0}
.rlsc-item{display:flex;gap:16px;padding:12px 0}
.rlsc-item__thumb{flex:0 0 96px}
.rlsc-item__thumb img{width:96px;height:auto;display:block;object-fit:cover}
.rlsc-item__info{flex:1;min-width:0}
.rlsc-item__top{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.rlsc-item__name a{color:inherit;text-decoration:none}
.rlsc-item__price{white-space:nowrap;font-size:16px}
.rlsc-item__meta{margin-top:8px;font-size:13px}
.rlsc-item__meta dl.variation{margin:0}
.rlsc-item__meta dl.variation dt{display:inline;float:none;font-weight:600;clear:none;margin:0}
.rlsc-item__meta dl.variation dd{display:inline;margin:0 0 0 4px}
.rlsc-item__meta dl.variation dd p{display:inline;margin:0}
.rlsc-item__meta dl.variation dd::after{content:"";display:block}
.rlsc-item__actions{display:flex;align-items:center;gap:16px;margin-top:14px}
.rlsc-qty{display:inline-flex;align-items:center;border:1px solid var(--rlsc-line);border-radius:999px;background:#fff;overflow:hidden}
.rlsc-qty__btn{width:34px;height:34px;border:0;background:transparent;font-size:18px;cursor:pointer;color:inherit;padding:0}
.rlsc-qty__val{min-width:28px;text-align:center;font-size:14px}
.rlsc-remove{border:0;background:none;padding:0;font-size:13px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;color:inherit}

.rlsc-slot--after-items{margin-top:auto;padding-top:16px}

.rlsc-empty{padding:40px 0;text-align:center}

.rlsc-footer{position:sticky;bottom:0;background:var(--rlsc-bg);border-top:1px solid var(--rlsc-line);padding:16px 0 24px;margin-top:16px}
.rlsc-subtotal{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;text-transform:uppercase;margin-bottom:16px}
.rlsc-subtotal strong{font-size:22px;font-weight:400;text-transform:none}

.rlsc-btn{display:block;text-align:center;background:var(--rlsc-accent);color:#fff;text-decoration:none;padding:16px 20px;border-radius:999px;font-size:18px;border:0;cursor:pointer}
.rlsc-btn:hover{color:#fff;opacity:.9}

/* Botón "añadir al carrito" mientras se procesa */
form.cart button.rlsc-loading{opacity:.6;pointer-events:none}

@media (max-width:480px){
    .rlsc-drawer{width:100vw}
    .rlsc-header,.rlsc-body{padding-left:16px;padding-right:16px}
}
