.zoki-b2b-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0 0 16px; position: sticky; top: 0; z-index: 2; background: #fff; padding: 8px 0; }
.zoki-b2b-toolbar[hidden] { display: none; }
.zoki-b2b-search { min-width: 260px; flex: 1 1 260px; }
.zoki-b2b-group > summary { cursor: pointer; font-size: 1.2em; font-weight: 600; margin: 16px 0 8px; }
/* No focus ring on mouse click (the theme outlines summary:focus); keyboard focus keeps it. */
.zoki-b2b-group > summary:focus:not(:focus-visible) { outline: none; }
/* A collapsed last group sits right on the customer details: double the gap (not when the summary bar is between). */
.zoki-b2b-group:not([open]) + .zoki-b2b-summary[hidden] + .zoki-b2b-customer { margin-top: 8px; }
.zoki-b2b-summary:not([hidden]) + .zoki-b2b-customer { margin-top: 16px; }
.zoki-b2b-table { width: 100%; }
/* Square thumbnails; overrides the theme's round table.narocniskilisttabela img (style.css). */
table.narocniskilisttabela.zoki-b2b-table .zoki-b2b-img img { width: 100px; height: 100px; max-width: none; border-radius: 0; object-fit: cover; }
.zoki-b2b-name { display: block; font-weight: 600; }
.zoki-b2b-qty input { width: 6em; }
.zoki-b2b-summary { display: block; position: sticky; bottom: 0; background: #fff; border-top: 1px solid #ddd; padding: 8px 0; font-weight: 600; color: inherit; text-decoration: none; }
.zoki-b2b-summary[hidden] { display: none; }
.zoki-b2b-field-error { color: #a00; }
/* Notice boxes in the style of the CF7 messages the sheet replaces. */
.zoki-b2b-thanks, .zoki-b2b-failed, .zoki-b2b-errors { border: 2px solid #46b450; padding: 0.75em 1.25em; margin: 1.5em 0; font-size: 1.25em; }
.zoki-b2b-thanks p:last-child, .zoki-b2b-failed p:last-child, .zoki-b2b-errors p:last-child { margin-bottom: 0; }
.zoki-b2b-failed, .zoki-b2b-errors { border-color: #dc3232; }
.zoki-b2b-errors { font-size: 1em; }
.zoki-b2b-field.has-error input, .zoki-b2b-field.has-error textarea { border-color: #a00; }
.zoki-b2b-field label { display: block; }
.zoki-b2b-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
