/* Ajustes técnicos de responsividade. O desenho usa o CSS original da loja. */
input, select, textarea { font: inherit; max-width: 100%; }
.collection > *, .pdp > *, .co-layout > *, .field-row > * { min-width: 0; }
.nav.open { max-height: calc(100dvh - 165px); overflow-y: auto; }
.co-item__name, .px-info dd { overflow-wrap: anywhere; }
.filters { overscroll-behavior: contain; }
.toast { max-width: calc(100vw - 28px); width: max-content; text-align: center; }
:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
@media (max-width: 860px) {
  .search { flex: 0 0 100%; }
  .collection { scroll-margin-top: 165px; }
  .toolbar { flex-wrap: wrap; }
  .toolbar select { max-width: 100%; }
  .gallery__thumbs button { flex-shrink: 0; }
}
@media (max-width: 560px) {
  .search input, .field input, select, textarea { font-size: 16px; }
  .co-item { grid-template-columns: 50px minmax(0, 1fr) auto; gap: 8px; }
  .co-item__img img { width: 50px; height: 50px; }
  .co-card__head { flex-wrap: wrap; gap: 8px; }
  .co-card__head h3 { font-size: 15px; }
  .co-item__rm { min-height: 32px; }
  .px-info div { gap: 10px; }
  .px-info dd { min-width: 0; }
}
@media (max-width: 360px) {
  .compare__row { grid-template-columns: minmax(0, 1fr) 80px 90px; }
  .compare__row--head b { font-size: 11px; }
  .co-item { grid-template-columns: 44px minmax(0, 1fr); }
  .co-item__price { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
