.selection-modal__groups{display:flex;flex-direction:column;gap:var(--spacing-xl);padding:var(--spacing-md) 0}.selection-modal__group{display:flex;flex-direction:column;gap:var(--spacing-md)}.selection-modal__group-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.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{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.selection-modal__option{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.625rem 1rem;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);width:auto;text-align:left}.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{flex-shrink:0;width:.875rem;height:.875rem;color:var(--menu-text-primary, white)}.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);margin:0;text-align:center}.selection-modal__footer{display:flex;align-items:stretch;gap:var(--spacing-sm, .625rem)}.selection-modal__footer .selection-modal__confirm{flex:1;min-width:0;height:3rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 1rem;border:none;border-radius:var(--menu-border-radius, var(--radius-lg));background:var(--menu-primary, var(--gray-800));color:var(--menu-text-primary, #ffffff);cursor:pointer;transition:transform .15s ease,opacity .15s ease}.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{display:flex;align-items:center;gap:.375rem;min-width:0}.selection-modal__confirm-icon{width:1.125rem;height:1.125rem;flex:none}.selection-modal__confirm-label{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selection-modal__confirm-price{flex:none;font-size:var(--font-size-md, 1rem);font-weight:var(--font-weight-bold, 700);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:379px){.selection-modal__confirm-icon{display:none}}.selection-modal__image{width:100%;height:10rem;object-fit:cover;border-radius:var(--menu-border-radius, var(--radius-md));margin:0 0 var(--spacing-sm) 0;display:block}.selection-modal__image-placeholder{width:100%;height:10rem;border-radius:var(--menu-border-radius, var(--radius-md));margin:0 0 var(--spacing-sm) 0;display:flex;align-items:center;justify-content:center;background:var(--menu-surface, var(--gray-100))}.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));line-height:1.5;margin:0 0 var(--spacing-md) 0}.selection-modal__qty{display:flex;align-items:center;gap:.125rem;height:3rem;padding:0 .25rem;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}.selection-modal__qty-btn{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:var(--menu-text, var(--gray-800));cursor:pointer}.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{min-width:1.5rem;text-align:center;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{width:100vw!important;max-width:100vw!important;max-height:88dvh;margin:0}.selection-sheet--bottom.p-dialog.sheet-dismiss--dragging{transition:none!important;will-change:transform}.selection-sheet--bottom .p-dialog-header{position:relative;padding-top:var(--spacing-lg, 1.375rem)}.selection-sheet--bottom .p-dialog-header:before{content:"";position:absolute;top:var(--spacing-xs, .5rem);left:50%;transform:translate(-50%);width:2.375rem;height:.25rem;border-radius:var(--radius-full, 999px);background:color-mix(in srgb,var(--menu-text, var(--gray-800)) 22%,transparent)}.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{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);border:none;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);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, #ffffff);border:1px solid var(--menu-emphasis, var(--menu-primary));box-shadow:var(--menu-shadow-button, var(--shadow-button))}.cart-button--add:hover{transform:translateY(-2px);box-shadow:var(--menu-shadow-button-hover, var(--shadow-button-hover))}.cart-button--add:active{transform:translateY(0)}.cart-button--remove{background:transparent;color:var(--color-error);border:1px solid var(--color-error);padding:var(--spacing-sm);width:36px;height:36px;border-radius:var(--menu-border-radius, var(--radius-md))}.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{transform:none;box-shadow:none}.cart-button .icon{width:20px;height:20px;flex-shrink:0}.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(min-width:640px){.button-text{display:inline}}.cart-button-quantity-control{display:flex;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}@keyframes slideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.quantity-btn{background:transparent;border:none;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--menu-border-radius, var(--radius-md));display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);color:var(--menu-emphasis, var(--menu-primary))}.quantity-btn:hover{background:var(--menu-surface, var(--gray-100))}.quantity-icon{width:18px;height:18px;flex-shrink:0}.quantity-display{font-weight:var(--font-weight-bold);font-size:var(--font-size-md);min-width:2rem;text-align:center;color:var(--menu-text, var(--gray-800))}.cart-notification{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);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);display:flex;align-items:center;gap:var(--spacing-md);animation:notificationSlide var(--transition-slow) ease;white-space:nowrap;z-index:10}@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)}
