.badge{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:999px;background:rgba(255,253,248,.74);color:var(--color-text-muted);font-size:.75rem;font-weight:800;letter-spacing:.08em;padding:6px 10px;text-transform:uppercase}.badge-success{border-color:color-mix(in srgb,var(--color-success),transparent 55%);color:var(--color-success)}.badge-warning{border-color:color-mix(in srgb,var(--color-warning),transparent 55%);color:var(--color-warning)}.badge-error{border-color:color-mix(in srgb,var(--color-error),transparent 55%);color:var(--color-error)}.skeleton-stack{display:grid;grid-gap:12px;gap:12px}.skeleton-line{display:block;height:18px;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--color-border),transparent 20%),color-mix(in srgb,var(--color-surface-card),transparent 8%),color-mix(in srgb,var(--color-border),transparent 20%));background-size:220% 100%;animation:skeleton-wave 1.2s linear infinite}.skeleton-line:first-child{width:70%;height:34px}.skeleton-line:nth-child(2n){width:92%}.skeleton-line:nth-child(3n){width:78%}.toast{position:fixed;right:20px;bottom:20px;z-index:40;max-width:min(360px,calc(100vw - 40px));border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-card);box-shadow:var(--shadow-soft);color:var(--color-text);padding:14px 16px}.toast-success{border-color:color-mix(in srgb,var(--color-success),transparent 55%)}.toast-error{border-color:color-mix(in srgb,var(--color-error),transparent 55%)}.scroll-top{position:fixed;right:18px;bottom:18px;z-index:30;display:grid;width:46px;height:46px;place-items:center;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-card);box-shadow:var(--shadow-soft);color:var(--color-text);cursor:pointer}@keyframes skeleton-wave{to{background-position:-220% 0}}[data-storefront-theme=parisian-patisserie] .badge,[data-storefront-theme=parisian-patisserie] .scroll-top,[data-storefront-theme=parisian-patisserie] .skeleton-line,[data-storefront-theme=parisian-patisserie] .toast{border-radius:0;box-shadow:none}[data-storefront-theme=parisian-patisserie] .badge{background:transparent;color:var(--color-accent-strong);letter-spacing:.14em}[data-storefront-theme=parisian-patisserie] .scroll-top{background:var(--color-primary);color:var(--color-surface)}