.name-input,.tab-btn{text-align:center;transition:.3s}.font-color-label,.name-input,.package-info h3{font-family:'Comic Relief',Nunito,'Trebuchet MS',sans-serif}.canvas-wrapper,.tab-btn.completed{position:relative}.product-personalization-simple,.product-personalization-v2{background:linear-gradient(135deg,#fff0f5 0,#fff5fa 50%,#fff0f5 100%);border-radius:16px;padding:24px;margin-bottom:20px;border:1px solid rgba(255,107,157,.15);box-shadow:0 4px 20px rgba(255,107,157,.08),0 1px 4px rgba(0,0,0,.04)}.package-info{text-align:center;margin-bottom:20px}.package-info h3{font-size:16px;color:#333;margin:0;font-weight:600}.personalization-tabs{display:flex;gap:6px;margin-bottom:0;background:#fff;padding:6px;border-radius:50px;border:1px solid #e8e8e8;box-shadow:0 1px 4px rgba(0,0,0,.04)}.tab-btn{flex:1;min-width:0;padding:9px 10px;background:0 0;border:none;border-radius:50px;font-size:12px;font-weight:600;color:#888;cursor:pointer;white-space:nowrap}.tab-btn:hover{background:rgba(255,107,157,.08);color:#ff6b9d}.tab-btn.active{background:linear-gradient(135deg,#ff6b9d,#ff8fb4);color:#fff;box-shadow:0 2px 10px rgba(255,107,157,.35)}.tab-check{display:none;margin-left:3px}.tab-btn.completed .tab-check{display:inline-block;color:#4caf50}.tab-btn.completed.active .tab-check{color:#fff}.tabs-content,.tabs-content-wrapper{min-height:120px;background:#fff;border-radius:14px;padding:18px;margin-top:14px;border:1px solid #eee;box-shadow:0 2px 8px rgba(0,0,0,.03)}.font-sample,.name-input{background:#fafafa;border:1px solid #e0e0e0}.tab-content,.tab-panel{display:none;animation:.3s fadeIn}.tab-content.active,.tab-panel.active{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.icon-search-wrapper,.name-input-wrapper{margin-bottom:10px}.name-input{width:100%;padding:12px 16px;font-size:18px;border-radius:10px;box-sizing:border-box}.icon-search-input:focus,.name-input:focus{outline:0;border-color:#ff6b9d;background:#fff;box-shadow:0 0 0 3px rgba(255,107,157,.1)}.char-counter{text-align:right;margin-top:4px;font-size:11px;color:#bbb}.font-color-picker{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;background:#fafafa;border:1px solid #f0e0e8;border-radius:10px}.font-color-label{font-size:.82rem;font-weight:700;color:#3f124f;white-space:nowrap}.font-color-options{display:flex;gap:8px}.font-choice,.font-color-choice,.icon-choice{cursor:pointer;display:block}.canvas-label,.color-choice input[type=radio],.font-choice input[type=radio],.font-color-choice input[type=radio],.icon-choice input[type=radio]{display:none}.font-color-swatch{display:flex;align-items:center;gap:6px;padding:6px 14px 6px 8px;border:2px solid #e0e0e0;border-radius:50px;transition:border-color .2s,box-shadow .2s;background:#fff}.font-color-swatch-dot{width:20px;height:20px;border-radius:50%;flex-shrink:0}.font-color-swatch--white .font-color-swatch-dot{background:#fff;border:1.5px solid #d0d0d0}.font-color-swatch--black .font-color-swatch-dot{background:#000}.font-color-swatch-name{font-size:.8rem;font-weight:600;color:#444}.font-color-choice input[type=radio]:checked+.font-color-swatch{border-color:#ff6b9d;box-shadow:0 0 0 3px rgba(255,107,157,.18)}.font-color-choice:hover .font-color-swatch{border-color:#ff6b9d}.font-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;max-height:155px;overflow-y:auto;padding-right:4px}.font-sample{display:block;padding:12px 10px;border-radius:8px;text-align:center;font-size:15px;transition:.3s;color:#333}.icon-filter-btn,.icon-search-input{border:1px solid #e0e0e0;background:#fafafa;transition:.3s}.font-choice:hover .font-sample{border-color:#ff6b9d;background:#fff;box-shadow:0 2px 8px rgba(255,107,157,.15)}.color-choice:hover .color-circle,.icon-choice:hover .icon-box{border-color:#ff6b9d;box-shadow:0 2px 8px rgba(255,107,157,.2)}.font-choice input[type=radio]:checked+.font-sample{background:linear-gradient(135deg,#ff6b9d,#ff8fb4);border-color:#ff6b9d;color:#fff;box-shadow:0 2px 8px rgba(255,107,157,.3)}.icon-search-input{width:100%;padding:8px 14px;font-size:13px;border-radius:50px;color:#333;box-sizing:border-box}.icon-search-input::placeholder{color:#aaa}.icon-category-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.icon-filter-btn{padding:5px 14px;border-radius:50px;font-size:12px;font-weight:600;color:#888;cursor:pointer}.icon-filter-btn:hover{border-color:#ff6b9d;color:#ff6b9d;background:#fff}.icon-filter-btn.active{background:linear-gradient(135deg,#ff6b9d,#ff8fb4);border-color:#ff6b9d;color:#fff}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:8px;max-height:265px;overflow-y:auto;padding-right:4px}.icon-box{background:#fafafa;border:1px solid #e0e0e0;border-radius:10px;padding:8px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;transition:.3s;overflow:hidden}.icon-box img{max-width:85%;max-height:85%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}.icon-box img.bt-lazy{opacity:0;transition:opacity .25s}.icon-box img.bt-loaded{opacity:1}.icon-emoji{font-size:32px;line-height:1;display:block}.canvas-preview-disclaimer,.color-name,.no-icon-text{text-align:center;font-size:11px}.no-icon-text{font-weight:600;color:#999}.icon-choice:hover .icon-box{background:#fff}.color-choice input[type=radio]:checked+.color-circle,.icon-choice input[type=radio]:checked+.icon-box{border-color:#ff6b9d;background:#fff0f5;box-shadow:0 2px 8px rgba(255,107,157,.25)}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:12px;max-height:225px;overflow-y:auto;padding-right:4px}.color-choice{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px}.color-circle{width:100%;aspect-ratio:1;border-radius:10px;border:1px solid #e0e0e0;transition:.3s;background:#fafafa}.color-name{font-weight:500;color:#888;transition:.3s}.color-choice:hover .color-name{color:#ff6b9d}.color-choice input[type=radio]:checked~.color-name{color:#ff6b9d;font-weight:700}.canvas-preview-section{margin-bottom:16px;background:#fff;border-radius:14px;padding:10%;border:1px solid #eee;box-shadow:0 2px 8px rgba(0,0,0,.03);display:grid;grid-template-columns:repeat(2,1fr);gap:16px;min-height:200px}.canvas-wrapper{width:100%;max-width:100%;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;justify-content:center}.canvas-wrapper canvas{display:block;width:100%;height:auto;border:none}.canvas-preview-section:has(.canvas-wrapper:only-child){grid-template-columns:1fr;justify-items:center}.canvas-preview-section:has(.canvas-wrapper:only-child) .canvas-wrapper{max-width:400px}.canvas-preview-section:has(.canvas-wrapper:nth-child(2)):not(:has(.canvas-wrapper:nth-child(3))){grid-template-columns:repeat(2,1fr)}.canvas-preview-section:has(.canvas-wrapper:nth-child(3)):not(:has(.canvas-wrapper:nth-child(4))){grid-template-columns:repeat(2,1fr)}.canvas-preview-section:has(.canvas-wrapper:nth-child(4)):not(:has(.canvas-wrapper:nth-child(5))){grid-template-columns:repeat(2,1fr)}.canvas-preview-section:has(.canvas-wrapper:nth-child(5)){grid-template-columns:repeat(3,1fr)}canvas[id^=personalization-canvas-]{-webkit-user-drag:none;user-drag:none}.canvas-preview-disclaimer{color:#999;font-style:italic;margin:-8px 0 16px;padding:0 16px}.canvas-container{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.canvas-container.loading{opacity:.6}.canvas-container.loading::after{content:'';position:absolute;top:50%;left:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border:3px solid #f3f3f3;border-top:3px solid #ff6b9d;border-radius:50%;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.color-grid::-webkit-scrollbar,.font-grid::-webkit-scrollbar,.icon-grid::-webkit-scrollbar{width:5px}.color-grid::-webkit-scrollbar-track,.font-grid::-webkit-scrollbar-track,.icon-grid::-webkit-scrollbar-track{background:0 0}.color-grid::-webkit-scrollbar-thumb,.font-grid::-webkit-scrollbar-thumb,.icon-grid::-webkit-scrollbar-thumb{background:rgba(255,107,157,.25);border-radius:10px}.color-grid::-webkit-scrollbar-thumb:hover,.font-grid::-webkit-scrollbar-thumb:hover,.icon-grid::-webkit-scrollbar-thumb:hover{background:rgba(255,107,157,.5)}.color-grid,.font-grid,.icon-grid{scrollbar-width:thin;scrollbar-color:rgba(255,107,157,0.25) transparent}@media (max-width:768px){.product-personalization-simple,.product-personalization-v2{padding:14px;border-radius:12px}.canvas-preview-section{padding:12px;gap:10px;grid-template-columns:repeat(2,1fr)}.canvas-wrapper{max-width:100%}.canvas-preview-section:has(.canvas-wrapper:only-child){grid-template-columns:1fr;justify-items:center}.canvas-preview-section:has(.canvas-wrapper:only-child) .canvas-wrapper{max-width:280px}.canvas-label{font-size:10px;margin-bottom:5px}.personalization-tabs{flex-wrap:wrap;gap:4px;padding:5px;border-radius:14px}.tab-btn{flex:0 0 calc(50% - 4px);font-size:11px;padding:8px}.tabs-content,.tabs-content-wrapper{padding:14px;margin-top:10px}.font-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));max-height:145px}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(65px,1fr));gap:6px;max-height:230px}.color-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px;max-height:200px}.name-input{font-size:16px;padding:10px 14px}}@media print{.canvas-preview-wrapper,.product-personalization-simple,.product-personalization-v2{display:none!important}}.color-choice.pulse,.font-choice.pulse,.icon-choice.pulse{animation:.6s ease-in-out pulse}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.name-input.error{border-color:#f44336;animation:.5s shake}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.tab-btn.completed::after{content:'';position:absolute;top:-3px;right:-3px;width:14px;height:14px;background:#4caf50;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.15)}.color-choice:focus-within .color-circle,.font-choice:focus-within .font-sample,.icon-choice:focus-within .icon-box,.name-input:focus,.tab-btn:focus{outline:#FF6B9D solid 2px;outline-offset:2px}