*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f8f9fa;color:#333;overflow:hidden}.product-selection-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#2c3e50,#34495e);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:24px;padding:50px;max-width:1400px;width:95%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 70px #00000040,0 10px 30px #00000026;position:relative}.modal-header{text-align:center;margin-bottom:40px;padding-bottom:25px;border-bottom:1px solid #e0e0e0}.modal-content h2{font-size:32px;margin-bottom:12px;color:#2c3e50;font-weight:800;letter-spacing:-.8px;background:linear-gradient(135deg,#2c3e50,#34495e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-subtitle{font-size:15px;color:#7f8c8d;margin:0;font-weight:400}.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:20px}.product-card{background:#fff;border-radius:18px;padding:20px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);border:2px solid #e8ecef;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 4px 12px #0000000d;position:relative;overflow:hidden}.product-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#5d6d7e08,#5d6d7e00);opacity:0;transition:opacity .4s ease}.product-card:hover{transform:translateY(-10px) scale(1.02);border-color:#5d6d7e;box-shadow:0 16px 32px #5d6d7e33,0 8px 16px #5d6d7e1a}.product-card:hover:before{opacity:1}.product-image{width:100%;height:180px;background:#fff;border-radius:12px;margin-bottom:15px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid #e0e0e0;padding:10px}.product-image svg{width:160px;height:160px;opacity:.8}.product-name{font-size:20px;font-weight:600;color:#333;margin-bottom:8px}.product-description{font-size:14px;color:#666;margin-bottom:12px}.product-price{font-size:16px;font-weight:600;color:#5d6d7e}.product-badge{display:inline-block;padding:4px 12px;background:#5d6d7e;color:#fff;font-size:11px;font-weight:600;border-radius:20px;margin-top:10px;text-transform:uppercase}.customizer-container{display:flex;height:100vh;width:100vw}.sidebar{width:420px;background:linear-gradient(180deg,#f8f9fa,#f3f5f7);border-right:1px solid #e0e4e8;display:flex;flex-direction:column;overflow:hidden;box-shadow:2px 0 10px #00000008}.tabs{display:flex;border-bottom:1px solid #e0e4e8;background:linear-gradient(180deg,#ecf0f1,#e8ecef);padding:15px 15px 0;gap:8px}.tab-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 16px;background:transparent;border:none;cursor:pointer;color:#7f8c8d;font-size:11px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);border-bottom:3px solid transparent;border-radius:10px 10px 0 0;flex:1;position:relative}.tab-btn:before{content:"";position:absolute;inset:0;background:#fff;opacity:0;border-radius:10px 10px 0 0;transition:opacity .3s ease;z-index:0}.tab-btn:hover{color:#2c3e50}.tab-btn:hover:before{opacity:.5}.tab-btn.active{color:#5d6d7e!important;border-bottom-color:#5d6d7e}.tab-btn.active:before{opacity:1}.tab-btn.active .tab-icon path{fill:#5d6d7e!important}.tab-btn.active span{color:#1a252f!important}.tab-icon{width:24px;height:24px;transition:color .3s ease;position:relative;z-index:1}.tab-icon path{transition:fill .3s ease}.tab-btn span{position:relative;z-index:1}.tab-content{flex:1;overflow-y:auto;padding:20px}.tab-panel{display:none}.tab-panel.active{display:block}.tab-panel h3{font-size:20px;margin-bottom:25px;color:#2c3e50;font-weight:700;letter-spacing:-.3px;position:relative;padding-bottom:12px}.tab-panel h3:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:3px;background:linear-gradient(90deg,#5d6d7e 0%,transparent 100%);border-radius:2px}.choose-background-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px 20px;background:#5d6d7e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:20px}.choose-background-btn:hover{background:#4a5766;transform:translateY(-2px);box-shadow:0 4px 12px #5d6d7e4d}.choose-background-btn .icon{width:20px;height:20px}.background-options{display:flex;gap:15px;margin-bottom:30px}.bg-option-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px 14px;background:linear-gradient(145deg,#fff,#f8f9fa);border:2px solid #e0e4e8;border-radius:14px;font-size:12px;font-weight:700;color:#7f8c8d;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000000f,0 2px 6px #0000000a,inset 0 1px #fffc;position:relative;overflow:hidden;letter-spacing:.2px}.bg-option-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#5d6d7e14,#5d6d7e00);opacity:0;transition:opacity .4s ease}.bg-option-btn:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.bg-option-btn svg{width:26px;height:26px;transition:all .4s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.08))}.bg-option-btn:hover{border-color:#5d6d7e;background:linear-gradient(145deg,#f8f9fa,#ecf0f1);transform:translateY(-4px) scale(1.02);box-shadow:0 12px 24px #5d6d7e2e,0 6px 12px #5d6d7e1f,inset 0 1px #ffffffe6;color:#5d6d7e}.bg-option-btn:hover:before{opacity:1}.bg-option-btn:hover:after{opacity:1}.bg-option-btn:hover svg{transform:scale(1.15) translateY(-2px);filter:drop-shadow(0 4px 8px rgba(93,109,126,.2))}.bg-option-btn:active{transform:translateY(-2px) scale(1);transition:all .15s cubic-bezier(.4,0,.2,1)}.bg-option-btn.active{background:linear-gradient(145deg,#5d6d7e,#4a5766);border-color:#4a5766;color:#fff;box-shadow:0 8px 20px #5d6d7e59,0 4px 10px #5d6d7e40,inset 0 1px #ffffff26,inset 0 -1px #0000001a;transform:translateY(-2px) scale(1.02)}.bg-option-btn.active:before{opacity:0}.bg-option-btn.active:after{opacity:.3}.bg-option-btn.active svg{transform:scale(1.1);filter:drop-shadow(0 3px 6px rgba(0,0,0,.3))}.bg-content{display:none}.bg-content.active{display:block}.color-picker-simple{padding:10px 0}.color-back-btn{display:flex;align-items:center;gap:10px;padding:12px 18px;background:linear-gradient(145deg,#fff,#f8f9fa);border:2px solid #e0e4e8;border-radius:12px;font-size:13px;font-weight:600;color:#5d6d7e;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-bottom:20px;box-shadow:0 2px 8px #0000000a}.color-back-btn:hover{background:linear-gradient(145deg,#f8f9fa,#ecf0f1);border-color:#5d6d7e;transform:translate(-3px);box-shadow:0 4px 12px #5d6d7e1f}.color-back-btn svg{width:20px;height:20px}.color-categories-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.color-category-card{position:relative;padding:14px 10px;border:2px solid #e0e4e8;border-radius:12px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:8px;background:linear-gradient(145deg,#fff,#f8f9fa);box-shadow:0 4px 12px #0000000f,0 2px 6px #0000000a,inset 0 1px #fffc;overflow:hidden}.color-category-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#5d6d7e14,#5d6d7e00);opacity:0;transition:opacity .4s ease}.color-category-card:hover{border-color:#5d6d7e;background:linear-gradient(145deg,#f8f9fa,#ecf0f1);transform:translateY(-4px) scale(1.02);box-shadow:0 12px 24px #5d6d7e26,0 6px 12px #5d6d7e1a,inset 0 1px #ffffffe6}.color-category-card:hover:before{opacity:1}.color-category-card:active{transform:translateY(-2px) scale(1);transition:all .15s cubic-bezier(.4,0,.2,1)}.category-color-preview{width:50px;height:50px;border-radius:10px;box-shadow:0 4px 12px #0000001f,inset 0 1px #fff3,inset 0 -1px #0000001a;position:relative;z-index:1;transition:all .4s cubic-bezier(.4,0,.2,1)}.color-category-card:hover .category-color-preview{transform:scale(1.08);box-shadow:0 6px 16px #00000026,inset 0 1px #ffffff4d,inset 0 -1px #00000026}.category-name{font-size:12px;font-weight:700;color:#2c3e50;letter-spacing:.1px;position:relative;z-index:1;text-align:center}.category-count{font-size:10px;font-weight:600;color:#7f8c8d;position:relative;z-index:1}.preset-colors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.preset-color{position:relative;padding:22px;border:3px solid transparent;border-radius:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;min-height:75px;box-shadow:0 3px 10px #00000014,0 1px 3px #0000000d;overflow:hidden}.preset-color:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#fff3,#0000000d);opacity:0;transition:opacity .3s ease}.preset-color .color-name{font-size:13px;font-weight:600;color:#000000bf;text-shadow:0 1px 3px rgba(255,255,255,.9);text-align:center;pointer-events:none;position:relative;z-index:1;letter-spacing:-.1px;transition:all .3s ease}.preset-color:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 8px 20px #00000026,0 3px 8px #0000001a;border-color:#5d6d7e}.preset-color:hover:before{opacity:1}.preset-color.active{border-color:#5d6d7e;box-shadow:0 8px 24px #5d6d7e59,0 3px 10px #5d6d7e33;transform:translateY(-3px) scale(1.03)}.preset-color.active:after{content:"✓";position:absolute;top:10px;right:10px;width:28px;height:28px;background:linear-gradient(135deg,#5d6d7e,#4a5766);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;box-shadow:0 3px 8px #0003;z-index:2;animation:checkmarkPop .3s cubic-bezier(.4,0,.2,1)}@keyframes checkmarkPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.image-categories-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.image-category-card{background:linear-gradient(145deg,#fff,#f8f9fa);border:2px solid #e0e4e8;border-radius:14px;padding:20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 2px 8px #0000000a}.image-category-card:hover{transform:translateY(-4px);border-color:#5d6d7e;box-shadow:0 8px 20px #5d6d7e26;background:linear-gradient(145deg,#f8f9fa,#ecf0f1)}.category-icon{font-size:48px;line-height:1}.category-name{font-size:15px;font-weight:600;color:#2c3e50;text-align:center}.library-images-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.library-image-item{aspect-ratio:4/3;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:3px solid #e0e4e8;overflow:hidden;position:relative;background:#f8f9fa;box-shadow:0 4px 12px #0000000f}.library-image-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.library-image-item:hover{border-color:#5d6d7e;transform:translateY(-4px);box-shadow:0 8px 20px #5d6d7e33}.library-image-item:hover img{transform:scale(1.05)}.library-image-name{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#000c,#0000);color:#fff;padding:20px 12px 12px;font-size:13px;font-weight:500;text-align:center;opacity:0;transition:opacity .3s ease}.library-image-item:hover .library-image-name{opacity:1}.library-image-item.loading:after{content:"";position:absolute;top:50%;left:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border:3px solid #e0e4e8;border-top-color:#5d6d7e;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.library-search-container{position:relative;margin-bottom:20px}.library-search-input{width:100%;padding:14px 45px;border:2px solid #e0e4e8;border-radius:12px;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(145deg,#fff,#f8f9fa);color:#2c3e50;font-family:inherit}.library-search-input::placeholder{color:#95a5a6}.library-search-input:focus{outline:none;border-color:#5d6d7e;background:#fff;box-shadow:0 4px 12px #5d6d7e26}.library-search-container .search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#95a5a6;pointer-events:none;transition:color .3s ease}.library-search-input:focus~.search-icon{color:#5d6d7e}.search-clear-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#95a5a6;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.search-clear-btn:hover{background:#f0f3f5;color:#5d6d7e}.library-search-results{margin-top:20px}.search-results-header{margin-bottom:15px;padding-bottom:12px;border-bottom:2px solid #e0e4e8}.search-results-count{font-size:14px;color:#7f8c8d;font-weight:500}.search-results-query{font-weight:700;color:#5d6d7e}.search-results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.search-no-results{text-align:center;padding:60px 20px}.no-results-icon{font-size:64px;margin-bottom:20px;opacity:.3}.no-results-title{font-size:18px;font-weight:600;color:#2c3e50;margin-bottom:8px}.no-results-subtitle{font-size:14px;color:#7f8c8d}.medallion-description{font-size:13px;color:#7f8c8d;line-height:1.6;margin-bottom:20px;padding:12px 16px;background:linear-gradient(145deg,#f8f9fa,#ecf0f1);border-radius:10px;border-left:3px solid #5d6d7e}.add-medallion-btn{width:100%;padding:16px 20px;background:linear-gradient(135deg,#5d6d7e,#4a5766);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #5d6d7e33;margin-bottom:20px}.add-medallion-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #5d6d7e4d;background:linear-gradient(135deg,#6a7a8e,#5d6d7e)}.add-medallion-btn:disabled{background:linear-gradient(135deg,#95a5a6,#7f8c8d);cursor:not-allowed;opacity:.6}.add-medallion-btn svg{width:24px;height:24px}.medallions-list{display:flex;flex-direction:column;gap:15px}.medallion-item{background:linear-gradient(145deg,#fff,#f8f9fa);border:2px solid #e0e4e8;border-radius:14px;padding:16px;display:flex;gap:15px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a}.medallion-item:hover{border-color:#5d6d7e;box-shadow:0 4px 12px #5d6d7e1f}.medallion-preview{width:80px;height:80px;border-radius:50%;overflow:hidden;flex-shrink:0;border:3px solid #e0e4e8;background:#f8f9fa;position:relative}.medallion-preview img{width:100%;height:100%;object-fit:cover}.medallion-info{flex:1;display:flex;flex-direction:column;justify-content:center;gap:8px}.medallion-name{font-size:14px;font-weight:600;color:#2c3e50}.medallion-status{font-size:12px;color:#7f8c8d;display:flex;align-items:center;gap:6px}.medallion-status-icon{width:16px;height:16px;color:#10b981}.medallion-actions{display:flex;flex-direction:column;gap:8px}.medallion-action-btn{background:transparent;border:2px solid #e0e4e8;border-radius:8px;padding:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;color:#7f8c8d}.medallion-action-btn:hover{border-color:#5d6d7e;background:#f8f9fa;color:#5d6d7e}.medallion-action-btn.delete:hover{border-color:#e74c3c;background:#fef5f5;color:#e74c3c}.medallion-action-btn svg{width:20px;height:20px}.medallions-empty{text-align:center;padding:40px 20px;color:#95a5a6}.medallions-empty-icon{font-size:48px;margin-bottom:12px;opacity:.4}.medallions-empty-text{font-size:14px;color:#7f8c8d}.upload-zone{border:2px dashed #d5d8dc;border-radius:16px;padding:40px 20px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;background:linear-gradient(145deg,#fff,#f8f9fa);position:relative;overflow:hidden}.upload-zone:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#5d6d7e0d,#5d6d7e00);opacity:0;transition:opacity .3s ease}.upload-zone:hover,.upload-zone.dragover{border-color:#5d6d7e;background:linear-gradient(145deg,#f8f9fa,#ecf0f1);transform:scale(1.01);box-shadow:0 8px 20px #5d6d7e1f}.upload-zone:hover:before,.upload-zone.dragover:before{opacity:1}.upload-zone-label{display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;color:#7f8c8d;position:relative;z-index:1}.upload-zone-label svg{color:#5d6d7e;transition:transform .3s cubic-bezier(.4,0,.2,1)}.upload-zone:hover svg{transform:translateY(-4px)}.upload-main-text{margin:0;font-size:15px;font-weight:600;color:#2c3e50}.upload-sub-text{margin:0;font-size:13px;color:#7f8c8d}.upload-formats{margin:8px 0 0;font-size:11px;color:#95a5a6;font-weight:500}.uploaded-image-preview{margin-top:20px;border-radius:16px;overflow:hidden;background:#fff;border:2px solid #e0e4e8;box-shadow:0 4px 12px #0000000f}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(145deg,#f8f9fa,#ecf0f1);border-bottom:1px solid #e0e4e8}.preview-title{font-size:13px;font-weight:700;color:#2c3e50}.preview-remove-btn{background:transparent;border:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .3s ease;color:#7f8c8d}.preview-remove-btn:hover{background:#dc35451a;color:#dc3545;transform:scale(1.1)}.preview-image-container{padding:16px;display:flex;align-items:center;justify-content:center;background:#fafafa;min-height:200px}.preview-image-container img{max-width:100%;max-height:250px;border-radius:12px;box-shadow:0 4px 12px #00000026}.preview-info{padding:12px 16px;display:flex;flex-direction:column;gap:4px;background:#fff;border-top:1px solid #e0e4e8}.preview-info span{font-size:12px;color:#7f8c8d}#preview-filename{font-weight:600;color:#2c3e50}.preview-area{flex:1;display:flex;flex-direction:column;background:linear-gradient(135deg,#ecf0f1,#e0e4e8);position:relative}.canvas-container{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;overflow:hidden}#canvas-wrapper{width:100%;height:100%;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001f,0 4px 16px #00000014;border:1px solid rgba(255,255,255,.8)}.zoom-controls{position:absolute;bottom:90px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:18px;background:#fff;padding:14px 26px;border-radius:50px;box-shadow:0 8px 20px #0000001f,0 3px 8px #00000014;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5)}.zoom-value{font-size:15px;font-weight:700;color:#2c3e50;min-width:55px;text-align:center;letter-spacing:-.2px}.zoom-fit-btn{background:linear-gradient(135deg,#f8f9fa,#ecf0f1);border:1px solid #e0e4e8;border-radius:10px;padding:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #0000000f}.zoom-fit-btn:hover{background:linear-gradient(135deg,#ecf0f1,#e0e4e8);transform:scale(1.05);box-shadow:0 3px 10px #0000001a}.zoom-fit-btn:active{transform:scale(.95)}.zoom-fit-btn svg{width:20px;height:20px;color:#5d6d7e}.zoom-slider{width:220px;height:7px;border-radius:4px;background:linear-gradient(90deg,#e8ecef,#d5d8dc);outline:none;-webkit-appearance:none;box-shadow:inset 0 1px 3px #0000001a}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#5d6d7e,#4a5766);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 8px #5d6d7e4d,0 1px 3px #5d6d7e33;border:2px solid white}.zoom-slider::-webkit-slider-thumb:hover{transform:scale(1.25);box-shadow:0 4px 12px #5d6d7e66,0 2px 6px #5d6d7e4d}.zoom-slider::-webkit-slider-thumb:active{transform:scale(1.15)}.zoom-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#5d6d7e,#4a5766);cursor:pointer;border:2px solid white;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 8px #5d6d7e4d,0 1px 3px #5d6d7e33}.zoom-slider::-moz-range-thumb:hover{transform:scale(1.25);box-shadow:0 4px 12px #5d6d7e66,0 2px 6px #5d6d7e4d}.zoom-slider::-moz-range-thumb:active{transform:scale(1.15)}.add-to-cart-btn{position:absolute;bottom:25px;right:25px;padding:16px 42px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 6px 16px #10b9814d,0 2px 6px #10b98133;letter-spacing:.3px;position:relative;overflow:hidden}.add-to-cart-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.add-to-cart-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 10px 24px #10b98166,0 4px 10px #10b98140}.add-to-cart-btn:hover:before{left:100%}.add-to-cart-btn:active{transform:translateY(-1px) scale(.98)}.top-right-controls{position:absolute;top:20px;right:20px;display:flex;gap:10px}.icon-btn{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #e8ecef;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;transition:all .3s cubic-bezier(.4,0,.2,1)}.icon-btn:hover{background:#f8f9fa;transform:scale(1.1);box-shadow:0 6px 16px #0000001f,0 3px 6px #0000000f;border-color:#d5d8dc}.icon-btn:active{transform:scale(1.05)}.tab-content::-webkit-scrollbar{width:10px}.tab-content::-webkit-scrollbar-track{background:transparent;margin:10px 0}.tab-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#d5d8dc,#bdc3c7);border-radius:10px;border:2px solid transparent;background-clip:padding-box;transition:all .3s ease}.tab-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#bdc3c7,#95a5a6);background-clip:padding-box}.modal-content::-webkit-scrollbar{width:10px}.modal-content::-webkit-scrollbar-track{background:transparent;margin:10px 0}.modal-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#d5d8dc,#bdc3c7);border-radius:10px;border:2px solid transparent;background-clip:padding-box;transition:all .3s ease}.modal-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#bdc3c7,#95a5a6);background-clip:padding-box}.image-editor-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.editor-modal-content{background:#fff;border-radius:20px;width:95%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 70px #0000004d;overflow:hidden}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e4e8;background:linear-gradient(145deg,#f8f9fa,#ecf0f1)}.editor-header h3{margin:0;font-size:20px;font-weight:700;color:#2c3e50}.editor-close-btn{background:transparent;border:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .3s ease;color:#7f8c8d}.editor-close-btn:hover{background:#dc35451a;color:#dc3545;transform:rotate(90deg)}.editor-body{flex:1;padding:30px;background:#fafafa;overflow:auto}.editor-image-container{width:100%;max-width:900px;margin:0 auto}#editor-image{display:block;max-width:100%}.editor-image-container .cropper-container{min-width:700px!important;min-height:500px!important}.editor-image-container .cropper-canvas>img{min-width:700px!important}.editor-toolbar{display:flex;justify-content:center;gap:16px;padding:16px 20px;background:#fff;border-top:1px solid #e0e4e8;border-bottom:1px solid #e0e4e8}.toolbar-group{display:flex;gap:8px;padding:0 12px;border-right:1px solid #e0e4e8}.toolbar-group:last-child{border-right:none}.toolbar-btn{background:linear-gradient(145deg,#fff,#f8f9fa);border:2px solid #e0e4e8;border-radius:10px;padding:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);color:#5d6d7e;box-shadow:0 2px 6px #0000000a}.toolbar-btn:hover{background:linear-gradient(145deg,#f8f9fa,#ecf0f1);border-color:#5d6d7e;transform:translateY(-2px);box-shadow:0 4px 12px #5d6d7e26}.toolbar-btn:active{transform:translateY(0)}.editor-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;background:linear-gradient(145deg,#f8f9fa,#ecf0f1)}.editor-cancel-btn,.editor-apply-btn{padding:12px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none}.editor-cancel-btn{background:#fff;color:#7f8c8d;border:2px solid #e0e4e8}.editor-cancel-btn:hover{background:#f8f9fa;border-color:#7f8c8d;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.editor-apply-btn{background:linear-gradient(135deg,#5d6d7e,#4a5766);color:#fff;box-shadow:0 4px 12px #5d6d7e4d}.editor-apply-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #5d6d7e66}.editor-apply-btn:active,.editor-cancel-btn:active{transform:translateY(0)}@media(max-width:768px){.customizer-container{flex-direction:column}.sidebar{width:100%;height:50%}.preview-area{height:50%}.zoom-controls{bottom:100px}}/*!
 * Cropper.js v1.6.2
 * https://fengyuanchen.github.io/cropperjs
 *
 * Copyright 2015-present Chen Fengyuan
 * Released under the MIT license
 *
 * Date: 2024-04-21T07:43:02.731Z
 */.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-wrap-box,.cropper-canvas,.cropper-drag-box,.cropper-crop-box,.cropper-modal{inset:0;position:absolute}.cropper-wrap-box,.cropper-canvas{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:calc(100% / 3);left:0;top:calc(100% / 3);width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:calc(100% / 3);top:0;width:calc(100% / 3)}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:before,.cropper-center:after{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media(min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media(min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media(min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}
