/* Header cart: an icon with a badge on top. The count never changes the width of the header. */
.mini-shop-cart-module { display: inline-flex; }
.mini-shop-cart-module .mini-shop__cart-link { position: relative; display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 999px; color: inherit; text-decoration: none; }
.mini-shop-cart-module .mini-shop__cart-link:hover { background: color-mix(in srgb, currentColor 8%, transparent); }
.mini-shop-cart-module .mini-shop__cart-link:focus-visible { outline: var(--nw-focus-width, 2px) solid var(--nw-focus, currentColor); outline-offset: 2px; }
.mini-shop-cart-module .mini-shop__cart-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.mini-shop-cart-module .mini-shop__cart-count { position: absolute; top: .15rem; right: 0; min-width: 1.15rem; height: 1.15rem; padding: 0 .3rem; border-radius: 999px; background: var(--nw-accent, CanvasText); color: var(--nw-accent-contrast, Canvas); font-size: .7rem; font-weight: 700; line-height: 1.15rem; text-align: center; }
.mini-shop-cart-module .mini-shop__cart-count:empty { display: none; }

/* Cart sheet */
.mini-shop-cart-sheet {
  /* The theme surface lies over the system canvas, so a transparent default still gives an opaque sheet. */
  --ss-bg: linear-gradient(var(--nw-surface-sheet, var(--nw-surface, transparent)) 0 0), Canvas;
  --ss-fg: inherit;
  --ss-radius: var(--nw-radius-card, 1rem);
  --ss-drawer-size: min(28rem, 100vw - 1rem);
  --ss-padding: 1.25rem;
}
.mini-shop-cart-sheet .mini-shop__panel { padding: 0; border: 0; background: transparent; }
.mini-shop-cart-sheet .mini-shop__cart-layout { grid-template-columns: 1fr; gap: var(--nw-space-md, 1.25rem); }
.mini-shop-cart-sheet .mini-shop__line { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "image info total" "image qty remove"; }
.mini-shop-cart-sheet .mini-shop__line > .mini-shop__thumbnail { width: 4rem; height: 4rem; }
.mini-shop-cart-sheet .mini-shop__line > .mini-shop__stepper { justify-self: start; }
.mini-shop-cart-sheet .mini-shop__remove { justify-self: end; align-self: center; }
.mini-shop-cart-sheet .mini-shop__summary { border: 0; padding: 0; background: none; }
.mini-shop-cart-sheet .ss-close { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; padding: 0; border: 1px solid var(--nw-border, color-mix(in srgb, currentColor 18%, transparent)); border-radius: 999px; background: transparent; color: inherit; font: inherit; font-size: 1.15rem; line-height: 1; cursor: pointer; }
.mini-shop-cart-sheet .ss-close:hover { background: color-mix(in srgb, currentColor 8%, transparent); }
