.badge{padding:var(--space-2) var(--space-8);border-radius:var(--radius-badge);font-family:var(--font-family-secondary), sans-serif;font-size:var(--font-size-caption);line-height:var(--line-height-20);letter-spacing:0;text-align:center;white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.badge--bold{color:var(--text-strong);font-weight:600}.badge--regular{color:var(--text-body);font-weight:400}.badge--brand{background-color:var(--surface-brand);color:var(--text-on-brand)}.badge--light{background-color:var(--surface-strong);color:var(--text-on-brand)}.badge--dark{background-color:var(--surface-base);color:var(--text-heading)}.badge--on-brand{background-color:var(--surface-on-brand);color:var(--text-on-brand)}.badge--subtle{background-color:var(--surface-subtle)}.badge--on-surface{background-color:var(--surface-muted)}.badge--compact{padding:var(--space-2) var(--space-4);font-size:var(--font-size-caption-small);font-weight:600;line-height:var(--line-height-12);border-radius:var(--radius-4)}
.badge-cart{padding:var(--space-2) var(--space-6);border-radius:var(--radius-badge);font-family:var(--font-family-primary), sans-serif;font-size:var(--font-size-12);font-weight:700;line-height:var(--line-height-16);letter-spacing:0;white-space:nowrap;background-color:var(--surface-strong,#495057);color:var(--text-on-brand);justify-content:center;align-items:center;gap:8px;transition:background-color .15s,color .15s;display:inline-flex}button:hover>* .badge-cart{background-color:var(--surface-base);color:var(--text-body)}button:active>* .badge-cart{background-color:var(--surface-base);color:var(--text-strong)}.icon-button--active .badge-cart{background-color:var(--surface-brand);color:var(--text-on-brand)}
.cart-icon{justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex;position:relative}.cart-icon__svg{flex-shrink:0;display:block}.cart-icon__badge{position:absolute;top:6px;left:8px}
.button{font-family:var(--font-family-secondary), sans-serif;font-weight:600;font-size:var(--font-size-13);line-height:var(--line-height-24);border-radius:var(--radius-button-default);border:none;transition:background-color .2s ease-out,box-shadow .2s ease-out,transform .2s ease-out;box-shadow:inset 0 0 0 1px #0000}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{opacity:.5;cursor:not-allowed}.button--secondary{background-color:var(--surface-action-secondary-muted-default);color:var(--text-button-default)}.button--secondary:hover:not(:disabled){background-color:var(--surface-action-secondary-muted-hover);color:var(--text-button-hover);box-shadow:0 0 0 3px var(--border-action-secondary-muted-hover)}.button--secondary:active:not(:disabled):not(.button--active){background-color:var(--surface-action-secondary-muted-pressed);color:var(--text-button-pressed);box-shadow:none}.button--secondary.button--active{background-color:var(--surface-action-secondary-muted-active);color:var(--text-button-default);box-shadow:inset 0 0 0 1px var(--border-action-secondary-muted-active), 0 0 0 3px var(--border-action-secondary-muted-ring-active)}.button--secondary:disabled{background-color:var(--surface-action-secondary-muted-disabled);color:var(--text-button-disabled);opacity:1;cursor:not-allowed}.button--tertiary{background-color:var(--surface-action-secondary-subtle-default);box-shadow:inset 0 0 0 1px var(--surface-action-secondary-subtle-default);color:var(--text-button-default)}.button--tertiary:hover:not(:disabled){background-color:var(--surface-action-secondary-subtle-hover);color:var(--text-button-hover);box-shadow:0 0 0 3px var(--border-action-secondary-muted-hover)}.button--tertiary:active:not(:disabled):not(.button--active){background-color:var(--surface-action-secondary-subtle-pressed);color:var(--text-button-pressed);box-shadow:none}.button--tertiary.button--active{background-color:var(--surface-action-secondary-subtle-active);color:var(--text-button-default);box-shadow:inset 0 0 0 1px var(--border-action-secondary-subtle-active), 0 0 0 3px var(--border-action-secondary-subtle-ring-active)}.button--tertiary:disabled{background-color:var(--surface-action-secondary-subtle-disabled);color:var(--text-button-disabled);opacity:1;cursor:not-allowed}.button--primary{background-color:var(--surface-action-primary-default);box-shadow:inset 0 0 0 1px var(--surface-action-primary-default);color:var(--text-button-primary-default)}.button--primary.button--active{background-color:var(--surface-action-primary-pressed);box-shadow:inset 0 0 0 1px var(--surface-action-primary-pressed), 0 0 0 3px var(--border-action-primary-ring-active);color:var(--text-button-primary-default)}.button--primary:hover:not(:disabled){background-color:var(--surface-action-primary-hover);box-shadow:inset 0 0 0 1px var(--surface-action-primary-hover), 0 0 0 3px var(--border-action-primary-ring-hover)}.button--primary:active:not(:disabled){background-color:var(--surface-action-primary-pressed);box-shadow:inset 0 0 0 1px var(--surface-action-primary-pressed)}.button--primary:disabled{background-color:var(--surface-action-primary-disabled);box-shadow:inset 0 0 0 1px var(--surface-action-primary-disabled);color:var(--text-button-primary-default)}.button--lg{font-size:var(--font-size-14)}
.drawer-overlay{z-index:50;background-color:var(--surface-overlay);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);position:fixed;inset:0}.drawer-content{inset-inline:0;z-index:50;max-width:100vw;max-height:calc(100dvh - var(--space-32));background-color:var(--surface-base);border-radius:var(--radius-container) var(--radius-container) 0 0;flex-direction:column;transition:max-height .2s;display:flex;position:fixed;bottom:0;overflow:hidden auto}.drawer-content.drawer-content--scrolled{border-radius:0;max-height:100dvh}.drawer-sticky-header{background-color:var(--surface-base);border-radius:var(--radius-container) var(--radius-container) 0 0}.drawer-handle-area{padding-top:var(--space-16);padding-bottom:var(--space-16);border-bottom:1px solid var(--border-muted);justify-content:center;display:flex}.drawer-handle{background-color:var(--surface-muted);border-radius:8px;width:64px;height:4px}.drawer-header{z-index:1;padding:var(--space-16) var(--space-24);border-bottom:1px solid var(--border-muted);background-color:var(--surface-base);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.drawer-title{font-family:var(--font-family-primary), sans-serif;font-size:var(--font-size-body-large);font-weight:600;line-height:var(--line-height-24);color:var(--text-strong)}.drawer-content:after{display:none!important}.drawer-body{gap:var(--space-8);padding:12px var(--space-24) var(--space-16);background-color:var(--surface-blush);flex-direction:column;flex-shrink:0;display:flex}
.dialog-overlay{z-index:var(--dialog-overlay-z-index,1000);background-color:var(--dialog-overlay-bg,var(--surface-overlay));-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);position:fixed;inset:0}.dialog-overlay[data-state=open]{animation:.2s ease-out dialog-overlay-show}.dialog-overlay[data-state=closed]{animation:.15s ease-in dialog-overlay-hide}@keyframes dialog-overlay-show{0%{opacity:0}to{opacity:1}}@keyframes dialog-overlay-hide{0%{opacity:1}to{opacity:0}}.dialog-content{z-index:var(--dialog-content-z-index,1001);background-color:var(--dialog-content-bg,#fff);border-radius:var(--dialog-content-border-radius,.5rem);width:calc(100% - 2rem);max-height:calc(100vh - 2rem);box-shadow:var(--dialog-content-shadow,0 25px 50px -12px #00000040);padding:var(--dialog-content-padding,1rem);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}@media (min-width:640px){.dialog-content{padding:var(--dialog-content-padding-sm,1.5rem)}}.dialog-content[data-state=open]{animation:.3s ease-out dialog-content-show}.dialog-content[data-state=closed]{animation:.2s ease-in dialog-content-hide}@keyframes dialog-content-show{0%{opacity:0;transform:translate(-50%,-50%)scale(.95)translateY(1rem)}to{opacity:1;transform:translate(-50%,-50%)scale(1)translateY(0)}}@keyframes dialog-content-hide{0%{opacity:1;transform:translate(-50%,-50%)scale(1)translateY(0)}to{opacity:0;transform:translate(-50%,-50%)scale(.95)translateY(1rem)}}.dialog-content--sm,.dialog-content--md,.dialog-content--lg,.dialog-content--xl{max-width:none}@media (min-width:640px){.dialog-content--sm{max-width:var(--dialog-sm-max-width,544px)}.dialog-content--md{max-width:var(--dialog-md-max-width,736px)}.dialog-content--lg{max-width:var(--dialog-lg-max-width,900px)}.dialog-content--xl{max-width:var(--dialog-xl-max-width,1100px)}}.dialog-content--full{border-radius:var(--dialog-full-border-radius,.5rem);width:calc(100% - 2rem);max-width:none;height:calc(100vh - 2rem)}@media (min-width:640px){.dialog-content--full{width:calc(100% - 4rem);height:calc(100vh - 4rem)}}.dialog-close-button{top:var(--dialog-close-top,1rem);right:var(--dialog-close-right,1rem);position:absolute}@media (min-width:640px){.dialog-close-button{top:var(--dialog-close-top-sm,1.5rem);right:var(--dialog-close-right-sm,1.5rem)}}.dialog-header{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-16) var(--space-24);margin:calc(-1 * var(--dialog-content-padding,1rem));background-color:var(--surface-base);border-radius:var(--dialog-content-border-radius,.5rem) var(--dialog-content-border-radius,.5rem) 0 0;margin-bottom:0;display:flex}@media (min-width:640px){.dialog-header{margin:calc(-1 * var(--dialog-content-padding-sm,1.5rem));margin-bottom:0}}.dialog-header__content{flex-direction:column;gap:.5rem;min-width:0;display:flex}.dialog-footer{justify-content:center;align-items:center;gap:var(--space-8);background-color:var(--surface-subtle);padding:var(--space-12) var(--space-24);border-width:0 var(--border-width-1) var(--border-width-1) var(--border-width-1);border-style:solid;border-color:var(--border-muted);border-radius:0 0 var(--radius-container) var(--radius-container);margin:auto calc(-1 * var(--dialog-content-padding,1rem)) calc(-1 * var(--dialog-content-padding,1rem));display:flex}@media (min-width:640px){.dialog-footer{margin:auto calc(-1 * var(--dialog-content-padding-sm,1.5rem)) calc(-1 * var(--dialog-content-padding-sm,1.5rem))}}.dialog-title{font-family:var(--font-family-primary,var(--font-sans));font-size:var(--font-size-body-large);font-weight:600;line-height:var(--line-height-24);color:var(--dialog-title-color,var(--text-strong));margin:0}.dialog-description{font-family:var(--dialog-description-font,var(--font-roboto,Roboto, sans-serif));font-size:var(--dialog-description-font-size,.875rem);color:var(--dialog-description-color,var(--color-tertiary,#495057));margin:0;line-height:1.5}
.tooltip-content{padding:var(--space-12) var(--space-16);border-radius:var(--radius-container);background-color:var(--surface-strong);color:var(--text-on-inverse);font-family:var(--font-family-secondary), sans-serif;font-size:var(--font-size-13);font-weight:400;line-height:var(--line-height-20);max-width:264px;box-shadow:0 8px 8px #00000026}.tooltip-arrow{fill:var(--surface-strong)}.tooltip-spacious[data-side=top] .tooltip-arrow{fill:color-mix(in srgb, var(--surface-strong), white 25%)}.tooltip-spacious{border-radius:var(--radius-container);background-color:var(--surface-strong);width:264px;max-width:264px;color:var(--text-on-inverse);box-shadow:0 8px 8px #00000026}.tooltip-spacious__content{gap:var(--space-16);padding:var(--space-16) var(--space-24);flex-direction:column;display:flex}.tooltip-spacious__header{justify-content:space-between;align-items:flex-start;gap:var(--space-8);display:flex}.tooltip-spacious__title{font-family:var(--font-family-primary), sans-serif;font-size:var(--font-size-16);font-weight:600;line-height:var(--line-height-24);color:var(--text-on-inverse)}.tooltip-spacious__body{font-family:var(--font-family-secondary), sans-serif;font-size:var(--font-size-13);font-weight:400;line-height:var(--line-height-20);color:var(--text-on-inverse)}.tooltip-spacious__bottom-bar{padding:var(--space-12) var(--space-24);background-color:var(--surface-on-inverse-subtle);border-right:1px solid var(--surface-on-inverse-subtle);border-bottom:1px solid var(--surface-on-inverse-subtle);border-left:1px solid var(--surface-on-inverse-subtle);border-radius:0 0 var(--radius-container) var(--radius-container);justify-content:center;align-items:center;display:flex}.drawer-content--tooltip{background-color:var(--surface-strong);color:var(--text-on-inverse)}.drawer-content--tooltip .drawer-header{border-bottom:none}.drawer-content--tooltip .drawer-handle{background-color:var(--surface-on-inverse-muted)}.drawer-content--tooltip .drawer-body{background-color:var(--surface-strong)}
