/* ===============================================================
   BWS Bundle Builder v2 — Frontend CSS
   Navy #1a2744 | Orange #f47920 | Clean, structured UX
   =============================================================== */
:root{
  --bws-navy:#1a2744;--bws-navy-dk:#111c33;
  --bws-orange:#f47920;--bws-orange-dk:#d4641a;
  --bws-green:#27ae60;--bws-red:#e74c3c;--bws-amber:#f39c12;
  --bws-border:#dde2ec;--bws-bg:#f5f7fa;--bws-white:#fff;
  --bws-text:#2c3e50;--bws-muted:#6b7a99;
  --bws-radius:8px;--bws-shadow:0 2px 12px rgba(26,39,68,.08);
}

/* Wrap */
.bws-wrap{font-family:inherit;color:var(--bws-text);max-width:860px;margin:0 auto}
.bws-error{color:var(--bws-red);padding:12px;background:#fff5f5;border-radius:var(--bws-radius)}

/* ── Header ──────────────────────────────── */
.bws-header{display:flex;justify-content:space-between;align-items:flex-start;
  background:var(--bws-navy);color:#fff;border-radius:var(--bws-radius) var(--bws-radius) 0 0;
  padding:24px 28px;gap:20px;flex-wrap:wrap}
.bws-header__thumb{flex-shrink:0}
.bws-header__thumb-img{width:90px;height:90px;object-fit:cover;border-radius:6px;
  border:2px solid rgba(255,255,255,.15);display:block}
.bws-header__info{flex:1;min-width:0}
.bws-header__cat{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--bws-orange);margin-bottom:5px}
.bws-header__title{margin:0 0 5px;font-size:1.4rem;font-weight:700;color:#fff !important}
.bws-header__desc{margin:0 0 6px;opacity:.85;font-size:.88rem;color:#fff !important}
.bws-header__sub{margin:0;font-size:.82rem;opacity:.65;color:#fff !important}
.bws-header__price-box{text-align:right;flex-shrink:0;align-self:center}
.bws-header__price-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7;color:#fff !important}
.bws-header__price{display:block;font-size:2rem;font-weight:800;color:var(--bws-orange) !important;line-height:1.1}
.bws-header__price .woocommerce-Price-amount{color:var(--bws-orange)!important}

/* ── Section ─────────────────────────────── */
.bws-section{background:var(--bws-white);border:1px solid var(--bws-border);border-top:none}
.bws-section__hd{display:flex;align-items:center;gap:10px;padding:14px 24px;
  font-weight:700;font-size:.95rem;color:var(--bws-navy);
  border-bottom:1px solid var(--bws-border);flex-wrap:wrap}
.bws-step{display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;background:var(--bws-orange);color:#fff;
  border-radius:50%;font-size:.78rem;font-weight:800;flex-shrink:0}
.bws-step--check{background:var(--bws-green)}
.bws-section__sub{font-size:.8rem;font-weight:400;color:var(--bws-muted);margin-left:4px}
.bws-optional-badge{font-size:.72rem;font-weight:600;background:#f0f2f5;color:var(--bws-muted);
  border-radius:20px;padding:2px 10px;text-transform:uppercase;letter-spacing:.05em;margin-left:auto}

/* ── Tier picker ─────────────────────────── */
.bws-tiers-section .bws-section__hd{border-bottom:none}
.bws-tiers{display:flex;flex-wrap:wrap;gap:12px;padding:16px 24px}
.bws-tier{position:relative;cursor:pointer;display:flex;flex-direction:column;gap:3px;
  padding:14px 18px;border:2px solid var(--bws-border);border-radius:var(--bws-radius);
  background:var(--bws-white);min-width:130px;flex:1;transition:all .15s;text-align:center}
.bws-tier input{position:absolute;opacity:0;width:1px;height:1px;}
.bws-tier:hover{border-color:var(--bws-orange);background:#fffaf5}
.bws-tier--active{border-color:var(--bws-orange);background:#fff8f0;
  box-shadow:0 0 0 3px rgba(244,121,32,.15)}
.bws-tier--active::after{content:'✓';position:absolute;top:-9px;right:-9px;
  width:22px;height:22px;background:var(--bws-orange);color:#fff;
  border-radius:50%;font-size:.75rem;font-weight:700;display:flex;
  align-items:center;justify-content:center;line-height:22px;text-align:center}
.bws-tier__units{font-size:1.5rem;font-weight:800;color:var(--bws-navy);line-height:1}
.bws-tier__label{font-size:.8rem;color:var(--bws-muted)}
.bws-tier__price{font-size:1.1rem;font-weight:700;color:var(--bws-orange);margin-top:4px}
.bws-tier__price .woocommerce-Price-amount{color:var(--bws-orange)!important}
.bws-tier__per{font-size:.75rem;color:var(--bws-muted)}

/* ── Progress bar (Flex only) ────────────── */
.bws-progress-bar{display:flex;align-items:center;gap:14px;padding:12px 24px;
  background:var(--bws-white);border:1px solid var(--bws-border);border-top:none}
.bws-progress-bar__track{flex:1;height:8px;background:var(--bws-border);
  border-radius:99px;overflow:hidden}
.bws-progress-bar__fill{height:100%;background:var(--bws-orange);border-radius:99px;
  transition:width .3s ease,background .3s}
.bws-progress-bar__fill--full{background:var(--bws-green)}
.bws-progress-bar__fill--over{background:var(--bws-red)}
.bws-progress-bar__label{font-size:.85rem;color:var(--bws-muted);white-space:nowrap}
.bws-progress-bar__label strong{color:var(--bws-navy)}

/* ── Fixed Kit Slots ─────────────────────── */
.bws-slots{padding:8px 16px 16px}
.bws-slot{display:flex;align-items:flex-start;gap:14px;padding:14px 8px;
  border-bottom:1px solid var(--bws-border)}
.bws-slot:last-child{border-bottom:none}
.bws-slot__num{width:28px;height:28px;background:var(--bws-navy);color:#fff;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:.85rem;flex-shrink:0;margin-top:4px}
.bws-slot__thumb{width:64px;height:64px;flex-shrink:0;border:1px solid var(--bws-border);
  border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f9f9f9}
.bws-slot__img{width:100%;height:100%;object-fit:contain}
.bws-slot__body{flex:1;min-width:0}
.bws-slot__name{font-weight:600;color:var(--bws-navy);margin-bottom:8px;font-size:.95rem}
.bws-slot__attrs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.bws-loading-txt{color:var(--bws-muted);font-size:.85rem;font-style:italic}
.bws-slot__status{font-size:.78rem;padding:3px 10px;border-radius:20px;display:inline-block}
.bws-slot__status--empty{background:#fff3e0;color:var(--bws-orange-dk,#d4641a)}
.bws-slot__status--filled{background:#eafaf1;color:var(--bws-green)}

/* Attribute selects inside a slot */
.bws-attr-field{display:flex;flex-direction:column;gap:3px}
.bws-attr-label{font-size:.75rem;font-weight:600;color:var(--bws-muted);text-transform:uppercase;letter-spacing:.04em}
.bws-attr-select{border:1px solid var(--bws-border);border-radius:5px;padding:5px 8px;
  font-size:.88rem;color:var(--bws-text);background:var(--bws-white);height:32px;min-width:110px}
.bws-attr-select:focus{outline:none;border-color:var(--bws-orange);box-shadow:0 0 0 2px rgba(244,121,32,.15)}
.bws-oos-warn{font-size:.78rem;color:var(--bws-red);margin-top:4px}

/* ── Flex Catalogue ──────────────────────── */
.bws-catalogue{display:flex;flex-direction:column;gap:0}
.bws-cat-item{display:flex;align-items:center;gap:12px;padding:12px 24px;
  border-bottom:1px solid var(--bws-border)}
.bws-cat-item:last-child{border-bottom:none}
.bws-cat-item__thumb{width:54px;height:54px;flex-shrink:0;border:1px solid var(--bws-border);
  border-radius:5px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f9f9f9}
.bws-cat-item__img{width:100%;height:100%;object-fit:contain}
.bws-cat-item__body{flex:1;min-width:0}
.bws-cat-item__name{font-weight:600;color:var(--bws-navy);font-size:.9rem}
.bws-cat-item__cap{font-size:.75rem;color:var(--bws-muted)}
.bws-cat-item__brandable{font-size:.75rem;color:var(--bws-green);font-weight:600}
.bws-cat-add{padding:7px 16px;background:var(--bws-navy);color:#fff;border:none;
  border-radius:5px;font-size:.85rem;font-weight:600;cursor:pointer;
  flex-shrink:0;transition:background .15s}
.bws-cat-add:hover{background:var(--bws-navy-dk,#111c33)}
.bws-cat-add:disabled{opacity:.35;cursor:default}

/* Selected garments (flex) */
.bws-selected{padding:8px 16px 16px}
.bws-sel-item{display:flex;align-items:flex-start;gap:10px;padding:12px 8px;
  border-bottom:1px solid var(--bws-border)}
.bws-sel-item:last-child{border-bottom:none}
.bws-sel-item__name{font-weight:600;color:var(--bws-navy);margin-bottom:6px;font-size:.9rem}
.bws-sel-item__attrs{display:flex;flex-wrap:wrap;gap:8px;flex:1}
.bws-sel-remove{background:transparent;border:1px solid #fccaca;color:var(--bws-red);
  border-radius:4px;padding:3px 8px;font-size:.78rem;cursor:pointer;flex-shrink:0;
  align-self:flex-start;margin-top:2px}
.bws-sel-remove:hover{background:#fff0f0}

/* ── Decoration ──────────────────────────── */
.bws-dec-body{padding:18px 24px;display:flex;flex-direction:column;gap:16px}
.bws-dec-type-row{display:flex;flex-wrap:wrap;gap:8px}
.bws-dec-btn{padding:9px 20px;border:2px solid var(--bws-border);border-radius:6px;
  background:var(--bws-white);color:var(--bws-muted);font-weight:600;font-size:.9rem;
  cursor:pointer;transition:all .15s}
.bws-dec-btn:hover{border-color:var(--bws-orange);color:var(--bws-navy)}
.bws-dec-btn--active{border-color:var(--bws-orange);background:var(--bws-orange);color:#fff}
.bws-dec-intro{font-size:.87rem;color:var(--bws-muted);margin:0 0 12px;line-height:1.5}
.bws-dec-intro strong{color:var(--bws-navy)}
.bws-dec-intro a{color:var(--bws-orange)}

/* Position checkboxes */
.bws-positions{display:flex;flex-wrap:wrap;gap:10px}
.bws-pos{cursor:pointer;flex-shrink:0}
.bws-pos input{position:absolute;opacity:0;pointer-events:none}
.bws-pos__inner{display:flex;flex-direction:column;gap:3px;padding:10px 14px;
  border:2px solid var(--bws-border);border-radius:6px;background:var(--bws-white);
  transition:all .15s;min-width:100px;text-align:center}
.bws-pos:hover .bws-pos__inner{border-color:var(--bws-orange);background:#fffaf5}
.bws-pos input:checked + .bws-pos__inner{border-color:var(--bws-orange);background:#fff8f0;
  box-shadow:0 0 0 2px rgba(244,121,32,.12)}
.bws-pos--free .bws-pos__inner{border-color:#b2dfdb;background:#f0faf9}
.bws-pos--free input:checked + .bws-pos__inner{border-color:var(--bws-green);background:#eafaf1;
  box-shadow:0 0 0 2px rgba(39,174,96,.1)}
.bws-pos__name{font-size:.85rem;font-weight:600;color:var(--bws-navy)}
.bws-pos__price{font-size:.75rem;color:var(--bws-muted)}
.bws-free{color:var(--bws-green);font-weight:700}

/* Artwork upload */
.bws-artwork{border-top:1px solid var(--bws-border);padding-top:16px;
  display:flex;flex-direction:column;gap:12px}
.bws-upload-area{border:2px dashed var(--bws-border);border-radius:8px;
  padding:20px;text-align:center;background:var(--bws-bg);transition:border-color .15s}
.bws-upload-area:hover{border-color:var(--bws-orange)}
.bws-upload-label{display:flex;flex-direction:column;align-items:center;gap:6px;
  cursor:pointer;font-size:.88rem;color:var(--bws-muted)}
.bws-upload-icon{font-size:1.6rem}
.bws-upload-preview{display:flex;align-items:center;gap:12px;padding:8px}
.bws-preview-thumb{width:54px;height:54px;object-fit:contain;border:1px solid var(--bws-border);
  border-radius:4px;background:var(--bws-white)}
.bws-preview-name{font-size:.85rem;font-weight:600;color:var(--bws-navy);flex:1;word-break:break-all}
.bws-preview-remove{background:transparent;border:1px solid #fccaca;color:var(--bws-red);
  border-radius:4px;padding:3px 8px;font-size:.78rem;cursor:pointer}
.bws-upload-hint{font-size:.8rem;color:var(--bws-muted);margin:0;line-height:1.5}
.bws-upload-hint a{color:var(--bws-orange)}
.bws-notes-label{font-size:.8rem;font-weight:600;color:var(--bws-muted);
  text-transform:uppercase;letter-spacing:.04em}
.bws-notes{width:100%;border:1px solid var(--bws-border);border-radius:6px;
  padding:9px 12px;font-size:.9rem;font-family:inherit;resize:vertical;
  box-sizing:border-box;min-height:70px}
.bws-notes:focus{outline:none;border-color:var(--bws-orange)}

/* ── Summary ─────────────────────────────── */
.bws-summary{background:var(--bws-bg);border:1px solid var(--bws-border);
  border-top:none;padding:20px 24px}
.bws-summary__title{margin:0 0 12px;font-size:1rem;font-weight:700;color:var(--bws-navy)}
.bws-summary__items{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px;min-height:30px}
.bws-summary__empty{color:var(--bws-muted);font-size:.85rem;margin:0}
.bws-summary__chip{background:var(--bws-white);border:1px solid var(--bws-border);
  border-radius:20px;padding:4px 12px;font-size:.8rem;color:var(--bws-text)}
.bws-summary__chip strong{color:var(--bws-navy)}
.bws-summary__line{display:flex;justify-content:space-between;padding:6px 0;
  font-size:.9rem;border-top:1px solid var(--bws-border)}
.bws-summary__bundle{margin-top:4px}
.bws-summary__decoration strong{color:var(--bws-orange)}
.bws-summary__total{display:flex;justify-content:space-between;padding-top:10px;
  margin-top:4px;border-top:2px solid var(--bws-navy);font-size:1rem}
.bws-summary__total strong{font-size:1.25rem;color:var(--bws-navy)}

/* ── Actions ─────────────────────────────── */
.bws-actions{background:var(--bws-white);border:1px solid var(--bws-border);
  border-top:none;border-radius:0 0 var(--bws-radius) var(--bws-radius);overflow:hidden}
.bws-action-btns{display:flex;gap:10px;padding:16px 24px 0}
.bws-action-btns .bws-submit--cart{flex:1}
.bws-wrap .bws-action-tab{
  flex:0 0 auto;padding:13px 18px;cursor:pointer;transition:all .15s;
  font-size:.88rem;font-weight:700;text-align:center;
  background:var(--bws-white) !important;color:var(--bws-navy) !important;
  border:2px solid var(--bws-navy) !important;
  border-radius:6px !important;
  box-shadow:none !important;outline:none !important}
.bws-wrap .bws-action-tab:hover{background:var(--bws-navy) !important;color:#fff !important}
.bws-action-panel{padding:24px}
.bws-panel-note{margin:0 0 14px;color:var(--bws-muted);font-size:.88rem}

/* Submit buttons */
.bws-submit{display:block;width:100%;padding:14px;border-radius:6px;font-size:1rem;
  font-weight:700;cursor:pointer;border:none;transition:all .2s;letter-spacing:.02em;
  box-sizing:border-box}
.bws-submit--cart{background:var(--bws-navy);color:#fff}
.bws-submit--cart:hover{background:var(--bws-navy-dk,#111c33);transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(26,39,68,.25)}
.bws-submit--quote{background:var(--bws-orange);color:#fff;margin-top:12px}
.bws-submit--quote:hover{background:var(--bws-orange-dk,#d4641a);transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(244,121,32,.3)}
.bws-submit:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}

/* Quote form */
.bws-form{display:flex;flex-direction:column;gap:12px}
.bws-form-row{display:flex;gap:12px}
.bws-form-row>.bws-form-field{flex:1}
.bws-form-field{display:flex;flex-direction:column;gap:4px}
.bws-form-field label{font-size:.78rem;font-weight:600;color:var(--bws-muted);
  text-transform:uppercase;letter-spacing:.04em}
.bws-req{color:var(--bws-red)}
.bws-input{border:1px solid var(--bws-border);border-radius:6px;padding:9px 12px;
  font-size:.9rem;color:var(--bws-text);background:var(--bws-white);
  width:100%;box-sizing:border-box;font-family:inherit;transition:border .15s}
.bws-input:focus{outline:none;border-color:var(--bws-orange);
  box-shadow:0 0 0 2px rgba(244,121,32,.15)}
textarea.bws-input{resize:vertical;min-height:80px}

/* Feedback */
.bws-feedback{margin-top:10px;padding:10px 14px;border-radius:6px;font-size:.88rem;display:none}
.bws-feedback--ok{display:block;background:#eafaf1;color:var(--bws-green);border:1px solid #b2dfdb}
.bws-feedback--err{display:block;background:#fff5f5;color:var(--bws-red);border:1px solid #fcd4d4}
.bws-feedback a{color:inherit;font-weight:700}

/* Responsive */
@media(max-width:600px){
  .bws-header,.bws-dec-body{padding:16px}
  .bws-section__hd{padding:12px 16px}
  .bws-slots,.bws-selected,.bws-catalogue{padding:6px 8px 12px}
  .bws-cat-item,.bws-slot{padding:10px 8px}
  .bws-tiers{padding:12px 16px}
  .bws-tier{min-width:calc(50% - 8px)}
  .bws-action-panel{padding:16px}
  .bws-form-row{flex-direction:column}
  .bws-progress-bar{padding:10px 16px}
  .bws-positions{flex-direction:column}
  .bws-pos__inner{flex-direction:row;justify-content:space-between;text-align:left;min-width:unset}
}

/* ============================================================
   Colour Swatches & Size Pills
   ============================================================ */

/* Swatch row */
.bws-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 6px 0 4px;
}

/* Individual swatch button */
.bws-swatch {
    width: 44px;
    height: 44px;
    border-radius: 6px;
    border: 2px solid var(--bws-border);
    cursor: pointer;
    padding: 0;
    overflow: hidden;
    position: relative;
    transition: border-color .15s, transform .1s, box-shadow .15s;
    flex-shrink: 0;
    background-size: cover;
    background-position: center;
    background-color: #f0f2f5;
}
.bws-swatch:hover {
    border-color: var(--bws-orange);
    transform: scale(1.08);
}
.bws-swatch--selected {
    border-color: var(--bws-orange);
    box-shadow: 0 0 0 3px rgba(244,121,32,.25);
    transform: scale(1.08);
}
.bws-swatch--selected::after {
    content: '✓';
    position: absolute;
    bottom: 2px;
    right: 3px;
    font-size: 11px;
    font-weight: 900;
    color: #fff;
    text-shadow: 0 0 3px rgba(0,0,0,.8);
    line-height: 1;
}

/* Text fallback swatch (initial letter) */
.bws-swatch--text {
    font-size: .72rem;
    font-weight: 700;
    color: var(--bws-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #e8ecf4;
}

/* Chosen colour name label */
.bws-swatch-chosen {
    font-size: .8rem;
    color: var(--bws-muted);
    min-height: 16px;
    font-style: italic;
    margin-bottom: 2px;
}

/* Size pills */
.bws-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 6px 0 4px;
}
.bws-pill {
    padding: 5px 13px;
    border: 2px solid var(--bws-border);
    border-radius: 5px;
    background: var(--bws-white);
    color: var(--bws-navy);
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .15s;
    line-height: 1.2;
}
.bws-pill:hover {
    border-color: var(--bws-orange);
    background: #fffaf5;
}
.bws-pill--selected {
    border-color: var(--bws-orange);
    background: var(--bws-orange);
    color: #fff;
}
.bws-pill--oos {
    opacity: .35;
    cursor: not-allowed;
    text-decoration: line-through;
}

/* ============================================================
   Group Slots & Product Group Picker
   ============================================================ */
.bws-slot--group .bws-slot__thumb--group {
    background: var(--bws-light);
    display: flex; align-items: center; justify-content: center;
}
.bws-slot__group-icon {
    font-size: 1.6rem; color: var(--bws-muted);
}
.bws-slot__qty-badge {
    font-size: .75rem; color: var(--bws-muted);
    margin-bottom: 8px;
}
.bws-group-picker__label {
    font-size: .85rem; font-weight: 600; color: var(--bws-navy);
    margin: 0 0 8px;
}
.bws-group-options {
    display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px;
}
.bws-group-option {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    padding: 10px 8px; border: 2px solid var(--bws-border); border-radius: 6px;
    background: var(--bws-white); cursor: pointer; transition: all .15s;
    width: 100px; text-align: center; flex-shrink: 0;
    position: relative; overflow: visible;
}
.bws-group-option:hover { border-color: var(--bws-orange); background: #fffaf5; }
.bws-group-option--selected {
    border-color: var(--bws-orange); background: #fff8f0;
    box-shadow: 0 0 0 3px rgba(244,121,32,.15);
}
.bws-group-option__img {
    width: 72px; height: 72px; object-fit: contain; display: block;
    border-radius: 4px; border: 1px solid var(--bws-border); flex-shrink: 0;
}
.bws-group-option__name {
    font-size: .72rem; font-weight: 600; color: var(--bws-navy);
    line-height: 1.3; word-break: break-word;
    display: block; width: 100%; margin-top: 2px;
}

/* ============================================================
   Kit Groups & Employee Names
   ============================================================ */
.bws-kit {
    border: 1px solid var(--bws-border);
    border-radius: 6px;
    margin: 12px 16px;
    overflow: hidden;
}
.bws-kit__hd {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    background: #f0f3fa;
    border-bottom: 1px solid var(--bws-border);
    flex-wrap: wrap;
}
.bws-kit__num {
    font-weight: 700;
    font-size: .9rem;
    color: var(--bws-navy);
    white-space: nowrap;
    background: var(--bws-navy);
    color: #fff;
    border-radius: 4px;
    padding: 3px 10px;
    flex-shrink: 0;
}
.bws-kit__name-field {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}
.bws-kit__name-label {
    font-size: .8rem;
    font-weight: 600;
    color: var(--bws-muted);
    white-space: nowrap;
}
.bws-kit__name-label small { font-weight: 400; }
.bws-kit__name-input {
    flex: 1;
    max-width: 280px;
    padding: 6px 10px !important;
    font-size: .88rem !important;
}
.bws-kit__slots .bws-slot:last-child { border-bottom: none; }
.bws-kit__slots .bws-slot { border-bottom: 1px solid var(--bws-border); }

/* Summary kit label */
.bws-summary__kit-label {
    display: block;
    width: 100%;
    font-size: .8rem;
    font-weight: 700;
    color: var(--bws-navy);
    text-transform: uppercase;
    letter-spacing: .05em;
    margin: 8px 0 4px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--bws-border);
}
.bws-summary__kit-label:first-child { margin-top: 0; }

/* ============================================================
   Header title — force white text regardless of theme override
   ============================================================ */
.bws-wrap .bws-header,
.bws-wrap .bws-header * {
    color: #fff !important;
}
.bws-wrap .bws-header .bws-header__price,
.bws-wrap .bws-header .bws-header__price *,
.bws-wrap .bws-header .bws-header__price .woocommerce-Price-amount,
.bws-wrap .bws-header .bws-header__price .woocommerce-Price-currencySymbol,
.bws-wrap .bws-header .bws-header__price bdi,
.bws-wrap .bws-header .bws-header__price span {
    color: #fff !important;
}
.bws-wrap .bws-header__price-label {
    color: rgba(255,255,255,0.7) !important;
}

/* Group option name — white bg band to prevent overlap with bright images */
.bws-group-option__name {
    background: rgba(255,255,255,0.95);
    padding: 3px 4px;
    border-radius: 3px;
    margin-top: 2px;
}

/* Flex catalogue item — qty + add button */
.bws-cat-item__add {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
}
.bws-cat-qty {
    border: 1px solid var(--bws-border) !important;
    border-radius: 4px !important;
    font-size: .85rem !important;
    background: var(--bws-white) !important;
    color: var(--bws-navy) !important;
    flex-shrink: 0;
}
.bws-cat-qty:focus { border-color: var(--bws-orange) !important; outline: none !important; }

/* ============================================================
   Size Quantity Grid
   ============================================================ */
.bws-qty-grid { padding: 4px 0 8px; }

.bws-qty-grid__colours {
    display: flex; align-items: center; gap: 10px;
    margin-bottom: 12px; flex-wrap: wrap;
}
.bws-qty-grid__col-label,
.bws-qty-grid__size-label {
    font-size: .78rem; font-weight: 600; color: var(--bws-muted);
    text-transform: uppercase; letter-spacing: .04em;
    white-space: nowrap;
}
.bws-qty-grid__chosen-colour {
    font-size: .85rem; font-weight: 600; color: var(--bws-navy);
    margin-top: 4px;
}
.bws-qty-grid__sizes {
    display: flex; align-items: flex-start; gap: 10px; flex-wrap: wrap;
}
.bws-qty-grid__inputs {
    display: flex; flex-wrap: wrap; gap: 6px; flex: 1;
}
.bws-qty-grid__cell {
    display: flex; flex-direction: column; align-items: center;
    gap: 3px;
}
.bws-qty-grid__size-name {
    font-size: .72rem; font-weight: 700; color: var(--bws-navy);
    text-align: center;
}
.bws-qty-grid__input {
    width: 48px !important; text-align: center !important;
    padding: 5px 4px !important; font-size: .85rem !important;
    border: 1px solid var(--bws-border) !important;
    border-radius: 4px !important; background: var(--bws-white) !important;
    color: var(--bws-navy) !important;
}
.bws-qty-grid__input:focus {
    border-color: var(--bws-orange) !important; outline: none !important;
}
.bws-qty-grid__input:not([value="0"]) {
    border-color: var(--bws-orange) !important;
    background: #fff8f0 !important;
}
.bws-qty-grid__total {
    margin-top: 8px; font-size: .85rem; color: var(--bws-muted);
}
.bws-qty-grid__total strong { color: var(--bws-navy); }
