.navbar{background-color:var(--primary-color);padding:1rem 0;box-shadow:0 2px 4px #0000001a}.navbar-container{display:flex;justify-content:space-between;align-items:center}.navbar-logo{font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none}.navbar-links{display:flex;gap:1.5rem}.navbar-link{color:#fff;text-decoration:none;font-weight:500;transition:opacity .3s ease}.navbar-link:hover{opacity:.8}@media (max-width: 768px){.navbar-container{flex-direction:column;gap:1rem}}.image-transition-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block;z-index:1;object-fit: cover}.home-page{padding-bottom:4rem}.hero{padding:4rem 0;background-color:var(--primary-color);color:#fff}.hero-container{display:flex;align-items:center;gap:2rem}.hero-content{flex:1}.hero-image{position:relative;width:673px;height:100%;min-height:400px;overflow:hidden}.hero h1{font-size:3rem;margin-bottom:1rem;line-height:1.2}.hero p{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.cta-button{display:inline-block;background-color:var(--accent-color);color:#fff;padding:.8rem 1.5rem;border-radius:4px;text-decoration:none;font-weight:700;transition:background-color .3s ease}.cta-button:hover{background-color:var(--secondary-color)}.section-title{text-align:center;margin:3rem 0 2rem;font-size:2rem;color:var(--primary-color)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.feature-card{background-color:#fff;border-radius:8px;padding:2rem;text-align:center;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease}.feature-card:hover{transform:translateY(-5px)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{margin-bottom:.5rem;color:var(--primary-color)}.showcase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.showcase-item{background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.showcase-image{height:200px;background-size:cover;background-position:center}.showcase-item h3{padding:1rem;text-align:center;color:var(--primary-color)}.showcase-link{display:block;background-color:var(--secondary-color);color:#fff;text-align:center;padding:.8rem;text-decoration:none;font-weight:700;transition:background-color .3s ease}.showcase-link:hover{background-color:var(--primary-color)}@media (max-width: 768px){.hero-container{flex-direction:column}.hero-content,.hero-image{width:100%}.hero h1{font-size:2.5rem}}.product-options{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.option-button{padding:8px 16px;background-color:#f0f0f0;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.option-button.active{background-color:var(--primary-color);color:#fff}.option-button:hover{background-color:#e0e0e0}.option-button.active:hover{background-color:var(--primary-color);opacity:.9}.size-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.size-option{display:flex;flex-direction:column}.size-label{font-weight:700;margin-bottom:5px}.size-select{padding:8px;border-radius:4px;border:1px solid #ddd}@media (max-width: 768px){.size-options{grid-template-columns:1fr}}.product-page{padding:2rem 0 4rem}.page-title{text-align:center;margin-bottom:2rem;color:var(--primary-color);font-size:2.5rem;font-weight:700}.product-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.product-preview{display:flex;flex-direction:column;gap:1.5rem}.preview-image-container{position:relative;background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;aspect-ratio:1;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,box-shadow .3s ease}.preview-image-container:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.preview-image{max-width:100%;max-height:100%;object-fit:contain}.uploaded-design{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:60%;max-height:60%;object-fit:contain;transition:transform .3s ease}.custom-text-overlay{position:absolute;bottom:20%;left:0;width:100%;text-align:center;color:#333;font-size:1.2rem;font-weight:700;text-shadow:1px 1px 2px rgba(255,255,255,.8);padding:0 1rem;word-wrap:break-word}.three-preview{height:400px;background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:transform .3s ease,box-shadow .3s ease}.three-preview:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.product-options{display:flex;flex-direction:column;gap:1.5rem}.option-section{background-color:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:transform .3s ease,box-shadow .3s ease}.option-section:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.option-section h2{margin-bottom:1rem;color:var(--primary-color);font-size:1.5rem;font-weight:600}.option-description{margin-top:.8rem;font-size:.9rem;color:#666;line-height:1.5}.upload-area{border:2px dashed #ddd;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease}.upload-area:hover,.upload-area.drag-over{border-color:var(--primary-color);background-color:rgba(var(--primary-color-rgb),.05)}.upload-area p{margin-bottom:1rem;color:#666}.upload-button{background-color:var(--secondary-color);color:#fff;border:none;border-radius:8px;padding:.8rem 1.5rem;cursor:pointer;font-weight:700;transition:all .3s ease;box-shadow:0 4px 6px #0000001a}.upload-button:hover{background-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 6px 8px #00000026}.custom-text-input{width:100%;padding:1rem;border:1px solid #ddd;border-radius:8px;resize:none;font-family:inherit;transition:border-color .3s ease,box-shadow .3s ease}.custom-text-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.2)}.product-summary{background-color:var(--primary-color);color:#fff;border-radius:12px;padding:1.5rem;margin-top:1rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:transform .3s ease,box-shadow .3s ease}.product-summary:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.product-summary h2{color:#fff;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.summary-details{margin-bottom:1.5rem}.summary-details p{margin-bottom:.8rem;line-height:1.5}.add-to-cart-button{width:100%;background-color:var(--accent-color);color:#fff;border:none;border-radius:8px;padding:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000001a}.add-to-cart-button:hover{background-color:var(--secondary-color);transform:translateY(-2px);box-shadow:0 6px 8px #00000026}@media (max-width: 768px){.product-container{grid-template-columns:1fr}}.app{width:100%;min-height:100vh;transition:all .5s ease}.theme-0{--primary-color: #c50606;--primary-color-rgb: 52, 152, 219;--secondary-color: #4c1f15;--background-color: #0b0404;--text-color: #333;--accent-color: #e74c3c;background-color:var(--background-color);color:var(--text-color)}.theme-1{--primary-color: #9b59b6;--primary-color-rgb: 155, 89, 182;--secondary-color: #f1c40f;--background-color: #2c3e50;--text-color: #ecf0f1;--accent-color: #e67e22;background-color:var(--background-color);color:var(--text-color)}.theme-2{--primary-color: #ff4757;--primary-color-rgb: 255, 71, 87;--secondary-color: #5352ed;--background-color: #f1f2f6;--text-color: #2f3542;--accent-color: #ffa502;background-color:var(--background-color);color:var(--text-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease forwards}button{position:relative;overflow:hidden}button:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:rgba(255,255,255,.5);opacity:0;border-radius:100%;transform:scale(1) translate(-50%);transform-origin:50% 50%}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(20);opacity:0}}button:focus:not(:active):after{animation:ripple 1s ease-out}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;line-height:1.5;font-weight:400;color:#333;background-color:#f5f5f5}#root{width:100%;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 20px}@media (max-width: 768px){.container{padding:0 10px}}
