/* cs_b2b: alleen thema-tokens (themes/cs-ophangsystemen/assets/css/tokens.css), geen merkkleuren. */

/* Btw-schakelaar */
.cs-taxswitch { display: inline-flex; margin: 0; }
.cs-taxswitch__btn {
  display: inline-flex; align-items: center; gap: 8px; min-height: var(--cs-tap, 44px);
  padding: 0 4px; border: 0; background: transparent; color: inherit; font: inherit; font-size: 14px; cursor: pointer;
}
.cs-taxswitch__btn:disabled { cursor: default; opacity: .85; }
.cs-taxswitch__btn:focus-visible { outline: 2px solid var(--cs-accent); outline-offset: 2px; border-radius: var(--cs-radius-sm); }
.cs-taxswitch__track {
  position: relative; display: inline-block; width: 40px; height: 22px; border-radius: 11px;
  background: var(--cs-brand); flex: 0 0 auto;
}
.cs-taxswitch__btn--excl .cs-taxswitch__track { background: var(--cs-muted); }
.cs-taxswitch__thumb {
  position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%;
  background: var(--cs-surface); transform: translateX(18px); transition: transform .15s ease;
}
.cs-taxswitch__btn--excl .cs-taxswitch__thumb { transform: translateX(0); }
.cs-taxswitch__state { font-weight: 600; }

/* Snel bestellen */
.cs-quickorder { background: var(--cs-surface); border: 1px solid var(--cs-line); border-radius: var(--cs-radius); padding: var(--cs-gap, 16px); }
.cs-quickorder__title { font-family: var(--cs-font-head); font-size: 1.25rem; margin: 0 0 12px; color: var(--cs-ink); }
.cs-quickorder__head, .cs-quickorder__row { display: grid; grid-template-columns: minmax(0, 1fr) 96px; gap: 8px; }
.cs-quickorder__head { font-size: 13px; color: var(--cs-muted); margin-bottom: 4px; }
.cs-quickorder__row { margin-bottom: 8px; }
.cs-quickorder input, .cs-quickorder textarea { font-size: 16px; min-height: var(--cs-tap, 44px); }
.cs-quickorder__add-row { min-height: var(--cs-tap, 44px); padding-left: 0; color: var(--cs-brand-text); }
.cs-quickorder__paste { margin: 8px 0 12px; }
.cs-quickorder__paste summary { cursor: pointer; min-height: var(--cs-tap, 44px); display: flex; align-items: center; color: var(--cs-brand-text); font-weight: 600; }
.cs-quickorder__paste-label { display: block; font-size: 14px; color: var(--cs-muted); margin: 4px 0 6px; }
.cs-quickorder__actions .btn { min-height: var(--cs-tap, 44px); }
.cs-quickorder__result:empty { display: none; }
.cs-quickorder__result { margin-top: 12px; font-size: 15px; }
.cs-quickorder__ok { color: var(--cs-success); margin: 0 0 6px; }
.cs-quickorder__fail { color: var(--cs-danger); margin: 0 0 4px; }
.cs-quickorder__faillist { margin: 0; padding-left: 18px; }
.cs-quickorder--compact .cs-quickorder__title { font-size: 1.05rem; }

/* Offerte in de winkelwagen */
.cs-cartquote { margin-top: var(--cs-gap, 16px); padding: var(--cs-gap, 16px); border: 1px dashed var(--cs-line); border-radius: var(--cs-radius); background: var(--cs-surface); }
.cs-cartquote__intro { font-size: 14px; color: var(--cs-muted); margin: 0 0 10px; }
.cs-cartquote__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.cs-cartquote__btn { min-height: var(--cs-tap, 44px); display: inline-flex; align-items: center; }

/* Offerteaanvraag */
.cs-quote__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
@media (min-width: 992px) { .cs-quote__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); } }
.cs-quote__row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 16px; }
@media (min-width: 576px) { .cs-quote__row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.cs-quote input, .cs-quote textarea { font-size: 16px; }
.cs-quote__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cs-quote__actions .btn { min-height: var(--cs-tap, 44px); }
.cs-quote__summary { background: var(--cs-surface); border: 1px solid var(--cs-line); border-radius: var(--cs-radius); padding: var(--cs-gap, 16px); align-self: start; }
.cs-quote__summary-title { font-size: 1.1rem; margin: 0 0 8px; }
.cs-quote__lines { list-style: none; margin: 0 0 12px; padding: 0; }
.cs-quote__line { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--cs-line); font-size: 14px; }
.cs-quote__total { display: flex; justify-content: space-between; margin: 4px 0; }
.cs-quote__valid { font-size: 13px; color: var(--cs-muted); margin-top: 8px; }
.cs-quote__sent { padding: var(--cs-gap, 16px); background: var(--cs-surface); border-radius: var(--cs-radius); border: 1px solid var(--cs-line); }

/* Checkout */
.cs-b2b-field--hidden { display: none; }
.cs-b2b-toggle .form-check-inline { min-height: var(--cs-tap, 44px); display: inline-flex; align-items: center; gap: 6px; margin-right: 16px; }
.cs-b2b-pay { margin: 0 0 16px; padding: 12px var(--cs-gap, 16px); background: var(--cs-surface); border: 1px solid var(--cs-line); border-radius: var(--cs-radius); }
.cs-b2b-pay--hidden { display: none; }
.cs-b2b-pay__input { font-size: 16px; min-height: var(--cs-tap, 44px); }
.cs-b2b-pay__status { color: var(--cs-success); }
.cs-b2b-pay__reverse { margin: 8px 0 0; font-weight: 600; color: var(--cs-ink); }

@media (prefers-reduced-motion: reduce) {
  .cs-taxswitch__thumb { transition: none; }
}
