.product-options { margin:1.25rem 0; padding:1rem; border:1px solid #e3e8ef; border-radius:12px; background:#f8fafc; }
.product-option-group + .product-option-group { margin-top:1rem; }
.product-option-label { display:block; margin-bottom:.45rem; color:#344054; font-size:.875rem; font-weight:700; }
.product-option-required { margin-left:.2rem; color:#b42318; }
.product-option-unit { margin-left:.4rem; color:#667085; font-size:.85rem; }
.product-option-choices { display:flex; flex-wrap:wrap; gap:.55rem; }
.product-option-choice { min-height:44px; position:relative; display:inline-flex; align-items:center; gap:.5rem; padding:.55rem .75rem; border:1px solid #cfd6df; border-radius:9px; background:#fff; cursor:pointer; }
.product-option-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.product-option-choice:has(input:checked) { border-color:#6366f1; box-shadow:0 0 0 2px rgba(99, 102, 241,.16); }
.product-option-choice:has(input:focus-visible) { outline:3px solid #86b7fe; outline-offset:2px; }
.product-option-choice:has(input:disabled) { opacity:.48; cursor:not-allowed; text-decoration:line-through; }
.product-color-swatch { width:26px; height:26px; flex:0 0 26px; border:1px solid rgba(0,0,0,.2); border-radius:50%; background:var(--swatch-color,#fff); }
.product-image-choice { align-items:center; flex-direction:column; width:96px; text-align:center; }
.product-image-choice img { width:72px; height:56px; object-fit:contain; border-radius:6px; background:#fff; }
.product-options-errors { margin-bottom:1rem; padding:.75rem; border:1px solid #f1aeb5; border-radius:8px; color:#842029; background:#f8d7da; }
.product-options-errors ul { margin:.35rem 0 0; padding-left:1.25rem; }
.product-options-status { min-height:1.5rem; margin-top:.8rem; color:#475467; font-size:.875rem; }
.product-options-status.is-error { color:#b42318; font-weight:600; }
.product-option-identifiers { display:flex; flex-wrap:wrap; gap:.25rem 1rem; margin-top:.5rem; color:#667085; font-size:.82rem; }
@media (max-width:575.98px) { .product-options { padding:.8rem; } .product-option-choices { display:grid; grid-template-columns:1fr 1fr; } .product-option-choice { width:100%; } .product-image-choice { width:100%; } }
