.breadcrumbs{margin:1rem 0;padding:.75rem 0}.breadcrumbs-list{display:flex;flex-wrap:wrap;align-items:center;list-style:none;padding:0;margin:0;font-size:.9rem;color:#64748b}.breadcrumb-item{display:inline-flex;align-items:center}.breadcrumb-link{color:#6366f1;text-decoration:none;transition:all .2s ease;padding:.25rem .5rem;border-radius:4px}.breadcrumb-link:hover{color:#4f46e5;background-color:#6366f11a;text-decoration:underline}.breadcrumb-separator{margin:0 .25rem;color:#94a3b8;-webkit-user-select:none;user-select:none}.breadcrumb-current{color:#334155;font-weight:500;padding:.25rem .5rem}@media (max-width: 768px){.breadcrumbs-list{font-size:.85rem}.breadcrumb-link,.breadcrumb-current{padding:.2rem .4rem}}*{box-sizing:border-box;margin:0;padding:0}.app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#667eea,#764ba2)}.header{text-align:center;padding:3rem 2rem;color:#fff}.header h1{font-size:3rem;margin-bottom:1rem;font-weight:700}.header-title{cursor:pointer;transition:transform .2s ease,opacity .2s ease}.header-title:hover{transform:scale(1.05);opacity:.8}.header p{font-size:1.2rem;opacity:.9}.main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem}.input-section,.preview-section,.generated-section,.product-config-section{background:#fff;border-radius:20px;padding:3rem;box-shadow:0 20px 60px #0000004d}.cost-info-banner{display:flex;align-items:flex-start;gap:1rem;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left:4px solid #ff9800;border-radius:8px;padding:1rem 1.5rem;margin:2rem 0;box-shadow:0 2px 8px #ff98001a}.cost-info-icon{font-size:1.5rem;line-height:1}.cost-info-text{flex:1;color:#e65100;font-size:.95rem;line-height:1.5}.cost-info-text strong{color:#d84315;font-weight:600}.product-config-section .preview-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:15px}@media (max-width: 768px){.product-config-section .preview-section{grid-template-columns:1fr}}.product-config-section .preview-section h4{color:#333;font-size:1.1rem;margin-bottom:1rem;font-weight:600}.product-config-section .mosaic-preview-small{text-align:center}.product-config-section .mosaic-image-small{max-width:100%;height:auto;border-radius:10px;box-shadow:0 4px 15px #0003;border:3px solid #667eea}.product-config-section .product-images-gallery,.preview-section .product-images-gallery,.product-images-gallery{text-align:center}.product-config-section .images-grid,.preview-section .images-grid,.images-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem}.product-config-section .gallery-image-wrapper,.preview-section .gallery-image-wrapper,.gallery-image-wrapper{background:#fff;border-radius:8px;padding:.5rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;height:200px!important;width:100%}.product-config-section .gallery-image-wrapper:hover,.preview-section .gallery-image-wrapper:hover,.gallery-image-wrapper:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0003}.product-config-section .gallery-image,.preview-section .gallery-image,.gallery-image{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;border-radius:5px;display:block;opacity:0;transition:opacity .3s ease-in;position:relative;z-index:2}.product-config-section .gallery-image.loaded,.preview-section .gallery-image.loaded,.gallery-image.loaded{opacity:1}.product-config-section .image-skeleton,.preview-section .image-skeleton,.image-skeleton{position:absolute;inset:.5rem;background:linear-gradient(90deg,#f0f0f0,#e0e0e0 20%,#f0f0f0 40% 100%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:5px;z-index:1}.product-config-section .gallery-image.loaded~.image-skeleton,.preview-section .gallery-image.loaded~.image-skeleton,.gallery-image.loaded~.image-skeleton{display:none}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.product-config-section .gallery-image-wrapper.error .image-skeleton,.preview-section .gallery-image-wrapper.error .image-skeleton,.gallery-image-wrapper.error .image-skeleton{background:#f5f5f5;display:flex;align-items:center;justify-content:center}.product-config-section .gallery-image-wrapper.error .image-skeleton:after,.preview-section .gallery-image-wrapper.error .image-skeleton:after,.gallery-image-wrapper.error .image-skeleton:after{content:"📷";font-size:3rem;opacity:.3}.product-config-section .gallery-note,.preview-section .gallery-note,.gallery-note{font-size:.9rem;color:#555;font-style:italic;margin-top:.5rem}.product-summary h3{color:#333;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center;padding-bottom:1rem}.summary-details{display:flex;flex-direction:column;gap:1rem}.summary-details p{color:#555;font-size:1rem;line-height:1.6;padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.05)}.summary-details p:last-child{border-bottom:none}.summary-details strong{color:#333;font-weight:600;margin-right:.5rem}.input-section h2,.preview-section h2,.generated-section h2,.product-config-section h2{font-size:1.8rem;margin-bottom:2rem;color:#333;text-align:center}.auth-info{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #ffa726;border-radius:15px;padding:1.5rem;margin-bottom:2rem;text-align:center}.auth-info p{margin:.5rem 0;font-size:1rem;color:#333}.auth-info strong{color:#667eea;font-weight:700}.info-note{font-size:.9rem!important;color:#666!important;margin-top:.75rem!important}.button-auth{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;margin-top:1rem;font-size:1.1rem;padding:1rem 2rem}.button-auth:hover{transform:translateY(-2px);box-shadow:0 10px 20px #ff980066}.auth-success{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px solid #66bb6a;border-radius:15px;padding:1.5rem;margin-bottom:2rem;text-align:center}.auth-success p{font-size:1.1rem;font-weight:600;color:#2e7d32;margin:0 0 1rem}.auth-success strong{color:#1b5e20}.button-logout{background:#f5f5f5;color:#666;border:2px solid #e0e0e0;padding:.75rem 1.5rem;font-size:.95rem}.button-logout:hover{background:#e0e0e0;color:#333;transform:translateY(-1px);box-shadow:0 5px 15px #0000001a}.hint-text{text-align:center;margin-top:1rem;color:#666;font-size:.95rem}.hint-text strong{color:#667eea}.input-group{display:flex;gap:1rem;max-width:600px;margin:0 auto}.input{flex:1;padding:1rem 1.5rem;font-size:1.1rem;border:2px solid #e0e0e0;border-radius:10px;transition:border-color .3s}.input:focus{outline:none;border-color:#667eea}.input:disabled{background:#f5f5f5;cursor:not-allowed}.button{padding:1rem 2rem;font-size:1.1rem;font-weight:600;border:none;border-radius:50px;cursor:pointer;transition:all .3s;text-decoration:none;display:inline-block;text-align:center}.button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.button-primary:disabled{opacity:.6;cursor:not-allowed}.landing-button{background:linear-gradient(135deg,gold,#ffed4e)!important;color:#333!important;font-weight:700!important;font-size:1.1rem!important;padding:1rem 3rem!important;box-shadow:0 6px 20px #ffd70080!important;transition:all .3s ease!important}.landing-button:hover:not(:disabled){transform:translateY(-3px)!important;box-shadow:0 10px 30px #ffd700b3!important;background:linear-gradient(135deg,#ffed4e,gold)!important}.button-secondary{background:#f0f0f0;color:#333}.button-secondary:hover{background:#e0e0e0}.albums-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-bottom:2rem;max-height:500px;overflow-y:auto;padding:1rem;background:#f9f9f9;border-radius:10px}.album-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .2s}.album-card:hover{transform:scale(1.05)}.album-card img{width:100%;height:120px;object-fit:cover}.album-info{padding:.5rem}.album-title{font-size:.75rem;font-weight:600;color:#666;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-artist,.album-year{font-size:.7rem;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-albums{display:flex;align-items:center;justify-content:center;background:#667eea;color:#fff;font-weight:600;border-radius:8px;min-height:120px}.actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;padding-top:1.5rem}.mosaic-preview{margin-bottom:2rem;text-align:center}.mosaic-image{max-width:100%;border-radius:10px;box-shadow:0 10px 30px #0003}.success-info h3{color:#333;margin-bottom:1.5rem;font-size:1.5rem}.success-card{color:#667eea;margin-bottom:.5rem;font-size:1.8rem;text-align:center}.success-card h3{color:#333;margin-bottom:1.5rem;font-size:1.5rem}.success-card p{margin:.75rem 0;color:#333;font-size:1.05rem;line-height:1.6}.success-card+.success-card{margin-top:1.5rem}.pricing-note{font-size:.95rem;color:#666;font-style:italic;margin-bottom:1.5rem!important}.variants-pricing-list{display:flex;flex-direction:column;gap:1rem}.variant-pricing-item{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 2px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;gap:1rem}.variant-pricing-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.variant-pricing-item-simple{display:flex;align-items:center}.variant-cost-only{text-align:center}.cost-value-large{font-weight:700;color:#d32f2f;font-size:2.5rem}.variant-title{font-weight:600;color:#333;margin-bottom:.75rem;font-size:1.1rem}.variant-cost,.variant-prices,.variant-profit{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-radius:8px}.variant-cost{background:#ffebee;border-left:4px solid #d32f2f}.variant-prices{background:#e8f5e9;border-left:4px solid #2e7d32}.variant-profit{background:#e3f2fd;border-left:4px solid #1976d2}.cost-label,.price-label,.profit-label{color:#666;font-size:.9rem;font-weight:500}.cost-value{font-weight:700;color:#d32f2f;font-size:1.1rem}.arrow{color:#2e7d32;font-weight:700;font-size:1.2rem}.price-value{font-weight:700;color:#2e7d32;font-size:1.2rem}.price-value-large{font-weight:700;color:#2e7d32;font-size:1.5rem}.profit-value{font-weight:700;color:#1976d2;font-size:1.1rem}.profit{color:#1976d2;font-size:.9rem;font-weight:500;background:#e3f2fd;padding:.25rem .75rem;border-radius:12px}.product-preview-gallery{margin:3rem 0;text-align:center}.product-preview-gallery h3{color:#667eea;margin-bottom:.5rem;font-size:1.8rem}.product-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.preview-image-card{background:#fff;border-radius:15px;padding:1rem;box-shadow:0 8px 25px #00000026;transition:transform .3s,box-shadow .3s}.preview-image-card:hover{transform:translateY(-5px);box-shadow:0 12px 35px #00000040;cursor:pointer}.preview-product-image{width:100%;height:auto;border-radius:10px;display:block;transition:opacity .3s;opacity:0;position:relative;z-index:2}.preview-product-image.loaded{opacity:1}.preview-image-card:hover .preview-product-image{opacity:.9}.preview-image-skeleton{position:absolute;inset:1rem;background:linear-gradient(90deg,#f0f0f0,#e0e0e0 20%,#f0f0f0 40% 100%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:10px;z-index:1}.preview-image-card .preview-product-image.loaded~.preview-image-skeleton{display:none}.preview-image-card.error .preview-image-skeleton{background:#f5f5f5;display:flex;align-items:center;justify-content:center}.preview-image-card.error .preview-image-skeleton:after{content:"📦";font-size:4rem;opacity:.3}.step-description{text-align:center;color:#666;font-size:1.1rem;margin-bottom:2rem}.image-modal{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.image-modal-content{position:relative;max-width:95vw;max-height:95vh;display:flex;align-items:center;justify-content:center}.image-modal-img{max-width:100%;max-height:95vh;object-fit:contain;border-radius:10px;box-shadow:0 20px 60px #00000080;animation:zoomIn .3s ease-out}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.image-modal-close{position:absolute;top:-50px;right:0;background:#ffffffe6;border:none;border-radius:50%;width:40px;height:40px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;color:#333;font-weight:700;z-index:10001}.image-modal-close:hover{background:#fff;transform:scale(1.1);box-shadow:0 4px 15px #0000004d}.selection-controls{align-items:center;padding:1.5rem;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:10px;margin:1.5rem 0;flex-wrap:wrap;gap:1rem}.selection-info{font-size:1.1rem;color:#1976d2;margin-bottom:1.3rem}.selection-info strong{font-size:1.3rem;color:#0d47a1}.selection-buttons{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.album-card{transition:transform .2s,box-shadow .2s,border-color .2s;border:3px solid transparent}.album-card.selected{border-color:#667eea;box-shadow:0 8px 25px #667eea4d;transform:scale(1.02)}.album-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026}.album-selected-badge{position:absolute;top:10px;right:10px;background:#5aad53;color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;box-shadow:0 2px 8px #0003;z-index:10}.shipping-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.shipping-form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.shipping-form-input{padding:.75rem;border-radius:4px;border:1px solid #ddd}.pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin:2rem 0;padding:1.5rem}.pagination-info{font-size:1rem;color:#555;font-weight:500}.import-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin:2rem 0}.import-source-card{background:#fff;border:3px solid #e0e0e0;border-radius:15px;padding:2rem;text-align:center;transition:all .3s;position:relative;overflow:hidden}.import-source-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026;border-color:#667eea}.import-source-card.selected{border-color:#667eea;background:linear-gradient(135deg,#f5f7ff,#e8ebff);box-shadow:0 8px 25px #667eea33;transform:scale(1.02)}.import-source-icon{font-size:4rem;margin-bottom:1rem}.import-source-card h3{font-size:1.8rem;color:#333;margin-bottom:.5rem}.import-source-card p{color:#666;margin-bottom:1.5rem;font-size:1rem}.import-source-features{list-style:none;padding:0;text-align:left;margin:1.5rem 0}.import-source-features li{padding:.5rem 0;color:#555;font-size:.95rem}.coming-soon-badge{position:absolute;top:15px;right:15px;background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;padding:.4rem .8rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;box-shadow:0 2px 8px #f57c004d}.app-footer{background:transparent;width:100%;padding:2rem;text-align:center;color:#fff;font-size:.9rem;margin-top:2rem}.footer-content{max-width:1200px;margin:0 auto}.footer-nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.footer-link{background:none;border:none;color:#fff;font-size:.9rem;cursor:pointer;padding:.5rem;transition:color .2s ease,transform .2s ease;text-decoration:underline}.footer-link:hover{color:#a8b2ff;transform:translateY(-2px)}.footer-separator{color:#fff;opacity:.5;margin:0 .5rem}.footer-copyright{margin:.5rem 0;font-weight:600}.footer-powered{margin:.5rem 0;opacity:.7;font-size:.85rem}.footer-disclaimer{margin:1.5rem auto 1rem;padding:1rem;max-width:800px;font-size:.85rem;line-height:1.5;color:#fff;text-align:center;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.footer-disclaimer p{margin:0;color:#fff}.albums-grid::-webkit-scrollbar{width:8px}.albums-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.albums-grid::-webkit-scrollbar-thumb{background:#667eea;border-radius:10px}.albums-grid::-webkit-scrollbar-thumb:hover{background:#764ba2}.loading-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.loading-card{background:#fff;padding:3rem;border-radius:20px;box-shadow:0 20px 60px #0000004d;min-width:400px;text-align:center}.loading-card h3{font-size:1.5rem;margin-bottom:1.5rem;color:#333}.progress-bar-container{width:100%;height:30px;background:#f0f0f0;border-radius:15px;overflow:hidden;margin-bottom:1rem;box-shadow:inset 0 2px 4px #0000001a}.progress-bar{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease;border-radius:15px;position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{font-size:1.2rem;font-weight:600;color:#667eea}.spinner{width:60px;height:60px;border:5px solid #f3f3f3;border-top:5px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.main{padding:.5rem}.variants-section,.product-config-section,.input-section,.preview-section,.generated-section{padding:1.5rem}.shipping-form-row-2,.shipping-form-row-3{grid-template-columns:1fr}.mosaic-settings-info .settings-grid{grid-template-columns:1fr!important}.mosaic-settings-info .setting-item-full-width{grid-column:1 / -1}.header h1{font-size:2rem}.header p{font-size:1rem}.auth-info{padding:1rem}.auth-info p{font-size:.9rem}.button-auth{width:100%;padding:.875rem 1.5rem}.input-group{flex-direction:column}.albums-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.actions{flex-direction:column}.button{width:100%}.loading-card{min-width:300px;padding:2rem}}.filter-section{margin-bottom:2rem;padding:1.5rem;background:#f9f9f9;border-radius:10px;color:#333}.album-results h3{color:#333;margin-bottom:1rem}.filter-buttons{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.filter-button{background:#fff;color:#333;border:2px solid #e0e0e0;padding:.75rem 1.5rem;font-size:.95rem;transition:all .2s}.filter-button:hover:not(:disabled){border-color:#667eea;color:#667eea;transform:translateY(-1px)}.filter-button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.filter-button:disabled{opacity:.4;cursor:not-allowed}.filter-button.requires-auth{border-color:#ffa726;color:#f57c00;position:relative}.filter-button.requires-auth:hover{border-color:#ff9800;color:#e65100;background:#fff3e0}.filter-dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 10px 30px #0003;min-width:250px;max-width:350px;z-index:100;overflow:hidden}.dropdown-search{width:100%;padding:.75rem 1rem;border:none;border-bottom:1px solid #e0e0e0;font-size:.95rem;color:#333}.dropdown-search::placeholder{color:#999}.dropdown-search:focus{outline:none;border-bottom-color:#667eea}.dropdown-options{max-height:300px;overflow-y:auto}.dropdown-options::-webkit-scrollbar{width:6px}.dropdown-options::-webkit-scrollbar-track{background:#f1f1f1}.dropdown-options::-webkit-scrollbar-thumb{background:#667eea;border-radius:3px}.dropdown-options::-webkit-scrollbar-thumb:hover{background:#764ba2}.dropdown-option{padding:.75rem 1rem;cursor:pointer;font-size:.9rem;color:#333;transition:background .2s;border-bottom:1px solid #f5f5f5}.dropdown-option:hover:not(.disabled){background:#f0f0f0;color:#667eea}.checkbox-option{display:flex;align-items:center;gap:.75rem;cursor:pointer;color:#333}.checkbox-option input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.checkbox-option span{flex:1}.dropdown-option.disabled{color:#999;cursor:default;font-style:italic}.dropdown-option:last-child{border-bottom:none}.filter-info{text-align:center;padding:1rem;background:#fff;border-radius:8px;margin-top:1rem}.filter-info p{margin:0;color:#666;font-size:.95rem}.filter-info strong{color:#667eea;font-weight:600}.preview-note{text-align:center;color:#666;font-size:.9rem;margin-bottom:1.5rem;font-style:italic}.mosaic-preview-small{text-align:center;margin-bottom:2rem}.product-summary h3{color:#667eea;margin-bottom:1.5rem;font-size:1.8rem}.mosaic-image-small{max-width:600px;width:100%;border-radius:10px;box-shadow:0 5px 15px #0003}.mosaic-settings-info{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin:1.5rem auto;text-align:left}.mosaic-settings-info h4{color:#667eea;margin-bottom:1rem;font-size:1.1rem}.mosaic-settings-info .settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.mosaic-settings-info .setting-item{display:flex;justify-content:space-between;padding:.5rem;background:#fff;border-radius:4px;font-size:.9rem}.mosaic-settings-info .setting-item-full-width{grid-column:1 / -1;display:flex;justify-content:space-between;padding:.5rem;background:#fff;border-radius:4px;font-size:.9rem}.mosaic-settings-info .setting-label{color:#666;font-weight:500}.mosaic-settings-info .setting-value{color:#333;font-weight:600}.blueprints-grid h3{font-size:1.4rem;margin-bottom:1.5rem;color:#333;text-align:center}.shipping-region-filter{display:flex;align-items:center;gap:1rem;justify-content:center;margin-bottom:1.5rem;padding:1.25rem;background:#fff;border:2px solid #667eea;border-radius:12px;flex-wrap:wrap}.region-label{font-size:1rem;font-weight:600;color:#333;margin:0}.region-select{padding:.75rem 1.25rem;border:2px solid #dee2e6;border-radius:8px;background:#fff;color:#495057;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;min-width:200px}.region-select:hover{border-color:#667eea}.region-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.region-hint{width:100%;text-align:center;font-size:.85rem;color:#666;font-style:italic;margin:.5rem 0 0}.category-filter{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:2rem;padding:1rem;background:#f8f9fa;border-radius:12px}.category-button{padding:.75rem 1.25rem;border:2px solid #dee2e6;background:#fff;color:#495057;border-radius:25px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .3s ease;white-space:nowrap}.category-button:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.category-button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 4px 15px #667eea4d}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:2rem 0 1rem;padding:1rem}.pagination-button{padding:.75rem 1.25rem;border:2px solid #dee2e6;background:#fff;color:#495057;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .3s ease;white-space:nowrap}.pagination-button:hover:not(:disabled){border-color:#667eea;color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.pagination-button:disabled{opacity:.4;cursor:not-allowed}.pagination-pages{display:flex;gap:.5rem;align-items:center}.pagination-page{min-width:40px;height:40px;padding:.5rem;border:2px solid #dee2e6;background:#fff;color:#495057;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.pagination-page:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.pagination-page.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 4px 15px #667eea4d}.pagination-ellipsis{padding:0 .5rem;color:#999;font-weight:700}.pagination-info{text-align:center;color:#666;font-size:.9rem;margin-bottom:1rem}.category-button.active:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem;margin-top:1.5rem}.product-card{background:#fff;border:2px solid #e0e0e0;border-radius:15px;padding:1.5rem;cursor:pointer;transition:all .3s ease;text-align:center}.product-card:hover{border-color:#667eea;transform:translateY(-5px);box-shadow:0 10px 25px #667eea33}.product-image-wrapper{width:100%;height:200px;margin-bottom:1rem;border-radius:10px;overflow:hidden;background:#f8f9fa;display:flex;align-items:center;justify-content:center;position:relative}.product-image{width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .3s ease-in;position:relative;z-index:2}.product-image.loaded{opacity:1}.product-image-skeleton{position:absolute;inset:0;background:linear-gradient(90deg,#e8e8e8,#d0d0d0 20%,#e8e8e8 40% 100%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;z-index:1}.product-image.loaded~.product-image-skeleton{display:none}.product-image-wrapper.error .product-image-skeleton{background:#f5f5f5;display:flex;align-items:center;justify-content:center}.product-image-wrapper.error .product-image-skeleton:after{content:"📦";font-size:3rem;opacity:.3}.product-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-size:4rem}.product-card h4{font-size:1.2rem;color:#333;margin-bottom:.5rem}.product-description{font-size:.9rem;color:#666;margin-bottom:.75rem;line-height:1.6;text-align:left;white-space:pre-line}.product-description-detail{background:#f5f5f5;padding:1.5rem;border-radius:10px;margin:1.5rem 0;font-size:1rem;color:#444;line-height:1.8;border-left:4px solid #667eea}.product-brand,.product-model{font-size:.85rem;color:#999;margin:.25rem 0}.product-details{margin-top:2rem}.selected-product-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.selected-product-header h3{font-size:1.5rem;color:#667eea;margin:0}.product-info-form{margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#333;margin-bottom:.5rem;font-size:1rem}.textarea{resize:vertical;min-height:80px;font-family:inherit}.provider-selection{margin-bottom:2rem;background:#f8f9fa;border-radius:10px;padding:1.5rem}.provider-selection h4{color:#333;margin-bottom:.5rem;font-size:1.2rem;font-weight:600}.provider-note{color:#666;font-size:.9rem;margin-bottom:1rem;line-height:1.5}.provider-select{width:100%;font-size:1rem;font-weight:500;cursor:pointer}.provider-select option{padding:.5rem}.variants-section{margin-bottom:2rem;background:#f5f5f5;border-radius:10px;padding:1.5rem}.variants-section h4{color:#333;margin-bottom:.5rem;font-size:1.1rem}.variants-note{font-size:.9rem;color:#666;margin-bottom:1rem;font-style:italic}.variants-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.variant-item{background:#fff;border-radius:8px;padding:.5rem;color:#333}.variants-more{grid-column:1 / -1;text-align:center;color:#667eea;font-weight:600;margin-top:.5rem;font-size:.95rem}.variant-selectors{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem}.selector-group{display:flex;flex-direction:column;gap:.5rem}.selector-group label{font-weight:600;color:#333;font-size:1rem}.variant-multiselect{padding:.5rem;border:2px solid #667eea;border-radius:8px;font-size:.95rem;background:#fff;color:#333;cursor:pointer}.variant-multiselect option{padding:.5rem;cursor:pointer}.variant-multiselect option:checked{background:#667eea;color:#fff}.selector-hint{font-size:.85rem;color:#888;font-style:italic;margin:0}.color-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:12px;padding:12px;background:#f9f9f9;border-radius:8px;max-height:300px;overflow-y:auto;border:2px solid #667eea}.color-swatch{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:transform .2s ease}.color-swatch:hover{transform:translateY(-2px)}.color-swatch:active{transform:translateY(0)}.color-circle{width:48px;height:48px;border-radius:50%;position:relative;box-shadow:0 2px 8px #00000026;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.color-swatch:hover .color-circle{box-shadow:0 4px 12px #00000040;transform:scale(1.1)}.color-swatch.selected .color-circle{box-shadow:0 0 0 3px #667eea,0 4px 12px #667eea4d;transform:scale(1.05)}.check-icon{width:24px;height:24px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.color-name{font-size:11px;color:#666;text-align:center;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.color-swatch.selected .color-name{color:#667eea;font-weight:600}.selected-variants-summary{padding:1rem;background:#fff;border-radius:8px;border:2px solid #667eea;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.selected-variants-summary strong{color:#667eea;font-size:1rem}.print-areas-section{background:#fff;border-radius:10px;padding:2rem 1.5rem 1.5rem;margin-bottom:1.5rem;border:2px solid #667eea;margin-top:2rem}.print-areas-section h4{color:#333;margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.print-areas-note{font-size:.9rem;color:#666;margin-bottom:1rem;font-style:italic}.print-areas-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:.75rem;margin-bottom:1rem}.print-area-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f1f8e9;border-radius:8px;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.print-area-option:hover{background:#f1f8e9;border-color:#66bb6a}.print-area-option input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#4caf50}.print-area-option input[type=checkbox]:checked+span{color:#2e7d32;font-weight:600}.print-area-option span{flex:1;color:#333;font-size:1rem}.print-areas-warning{background:#ffebee;color:#c62828;padding:.75rem 1rem;border-radius:8px;border:2px solid #ef5350;margin-bottom:1rem;font-weight:600}.print-note{margin-top:1rem!important;font-style:italic;font-size:.9rem!important;color:#388e3c}@media (max-width: 768px){.filter-buttons{flex-direction:column}.filter-button{width:100%}.dropdown-menu{left:0;right:0;max-width:none}.products-grid{grid-template-columns:1fr}.selected-product-header{flex-direction:column;gap:1rem;align-items:flex-start}.variants-list{grid-template-columns:1fr}.mosaic-image-small{max-width:100%}}.landing-page{width:100%;min-height:calc(100vh - 6rem);display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.landing-hero{text-align:center;padding:2rem;color:#333;width:100%}.landing-subtitle{font-size:1.8rem;font-weight:600;margin-bottom:1rem;color:#333}.landing-description{font-size:1.1rem;max-width:800px;margin:0 auto;line-height:1.6;color:#666;list-style:none;padding:0}.landing-process{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:3rem 2rem;border-radius:20px;margin:3rem auto;box-shadow:0 10px 40px #0000001a}.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.process-step{display:flex;gap:1rem;align-items:flex-start;background:#fff;padding:1.5rem;border-radius:15px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;position:relative;overflow:hidden}.process-step:before{content:"";position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-size:80px;opacity:.4;z-index:0;transition:all .3s ease}.process-step:hover:before{opacity:.12;right:-5px}.process-step:hover{transform:translateY(-5px);box-shadow:0 8px 25px #667eea33}.process-step.step-product:before{content:"👕"}.process-step.step-albums:before{content:"🎵"}.process-step.step-mosaic:before{content:"🎨"}.process-step.step-customize:before{content:"⚙️"}.process-step.step-payment:before{content:"💳"}.process-step.step-delivery:before{content:"🚚"}.step-number{flex-shrink:0;width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;box-shadow:0 4px 10px #667eea4d;position:relative;z-index:1}.step-content{flex:1;position:relative;z-index:1}.step-title{color:#333;font-size:1.1rem;font-weight:600;text-align:center;margin:0 0 .5rem}.process-step-description{color:#666;font-size:.9rem;line-height:1.5;margin:0}.tutorial-video-link{display:inline-flex;align-items:center;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;font-size:1.1rem;font-weight:600;border-radius:50px;box-shadow:0 4px 15px #667eea4d;transition:all .3s ease}.tutorial-video-link:hover{transform:translateY(-3px);box-shadow:0 6px 20px #667eea66;background:linear-gradient(135deg,#7a8ef5,#8757b5)}.landing-examples{padding:2rem;width:100%;max-width:1200px;margin:0 auto}.examples-title{text-align:center;font-weight:700;margin-bottom:1rem;color:#333}.examples-subtitle{text-align:center;font-size:1.1rem;color:#666;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.examples-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1200px;margin:0 auto}.example-card-square{position:relative;border-radius:15px;overflow:hidden;box-shadow:0 10px 30px #00000026;transition:transform .3s ease,box-shadow .3s ease;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);aspect-ratio:1;cursor:pointer}.example-card-square:hover{transform:translateY(-10px);box-shadow:0 15px 40px #00000040}.example-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.7) 70%,transparent 100%);padding:1.5rem 1rem 1rem;color:#fff;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}.example-card-square:hover .example-caption{opacity:1;transform:translateY(0)}.example-caption h3{font-size:1rem;font-weight:700;margin:0 0 .3rem;color:#fff}.example-caption p{font-size:.85rem;margin:0;color:#ffffffe6;line-height:1.4}.example-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.example-card-square:hover .example-image{transform:scale(1.05)}.example-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem}.example-placeholder span{font-size:4rem;margin-bottom:1rem;filter:drop-shadow(0 2px 5px rgba(0,0,0,.2))}.example-placeholder p{font-size:1.2rem;font-weight:600;text-align:center}.reviews-section{width:100%;padding:1.5rem}.reviews-container{max-width:1200px;margin:0 auto;padding:2rem}.reviews-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:3rem;color:#fff}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.review-card{background:#f8f9fa;border-radius:15px;padding:2rem;box-shadow:0 5px 15px #00000014;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;gap:1rem}.review-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001f;background:#fff}.review-stars{font-size:1.5rem;color:#ffc107;letter-spacing:2px}.review-text{color:#555;line-height:1.6;font-size:.95rem;font-style:italic;flex:1}.review-author{display:flex;flex-direction:column;gap:.25rem;padding-top:1rem;border-top:1px solid #e0e0e0}.review-author strong{color:#333;font-size:1rem}.review-author span{color:#999;font-size:.85rem}.landing-cta{padding:3rem 2rem;text-align:center;width:100%}.landing-cta-secondary{padding:2rem}.landing-button{font-size:1.3rem;padding:1.2rem 3rem;border-radius:50px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 30px #667eea66}.landing-button:hover{transform:translateY(-3px);box-shadow:0 15px 40px #667eea99}.landing-button:active{transform:translateY(-1px)}.footer-links{display:flex;gap:1.5rem;justify-content:center;align-items:center;flex-wrap:wrap}.footer-links span{opacity:.7}.info-page{background:#fff;border-radius:20px;padding:3rem;box-shadow:0 20px 60px #0000004d;margin:0 auto}.info-page h1{font-size:2.5rem;margin-bottom:2rem;color:#333;text-align:center;font-weight:700}.info-page h2{font-size:2rem;margin-bottom:1.5rem;color:#333;text-align:left;font-weight:600;border-bottom:2px solid #e0e0e0;padding-bottom:.5rem}.info-content{color:#555;line-height:1.8;margin-bottom:2rem}.info-content h3{font-size:1.5rem;margin-top:2rem;margin-bottom:1rem;color:#444;font-weight:600}.info-content h4{font-size:1.2rem;margin-top:1.5rem;margin-bottom:.75rem;color:#555;font-weight:600}.info-content section{margin-bottom:2rem}.info-content p{margin-bottom:1rem}.info-content ul{margin-left:2rem;margin-bottom:1rem}.info-content li{margin-bottom:.5rem}.info-content strong{color:#333;font-weight:600}.info-content a{color:#667eea;text-decoration:none;border-bottom:1px solid transparent;transition:all .2s ease}.info-content a:hover{color:#764ba2;border-bottom-color:#764ba2}.faq-section{margin-bottom:3rem}.faq-item{margin-bottom:2rem;padding:1.5rem;background:#f8f9fa;border-radius:10px;border-left:4px solid #667eea}.faq-item h3{margin-top:0!important;color:#333!important;font-size:1.3rem!important}.page-actions{margin-top:3rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}@media (max-width: 768px){.landing-title{font-size:2.5rem}.landing-subtitle{font-size:1.3rem}.landing-description{font-size:1rem}.shipping-region-filter{flex-direction:column;padding:1rem}.region-select{width:100%;min-width:auto}.pagination{flex-wrap:wrap;gap:.4rem;padding:.75rem .5rem}.pagination-button{padding:.6rem .8rem;font-size:.85rem}.pagination-page{min-width:36px;height:36px;font-size:.85rem}.pagination-info{font-size:.85rem;padding:0 1rem}.landing-process{margin:2rem 1rem;padding:2rem 1rem}.process-steps{grid-template-columns:1fr;gap:1.5rem}.process-step{padding:1.2rem}.step-number{width:35px;height:35px;font-size:1rem}.step-title{font-size:1rem}.process-step-description{font-size:.85rem}.tutorial-video-link{font-size:1rem;padding:.8rem 1.5rem}.examples-title{font-size:2rem}.examples-gallery-grid{grid-template-columns:1fr;gap:1.5rem}.example-card-square{aspect-ratio:1}.example-caption{opacity:1;transform:translateY(0);background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.8) 70%,transparent 100%)}.examples-subtitle{font-size:1rem;padding:0 1rem}.landing-button{font-size:1.1rem;padding:1rem 2rem}.landing-hero{padding:3rem 1.5rem 2rem}.landing-examples{padding:3rem 1.5rem}.reviews-title{font-size:2rem}.reviews-grid{grid-template-columns:1fr;gap:1.5rem}.footer-nav{flex-direction:column;gap:1rem}.footer-separator{display:none}.info-page{padding:2rem 1.5rem}.info-page h1{font-size:2rem}.info-page h2{font-size:1.5rem}.info-content h3{font-size:1.3rem}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;min-width:320px;min-height:100vh}#app{width:100%}
