/* Optional accessories: row hover outline, with preview separate from selection. */
.bm-accessories { margin: 24px 0; }
.bm-accessories h2 { margin: 0 0 8px; font: inherit; font-size: 16px; font-weight: 600; letter-spacing: .02em; }
.bm-accessories__help, .bm-accessories__note { margin: 0 0 14px; font-size: 12px; line-height: 1.6; color: #606060; }
.bm-accessories__list { display: grid; gap: 12px; max-height: 490px; overflow-y: auto; scrollbar-gutter: stable; padding: 4px; margin: 0 -4px 14px; }
.bm-accessories__item { display: grid; grid-template-columns: 52px minmax(0, 1fr) max-content 84px; align-items: center; gap: 8px; min-width: 0; border: 0; box-shadow: none; }
.bm-accessories__preview { display: block; width: 52px; height: 52px; margin: 0; padding: 0; border: 0; border-radius: 0; background: #f5f5f5; cursor: pointer; }
.bm-accessories__preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (hover: hover) {
 .bm-accessories__item:hover { outline: 1px solid #171717; outline-offset: 2px; }
}
.bm-accessories__copy { display: grid; gap: 4px; min-width: 0; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; cursor: pointer; }
.bm-accessories__copy strong { font-weight: 500; }
.bm-accessories__copy small { color: #777; font-size: 10px; }
.bm-accessories__price { font-size: 12px; line-height: 1.4; white-space: nowrap; }
.bm-accessories__quantity { display: grid; grid-template-columns: 28px minmax(0, 1fr) 28px; align-items: center; min-width: 0; }
.bm-accessories__quantity button, .bm-accessories__quantity input { display: block; box-sizing: border-box; width: 100%; min-width: 0; height: 36px; margin: 0; padding: 0; border: 0; border-radius: 0; color: #171717; background: transparent; font: inherit; text-align: center; }
.bm-accessories__quantity button { font-size: 18px; cursor: pointer; touch-action: manipulation; }
.bm-accessories__quantity input { appearance: textfield; -moz-appearance: textfield; font-size: 12px; }
.bm-accessories__quantity input::-webkit-inner-spin-button, .bm-accessories__quantity input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.bm-accessories__quantity :disabled { color: #aaa; cursor: default; }
.bm-accessories__controls { grid-column: 2 / -1; display: flex; flex-wrap: wrap; align-items: end; gap: 8px 12px; min-width: 0; }
.bm-accessories__controls label { display: grid; flex: 1 1 90px; gap: 5px; min-width: 0; max-width: 190px; font-size: 11px; }
.bm-accessories__controls select { width: 100%; min-width: 0; min-height: 36px; border: 1px solid #ccc; padding: 6px 8px; border-radius: 0; color: #171717; background: #fff; font: inherit; font-size: 12px; }
.bm-accessories__controls :disabled { background: #f6f6f6; color: #777; }
.bm-accessories__item.is-unavailable .bm-accessories__copy, .bm-accessories__item.is-unavailable .bm-accessories__price { cursor: default; opacity: .65; }
.bm-accessories__total { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 10px; font-size: 13px; }
.bm-accessories__total strong { font-size: 18px; font-weight: 500; }
.bm-pdp-main .bm-pdp__buy--selection .bm-accessories__total { grid-column: 1 / -1; grid-row: 2; margin: 0 0 4px; }
.bm-pdp-main .bm-pdp__buy--selection .bm-pdp__add, .bm-pdp-main .bm-pdp__buy--selection .bm-pdp__wish { grid-row: 3; }
.bm-accessories__note { margin-bottom: 0; font-size: 11px; }
.bm-accessories :focus-visible { outline: 2px solid #171717; outline-offset: 2px; }
@media (max-width: 480px) {
 .bm-accessories__item { grid-template-columns: 40px minmax(0, 1fr) max-content 78px; gap: 6px; }
 .bm-accessories__preview { width: 40px; height: 40px; }
 .bm-accessories__quantity { grid-template-columns: 26px minmax(0, 1fr) 26px; }
 .bm-accessories__copy, .bm-accessories__price { font-size: 11px; }
}
@media (max-width: 350px) {
 .bm-accessories__item { grid-template-columns: 32px minmax(0, 1fr) max-content 72px; gap: 5px; }
 .bm-accessories__preview { width: 32px; height: 32px; }
 .bm-accessories__quantity { grid-template-columns: 24px minmax(0, 1fr) 24px; }
}
