.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-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:1;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;border:2px solid transparent;border-radius:var(--radius-md);transition:all var(--transition-base);-webkit-user-select:none;user-select:none}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-dark);border-color:var(--color-accent-dark);transform:scale(1.02);box-shadow:var(--shadow-lg)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-secondary{background-color:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:scale(1.02);box-shadow:var(--shadow-lg)}.btn-outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white);transform:scale(1.02)}.btn-outline-secondary{background-color:transparent;color:var(--color-secondary);border-color:var(--color-light-gray)}.btn-outline-secondary:hover:not(:disabled){border-color:var(--color-secondary)}.btn-ghost{background-color:transparent;color:var(--color-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-light-gray)}.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-base)}.btn-xl{padding:var(--space-5) var(--space-10);font-size:var(--text-lg)}.btn-full{width:100%}.btn-loading{position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-success{background-color:var(--color-success);border-color:var(--color-success)}.card{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-image{position:relative;overflow:hidden;aspect-ratio:1 / 1;background-color:var(--color-off-white)}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.card:hover .card-image img{transform:scale(1.05)}.product-card{display:flex;flex-direction:column;background-color:var(--color-white);border-radius:var(--radius-lg);overflow:hidden}.product-card-image{position:relative;overflow:hidden;aspect-ratio:4 / 5;background-color:var(--color-off-white)}.product-card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.product-card:hover .product-card-image img{transform:scale(1.05)}.product-card-image .secondary-image{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity var(--transition-base)}.product-card:hover .product-card-image .secondary-image{opacity:1}.product-card-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.product-card-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-secondary-dark);line-height:var(--leading-tight);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-price{font-family:var(--font-secondary);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-secondary-dark)}.product-card-price .compare-price{font-size:var(--text-sm);color:var(--color-medium-gray);text-decoration:line-through;font-weight:var(--font-normal);margin-left:var(--space-2)}.product-card-rating{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-medium-gray)}.product-card-rating .stars{display:flex;gap:2px;color:var(--color-warning)}.product-card-actions{margin-top:auto;padding-top:var(--space-3)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);border-radius:var(--radius-sm);background-color:var(--color-primary);color:var(--color-white)}.badge-sale{background-color:var(--color-accent)}.badge-new{background-color:var(--color-success)}.badge-sold-out{background-color:var(--color-dark-gray)}.badge-low-stock{background-color:var(--color-warning)}.product-card-badges{position:absolute;top:var(--space-3);left:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);z-index:1}.quick-view-btn{position:absolute;bottom:var(--space-3);left:50%;transform:translate(-50%) translateY(20px);opacity:0;transition:all var(--transition-base)}.product-card:hover .quick-view-btn{opacity:1;transform:translate(-50%) translateY(0)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-secondary-dark)}.form-label-required:after{content:" *";color:var(--color-error)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--color-secondary-dark);background-color:var(--color-white);border:1px solid var(--color-light-gray);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1e3a5f1a}.form-input::placeholder{color:var(--color-medium-gray)}.form-input:disabled{background-color:var(--color-off-white);cursor:not-allowed}.form-input.error{border-color:var(--color-error)}.form-input.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-error{font-size:var(--text-sm);color:var(--color-error)}.form-hint{font-size:var(--text-sm);color:var(--color-medium-gray)}.form-checkbox,.form-radio{width:20px;height:20px;accent-color:var(--color-primary);cursor:pointer}.form-checkbox-group,.form-radio-group{display:flex;align-items:center;gap:var(--space-3)}.quantity-selector{display:flex;align-items:center;border:1px solid var(--color-light-gray);border-radius:var(--radius-md);overflow:hidden}.quantity-selector-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-off-white);border:none;cursor:pointer;transition:background-color var(--transition-fast)}.quantity-selector-btn:hover{background-color:var(--color-light-gray)}.quantity-selector-btn:disabled{opacity:.5;cursor:not-allowed}.quantity-selector-input{width:50px;height:40px;border:none;text-align:center;font-size:var(--text-base);font-weight:var(--font-medium);-moz-appearance:textfield}.quantity-selector-input::-webkit-outer-spin-button,.quantity-selector-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.variant-selector{display:flex;flex-direction:column;gap:var(--space-4)}.variant-option{display:flex;flex-direction:column;gap:var(--space-2)}.variant-option-label{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-secondary-dark)}.variant-option-label span{color:var(--color-medium-gray)}.swatch-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.swatch{width:40px;height:40px;border:2px solid var(--color-light-gray);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);overflow:hidden}.swatch:hover{border-color:var(--color-medium-gray)}.swatch.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px #1e3a5f33}.swatch-image{width:100%;height:100%;object-fit:cover}.swatch-label{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:var(--text-xs);font-weight:var(--font-medium)}.swatch-color{width:100%;height:100%}.accordion{display:flex;flex-direction:column;gap:var(--space-2)}.accordion-item{border:1px solid var(--color-light-gray);border-radius:var(--radius-md);overflow:hidden}.accordion-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-4) var(--space-5);font-size:var(--text-base);font-weight:var(--font-semibold);text-align:left;background-color:var(--color-white);border:none;cursor:pointer;transition:background-color var(--transition-fast)}.accordion-header:hover{background-color:var(--color-off-white)}.accordion-icon{width:20px;height:20px;transition:transform var(--transition-base)}.accordion-item.active .accordion-icon{transform:rotate(180deg)}.accordion-content{display:none;padding:0 var(--space-5) var(--space-5)}.accordion-item.active .accordion-content{display:block}.tabs{display:flex;flex-direction:column}.tabs-nav{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-light-gray);overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-btn{padding:var(--space-4) var(--space-6);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-medium-gray);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.tab-btn:hover{color:var(--color-secondary-dark)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-content{display:none;padding:var(--space-6) 0}.tab-content.active{display:block}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.modal-overlay.active{opacity:1;visibility:visible}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);width:90%;max-width:500px;max-height:90vh;background-color:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);z-index:var(--z-modal);opacity:0;visibility:hidden;overflow:hidden;transition:all var(--transition-base)}.modal-overlay.active .modal{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--color-light-gray)}.modal-title{font-size:var(--text-lg);font-weight:var(--font-semibold)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.modal-close:hover{background-color:var(--color-off-white)}.modal-body{padding:var(--space-5);overflow-y:auto;max-height:calc(90vh - 140px)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-5);border-top:1px solid var(--color-light-gray)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.drawer-overlay.active{opacity:1;visibility:visible}.drawer{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:420px;background-color:var(--color-white);box-shadow:var(--shadow-2xl);z-index:var(--z-modal);transform:translate(100%);transition:transform var(--transition-slow)}.drawer-overlay.active .drawer{transform:translate(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--color-light-gray)}.drawer-title{font-size:var(--text-lg);font-weight:var(--font-semibold)}.drawer-body{padding:var(--space-5);overflow-y:auto;height:calc(100% - 140px)}.drawer-footer{position:absolute;bottom:0;left:0;right:0;padding:var(--space-5);border-top:1px solid var(--color-light-gray);background-color:var(--color-white)}.rating{display:flex;align-items:center;gap:var(--space-1)}.rating-stars{display:flex;gap:2px}.rating-star{width:18px;height:18px;color:var(--color-light-gray)}.rating-star.filled{color:var(--color-warning)}.rating-star.half{position:relative;color:var(--color-light-gray)}.rating-star.half:before{content:"";position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden;color:var(--color-warning)}.rating-count{font-size:var(--text-sm);color:var(--color-medium-gray)}.trust-badges{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center}.trust-badge{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background-color:var(--color-off-white);border-radius:var(--radius-md)}.trust-badge-icon{width:24px;height:24px;color:var(--color-primary)}.trust-badge-text{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-secondary-dark)}.price{display:flex;align-items:baseline;gap:var(--space-2);font-family:var(--font-secondary)}.price-current{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-secondary-dark)}.price-compare{font-size:var(--text-base);color:var(--color-medium-gray);text-decoration:line-through}.price-savings{font-size:var(--text-sm);color:var(--color-accent);font-weight:var(--font-semibold)}.price-tiers{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background-color:var(--color-off-white);border-radius:var(--radius-md)}.price-tier{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-light-gray)}.price-tier:last-child{border-bottom:none}.price-tier-label{font-size:var(--text-sm);color:var(--color-secondary-dark)}.price-tier-value{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary)}.progress-bar{width:100%;height:8px;background-color:var(--color-light-gray);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background-color:var(--color-accent);border-radius:var(--radius-full);transition:width var(--transition-slow)}.progress-label{display:flex;justify-content:space-between;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-secondary-dark)}.toast{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background-color:var(--color-secondary-dark);color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-tooltip);transform:translateY(100px);opacity:0;transition:all var(--transition-base)}.toast.visible{transform:translateY(0);opacity:1}.toast-success{background-color:var(--color-success)}.toast-error{background-color:var(--color-error)}.toast-icon{width:20px;height:20px;flex-shrink:0}.skeleton{background:linear-gradient(90deg,var(--color-light-gray) 0%,var(--color-off-white) 50%,var(--color-light-gray) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin-bottom:var(--space-2)}.skeleton-title{height:24px;width:60%;margin-bottom:var(--space-3)}.skeleton-image{aspect-ratio:4 / 5}.skeleton-price{height:28px;width:40%}.back-to-top{position:fixed;bottom:var(--space-6);right:var(--space-6);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);cursor:pointer;z-index:var(--z-sticky);opacity:0;visibility:hidden;transform:translateY(20px);transition:all var(--transition-base)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}
/*# sourceMappingURL=/cdn/shop/t/33/assets/component.css.map */
