.modal-overlay[data-v-9395d6f3]{align-items:center;background:#00000080;display:flex;justify-content:center;inset:0;padding:1rem;position:fixed;z-index:1000}.modal-content[data-v-9395d6f3]{background:#fff;border-radius:16px;max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:100%}.modal-close[data-v-9395d6f3]{align-items:center;background:#f0f0f0;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s;width:36px}.modal-close[data-v-9395d6f3]:hover{background:#e0e0e0}.modal-header[data-v-9395d6f3]{border-bottom:1px solid #eee;padding:1.5rem}.modal-header h2[data-v-9395d6f3]{font-size:1.5rem;margin:0 0 .5rem;padding-right:2rem}.modal-description[data-v-9395d6f3]{color:#666;font-size:.9rem;margin:0 0 .5rem}.modal-base-price[data-v-9395d6f3]{color:var(--color-primary);font-size:1.25rem;font-weight:700;margin:0}.modal-loading[data-v-9395d6f3]{color:#666;padding:3rem;text-align:center}.combo-builder[data-v-9395d6f3]{padding:1.5rem}.combo-group[data-v-9395d6f3]{border-bottom:1px solid #eee;margin-bottom:1.5rem;padding-bottom:1.5rem}.combo-group[data-v-9395d6f3]:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.combo-header[data-v-9395d6f3]{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.combo-header h3[data-v-9395d6f3]{font-size:1rem;margin:0}.combo-info[data-v-9395d6f3]{background-color:var(--color-surface-secondary,#f5f5f5);border-radius:4px;color:var(--color-text);font-size:.875rem;font-weight:600;padding:4px 10px}.selection-count[data-v-9395d6f3]{color:var(--color-primary);font-weight:500}.combo-header--collapsible[data-v-9395d6f3]{align-items:center;background:var(--color-background);border:2px solid var(--color-border);border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:.75rem 1rem;text-align:left;transition:border-color .2s;width:100%}.combo-header--collapsible[data-v-9395d6f3]:hover{border-color:var(--color-primary)}.combo-header-left[data-v-9395d6f3]{align-items:flex-start;display:flex;flex-direction:column;gap:.125rem}.combo-header-left h3[data-v-9395d6f3]{font-size:1rem;margin:0}.combo-expand-hint[data-v-9395d6f3]{color:var(--color-primary);font-size:.75rem;font-weight:500}.combo-header-right[data-v-9395d6f3]{align-items:center;display:flex;gap:.5rem}.selection-count-badge[data-v-9395d6f3]{color:var(--color-primary);font-size:.75rem;font-weight:500}.combo-chevron[data-v-9395d6f3]{color:var(--color-primary);flex-shrink:0;transition:transform .2s}.combo-chevron--open[data-v-9395d6f3]{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.combo-chevron[data-v-9395d6f3]{transition:none}}.combo-choices[data-v-9395d6f3]{display:flex;flex-direction:column;gap:.5rem}.choice-option[data-v-9395d6f3]{align-items:center;border:2px solid #ddd;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem;position:relative;transition:all .2s}.choice-option.selected[data-v-9395d6f3]{background:#00a7ab1a;border-color:var(--color-primary)}.choice-option.multi[data-v-9395d6f3]{cursor:pointer}.choice-option--disabled[data-v-9395d6f3]{background-color:#f5f5f5;cursor:not-allowed;opacity:.5;pointer-events:none}.out-of-stock-text[data-v-9395d6f3]{color:var(--color-text-muted);font-size:.75rem;font-weight:400;margin-left:.25rem}.sr-only[data-v-9395d6f3]{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0}.choice-info[data-v-9395d6f3]{align-items:center;display:flex;gap:.5rem}.choice-name[data-v-9395d6f3]{font-weight:500}.extra-price[data-v-9395d6f3]{color:var(--color-primary);font-size:.875rem;font-weight:600}.quantity-controls[data-v-9395d6f3]{gap:.5rem}.qty-btn[data-v-9395d6f3],.quantity-controls[data-v-9395d6f3]{align-items:center;display:flex}.qty-btn[data-v-9395d6f3]{background:#fff;border:1px solid #ddd;border-radius:6px;color:var(--color-text);cursor:pointer;font-size:1.25rem;height:32px;justify-content:center;transition:all .2s;width:32px}.qty-btn[data-v-9395d6f3]:hover:not(:disabled){background:#00a7ab1a;border-color:var(--color-primary)}.qty-btn[data-v-9395d6f3]:disabled{cursor:not-allowed;opacity:.3}.qty-value[data-v-9395d6f3]{font-weight:700;text-align:center;width:2rem}.validation-message[data-v-9395d6f3]{color:#e57373;font-size:.875rem;margin:.5rem 0 0}.combo-note-link-wrapper[data-v-9395d6f3]{padding:0 1.5rem 1rem;text-align:center}.combo-note-link[data-v-9395d6f3]{align-items:center;background:none;border:none;color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.85rem;font-weight:700;gap:.4rem;padding:.25rem 0;text-decoration:none}.combo-note-link[data-v-9395d6f3]:hover{opacity:.8}.combo-note-link__icon[data-v-9395d6f3]{align-items:center;border:1.5px solid;border-radius:50%;display:inline-flex;font-size:.75rem;font-weight:700;height:18px;justify-content:center;line-height:1;width:18px}.combo-note-link__label[data-v-9395d6f3]{text-decoration:underline;text-underline-offset:2px}.combo-note-link__text--filled[data-v-9395d6f3]{color:var(--color-text);font-style:italic}.combo-note-link__edit-icon[data-v-9395d6f3]{font-size:.75rem}.note-submodal-overlay[data-v-9395d6f3]{align-items:center;background:#0006;display:flex;justify-content:center;inset:0;position:fixed;z-index:1100}.note-submodal[data-v-9395d6f3]{background:var(--color-background);border-radius:12px;box-shadow:0 4px 20px #00000026;max-width:340px;padding:1.25rem;width:90%}.note-submodal__title[data-v-9395d6f3]{color:var(--color-text);font-size:1rem;font-weight:600;margin:0 0 .75rem}.note-submodal__textarea[data-v-9395d6f3]{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-family:var(--font-body);font-size:.875rem;outline:none;padding:.625rem .75rem;resize:none;transition:border-color .2s;width:100%}.note-submodal__textarea[data-v-9395d6f3]:focus{border-color:var(--color-primary)}.note-submodal__textarea[data-v-9395d6f3]::-moz-placeholder{color:var(--color-text-muted)}.note-submodal__textarea[data-v-9395d6f3]::placeholder{color:var(--color-text-muted)}.note-submodal__actions[data-v-9395d6f3]{display:flex;justify-content:flex-end;margin-top:.75rem}.note-submodal__save[data-v-9395d6f3]{background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:var(--font-body);font-size:.875rem;font-weight:600;padding:.5rem 1.25rem}.note-submodal__save[data-v-9395d6f3]:hover{opacity:.9}.fade-enter-active[data-v-9395d6f3],.fade-leave-active[data-v-9395d6f3]{transition:opacity .2s ease}.fade-enter-from[data-v-9395d6f3],.fade-leave-to[data-v-9395d6f3]{opacity:0}.modal-footer[data-v-9395d6f3]{background:#f9f9f9;border-top:1px solid #eee;justify-content:space-between;padding:1.5rem}.modal-footer[data-v-9395d6f3],.total-price[data-v-9395d6f3]{align-items:center;display:flex}.total-price[data-v-9395d6f3]{gap:.5rem}.total-price .price[data-v-9395d6f3]{color:var(--color-primary);font-size:1.5rem;font-weight:700}.modal-add-btn[data-v-9395d6f3]{background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;letter-spacing:.5px;padding:1rem 2rem;text-transform:uppercase;transition:all .2s}.modal-add-btn[data-v-9395d6f3]:hover:not(:disabled){background:var(--color-primary-dark)}.modal-add-btn[data-v-9395d6f3]:disabled{background:#ccc;cursor:not-allowed}.combo-choice__new-badge[data-v-9395d6f3]{background-color:#f19078;border-radius:4px;color:#fff;font-size:.7rem;font-weight:600;left:12px;letter-spacing:.03em;line-height:1;padding:3px 8px;pointer-events:none;position:absolute;text-transform:uppercase;top:-6px;white-space:nowrap;z-index:1}.modal-enter-active[data-v-9395d6f3]{animation:modal-in-9395d6f3 .3s ease-out}.modal-leave-active[data-v-9395d6f3]{animation:modal-out-9395d6f3 .2s ease-in}.modal-enter-active .modal-content[data-v-9395d6f3]{animation:modal-content-in-9395d6f3 .3s ease-out}.modal-leave-active .modal-content[data-v-9395d6f3]{animation:modal-content-out-9395d6f3 .2s ease-in}@keyframes modal-in-9395d6f3{0%{opacity:0}to{opacity:1}}@keyframes modal-out-9395d6f3{0%{opacity:1}to{opacity:0}}@keyframes modal-content-in-9395d6f3{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modal-content-out-9395d6f3{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(20px)}}@media(max-width:640px){.modal-content[data-v-9395d6f3]{max-height:85vh}.modal-footer[data-v-9395d6f3]{flex-direction:column;gap:1rem}.modal-add-btn[data-v-9395d6f3]{width:100%}}
