.quick-view-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:9998;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;animation:fadeIn .2s ease forwards}@keyframes fadeIn{to{opacity:1}}.quick-view-modal{background:var(--surface);border:1px solid var(--accent);border-radius:1rem;max-width:1000px;width:100%;max-height:90vh;overflow-y:auto;position:relative;z-index:9999;transform:scale(.95);animation:scaleIn .2s ease forwards}@keyframes scaleIn{to{transform:scale(1)}}.quick-view-close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--background);border:1px solid var(--accent);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:10}.quick-view-close:hover{background:var(--accent);transform:rotate(90deg)}.quick-view-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem}.quick-view-image{aspect-ratio:1;border-radius:.75rem;overflow:hidden;background:var(--background)}.quick-view-image img{width:100%;height:100%;object-fit:cover}.quick-view-details{display:flex;flex-direction:column;gap:1.5rem}.quick-view-title{font-size:1.75rem;font-weight:700;line-height:1.2}.quick-view-price{font-size:1.5rem;font-weight:600;color:var(--primary)}.quick-view-description{color:var(--secondary);line-height:1.6}.quick-view-options{display:flex;flex-direction:column;gap:1rem}.quick-view-option-group{display:flex;flex-direction:column;gap:.5rem}.quick-view-option-label{font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--secondary)}.quick-view-option-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.quick-view-option-btn{padding:.5rem 1rem;border:1px solid var(--accent);border-radius:.5rem;background:0 0;color:var(--primary);cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500}.quick-view-option-btn:hover{background:var(--accent);border-color:var(--primary)}.quick-view-option-btn.selected{background:var(--primary);color:var(--background);border-color:var(--primary)}.quick-view-actions{display:flex;gap:.75rem;margin-top:auto}.quick-view-add-to-cart{flex:1;padding:1rem;background:var(--primary);color:var(--background);border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.quick-view-add-to-cart:hover{opacity:.9;transform:translateY(-1px)}.quick-view-add-to-cart:disabled{opacity:.5;cursor:not-allowed;transform:none}.quick-view-view-full{padding:1rem 1.5rem;background:0 0;color:var(--primary);border:1px solid var(--accent);border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.quick-view-view-full:hover{background:var(--accent)}@media (max-width:768px){.quick-view-content{grid-template-columns:1fr;padding:1.5rem;gap:1.5rem}.quick-view-title{font-size:1.5rem}.quick-view-price{font-size:1.25rem}.quick-view-actions{flex-direction:column}.quick-view-close{top:.5rem;right:.5rem}}.quick-view-loading{display:flex;align-items:center;justify-content:center;min-height:400px}.quick-view-spinner{width:3rem;height:3rem;border:3px solid var(--accent);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.quick-view-hover-preview{position:fixed;z-index:9997;width:380px;background:var(--surface);border:1px solid var(--accent);border-radius:1rem;box-shadow:0 20px 60px rgba(0,0,0,.3);opacity:0;transform:translateY(10px);transition:all .2s ease;pointer-events:all}.quick-view-hover-preview.visible{opacity:1;transform:translateY(0)}.hover-preview-content{display:flex;flex-direction:column;gap:1rem;padding:1rem}.hover-preview-image{aspect-ratio:1;border-radius:.5rem;overflow:hidden;background:var(--background)}.hover-preview-image img{width:100%;height:100%;object-fit:cover}.hover-preview-info{display:flex;flex-direction:column;gap:.75rem}.hover-preview-title{font-size:1.25rem;font-weight:700;line-height:1.2;color:var(--primary)}.hover-preview-price{font-size:1.25rem;font-weight:600;color:var(--primary)}.hover-preview-desc{font-size:.875rem;color:var(--secondary);line-height:1.5}.hover-preview-cta{padding:.75rem 1.25rem;background:var(--primary);color:var(--background);border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.hover-preview-cta:hover{opacity:.9;transform:translateY(-1px)}@media (max-width:767px){.quick-view-hover-preview{display:none!important}}