/* Shared interaction states for the store's custom button styles. */
:root .btn,
:root .cart-trigger,
:root .close,
:root .quantity button,
:root .cart-controls button,
:root .remove-item,
:root .remove-link,
:root .slider-navigation > button,
:root .slider-dots button,
:root .slider-pause {
  min-height: 44px;
  min-width: 44px;
  touch-action: manipulation;
}
:root .btn {
  line-height: 1.4;
  text-align: center;
  white-space: normal;
  gap: 6px;
  transition: background-color .15s, border-color .15s, box-shadow .15s;
}
:root .btn.outline:not(:disabled):not([aria-disabled="true"]):hover {
  background: #f3eee6;
  border-color: #bba997;
  color: var(--wine, #571b2b);
}
:root .quantity button:not(:disabled):hover,
:root .cart-controls button:not(:disabled):hover,
:root .close:not(:disabled):hover {
  background: #f3eee6;
  border-color: #bba997;
}
:root .remove-link:not(:disabled):hover,
:root .remove-item:not(:disabled):hover {
  color: #743044;
  text-decoration-thickness: 2px;
}
:root :is(button, .btn, [role="button"]):focus-visible {
  outline: 3px solid var(--wine, #571b2b);
  outline-offset: 3px;
  box-shadow: 0 0 0 2px #fff;
}
:root button:disabled,
:root .btn[aria-disabled="true"] {
  opacity: .55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
:root .btn:disabled:hover {
  background: var(--wine, #571b2b);
  border-color: var(--wine, #571b2b);
  color: #fff;
}
:root .btn.outline:disabled:hover {
  background: transparent;
  border-color: #d7ccc5;
  color: var(--wine, #571b2b);
}
:root .btn[aria-disabled="true"]:hover {
  background: transparent;
  border-color: #d7ccc5;
  color: var(--wine, #571b2b);
}
@media (max-width: 760px) {
  .slider-controls { flex-wrap: wrap; }
  .slider-navigation { gap: 8px; }
  .customer-actions > .btn { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  :root .btn { transition: none; }
}
