/* Hide default controls on variable products */
.product-type-variable form.cart,
.product-type-variable form.variations_form,
.product-type-variable .variations,
.product-type-variable .single_add_to_cart_button,
.product-type-variable .quantity,
.product-type-variable .swatches-select,
.product-type-variable .variations_button { display:none !important; }

/* Matrix block */
.msm-wrap { margin:18px 0; padding:16px; border:1px solid #e9e9e9; border-radius:12px; background:#fff; }
.msm-title { margin:0 0 12px; font-weight:600; display:flex; align-items:center; gap:10px; }
.msm-title .msm-ratio { margin-left:auto; display:flex; align-items:center; gap:8px; }
.msm-title select.msm-ratio-select{ min-width:160px; height:36px; border-radius:8px; border:1px solid #ddd; background:#fff; padding:0 8px; }
.msm-grid { display:grid; gap:10px; }
.msm-wrap .msm-row { display:grid !important; grid-template-columns:1fr 1fr 1fr; column-gap:14px; align-items:center; padding:10px 12px; border:1px solid #f1f1f1; border-radius:10px; background:#fff; }
.msm-wrap .msm-head { background:#f7f7f7; font-weight:600; border-color:#eee; }
.msm-wrap .msm-size { text-transform:uppercase; }
.msm-wrap input[type=number]{ width:100%; height:42px; padding:6px 10px; border-radius:8px; border:1px solid #ddd; background:#fff; }
.msm-actions { display:flex; gap:16px; align-items:center; margin-top:14px; }
.msm-actions .button.msm-add-all{ height: 42px; line-height: 42px; padding: 0 16px; border-radius: 8px; background: #000; color: #fff;  }
.msm-total{ color:#333; }
.msm-msg { margin-top:10px; font-size:13px; }
.msm-msg.ok { color:#1a7f37; }
.msm-msg.err { color:#b00020; }
.msm-breakdown { font-size:12px; color:#666; margin-top:3px; display:block; }
