.jdc-opts { margin: 0 0 20px; display: grid; gap: 16px; width: 100%; }
.jdc-opts__group { border: 1px solid var(--line, #e7ddd3); border-radius: 12px; padding: 14px 16px 10px; margin: 0; background: #fff; }
.jdc-opts__group legend { font-family: var(--font-display, 'Playfair Display', serif); font-weight: 500; font-size: 17px; padding: 0 6px; }
.jdc-opts__hint { font-family: var(--font-body, 'Jost', sans-serif); font-size: 12px; font-weight: 400; color: #8a7a6c; margin-left: 6px; }
.jdc-opts__opt { display: flex; align-items: center; gap: 10px; padding: 8px 2px; cursor: pointer; border-top: 1px solid rgba(0, 0, 0, .05); }
.jdc-opts__opt:first-of-type { border-top: 0; }
.jdc-opts__opt input { width: 18px; height: 18px; accent-color: var(--strawberry, #c8102e); flex: none; }
.jdc-opts__opt input:disabled + .jdc-opts__name { opacity: .45; }
.jdc-opts__name { flex: 1; }
.jdc-opts__price { color: #6b5b4e; font-size: 14px; white-space: nowrap; }
.jdc-opts__error { margin: 0; color: #b00020; font-size: 14px; }
.jdc-opts__total { font-size: 14px; color: #6b5b4e; margin-top: 4px; }
