:root{--primary:#8b5cf6;--accent:#f5e9f7;--text:#1f2937;--muted:#6b7280}body{font-family:Poppins;background:#f4f4f4;margin:0;color:var(--text);line-height:1.6}.container{max-width:1100px;margin:auto;display:flex;gap:24px;flex-wrap:wrap;padding-bottom:30px}.gallery{display:flex;gap:12px;flex:1;min-width:300px}.thumbnails{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow-y:auto}.thumbnails img{width:64px;height:64px;object-fit:cover;border-radius:8px;cursor:pointer;border:2px solid transparent}.thumbnails img.active{border-color:#3b82f6}.main-image-container{position:relative;width:420px;height:420px;overflow:hidden;border-radius:12px;background:#000;cursor:zoom-in}.main-image{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.details{flex:1;min-width:320px;display:flex;flex-direction:column}.product-title{font-size:1.9em;font-weight:700}.product-price{font-size:1.4em;color:#16a34a;font-weight:700}.product-category{font-size:.95em;color:#666}.product-desc{font-size:1em;color:#333;line-height:1.4}.option-group{margin-top:14px}.option-group>.label{font-weight:600;margin-bottom:6px;display:block}.option-list{display:flex;flex-wrap:wrap;gap:8px}.option-list input{display:none}.option-pill{padding:8px 14px;border-radius:999px;border:2px solid #d1d5db;cursor:pointer;font-size:.95em;background:#fff;transition:all .15s ease}.option-pill:hover{border-color:#d425eb}input:checked+.option-pill{background:#d425eb;color:#fff;border-color:#d425eb}.field{margin-top:14px;display:flex;flex-direction:column;gap:6px}.field input,.field textarea{padding:10px 12px;font-size:1em;border-radius:10px;border:1px solid #ccc}.field input:focus,.field textarea:focus{outline:0;border-color:#d425eb}textarea{resize:vertical;min-height:80px}button{margin-top:16px;padding:12px 16px;background:#d425eb;color:#fff;border:none;border-radius:12px;font-size:1em;font-weight:600;cursor:pointer}button:hover{background:#f03bf6}.total{font-weight:600;margin-top:10px}.field input,.field textarea{display:block}.color-field{display:flex;flex-direction:column;gap:6px;font-family:system-ui,sans-serif}.color-field label{font-size:.85rem;font-weight:500;color:#444}.color-field input[type=color]{width:200px;height:36px;padding:0;border:none;border-radius:8px;background:0 0;cursor:pointer}.color-field input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-field input[type=color]::-webkit-color-swatch{border-radius:8px;border:2px solid #ddd}.color-field input[type=color]:hover::-webkit-color-swatch{border-color:#999}.color-field input[type=color]:focus-visible{outline:0}.color-field input[type=color]:focus-visible::-webkit-color-swatch{border-color:#d425eb}.top-nav{background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:1000;box-sizing:border-box}.nav-inner{max-width:1200px;margin:auto;padding:18px 20px;display:flex;justify-content:space-between;align-items:center}.logo a{font-family:"Playfair Display",serif;font-size:1.4rem;text-decoration:none;color:var(--text)}.nav-links{list-style:none;display:flex;gap:28px;margin:0;padding:0}.nav-links a{text-decoration:none;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.nav-links a:hover{color:var(--primary)}.quote-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px;align-items:start}.quote-image-input{position:relative;border:2px dashed #ccc;border-radius:8px;overflow:hidden;width:150px;height:150px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fafafa;transition:border-color .2s}.quote-image-input:hover{border-color:#3b82f6}.quote-image-input .placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.quote-image-input .placeholder img{opacity:.55}.quote-image-input.has-image .placeholder{display:none}.quote-image-input img{width:100%;height:100%;object-fit:cover;display:block}.quote-image-input .status{position:absolute;bottom:4px;left:4px;right:4px;font-size:.8em;text-align:center;background:rgba(0,0,0,.5);color:#fff;border-radius:4px;padding:2px 0;display:none}.quote-image-input.uploading .status{display:block}.quote-image-input .delete{position:absolute;top:6px;right:6px;background:rgba(255,0,0,.85);color:#fff;border:none;border-radius:50%;width:24px;height:24px;padding:0;margin:0;line-height:1;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.08)}.quote-image-input .image-url{display:none}.quote-image-input .image-file{display:none}.add-image-btn{margin-top:10px;width:fit-content;padding:10px 14px;border-radius:10px}