.client-product-card {
  border-color: rgba(0, 89, 55, .16);
  background: rgba(255, 255, 255, .72);
  color: #083f2d;
  box-shadow: 0 14px 34px rgba(0, 56, 34, .08);
}

.client-product-card:hover,
.client-product-card:focus-visible {
  border-color: rgba(0, 95, 60, .35);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 42px rgba(0, 56, 34, .14);
}

.client-product-thumb {
  background: rgba(255, 255, 255, .95);
  border-color: rgba(0, 72, 44, .18);
}

.client-product-thumb-img {
  object-fit: cover;
  background: #fff;
}

.client-product-thumb-fallback {
  color: #315f4e;
  background: linear-gradient(180deg, #ffffff, #f0f7f2);
}

.client-product-thumb-fallback span {
  background: #ffe0dc;
  color: #a33223;
}

.client-product-summary h3,
.client-product-bottom strong,
.client-modal-price {
  color: #003b2a;
}

.client-product-meta,
.client-cart-row span {
  color: #4d6b5d;
}

.client-product-bottom span {
  color: #006b44;
}

.client-cart-chip {
  background: rgba(0, 111, 68, .12);
  color: #006b44;
}

.client-cart-chip.owned {
  background: rgba(0, 113, 227, .12);
  color: #0958a5;
}

.client-cart-row {
  background: rgba(255, 255, 255, .86);
  border-color: rgba(0, 72, 44, .14);
  color: #003b2a;
}

.client-cart-row button {
  background: #fff;
  border-color: rgba(0, 72, 44, .2);
  color: #003b2a;
}

#home-cart-open.cart-btn {
  border: 1px solid rgba(0, 72, 44, .14);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,250,246,.94));
  color: #073f2d;
  border-radius: 999px;
  padding: 10px 17px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(0, 72, 44, .08);
  cursor: pointer;
}

#home-cart-open.cart-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(0, 111, 68, .28);
  box-shadow: 0 16px 34px rgba(0, 72, 44, .13);
}

#home-cart-open #cart-count {
  min-width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: #0f8f50;
  color: #fff;
  padding: 0 8px;
  font-size: 13px;
}

.home-cart-dialog {
  width: min(100% - 32px, 760px);
  max-width: 760px;
  border: 1px solid rgba(0, 72, 44, .12);
  background:
    radial-gradient(circle at 12% 0%, rgba(32, 150, 88, .12), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,252,249,.97));
  color: #073f2d;
  box-shadow: 0 32px 90px rgba(0, 45, 28, .24);
}

.home-cart-info {
  width: 100%;
  color: #073f2d;
}

.home-cart-info h2 {
  margin-bottom: 18px;
}

.home-cart-list {
  display: grid;
  gap: 12px;
  margin: 10px 0 18px;
}

.home-cart-empty {
  display: grid;
  place-items: center;
  gap: 6px;
  min-height: 112px;
  border: 1px dashed rgba(0, 72, 44, .18);
  border-radius: 20px;
  background: rgba(255, 255, 255, .62);
  color: #517062;
  text-align: center;
}

.home-cart-empty strong {
  color: #073f2d;
  font-size: 17px;
}

.home-cart-row {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(0, 72, 44, .12);
  border-radius: 18px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 12px 28px rgba(0, 72, 44, .06);
}

.home-cart-thumb {
  width: 58px;
  aspect-ratio: 210 / 297;
  border-radius: 11px;
  overflow: hidden;
  background: linear-gradient(180deg, #fff, #eef7f1);
  border: 1px solid rgba(0, 72, 44, .12);
  display: grid;
  place-items: center;
  color: #a33223;
  font-weight: 900;
  font-size: 11px;
}

.home-cart-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.home-cart-row-main {
  min-width: 0;
}

.home-cart-row-main strong,
.home-cart-row-main span,
.home-cart-row-side b {
  display: block;
}

.home-cart-row-main strong {
  color: #073f2d;
  font-size: 15px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.home-cart-row-main span {
  margin-top: 4px;
  color: #587467;
  font-size: 13px;
}

.home-cart-row-side {
  text-align: right;
  display: grid;
  gap: 7px;
  justify-items: end;
}

.home-cart-row-side b {
  color: #073f2d;
  font-size: 16px;
}

.home-cart-row button,
.home-cart-row-side button {
  border: 1px solid rgba(0, 72, 44, .18);
  background: #fff;
  color: #003b2a;
  border-radius: 999px;
  padding: 7px 11px;
  font-weight: 800;
  cursor: pointer;
}

.home-cart-row button:hover,
.home-cart-row-side button:hover {
  background: #f0f8f3;
}

#home-cart-total {
  color: #073f2d;
  font-size: 30px;
  font-weight: 950;
}

#home-cart-checkout:disabled {
  opacity: .55;
  cursor: not-allowed;
}

@media (max-width: 640px) {
  .home-cart-row {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  .home-cart-row-side {
    grid-column: 1 / -1;
    grid-template-columns: 1fr auto;
    width: 100%;
    align-items: center;
  }
}
