/* Quantity Breaks — bundle swatches. Colours come from WooCommerce → Settings → Quantity breaks (the --wqm-* variables). */
.wqm-qty-wrapper{margin:20px 0}
.wqm-qty-label{padding:0 0 12px}
.wqm-hide{display:none!important}
.qb-wrapper .qb-radio-input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}

/* ---- Full-width swatches ---- */
.qb-list{display:flex;flex-direction:column;gap:10px}
.qb-row{position:relative;display:block;margin:0;cursor:pointer;font-weight:inherit}
.qb-row.highlight{margin-top:12px}
.qb-row .wqm-inner{display:flex;align-items:flex-start;gap:14px;padding:1em .8em;border:var(--wqm-bt) solid var(--wqm-border);border-radius:var(--wqm-br);background:var(--wqm-bg);color:var(--wqm-text);line-height:1.25;transition:background-color .2s,border-color .2s,color .2s}
.qb-row:hover .wqm-inner{border-color:var(--wqm-sborder)}
.qb-row.selected .wqm-inner{background:var(--wqm-sbg);border-color:var(--wqm-sborder);color:var(--wqm-stext)}
.qb-row .wqm-radio{position:relative;display:flex;align-items:center;align-self:center;flex:none}
.qb-row .wqm-radio>span{display:block;width:1.1em;height:1.1em;border:var(--wqm-bt) solid var(--wqm-border);border-radius:50%;background:#fff;transition:all .2s}
.qb-row.selected .wqm-radio>span{background:var(--wqm-sborder);border:3px solid var(--wqm-sbg);box-shadow:0 0 0 var(--wqm-bt) var(--wqm-sborder)}
.qb-row .qb-radio-input:focus-visible+span{outline:2px solid var(--wqm-sborder);outline-offset:3px}
.qb-row .wqm-inner-content{flex:1;min-width:0;display:block}
.qb-row .wqm-inner-top{display:flex;align-items:center;gap:10px}
.qb-row .wqm-middle{flex:1;min-width:0;display:block}
.qb-row .wqm-heading{display:block}
.qb-row .wqm-subheading{display:block;font-size:87%;padding-top:4px;opacity:.9}
.qb-row .wqm-right{display:flex;align-items:center;gap:.6em;flex:none;text-align:right;white-space:nowrap}
.qb-row .wqm-right s,.qb-row .wqm-right del{opacity:.6}

/* Highlight tag ("Most popular") */
.wqm-highlight{position:absolute;z-index:1;top:0;right:15px;transform:translateY(-50%);padding:5px 12px;border-radius:50px;background:var(--wqm-hbg);color:var(--wqm-htext);font-size:88%;line-height:1;white-space:nowrap}

/* Per-item variant picker */
.qb-row .wqm-variant-wrapper{display:none;padding-top:12px;font-size:.85rem}
.qb-row.selected .wqm-variant-wrapper{display:block}
.qb-row .wqm-variant-names{display:block;padding-bottom:4px;opacity:.8}
.qb-row .wqm-variants{display:flex;flex-direction:column;gap:6px}
.qb-row .wqm-variant-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.qb-row .wqm-variant-number{min-width:1.8em;font-weight:600}
.qb-row .wqm-variant{flex:1 1 110px;min-width:0}
.qb-row .wqm-variant select{width:100%;max-width:100%;padding:.4em .5em;font-size:.85rem;border:1px solid var(--wqm-border);border-radius:calc(var(--wqm-br) * .7);background:#fff;color:#111;cursor:pointer}
.qb-row .qb-row-error select{border-color:#c62828}
.qb-variant-error{display:block;color:#c62828;font-size:.85rem}
.qb-variant-error:empty{display:none}
.qb-variant-error:not(:empty){padding-top:6px}

/* ---- Grid / image swatches ---- */
.qb-grid{display:grid;gap:12px;grid-template-columns:repeat(var(--qb-cols,4),minmax(0,1fr))}
.qb-tile{position:relative;display:flex;flex-direction:column;margin:0;cursor:pointer;text-align:center}
.qb-tile .wqm-inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;padding:12px 10px;border:var(--wqm-bt) solid var(--wqm-border);border-radius:var(--wqm-br);background:var(--wqm-bg);color:var(--wqm-text);transition:background-color .2s,border-color .2s}
.qb-tile:hover .wqm-inner{border-color:var(--wqm-sborder)}
.qb-tile.selected .wqm-inner{background:var(--wqm-sbg);border-color:var(--wqm-sborder);color:var(--wqm-stext)}
.qb-tile .qb-radio-input:focus-visible~.wqm-inner-text{outline:2px solid var(--wqm-sborder);outline-offset:3px}
.qb-tile .wqm-inner-img img{display:block;width:100%;max-width:90px;height:auto;margin:0 auto;border-radius:calc(var(--wqm-br) * .7)}
.qb-tile .wqm-inner-text{display:flex;flex-direction:column;gap:3px}
.qb-tile .wqm-heading{display:block}
.qb-tile .wqm-subheading{display:block;font-size:87%}
.qb-tile .wqm-right{display:block;font-size:92%}
.qb-tile .wqm-highlight{position:static;transform:none;border-radius:var(--wqm-br) var(--wqm-br) 0 0;padding:5px 8px;font-size:82%}
.qb-tile.highlight .wqm-inner{border-top-left-radius:0;border-top-right-radius:0}
.qb-img-left .qb-tile .wqm-inner{flex-direction:row;text-align:left}
.qb-img-left .qb-tile .wqm-inner-img img{max-width:64px}

@media (max-width:768px){
	.qb-grid{grid-template-columns:repeat(var(--qb-cols-m,2),minmax(0,1fr))}
	.qb-row .wqm-inner{padding:.9em .7em;gap:10px}
}

@media (prefers-reduced-motion:reduce){
	.qb-row .wqm-inner,.qb-tile .wqm-inner,.qb-row .wqm-radio>span{transition:none}
}
