/* Cyber City · the quote page /business-quote/ (Rayan 21 Oct 2026, C15: "Buying for a team or business?").
   Tokens only (tokens.css), the system's modules, fields and chips; classes start with ecc-bq (used nowhere else) and
   every rule sits under .ecc-bq, except the line on product pages and in the bag (.ecc-bq-line, .ecc-buy__biz). */

.ecc-bq { display: grid; gap: var(--ecc-gap); }
.ecc-bq > * { min-width: 0; }

/* ======================================================= 1 · the head: the ask, and the three steps */
.ecc-bq .ecc-bq__head { display: grid; gap: var(--ecc-s-6); padding-top: var(--ecc-s-7); padding-bottom: var(--ecc-s-6); }
.ecc-bq .ecc-bq__say { display: grid; gap: var(--ecc-s-3); max-width: 46rem; }
.ecc-bq .ecc-bq__say > * { margin: 0; }
.ecc-bq .ecc-bq__kicker { display: flex; align-items: center; gap: var(--ecc-s-2); color: var(--ecc-on-panel-2); }
.ecc-bq .ecc-bq__title { max-width: 14em; text-wrap: balance; }
.ecc-bq .ecc-bq__lead { color: var(--ecc-on-panel-2); max-width: 38em; }
.ecc-bq .ecc-bq__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; margin: 0; padding: 0; list-style: none; }
.ecc-bq .ecc-bq__step { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--ecc-s-3); align-items: start; padding: var(--ecc-s-4); border-radius: var(--ecc-r-sm); background: var(--ecc-screen, rgba(237, 239, 238, .05)); box-shadow: inset 0 0 0 1px rgba(237, 239, 238, .08); }
.ecc-bq .ecc-bq__n { font-size: 28px; color: var(--ecc-lime); text-shadow: 0 0 14px color-mix(in srgb, var(--ecc-lime) 30%, transparent); }
.ecc-bq .ecc-bq__stepw { display: grid; gap: 4px; }
.ecc-bq .ecc-bq__stepw b { color: var(--ecc-on-panel); }
.ecc-bq .ecc-bq__stepw span { color: var(--ecc-on-panel-2); font-size: var(--ecc-t-small); line-height: 1.45; }

/* ======================================================= 2 · the request and its side */
.ecc-bq .ecc-bq__main { display: grid; gap: var(--ecc-gap); align-items: start; }
.ecc-bq .ecc-bq__main > * { min-width: 0; }
.ecc-bq .ecc-bq__form { display: grid; gap: var(--ecc-s-6); }
.ecc-bq .ecc-bq__alert { margin: 0; }
.ecc-bq .ecc-bq__alert ul { margin: 4px 0 0; padding-left: 18px; }
.ecc-bq .ecc-bq__trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; margin: 0; }
.ecc-bq .ecc-bq__part { display: grid; gap: var(--ecc-s-4); min-width: 0; margin: 0; padding: 0; border: 0; }
.ecc-bq .ecc-bq__legend { display: flex; align-items: baseline; gap: var(--ecc-s-3); width: 100%; margin: 0 0 var(--ecc-s-1); padding: 0 0 var(--ecc-s-3); border-bottom: 1px solid var(--ecc-line-strong); }
.ecc-bq .ecc-bq__no { color: var(--ecc-ink-2); }
.ecc-bq .ecc-bq__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ecc-s-4); align-items: start; }
.ecc-bq .ecc-bq__grid > .ecc-field { align-content: start; }

/* the order's lines */
.ecc-bq .ecc-bq__lines { display: grid; gap: var(--ecc-s-2); margin: 0; padding: 0; list-style: none; }
.ecc-bq .ecc-bq__lines:empty { display: none; }
.ecc-bq .ecc-bq__line { display: grid; grid-template-columns: 56px minmax(0, 1fr) 7.5rem auto; gap: var(--ecc-s-3); align-items: center; padding: var(--ecc-s-2) var(--ecc-s-3) var(--ecc-s-2) var(--ecc-s-2); border: 1px solid var(--ecc-control-line); border-radius: var(--ecc-r-sm); background: var(--ecc-field-bg); }
.ecc-bq .ecc-bq__line > * { min-width: 0; }
.ecc-bq .ecc-bq__thumb { display: grid; place-items: center; width: 56px; height: 56px; overflow: hidden; border-radius: 4px; background: var(--ecc-stage-bg, var(--ecc-surface-2)); }
.ecc-bq .ecc-bq__thumb img { width: 100%; height: 100%; object-fit: contain; }
.ecc-bq .ecc-bq__thumb:empty::before { content: ""; width: 8px; height: 8px; border-radius: var(--ecc-r-voxel); background: var(--ecc-spark); }
.ecc-bq .ecc-bq__lname { display: grid; gap: 2px; }
.ecc-bq .ecc-bq__lname b { overflow-wrap: anywhere; line-height: 1.3; }
.ecc-bq .ecc-bq__lname small { color: var(--ecc-ink-2); font-size: var(--ecc-t-small); }
.ecc-bq .ecc-bq__qty { display: grid; gap: 4px; }
.ecc-bq .ecc-bq__qty .ecc-label { font-size: var(--ecc-t-micro); color: var(--ecc-ink-2); }
.ecc-bq .ecc-bq__qty .ecc-input { min-height: 44px; padding: 8px 10px; }
.ecc-bq .ecc-bq__rm[hidden] { display: none; }
.ecc-bq .ecc-bq__none { margin: 0; }
.ecc-bq .ecc-bq__none[hidden] { display: none; }
.ecc-bq .ecc-bq__add { display: grid; grid-template-columns: minmax(0, 1fr) 7.5rem auto; gap: var(--ecc-s-3); align-items: end; }
.ecc-bq .ecc-bq__addgo[hidden] { display: none; }

