/* Ecommerce cart drawer: Shopify plugin markup, Redux redesign tokens. */
.redux-cart-drawer{position:fixed;inset:0;z-index:var(--z-drawer);pointer-events:none;visibility:hidden;color:#fff}
.redux-cart-drawer.is-open{pointer-events:auto;visibility:visible}
.redux-cart-drawer__overlay{position:absolute;inset:0;background:var(--scrim-soft);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity var(--t-base)}
.redux-cart-drawer.is-open .redux-cart-drawer__overlay{opacity:1}
.redux-cart-drawer__content{position:absolute;top:0;right:0;width:min(440px,100%);height:100vh;background:var(--rdx-ink-900);display:flex;flex-direction:column;box-shadow:-20px 0 60px -10px rgba(0,0,0,.4);transform:translateX(100%);transition:transform var(--t-slow)}
.redux-cart-drawer.is-open .redux-cart-drawer__content{transform:translateX(0)}
.redux-cart-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 18px;border-bottom:1px solid var(--stroke-on-dark)}
.redux-cart-drawer__header h3{font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin:0;color:#fff;line-height:1.2}
.redux-cart-drawer__close{position:relative;width:38px;height:38px;border:1px solid var(--stroke-on-dark-strong);background:var(--surface-on-dark-card);color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--t-base),border-color var(--t-base)}
.redux-cart-drawer__close:hover{background:var(--stroke-on-dark);border-color:var(--stroke-on-dark-strong)}
.redux-cart-drawer__close::before,.redux-cart-drawer__close::after{content:"";position:absolute;width:17px;height:2px;background:currentColor;border-radius:99px}
.redux-cart-drawer__close::before{transform:rotate(45deg)}
.redux-cart-drawer__close::after{transform:rotate(-45deg)}
.redux-cart-drawer__body{flex:1;min-height:0;overflow-y:auto;padding:14px 24px}
.redux-cart-drawer__loading{min-height:180px;display:flex;align-items:center;justify-content:center;color:var(--on-dark-4)}
.redux-spinner{width:28px;height:28px;border:2px solid var(--stroke-on-dark-strong);border-top-color:var(--rdx-blue-400);border-radius:50%;animation:reduxSpin .8s linear infinite}
@keyframes reduxSpin{to{transform:rotate(360deg)}}
.redux-cart-drawer__empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;color:var(--on-dark-4);font-size:14px}
.redux-cart-drawer__empty p{margin:0;color:inherit}
.redux-cart-drawer__items{display:flex;flex-direction:column;gap:18px}
.redux-cart-item{display:grid;grid-template-columns:64px minmax(0,1fr) 60px 32px;gap:6px 12px;align-items:center;color:#fff}
.redux-cart-item__image{width:64px;height:64px;border-radius:8px;overflow:hidden;background:#fff}
.redux-cart-item__image img{width:100%;height:100%;object-fit:cover}
.redux-cart-item__info{min-width:0}
.redux-cart-item__title{margin:0;font-size:15px;font-weight:700;line-height:1.3;color:#fff}
.redux-cart-item__price{margin-top:3px;font-size:15px;font-weight:700;color:var(--rdx-blue-400)}
.redux-cart-item__price-original{color:var(--on-dark-5);font-size:12px;text-decoration:line-through;margin-right:6px}
.redux-cart-item__price-free,.redux-cart-item__price-tier,.redux-cart-item__gift-badge,.redux-cart-item__subscription-badge{display:inline-flex;align-items:center;width:max-content;margin-top:5px;padding:3px 8px;border-radius:99px;background:var(--surface-on-dark-card-strong);color:#fff;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.redux-cart-item__price-free{color:#fff;background:var(--rdx-success)}
.redux-cart-item__quantity{display:flex;justify-content:flex-end}
.redux-cart-item__quantity input{width:60px;padding:10px 8px;border-radius:6px;border:0;background:#fff;color:var(--rdx-ink-900);font-weight:700;text-align:center;font-size:15px;font-family:inherit}
.redux-cart-item__quantity--gift{color:#fff;font-weight:800;font-size:13px}
.redux-cart-item__remove{color:var(--on-dark-4);transition:color var(--t-base)}
.redux-cart-item__remove:hover{color:#fff}
.redux-cart-drawer__footer{padding:20px 24px 24px;border-top:1px solid var(--stroke-on-dark);background:var(--scrim-black-15)}
.redux-cart-drawer__subtotal{display:flex;justify-content:space-between;align-items:baseline;font-size:18px;font-weight:700;color:#fff;margin-bottom:14px}
.redux-cart__subtotal-amount{color:var(--rdx-blue-400);font-size:22px}
.redux-cart-drawer .redux-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--hit-min);padding:12px 20px;border:1px solid transparent;border-radius:99px;font-family:inherit;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background var(--t-base),box-shadow var(--t-base),transform var(--t-base),opacity var(--t-base)}
.redux-cart-drawer .redux-btn--primary{background:var(--rdx-blue-500);color:#fff;box-shadow:var(--sh-glow-blue)}
.redux-cart-drawer .redux-btn--primary:hover{background:var(--rdx-blue-600);box-shadow:var(--sh-glow-blue-strong);transform:translateY(-1px)}
.redux-cart-drawer .redux-btn--large{width:100%;padding:16px;font-size:14px}
.redux-cart-drawer .redux-btn:disabled{opacity:.7;cursor:wait;transform:none}
.redux-view-cart-link{display:block;text-align:center;margin-top:10px;color:var(--rdx-blue-400);font-size:13px;font-weight:600;text-decoration:none}
.redux-view-cart-link:hover{color:#fff}
.redux-toast{position:fixed;right:20px;bottom:20px;z-index:var(--z-toast);max-width:min(360px,calc(100vw - 40px));padding:13px 16px;border-radius:8px;background:var(--rdx-ink-900);color:#fff;box-shadow:var(--sh-lg);font-size:13px;font-weight:700}
.redux-toast--success{background:var(--rdx-success)}
.redux-toast--error{background:var(--rdx-danger)}
@media (max-width:520px){
  .redux-cart-drawer__header{padding:20px 18px 16px}
  .redux-cart-drawer__body{padding:14px 18px}
  .redux-cart-drawer__footer{padding:18px}
  .redux-cart-item{grid-template-columns:58px minmax(0,1fr) 54px 28px;gap:6px 10px}
  .redux-cart-item__image{width:58px;height:58px}
  .redux-cart-item__quantity input{width:54px;padding-inline:6px}
}
