.vlc-kit-model{margin:12px 0;padding:16px;border:1px solid #b6c5a8;border-radius:14px;min-width:0;background:#fff;color:#193f2b}
.vlc-kit-model legend{font-weight:700;padding:0 6px;font-size:1rem;max-width:100%;overflow-wrap:anywhere}
.vlc-kit-model__body{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:start}
.vlc-kit-model img{width:96px;height:120px;object-fit:contain}
.vlc-kit-model__copy{display:grid;gap:10px;min-width:0}.vlc-kit-model label,.vlc-group-variation-controls label{display:grid;gap:6px;font-weight:600}
.vlc-kit-model select,.vlc-group-variation-controls select{width:100%;min-height:48px;background:#fff;color:#193f2b;border:1px solid #7b9270;border-radius:8px;padding:10px;font:inherit;cursor:pointer}
.vlc-kit-model__choose{min-height:44px;cursor:pointer}.vlc-kit-model small{line-height:1.4;color:#506553}
.vlc-kit-model:focus-within{border-color:#214e31;box-shadow:0 0 0 2px #dce8d1}.vlc-kit-model select:focus-visible,.vlc-kit-model button:focus-visible{outline:3px solid #82a45b;outline-offset:3px}
.vlc-kit-option--variant-source,.vlc-related-dialog__choice--source{display:none!important}
.vlc-group-variation-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px;min-width:0}.vlc-group-variation-photo{grid-column:1/-1;width:180px;height:180px;object-fit:contain;justify-self:center}.vlc-group-variation-price{grid-column:1/-1;font-size:1.4rem;text-align:center}
@media(max-width:420px){.vlc-kit-model{padding:12px}.vlc-kit-model__body{grid-template-columns:72px minmax(0,1fr);gap:10px}.vlc-kit-model img{width:72px;height:100px}.vlc-group-variation-controls{grid-template-columns:1fr}}
.vlc-group-variation-photo{mix-blend-mode:normal;background:transparent}.vlc-group-variation-reference{grid-column:1/-1;text-align:center;color:#506553;line-height:1.4}

/* One model photograph and one native attribute sequence per kit family. */
.vlc-kit-model__body{grid-template-columns:160px minmax(0,1fr)}
.vlc-kit-model__body>img{width:160px;height:180px;max-width:100%;object-fit:contain;background:transparent}
.vlc-kit-model.is-selected{border-color:#245431;background:#f4f8ed}
.vlc-kit-model__selection{font-size:1rem;line-height:1.4;color:#315539;overflow-wrap:anywhere}
.vlc-related-dialog.has-vlc-variant-picker .vlc-related-dialog__shared-photo{display:none}
.vlc-group-variation-controls select:focus-visible{outline:3px solid #315b36;outline-offset:3px}
@media(max-width:600px){
 .vlc-kit-model__body{grid-template-columns:minmax(0,1fr);gap:12px}
 .vlc-kit-model__body>img{width:100%;height:180px;justify-self:center}
 .vlc-kit-model select{font-size:16px;min-height:48px}
}
/* An unpriced selection has a quote action; the native cart gate remains disabled. */
.vlc-purchase-box.is-quotation-variation .woocommerce-variation-add-to-cart,
.vlc-purchase-box.is-quotation-variation .single_variation { display: none !important; }

/* A size can already determine its price while colour remains a pending choice. */
.single-product .vlc-purchase-box.is-awaiting-variation.has-vlc-price-preview [data-vlc-price-content] { display: inline; }
.single-product .vlc-purchase-box.is-awaiting-variation.has-vlc-price-preview [data-vlc-price-guidance] { display: none; }
.single-product .vlc-site .vlc-selected-photo-choice { margin: 12px 0 0; color: #163b2c; font: 600 1rem/1.4 var(--vlc-font-sans); text-align: center; overflow-wrap: anywhere; }
.single-product .vlc-site .vlc-selected-photo-choice[hidden] { display: none !important; }


/* Companion forms keep their own spacing instead of the generic quick-add reset. */
.single-product .vlc-site .vlc-variable-extras {
 margin: 24px 0 0; padding: 0; border: 0; background: transparent; border-radius: 0;
}
.single-product .vlc-site .vlc-variable-extras > h3 {
 margin: 0 0 14px; font: 600 1.25rem/1.3 var(--vlc-font-serif); color: #163b2c;
}
.vlc-variable-extras [data-vlc-variable-extras-content] { display: grid; gap: 12px; }
.single-product .vlc-site .vlc-variable-extra.vlc-after-add-card__form {
 display: block !important; width: 100%; min-width: 0; margin: 0; padding: 16px;
 border: 1px solid #c4cdbd; border-radius: 10px; background: #fff; color: #163b2c;
}
.single-product .vlc-site .vlc-variable-extra h4.vlc-variable-extra__purpose {
 margin: 0 0 10px; font: 600 .875rem/1.4 var(--vlc-font-sans) !important; color: #506553;
}
.vlc-variable-extra__hint { margin: 0 0 12px; font-size: .875rem; line-height: 1.5; color: #506553; }
.vlc-variable-extra__body { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: center; gap: 14px; }
.vlc-variable-extra__body > img { display: block; width: 96px; height: 104px; max-width: 100%; object-fit: contain; background: transparent; mix-blend-mode: normal; }
.vlc-variable-extra__copy { display: grid; gap: 6px; min-width: 0; }
.vlc-variable-extra__name { font: 600 1rem/1.4 var(--vlc-font-sans); overflow-wrap: anywhere; }
.vlc-variable-extra__price { font-size: 1.125rem; line-height: 1.4; }
.vlc-variable-extra__price:empty { display: none; }
.vlc-variable-extra__select > label { display: block; margin-bottom: 6px; font-weight: 600; }
.vlc-variable-extra__select select { width: 100%; max-width: 100%; min-height: 48px; padding: 8px; border: 1px solid #849876; border-radius: 6px; background: #fff; color: #163b2c; font: inherit; }
.vlc-variable-extra__actions { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: end; gap: 12px; margin-top: 12px; }
.vlc-variable-extra__actions > label { display: grid; gap: 4px; font: 600 .875rem/1.4 var(--vlc-font-sans); }
.single-product .vlc-site .vlc-variable-extra input.qty { width: 100%; max-width: 100%; min-height: 48px; margin: 0; padding: 8px; border: 1px solid #849876; border-radius: 6px; background: #fff; color: #163b2c; font: 400 16px/1.4 var(--vlc-font-sans); }
.single-product .vlc-site .vlc-variable-extra button.vlc-btn {
 display: flex; justify-content: center; align-items: center; width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 10px 12px;
 border: 1px solid #426b32; border-radius: 6px; background: #426b32 !important; color: #fff !important;
 font: 600 1rem/1.4 var(--vlc-font-sans); white-space: normal; overflow-wrap: anywhere; cursor: pointer;
}
.single-product .vlc-site .vlc-variable-extra button.vlc-btn:hover:not(:disabled) { background: #214b32 !important; border-color: #214b32; }
.single-product .vlc-site .vlc-variable-extra button.vlc-btn:active:not(:disabled) { background: #163b29 !important; transform: translateY(1px); }
.single-product .vlc-site .vlc-variable-extra button.vlc-btn:disabled { background: #687761 !important; border-color: #687761; cursor: not-allowed; }
.vlc-variable-extra__picker { margin-top: 12px; }
.vlc-variable-extra__picker > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 48px; padding: 10px 12px; border: 1px solid #849876; border-radius: 6px; background: #f7f9f4; color: #163b2c; font: 600 1rem/1.4 var(--vlc-font-sans); list-style: none; cursor: pointer; overflow-wrap: anywhere; }
.vlc-variable-extra__picker > summary::-webkit-details-marker { display: none; }
.vlc-variable-extra__picker > summary::after { content: '⌄'; flex: 0 0 auto; font-size: 1.25rem; }
.vlc-variable-extra__picker[open] > summary::after { content: '⌃'; }
.vlc-variable-extra__picker > summary:hover { border-color: #315b36; background: #eef4e8; }
.vlc-variable-extra__choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 120px), 1fr)); gap: 8px; padding-top: 10px; }
.single-product .vlc-site .vlc-variable-extra button.vlc-variable-extra__choice {
 display: grid; grid-template-rows: 72px auto auto; align-content: start; justify-items: center; gap: 4px; min-width: 0; min-height: 44px; padding: 10px 8px;
 border: 1px solid #c4cdbd; border-radius: 6px; background: #fff; color: #163b2c; font: 600 .875rem/1.4 var(--vlc-font-sans); text-align: center; cursor: pointer;
}
.vlc-variable-extra__choice > img { display: block; width: 64px; height: 72px; max-width: 100%; object-fit: contain; background: transparent; mix-blend-mode: normal; }
.vlc-variable-extra__choice > span { overflow-wrap: anywhere; }
.vlc-variable-extra__choice > small { font-size: .875rem; font-weight: 400; }
.single-product .vlc-site .vlc-variable-extra button.vlc-variable-extra__choice:hover { border-color: #315b36; background: #f7f9f4; }
.single-product .vlc-site .vlc-variable-extra button.vlc-variable-extra__choice[aria-pressed="true"] { border-color: #163b2c; box-shadow: inset 0 0 0 1px #163b2c; background: #eef4e8; }
.vlc-variable-extra :is(button, summary, select, input):focus-visible { outline: 3px solid #315b36; outline-offset: 3px; }
.single-product .vlc-site .vlc-variable-extras [hidden] { display: none !important; }
@media (max-width: 420px) {
 .single-product .vlc-site .vlc-variable-extra.vlc-after-add-card__form { padding: 12px; }
 .vlc-variable-extra__body { grid-template-columns: 80px minmax(0, 1fr); gap: 12px; }
 .vlc-variable-extra__body > img { width: 80px; height: 96px; }
 .vlc-variable-extra__actions { grid-template-columns: 68px minmax(0, 1fr); gap: 10px; }
}
