.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;line-height:1;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);white-space:nowrap;text-decoration:none;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-accent);color:var(--color-accent-text);border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:var(--shadow-accent)}.btn-secondary{background:transparent;color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){border-color:var(--color-text-secondary);background:var(--color-bg-overlay)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-bg-overlay)}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-md)}.btn-xl{padding:var(--space-5) var(--space-10);font-size:var(--text-md);height:56px}.btn-full{width:100%}.btn.is-loading{pointer-events:none;opacity:.7}.btn.is-loading .btn-text{visibility:hidden}.btn.is-loading .spinner{display:inline-block}.badge{display:inline-flex;align-items:center;padding:3px var(--space-2);font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-sm);line-height:1.4;border:1px solid transparent}.badge-new{background:#3b82f626;color:var(--color-info);border-color:#3b82f64d}.badge-sale{background:#ef444426;color:var(--color-danger);border-color:#ef44444d}.badge-hot{background:#f59e0b26;color:var(--color-warning);border-color:#f59e0b4d}.badge-featured{background:#e8ff001a;color:var(--color-accent);border-color:#e8ff004d}.badge-free{background:#22c55e26;color:var(--color-success);border-color:#22c55e4d}.tag{display:inline-flex;align-items:center;padding:3px var(--space-2);font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--color-text-secondary);background:var(--color-bg-overlay);border:1px solid var(--color-border);border-radius:var(--radius-sm);line-height:1.4;transition:color var(--transition-fast),border-color var(--transition-fast)}.tag:hover{color:var(--color-text-primary);border-color:var(--color-border-strong)}.tag-active{color:var(--color-accent);border-color:var(--color-accent);background:#e8ff000d}.tag-removable{cursor:pointer;gap:var(--space-1)}.tag-remove{display:inline-flex;width:12px;height:12px;align-items:center;justify-content:center;border-radius:50%;transition:background var(--transition-fast)}.tag-remove:hover{background:#ef44444d}.card{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-body{padding:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary)}.form-label-required:after{content:"*";color:var(--color-danger);margin-left:4px}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg-overlay);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #e8ff001a;outline:none}.form-input.has-error,.form-select.has-error,.form-textarea.has-error{border-color:var(--color-danger)}.form-error{font-size:var(--text-xs);color:var(--color-danger);display:flex;align-items:center;gap:var(--space-1)}.form-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.form-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.form-textarea{min-height:120px;resize:vertical;line-height:1.6}.form-check{display:flex;align-items:center;gap:var(--space-3);cursor:pointer}.form-check input[type=checkbox],.form-check input[type=radio]{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:var(--color-bg-overlay);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);flex-shrink:0}.form-check input[type=radio]{border-radius:50%}.form-check input[type=checkbox]:checked,.form-check input[type=radio]:checked{background:var(--color-accent);border-color:var(--color-accent)}.form-check input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230a0a0a' d='M10 3L4.5 8.5 2 6' stroke='%230a0a0a' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}.form-check input[type=radio]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='4' fill='%230a0a0a'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}.form-check-label{font-size:var(--text-sm);color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.input-group{display:flex}.input-group .form-input{border-radius:var(--radius-md) 0 0 var(--radius-md)}.input-group .btn{border-radius:0 var(--radius-md) var(--radius-md) 0}.quantity-selector{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.quantity-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-bg-overlay);color:var(--color-text-secondary);border:none;cursor:pointer;font-size:var(--text-lg);transition:color var(--transition-fast),background var(--transition-fast)}.quantity-btn:hover{color:var(--color-text-primary);background:var(--color-bg-subtle)}.quantity-input{width:48px;height:40px;background:var(--color-bg-raised);border:none;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);text-align:center;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary);-moz-appearance:textfield}.quantity-input::-webkit-inner-spin-button,.quantity-input::-webkit-outer-spin-button{-webkit-appearance:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:var(--z-modal);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal-overlay.is-active{opacity:1;visibility:visible}.modal{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;position:relative;transform:scale(.95) translateY(8px);transition:transform var(--transition-base)}.modal-overlay.is-active .modal{transform:scale(1) translateY(0)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-bg-raised);z-index:1}.modal-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);background:none;border:none;cursor:pointer;border-radius:var(--radius-md);transition:color var(--transition-fast),background var(--transition-fast)}.modal-close:hover{color:var(--color-text-primary);background:var(--color-bg-overlay)}.modal-body{padding:var(--space-6)}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-3)}.accordion{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.accordion-item{border-bottom:1px solid var(--color-border)}.accordion-item:last-child{border-bottom:none}.accordion-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-5) var(--space-6);background:none;border:none;text-align:left;font-family:var(--font-body);font-size:var(--text-md);font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast)}.accordion-trigger:hover{background:var(--color-bg-overlay)}.accordion-icon{flex-shrink:0;width:20px;height:20px;color:var(--color-text-muted);transition:transform var(--transition-base)}.accordion-item.is-open .accordion-icon{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;transition:max-height var(--transition-base)}.accordion-item.is-open .accordion-content{max-height:1000px}.accordion-body{padding:0 var(--space-6) var(--space-5)}.accordion-body p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:all;animation:slideInRight .3s ease both;min-width:280px;max-width:400px}.toast-success{border-color:var(--color-success)}.toast-error{border-color:var(--color-danger)}.toast-warning{border-color:var(--color-warning)}.toast-icon{flex-shrink:0;width:20px;height:20px}.toast-success .toast-icon{color:var(--color-success)}.toast-error .toast-icon{color:var(--color-danger)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-message{flex:1;font-size:var(--text-sm);color:var(--color-text-primary)}.toast-close{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);background:none;border:none;cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast)}.toast-close:hover{color:var(--color-text-primary)}@media(max-width:480px){.toast-container{bottom:var(--space-4);right:var(--space-4);left:var(--space-4)}.toast{min-width:0;max-width:100%}}.star-rating{display:flex;align-items:center;gap:2px;color:var(--color-accent)}.star-rating svg{width:14px;height:14px;fill:currentColor}.star-rating .star-empty{color:var(--color-border-strong);fill:none}.star-rating .star-half{color:var(--color-accent)}.star-rating-lg svg{width:18px;height:18px}.progress-bar{width:100%;height:6px;background:var(--color-bg-overlay);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-accent);border-radius:3px;transition:width var(--transition-slow)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-3);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:11px;color:var(--color-text-primary);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast);pointer-events:none;z-index:var(--z-overlay)}[data-tooltip]:hover:after{opacity:1;visibility:visible}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;background:var(--color-bg-overlay)}.data-table td{font-size:var(--text-sm);color:var(--color-text-secondary)}.data-table tbody tr:hover td{background:var(--color-bg-overlay)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border:1px solid}.alert-info{background:#3b82f61a;border-color:#3b82f64d;color:var(--color-info)}.alert-success{background:#22c55e1a;border-color:#22c55e4d;color:var(--color-success)}.alert-warning{background:#f59e0b1a;border-color:#f59e0b4d;color:var(--color-warning)}.alert-error{background:#ef44441a;border-color:#ef44444d;color:var(--color-danger)}
/*# sourceMappingURL=/cdn/shop/t/5/assets/components.css.map */
