.product-page{

    max-width:1500px;
    margin:auto;

    padding:40px 20px;

}

.product-main{

    display:grid;
    grid-template-columns:550px 1fr;

    gap:40px;

    align-items:start;

}

.product-gallery{

    position:sticky;
    top:140px;

}

.main-image-wrapper{

    background:var(--card);

    border:1px solid var(--border);

    border-radius:30px;

    overflow:hidden;

    height:550px;

}

.main-image-wrapper img{

    width:100%;
    height:100%;

    object-fit:cover;

}

.product-thumbnails{

    display:flex;
    gap:14px;

    margin-top:20px;

    overflow-x:auto;

}

.thumbnail-img{

    width:90px;
    height:90px;

    border-radius:18px;

    object-fit:cover;

    cursor:pointer;

    border:2px solid transparent;

    transition:.25s;

}

.thumbnail-img:hover{

    border-color:var(--orange);

}

.product-info{

    background:var(--card);

    border:1px solid var(--border);

    border-radius:30px;

    padding:40px;

}

.product-company{

    color:var(--textSoft);

    margin-bottom:16px;

}

.product-info h1{

    line-height:1.8;

    font-size:34px;

    margin-bottom:25px;

}

.product-meta{

    display:flex;
    gap:20px;
    flex-wrap:wrap;

    margin-bottom:30px;

    color:var(--textSoft);

}

.product-stock{

    width:max-content;

    padding:10px 18px;

    border-radius:40px;

    margin-bottom:30px;

    font-weight:700;

}

.product-stock.available{

    background:rgba(34,197,94,.15);
    color:#22c55e;

}

.product-stock.unavailable{

    background:rgba(239,68,68,.15);
    color:#ef4444;

}

.product-price{

    font-size:46px;
    font-weight:900;

    color:#f59e0b;

    margin-bottom:35px;

}

.product-description{

    line-height:2.2;

    color:var(--textSoft);

    margin-bottom:40px;

}

.add-cart-btn{

    height:64px;

    padding:0 40px;

    border:none;

    border-radius:20px;

    background:var(--orange);

    color:#fff;

    font-size:18px;
    font-weight:700;

    cursor:pointer;

    transition:.25s;

}

.add-cart-btn:hover{

    background:var(--orangeHover);

}

.related-products{

    margin-top:80px;

}

.section-header{

    margin-bottom:30px;

}

.related-slider{

    display:flex;
    gap:20px;

    overflow-x:auto;

    padding-bottom:10px;

}

.related-card{

    min-width:260px;
    width:260px;

    background:var(--card);

    border:1px solid var(--border);

    border-radius:24px;

    overflow:hidden;

    transition:.25s;

}

.related-card:hover{

    transform:translateY(-6px);

}

.related-card img{

    width:100%;
    height:240px;

    object-fit:cover;

}

.related-body{

    padding:20px;

}

.related-body h3{

    line-height:1.8;

    font-size:16px;

    height:58px;

    overflow:hidden;

}

.related-body span{

    color:var(--textSoft);

    font-size:13px;

}

.related-price{

    margin-top:18px;

    color:#f59e0b;

    font-size:24px;
    font-weight:800;

}

@media(max-width:1100px){

    .product-main{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .main-image-wrapper{

        height:360px;

    }

    .product-info{

        padding:24px;

    }

    .product-info h1{

        font-size:26px;

    }

    .product-price{

        font-size:34px;

    }

}