/* Shared controls for cards and product pages. No page-specific event handlers. */
.favorite-toggle {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border: 1px solid #1c3c1c25;
  border-radius: 50%;
  color: var(--green);
  background: #faf6ed;
  cursor: pointer;
}
.favorite-toggle[aria-pressed="true"] {
  background: #e3edcc;
}
.favorite-toggle[aria-pressed="true"] svg {
  fill: currentColor;
}
.quick-cart {
  margin-top: auto;
}
.quick-add,
.quick-quantity {
  min-height: 44px;
  width: 100%;
  border-radius: 24px;
  border: 1px solid #1c3c1c38;
  background: #ffffff40;
  color: var(--green);
}
.quick-add {
  cursor: pointer;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 600;
}
.quick-add:hover {
  background: #e3edcc;
}
.quick-quantity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
}
.quick-quantity button {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 1.2rem;
  min-width: 44px;
  min-height: 44px;
  cursor: pointer;
}
.quick-quantity button:disabled {
  opacity: 0.35;
  cursor: default;
}
.quick-quantity output {
  font-size: 0.85rem;
}
.quick-add[hidden],
.quick-quantity[hidden] {
  display: none;
}
.product-brand-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.product-brand-actions .eyebrow {
  margin: 0;
}

@media (prefers-reduced-motion: no-preference) {
  .quick-add,
  .favorite-toggle {
    transition:
      transform 120ms ease-out,
      background-color 120ms ease-out;
  }
  .quick-add:active,
  .favorite-toggle:active {
    transform: scale(0.96);
  }
}
