/* Solid Vans stock facet. Native checkboxes, shared storefront/admin markup. */
.solidvans-stock-options {
    display: grid !important;
    gap: 8px !important;
}
.solidvans-stock-option {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    cursor: pointer !important;
    color: var(--svpf-text, #111111) !important;
    font-family: inherit !important;
}
.solidvans-stock-input,
.solidvans-stock-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.solidvans-stock-option-surface {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 16px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 50px !important;
    width: 100% !important;
    padding: 11px 12px !important;
    border: 1px solid var(--svpf-border, #dcdcdc) !important;
    border-radius: 8px !important;
    background: var(--svpf-bg, #ffffff) !important;
    color: var(--svpf-text, #111111) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease !important;
}
.solidvans-stock-option:hover .solidvans-stock-input:not(:disabled) + .solidvans-stock-option-surface {
    border-color: var(--svpf-accent, #435f55) !important;
}
.solidvans-stock-input:checked + .solidvans-stock-option-surface {
    border-color: var(--svpf-accent, #435f55) !important;
    background: var(--svpf-bg, #ffffff) !important;
    background: color-mix(in srgb, var(--svpf-accent, #435f55) 7%, var(--svpf-bg, #ffffff)) !important;
    box-shadow: inset 0 0 0 1px var(--svpf-accent, #435f55) !important;
}
.solidvans-stock-input:focus-visible + .solidvans-stock-option-surface {
    outline: 2px solid var(--svpf-accent, #435f55) !important;
    outline-offset: 3px !important;
}
.solidvans-stock-input:disabled + .solidvans-stock-option-surface {
    opacity: .45 !important;
    cursor: not-allowed !important;
}
.solidvans-stock-check {
    box-sizing: border-box !important;
    position: relative !important;
    width: 16px !important;
    height: 16px !important;
    border: 1px solid #aab3af !important;
    border-radius: 4px !important;
    background: var(--svpf-bg, #ffffff) !important;
}
.solidvans-stock-input:checked + .solidvans-stock-option-surface .solidvans-stock-check {
    background: var(--svpf-accent, #435f55) !important;
    border-color: var(--svpf-accent, #435f55) !important;
}
.solidvans-stock-input:checked + .solidvans-stock-option-surface .solidvans-stock-check::after {
    content: '' !important;
    position: absolute !important;
    top: 2px !important;
    left: 5px !important;
    width: 4px !important;
    height: 8px !important;
    border: solid #ffffff !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
}
.solidvans-stock-label {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
    color: inherit !important;
}
.solidvans-stock-dot {
    display: inline-block !important;
    flex: 0 0 7px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #3e795c !important;
}
.solidvans-stock-option[data-stock-status="onbackorder"] .solidvans-stock-dot {
    background: #b78128 !important;
}
.solidvans-stock-count {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 26px !important;
    padding: 2px 6px !important;
    border-radius: 5px !important;
    color: var(--svpf-text, #111111) !important;
    background: rgba(120, 120, 120, .1) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
    font-variant-numeric: tabular-nums !important;
}
.solidvans-stock-input:checked + .solidvans-stock-option-surface .solidvans-stock-count {
    background: var(--svpf-accent, #435f55) !important;
    color: #ffffff !important;
}
.solidvans-stock-hint {
    margin: 2px 0 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: var(--svpf-text, #111111) !important;
    opacity: .65 !important;
}
.solidvans-filter-style-compact .solidvans-stock-option-surface {
    min-height: 44px !important;
    padding: 8px 10px !important;
}
.solidvans-stock-preview-title {
    margin: 16px 0 10px !important;
    font-size: 16px !important;
    color: inherit !important;
}
.svpf-preview-stock[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
    .solidvans-stock-option-surface { transition: none !important; }
}
@media (forced-colors: active) {
    .solidvans-stock-input:checked + .solidvans-stock-option-surface { border-color: Highlight !important; }
    .solidvans-stock-input:checked + .solidvans-stock-option-surface .solidvans-stock-check { forced-color-adjust: none; background: Highlight !important; }
    .solidvans-stock-input:checked + .solidvans-stock-option-surface .solidvans-stock-check::after { border-color: HighlightText !important; }
}

/* Compact stock status below product cards on shop/category/search overviews. */
.solidvans-card-stock-status {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    color: #5f6763 !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-align: left !important;
}
.solidvans-card-stock-dots {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    flex: 0 0 auto !important;
}
.solidvans-card-stock-dot {
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    flex: 0 0 7px !important;
    border-radius: 50% !important;
    background: #7b817e !important;
}
.solidvans-card-stock-dot--instock {
    background: #3e795c !important;
}
.solidvans-card-stock-dot--onbackorder {
    background: #b78128 !important;
}
.solidvans-card-stock-dot--outofstock {
    background: #a64a45 !important;
}
.solidvans-card-stock-label {
    min-width: 0 !important;
    color: inherit !important;
}
@media (forced-colors: active) {
    .solidvans-card-stock-dot {
        border: 1px solid CanvasText !important;
        background: Canvas !important;
    }
}
