.product-container{
    max-width:1280px;
    margin:4rem auto;
    padding:0 1.5rem;
}

.product-main{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:4rem;
}

.product-gallery{
    display:flex;
    flex-direction:column;
    gap:1rem;
}

.product-gallery img{
    width:100%;
    border-radius:4px;
    object-fit:cover;
    border:1px solid var(--border);
}

.product-info{
    position:sticky;
    top:100px;
    align-self:start;
}

.product-category{
    color:var(--accent);
    font-size:.75rem;
    letter-spacing:.15em;
    text-transform:uppercase;
    font-weight:700;
}

.product-name{
    font-family:'Playfair Display', serif;
    font-size:2.5rem;
    line-height:1.2;
    margin:1rem 0;
}

.product-price{
    font-size:2rem;
    font-weight:700;
    margin-bottom:1.5rem;
}

.product-description{
    color:#666;
    line-height:1.8;
    margin-bottom:2rem;
}

.size-title{
    font-size:.85rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:1rem;
}

.size-options{
    display:flex;
    gap:.75rem;
    flex-wrap:wrap;
}

.size-option{
    width:48px;
    height:48px;
    border:1px solid var(--border);
    background:white;
    cursor:pointer;
    font-weight:600;
    transition:.2s;
}

.size-option:hover{
    background:var(--black);
    color:white;
}

.buy-btn{
    width:100%;
    margin-top:2rem;
    background:var(--black);
    color:white;
    border:none;
    padding:16px;
    cursor:pointer;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
    transition:.2s;
}

.buy-btn:hover{
    background:#222;
}

.product-benefits{
    margin-top:2rem;
    padding-top:2rem;
    border-top:1px solid var(--border);
}

.benefit{
    margin-bottom:1rem;
    color:#666;
    font-size:.95rem;
}

.details-section{
    max-width:900px;
    margin:6rem auto;
    padding:0 1.5rem;
}

.section-title{
    font-family:'Playfair Display', serif;
    font-size:2rem;
    margin-bottom:2rem;
}

.details-text{
    color:#666;
    line-height:2;
}

.related-products{
    max-width:1280px;
    margin:6rem auto;
    padding:0 1.5rem;
}

.products-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:1.5rem;
}

.product-card{
    background:white;
    border:1px solid var(--border);
    overflow:hidden;
    transition:.3s;
}

.product-card:hover{
    transform:translateY(-5px);
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.product-card img{
    width:100%;
    height:250px;
    object-fit:cover;
}

.card-info{
    padding:1rem;
}

.card-name{
    font-weight:600;
}

.card-price{
    margin-top:.5rem;
    font-weight:700;
}

@media(max-width:900px){

.product-main{
    grid-template-columns:1fr;
}

.product-info{
    position:static;
}

.product-name{
    font-size:2rem;
}

}
