.mek{--mek-accent:#f39200;clear:both;width:100%;box-sizing:border-box;border:1px solid #d9dce0;border-top:3px solid var(--mek-accent);background:#fff;padding:24px;margin:20px 0 28px;color:#202020;border-radius:4px;font:inherit;scroll-margin-top:160px}.mek *{box-sizing:border-box}.mek .mek-eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:700;color:#625a4e}.mek .mek-head h2{font-size:25px;margin:7px 0 10px;line-height:1.3}.mek h3{font-size:18px;margin:20px 0 10px}.mek p{margin:8px 0 15px}.mek .mek-head p{max-width:780px}.mek button{min-height:44px;border:1px solid var(--mek-accent);border-radius:3px;padding:12px 18px;background:var(--mek-accent);color:#161616;font:inherit;font-weight:700;cursor:pointer}.mek button:disabled{opacity:.5;cursor:not-allowed}.mek button:focus-visible,.mek input:focus-visible,.mek select:focus-visible,.mek summary:focus-visible{outline:3px solid #223d56;outline-offset:3px}.mek .mek-more,.mek .mek-remove{background:white;border-color:#b7b9bc;font-weight:500}.mek .mek-remove{color:#6a2727}.mek .mek-fields{padding:0;border:0;margin:20px 0 0;min-width:0}.mek .mek-source-label{display:flex;flex-direction:column;font-size:16px;font-weight:700;gap:8px}.mek input[type=number],.mek select{height:auto;min-height:48px;width:100%;border:1px solid #a5a5a5;padding:10px 12px;font:inherit;color:#111;background:#fff;border-radius:3px}.mek select{max-width:100%;text-overflow:ellipsis}.mek .mek-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:14px;align-items:end;margin-bottom:12px}.mek .mek-row label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:inherit}.mek .mek-rest,.mek .mek-accept{display:flex;gap:12px;align-items:flex-start;font:inherit;margin:22px 0}.mek input[type=checkbox]{appearance:auto;flex:0 0 auto;width:20px;height:20px;margin:3px 0 0;accent-color:var(--mek-accent)}.mek .mek-rule,.mek .mek-terms{background:#f6f6f4;padding:12px 15px}.mek .mek-muted{font-size:13px;color:#626262;line-height:1.5}.mek .mek-preview,.mek .mek-notice{padding:11px 14px;background:#fff1cf;border-left:3px solid var(--mek-accent);font-size:14px}.mek .mek-quote{margin-top:25px;border-top:1px solid #dcdcdc;padding-top:10px}.mek .mek-price-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #ececec}.mek .mek-price{display:flex;flex-direction:column;text-align:right;gap:3px;white-space:nowrap}.mek .mek-inc{font-size:13px;color:#666}.mek .mek-total{font-weight:700;font-size:19px;border-bottom:2px solid var(--mek-accent)}.mek .mek-total .mek-inc{font-size:14px;font-weight:500}.mek .mek-plan summary{cursor:pointer;padding:12px 0;font-weight:600;list-style-position:inside}.mek .mek-table-wrap{max-width:100%;overflow:auto}.mek table{border-collapse:collapse;margin:10px 0;width:100%}.mek th,.mek td{text-align:left;border:1px solid #ddd;padding:9px;font-size:14px}.mek .mek-status{margin-bottom:0;min-height:1px}.mek .mek-error{color:#9c1c1c;font-weight:600}.mek [hidden]{display:none!important}.mek .mek-add{width:100%}.mek-cart-edit a{font-size:13px}.mek .mek-delivery{font-weight:600}@media(max-width:600px){.mek{padding:16px}.mek .mek-head h2{font-size:22px}.mek .mek-row{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:10px;padding:12px;background:#f8f8f6;margin-bottom:14px}.mek .mek-remove{grid-column:1/-1;padding:6px;font-size:13px;min-height:38px}.mek .mek-price-row{flex-direction:column;gap:5px}.mek .mek-price{text-align:left;white-space:normal}.mek .mek-total{font-size:18px}.mek .mek-open,.mek .mek-calculate{width:100%}.mek .mek-rest,.mek .mek-accept{font-size:14px}}

/* RC3: share the purchase area without reparenting the native purchase table. */
.mek-purchase-hidden,.mek-panel-hidden{display:none!important}
.mek-modes{display:flex;gap:8px;width:100%;clear:both;margin:18px 0 12px;padding:5px;background:#f4f4f2;border:1px solid #d9d9d5;border-radius:5px;box-sizing:border-box}
.mek-modes [role=tab]{flex:1;padding:13px 20px!important;background:transparent!important;color:#333!important;border:1px solid transparent!important;border-radius:3px!important;font-family:inherit;font-size:16px;font-weight:600;line-height:1.3;cursor:pointer;min-height:46px;box-shadow:none!important}
.mek-modes [role=tab][aria-selected=true]{background:#fff!important;border-color:#d0d0cb!important;box-shadow:inset 0 -3px #f39200!important;color:#111!important}
.mek-modes [role=tab]:focus-visible{outline:2px solid #995b00!important;outline-offset:2px}
.mek{box-sizing:border-box;margin:12px 0 24px!important;padding:22px!important;background:#fff;max-width:100%;clear:both}
.mek h2{font-size:23px!important;line-height:1.25!important;margin:0 0 8px!important;text-transform:none!important}
.mek h3{font-size:18px!important;line-height:1.3!important;margin:18px 0 10px!important}
.mek h4{font-size:15px!important;margin:0 0 10px!important}
.mek .mek-head>p{font-size:14px!important;margin:0 0 12px!important}
.mek{container-type:inline-size}.mek .mek-form{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:start}
@container(min-width:800px){.mek .mek-form{grid-template-columns:minmax(0,1.12fr) minmax(280px,1fr)}}
.mek .mek-fields{border:0!important;padding:0!important;margin:0!important;min-width:0}
.mek .mek-source{max-width:100%;font-size:15px;height:auto;min-height:43px;white-space:normal}
.mek .mek-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(80px,.7fr) auto;gap:10px;margin:8px 0 12px;align-items:end}
.mek .mek-row input{box-sizing:border-box;font-size:16px!important;height:43px!important;min-width:0;width:100%;margin-top:5px!important}
.mek .mek-row label{font-size:13px!important;min-width:0;font-weight:600}
.mek .mek-more,.mek .mek-remove{font-size:13px!important;padding:10px 12px!important;min-height:40px!important}
.mek .mek-rule,.mek .mek-terms{padding:10px 12px;font-size:13px;line-height:1.5;background:#f6f6f3;margin:12px 0}
.mek .mek-lead-policy{font-size:13px;line-height:1.5;margin:10px 0}
.mek .mek-preview{font-size:12px;padding:9px 12px;margin:10px 0 16px}
.mek .mek-about{margin:12px 0;font-size:13px}.mek summary{cursor:pointer;font-weight:600;padding:7px 0}
.mek .mek-rest{margin:15px 0;font-size:14px;display:flex;gap:8px;align-items:center}
.mek .mek-rest input,.mek .mek-accept input{width:17px!important;height:17px!important;flex:0 0 17px;accent-color:#d98200}
.mek .mek-calculate,.mek .mek-add{background:#f3a615!important;color:#151515!important;border:1px solid #d59200!important;padding:12px 16px!important;min-height:45px;font-weight:700;cursor:pointer}
.mek .mek-quote{padding:17px;border:1px solid #d4d4cb;background:#fcfcf8;min-width:0;margin:0!important}
.mek .mek-quote h3{margin-top:0!important}.mek .mek-delivery{font-weight:600;font-size:14px}
.mek .mek-price-row{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin:12px 0;align-items:flex-start}.mek .mek-price{flex-shrink:0;text-align:right}
.mek .mek-price .mek-ex,.mek .mek-price .mek-inc{display:block;font-size:13px}.mek .mek-total{font-size:16px;font-weight:700;border-top:1px solid #ccc;padding-top:12px}
html.hb-moms-excl .mek .mek-price .mek-inc{display:none}html.hb-moms-incl .mek .mek-price .mek-ex{display:none}
.mek .mek-availability{padding:12px;margin:12px 0;background:#fff;border:1px solid #d6dbcd;border-radius:3px}
.mek .mek-availability--partial,.mek .mek-availability--backorder{border-color:#e6d2a1;background:#fffaf0}
.mek .mek-stock-line{padding-left:19px;position:relative;font-size:14px;line-height:1.45;margin:6px 0}
.mek .mek-stock-line::before{position:absolute;content:"";left:0;top:.32em;width:10px;height:10px;border-radius:1px;background:#428e29}
.mek .mek-stock-later::before{background:#d2a100}.mek .mek-stock-later{color:#805900}
.mek .mek-length-stock{margin:8px 0 0!important;padding-left:19px!important;font-size:13px}.mek .mek-muted{font-size:12px;line-height:1.5;color:#5a5a5a;margin:8px 0}
.mek .mek-accept{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.45;margin:15px 0}
.mek .mek-add{width:100%}.mek .mek-plan table{font-size:12px}.mek .mek-plan td,.mek .mek-plan th{padding:7px}
.mek .mek-status{font-size:13px;margin:12px 0 0}.mek button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:850px){.mek .mek-form{grid-template-columns:minmax(0,1fr)}.mek .mek-quote{margin-top:0!important}}
@media(max-width:500px){.mek{padding:15px!important}.mek h2{font-size:21px!important}.mek .mek-row{grid-template-columns:minmax(0,1.5fr) minmax(65px,.7fr);gap:8px}.mek .mek-remove{grid-column:1/-1;justify-self:end;padding:7px 10px!important;min-height:32px!important}.mek-modes [role=tab]{padding:12px 8px!important;font-size:15px!important}.mek .mek-price-row{font-size:13px}.mek .mek-price .mek-ex,.mek .mek-price .mek-inc{font-size:12px}.mek .mek-quote{padding:12px}}

/* RC4: compact summary with one row per length, not repeated paragraphs. */
.mek .mek-choice-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:12px 0;font-size:13px}
.mek .mek-choice-table caption{text-align:left;font-weight:700;font-size:13px;padding:0 0 7px;color:#292929}
.mek .mek-choice-table th,.mek .mek-choice-table td{font-size:13px;line-height:1.35;padding:8px 6px;border:0;border-bottom:1px solid #e4e5df;overflow-wrap:normal;vertical-align:top;text-align:right}
.mek .mek-choice-table thead th{font-weight:600;color:#52564e;font-size:12px;background:#f2f3ef}
.mek .mek-choice-table th:first-child{text-align:left;width:33%}.mek .mek-choice-table tbody th{font-weight:600}
.mek .mek-choice-table th small{display:block;font-weight:400;font-size:11px;color:#666;margin-top:2px}
.mek .mek-choice-table .mek-now-count{color:#2c641b}.mek .mek-choice-table .mek-later-count{color:#79520a}
.mek .mek-availability{background:#fff;border-color:#e0e0d7;padding:12px;margin:12px 0}
.mek .mek-stock-item{padding:8px 0 8px 16px;position:relative;border-bottom:1px solid #ededdf}
.mek .mek-stock-item::before{content:"";position:absolute;left:0;top:14px;width:8px;height:8px;border-radius:2px;background:#43822d}
.mek .mek-stock-item--backorder::before{background:#c29914}.mek .mek-stock-top{display:flex;justify-content:space-between;gap:12px;line-height:1.4}
.mek .mek-stock-heading{font-size:13px;font-weight:600}.mek .mek-stock-count{font-size:14px;white-space:nowrap}
.mek .mek-stock-time{font-size:12px;margin:3px 0 0;color:#53564f;line-height:1.4}
.mek .mek-partial-note{font-size:12px;line-height:1.45;margin:10px 0 7px}
.mek .mek-availability .mek-muted{margin:8px 0 0;font-size:11px}
.mek .mek-prices h4{margin:14px 0 3px!important}.mek .mek-price-row{padding:8px 0;margin:0;line-height:1.4;flex-direction:row;gap:12px}
.mek .mek-price-row>span:first-child{min-width:0}.mek .mek-price{white-space:normal;flex-shrink:0;max-width:53%;text-align:right}
.mek .mek-total{margin-top:8px;padding-top:12px;font-size:15px}.mek .mek-total .mek-price span{font-size:14px;font-weight:700}
.mek .mek-accept{margin:13px 0}.mek .mek-accept small{display:block;margin-top:4px;font-size:11px;color:#555;line-height:1.4}
.mek .mek-nominal-note{font-size:12px;line-height:1.45;margin:8px 0;padding:8px 10px;background:#f1f3ef}
.mek-whole-note{font-size:13px;line-height:1.45;color:#555;margin:0 0 12px;clear:both}.mek-whole-note[hidden]{display:none!important}
@media(max-width:400px){.mek .mek-choice-table th,.mek .mek-choice-table td{font-size:12px;padding:7px 4px}.mek .mek-choice-table thead th{font-size:11px}.mek .mek-choice-table th:first-child{width:32%}.mek .mek-price-row{font-size:12px}.mek .mek-stock-heading{font-size:12px}.mek .mek-stock-count{font-size:13px}}
/* Information remains in the original WooCommerce tabs DOM, only the panel is collapsed. */
.woocommerce div.product .mek-info-managed ul.tabs li a{display:inline-flex!important;align-items:center;gap:7px}
.woocommerce div.product .mek-info-managed ul.tabs li a::after{content:"+";font-weight:500;line-height:1;font-size:18px}
.woocommerce div.product .mek-info-managed ul.tabs li a[aria-expanded=true]::after{content:"−"}
.woocommerce div.product .mek-info-managed .mek-info-panel[hidden]{display:none!important}
.woocommerce div.product .mek-info-managed a[role=button]:focus-visible{outline:2px solid #9a5b00;outline-offset:3px}
.woocommerce div.product .mek-info-managed{margin-bottom:16px!important;padding-bottom:0!important}
/* Keep a zero-height, invisible geometry anchor for the existing desktop navigator.
   The actual whole-rod table stays hidden, inert and non-interactive in cut mode. */
.mek-purchase-hidden{display:block!important;height:0!important;min-height:0!important;max-height:0!important;padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;border-top-width:0!important;border-bottom-width:0!important;overflow:hidden!important;visibility:hidden!important;pointer-events:none!important}
.mek-mode-slot{width:100%;clear:both;display:flow-root;box-sizing:border-box;margin:8px 0 10px}
.mek-mode-slot .mek-modes{margin:0}
.mek-modes-floating{position:fixed;z-index:7;box-sizing:border-box;pointer-events:none}
.mek-modes-floating[hidden]{display:none!important}
.mek-modes-floating .mek-modes{margin:0;pointer-events:auto;box-shadow:0 5px 16px rgba(0,0,0,.12);background:#f4f4f2}
.mek-modes-floating .mek-modes [role=tab]{min-height:40px;padding:10px 16px!important;font-size:14px}
@media(max-width:1024px){.mek-modes-floating{display:none!important}}
/* Hidden descendants have no measurable rows: dimension changes must not jump to
   the hidden standard-length rows while the cut form is active. */
.mek-purchase-hidden > *{display:none!important}

.hb-varianttabell-wrap td[data-mek-nominal="1"]::before{content:"ca "}

/* RC5: optional, exact stock allocation. No new checkout shipping controls. */
.mek .mek-priority{border:1px solid #d4d4cb;background:#fff;margin:12px 0;padding:8px 10px;border-radius:3px}
.mek .mek-priority summary{font-size:13px;line-height:1.4;padding:5px 0;font-weight:700}
.mek .mek-priority-budget{font-size:13px;font-weight:600;background:#f5f5f1;padding:8px;margin:8px 0}
.mek .mek-priority-table{table-layout:fixed;font-size:12px;margin:10px 0;width:100%}
.mek .mek-priority-table th,.mek .mek-priority-table td{font-size:12px;padding:7px 4px;border:0;border-bottom:1px solid #e5e5df;text-align:right;vertical-align:middle;line-height:1.4;overflow-wrap:anywhere}
.mek .mek-priority-table th:first-child{text-align:left;width:29%}
.mek .mek-priority-table th:nth-child(2){width:15%}
.mek .mek-priority-table th:nth-child(3){width:30%}
.mek .mek-priority-table input[type=number]{height:42px;min-height:42px;width:100%;max-width:90px;padding:6px 7px;font-size:16px;text-align:right;margin:0;appearance:auto}
.mek .mek-priority-table input:invalid{border-color:#a12828}
.mek .mek-priority-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.mek .mek-priority-actions button{font-size:12px;min-height:40px;padding:9px 10px}
.mek .mek-priority-reset{background:#fff;border-color:#999;font-weight:500}
.mek .mek-priority-note{font-size:12px;line-height:1.5;margin:9px 0}
.mek .mek-priority-cost-note{font-size:13px;padding:10px;border-left:3px solid #c28214;background:#fff5db;margin:10px 0}
@media(max-width:400px){.mek .mek-priority{padding:7px}.mek .mek-priority-table th,.mek .mek-priority-table td{font-size:11px;padding:6px 3px}.mek .mek-priority-actions button{flex:1}}

/* RC5: saved inputs are distinct from purchased cart items. */
.mek .mek-saved-drafts{margin:12px 0;padding:12px;border:1px solid #deded7;background:#fafaf7;}
.mek .mek-draft-list{display:flex;flex-wrap:wrap;gap:8px;}
.mek .mek-draft-choice{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;flex:1 1 140px;background:#fff;color:#222;border:1px solid #bbb;padding:10px;font-size:13px;line-height:1.35;min-width:0;}
.mek .mek-draft-choice[aria-pressed="true"]{border-color:#bd7800;box-shadow:inset 0 -2px #f39200;}
.mek .mek-draft-choice span{overflow-wrap:anywhere;}.mek .mek-draft-choice small{font-size:12px;color:#555;}
.mek .mek-cart-feedback{margin:12px 0;padding:12px;border-left:3px solid #467c29;background:#f2f8ee;}
.mek .mek-cart-feedback p{margin:4px 0 8px;}.mek a.mek-cart-link{display:inline-block;font-weight:700;text-decoration:underline;}

/* RC6: one editable set of rows for both purchase quantity and stock allocation. */
.mek .mek-fields{container-name:mek-inputs;container-type:inline-size}
.mek .mek-allocation-control{margin:10px 0 12px;padding:10px 12px;background:#f7f6ef;border:1px solid #e1d5b5;border-radius:3px}
.mek .mek-allocation-toggle{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.45;font-weight:600;cursor:pointer}
.mek .mek-allocation-toggle input{appearance:auto;width:17px;height:17px;flex:0 0 17px;margin:1px 0 0;accent-color:#d98200}
.mek .mek-allocation-help{font-size:12px;line-height:1.5;margin:7px 0 0;color:#514d3d}
.mek .mek-row--allocation{padding:11px;background:#fafaf7;border:1px solid #deded6;border-radius:4px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}
.mek .mek-row--allocation .mek-length-label{grid-column:1;grid-row:1}
.mek .mek-row--allocation .mek-qty-label{grid-column:2;grid-row:1}
.mek .mek-row--allocation .mek-stock-label{grid-column:1;grid-row:2}
.mek .mek-row--allocation .mek-later-label{grid-column:2;grid-row:2}
.mek .mek-row--allocation .mek-remove{grid-column:3;grid-row:1;justify-self:end}
.mek .mek-later-label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:500;line-height:1.4;color:#565443}
.mek .mek-row-later{display:flex;align-items:center;min-height:43px;height:43px;box-sizing:border-box;margin-top:5px;padding:8px 10px;background:#f2ede0;border-radius:3px;color:#59513b;font-size:16px;font-weight:600}
.mek .mek-stock-label input{border-color:#869d76}
.mek .mek-row input[aria-invalid=true]{border:2px solid #b3261e;background:#fffafa}
.mek .mek-row-error{grid-column:1/-1;grid-row:auto;margin:0;font-size:12px;line-height:1.5;color:#9c1c1c;font-weight:500}
.mek .mek-edit-hint{font-size:12px;line-height:1.45;margin:10px 0;color:#626262}
.mek .mek-pending{font-size:13px;line-height:1.6;color:#5f5d50;margin:10px 0}
.mek .mek-priority-budget{border-left:3px solid #c28b26;line-height:1.5}
.mek .mek-priority-recovery{margin:10px 0;padding:10px 12px;background:#fff6e3;border:1px solid #e7ce9c;border-radius:3px}
.mek .mek-priority-recovery .mek-priority-reset{border:1px solid #a88944;background:#fff;color:#333;padding:8px 12px;font-size:13px}
@container mek-inputs (min-width:580px){
 .mek .mek-row--allocation{grid-template-columns:minmax(80px,1.1fr) minmax(80px,1fr) minmax(95px,1.1fr) minmax(88px,1fr) auto;gap:8px}
 .mek .mek-row--allocation .mek-stock-label{grid-column:3;grid-row:1}
 .mek .mek-row--allocation .mek-later-label{grid-column:4;grid-row:1}
 .mek .mek-row--allocation .mek-remove{grid-column:5;grid-row:1}
}
@container mek-inputs (max-width:380px){
 .mek .mek-row--allocation{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:10px}
 .mek .mek-row--allocation .mek-remove{grid-column:1/-1;grid-row:3;justify-self:end}
 .mek .mek-row--allocation .mek-row-error{grid-row:4}
}
