/* Keep set forms below the theme's floated stock notice. */
.woocommerce #content div.product form.cart:has(.ks-cards),
.woocommerce div.product form.cart:has(.ks-cards),
.woocommerce-page #content div.product form.cart:has(.ks-cards),
.woocommerce-page div.product form.cart:has(.ks-cards) {
    clear: both;
    float: none;
    margin-top: 16px;
}
.ks-cards {
    clear: both;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 24px;
    padding: 16px;
    border: 1px solid #d9e3d5;
    border-radius: 8px;
    background: #f8faf6;
}
.ks-cards legend { font-weight: 600; padding: 0 6px; }
.ks-cards-options { display: grid; gap: 8px; }
.ks-cards .ks-card-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    margin: 0;
    border: 1px solid #d9e3d5;
    border-radius: 5px;
    background: white;
    cursor: pointer;
}
.ks-card-option:focus-within { outline: 2px solid #42643b; outline-offset: 2px; }
.ks-card-option:has(input:checked) { border-color: #42643b; background: #edf4e8; }
.ks-cards .ks-card-option input { margin: 0; flex-shrink: 0; }
.ks-cards .ks-card-option img { width: 64px; height: 80px; object-fit: contain; margin: 0; }
.ks-card-message { margin-top: 16px; }
.ks-card-message[hidden] { display: none; }
.ks-card-message label { display: block; font-weight: 600; }
.ks-cards textarea { width: 100%; box-sizing: border-box; resize: vertical; }
