.detail-buy.has-product-addon { flex-wrap: wrap; }
.detail-buy label.product-addon {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    padding: 14px;
    margin-bottom: 2px;
    background: var(--commerce-soft, var(--addon-background));
    border: 1px solid var(--commerce-border, var(--addon-border));
    border-radius: 10px;
    cursor: pointer;
    text-align: start;
}
.detail-buy .product-addon:has(input:checked) { border-color: var(--commerce-accent, var(--addon-accent)); box-shadow: inset 0 0 0 1px var(--commerce-accent, var(--addon-accent)); }
.detail-buy .product-addon:has(input:focus-visible) { outline: 2px solid var(--commerce-accent, var(--addon-accent)); outline-offset: 3px; }
.detail-buy label.product-addon input {
    appearance: auto;
    outline: none;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    padding: 0;
    margin: 0;
    accent-color: var(--commerce-accent, var(--addon-accent));
    cursor: pointer;
}
.product-addon-heart { display: grid; place-items: center; flex: 0 0 34px; color: var(--commerce-accent, var(--addon-accent)); }
.product-addon-heart svg { width: 27px; height: 27px; }
.product-addon-copy { flex: 1; min-width: 0; display: grid; gap: 3px; font-size: 14px; line-height: 1.5; }
.product-addon-copy strong { font-size: 15px; font-weight: 700; }
.product-addon-copy small { font-size: 11px; color: #000; }
.product-addon-price { display: grid; gap: 2px; flex-shrink: 0; text-align: center; }
.product-addon-price strong { font-size: 19px; font-weight: 700; }
.product-addon-price s { color: #000; font-size: 13px; }
@media (max-width: 600px) {
    .detail-buy label.product-addon { gap: 10px; padding: 12px; }
    .product-addon-heart { display: none; }
    .product-addon-copy { font-size: 12px; }
    .product-addon-copy strong { font-size: 14px; }
    .product-addon-price strong { font-size: 18px; }
}
