/* Cart drawer line-item styling for the headless clone (matches Dawn tone). */
cart-drawer .drawer__inner { padding: 0; }

/* Once cart.js takes over, hide every native drawer panel (empty state +
   custom header/body/footer with upsells); our .pl-cart-root renders both
   the empty and filled states, so no leftover products show. */
cart-drawer.pl-managed .drawer__inner > :not(.pl-cart-root) {
  display: none !important;
}
.pl-cart-root { display: flex; flex-direction: column; height: 100%; position: relative; }
/* Close (X) anchored to the TOP-right of the drawer (Dawn centers it by default) */
.pl-cart-root .drawer__close {
  position: absolute;
  top: 1.4rem;
  right: 1.4rem;
  left: auto;
  transform: none;
  min-width: 4.4rem;
  min-height: 4.4rem;
  z-index: 3;
}
.pl-cart-head { padding-right: 5rem; }

.pl-cart-empty {
  flex: 1 1 auto;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 2rem;
  text-align: center; padding: 2.5rem;
}
.pl-cart-empty__title { font-size: 2.2rem; font-weight: 600; }

.pl-cart-head {
  font-size: 1.8rem;
  font-weight: 600;
  padding: 2rem 2.5rem 1rem;
  border-bottom: .1rem solid rgba(var(--color-foreground), .1);
}
.pl-cart-items {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 1rem 2.5rem;
}
.pl-cart-item {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 1.5rem;
  padding: 1.5rem 0;
  border-bottom: .1rem solid rgba(var(--color-foreground), .08);
}
.pl-cart-item__img {
  width: 8rem; height: 8rem;
  object-fit: cover;
  border: .1rem solid rgba(var(--color-foreground), .1);
  border-radius: .4rem;
}
.pl-cart-item__title { font-weight: 600; margin: 0 0 .3rem; line-height: 1.3; }
.pl-cart-item__variant { font-size: 1.3rem; opacity: .65; margin: 0 0 .6rem; }
.pl-cart-item__row {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: .6rem;
}
.pl-cart-item__price { font-weight: 600; }
.pl-qty {
  display: inline-flex; align-items: center;
  border: .1rem solid rgba(var(--color-foreground), .2);
  border-radius: .4rem;
}
.pl-qty button {
  width: 3.2rem; height: 3.2rem;
  background: none; border: 0; cursor: pointer;
  font-size: 1.8rem; line-height: 1; color: rgb(var(--color-foreground));
}
.pl-qty span { min-width: 2.4rem; text-align: center; font-size: 1.4rem; }
.pl-cart-item__remove {
  margin-top: .8rem;
  background: none; border: 0; padding: 0; cursor: pointer;
  font-size: 1.3rem; text-decoration: underline; opacity: .6;
  color: rgb(var(--color-foreground));
}
.pl-cart-foot {
  padding: 2rem 2.5rem;
  border-top: .1rem solid rgba(var(--color-foreground), .15);
}
.pl-cart-subtotal {
  display: flex; justify-content: space-between;
  font-size: 1.6rem; font-weight: 600; margin-bottom: .6rem;
}
.pl-cart-note { font-size: 1.3rem; opacity: .6; margin: 0 0 1.4rem; }
.pl-cart-checkout { cursor: pointer; }
