.custom-size-fields{margin-top:1rem;padding:1rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px}.custom-size-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.custom-size-inputs .field{display:flex;flex-direction:column}.custom-size-inputs label{font-weight:600;margin-bottom:.5rem;color:#333;font-size:.9rem}.custom-dimension-input{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.custom-dimension-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.custom-dimension-input:invalid{border-color:#dc3545}.custom-quantity-field{margin-top:1rem;padding:1rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;max-width:44rem}.custom-quantity-field .field{display:flex;flex-direction:column}.custom-quantity-field label{font-weight:600;margin-bottom:.5rem;color:#333;font-size:.9rem}.custom-quantity-input{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;max-width:200px;transition:border-color .2s ease,box-shadow .2s ease;max-width:44rem}.custom-quantity-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.custom-quantity-input:invalid{border-color:#dc3545}.personalization-fields{margin-top:1rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;overflow:hidden;max-width:44rem}.personalization-header{background:#fff;padding:1rem 1.25rem;border-bottom:1px solid #e9ecef;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background-color .2s ease}.personalization-header:hover{background:#f8f9fa}.personalization-title{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#333;font-size:1rem}.personalization-icon{width:20px;height:20px;color:#007bff}.personalization-toggle{width:24px;height:24px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.personalization-toggle svg{width:16px;height:16px;color:#6c757d;transition:transform .2s ease}.personalization-toggle.active svg{transform:rotate(180deg)}.personalization-content{padding:1.25rem;display:none}.personalization-content.active{display:block}.personalization-fields .field{margin-bottom:1rem}.personalization-fields .field:last-child{margin-bottom:0}.personalization-fields label{font-weight:500;margin-bottom:.5rem;color:#495057;font-size:.9rem;display:block}.personalized-name-input{width:100%;padding:.75rem 1rem;border:1px solid #dee2e6;border-radius:8px;font-size:1rem;background:#fff;transition:all .2s ease;box-sizing:border-box}.personalized-name-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.personalized-name-input::placeholder{color:#adb5bd}.label-text-mobile{display:none}@media (max-width: 768px){.label-text-desktop{display:none}.label-text-mobile{display:inline}.personalization-fields label{font-size:.9rem;margin-bottom:.25rem}.personalized-name-input{padding:.875rem;font-size:1rem;min-height:44px}.personalized-name-input::placeholder{font-size:.9rem}.personalization-fields label[for*=personalized-name]{font-size:.85rem;color:#333;font-weight:500}.personalization-fields label[for*=personalized-name]:before{content:"\270f\fe0f  "}}.font-selector-field{margin-top:1rem}.font-selector-dropdown{padding:1rem;border:2px solid #2196f3;border-radius:6px;font-size:1.1rem;background:#fff;width:100%;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.font-selector-dropdown:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #2196f333}.font-selector-dropdown option{padding:.5rem;font-size:1rem}.font-selector-dropdown optgroup{font-weight:700;color:#1976d2;background:#f5f5f5;font-size:.9rem}.font-selector-dropdown optgroup option{font-weight:400;color:#333;background:#fff;padding-left:1rem}.font-preview-container{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #6c757d;border-radius:8px;position:relative;min-height:80px;display:flex;flex-direction:column}.font-preview-container:before{content:"\1f440  Live Preview";position:absolute;top:-12px;left:1rem;background:#6c757d;color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:600}.font-preview-container label{font-weight:600;margin-bottom:.75rem;color:#495057;font-size:1rem}.font-preview-text{background:#fff;padding:1rem;border-radius:6px;border:2px solid #dee2e6;min-height:60px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#212529;transition:all .3s ease;text-align:center;word-break:break-all}.font-preview-text.has-content{color:#1976d2;border-color:#2196f3;box-shadow:0 2px 8px #2196f31a}.preview-placeholder{color:#adb5bd;font-style:italic;font-size:1.2rem;font-weight:400}@media (max-width: 749px){.font-preview-text{font-size:1.5rem;padding:.75rem}.preview-placeholder{font-size:1rem}}.artwork-upload-field{margin-top:1rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;overflow:hidden;max-width:44rem}.artwork-upload-input{width:100%;padding:.75rem 1rem;border:1px solid #dee2e6;border-radius:8px;background:#fff;transition:all .2s ease;box-sizing:border-box;cursor:pointer}.artwork-upload-input:hover{border-color:#007bff;background-color:#f8f9fa}.artwork-upload-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.artwork-upload-header{background:#fff;padding:1rem 1.25rem;border-bottom:1px solid #e9ecef;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background-color .2s ease}.artwork-upload-header:hover{background:#f8f9fa}.artwork-upload-title{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#333;font-size:1rem}.artwork-upload-icon{width:20px;height:20px;color:#ff9800}.artwork-upload-toggle{width:24px;height:24px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.artwork-upload-toggle svg{width:16px;height:16px;color:#6c757d;transition:transform .2s ease}.artwork-upload-toggle.active svg{transform:rotate(180deg)}.artwork-upload-content{padding:1.25rem;display:none}.artwork-upload-content.active{display:block}.artwork-upload-field .field{margin-bottom:1rem}.artwork-upload-field .field:last-child{margin-bottom:0}.artwork-upload-field label{font-weight:500;margin-bottom:.5rem;color:#495057;font-size:.9rem;display:block}.artwork-upload-input{padding:1rem;border:2px dashed #ff9800;border-radius:6px;background:#fff;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.artwork-upload-input:hover{border-color:#f57c00;background-color:#fff8f0}.artwork-upload-input:focus{outline:none;border-color:#e65100;box-shadow:0 0 0 3px #ff980033}.artwork-upload-field small{margin-top:.5rem;color:#666;font-size:.85rem}.file-preview{margin-top:.5rem;padding:.75rem;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;font-size:.9rem}.file-preview img{border-radius:4px;box-shadow:0 2px 4px #0000001a}.custom-price-display{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border:2px solid #4caf50;border-radius:8px;position:relative;max-width:44rem}.price-breakdown{font-size:1rem;line-height:1.6}.price-breakdown:before{content:"\1f4b0  Price Calculator";position:absolute;top:-12px;left:1rem;background:#4caf50;color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:600}.price-breakdown p{margin:.5rem 0;color:#2e7d32}.price-breakdown .total-price-display{font-size:1.2rem;color:#1b5e20;padding:.75rem;background:#4caf501a;border-radius:4px;margin-top:1rem;text-align:center}.custom-variant-error{background:#ffebee;border:1px solid #f8bbd9;color:#c62828;padding:1rem;margin:1rem 0;border-radius:6px;border-left:4px solid #d32f2f}.custom-variant-error ul{margin:0;padding-left:1.5rem}.custom-variant-error li{margin:.25rem 0}.file-upload-error{background:#ffebee;border:1px solid #f8bbd9;color:#c62828;padding:.75rem;margin-top:.5rem;border-radius:4px;font-size:.9rem;border-left:3px solid #d32f2f}[data-is-custom-option]+label{background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff;font-weight:600;position:relative;overflow:hidden}[data-is-custom-option]+label:before{content:"\270f\fe0f";margin-right:.5rem}[data-is-custom-option]+label:after{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}[data-is-custom-option]:checked+label:after,[data-is-custom-option]+label:hover:after{left:100%}@media (max-width: 768px){.custom-size-inputs{grid-template-columns:1fr;gap:.75rem}.personalization-fields,.artwork-upload-field,.custom-price-display{padding:1rem;margin-top:1rem}.custom-size-fields,.custom-quantity-field{padding:.75rem;margin-top:.75rem}.font-customization-section{padding:1rem}.font-customization-title{font-size:1.1rem;margin-bottom:1rem}.emoji-picker-btn,.preview-bg-btn,.transform-btn,.font-size-preset,.color-preset{min-height:44px;min-width:44px}.font-color-controls,.font-size-controls{margin:.75rem 0}.emoji-panel{width:100%;max-width:320px}.emoji-grid{grid-template-columns:repeat(6,1fr)}.emoji-item{min-height:44px;font-size:18px}}.custom-size-fields,.custom-quantity-field{transition:opacity .3s ease,visibility .3s ease;transform-origin:top;max-height:none;overflow:visible}.custom-size-fields[style*="visibility: hidden"],.custom-quantity-field[style*="visibility: hidden"]{opacity:0;visibility:hidden;pointer-events:none}.custom-size-fields[style*="display: none"],.custom-quantity-field[style*="display: none"]{display:none!important}.custom-dimension-input[data-custom-field],.custom-quantity-input[data-custom-field],.personalized-name-input,.artwork-upload-input{position:relative;z-index:1}.artwork-upload-input.file-uploaded{border-color:#28a745;background-color:#f8fff9}.artwork-upload-input.file-uploaded:after{content:"\2713  File uploaded";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#28a745;font-size:.8rem;font-weight:600;pointer-events:none}.custom-dimension-input:placeholder-shown,.custom-quantity-input:placeholder-shown{background-image:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.custom-dimension-input:focus-visible,.custom-quantity-input:focus-visible,.personalized-name-input:focus-visible,.artwork-upload-input:focus-visible{outline:2px solid #007bff;outline-offset:2px}@media (prefers-contrast: high){.custom-size-fields,.custom-quantity-field,.personalization-fields,.artwork-upload-field,.custom-price-display{border-width:3px}.custom-dimension-input,.custom-quantity-input,.personalized-name-input,.artwork-upload-input{border-width:2px}}@media (prefers-reduced-motion: reduce){.custom-size-fields,.custom-quantity-field,*{transition:none!important;animation:none!important}}.font-customization-section{margin-top:1rem;background:#fff;border:1px solid #e9ecef;border-radius:8px;overflow:hidden}.font-customization-header{background:#f8f9fa;padding:.75rem 1rem;border-bottom:1px solid #e9ecef;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background-color .2s ease}.font-customization-header:hover{background:#e9ecef}.font-customization-title{margin:0;font-size:.9rem;font-weight:600;color:#495057;display:flex;align-items:center;gap:.5rem}.font-customization-toggle{width:20px;height:20px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.font-customization-toggle svg{width:14px;height:14px;color:#6c757d;transition:transform .2s ease}.font-customization-toggle.active svg{transform:rotate(180deg)}.font-customization-content{padding:1rem;display:none}.font-customization-content.active{display:block}.font-family-selector{position:relative}.font-family-search{width:100%;padding:.75rem;border:1px solid #ccc;border-radius:4px;font-size:14px;background:#fff}.font-family-search:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.font-family-select{width:100%;padding:.75rem;border:1px solid #ccc;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.font-family-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.font-family-select:hover{border-color:#007bff}.font-family-select option{padding:.5rem;font-size:14px}@media (max-width: 768px){.font-family-search,.font-family-select{padding:.875rem;font-size:16px;min-height:44px}.personalization-header,.artwork-upload-header{padding:.875rem 1rem}.font-customization-header{padding:.625rem .875rem}.personalization-title,.artwork-upload-title{font-size:.9rem}.font-customization-title{font-size:.85rem}.personalization-toggle,.artwork-upload-toggle{min-width:44px;min-height:44px}.font-customization-toggle{min-width:40px;min-height:40px}}.font-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:1000;display:none}.font-dropdown.active{display:block}.font-option{padding:.75rem;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.font-option:hover{background:#f8f9fa}.font-option:last-child{border-bottom:none}.font-option.selected{background:#e3f2fd;color:#1976d2}.font-loading{padding:1rem;text-align:center;color:#666}.font-color-controls{margin:1rem 0}.color-picker-container{display:flex;flex-direction:column;gap:.5rem}.font-color-picker{width:50px;height:40px;border:none;border-radius:4px;cursor:pointer}.color-presets{display:flex;gap:.25rem;flex-wrap:wrap}.color-preset{width:24px;height:24px;border:none;border-radius:50%;cursor:pointer;transition:transform .2s}.color-preset:hover{transform:scale(1.1)}.font-size-controls{margin:1rem 0}.font-size-container{display:flex;flex-direction:column;gap:.75rem}.font-size-range{width:100%;height:6px;border-radius:3px;background:#ddd;outline:none;-webkit-appearance:none;appearance:none}.font-size-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#007bff;cursor:pointer}.font-size-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#007bff;cursor:pointer;border:none}.font-size-input-container{display:flex;align-items:center;gap:.5rem}.font-size-input{width:80px;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;text-align:center}.font-size-unit{font-size:.9rem;color:#666;font-weight:500}.font-size-presets{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.font-size-preset{padding:.4rem .8rem;border:1px solid #ddd;background:#fff;border-radius:20px;cursor:pointer;transition:all .2s;font-size:.85rem;white-space:nowrap}.font-size-preset:hover{background:#f8f9fa;border-color:#007bff}.font-size-preset[data-active=true]{background:#007bff;color:#fff;border-color:#007bff}.emoji-picker-container{position:relative}.emoji-picker-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid #ccc;background:#fff;border-radius:4px;cursor:pointer;transition:all .2s}.emoji-picker-btn:hover{background:#f8f9fa}.emoji-panel{position:absolute;top:100%;left:0;background:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;width:320px;display:none}.emoji-panel.active{display:block}.emoji-categories{display:flex;border-bottom:1px solid #eee;padding:.5rem;gap:.25rem}.emoji-category-btn{padding:.5rem;border:none;background:none;border-radius:4px;cursor:pointer;font-size:18px;transition:background-color .2s}.emoji-category-btn:hover{background:#f0f0f0}.emoji-category-btn.active{background:#e3f2fd}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.25rem;padding:.5rem;max-height:200px;overflow-y:auto}.emoji-item{padding:.5rem;border:none;background:none;border-radius:4px;cursor:pointer;font-size:20px;transition:background-color .2s}.emoji-item:hover{background:#f0f0f0}.text-preview-container{margin:1rem 0}.text-preview{min-height:120px;padding:2rem;border:2px dashed #ccc;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;font-family:Roboto,sans-serif;font-size:24px;font-weight:400;color:#000;text-align:center;word-break:break-word;transition:all .3s ease;position:relative;overflow:hidden}.text-preview.dark-bg{background:#333;color:#fff}.text-preview.transparent-bg{background:transparent;background-image:linear-gradient(45deg,#f0f0f0 25%,transparent 25%),linear-gradient(-45deg,#f0f0f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f0f0f0 75%),linear-gradient(-45deg,transparent 75%,#f0f0f0 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px}.preview-controls{display:flex;gap:.5rem;margin-top:.5rem;justify-content:center}.preview-bg-btn{padding:.5rem 1rem;border:1px solid #ccc;background:#fff;border-radius:4px;cursor:pointer;transition:all .2s}.preview-bg-btn:hover{background:#f8f9fa}.preview-bg-btn[data-active=true]{background:#007bff;color:#fff;border-color:#007bff}.advanced-typography{margin-top:1.5rem;border:1px solid #e0e0e0;border-radius:4px}.advanced-typography summary{padding:1rem;cursor:pointer;background:#f8f9fa;border-radius:4px 4px 0 0;font-weight:600}.advanced-typography[open] summary{border-bottom:1px solid #e0e0e0}.advanced-controls{padding:1rem}.transform-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.transform-btn{padding:.5rem;border:1px solid #ccc;background:#fff;border-radius:4px;cursor:pointer;transition:all .2s;font-size:12px}.transform-btn:hover{background:#f8f9fa}.transform-btn[data-active=true]{background:#007bff;color:#fff;border-color:#007bff}@media (max-width: 768px){.emoji-panel{width:280px}.emoji-grid{grid-template-columns:repeat(6,1fr)}.transform-buttons{grid-template-columns:1fr 1fr}}@keyframes fontLoading{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}.font-loading{animation:fontLoading 1.5s infinite}.font-family-search:focus,.font-family-select:focus,.font-color-picker:focus{outline:2px solid #007bff;outline-offset:2px}.emoji-picker-btn:focus,.preview-bg-btn:focus,.transform-btn:focus{outline:2px solid #007bff;outline-offset:2px}*{transition:border-color .2s,background-color .2s,color .2s,transform .2s}.proof-request-field{margin-top:1rem}.checkbox-container{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:1px solid #e0e0e0;border-radius:6px;background:#f8f9fa;transition:all .2s ease}.checkbox-container:hover{border-color:#007bff;background:#f0f8ff}.proof-request-checkbox{width:18px;height:18px;margin:0;cursor:pointer;accent-color:#007bff}.checkbox-label{cursor:pointer;flex:1;margin:0;font-size:14px;line-height:1.4}.checkbox-text{display:block}.checkbox-text strong{color:#333;font-weight:600}.proof-details{display:block;color:#666;font-size:13px;margin-top:2px;font-style:italic}@media (max-width: 768px){.checkbox-container{padding:.75rem;gap:.5rem}.checkbox-label{font-size:13px}.proof-details{font-size:12px}}
/*# sourceMappingURL=/cdn/shop/t/2/assets/custom-variant-styles.css.map */
