/* Majesty cart panel (Figma 70:4281). ACSS tokens first. */
.cart-panel { display: flex; flex-direction: column; background: var(--mj-bg-surface); border: 1px solid var(--mj-border-default); border-radius: var(--radius-xl); overflow: hidden; }
.cart-panel__head { display: flex; align-items: center; justify-content: space-between; padding: 20px var(--space-l); }
.cart-panel__heading { margin: 0; font-size: var(--h5); font-weight: 600; line-height: 1.4; color: var(--text-dark); }
.cart-panel__count { padding: 2px 10px; border-radius: var(--radius-circle); background: var(--primary); color: var(--white); font-size: var(--text-s); font-weight: 600; line-height: 1.4; }
.cart-panel__count[hidden] { display: none; }
.cart-panel .widget_shopping_cart_content { display: flex; flex-direction: column; }
.cart-panel__items { display: flex; flex-direction: column; gap: var(--space-m); margin: 0; padding: 0 var(--space-l); list-style: none; max-block-size: 50vh; overflow-y: auto; }
.cart-panel__item { display: flex; flex-direction: column; gap: var(--space-s); margin: 0; padding: 0; }
.cart-panel__item + .cart-panel__item { padding-block-start: var(--space-m); border-block-start: 1px solid var(--mj-border-default); }
.cart-panel__top { display: flex; align-items: center; gap: var(--space-s); }
.cart-panel__thumb { flex-shrink: 0; inline-size: 52px; block-size: 52px; border-radius: var(--radius-circle); background: var(--mj-bg-plate); overflow: hidden; }
.cart-panel__thumb-img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.cart-panel__name { flex: 1 1 auto; min-inline-size: 0; display: flex; flex-direction: column; gap: 2px; }
.cart-panel__title { margin: 0; font-size: var(--text-s); font-weight: 600; line-height: 1.4; color: var(--text-dark); }
.cart-panel__meta { margin: 0; font-size: var(--text-xs); line-height: 1.6; color: var(--text-dark-muted); }
.cart-panel__bottom { display: flex; align-items: center; justify-content: space-between; }
.cart-panel__qty { margin: 0; font-size: var(--text-s); line-height: 1.65; color: var(--text-dark-muted); }
.cart-panel .cart-panel__remove { position: static; display: inline-flex; align-items: center; gap: 4px; inline-size: auto; block-size: auto; font-size: var(--text-xs); line-height: 1.6; color: var(--text-dark-muted); text-decoration: none; background: none; }
.cart-panel .cart-panel__remove:hover { color: var(--primary); background: none; }
.cart-panel__remove svg { inline-size: 16px; block-size: 16px; }
.cart-panel__price { margin: 0; font-size: var(--text-m); font-weight: 700; line-height: 1.3; color: var(--text-dark); white-space: nowrap; }
.cart-panel__totals { display: flex; flex-direction: column; gap: 10px; padding: 20px var(--space-l) var(--space-l); }
.cart-panel__total { display: flex; align-items: center; justify-content: space-between; padding-block-start: 10px; border-block-start: 1px solid var(--mj-border-default); }
.cart-panel__total-label { margin: 0; font-size: var(--h6); font-weight: 600; line-height: 1.45; color: var(--text-dark); }
.cart-panel__total-value { margin: 0; font-size: var(--mj-price-l); font-weight: 800; line-height: 1.2; color: var(--text-dark); }
.cart-panel__note { display: flex; align-items: center; gap: 6px; margin: 0; padding: 10px var(--space-s); border-radius: 8px; background: var(--mj-bg-info-subtle); font-size: var(--text-xs); line-height: 1.6; color: var(--text-dark); }
.cart-panel__note svg { flex-shrink: 0; inline-size: 16px; block-size: 16px; }
.cart-panel__cta { inline-size: 100%; text-align: center; }
.cart-panel__edit { align-self: center; font-size: var(--text-s); font-weight: 600; line-height: 1.4; color: var(--secondary); text-decoration: none; }
.cart-panel__edit:hover { text-decoration: underline; }
.cart-panel__empty { display: flex; flex-direction: column; gap: var(--space-s); padding: 0 var(--space-l) var(--space-l); font-size: var(--text-s); color: var(--text-dark-muted); }
.cart-panel__empty p { margin: 0; }
.cart-panel .blockUI.blockOverlay { background: var(--mj-bg-surface) !important; }

/* Quantity stepper (cart-panel.js). Same look as the product form stepper, compact for the panel. */
.cart-panel__stepper { display: inline-flex; align-items: center; border: 1.5px solid var(--mj-border-input); border-radius: var(--radius-m); background: var(--mj-bg-surface); }
.cart-panel__stepper[aria-busy="true"] { opacity: .6; }
.cart-panel__step { display: grid; place-items: center; inline-size: 36px; block-size: 36px; padding: 0; border: 0; background: none; color: var(--text-dark); cursor: pointer; }
.cart-panel__step svg { inline-size: 16px; block-size: 16px; }
.cart-panel__step:disabled { opacity: .35; cursor: not-allowed; }
.cart-panel__step:focus-visible { outline: 3px solid var(--focus-color); outline-offset: 2px; }
.cart-panel__qty-value { min-inline-size: 24px; text-align: center; font-size: var(--text-s); font-weight: 700; line-height: 1.4; color: var(--text-dark); }
