:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
.form-error { display: block; color: #ff8b84; font-size: 11px; line-height: 1.35; }
.form-status { min-height: 18px; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.form-status.error { color: #ff8b84; }
.form-status.success { color: #87c79e; }
.is-loading { cursor: wait !important; opacity: .7; }
.cart-item { gap: 14px; align-items: flex-start; }
.cart-item > div { min-width: 0; flex: 1; }
.cart-item small { color: var(--muted); }
.cart-qty-controls button, .cart-item > button { min-width: 30px; min-height: 30px; }
@media (max-width: 768px) {
  .catalog-tools { position: sticky; top: 65px; z-index: 4; box-shadow: 0 8px 20px rgba(0,0,0,.22); }
  .catalog-tools input, .catalog-tools select, .catalog-reset { min-height: 44px; }
  .drawer { padding: 20px 16px; }
  .drawer-bottom .button { min-height: 48px; }
  .checkout-form { gap: 12px; }
  .form-group input, .form-group textarea, .form-group select { min-height: 44px; }
}
