.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1.5;text-align:center;white-space:nowrap;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);min-height:44px;min-width:44px}.btn:focus-visible{outline:3px solid currentColor;outline-offset:2px;box-shadow:var(--shadow-md)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:2px solid var(--color-btn-primary-bg)}.btn--primary:hover:not(:disabled){background-color:var(--color-btn-primary-hover, var(--color-link-hover));border-color:var(--color-btn-primary-hover, var(--color-link-hover));color:var(--color-btn-primary-text);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn--secondary{background-color:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:2px solid var(--color-btn-secondary-text)}.btn--secondary:hover:not(:disabled){background-color:var(--color-btn-secondary-text);color:var(--color-btn-secondary-bg);border-color:var(--color-btn-secondary-text);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.btn--text{background-color:transparent;color:var(--color-text);border:none;padding:var(--spacing-sm)}.btn--text:hover:not(:disabled){color:var(--color-primary)}.btn--sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);min-height:36px;min-width:36px}.btn--lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg);min-height:52px}.btn--full{width:100%}.btn__icon{width:20px;height:20px;flex-shrink:0}.product-card{position:relative;background-color:var(--color-background);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base)}.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.product-card__image-wrapper{position:relative;width:100%;padding-bottom:100%;background-color:var(--color-background-light);overflow:hidden}.product-card__image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.product-card:hover .product-card__image{transform:scale(1.05)}.product-card__badges{position:absolute;top:var(--spacing-sm);left:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs);z-index:1}.product-card__badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;color:var(--color-background);background-color:var(--color-primary);border-radius:var(--radius-sm)}.product-card__badge--new{background-color:var(--color-success)}.product-card__badge--sale{background-color:var(--color-primary)}.product-card__badge--limited{background-color:var(--color-warning)}.product-card__content{padding:var(--spacing-md)}.product-card__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);line-height:1.4;color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card__title:hover{color:var(--color-primary)}.product-card__price{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.product-card__price-current{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.product-card__price-compare{font-size:var(--font-size-sm);color:var(--color-text-light);text-decoration:line-through}.product-card__price--hidden{font-size:var(--font-size-2xl);color:var(--color-text-light)}.product-card__actions{display:flex;gap:var(--spacing-sm)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.form-label--required:after{content:"*";color:var(--color-error);margin-left:var(--spacing-xs)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);line-height:1.5;color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-base);min-height:44px}.form-input:focus-visible,.form-textarea:focus-visible,.form-select:focus-visible{outline:2px solid var(--color-link, #2563eb);outline-offset:0;border-color:var(--color-link, #2563eb);box-shadow:0 0 0 4px #2563eb1a}.form-input:invalid:not(:placeholder-shown),.form-textarea:invalid:not(:placeholder-shown){border-color:var(--color-error, #dc2626)}.form-input[aria-invalid=true],.form-textarea[aria-invalid=true],.form-select[aria-invalid=true]{border-color:var(--color-error, #dc2626)}.form-input::placeholder{color:var(--color-text-light)}.form-textarea{min-height:120px;resize:vertical}.form-error{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-error)}.form-input--error{border-color:var(--color-error)}.form-checkbox,.form-radio{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.form-checkbox input,.form-radio input{width:20px;height:20px;cursor:pointer}.badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1;border-radius:var(--radius-full);background-color:var(--color-background-light);color:var(--color-text)}.badge--primary{background-color:var(--color-primary);color:var(--color-background)}.badge--success{background-color:var(--color-success);color:var(--color-background)}.badge--error{background-color:var(--color-error);color:var(--color-background)}.card{background-color:var(--color-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card__header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.card__body{padding:var(--spacing-lg)}.card__footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border);background-color:var(--color-background-light)}.spinner{display:inline-block;width:40px;height:40px;border:4px solid var(--color-background-light);border-top-color:var(--color-primary);border-radius:50%;animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.spinner--sm{width:20px;height:20px;border-width:2px}.spinner--lg{width:60px;height:60px;border-width:6px}
/*# sourceMappingURL=/cdn/shop/t/12/assets/components.css.map */
