.sa-cart-line:last-child { border-bottom: 0; }
.sa-cart-line__photo {
  background: #f7f7f7;
  border-radius: 6px;
  aspect-ratio: 1;
  overflow: hidden;
}
.sa-cart-line__photo img,
.sa-cart-line__img { width: 100%; height: 100%; object-fit: contain; }
.sa-cart-line__title { margin: 0 0 0.55rem; font-size: 1rem; font-weight: 650; line-height: 1.35; }
.sa-cart-line__title a { color: #191919; }
.sa-cart-line__title a:hover { color: var(--sa-action, #0a0a0a); }
.sa-cart-line__qty { display: flex; align-items: center; gap: 0.55rem; margin: 0.35rem 0 0.65rem; }
.sa-cart-line__qty-label { color: #444; font-size: 0.9rem; }
.sa-cart-line__price { margin: 0 0 0.25rem; display: flex; align-items: baseline; gap: 0.5rem; }
.sa-cart-line__now { font-size: 1.2rem; font-weight: 700; color: #191919; }
.sa-cart-line__was { color: #8a8a8a; font-size: 0.95rem; font-weight: 500; }
.sa-cart-line__ship { margin: 0 0 0.45rem; color: #1b7a32; font-weight: 650; font-size: 0.92rem; }
.sa-cart-line__links { display: flex; flex-wrap: wrap; gap: 0.85rem 1.1rem; margin: 0.35rem 0 0; }
.sa-cart-line__buy,
.sa-cart-line__remove,
a.remove.sa-cart-line__remove {
  color: var(--sa-action, #0a0a0a) !important;
  background: none !important;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: underline;
  text-underline-offset: 2px;
  padding: 0;
  border: 0;
}
.sa-cart-update-row { margin: 0.75rem 0 0; }
.sa-cart-free-ship { color: #1b7a32; letter-spacing: 0; }
.woocommerce-cart .checkout-button,
.sa-cart-proceed .checkout-button {
  background: var(--sa-action, #0a0a0a) !important;
  color: #fff !important;
  border-radius: 24px !important;
}
.sa-cart-layout__summary,
.sa-cart-summary { background: #fff; }
@media (max-width: 720px) {
  .sa-cart-line { grid-template-columns: 96px minmax(0, 1fr); }
}

/* PDP mobile fit (360-430px): no horizontal overflow, no gaps/overlaps */
.woocommerce div.product > * { min-width: 0; max-width: 100%; }
.woocommerce div.product .summary { overflow-wrap: anywhere; }
.woocommerce div.product .woocommerce-product-gallery .flex-viewport { height: auto !important; max-width: 100%; }
.woocommerce div.product .woocommerce-product-gallery { overflow: hidden; }
.woocommerce div.product .woocommerce-product-gallery__image img.sa-logo-placeholder {
  object-fit: contain; padding: 22%; background: #f4f4f1; aspect-ratio: 1 / 1; width: 100%;
}
.woocommerce div.product { position: relative; }
.woocommerce div.product > span.onsale { position: absolute; top: .6rem; left: .6rem; z-index: 3; margin: 0; }
@media (max-width: 900px) {
  .woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
  .woocommerce div.product .woocommerce-product-gallery { opacity: 1 !important; top: auto !important; position: relative !important; }
  .sa-single, .sa-single--pdp { padding-top: 1rem; }
}
@media (max-width: 480px) {
  .woocommerce div.product .summary .cart { flex-wrap: wrap; }
  .woocommerce div.product .summary .single_add_to_cart_button { min-width: 0; flex: 1 1 auto; }
  body .sa-svc-fit { flex-wrap: wrap; align-items: flex-start; }
  body .sa-svc-fit > div { flex: 1 1 calc(100% - 44px); min-width: 0; }
  body .sa-svc-fit > a.sa-svc-btn { flex: 1 1 100%; max-width: 100%; text-align: center; box-sizing: border-box; }
  .woocommerce div.product .product_meta { overflow-wrap: anywhere; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .6rem .7rem; }
}
html, body { overflow-x: clip; }

/* PDP gallery: WooCommerce's higher-specificity "position: relative" kept the old sticky
   offset (top: header + 1rem) active, pushing the gallery ~84px below the title.
   Sticky also made it overlap the tabs below, so keep it in normal flow. */
.woocommerce div.product div.images.woocommerce-product-gallery {
  position: relative;
  top: auto;
}
