.cfw-catalogue{--cfw-border:#dedede;--cfw-muted:#666;--cfw-bg:#fff;--cfw-soft:#f7f7f7;font:inherit;font-size:80%}
.cfw-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 18px}.cfw-toolbar input,.cfw-toolbar select{min-height:44px;padding:8px 12px;border:1px solid var(--cfw-border);border-radius:6px;background:#fff}.cfw-search{flex:1;min-width:240px}.cfw-attribute-filters{display:flex;gap:12px;flex-wrap:wrap}.cfw-search input{width:100%}.cfw-reset,.cfw-pagination button{min-height:42px;padding:8px 16px;border:1px solid var(--cfw-border);border-radius:6px;background:#fff;cursor:pointer}.cfw-reset:hover,.cfw-pagination button:hover:not(:disabled){background:var(--cfw-soft)}
.cfw-status{min-height:24px;color:var(--cfw-muted);font-size:.9em}.cfw-table-wrap{overflow:auto;border:1px solid var(--cfw-border);border-radius:8px;background:var(--cfw-bg)}.cfw-table{width:100%;border-collapse:collapse;margin:0}.cfw-table th{position:sticky;top:0;z-index:1;text-align:left;background:var(--cfw-soft);font-weight:700}.cfw-table th,.cfw-table td{padding:14px;border-bottom:1px solid var(--cfw-border);vertical-align:middle}.cfw-table tbody tr:last-child td{border-bottom:0}.cfw-table tbody tr:hover{background:#fafafa}.cfw-col-image{width:1%;white-space:nowrap}.cfw-image-button,.cfw-details{border:0;padding:0;background:transparent;cursor:pointer}.cfw-product-image{height:auto;max-width:none;border-radius:6px;display:block}.cfw-details{font:inherit;font-weight:700;text-align:left;text-decoration:underline;text-underline-offset:3px}.cfw-col-description{min-width:240px}.cfw-attributes{display:grid;gap:3px;min-width:180px}.cfw-attributes span{display:block}.cfw-col-price{white-space:nowrap}.cfw-col-price small{display:block;color:var(--cfw-muted);font-weight:400}.cfw-col-quantity input{width:78px;padding:8px}.cfw-pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:18px}.cfw-pagination button:disabled{opacity:.45;cursor:not-allowed}.cfw-catalogue.is-loading{opacity:.65;pointer-events:none}
.cfw-lightbox,.cfw-modal{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;padding:24px}.cfw-lightbox[hidden],.cfw-modal[hidden]{display:none}.cfw-lightbox>img{max-width:94vw;max-height:90vh;object-fit:contain}.cfw-close{position:absolute;right:22px;top:14px;border:0;background:transparent;color:#fff;font-size:42px;line-height:1;cursor:pointer}.cfw-modal-panel{position:relative;width:min(980px,94vw);max-height:90vh;overflow:auto;background:#fff;border-radius:10px;padding:28px}.cfw-modal-panel>.cfw-close{color:#222;right:14px;top:8px}.cfw-modal-content{display:grid;grid-template-columns:minmax(220px,40%) 1fr;gap:28px}.cfw-modal-content>img{width:100%;height:auto}.cfw-modal-content h2{padding-right:32px}.cfw-modal-content table{width:100%;border-collapse:collapse}.cfw-modal-content th,.cfw-modal-content td{padding:8px;border-bottom:1px solid var(--cfw-border);text-align:left}.cfw-no-scroll{overflow:hidden}
@media(max-width:760px){.cfw-table thead{display:none}.cfw-table,.cfw-table tbody,.cfw-table tr,.cfw-table td{display:block;width:100%}.cfw-table tr{padding:14px;border-bottom:1px solid var(--cfw-border)}.cfw-table td{border:0;padding:7px 0}.cfw-table td[data-label]::before{content:attr(data-label);display:block;font-size:.75em;text-transform:uppercase;letter-spacing:.04em;color:var(--cfw-muted);font-weight:700;margin-bottom:3px}.cfw-col-image img{width:140px!important}.cfw-modal-content{grid-template-columns:1fr}.cfw-modal-panel{padding:22px}}
.cfw-basket-toggle,.cfw-add-quote,.cfw-submit-quote{min-height:42px;padding:9px 16px;border:1px solid #222;border-radius:6px;background:#222;color:#fff;font:inherit;font-weight:700;cursor:pointer}.cfw-basket-toggle:hover,.cfw-add-quote:hover,.cfw-submit-quote:hover{opacity:.88}.cfw-basket-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;margin-left:6px;padding:0 6px;border-radius:999px;background:#fff;color:#222;font-size:.82em}.cfw-notice{height:0;opacity:0;transition:opacity .2s;margin:0}.cfw-notice.is-visible{height:auto;opacity:1;margin:0 0 12px;padding:10px 14px;border-radius:6px;background:#eef8ee;color:#185b18}.cfw-col-quote{white-space:nowrap}.cfw-row-qty{width:78px;padding:8px}
.cfw-quote-modal{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;padding:24px}.cfw-quote-modal[hidden]{display:none}.cfw-quote-panel{position:relative;width:min(900px,94vw);max-height:92vh;overflow:auto;background:#fff;border-radius:10px;padding:28px}.cfw-quote-panel>.cfw-close{color:#222;right:14px;top:8px}.cfw-quote-panel h2{padding-right:40px}.cfw-basket-list{display:grid;gap:10px;margin:0 0 24px}.cfw-basket-item{display:grid;grid-template-columns:72px minmax(0,1fr) 90px minmax(110px,auto) auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--cfw-border);border-radius:8px}.cfw-basket-item img{width:72px;height:72px;object-fit:cover;border-radius:6px}.cfw-basket-item strong,.cfw-basket-item small,.cfw-basket-item span{display:block}.cfw-basket-item small{color:var(--cfw-muted);margin-top:3px}.cfw-basket-item label{font-size:.8em;font-weight:700;text-transform:uppercase}.cfw-basket-item input{display:block;width:80px;margin-top:4px;padding:8px}.cfw-remove-item{border:0;background:transparent;text-decoration:underline;cursor:pointer}.cfw-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cfw-quote-form>label,.cfw-form-grid label{display:block;font-weight:700}.cfw-quote-form input,.cfw-quote-form textarea{width:100%;margin-top:5px;padding:10px;border:1px solid var(--cfw-border);border-radius:6px;font:inherit}.cfw-quote-form>label{margin-top:16px}.cfw-submit-quote{margin-top:18px}.cfw-submit-quote:disabled{opacity:.55;cursor:wait}.cfw-quote-message{margin-top:14px}.cfw-quote-message.is-success{padding:12px;border-radius:6px;background:#eef8ee;color:#185b18}.cfw-quote-message.is-error{padding:12px;border-radius:6px;background:#fff0f0;color:#8a1515}.cfw-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.cfw-empty-basket{padding:20px;background:var(--cfw-soft);border-radius:8px}
@media(max-width:760px){.cfw-basket-toggle{width:100%}.cfw-basket-item{grid-template-columns:58px minmax(0,1fr);}.cfw-basket-item img{width:58px;height:58px}.cfw-basket-item label,.cfw-basket-item .cfw-remove-item{grid-column:2}.cfw-form-grid{grid-template-columns:1fr}.cfw-quote-panel{padding:22px}}

/* beta.4 catalogue polish */
.cfw-table th,.cfw-table td{border-left:0;border-right:0}
.cfw-table tbody tr{transition:background-color .16s ease,box-shadow .16s ease}
.cfw-table tbody tr:hover{background:#f8fafb;box-shadow:inset 3px 0 0 #222}
.cfw-col-name .cfw-details{font-weight:750;text-decoration:none}
.cfw-col-name .cfw-details:hover{text-decoration:underline}
.cfw-col-price,.cfw-col-quantity{text-align:right}
.cfw-table th.cfw-col-price,.cfw-table th.cfw-col-quantity{text-align:right}
.cfw-col-quote{text-align:center;white-space:nowrap;width:1%}
.cfw-table th.cfw-col-quote{text-align:center}
.cfw-add-quote{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 11px;white-space:nowrap}
.cfw-add-quote>span[aria-hidden="true"]{font-size:1.15em;line-height:1}
@media(min-width:981px){
  .cfw-table th.cfw-col-image,.cfw-table td.cfw-col-image{position:sticky;left:0;z-index:3;background:var(--cfw-bg)}
  .cfw-table th.cfw-col-image{z-index:5;background:var(--cfw-soft)}
  .cfw-table th.cfw-col-name,.cfw-table td.cfw-col-name{position:sticky;left:var(--cfw-name-left,140px);z-index:2;background:var(--cfw-bg);box-shadow:8px 0 12px -12px rgba(0,0,0,.45)}
  .cfw-table th.cfw-col-name{z-index:4;background:var(--cfw-soft)}
  .cfw-table tbody tr:hover td.cfw-col-image,.cfw-table tbody tr:hover td.cfw-col-name{background:#f8fafb}
}
@media(max-width:760px){
  .cfw-col-price,.cfw-col-quantity{text-align:left}
  .cfw-col-quote{padding-top:12px!important}
  .cfw-add-quote{width:100%;min-height:44px}
  .cfw-quote-button-text{display:inline}
}

/* beta.5 quote totals */
.cfw-unit-price,.cfw-line-total strong,.cfw-grand-total strong{white-space:nowrap}
.cfw-line-total{text-align:right}
.cfw-line-total small{display:block;color:var(--cfw-muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.cfw-grand-total{display:flex;align-items:center;justify-content:flex-end;gap:22px;margin:0 0 24px;padding:16px 4px;border-top:2px solid #222;font-size:1.15em}
.cfw-grand-total span{font-weight:700}
.cfw-grand-total strong{font-size:1.2em}
@media(max-width:760px){.cfw-basket-item{grid-template-columns:58px minmax(0,1fr)}.cfw-line-total{grid-column:2;text-align:left}.cfw-grand-total{justify-content:space-between;gap:12px}}

/* beta.6 form consistency and persistent confirmation */
.cfw-toolbar input,.cfw-toolbar select,.cfw-row-qty,.cfw-basket-qty,.cfw-quote-form input,.cfw-quote-form textarea{font:inherit!important;font-size:1em!important;line-height:1.35!important;}
.cfw-order-confirmation{padding:24px;border:1px solid #b9d8b9;border-radius:8px;background:#eef8ee;color:#185b18;}
.cfw-order-confirmation h3{margin:0 0 10px;font-size:1.2em;}
.cfw-order-confirmation p{margin:6px 0;}
