.product-container{background:var(--background);background:linear-gradient(135deg,var(--background)0%,oklch(from var(--primary)l c h/.1)100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.product-card{background:var(--card);color:var(--card-foreground);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:24px;width:100%;max-width:900px;animation:.6s ease-out slideIn;overflow:hidden;box-shadow:0 20px 60px #0000001a}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.product-grid{grid-template-columns:1fr 1fr;gap:2rem;padding:2rem;display:grid}@media (max-width:768px){.product-grid{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem}}.image-section{aspect-ratio:1;background:var(--muted);border:1px solid var(--border);border-radius:16px;position:relative;overflow:hidden}.product-image{object-fit:cover;width:100%;height:100%;transition:transform .4s}.image-section:hover .product-image{transform:scale(1.05)}.gallery-grid{scrollbar-width:thin;scrollbar-color:var(--primary)var(--muted);gap:1rem;margin-top:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.gallery-grid::-webkit-scrollbar{height:6px}.gallery-grid::-webkit-scrollbar-track{background:var(--muted);border-radius:3px}.gallery-grid::-webkit-scrollbar-thumb{background-color:var(--primary);border-radius:3px}.gallery-thumbnail{cursor:pointer;background:var(--muted);border:2px solid #0000;border-radius:12px;flex-shrink:0;width:80px;height:80px;transition:all .3s;position:relative;overflow:hidden}.gallery-thumbnail:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.gallery-thumbnail.active{border-color:var(--primary);box-shadow:0 0 0 2px oklch(from var(--primary)l c h/.2)}.thumbnail-image{object-fit:cover;width:100%;height:100%}.category-badge{background:var(--background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--primary);z-index:2;border:1px solid var(--border);border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:.875rem;font-weight:600;display:flex;position:absolute;top:16px;left:16px;box-shadow:0 4px 12px #0000001a}.category-icon{object-fit:cover;border-radius:50%;width:20px;height:20px}.info-section{flex-direction:column;justify-content:space-between;display:flex}.product-header h1{color:var(--foreground);margin:0 0 .5rem;font-size:2rem;font-weight:700;line-height:1.2}.product-description{color:var(--muted-foreground);margin-bottom:1.5rem;font-size:1rem;line-height:1.6}.price-section{background:var(--primary);box-shadow:0 8px 24px oklch(from var(--primary)l c h/.3);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem}.price-label{color:var(--primary-foreground);opacity:.9;margin-bottom:.25rem;font-size:.875rem;font-weight:500}.price-value{color:var(--primary-foreground);align-items:baseline;gap:.5rem;font-size:2.5rem;font-weight:700;display:flex}.currency{opacity:.9;font-size:1.25rem;font-weight:600}.quantity-section{margin-bottom:1.5rem}.quantity-label{color:var(--foreground);margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:block}.quantity-selector{background:var(--muted);border:1px solid var(--input);border-radius:12px;align-items:center;gap:1rem;padding:.75rem;transition:all .3s;display:flex}.quantity-selector:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px oklch(from var(--primary)l c h/.2)}.quantity-btn{background:var(--primary);width:40px;height:40px;color:var(--primary-foreground);cursor:pointer;box-shadow:0 4px 12px oklch(from var(--primary)l c h/.3);border:none;border-radius:10px;justify-content:center;align-items:center;font-size:1.25rem;font-weight:600;transition:all .3s;display:flex}.quantity-btn:hover:not(:disabled){box-shadow:0 6px 16px oklch(from var(--primary)l c h/.4);transform:translateY(-2px)}.quantity-btn:active:not(:disabled){transform:translateY(0)}.quantity-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.quantity-value{text-align:center;color:var(--foreground);flex:1;min-width:60px;font-size:1.5rem;font-weight:700}.total-section{background:var(--muted);background:linear-gradient(to right,var(--muted),transparent);border:1px dashed var(--border);border-radius:12px;margin-bottom:1.5rem;padding:1rem 1.5rem}.total-label{color:var(--muted-foreground);margin-bottom:.25rem;font-size:.875rem;font-weight:500}.total-value{color:var(--foreground);align-items:baseline;gap:.5rem;font-size:1.75rem;font-weight:700;display:flex}.payment-btn{background:var(--primary);width:100%;color:var(--primary-foreground);cursor:pointer;box-shadow:0 8px 24px oklch(from var(--primary)l c h/.3);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.75rem;padding:1rem;font-size:1.125rem;font-weight:600;transition:all .3s;display:flex}.payment-btn:hover{box-shadow:0 12px 32px oklch(from var(--primary)l c h/.4);transform:translateY(-2px)}.payment-btn:active{transform:translateY(0)}.payment-icon{font-size:1.5rem}.loading-container{background:var(--background);justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-spinner{border:4px solid var(--muted);border-top-color:var(--primary);border-radius:50%;width:60px;height:60px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-container{background:var(--background);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.error-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:24px;max-width:500px;padding:3rem 2rem;box-shadow:0 20px 60px #0000001a}.error-icon{margin-bottom:1rem;font-size:4rem}.error-title{color:var(--destructive);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.error-message{color:var(--muted-foreground);font-size:1rem;line-height:1.6}*{transition:background-color .3s,border-color .3s,color .3s}
