.sbj-ob-ready .sbj-ob-original-select,
.sbj-ob-ready .sbj-ob-original-wrapper { display: none !important; }

.sbj-ob-ready .variations { width: 100%; table-layout: auto; }
.sbj-ob-ready .variations th, .sbj-ob-ready .variations td { display: block; width: auto; padding: 0; text-align: left; border: 0; }
.sbj-ob-ready .variations th { padding: 0 0 8px !important; }
.sbj-ob-ready .variations th label { display: block; color: #35322e; font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: .015em; }
.sbj-ob-ready .variations td { padding-bottom: 16px; }
.sbj-ob-group { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; }
.sbj-ob-ready .sbj-ob-button { appearance: none; position: relative; box-sizing: border-box; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-height: 46px; min-width: 54px; max-width: 160px; padding: 11px 17px; border: 1px solid #e4e1da; border-radius: 4px; background: #fff; color: #302e2a; font: inherit; font-size: 14px; font-weight: 400; line-height: 1.4; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: normal; overflow-wrap: anywhere; transition: border-color .15s ease, box-shadow .15s ease; }
.sbj-ob-ready .sbj-ob-button::after { content: ''; position: absolute; top: 7px; right: 8px; width: 4px; height: 7px; border: solid #98763b; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); opacity: 0; pointer-events: none; }
.sbj-ob-ready .sbj-ob-button[aria-pressed="true"] { border-color: #4a453d; background: #fff; color: #25231f; box-shadow: 0 0 0 .5px #4a453d; }
.sbj-ob-ready .sbj-ob-button[aria-pressed="true"]::after { opacity: 1; }
.sbj-ob-ready .sbj-ob-button:not(.sbj-ob-photo-button)[aria-pressed="true"] { border-color: #a58e5e; background: #22211f; color: #fff; box-shadow: none; }
.sbj-ob-ready .sbj-ob-fixed-group .sbj-ob-button:not(:disabled) { cursor: default; }
.sbj-ob-ready .sbj-ob-button:hover:not(:disabled):not([aria-pressed="true"]) { border-color: #aaa397; }
.sbj-ob-ready .sbj-ob-button:focus-visible { outline: 2px solid #8e7344; outline-offset: 3px; }
.sbj-ob-ready .sbj-ob-button:disabled { border-color: #eeece7; background: #fcfbf9; color: #b2aea5; cursor: not-allowed; box-shadow: none; }
.sbj-ob-ready .sbj-ob-button:disabled .sbj-ob-photo { opacity: .3; }
.sbj-ob-ready .sbj-ob-button:disabled::after { opacity: 0; }

.sbj-ob-ready .sbj-ob-photo-group { display: grid; grid-template-columns: repeat(auto-fill, minmax(98px, 1fr)); gap: 12px; }
.sbj-ob-ready .sbj-ob-photo-button { display: grid; grid-template-rows: 80px minmax(36px, auto); align-content: start; align-items: center; justify-items: center; gap: 8px; width: 100%; min-width: 0; max-width: none; padding: 10px 8px; }
.sbj-ob-photo { position: relative; grid-row: 1; display: block; width: 80px; height: 80px; flex-shrink: 0; overflow: hidden; background: #fff; }
.sbj-ob-photo img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; }
.sbj-ob-label { display: block; text-align: center; }
.sbj-ob-photo-button .sbj-ob-label { grid-row: 2; width: 100%; font-size: 13px; font-weight: 400; line-height: 1.5; overflow-wrap: break-word; }
.sbj-ob-photo-button:not(:has(.sbj-ob-photo)) .sbj-ob-label { grid-row: 1 / -1; }
.sbj-ob-ready .sbj-ob-photo-group:not(:has(.sbj-ob-photo)) { display: flex; }
.sbj-ob-ready .sbj-ob-photo-group:not(:has(.sbj-ob-photo)) .sbj-ob-photo-button { display: inline-flex; width: auto; min-width: 54px; max-width: 160px; min-height: 46px; padding: 11px 17px; }
.sbj-ob-photo-group:not(:has(.sbj-ob-photo)) .sbj-ob-label { font-size: 14px; }
.sbj-ob-status { margin: 0 0 14px; padding: 10px 12px; border-left: 2px solid #a68a57; background: #faf8f3; font-size: 13px; line-height: 1.5; color: #655742; }
.sbj-ob-status:empty { display: none; }

@media (max-width: 480px) {
  .sbj-ob-group { gap: 8px; }
  .sbj-ob-ready .sbj-ob-button { padding: 10px 15px; }
  .sbj-ob-ready .sbj-ob-photo-group { grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: 10px; }
  .sbj-ob-ready .sbj-ob-photo-button { grid-template-rows: 72px minmax(36px, auto); padding: 10px 6px; }
  .sbj-ob-photo { width: 72px; height: 72px; }
  .sbj-ob-ready .variations td { padding-bottom: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .sbj-ob-ready .sbj-ob-button { transition: none; }
}

/* SBJ option cards: compact spacing without clipping long labels. */
.sbj-ob-ready .sbj-ob-photo-group .sbj-ob-photo-button:has(.sbj-ob-photo) {
    grid-template-rows: 76px minmax(36px, auto);
    gap: 4px;
    padding: 5px 8px;
}
.sbj-ob-ready .sbj-ob-photo-button .sbj-ob-photo {
    width: 76px;
    height: 76px;
}
.sbj-ob-ready .sbj-ob-photo-button .sbj-ob-label {
    line-height: 1.4;
}
@media (max-width: 480px) {
    .sbj-ob-ready .sbj-ob-photo-group .sbj-ob-photo-button:has(.sbj-ob-photo) {
        grid-template-rows: 72px minmax(36px, auto);
        padding: 5px 6px;
    }
    .sbj-ob-ready .sbj-ob-photo-button .sbj-ob-photo {
        width: 72px;
        height: 72px;
    }
}

