/* Scoped VIMOR presentation. Colors sampled from the public Elementor/Kadence palette. */
.vimor-tc-panel,.vimor-tc-host,.vimor-tc-invalid { width:100%; flex:0 0 100%; box-sizing:border-box; }
.vimor-tc-panel {
 --vimor-brand-accent:var(--e-global-color-accent,#8fc547);
 --vimor-brand-text:var(--global-palette4,#2d3748);
 --vimor-table-divider:#e5e8e5;
 container-type:inline-size;
 margin:0; font:inherit; color:var(--vimor-brand-text);
}
form.cart.vimor-tc-form { display:flex; flex-wrap:wrap; align-items:center; column-gap:.75rem; row-gap:.6rem; }
form.cart.variations_form.vimor-tc-form { display:block; }
.vimor-tc-form .single_variation_wrap { width:100%; }
.vimor-tc-form .woocommerce-variation-add-to-cart { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; width:100%; }
.vimor-tc-form .single_add_to_cart_button { max-width:100%; margin-inline:0; }
.vimor-tc-form.vimor-tc-ready > .quantity,
.vimor-tc-form.vimor-tc-ready .woocommerce-variation-add-to-cart > .quantity { display:none!important; }
.vimor-tc-panel .vimor-tc-table { width:100%; table-layout:fixed; border:0; border-collapse:collapse; border-spacing:0; margin:0; font:inherit; font-size:.92em; font-weight:500; color:inherit; box-shadow:none; background:transparent; }
.vimor-tc-table caption { text-align:start; font-size:inherit; font-weight:500; padding:.2rem 0 .55rem; color:inherit; }
.vimor-tc-panel .vimor-tc-table tr { border:0; box-shadow:none; background:transparent; }
.vimor-tc-panel .vimor-tc-table th,.vimor-tc-panel .vimor-tc-table td { border:0; padding:.48rem .5rem; text-align:start; vertical-align:middle; line-height:1.35; background:transparent; }
.vimor-tc-panel .vimor-tc-table thead th { border-bottom:1px solid var(--vimor-table-divider); font-size:inherit; font-weight:500; background:var(--vimor-table-header,rgba(143,197,71,.14)); }
.vimor-tc-panel .vimor-tc-table tbody tr > * { border-bottom:1px solid var(--vimor-table-divider); }
.vimor-tc-panel .vimor-tc-table th:nth-child(1) { width:7%; padding-inline:.25rem; }
.vimor-tc-panel .vimor-tc-table th:nth-child(2) { width:34%; }
.vimor-tc-panel .vimor-tc-table th:nth-child(3) { width:30%; }
.vimor-tc-panel .vimor-tc-table th:nth-child(4) { width:29%; }
.vimor-tc-table tbody tr { cursor:pointer; transition:background-color .12s ease; }
.vimor-tc-panel .vimor-tc-table tbody tr:hover { background:rgba(143,197,71,.05); }
.vimor-tc-panel .vimor-tc-table .is-selected { background:var(--vimor-table-selected,rgba(143,197,71,.11)); outline:0; }
.vimor-tc-table label { display:inline; cursor:pointer; font:inherit; font-weight:500; margin:0; }
.vimor-tc-table input[type=radio] { width:1em; height:1em; margin:0; padding:0; vertical-align:middle; accent-color:var(--vimor-table-accent,var(--vimor-brand-accent)); }
.vimor-tc-table input:focus-visible { outline:2px solid var(--vimor-brand-accent); outline-offset:2px; }
.vimor-tc-table input[type=number] { display:inline-block; width:4.5em; max-width:100%; min-height:2em; margin:.15rem 0; padding:.25em .35em; border:1px solid #d8ddd6; border-radius:3px; box-sizing:border-box; font:inherit; font-weight:500; background:#fff; color:inherit; }
.vimor-tc-custom label { display:inline-block; font-size:inherit; margin-inline-end:.4em; }
.vimor-tc-unit { font-weight:500; font-variant-numeric:tabular-nums; }
.vimor-tc-saving { font-variant-numeric:tabular-nums; }
.vimor-tc-table .vimor-tc-badge { color:var(--vimor-saving-color,var(--e-global-color-kadence13,#b82105)); font:inherit; font-weight:500; white-space:nowrap; }
.vimor-tc-summary { padding:.7rem 0 0; font-size:.92em; line-height:1.5; }
.vimor-tc-summary p { margin:.15rem 0; }
.vimor-tc-summary strong { font-size:1.06em; font-weight:600; }
.vimor-tc-error:empty { display:none; }
.vimor-tc-error { color:var(--vimor-error-color,#b82105); margin:.5rem 0; }
.vimor-tc-table-wrap { max-width:100%; overflow-x:auto; }
.vimor-tc-price-suffix { font:inherit; font-size:.8em; font-weight:400; }
.vimor-tc-selection-label { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.vimor-tc-placeholder input { cursor:not-allowed; }
@container (max-width:480px) {
 .vimor-tc-panel .vimor-tc-table th,.vimor-tc-panel .vimor-tc-table td { padding:.42rem .3rem; overflow-wrap:break-word; }
}

.vimor-tc-panel .vimor-tc-table * { font-size:inherit; font-weight:500; }
.vimor-tc-direct-discount { color:var(--vimor-saving-color,var(--e-global-color-kadence13,#b82105)); }
.vimor-tc-summary-title { font-weight:600; }
.vimor-tc-separator { padding-block-start:15px; padding-block-end:15px; }
.vimor-tc-separator::after { content:""; display:block; border-top:1px solid rgb(45,55,72); }
form.cart.vimor-tc-form:has(> .vimor-tc-panel) { row-gap:0; }

.vimor-tc-panel .vimor-tc-table thead th:nth-child(3),
.vimor-tc-panel .vimor-tc-table thead th:nth-child(4),
.vimor-tc-panel .vimor-tc-table .vimor-tc-unit,
.vimor-tc-panel .vimor-tc-table .vimor-tc-saving { text-align:center; }

/* Three independently selectable presentations. */
.vimor-tc-packs .vimor-tc-table { min-width:0; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-table th:nth-child(1) { width:22%; padding-inline:.35rem; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-table th:nth-child(2) { width:32%; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-table th:nth-child(3) { width:18%; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-table th:nth-child(4),
.vimor-tc-panel.vimor-tc-packs .vimor-tc-table th:nth-child(5) { width:14%; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-table td:nth-child(n+3),
.vimor-tc-panel.vimor-tc-packs .vimor-tc-table th:nth-child(n+3) { text-align:right; font-variant-numeric:tabular-nums; }
.vimor-tc-packs .vimor-tc-table tbody tr { cursor:default; }
.vimor-tc-packs .vimor-tc-table input[type=number] { width:4.8em; }

/* Presentation labels and totals share the same five-column grid. */
.vimor-tc-panel.vimor-tc-packs .vimor-tc-presentation strong { font-weight:700; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-presentation span { font-weight:400; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-pack-totals td { padding-top:.65rem; padding-bottom:.65rem; border-bottom:1px solid var(--vimor-table-divider); vertical-align:top; background:var(--vimor-table-header,rgba(143,197,71,.14)); font-size:.9em; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-pack-totals strong { display:block; font-weight:600; margin-top:.15em; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-pack-totals .vimor-tc-total-units { text-align:left; overflow-wrap:normal; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-pack-totals .vimor-tc-total-saving { text-align:center; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-pack-totals .vimor-tc-total-amount { text-align:right; }
.vimor-tc-packs .vimor-tc-error { color:var(--vimor-notice-color,#b45309); font-size:.92em; line-height:1.5; }

/* Shared quantity controls: same visible minus/plus on desktop and touch screens. */
.vimor-tc-packs .vimor-tc-mobile-label { display:none; }
.vimor-tc-packs .vimor-tc-stepper { display:grid; grid-template-columns:28px minmax(0,1fr) 28px; width:110px; max-width:100%; border:1px solid #d8ddd6; border-radius:3px; overflow:hidden; box-sizing:border-box; background:#fff; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-stepper .vimor-tc-step { display:block; width:100%; min-width:0; height:32px; min-height:32px; padding:0; margin:0; border:0; border-radius:0; box-shadow:none; background:var(--vimor-table-header,rgba(143,197,71,.14)); color:inherit; font:inherit; font-size:1.2em; line-height:1; cursor:pointer; touch-action:manipulation; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-step:disabled { opacity:.4; cursor:default; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-stepper input[type=number] { width:100%; min-width:0; max-width:100%; height:32px; min-height:32px; margin:0; padding:0 .1rem; border:0; border-radius:0; text-align:center; appearance:textfield; -moz-appearance:textfield; font-size:16px; }
.vimor-tc-packs .vimor-tc-stepper input::-webkit-inner-spin-button,.vimor-tc-packs .vimor-tc-stepper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.vimor-tc-packs .vimor-tc-stepper :focus-visible { outline:2px solid var(--vimor-brand-accent); outline-offset:-2px; }
.vimor-tc-packs .vimor-tc-cell-value { min-width:0; overflow-wrap:anywhere; }
.vimor-tc-packs .vimor-tc-error { margin:.35rem 0; }
.vimor-tc-packs .vimor-tc-separator { padding-block:12px; }
@media (pointer:coarse) {
 .vimor-tc-packs .vimor-tc-stepper { grid-template-columns:44px minmax(0,1fr) 44px; width:140px; }
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-stepper .vimor-tc-step,
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-stepper input[type=number] { height:44px; min-height:44px; }
}

/* Vertical layout only on mobile viewports; desktop columns remain tabular. */
@media (max-width:767px) {
 .vimor-tc-packs .vimor-tc-stepper { grid-template-columns:44px minmax(0,1fr) 44px; width:140px; }
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-stepper .vimor-tc-step,
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-stepper input[type=number] { height:44px; min-height:44px; }
 .vimor-tc-packs .vimor-tc-table-wrap { overflow:visible; }
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-table { display:block; }
 .vimor-tc-packs .vimor-tc-table caption { display:block; background:var(--vimor-table-header,rgba(143,197,71,.14)); padding:.5rem; }
 .vimor-tc-packs .vimor-tc-table thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; }
 .vimor-tc-packs .vimor-tc-table tbody { display:block; }
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-table tbody tr { display:grid; grid-template-columns:minmax(136px,1fr) minmax(0,1.05fr); column-gap:.65rem; padding:.6rem .65rem; border-bottom:1px solid var(--vimor-table-divider); }
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-table tbody tr > * { width:auto; padding:.18rem 0; border:0; }
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-table tbody th.vimor-tc-presentation { width:auto; grid-column:1; grid-row:1; text-align:left; align-self:start; }
 .vimor-tc-packs .vimor-tc-presentation span { display:block; margin-top:.1em; }
 .vimor-tc-packs .vimor-tc-quantity-cell { grid-column:1; grid-row:2 / span 2; align-self:start; }
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-table .vimor-tc-unit,
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-table .vimor-tc-pack-price,
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-table .vimor-tc-subtotal-cell { display:flex; justify-content:space-between; align-items:baseline; gap:.35rem; grid-column:2; text-align:right; }
 .vimor-tc-packs .vimor-tc-unit { grid-row:1; }
 .vimor-tc-packs .vimor-tc-pack-price { grid-row:2; }
 .vimor-tc-packs .vimor-tc-subtotal-cell { grid-row:3; }
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-table tr[data-role=unit] .vimor-tc-pack-price { display:none; }
 .vimor-tc-packs tr[data-role=unit] .vimor-tc-subtotal-cell { grid-row:2; }
 .vimor-tc-packs .vimor-tc-mobile-label { display:block; flex-shrink:0; font-weight:400; }
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-table .vimor-tc-subtotal-cell { border-top:1px solid var(--vimor-table-divider); margin-top:.1rem; }
 .vimor-tc-packs .vimor-tc-pack-totals { display:block; }
 .vimor-tc-packs .vimor-tc-pack-totals tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr); }
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-pack-totals td { padding:.65rem .35rem; overflow-wrap:anywhere; }
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-pack-totals td:first-child { padding-inline-start:.65rem; }
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-pack-totals td:last-child { padding-inline-end:.65rem; }
 .vimor-tc-packs .vimor-tc-pack-totals strong { font-variant-numeric:tabular-nums; }
}

@media (min-width:768px) and (pointer:fine) {
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-table tbody tr > * { padding-block:.3rem; padding-inline:.35rem; }
}

@media (min-width:768px) {
 .vimor-tc-packs .vimor-tc-cell-value .woocommerce-Price-amount { white-space:nowrap; }
}
/* Centre the glyph independently of theme button alignment or input sizing. */
.vimor-tc-panel.vimor-tc-packs .vimor-tc-stepper .vimor-tc-step { display:flex; align-items:center; justify-content:center; box-sizing:border-box; text-align:center; text-indent:0; letter-spacing:normal; float:none; position:static; }
.vimor-tc-panel.vimor-tc-packs .vimor-tc-stepper input { box-sizing:border-box; }
@media (min-width:768px) {
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-table tr > :first-child { padding-inline-start:.65rem; }
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-table tr > :last-child { padding-inline-end:.65rem; }
 .vimor-tc-panel.vimor-tc-packs .vimor-tc-pack-totals .vimor-tc-total-units { white-space:nowrap; }
}
/* Elementor adds a logical start margin to every non-first form button.
   Isolate only VIMOR steppers; leave the purchase button and theme controls intact. */
form.cart .vimor-tc-panel.vimor-tc-packs .vimor-tc-stepper > button.vimor-tc-step {
 margin:0!important; margin-inline:0!important; margin-block:0!important;
}
