*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,sans-serif}body{background:#f5f5f5;color:#111}.loadingScreen{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;font-size:1.1rem;color:#555}.loader{border:4px solid #f3f3f3;border-top-color:#24c2f1;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:15px}@keyframes spin{to{transform:rotate(1turn)}}.toastOverlay{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:999}.toastBox{background:#24c2f1;color:#fff;padding:12px 20px;border-radius:8px;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.2)}.productPageContainer{max-width:1300px;margin:0 auto;padding:20px}.productGrid{display:grid;grid-template-columns:1fr 400px;grid-gap:30px;gap:30px}@media(max-width:1024px){.productGrid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.productGrid{grid-template-columns:1fr}}.leftSection{display:flex;flex-direction:column;gap:20px}.mainImageBox{position:relative;width:100%;max-width:400px;height:400px;margin:0 auto;background:#fafafa;border:1px solid #eee;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.08)}.mainImage{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}.mainImageBox:hover .mainImage{transform:scale(1.03)}.navBtn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:34px;height:34px;background:rgba(0,0,0,.45);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;opacity:.7;transition:all .25s ease}.navBtn.left{left:6px}.navBtn.right{right:6px}.navBtn:hover{opacity:1;background:rgba(0,0,0,.75);transform:translateY(-50%) scale(1.1)}.mainImageBox:hover .navBtn{opacity:1}.gallery{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px}.thumb{width:70px;height:70px;object-fit:cover;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:all .2s}.thumb.active{border-color:#24c2f1;transform:scale(1.05)}.descriptionBox{background:#fff;padding:15px 20px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.05)}.descriptionBox h2{font-size:1.3rem;margin-bottom:10px}.descriptionBox p{line-height:1.5;color:#555}.rightSection{position:-webkit-sticky;position:sticky;top:20px;align-self:start}.buyCard{background:#fff;padding:25px 20px;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.1);display:flex;flex-direction:column;gap:20px}.badge{background:#ff6b00;color:#fff;padding:5px 12px;border-radius:8px;font-size:.85rem}.title{font-size:1.6rem;font-weight:700}.priceBox{display:flex;gap:10px;align-items:baseline}.oldPrice{text-decoration:line-through;color:#999}.price{font-size:1.8rem;color:#24c2f1;font-weight:700}.variationGrid{display:flex;gap:10px;flex-wrap:wrap}.variationLabel{padding:6px 14px;border:1px solid #ccc;border-radius:8px;cursor:pointer;transition:.2s}.variationLabel.active,.variationLabel:hover{border-color:#24c2f1;background:#e0f7ff;color:#24c2f1;font-weight:600}.qtyBox{display:flex;gap:10px;align-items:center}.qtyBox button{width:32px;height:32px;border:none;border-radius:6px}.buyBtn,.qtyBox button{background:#24c2f1;color:#fff;cursor:pointer}.buyBtn{border:none;padding:12px;border-radius:10px;font-weight:700}.buyBtn:hover{background:#1aa1d1}@media(max-width:768px){.mainImageBox{height:300px;max-width:100%}.productGrid{gap:20px}}@media(max-width:480px){.mainImageBox{height:240px}.title{font-size:1.2rem}.price{font-size:1.3rem}}