.selection-modal__groups{gap:var(--spacing-xl);padding:var(--spacing-md) 0;flex-direction:column;display:flex}.selection-modal__group{gap:var(--spacing-md);flex-direction:column;display:flex}.selection-modal__group-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.selection-modal__group-name{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--gray-900)}.selection-modal__required-asterisk{color:var(--color-error);margin-left:var(--spacing-xs);font-size:var(--font-size-lg)}.selection-modal__optional-label{color:var(--gray-500);margin-left:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.selection-modal__group-hint{font-size:var(--font-size-sm);color:var(--gray-600);margin:0}.selection-modal__options{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.selection-modal__option{align-items:center;gap:var(--spacing-xs);border:1.5px solid var(--menu-border,var(--gray-200));border-radius:var(--radius-full,999px);background:var(--menu-card-bg,white);cursor:pointer;transition:all var(--transition-base);text-align:left;width:auto;padding:.625rem 1rem;display:inline-flex}.selection-modal__option:hover{border-color:var(--menu-primary)}.selection-modal__option--selected{border-color:var(--menu-primary);background:var(--menu-primary)}.selection-modal__option-check{width:.875rem;height:.875rem;color:var(--menu-text-primary,white);flex-shrink:0}.selection-modal__option-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--gray-800)}.selection-modal__option--selected .selection-modal__option-name{color:var(--menu-text-primary,white)}.selection-modal__option-price{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--menu-primary)}.selection-modal__option--selected .selection-modal__option-price{color:var(--menu-text-primary,white)}.selection-modal__error{padding:var(--spacing-md);background:var(--color-error-light);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;margin:0}.selection-modal__footer{align-items:stretch;gap:var(--spacing-sm,.625rem);display:flex}.selection-modal__footer .selection-modal__confirm{border-radius:var(--menu-border-radius,var(--radius-lg));background:var(--menu-primary,var(--gray-800));min-width:0;height:3rem;color:var(--menu-text-primary,#fff);cursor:pointer;border:none;flex:1;justify-content:space-between;align-items:center;gap:.5rem;padding:0 1rem;transition:transform .15s,opacity .15s;display:flex}.selection-modal__footer .selection-modal__confirm:active{transform:scale(.98)}.selection-modal__footer .selection-modal__confirm:disabled{opacity:.5;cursor:default}.selection-modal__confirm-main{align-items:center;gap:.375rem;min-width:0;display:flex}.selection-modal__confirm-icon{flex:none;width:1.125rem;height:1.125rem}.selection-modal__confirm-label{font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-semibold,600);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.selection-modal__confirm-price{font-size:var(--font-size-md,1rem);font-weight:var(--font-weight-bold,700);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}@media (width<=379px){.selection-modal__confirm-icon{display:none}}.selection-modal__image{object-fit:cover;border-radius:var(--menu-border-radius,var(--radius-md));width:100%;height:10rem;margin:0 0 var(--spacing-sm) 0;display:block}.selection-modal__image-placeholder{border-radius:var(--menu-border-radius,var(--radius-md));width:100%;height:10rem;margin:0 0 var(--spacing-sm) 0;background:var(--menu-surface,var(--gray-100));justify-content:center;align-items:center;display:flex}.selection-modal__image-placeholder-icon{width:40px;height:40px;color:var(--menu-text-muted,var(--gray-400))}.selection-modal__description{font-size:var(--font-size-sm,.875rem);color:var(--menu-text-secondary,var(--gray-600));margin:0 0 var(--spacing-md) 0;line-height:1.5}.selection-modal__qty{box-sizing:border-box;border:1.5px solid color-mix(in srgb, var(--menu-text,var(--gray-800)) 18%, transparent);border-radius:var(--radius-full,999px);flex:none;align-items:center;gap:.125rem;height:3rem;padding:0 .25rem;display:flex}.selection-modal__qty-btn{width:2.25rem;height:2.25rem;color:var(--menu-text,var(--gray-800));cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.selection-modal__qty-btn:active{background:color-mix(in srgb, var(--menu-text,var(--gray-800)) 8%, transparent)}.selection-modal__qty-btn:disabled{opacity:.35;cursor:default}.selection-modal__qty-icon{width:1rem;height:1rem}.selection-modal__qty-value{text-align:center;min-width:1.5rem;font-weight:var(--font-weight-bold,700);font-variant-numeric:tabular-nums;color:var(--menu-text,var(--gray-800))}.selection-sheet.p-dialog{overflow:hidden}.selection-sheet--bottom.p-dialog{max-height:88dvh;margin:0;width:100vw!important;max-width:100vw!important}.selection-sheet--bottom.p-dialog.sheet-dismiss--dragging{will-change:transform;transition:none!important}.selection-sheet--bottom .p-dialog-header{padding-top:var(--spacing-lg,1.375rem);position:relative}.selection-sheet--bottom .p-dialog-header:before{content:"";top:var(--spacing-xs,.5rem);border-radius:var(--radius-full,999px);background:color-mix(in srgb, var(--menu-text,var(--gray-800)) 22%, transparent);width:2.375rem;height:.25rem;position:absolute;left:50%;transform:translate(-50%)}.selection-sheet--bottom .p-dialog-footer{padding-bottom:calc(var(--spacing-md,1rem) + env(safe-area-inset-bottom,0px))}.cart-button-wrapper{position:relative}.cart-button{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--menu-border-radius,var(--radius-lg));font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-slow);border:none;display:flex;position:relative;overflow:hidden}.cart-button--add{background:linear-gradient(var(--menu-gradient-angle), var(--menu-gradient-from) 0%, var(--menu-gradient-to) 100%);color:var(--menu-text-primary,#fff);border:1px solid var(--menu-emphasis,var(--menu-primary));box-shadow:var(--menu-shadow-button,var(--shadow-button))}.cart-button--add:hover{box-shadow:var(--menu-shadow-button-hover,var(--shadow-button-hover));transform:translateY(-2px)}.cart-button--add:active{transform:translateY(0)}.cart-button--remove{color:var(--color-error);border:1px solid var(--color-error);padding:var(--spacing-sm);border-radius:var(--menu-border-radius,var(--radius-md));background:0 0;width:36px;height:36px}.cart-button--remove:hover{background:var(--color-error-light)}.cart-button--sold-out{background:var(--gray-100);color:var(--gray-400);border:1px solid var(--gray-200);cursor:not-allowed;opacity:.8}.cart-button--sold-out:hover{box-shadow:none;transform:none}.cart-button .icon{flex-shrink:0;width:20px;height:20px}.cart-button--sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);gap:var(--spacing-xs)}.cart-button--sm.cart-button .icon{width:14px;height:14px}.cart-button-quantity-control--sm{gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.cart-button-quantity-control--sm .quantity-btn{padding:var(--spacing-xs)}.cart-button-quantity-control--sm .quantity-icon{width:14px;height:14px}.cart-button-quantity-control--sm .quantity-display{font-size:var(--font-size-sm);min-width:1.5rem}.cart-button-quantity-control--sm .cart-button--remove{width:28px;height:28px;padding:var(--spacing-xs)}.cart-button-quantity-control--sm .cart-button--remove .icon{width:14px;height:14px}.button-text{display:none}@media (width>=640px){.button-text{display:inline}}.cart-button-quantity-control{align-items:center;gap:var(--spacing-xs);background:var(--menu-card-bg,white);border:2px solid var(--menu-emphasis,var(--menu-primary));border-radius:var(--menu-border-radius,var(--radius-lg));padding:var(--spacing-xs);animation:slideIn var(--transition-slow) ease;display:flex}@keyframes slideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.quantity-btn{cursor:pointer;padding:var(--spacing-xs);border-radius:var(--menu-border-radius,var(--radius-md));transition:all var(--transition-base);color:var(--menu-emphasis,var(--menu-primary));background:0 0;border:none;justify-content:center;align-items:center;display:flex}.quantity-btn:hover{background:var(--menu-surface,var(--gray-100))}.quantity-icon{flex-shrink:0;width:18px;height:18px}.quantity-display{font-weight:var(--font-weight-bold);font-size:var(--font-size-md);text-align:center;min-width:2rem;color:var(--menu-text,var(--gray-800))}.cart-notification{background:var(--menu-card-bg,white);border-radius:var(--menu-border-radius,var(--radius-lg));padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-sm);box-shadow:var(--shadow-notification);align-items:center;gap:var(--spacing-md);animation:notificationSlide var(--transition-slow) ease;white-space:nowrap;z-index:10;display:flex;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-8px)}@keyframes notificationSlide{0%{opacity:0;transform:translate(-50%)translateY(-12px)}to{opacity:1;transform:translate(-50%)translateY(-8px)}}.cart-notification--success{border-left:4px solid var(--color-success);background:var(--color-success-light)}.notification-icon{width:18px;height:18px;color:var(--color-success);flex-shrink:0}.notification-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-success)}
