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