.ls-commerce-selector{clear:both;width:100%;margin:1.25rem 0;color:var(--ls-text,#17252a)}
.ls-commerce-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.ls-commerce-presets button{display:flex;flex-direction:column;gap:.3rem;border:1px solid var(--ls-border,#d8e1e3);border-radius:12px;padding:.85rem;background:var(--ls-bg,#fff);color:var(--ls-text,#17252a);font:inherit;transition:border-color .15s,background .15s,box-shadow .15s}
.ls-commerce-presets button[aria-pressed=true]{border:2px solid var(--ls-accent,#087889);background:var(--ls-bg-secondary,#eff8f8);box-shadow:0 0 0 3px #08788918}
.ls-commerce-presets button:disabled{opacity:.45;cursor:not-allowed}
.ls-commerce-presets button:focus-visible,.ls-commerce-step:focus-visible{outline:2px solid var(--ls-accent,#087889);outline-offset:2px}
.ls-commerce-presets span{font-size:.88rem}
.ls-commerce-composition{border:1px solid #dce7e9;border-radius:16px;padding:clamp(1rem,3vw,1.5rem);background:linear-gradient(145deg,#f5f9f9 0%,#fff 54%);box-shadow:0 8px 28px #17343b0c}
.ls-composition-header{padding:0 0 .8rem;border-bottom:1px solid #dce7e9;margin-bottom:.7rem}
.ls-composition-header>strong{display:block;font-size:1.25rem;line-height:1.3;color:#17252a}
.ls-composition-header p{margin:.35rem 0 0;color:#5c6b70;font-size:.92rem}
.ls-commerce-components{display:grid;grid-template-columns:minmax(0,1fr);gap:.65rem}
.ls-choice-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}
.ls-commerce-selector .ls-variant-choice{min-width:0;margin:.75rem 0 0;padding:0;border:0;background:transparent}
.ls-commerce-selector .ls-variant-choice>legend,.ls-commerce-selector .ls-commerce-group>legend{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ls-choice-card{display:flex!important;align-items:center;gap:.65rem;min-width:0;margin:0;padding:.72rem .8rem;border:1px solid #dce5e6;border-radius:9px;background:#fff;color:#17252a;font-weight:500!important;cursor:pointer;transition:border-color .15s,background .15s}
.ls-choice-card:has(input:checked){border-color:#087889;background:#edf7f7;box-shadow:inset 3px 0 #087889}
.ls-choice-card:focus-within{outline:2px solid #087889;outline-offset:2px}
.ls-choice-card input{flex:0 0 auto;margin:0;accent-color:#087889}
.ls-choice-card span{line-height:1.4}
.ls-commerce-component,.ls-commerce-group{position:relative;min-width:0;margin:0;padding:.9rem;border:1px solid #e0e8e9;border-radius:12px;background:#fff}
.ls-commerce-component[data-optional=true]{background:#f8fbfb}
.ls-commerce-component[hidden]{display:none!important}
.ls-commerce-component>strong,.ls-commerce-component>label,.ls-commerce-group>strong,.ls-commerce-group>label{display:block;font-weight:600;color:#17252a}
.ls-commerce-group>.ls-choice-grid{margin-top:.75rem}
.ls-commerce-component>label:has([data-option]){display:flex;align-items:flex-start;gap:.55rem;cursor:pointer}
.ls-commerce-component input[type=checkbox]{flex:0 0 auto;margin:.2rem 0 0;accent-color:#087889}
.ls-component-kind{display:inline-block;margin:0 0 .5rem;padding:.22rem .55rem;border-radius:99px;background:#e9f4f4;color:#087889;font-size:.68rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase}
.ls-commerce-component select,.ls-commerce-group select{display:block;width:100%;max-width:100%;min-height:2.75rem;margin-top:.45rem;border:1px solid #cbd7d9;border-radius:8px;background-color:#fff;padding:.5rem .65rem;color:#17252a}
.ls-commerce-preview{min-height:1.5em;margin:.85rem 0 0;padding:.75rem 0 0;border-top:1px solid #dce7e9}
.ls-commerce-preview strong{color:#087889;font-size:1.15em}
.ls-commerce-error{color:#b32d2e}
.ls-commerce-step{min-width:2.5rem;min-height:2.5rem;margin:0 .25rem;border:1px solid #cbd7d9;border-radius:8px;background:#fff;color:#17252a}
.ls-commerce-selector~.quantity{display:inline-flex;align-items:center}
.ls-bundle-badge{display:inline-flex;align-items:center;gap:.35rem;margin:0 0 .55rem;padding:.35rem .7rem;border-radius:999px;background:#087889;color:#fff;font-size:.73rem;font-weight:700;letter-spacing:.035em;line-height:1.2;text-transform:uppercase}
li.product .ls-bundle-badge{position:absolute;z-index:2;top:.75rem;left:.75rem}
li.product:has(.ls-bundle-badge) .woocommerce-loop-product__link{position:relative}
@media(max-width:540px){.ls-commerce-composition{padding:1rem}.ls-commerce-component,.ls-commerce-group{padding:.8rem}}
@media(max-width:360px){.ls-commerce-presets{grid-template-columns:1fr}}