/* the chips: a radio as a chip */
.ecc-bq .ecc-bq__pick { display: grid; gap: var(--ecc-s-2); min-width: 0; margin: 0; padding: 0; border: 0; }
.ecc-bq .ecc-bq__chips { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--ecc-s-2); }
.ecc-bq .ecc-bq__chip { position: relative; display: inline-flex; }
.ecc-bq .ecc-bq__chip input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.ecc-bq .ecc-bq__chip span { display: inline-flex; align-items: center; gap: 8px; min-height: var(--ecc-hit); padding: 0 16px; border: 1px solid var(--ecc-control-line); border-radius: var(--ecc-r-sm); background: var(--ecc-field-bg); color: var(--ecc-ink); font-size: .9375rem; font-weight: var(--ecc-fw-medium); line-height: 1.2; transition: background-color var(--ecc-d-fast) var(--ecc-ease-out), border-color var(--ecc-d-fast) var(--ecc-ease-out), color var(--ecc-d-fast) var(--ecc-ease-out); }
@media (hover: hover) and (pointer: fine) { .ecc-bq .ecc-bq__chip:hover span { border-color: var(--ecc-ink); } }
.ecc-bq .ecc-bq__chip input:checked + span { background: var(--ecc-selected-bg); color: var(--ecc-selected-fg); border-color: var(--ecc-selected-line); }
.ecc-bq .ecc-bq__chip input:checked + span::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: var(--ecc-r-voxel); background: var(--ecc-lime); }
.ecc-bq .ecc-bq__chip input:focus-visible + span { outline: var(--ecc-focus-ring); outline-offset: 2px; }

.ecc-bq .ecc-bq__send { display: grid; gap: var(--ecc-s-2); justify-items: start; padding-top: var(--ecc-s-4); border-top: 1px solid var(--ecc-line); }
.ecc-bq .ecc-bq__send .ecc-help { margin: 0; }
.ecc-bq .ecc-bq__go { min-width: 14rem; }

/* the side */
.ecc-bq .ecc-bq__side { display: grid; gap: var(--ecc-gap); }
.ecc-bq .ecc-bq__list { display: grid; gap: var(--ecc-s-3); margin: 0; padding: 0; list-style: none; }
.ecc-bq .ecc-bq__list li { display: grid; grid-template-columns: 8px minmax(0, 1fr); gap: var(--ecc-s-3); align-items: baseline; line-height: 1.5; }
.ecc-bq .ecc-bq__list li::before { content: ""; width: 8px; height: 8px; border-radius: var(--ecc-r-voxel); background: var(--ecc-spark); translate: 0 -1px; }
.ecc-bq .ecc-bq__call { display: grid; gap: var(--ecc-s-3); justify-items: start; }
.ecc-bq .ecc-bq__call > p { margin: 0; }

/* sent */
.ecc-bq .ecc-bq__done { display: grid; gap: var(--ecc-s-4); max-width: 52rem; }
.ecc-bq .ecc-bq__done > * { margin: 0; }
.ecc-bq .ecc-bq__done:focus { outline: none; }
.ecc-bq .ecc-bq__acts { display: flex; flex-wrap: wrap; gap: var(--ecc-s-3); }

@media (min-width: 1024px) {
  .ecc-bq .ecc-bq__main { grid-template-columns: minmax(0, 1fr) minmax(0, 22rem); }
  .ecc-bq .ecc-bq__side { position: sticky; top: var(--ecc-s-6); }
}
@media (max-width: 860px) {
  .ecc-bq .ecc-bq__steps { grid-template-columns: minmax(0, 1fr); }
  .ecc-bq .ecc-bq__head { padding-top: var(--ecc-s-6); }
}
@media (max-width: 600px) {
  .ecc-bq .ecc-bq__grid { grid-template-columns: minmax(0, 1fr); }
  .ecc-bq .ecc-bq__line { grid-template-columns: 48px minmax(0, 1fr); }
  .ecc-bq .ecc-bq__thumb { width: 48px; height: 48px; }
  .ecc-bq .ecc-bq__qty { grid-column: 2; }
  .ecc-bq .ecc-bq__rm { grid-column: 2; justify-self: start; }
  .ecc-bq .ecc-bq__add { grid-template-columns: minmax(0, 1fr) 6.5rem; }
  .ecc-bq .ecc-bq__addgo { grid-column: 1 / -1; justify-self: start; }
  .ecc-bq .ecc-bq__go { width: 100%; }
}
