/* Buttons, icon buttons, badges, tags */
.lmn-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:var(--text-button);letter-spacing:var(--tracking-wider);text-transform:uppercase;border:1.5px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-color),box-shadow var(--duration-fast) var(--ease-standard);white-space:nowrap;text-decoration:none;position:relative}
.lmn-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.lmn-btn--sm{min-height:36px;padding:0 var(--space-4);font-size:.75rem}
.lmn-btn--md{min-height:44px;padding:0 var(--space-5)}
.lmn-btn--lg{min-height:52px;padding:0 var(--space-8);font-size:.9375rem}
.lmn-btn--block{display:flex;width:100%}
.lmn-btn--primary{background:var(--color-primary);color:var(--color-on-primary)}
.lmn-btn--primary:hover{background:var(--color-primary-hover)}
.lmn-btn--primary:active{background:var(--color-primary-active)}
.lmn-btn--secondary{background:transparent;color:var(--ink-1000);border-color:var(--ink-1000)}
.lmn-btn--secondary:hover{background:var(--ink-1000);color:var(--white)}
.lmn-btn--secondary:active{background:var(--ink-800);border-color:var(--ink-800)}
.lmn-btn--tertiary{background:transparent;color:var(--ink-1000);padding-left:var(--space-2);padding-right:var(--space-2);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}
.lmn-btn--tertiary:hover{color:var(--color-primary-hover)}
.lmn-btn--dark{background:var(--ink-1000);color:var(--white)}
.lmn-btn--dark:hover{background:var(--ink-800)}
.lmn-btn--dark:active{background:var(--ink-900)}
.lmn-btn--sale{background:var(--color-sale);color:var(--white)}
.lmn-btn--sale:hover{background:var(--red-600)}
.lmn-btn--onDark{background:var(--white);color:var(--ink-1000)}
.lmn-btn--onDark:hover{background:var(--lemona-orange-500);color:var(--white)}
.lmn-btn--onDark:focus-visible{box-shadow:var(--focus-ring-inverse)}
.lmn-btn[disabled],.lmn-btn[aria-disabled="true"]{background:var(--ink-150);color:var(--ink-400);border-color:transparent;cursor:not-allowed;pointer-events:none}
.lmn-btn__spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-circle);animation:lmn-spin .6s linear infinite}
@keyframes lmn-spin{to{transform:rotate(360deg)}}
.lmn-btn--loading{color:transparent!important}
.lmn-btn--loading .lmn-btn__spinner{position:absolute;color:var(--color-on-primary)}
.lmn-btn--secondary.lmn-btn--loading .lmn-btn__spinner,.lmn-btn--tertiary.lmn-btn--loading .lmn-btn__spinner{color:var(--ink-1000)}

.lmn-iconbtn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1.5px solid transparent;border-radius:var(--radius-sm);color:var(--ink-1000);cursor:pointer;position:relative;transition:var(--transition-color)}
.lmn-iconbtn--sm{width:36px;height:36px}
.lmn-iconbtn--md{width:44px;height:44px}
.lmn-iconbtn--lg{width:48px;height:48px}
.lmn-iconbtn:hover{background:var(--ink-100)}
.lmn-iconbtn:active{background:var(--ink-150)}
.lmn-iconbtn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.lmn-iconbtn--outlined{border-color:var(--color-border)}
.lmn-iconbtn--filled{background:var(--ink-1000);color:var(--white)}
.lmn-iconbtn--filled:hover{background:var(--ink-800)}
.lmn-iconbtn--onDark{color:var(--white)}
.lmn-iconbtn--onDark:hover{background:rgba(255,255,255,.14)}
.lmn-iconbtn[disabled]{color:var(--ink-300);cursor:not-allowed}
.lmn-iconbtn__count{position:absolute;top:2px;right:2px;min-width:17px;height:17px;padding:0 4px;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--white);font:var(--fw-bold) 10px/17px var(--font-display);text-align:center}

.lmn-badge{display:inline-flex;align-items:center;gap:4px;font:var(--fw-bold) var(--fs-caption)/1 var(--font-display);letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:5px var(--space-2);border-radius:var(--radius-xs)}
.lmn-badge--sale{background:var(--color-sale);color:var(--white)}
.lmn-badge--new{background:var(--ink-1000);color:var(--white)}
.lmn-badge--bestseller{background:var(--color-primary);color:var(--white)}
.lmn-badge--discount{background:var(--color-success-soft);color:var(--color-discount)}
.lmn-badge--stock{background:var(--color-warning-soft);color:var(--color-warning)}
.lmn-badge--outline{background:transparent;color:var(--ink-700);box-shadow:inset 0 0 0 1px var(--color-border-strong)}
.lmn-badge--neutral{background:var(--ink-100);color:var(--ink-700)}
.lmn-badge--soldout{background:var(--ink-400);color:var(--white)}
.lmn-badge--sm{font-size:10px;padding:3px 6px}

.lmn-tag{display:inline-flex;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--ink-100);color:var(--ink-800);font:var(--fw-semibold) var(--fs-body-sm)/1 var(--font-body);border:none;cursor:pointer;transition:var(--transition-color)}
.lmn-tag:hover{background:var(--ink-150)}
.lmn-tag--active{background:var(--ink-1000);color:var(--white)}
.lmn-tag__x{font:var(--fw-bold) 14px/1 var(--font-display);opacity:.6}

.lmn-icon{display:inline-block;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;flex:none}
