.apc-configurator{
  --apc-orange:#ff5a00;
  --apc-orange-dark:#e64f00;
  --apc-ink:#111111;
  --apc-text:#292929;
  --apc-muted:#707070;
  --apc-border:#e5e5e5;
  --apc-soft:#f8f8f6;
  --apc-shadow:0 14px 40px rgba(0,0,0,.08);
  position:relative;
  width:100%;
  margin:0 0 24px;
  padding:28px;
  border:1px solid var(--apc-border);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--apc-shadow);
  color:var(--apc-text);
}
.apc-configurator *{box-sizing:border-box}
.apc-configurator__head{margin:0 0 28px}
.apc-configurator__head h3{margin:0;color:var(--apc-ink);font-size:clamp(24px,2vw,32px);font-weight:900;line-height:1.05;letter-spacing:-.8px}
.apc-configurator__head p{margin:10px 0 0;color:var(--apc-muted);font-size:12px;line-height:1.5}
.apc-variation-notice{display:none;margin:0 0 18px;padding:12px 14px;border:1px solid #ffb38c;border-left:4px solid var(--apc-orange);border-radius:7px;background:#fff5ef;color:#8a2d00;font-size:12px;font-weight:700;line-height:1.45}
.apc-variation-notice.is-visible{display:block}
.apc-step{padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid var(--apc-border)}
.apc-step__title{display:flex;align-items:flex-start;gap:9px;margin-bottom:14px;color:var(--apc-ink)}
.apc-step__title>span{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--apc-orange);color:#fff;font-size:11px;font-weight:900;line-height:1}
.apc-step__title strong{padding-top:3px;font-size:13px;font-weight:900;line-height:1.35}
.apc-step__title strong small{font-size:10px;color:var(--apc-muted);font-weight:700}
.apc-step__title em{color:var(--apc-orange);font-style:normal}
.apc-step__hint{display:block;margin-top:9px;color:#898989;font-size:10px;text-align:center}
.apc-qty-control{display:flex;align-items:center;justify-content:center;gap:8px}
.apc-qty-btn,.apc-qty-display{height:50px;border:1px solid #dedede;background:#fff;border-radius:7px;color:var(--apc-ink);font-weight:800;box-shadow:none!important}
.apc-qty-btn{width:50px;padding:0;font-size:24px;line-height:1;cursor:pointer;transition:.18s ease}
.apc-qty-btn:hover{border-color:var(--apc-orange);color:var(--apc-orange);background:#fff8f4}
.apc-qty-display{width:82px!important;padding:0 8px!important;text-align:center!important;font-size:18px!important;appearance:textfield;-moz-appearance:textfield}
.apc-qty-display::-webkit-outer-spin-button,.apc-qty-display::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.apc-qty-unit{margin-left:4px;color:#444;font-size:12px;font-weight:700}
.apc-options{display:grid;gap:8px}
.apc-option{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px;border:1px solid var(--apc-border);border-radius:8px;cursor:pointer;transition:.18s ease}
.apc-option:hover{border-color:#c7c7c7;background:#fafafa}
.apc-option input{position:absolute;opacity:0;pointer-events:none}
.apc-option__check{position:relative;width:18px;height:18px;border:1.5px solid #aaa;border-radius:4px;background:#fff}
.apc-option input:checked+.apc-option__check{border-color:var(--apc-orange);background:var(--apc-orange)}
.apc-option input:checked+.apc-option__check:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.apc-option__label{font-size:11px;font-weight:700}
.apc-option strong{color:var(--apc-orange);font-size:10px;white-space:nowrap}
.apc-upload-groups{display:grid;gap:14px}
.apc-upload-group{padding:14px;border:1px solid var(--apc-border);border-radius:10px;background:#fcfcfc}
.apc-upload-group.is-hidden{display:none}
.apc-upload-group__title{margin:0 0 10px;color:#171717;font-size:12px;font-weight:800}
.apc-upload{display:flex;min-height:155px;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px;border:1.5px dashed #bdbdbd;border-radius:9px;background:#fff;cursor:pointer;transition:.2s ease}
.apc-upload:hover,.apc-upload.is-dragover{border-color:var(--apc-orange);background:#fff9f6}
.apc-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
.apc-upload-icon{display:grid;place-items:center;width:50px;height:50px;margin-bottom:8px;color:#111}
.apc-upload-icon svg{width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.apc-upload strong{color:#222;font-size:13px;line-height:1.55}
.apc-upload small{margin-top:9px;color:#7a7a7a;font-size:9.5px;text-transform:uppercase}
.apc-file-list{display:grid;gap:8px;margin-top:10px}
.apc-file-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--apc-border);border-radius:8px;background:#fff}
.apc-file-row__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:#f4f4f4;color:var(--apc-orange);font-size:16px;font-weight:900}
.apc-file-row__name{min-width:0}
.apc-file-row__name strong{display:block;overflow:hidden;color:#1d1d1d;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.apc-file-row__name small{display:block;margin-top:2px;color:#888;font-size:9px}
.apc-file-remove{display:grid;place-items:center;width:25px;height:25px;padding:0;border:1px solid #ddd;border-radius:50%;background:#fff;color:#222;cursor:pointer;font-size:15px;line-height:1}
.apc-file-remove:hover{border-color:var(--apc-orange);color:var(--apc-orange)}
.apc-configurator textarea{width:100%;min-height:105px;margin:0;padding:13px 14px;border:1px solid #dedede;border-radius:8px;background:#fff;color:#222;font:inherit;font-size:12px;line-height:1.5;resize:vertical;box-shadow:none!important}
.apc-configurator textarea:focus{border-color:var(--apc-orange);outline:none;box-shadow:0 0 0 2px rgba(255,90,0,.08)!important}
.apc-char-count{margin-top:6px;color:#999;font-size:9px;text-align:right}
.apc-confirm{display:flex;align-items:flex-start;gap:10px;color:#303030;font-size:11px;line-height:1.45;cursor:pointer}
.apc-confirm input{position:absolute;opacity:0;pointer-events:none}
.apc-confirm__box{position:relative;flex:0 0 20px;width:20px;height:20px;margin-top:0;border:1.5px solid #999;border-radius:4px;background:#fff}
.apc-confirm input:checked+.apc-confirm__box{border-color:var(--apc-orange);background:var(--apc-orange)}
.apc-confirm input:checked+.apc-confirm__box:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.apc-summary{padding:3px 0 0;margin-top:2px}
.apc-summary__row{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;padding:7px 0;color:#333;font-size:11px;font-weight:800}
.apc-summary__row strong{color:#222;font-size:13px}
.apc-summary__total{padding-top:5px}
.apc-summary__total span{font-size:13px}
.apc-summary__total strong{color:var(--apc-orange);font-size:30px;font-weight:900;line-height:1}
.apc-group-pricing-hint{display:block;margin-top:8px;color:var(--apc-muted);font-size:10px;line-height:1.45}.apc-group-pricing-hint strong{color:var(--apc-orange);font-weight:900}
.apc-quote-submit{display:flex!important;width:100%!important;min-height:58px!important;align-items:center!important;justify-content:center!important;gap:10px!important;margin:18px 0 0!important;padding:15px 20px!important;border:0!important;border-radius:6px!important;background:var(--apc-orange)!important;color:#fff!important;font-size:14px!important;font-weight:900!important;letter-spacing:.1px!important;box-shadow:none!important;cursor:pointer!important;transition:.18s ease!important}
.apc-quote-submit:hover{background:var(--apc-orange-dark)!important;transform:translateY(-1px)}
.apc-quote-submit__icon{width:23px;height:23px}
.apc-quote-submit__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.apc-width-note{margin-top:14px;padding:10px 12px;border-radius:7px;background:var(--apc-soft);color:#676767;font-size:10px;line-height:1.45;text-align:center}
.apc-width-note strong{color:#333}
.apc-form-active .apc-native-hidden{display:none!important}

.apc-pricing-table{--apc-orange:#ff5a00;--apc-border:#e7e7e7;overflow:hidden;width:100%;padding:24px;border:1px solid var(--apc-border);border-radius:12px;background:#fff;box-shadow:0 10px 32px rgba(0,0,0,.06);color:#171717}
.apc-pricing-table *{box-sizing:border-box}
.apc-pricing-table h3{margin:0 0 18px;color:#171717;font-size:18px;font-weight:900;line-height:1.2;letter-spacing:-.3px}
.apc-pricing-table__head,.apc-pricing-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.7fr) 58px;align-items:center;gap:12px;padding:11px 10px}
.apc-pricing-table__head{border-bottom:1px solid var(--apc-border);color:#343434;font-size:14px;font-weight:900}
.apc-pricing-row{position:relative;border-bottom:1px solid #eeeeee;font-size:16px;transition:.18s ease}
.apc-pricing-row:last-of-type{border-bottom:0}
.apc-pricing-row strong{font-size:16px}
.apc-pricing-row em{visibility:hidden;justify-self:end;padding:4px 7px;border-radius:3px;background:var(--apc-orange);color:#fff;font-size:14px;font-style:normal;font-weight:900}
.apc-pricing-row.is-active{margin:0 -24px;padding-left:34px;padding-right:34px;background:#fff2eb}
.apc-pricing-row.is-active em{visibility:visible}
.apc-pricing-table__note{margin:14px 0 0;color:#777;font-size:14px}

@media(min-width:1025px){.apc-configurator{position:sticky;top:105px}}
@media(max-width:1024px){.apc-configurator{position:relative;top:auto}}
@media(max-width:640px){
  .apc-configurator{padding:20px 16px;border-radius:10px}
  .apc-configurator__head{margin-bottom:24px}
  .apc-step{padding-bottom:20px;margin-bottom:20px}
  .apc-qty-btn{width:46px;height:46px}
  .apc-qty-display{height:46px;width:72px!important}
  .apc-upload{min-height:145px;padding:16px 12px}
  .apc-summary__total strong{font-size:27px}
  .apc-pricing-table{padding:18px 14px}
  .apc-pricing-table h3{font-size:15px}
  .apc-pricing-table__head,.apc-pricing-row{grid-template-columns:minmax(0,1fr) minmax(95px,.7fr) 48px;gap:7px;padding:10px 6px}
  .apc-pricing-row.is-active{margin:0 -14px;padding-left:20px;padding-right:20px}
}

.apc-configurator svg,.apc-pricing-table svg{max-width:none!important}
.apc-configurator button,.apc-configurator input,.apc-configurator textarea{font-family:inherit}
.apc-upload-icon svg{display:block!important;width:46px!important;height:46px!important;max-width:46px!important;max-height:46px!important}
.apc-quote-submit__icon svg{display:block!important;width:23px!important;height:23px!important;max-width:23px!important;max-height:23px!important}

/* Automatic tier-pricing table below the product gallery */
.apc-gallery-pricing{
  width:100%;
  clear:both;
  margin-top:30px;
}
.apc-gallery-pricing--pending{
  margin-top:24px;
}
.apc-gallery-pricing .apc-pricing-table{
  width:100%;
  max-width:none;
  margin:0;
}
.apc-gallery-pricing--placed{
  display:block;
  width:100%;
  max-width:100%;
}
@media(max-width:767px){
  .apc-gallery-pricing{margin-top:22px}
}

/* =========================================================
   v0.3.0 — pricing under short description + apparel matrix
========================================================= */
.apc-summary-pricing{
  width:100%;
  margin:18px 0 24px;
}
.apc-summary-pricing .apc-pricing-table{
  padding:18px 16px;
  border-radius:10px;
  box-shadow:none;
  background:#fff;
}
.apc-summary-pricing .apc-pricing-table h3{
  margin-bottom:12px;
  font-size:12px;
  letter-spacing:.02em;
  color:#676d82;
}
.apc-summary-pricing .apc-pricing-table__head,
.apc-summary-pricing .apc-pricing-row{
  grid-template-columns:minmax(0,1.2fr) minmax(120px,.8fr) 52px;
  padding:9px 8px;
  gap:8px;
}
.apc-summary-pricing .apc-pricing-row.is-active{
  margin:0 -16px;
  padding-left:24px;
  padding-right:24px;
}
.apc-summary-pricing .apc-pricing-row em{
  visibility:visible;
  background:#e7f7ed;
  color:#00a84f;
  border-radius:999px;
  text-align:center;
}
.apc-summary-pricing .apc-pricing-row em:empty{visibility:hidden}
.apc-summary-pricing .apc-pricing-table__note{
  padding:10px 11px;
  margin-top:12px;
  border:1px solid #ded5ff;
  border-radius:8px;
  background:#f7f4ff;
  color:#6450d6;
  line-height:1.45;
}

/* Matrix mode uses its own full-width form, so hide WooCommerce's native
   variation selectors/quantity/add-to-cart area in the summary only. */
.apc-matrix-product .summary form.variations_form,
.apc-matrix-product .summary form.cart.variations_form{
  display:none!important;
}

.apc-matrix-wrap{
  --apc-orange:#ff5a00;
  --apc-orange-dark:#e64f00;
  --apc-ink:#151515;
  --apc-muted:#737784;
  --apc-border:#dfe2e8;
  --apc-soft:#f7f8fb;
  width:100%;
  clear:both;
  margin:38px 0 34px;
}
.apc-matrix-form{
  width:100%;
  max-width:1400px;
  margin:0 auto;
  padding:28px;
  border:1px solid #e1e3e8;
  border-radius:14px;
  background:#fff;
  box-shadow:0 12px 35px rgba(20,24,32,.05);
}
.apc-matrix-form *{box-sizing:border-box}
.apc-matrix-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}
.apc-matrix-head>div:first-child>span{
  display:block;
  margin-bottom:5px;
  color:var(--apc-orange);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
.apc-matrix-head h3{
  margin:0;
  color:var(--apc-ink);
  font-size:clamp(20px,2vw,28px);
  font-weight:900;
  line-height:1.15;
}
.apc-matrix-min{
  flex:0 0 auto;
  color:var(--apc-muted);
  font-size:11px;
}
.apc-matrix-min strong{color:var(--apc-ink)}
.apc-matrix-scroll{
  width:100%;
  overflow-x:auto;
  border:1px solid #cfd3da;
  border-radius:7px;
  -webkit-overflow-scrolling:touch;
}
.apc-matrix-table{
  width:100%;
  min-width:820px;
  border-collapse:collapse;
  table-layout:fixed;
  margin:0!important;
  background:#fff;
}
.apc-matrix-table th,
.apc-matrix-table td{
  height:54px;
  padding:6px;
  border-right:1px solid #bfc4cc;
  border-bottom:1px solid #cfd3da;
  text-align:center;
  vertical-align:middle;
}
.apc-matrix-table tr:last-child th,
.apc-matrix-table tr:last-child td{border-bottom:0}
.apc-matrix-table th:last-child,
.apc-matrix-table td:last-child{border-right:0}
.apc-matrix-table thead th{
  background:#f1f2f5;
  color:#1d2230;
  font-size:11px;
  font-weight:900;
}
.apc-matrix-table thead th:first-child,
.apc-matrix-table tbody th{
  width:150px;
  text-align:left;
}
.apc-matrix-corner span,
.apc-matrix-corner strong{
  display:block;
  font-size:14px;
  line-height:1.2;
}
.apc-matrix-corner strong{margin-top:2px;color:#e02828}
.apc-matrix-table tbody th{
  background:#fafafa;
  color:#d71920;
  font-size:11px;
  font-weight:800;
}
.apc-matrix-row-label{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.apc-matrix-row-label i{
  display:inline-block;
  flex:0 0 13px;
  width:13px;
  height:13px;
  border:1px solid rgba(0,0,0,.22);
  border-radius:3px;
  background:var(--apc-swatch,#ddd);
}
.apc-matrix-qty{
  width:100%!important;
  max-width:160px!important;
  height:38px!important;
  margin:0 auto!important;
  padding:5px 8px!important;
  border:1px solid #666!important;
  border-radius:3px!important;
  background:#fff!important;
  color:#222!important;
  text-align:center!important;
  font-size:14px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.apc-matrix-qty:focus{
  border-color:var(--apc-orange)!important;
  outline:2px solid rgba(255,90,0,.1)!important;
}
.apc-matrix-na{
  display:inline-grid;
  place-items:center;
  width:100%;
  min-height:38px;
  color:#b9bdc7;
  background:#f5f5f5;
  border-radius:3px;
}
.apc-matrix-livebar{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin-top:16px;
  overflow:hidden;
  border:1px solid #e0e2e7;
  border-radius:8px;
  background:#e0e2e7;
}
.apc-matrix-livebar>span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 16px;
  background:#fafbfc;
  color:#777c87;
  font-size:14px;
  font-weight:800;
}
.apc-matrix-livebar strong{
  color:#161616;
  font-size:14px;
  font-weight:900;
}
.apc-matrix-section{
  margin-top:28px;
  padding-top:26px;
  border-top:1px solid #e6e7eb;
}
.apc-matrix-section-title{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:16px;
}
.apc-matrix-section-title>span{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  flex:0 0 27px;
  border-radius:50%;
  background:var(--apc-orange);
  color:#fff;
  font-size:16px;
  font-weight:900;
}
.apc-matrix-section-title strong{
  display:block;
  padding-top:2px;
  color:#151515;
  font-size:14px;
  font-weight:900;
}
.apc-matrix-section-title small{
  display:block;
  margin-top:4px;
  color:#8a8f99;
  font-size:14px;
}
.apc-matrix-upload-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.apc-matrix-upload{
  padding:0;
  border:0;
  background:transparent;
}
.apc-matrix-upload .apc-upload-group__title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.apc-matrix-upload .apc-upload-group__title strong{
  color:#68718a;
  font-size:10px;
  letter-spacing:.04em;
}
.apc-matrix-upload .apc-upload-group__title span{
  color:#ff5a00;
  font-size:15px;
}
.apc-matrix-upload .apc-upload{
  min-height:120px;
  border-color:#cfd4de;
  border-radius:5px;
  background:#f8f9fc;
}
.apc-matrix-upload .apc-upload-icon{
  width:36px;
  height:36px;
  margin-bottom:4px;
  color:#68718a;
}
.apc-matrix-upload .apc-upload-icon svg{
  width:34px!important;
  height:34px!important;
}
.apc-matrix-upload .apc-upload strong{font-size:11px}
.apc-matrix-upload .apc-upload small{font-size:14px;color:#76809a}
.apc-matrix-required-file{
  display:block;
  margin-top:9px;
  color:#d35400;
  font-size:9px;
}
.apc-matrix-notes textarea{
  width:100%;
  min-height:110px;
  padding:13px 14px;
  border:1px solid #d9dce3;
  border-radius:7px;
  background:#fff;
  color:#222;
  font-size:12px;
  line-height:1.5;
  resize:vertical;
  box-shadow:none!important;
}
.apc-matrix-notes textarea:focus{border-color:var(--apc-orange);outline:none}
.apc-matrix-confirm{margin:20px 0 0}
.apc-matrix-footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:25px;
  margin-top:28px;
  padding:22px;
  border-radius:9px;
  background:#f7f8fa;
}
.apc-matrix-footer-total span,
.apc-matrix-footer-total strong,
.apc-matrix-footer-total small{display:block}
.apc-matrix-footer-total span{color:#747a85;font-size:17px;font-weight:900}
.apc-matrix-footer-total strong{margin-top:3px;color:var(--apc-orange);font-size:30px;font-weight:900;line-height:1}
.apc-matrix-footer-total small{margin-top:7px;color:#989ca5;font-size:16px}
.apc-matrix-submit{
  min-width:270px!important;
  min-height:54px!important;
  padding:13px 24px!important;
  border:0!important;
  border-radius:5px!important;
  background:var(--apc-orange)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
}
.apc-matrix-submit:hover{background:var(--apc-orange-dark)!important}
.apc-matrix-submit.is-loading{opacity:.7;cursor:wait}
.apc-matrix-notice{
  display:none;
  margin-top:15px;
  padding:12px 14px;
  border:1px solid #ffb38c;
  border-left:4px solid var(--apc-orange);
  border-radius:6px;
  background:#fff5ef;
  color:#8a2d00;
  font-size:11px;
  font-weight:700;
}
.apc-matrix-notice.is-visible{display:block}
.apc-matrix-warning{
  max-width:1400px;
  margin:30px auto;
  padding:15px;
  border:1px solid #f0c7b1;
  border-radius:7px;
  background:#fff7f2;
  color:#8a3b12;
}

@media(max-width:1024px){
  .apc-matrix-form{padding:22px 18px}
  .apc-matrix-head{align-items:flex-start;flex-direction:column}
  .apc-matrix-livebar{grid-template-columns:1fr}
  .apc-matrix-livebar>span{padding:10px 13px}
}
@media(max-width:767px){
  .apc-summary-pricing{margin:15px 0 20px}
  .apc-matrix-wrap{margin:26px 0}
  .apc-matrix-form{padding:18px 12px;border-radius:9px}
  .apc-matrix-scroll{margin:0 -1px}
  .apc-matrix-table{min-width:720px}
  .apc-matrix-upload-grid{grid-template-columns:1fr}
  .apc-matrix-footer{align-items:stretch;flex-direction:column}
  .apc-matrix-submit{width:100%!important;min-width:0!important}
}


/* =========================================================
   v0.3.1 — bulk apparel order matrix
   Spreadsheet-like color × size ordering for large quantities
========================================================= */
.apc-matrix-form{
  max-width:1500px;
  padding:22px 24px 26px;
  border-radius:8px;
  box-shadow:none;
}
.apc-matrix-head{
  align-items:flex-start;
  padding-bottom:16px;
  margin-bottom:0;
  border-bottom:0;
}
.apc-matrix-head>div:first-child>span{
  margin-bottom:7px;
  color:#151515;
  font-size:18px;
  letter-spacing:-.02em;
}
.apc-matrix-head h3{
  font-size:14px;
  letter-spacing:0;
}
.apc-matrix-head p{
  max-width:720px;
  margin:6px 0 0;
  color:#7d818b;
  font-size:10px;
  line-height:1.55;
}
.apc-matrix-scroll{
  overflow:auto;
  max-height:720px;
  border:1px solid #aeb3bb;
  border-radius:0;
  background:#fff;
  scrollbar-gutter:stable;
}
.apc-matrix-table{
  min-width:920px;
  table-layout:fixed;
}
.apc-matrix-table th,
.apc-matrix-table td{
  height:49px;
  padding:5px 6px;
  border-right:1px solid #aeb3bb;
  border-bottom:1px solid #bfc3ca;
}
.apc-matrix-table thead th{
  position:sticky;
  top:0;
  z-index:5;
  height:48px;
  background:#f1f2f4;
  color:#111;
  font-size:10px;
  text-transform:uppercase;
  box-shadow:0 1px 0 #aeb3bb;
}
.apc-matrix-table thead th:first-child,
.apc-matrix-table tbody th{
  position:sticky;
  left:0;
  z-index:4;
  width:165px;
  min-width:165px;
}
.apc-matrix-table thead th:first-child{
  z-index:7;
  background:#f1f2f4;
}
.apc-matrix-table tbody th{
  background:#fbfbfc;
}
.apc-matrix-corner span,
.apc-matrix-corner strong{
  font-size:15px;
  line-height:1.12;
font-weight: 500;
}
.apc-matrix-corner strong{color:#e10000}
.apc-matrix-row-label{
  gap:6px;
  color:#d40000;
  font-size:14px;
  line-height:1.15;
}
.apc-matrix-row-label i{
  width:13px;
  height:13px;
  flex-basis:13px;
  border-radius:3px;
}
.apc-matrix-color-name{
  min-width:0;
  overflow-wrap:anywhere;
}
.apc-matrix-row-toggle{
  display:grid;
  place-items:center;
  flex:0 0 20px;
  width:20px;
  height:20px;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#6f7b90!important;
  box-shadow:none!important;
  cursor:pointer;
}
.apc-matrix-row-toggle svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
}
.apc-matrix-color-row.is-muted td{
  background:#f6f6f6;
}
.apc-matrix-color-row.is-muted .apc-matrix-color-name,
.apc-matrix-color-row.is-muted .apc-matrix-row-label i{
  opacity:.42;
}
.apc-matrix-color-row.is-muted .apc-matrix-row-toggle{
  opacity:.45;
}
.apc-matrix-qty{
  width:100%!important;
  max-width:none!important;
  height:35px!important;
  padding:3px 8px!important;
  border:1px solid #6f737a!important;
  border-radius:2px!important;
  color:#1a1a1a!important;
  font-size:12px!important;
  font-weight:700!important;
}
.apc-matrix-qty::placeholder{color:#aab0bd}
.apc-matrix-qty:disabled{
  opacity:.38;
  cursor:not-allowed;
  background:#eee!important;
}
.apc-matrix-na{
  min-height:35px;
  border-radius:2px;
  background:#f2f2f2;
}
.apc-matrix-table-help{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:8px 2px 0;
  color:#8a8e98;
  font-size:15px;
  line-height:1.45;
}
.apc-matrix-livebar{
  margin-top:14px;
  border-radius:4px;
}
.apc-matrix-livebar>span{
  padding:11px 14px;
}
.apc-matrix-section{
  margin-top:22px;
  padding-top:22px;
}
.apc-matrix-upload-grid{
  gap:12px;
}
.apc-matrix-upload .apc-upload{
  min-height:126px;
}
.apc-matrix-notes textarea{
  min-height:100px;
}
@media(max-width:767px){
  .apc-matrix-form{padding:16px 10px}
  .apc-matrix-head>div:first-child>span{font-size:16px}
  .apc-matrix-scroll{max-height:570px}
  .apc-matrix-table{min-width:820px}
  .apc-matrix-table thead th:first-child,
  .apc-matrix-table tbody th{width:142px;min-width:142px}
  .apc-matrix-table-help{flex-direction:column;gap:2px}
}

/* =========================================================
   v0.3.2 — WoodMart wholesale apparel layout
   - tier table directly below short description
   - no compact APC card / native variation selectors in matrix mode
   - full-width spreadsheet below the main product row
========================================================= */
.apc-matrix-product .summary .apc-configurator,
.apc-matrix-product .summary form.variations_form,
.apc-matrix-product .summary form.cart.variations_form,
.apc-matrix-product .summary .variations_form,
.apc-matrix-product .summary .wd-swatches-product,
.apc-matrix-product .summary .variations,
.apc-matrix-product .summary > p.price,
.apc-matrix-product .summary > .price{
  display:none!important;
}

.apc-summary-pricing--placed{
  display:block!important;
  width:100%!important;
  margin:16px 0 22px!important;
}
.apc-summary-pricing--placed .apc-pricing-table{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid #d9dde5!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.apc-summary-pricing--placed .apc-pricing-table h3{
  margin:0!important;
  padding:14px 16px 10px!important;
  color:#73798a!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.apc-summary-pricing--placed .apc-pricing-table__head,
.apc-summary-pricing--placed .apc-pricing-row{
  grid-template-columns:minmax(0,1fr) minmax(130px,.7fr) 58px!important;
  margin:0!important;
  padding:10px 16px!important;
  border-top:1px solid #e2e5eb!important;
  border-radius:0!important;
}
.apc-summary-pricing--placed .apc-pricing-row.is-active{
  padding-left:16px!important;
  padding-right:16px!important;
  background:#fff4ed!important;
}
.apc-summary-pricing--placed .apc-pricing-table__note{
  margin:12px!important;
}

.apc-matrix-wrap{
  width:100%!important;
  max-width:none!important;
  clear:both!important;
  margin:28px 0 36px!important;
  padding:0!important;
}
.apc-matrix-wrap--placed{
  display:block!important;
}
.apc-matrix-form{
  width:min(100% - 30px, 1400px)!important;
  max-width:1400px!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.apc-matrix-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin:0 0 13px!important;
  padding:0!important;
}
.apc-matrix-head>div:first-child>span{
  margin:0 0 5px!important;
  color:#171717!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:0!important;
}
.apc-matrix-head h3{
  margin:0!important;
  color:#717786!important;
  font-size:10px!important;
  font-weight:600!important;
}
.apc-matrix-head p{
  display:none!important;
}
.apc-matrix-min{
  padding-bottom:2px!important;
  color:#777d89!important;
  font-size:10px!important;
}

/* The reference page is deliberately long: show every colour row, no inner
   vertical scrollbar. Only horizontal scrolling is allowed on narrow screens. */
.apc-matrix-scroll{
  width:100%!important;
  max-height:none!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  border:1px solid #aeb3bb!important;
  border-radius:0!important;
  background:#fff!important;
  scrollbar-gutter:auto!important;
}
.apc-matrix-table{
  width:100%!important;
  min-width:900px!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
  margin:0!important;
  background:#fff!important;
}
.apc-matrix-table th,
.apc-matrix-table td{
  height:44px!important;
  padding:4px 6px!important;
  border-right:1px solid #aeb3bb!important;
  border-bottom:1px solid #b9bec6!important;
  vertical-align:middle!important;
}
.apc-matrix-table thead th{
  position:static!important;
  height:46px!important;
  background:#f1f2f4!important;
  color:#111!important;
  font-size:10px!important;
  font-weight:900!important;
  text-align:center!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
}
.apc-matrix-table thead th:first-child,
.apc-matrix-table tbody th{
  position:static!important;
  width:150px!important;
  min-width:150px!important;
  text-align:left!important;
}
.apc-matrix-table tbody th{
  background:#fbfbfc!important;
}
.apc-matrix-corner span,
.apc-matrix-corner strong{
  display:block!important;
  font-size:9px!important;
  line-height:1.08!important;
}
.apc-matrix-corner strong{
  margin-top:2px!important;
  color:#df0000!important;
}
.apc-matrix-row-label{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  color:#d80000!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.1!important;
}
.apc-matrix-row-toggle{
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
}
.apc-matrix-row-toggle svg{
  width:13px!important;
  height:13px!important;
}
.apc-matrix-row-label i{
  width:12px!important;
  height:12px!important;
  flex:0 0 12px!important;
  border-radius:3px!important;
}
.apc-matrix-qty{
  width:100%!important;
  max-width:none!important;
  height:34px!important;
  margin:0!important;
  padding:3px 8px!important;
  border:1px solid #70747a!important;
  border-radius:2px!important;
  background:#fff!important;
  color:#222!important;
  text-align:center!important;
  font-size:11px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.apc-matrix-qty:focus{
  border-color:#ff5a00!important;
  outline:1px solid rgba(255,90,0,.18)!important;
}
.apc-matrix-na{
  min-height:34px!important;
  border-radius:2px!important;
}
.apc-matrix-table-help{
  padding:7px 0 0!important;
  font-size:14px!important;
}
.apc-matrix-livebar{
  margin:13px 0 0!important;
  border-radius:3px!important;
}
.apc-matrix-livebar>span{
  padding:10px 13px!important;
}

.apc-matrix-section{
  margin-top:24px!important;
  padding-top:20px!important;
}
.apc-matrix-section-title{
  margin-bottom:13px!important;
}
.apc-matrix-upload-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.apc-matrix-upload .apc-upload{
  min-height:132px!important;
  background:#f8f9fc!important;
}
.apc-matrix-notes textarea{
  min-height:105px!important;
}
.apc-matrix-footer{
  margin-top:24px!important;
}

@media(max-width:767px){
  .apc-matrix-form{
    width:calc(100% - 20px)!important;
  }
  .apc-matrix-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .apc-matrix-table{
    min-width:760px!important;
  }
  .apc-matrix-table thead th:first-child,
  .apc-matrix-table tbody th{
    width:132px!important;
    min-width:132px!important;
  }
  .apc-matrix-upload-grid{
    grid-template-columns:1fr!important;
  }
}

/* =========================================================
   v0.3.3 — WoodMart Layouts exact placement + true bulk grid
========================================================= */
body.apc-matrix-product .wd-single-add-cart form.variations_form,
body.apc-matrix-product form.variations_form.cart{
  display:none!important;
}
body.apc-matrix-product .wd-single-price{
  display:none!important;
}

/* The tier table is moved by JS directly after WoodMart's short-description widget. */
.apc-summary-pricing.apc-summary-pricing--placed{
  display:block!important;
  width:100%!important;
  margin:14px 0 18px!important;
}

/* Wholesale order sheet: full content width, no floating configurator card. */
.apc-matrix-wrap.apc-matrix-wrap--placed{
  width:min(1400px,calc(100% - 40px))!important;
  max-width:1400px!important;
  margin:28px auto 38px!important;
  padding:0!important;
}
.apc-matrix-wrap--placed .apc-matrix-form{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.apc-matrix-wrap--placed .apc-matrix-head{
  align-items:flex-end!important;
  margin:0 0 12px!important;
  padding:0!important;
}
.apc-matrix-wrap--placed .apc-matrix-head>div:first-child>span{
  margin-bottom:3px!important;
  font-size:17px!important;
}
.apc-matrix-wrap--placed .apc-matrix-head h3{
  font-size:17px!important;
  line-height:1.2!important;
}
.apc-matrix-wrap--placed .apc-matrix-head p{
  max-width:720px!important;
  margin:5px 0 0!important;
  color:#777!important;
  font-size:10px!important;
  line-height:1.45!important;
}
.apc-matrix-wrap--placed .apc-matrix-scroll{
  border:1px solid #bfc3ca!important;
  border-radius:0!important;
  background:#fff!important;
}
.apc-matrix-wrap--placed .apc-matrix-table{
  min-width:860px!important;
  table-layout:fixed!important;
}
.apc-matrix-wrap--placed .apc-matrix-table th,
.apc-matrix-wrap--placed .apc-matrix-table td{
  height:48px!important;
  padding:5px 7px!important;
  border-color:#bfc3ca!important;
}
.apc-matrix-wrap--placed .apc-matrix-table thead th{
  height:46px!important;
  background:#f3f4f6!important;
  font-size:16px!important;
}
.apc-matrix-wrap--placed .apc-matrix-table thead th:first-child,
.apc-matrix-wrap--placed .apc-matrix-table tbody th{
  width:155px!important;
  min-width:155px!important;
}
.apc-matrix-wrap--placed .apc-matrix-qty{
  display:block!important;
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  padding:4px 8px!important;
  border:1px solid #777!important;
  border-radius:2px!important;
  background:#fff!important;
  color:#1c1c1c!important;
  cursor:text!important;
  text-align:center!important;
  font-size:17px!important;
  font-weight:500!important;
  line-height:1!important;
  -moz-appearance:textfield!important;
  appearance:textfield!important;
}
.apc-matrix-wrap--placed .apc-matrix-qty::-webkit-outer-spin-button,
.apc-matrix-wrap--placed .apc-matrix-qty::-webkit-inner-spin-button{
  margin:0!important;
  -webkit-appearance:none!important;
}
.apc-matrix-wrap--placed .apc-matrix-qty::placeholder{
  color:#abb1be!important;
  opacity:1!important;
  font-weight:700!important;
}
.apc-matrix-wrap--placed .apc-matrix-qty:hover{
  border-color:#3d3d3d!important;
}
.apc-matrix-wrap--placed .apc-matrix-qty:focus{
  border-color:#ff5a00!important;
  outline:2px solid rgba(255,90,0,.12)!important;
}
.apc-matrix-wrap--placed .apc-matrix-table-help{
  display:flex!important;
  justify-content:space-between!important;
  gap:15px!important;
  color:#8a8f99!important;
}

@media(max-width:767px){
  .apc-matrix-wrap.apc-matrix-wrap--placed{
    width:calc(100% - 20px)!important;
    margin-top:20px!important;
  }
  .apc-matrix-wrap--placed .apc-matrix-head{
    align-items:flex-start!important;
  }
  .apc-matrix-wrap--placed .apc-matrix-table-help{
    flex-direction:column!important;
    gap:3px!important;
  }
}


/* =========================================================
   v0.3.4 — colour image preview + manual matrix ordering
========================================================= */
.apc-matrix-preview-btn{
  transition:color .15s ease,transform .15s ease,background .15s ease!important;
  border-radius:50%!important;
}
.apc-matrix-preview-btn:hover,
.apc-matrix-preview-btn:focus-visible{
  color:var(--apc-orange)!important;
  transform:scale(1.08);
  outline:none!important;
}
.apc-matrix-qty{
  pointer-events:auto!important;
  cursor:text!important;
  user-select:text!important;
  -moz-appearance:textfield;
}
.apc-matrix-qty::-webkit-outer-spin-button,
.apc-matrix-qty::-webkit-inner-spin-button{
  opacity:1;
}
.apc-matrix-preview-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(12,14,18,.72);
  backdrop-filter:blur(3px);
}
.apc-matrix-preview-modal.is-open{display:flex}
.apc-matrix-preview-dialog{
  position:relative;
  width:min(680px,94vw);
  max-height:92vh;
  padding:18px 18px 14px;
  overflow:auto;
  border-radius:10px;
  background:#fff;
  box-shadow:0 25px 80px rgba(0,0,0,.28);
}
.apc-matrix-preview-image-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:280px;
  overflow:hidden;
  border-radius:7px;
  background:#f5f5f5;
}
.apc-matrix-preview-image-wrap img{
  display:block;
  width:100%;
  height:auto;
  max-height:75vh;
  object-fit:contain;
}
.apc-matrix-preview-title{
  display:block;
  padding:12px 4px 2px;
  color:#151515;
  font-size:15px;
  font-weight:800;
  text-align:center;
}
.apc-matrix-preview-close{
  position:absolute;
  top:27px;
  right:27px;
  z-index:3;
  display:grid!important;
  place-items:center;
  width:38px!important;
  height:38px!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(17,17,17,.88)!important;
  color:#fff!important;
  font-size:25px!important;
  font-weight:400!important;
  line-height:1!important;
  cursor:pointer;
}
body.apc-preview-open{overflow:hidden}
@media(max-width:767px){
  .apc-matrix-preview-modal{padding:12px}
  .apc-matrix-preview-dialog{padding:10px 10px 12px}
  .apc-matrix-preview-close{top:18px;right:18px}
  .apc-matrix-preview-image-wrap{min-height:220px}
}


/* =========================================================
   v0.3.7 — Quote cart / checkout terminology
   ========================================================= */
.apc-quote-cart .wd-free-progress-bar {
    display: none !important;
}

.apc-quote-cart .woocommerce-mini-cart__buttons .apc-quote-view-button,
.apc-quote-cart .woocommerce-mini-cart__buttons .apc-quote-send-button {
    white-space: normal;
    text-align: center;
    line-height: 1.25;
}

.apc-quote-cart .apc-quote-send-button {
    white-space: normal;
    text-align: center;
}
