a.pc-swatch,a.pc-mem{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit}

/* WordPress / WooCommerce integration layer.  Keep storefront cart layouts
   independent from the legacy static demo styles. */
.cart-empty {
  max-width: 760px;
  margin: 44px 0 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.cart-empty__title { margin: 0; font-size: 30px; line-height: 1.1; font-weight: 600; color: #242424; }
.cart-empty__text { margin: 14px 0 28px; font-size: 17px; line-height: 1.45; color: #777; }
.cart-empty__mark { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 18px; border: 2px solid #ff7629; border-radius: 50%; font-size: 25px; color: #ff7629; }
.cart-empty .btn-more { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-width: 240px; text-decoration: none; }

/* The empty state is narrower than the product list, but its left edge must
   still sit on the shared 1512px desktop grid rather than at viewport x=0. */
@media (min-width: 1170px) {
  .woocommerce-cart .cart-empty.container {
    margin-left: calc((100% - 1512px) / 2);
    margin-right: 0;
  }
}

@media (max-width: 1169px) {
  /* A stale no-scroll class must never lock cart, checkout or 404 pages. */
  html:has(body.woocommerce-cart):not(:has(.flt.is-sheet)),
  html:has(body.woocommerce-checkout):not(:has(.flt.is-sheet)),
  html:has(body.error404):not(:has(.flt.is-sheet)) {
    overflow-y: auto !important;
  }
  body.woocommerce-cart,
  body.woocommerce-checkout,
  body.error404 { overflow-y: auto !important; min-height: 100%; }
  body.woocommerce-cart .page,
  body.woocommerce-checkout .page,
  body.error404 .page {
    min-width: 0 !important;
    min-height: 100vh;
    overflow: visible !important;
    zoom: 1 !important;
  }
}

@media (max-width: 767px) {
  .cart-head { margin-top: 26px !important; }
  .cart-head__title { font-size: 36px !important; }
  .woocommerce-cart .cart.container {
    display: flex;
    flex-direction: column;
    width: auto;
    margin: 28px var(--gut) 0;
    gap: 20px;
  }
  .woocommerce-cart .cart__main,
  .woocommerce-cart .cart__side { width: 100%; }
  .woocommerce-cart .cart__main { gap: 16px; }
  .woocommerce-cart .cart__list { gap: 12px; }
  .woocommerce-cart .cart-item {
    display: grid;
    grid-template-columns: 88px minmax(0,1fr);
    gap: 12px;
    width: 100%;
    height: auto;
    min-height: 128px;
    padding: 14px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(20,20,20,.06);
  }
  .woocommerce-cart .cart-item__img,
  .woocommerce-cart .cart-item__img img { width: 88px; height: 88px; }
  .woocommerce-cart .cart-item__info { min-width: 0; padding: 0 32px 0 0; }
  .woocommerce-cart .cart-item__name { font-size: 15px; line-height: 1.25; }
  .woocommerce-cart .cart-item__price { margin-top: 8px; font-size: 18px; }
  .woocommerce-cart .qty { grid-column: 2; margin: 0; justify-self: start; }
  .woocommerce-cart .cart-del { position: absolute; right: 12px; top: 12px; width: 28px; height: 28px; }
  .woocommerce-cart .cart-del img { width: 100%; height: 100%; }
  .woocommerce-cart .cart__side { order: 2; }
  .woocommerce-cart .cart-sum { width: 100%; padding: 22px; border-radius: 16px; background: #fff; }
  .woocommerce-cart .cart-form__btn { width: 100%; }
  .cart-empty { margin: 28px var(--gut) 0; padding: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .cart-empty__title { font-size: 24px; }
  .cart-empty__text { font-size: 16px; }
  .cart-empty .btn-more { width: 100%; min-width: 0; }
}
