.catalog-photo img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    display:block;
    background:#1f1a17;
}

.product-main-photo img,
.product-thumbs img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}
.catalog-photo{
    overflow:hidden;
}
.catalog-photo img{
    transition:.35s ease;
}
.catalog-card:hover .catalog-photo img{
    transform:scale(1.04);
}
.product-main-photo{
    overflow:hidden;
}
.product-thumbs div{
    overflow:hidden;
}
.empty-state{
    background:#fff;
    border:1px solid var(--border);
    border-radius:28px;
    padding:34px;
    box-shadow:0 18px 50px rgba(83,62,53,.06);
    margin-bottom:28px;
}
.empty-state h2{
    font-family:var(--font-title);
    font-size:38px;
}
.empty-state p{
    color:var(--muted);
    margin:10px 0 20px;
}
.btn[disabled],
button[disabled]{
    opacity:.55;
    cursor:not-allowed;
}

.product-page{
    grid-template-columns: minmax(420px, 620px) 1fr;
    align-items: start;
    gap: 40px;
}

.product-gallery{
    max-width: 620px;
}

.product-main-photo{
    min-height: auto;
    height: 680px;
    background: #181515;
}

.product-main-photo img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.product-detail{
    max-width: 620px;
    position: sticky;
    top: 120px;
}

@media(max-width: 1024px){
    .product-page{
        grid-template-columns: 1fr;
    }

    .product-gallery{
        max-width: 100%;
    }

    .product-main-photo{
        height: 620px;
    }

    .product-detail{
        position: static;
        max-width: 100%;
    }
}

@media(max-width: 760px){
    .product-main-photo{
        height: 480px;
    }
}

@media(max-width: 420px){
    .product-main-photo{
        height: 420px;
    }
}
