/* BCS Web Application Development configurator - loaded on product 975 only. All rules are scoped to .bcs-cfg. */
.bcs-cfg { --bcs-ink: #14213d; --bcs-muted: #4a5568; --bcs-line: #cbd5e0; --bcs-bg: #f7f9fc; --bcs-accent: #0b5cab; --bcs-accent-ink: #ffffff; --bcs-ok: #0b6b3a; --bcs-err: #9b1c1c;
  clear: both; margin: 40px 0; color: var(--bcs-ink); font-size: 16px; line-height: 1.5; }
.bcs-cfg *, .bcs-cfg *::before, .bcs-cfg *::after { box-sizing: border-box; }
.bcs-cfg__layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; align-items: start; }
.bcs-cfg__title { margin: 0 0 8px; font-size: 28px; line-height: 1.2; }
.bcs-cfg__intro { margin: 0 0 24px; color: var(--bcs-muted); }

.bcs-grp { margin: 0 0 20px; padding: 18px 20px 20px; border: 1px solid var(--bcs-line); border-radius: 8px; background: #fff; min-width: 0; }
.bcs-grp__legend { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 0 8px; font-weight: 700; font-size: 18px; }
.bcs-grp__step { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--bcs-ink); color: #fff; font-size: 14px; }
.bcs-grp__req { font-weight: 400; font-size: 14px; color: var(--bcs-muted); }
.bcs-grp__na { margin: 8px 0 0; padding: 10px 12px; border-left: 4px solid var(--bcs-muted); background: var(--bcs-bg); font-weight: 600; }
.bcs-grp--na { background: var(--bcs-bg); }
.bcs-grp--na .bcs-grp__legend { color: var(--bcs-muted); }

.bcs-opts { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; margin-top: 12px; }
.bcs-opts[hidden] { display: none; }
.bcs-opt { position: relative; display: grid; grid-template-columns: 22px 1fr auto; column-gap: 10px; align-items: start; min-height: 48px; padding: 10px 12px; border: 1px solid var(--bcs-line); border-radius: 6px; background: #fff; cursor: pointer; margin: 0; }
.bcs-opt input { margin: 3px 0 0; width: 18px; height: 18px; accent-color: var(--bcs-accent); }
.bcs-opt__label { font-weight: 600; word-break: break-word; }
.bcs-opt__price { font-variant-numeric: tabular-nums; color: var(--bcs-muted); white-space: nowrap; }
.bcs-opt__note { grid-column: 2 / 4; font-size: 13px; color: var(--bcs-muted); }
.bcs-opt__note:empty { display: none; }
.bcs-opt:hover { border-color: var(--bcs-accent); }
.bcs-opt--checked { border-color: var(--bcs-accent); border-width: 2px; padding: 9px 11px; background: #eef5fc; }
.bcs-opt--checked .bcs-opt__label::after { content: " \2713"; color: var(--bcs-accent); }
.bcs-opt--disabled { opacity: .6; cursor: not-allowed; border-style: dashed; }
.bcs-opt--none .bcs-opt__label { font-weight: 400; }
.bcs-opt:focus-within { outline: 3px solid var(--bcs-accent); outline-offset: 2px; }

.bcs-cfg__summary { position: sticky; top: 24px; padding: 20px; border: 2px solid var(--bcs-ink); border-radius: 8px; background: var(--bcs-bg); }
.bcs-sum__title { margin: 0 0 12px; font-size: 20px; }
.bcs-sum__list { margin: 0; }
.bcs-sum__row { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--bcs-line); }
.bcs-sum__row dt { font-weight: 400; }
.bcs-sum__row dd { margin: 0; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bcs-sum__total { display: flex; flex-direction: column; margin: 14px 0 0; font-weight: 700; }
.bcs-sum__total output { font-size: 32px; line-height: 1.2; }
.bcs-sum__tax { margin: 2px 0 12px; font-size: 13px; color: var(--bcs-muted); }
.bcs-sum__error { margin: 0 0 12px; padding: 10px 12px; border: 2px solid var(--bcs-err); border-radius: 6px; background: #fff; color: var(--bcs-err); font-weight: 700; }
.bcs-sum__error[hidden] { display: none; }
.bcs-sum__buy { display: flex; flex-direction: column; gap: 12px; }
.bcs-sum__qty { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; }
.bcs-sum__qty input { width: 80px; min-height: 44px; padding: 6px 8px; }
.bcs-cfg .bcs-sum__btn { width: 100%; min-height: 48px; font-size: 17px; cursor: pointer; }
.bcs-cfg .bcs-sum__btn:focus-visible { outline: 3px solid var(--bcs-accent); outline-offset: 2px; }
.bcs-cfg-unavailable { padding: 16px; border: 1px solid var(--bcs-line); border-radius: 6px; background: var(--bcs-bg); }

@media (max-width: 899px) {
  .bcs-cfg__layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .bcs-cfg__summary { position: static; }
  .bcs-cfg__title { font-size: 24px; }
}
@media (max-width: 480px) {
  .bcs-grp { padding: 14px 12px 16px; }
  .bcs-opts { grid-template-columns: minmax(0, 1fr); }
  .bcs-sum__total output { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) { .bcs-cfg * { transition: none !important; } }
.bcs-opt--locked { border-style: solid; background: #f1f5f9; cursor: default; }
