/* One shopping action colour across Voltage. Campaign artwork and semantic
   stock/error states retain their own colours. No gallery geometry is changed. */
body {
    --vo-btn: #171717;
    --vo-btn-text: #fff;
}

:is(.vo-btn:not(.vo-btn--alt):not(.vo-btn--ter), .vo-buy,
    [data-buy-now]):not(:disabled) {
    background: var(--vo-btn,#171717) !important;
    border-color: var(--vo-btn,#171717) !important;
    color: var(--vo-btn-text,#fff) !important;
}

:is(.vo-btn:not(.vo-btn--alt):not(.vo-btn--ter), .vo-buy,
    [data-buy-now]):hover:not(:disabled) {
    background: #333 !important;
    border-color: #333 !important;
    opacity: 1;
}

.vo-btn.vo-btn--alt {
    background: #fff;
    border-color: #171717;
    color: #171717;
}

.vo-btn.vo-btn--alt:hover:not(:disabled) {
    background: #171717;
    color: #fff;
}

.vo-home-tabs a[aria-selected="true"] {
    background: #171717;
    color: #fff;
}

.vo-contact .sg-theme-form :is(input:not([type="hidden"]), textarea, select) {
    background: #fafafa;
    border-color: #ddd;
    color: #171717;
}

.vo-contact aside > div,
.vo-cart aside > div {
    background: #f7f7f7;
    border-color: #e5e5e5;
}

input:checked + .vo-swatch {
    border-color: #171717;
    box-shadow: inset 0 0 0 1px #171717;
}

:is(.vo-btn, .vo-buy, .vo-offer-browse, .vo-offer-teaser-link,
    .vo-home-tabs a):focus-visible {
    outline: 2px solid #171717;
    outline-offset: 4px;
}

.vo-quick-view-head > div {
    gap: 12px;
}

.vo-quick-view .vo-product-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.vo-quick-view .vo-product-actions > button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid var(--vo-btn,#171717);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
}

.vo-quick-view .vo-product-quantity {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #e5e5e5;
    font-size: 12px;
}

@media (max-width: 639px) {
    .vo-quick-view-head {
        padding-inline: 16px;
        gap: 10px;
    }

    .vo-quick-view-head > div {
        gap: 8px;
    }
}

.vo-saving { background:#f3eef8!important;color:#4d3269!important;border-color:#e5dcef!important; }
.vo-quick-view .vo-included-offers { background:#f8f8f8;border-color:#e7e7e7; }
.vo-quick-view .vo-offer-included { color:#444; }

/* Secondary purchase action stays outlined beside the single solid primary. */
:is(main [data-product-detail],.vo-quick-view) .vo-product-actions [data-add-to-cart]:not(:disabled) { background:#fff!important;color:var(--vo-btn,#171717)!important;border:1px solid var(--vo-btn,#171717)!important; }
:is(main [data-product-detail],.vo-quick-view) .vo-product-actions [data-add-to-cart]:hover:not(:disabled) { background:#f4f4f4!important; }
.vo-sale-listing-back { background:#fff;color:#241135;border-color:#fff; }

/* Explicit Console background and ink settings apply across shopping pages. */
body[data-design-background] :is(.vo-product-rail,.vo-featured-offers,.vo-lifestyle-section,.vo-home-services,.vo-home-discovery,.vo-home-audio,.vo-home-featured,.vo-home-promise,.vo-sale-listing) { background:var(--vo-bg,#fff); }
:is(.vo-section-heading,.vo-home-heading) .vo-h2,
main [data-product-detail] .vo-product-information .vo-h1 { color:var(--vo-heading,#252525); }

/* Collection browsing uses the full-width product grid; native shop facets remain available. */
.vo-collection-page .vo-collection-grid-shell { max-width:1800px; padding-inline:clamp(20px,2.2vw,32px); }
.vo-collection-page .vo-product-grid { gap:22px 16px; }
.vo-collection-page .vo-card-photo { background:#f5f5f5; }
.vo-collection-page .vo-product-card { border-radius:14px; }
.vo-collection-page .vo-card-body > .flex:first-child { min-height:42px; }
@media(max-width:639px) { .vo-collection-page .vo-product-grid { gap:18px 10px; } .vo-collection-page .vo-product-card { padding:6px; } }