.pl-accessories { padding-block: 32px; }
.pl-accessories__category + .pl-accessories__category { margin-top: 32px; }
.pl-accessories__category h2 { margin: 0 0 20px; overflow-wrap: anywhere; }
.pl-accessories__discovery { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.pl-accessories__discovery p { flex: 1; min-width: min(100%, 240px); margin: 0; color: var(--pl-color-text-muted); }
.pl-accessories__discovery .pl-button { min-height: 44px; }
.pl-accessories-page .pl-accessories { width: min(calc(100% - 2 * var(--page-gutter)), 81rem); margin-inline: auto; }
.pl-accessories__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 24px; }
.pl-accessories__card { display: grid; align-content: start; gap: 12px; min-width: 0; padding: 20px; border: 1px solid var(--pl-color-border); border-radius: var(--pl-radius-lg, 16px); background: var(--pl-color-surface); color: var(--pl-color-text); }
.pl-accessories__card h3, .pl-accessories__card p { margin: 0; overflow-wrap: anywhere; }
.pl-accessories__media { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; min-width: 0; border-radius: 12px; background: var(--pl-color-surface-muted, var(--pl-color-background)); color: var(--pl-color-text-muted); text-align: center; }
.pl-accessories__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; border-radius: inherit; }
.pl-accessories__media span { padding: 20px; }
.pl-accessories__code, .pl-accessories__description { color: var(--pl-color-text-muted); }
.pl-accessories__price { font-weight: 700; font-variant-numeric: tabular-nums; }
.pl-accessories__quantity { display: grid; gap: 6px; }
.pl-accessories__quantity input { width: 100%; min-width: 0; min-height: 44px; box-sizing: border-box; border: 1px solid var(--pl-color-border); border-radius: 8px; padding: 10px; font: inherit; font-size: 16px; color: inherit; background: var(--pl-color-surface); }
.pl-accessories__card .pl-button { min-height: 44px; }
.pl-accessories__feedback { min-height: 1.5em; line-height: 1.5; }
.pl-accessories__quantity input:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
@media (max-width: 48rem) {
  .pl-accessories-page .products-hero { flex-direction: column; align-items: stretch; gap: 16px; }
  .pl-accessories-page .products-hero > .pl-button { align-self: flex-start; }
}
