.cs-single-product .cs-linked-products,
.cs-single-product .cs-linked-upsells { margin: 26px 0 0; }
.cs-single-product .cs-linked-products { padding: 22px; border: 1px solid #e2e7ed; border-radius: 16px; background: linear-gradient(180deg, #fff, #fbfcfd); }
.cs-linked-products-head h2 { margin: 0 0 4px; color: #0b1220; font-size: 1.25rem; letter-spacing: -.01em; }
.cs-linked-products-head p { max-width: 60ch; margin: 0 0 16px; color: #5b6b86; font-size: .92rem; line-height: 1.55; }
.cs-linked-products-row { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
.cs-linked-product { position: relative; display: flex; width: 140px; flex-direction: column; align-items: center; gap: 6px; padding: 14px 12px 12px; border: 1.5px solid #e2e7ed; border-radius: 12px; background: #fff; cursor: pointer; text-align: center; transition: border-color .16s ease, box-shadow .16s ease; }
.cs-linked-product.is-picked { border-color: #da303d; box-shadow: 0 0 0 3px rgba(218, 48, 61, .08); }
.cs-linked-product-anchor { cursor: default; border-style: dashed; background: #fbfcfd; }
.cs-linked-product-content { display: flex; width: 100%; flex-direction: column; align-items: center; gap: 6px; cursor: pointer; }
.cs-linked-product.is-unavailable .cs-linked-product-content { cursor: default; }
.cs-linked-product input[type="checkbox"] { position: absolute; top: 10px; left: 10px; width: 17px; height: 17px; accent-color: #da303d; }
.cs-linked-product img, .cs-linked-product-placeholder { width: 64px; height: 64px; object-fit: contain; mix-blend-mode: multiply; }
.cs-linked-product-placeholder { display: block; border-radius: 8px; background: #eef1f6; }
.cs-linked-product-name { color: #0b1220; font-size: .8rem; font-weight: 600; line-height: 1.3; }
.cs-linked-product-current, .cs-linked-product-option, .cs-linked-product-price { color: #5b6b86; font-size: .82rem; font-weight: 600; }
.cs-linked-product-current { font-size: .68rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.cs-linked-product-option:empty { display: none; }
.cs-linked-product-variant { width: 100%; max-width: 100%; min-height: 34px; padding: 5px 7px; border: 1px solid #d8dee8; border-radius: 7px; background: #fff; font-size: .72rem; }
.cs-linked-product-options-link, .cs-linked-upsell-options { color: #a61f2d; font-size: .8rem; font-weight: 650; text-decoration: underline; text-underline-offset: 2px; }
.cs-linked-product.is-unavailable { cursor: default; opacity: .88; }
.cs-linked-products-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #e2e7ed; }
.cs-linked-products-total { display: flex; min-width: 0; flex-direction: column; }
.cs-linked-products-total span { color: #5b6b86; font-size: .78rem; }
.cs-linked-products-total strong { color: #0b1220; font-size: 1.3rem; }
.cs-linked-products-add, .cs-linked-upsell-add { min-height: 42px; padding: 10px 18px; border: 0; border-radius: 999px; color: #fff; background: #0b1220; font-weight: 700; cursor: pointer; }
.cs-linked-products-add:disabled, .cs-linked-upsell-add:disabled { opacity: .52; cursor: not-allowed; }
.cs-linked-products-status, .cs-linked-upsell-status { flex: 0 0 100%; margin: 0; color: #31415d; font-size: .85rem; line-height: 1.45; }
.cs-linked-upsells-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; margin-top: 14px; }
.cs-linked-upsell { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; padding: 16px; border: 1px solid #e2e7ed; border-radius: 12px; background: #fff; }
.cs-linked-upsell-product { display: flex; width: 100%; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.cs-linked-upsell-product img { width: 64px; height: 64px; object-fit: contain; }
.cs-linked-upsell-option-label { width: 100%; }
.cs-linked-upsell-option-label select { width: 100%; min-height: 38px; padding: 6px 9px; border: 1px solid #d8dee8; border-radius: 8px; background: #fff; }
.cs-linked-upsell-add { min-height: 38px; padding: 8px 14px; background: #da303d; }
.cs-linked-upsell-status { font-size: .8rem; }
@media (max-width: 560px) {
    .cs-single-product .cs-linked-products { padding: 18px 14px; }
    .cs-linked-product { width: calc(50% - 5px); }
    .cs-linked-products-add { width: 100%; }
    .cs-linked-upsells-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
