/*==================================================
            PRODUCT DETAILS PAGE
            Yoga Foto Station
==================================================*/


/*==================================================
                BREADCRUMB
==================================================*/

.breadcrumb-section{

    background:#111;

    padding:35px 0;

    border-bottom:1px solid rgba(255,255,255,.08);

}

.breadcrumb{

    display:flex;

    align-items:center;

    gap:12px;

    flex-wrap:wrap;

    color:#bdbdbd;

    font-size:15px;

}

.breadcrumb a{

    color:#bdbdbd;

    transition:.35s;

}

.breadcrumb a:hover{

    color:var(--primary);

}

.breadcrumb span{

    color:#fff;

    font-weight:600;

}


/*==================================================
                PRODUCT SECTION
==================================================*/

.single-product{

    padding:90px 0;

    background:#0f0f0f;

}

.product-wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:flex-start;

}


/*==================================================
                PRODUCT GALLERY
==================================================*/

.product-gallery{

    position:sticky;

    top:120px;

}


/*==================================================
                MAIN IMAGE
==================================================*/

.main-image{

    position:relative;

    overflow:hidden;

    border-radius:22px;

    background:#181818;

    border:1px solid rgba(255,255,255,.08);

    aspect-ratio:1/1;

}

.main-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.5s ease;

    cursor:zoom-in;

}

.main-image:hover img{

    transform:scale(1.08);

}


/*==================================================
                IMAGE SHADOW
==================================================*/

.main-image::after{

    content:"";

    position:absolute;

    inset:0;

    box-shadow:inset 0 0 80px rgba(0,0,0,.20);

    pointer-events:none;

}


/*==================================================
                THUMBNAILS
==================================================*/

.thumbnail-gallery{

    display:flex;

    gap:15px;

    margin-top:20px;

    flex-wrap:wrap;

}

.thumbnail-gallery img{

    width:95px;

    height:95px;

    border-radius:14px;

    object-fit:cover;

    cursor:pointer;

    border:2px solid transparent;

    transition:.35s;

    background:#181818;

}

.thumbnail-gallery img:hover{

    transform:translateY(-5px);

}

.thumbnail-gallery img.active{

    border-color:var(--primary);

}


/*==================================================
                GALLERY SCROLL
==================================================*/

.thumbnail-gallery{

    overflow-x:auto;

    scrollbar-width:none;

}

.thumbnail-gallery::-webkit-scrollbar{

    display:none;

}


/*==================================================
                IMAGE LOADER
==================================================*/

.main-image img{

    opacity:1;

    transition:

        opacity .35s,

        transform .5s;

}

.main-image.loading img{

    opacity:.25;

}


/*==================================================
                GALLERY HOVER
==================================================*/

.thumbnail-gallery img:hover{

    border-color:rgba(212,175,55,.5);

}


/*==================================================
                RESPONSIVE
==================================================*/

@media(max-width:1100px){

    .product-wrapper{

        gap:40px;

    }

}

@media(max-width:992px){

    .product-wrapper{

        grid-template-columns:1fr;

    }

    .product-gallery{

        position:relative;

        top:auto;

    }

}

@media(max-width:768px){

    .single-product{

        padding:70px 0;

    }

    .thumbnail-gallery img{

        width:80px;

        height:80px;

    }

}

@media(max-width:480px){

    .breadcrumb{

        font-size:14px;

    }

    .main-image{

        border-radius:18px;

    }

    .thumbnail-gallery{

        justify-content:center;

    }

}

/*==================================================
                PRODUCT INFORMATION
==================================================*/

.product-info{

    display:flex;

    flex-direction:column;

    justify-content:flex-start;

}


/*==================================================
                CATEGORY
==================================================*/

.product-category{

    display:inline-flex;

    align-items:center;

    width:max-content;

    padding:8px 18px;

    border-radius:50px;

    background:rgba(212,175,55,.12);

    border:1px solid rgba(212,175,55,.25);

    color:var(--primary);

    font-size:14px;

    font-weight:600;

    letter-spacing:1px;

    text-transform:uppercase;

    margin-bottom:25px;

}


/*==================================================
                PRODUCT TITLE
==================================================*/

.product-info h1{

    font-family:"Abril Fatface",serif;

    font-size:52px;

    font-weight:400;

    line-height:1.2;

    color:#fff;

    margin-bottom:20px;

}


/*==================================================
                PRICE
==================================================*/

.product-price{

    font-size:34px;

    font-weight:700;

    color:var(--primary);

    margin-bottom:35px;

}


/*==================================================
                DESCRIPTION
==================================================*/

.product-description{

    color:#bdbdbd;

    font-size:17px;

    line-height:1.9;

    margin-bottom:40px;

}


/*==================================================
                VARIANTS
==================================================*/

#variantContainer{

    display:flex;

    flex-direction:column;

    gap:25px;

    margin-bottom:40px;

}


/*==================================================
                VARIANT BOX
==================================================*/

.variant-group{

    display:flex;

    flex-direction:column;

    gap:15px;

}

.variant-group h4{

    color:#fff;

    font-size:17px;

    font-weight:600;

}


/*==================================================
                VARIANT OPTIONS
==================================================*/

.variant-options{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

}


/*==================================================
                VARIANT BUTTON
==================================================*/

.variant-btn{

    padding:12px 22px;

    border-radius:50px;

    border:1px solid rgba(255,255,255,.12);

    background:#181818;

    color:#fff;

    cursor:pointer;

    transition:.35s;

    font-size:15px;

}

.variant-btn:hover{

    border-color:var(--primary);

    color:var(--primary);

}

.variant-btn.active{

    background:var(--primary);

    color:#111;

    border-color:var(--primary);

}


/*==================================================
                WHATSAPP BUTTON
==================================================*/

.whatsapp-product{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    padding:0 30px;

    height:60px;

    border-radius:50px;

    background:#25D366;

    color:#fff;

    font-size:17px;

    font-weight:700;

    text-decoration:none;

    transition:.35s;

    box-shadow:0 15px 35px rgba(37,211,102,.20);

}

.whatsapp-product:hover{

    transform:translateY(-4px);

    box-shadow:0 25px 45px rgba(37,211,102,.35);

}

.whatsapp-product{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    margin-top:25px;
    gap:12px;
    height:60px;
    border-radius:50px;
    background:#25D366;
    color:#fff;
    font-size:17px;
    font-weight:700;
    text-decoration:none;
}


/*==================================================
                PRODUCT DETAILS
==================================================*/

.product-details{

    padding:90px 0;

    background:#121212;

}

.product-details h2{

    font-family:"Abril Fatface",serif;

    font-size:42px;

    color:#fff;

    font-weight:400;

    margin-bottom:30px;

}

.details-content{

    color:#bdbdbd;

    font-size:17px;

    line-height:2;

    max-width:900px;

}


/*==================================================
                RELATED PRODUCTS
==================================================*/

.related-products{

    padding:90px 0;

    background:#0f0f0f;

}

.related-products .section-title{

    text-align:center;

    margin-bottom:60px;

}

.related-products .section-title span{

    display:block;

    color:var(--primary);

    font-size:14px;

    letter-spacing:3px;

    margin-bottom:15px;

    text-transform:uppercase;

}

.related-products .section-title h2{

    font-family:"Abril Fatface",serif;

    color:#fff;

    font-size:46px;

    font-weight:400;

}

.related-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}


/*==================================================
                RESPONSIVE
==================================================*/

@media(max-width:1200px){

    .related-grid{

        grid-template-columns:repeat(3,1fr);

    }

}

@media(max-width:992px){

    .product-info h1{

        font-size:42px;

    }

    .product-price{

        font-size:30px;

    }

    .related-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .product-info{

        margin-top:40px;

    }

    .product-info h1{

        font-size:34px;

    }

    .product-price{

        font-size:28px;

    }

    .product-details{

        padding:70px 0;

    }

    .related-products{

        padding:70px 0;

    }

    .related-products .section-title h2{

        font-size:36px;

    }

}

@media(max-width:576px){

    .product-category{

        font-size:13px;

    }

    .product-info h1{

        font-size:28px;

    }

    .product-price{

        font-size:24px;

    }

    .product-description{

        font-size:16px;

    }

    .variant-options{

        gap:10px;

    }

    .variant-btn{

        width:100%;

        text-align:center;

    }

    .whatsapp-product{

        max-width:100%;

    }

    .related-grid{

        grid-template-columns:1fr;

    }

}

/*==================================================
        RESPONSIVE PRODUCT PAGE
==================================================*/


/*==========================================
        Large Laptop
==========================================*/

@media (max-width:1400px){

    .product-wrapper{

        gap:60px;

    }

}


/*==========================================
        Laptop
==========================================*/

@media (max-width:1200px){

    .single-product{

        padding:80px 0;

    }

    .product-wrapper{

        gap:50px;

    }

    .product-info h1{

        font-size:44px;

    }

    .product-price{

        font-size:32px;

    }

    .related-grid{

        grid-template-columns:repeat(3,1fr);

    }

}


/*==========================================
        Tablet Landscape
==========================================*/

@media (max-width:992px){

    .breadcrumb{

        justify-content:center;

    }

    .product-wrapper{

        grid-template-columns:1fr;

        gap:50px;

    }

    .product-gallery{

        position:relative;

        top:auto;

        max-width:700px;

        margin:0 auto;

    }

    .product-info{

        text-align:center;

        align-items:center;

    }

    .product-category{

        margin-inline:auto;

    }

    .product-description{

        max-width:700px;

    }

    .variant-group{

        width:100%;

        align-items:center;

    }

    .variant-options{

        justify-content:center;

    }

    .details-content{

        max-width:100%;

    }

    .related-grid{

        grid-template-columns:repeat(2,1fr);

    }

}


/*==========================================
        Tablet Portrait
==========================================*/

@media (max-width:768px){

    .breadcrumb-section{

        padding:25px 0;

    }

    .single-product{

        padding:70px 0;

    }

    .product-info h1{

        font-size:36px;

    }

    .product-price{

        font-size:28px;

    }

    .product-description{

        font-size:16px;

        line-height:1.8;

    }

    .thumbnail-gallery{

        justify-content:center;

    }

    .thumbnail-gallery img{

        width:75px;

        height:75px;

    }

    .product-details{

        padding:70px 0;

    }

    .product-details h2{

        font-size:34px;

    }

    .related-products{

        padding:70px 0;

    }

    .related-products .section-title{

        margin-bottom:45px;

    }

    .related-products .section-title h2{

        font-size:36px;

    }

}


/*==========================================
        Mobile
==========================================*/

@media (max-width:576px){

    .breadcrumb{

        font-size:13px;

        gap:8px;

    }

    .product-info h1{

        font-size:30px;

    }

    .product-price{

        font-size:24px;

    }

    .product-category{

        font-size:12px;

        padding:7px 16px;

    }

    .product-description{

        font-size:15px;

    }

    .variant-options{

        flex-direction:column;

        width:100%;

    }

    .variant-btn{

        width:100%;

    }

    .whatsapp-product{

        width:100%;

        max-width:100%;

        height:56px;

        font-size:16px;

    }

    .details-content{

        font-size:15px;

        line-height:1.9;

    }

    .related-grid{

        grid-template-columns:1fr;

    }

}


/*==========================================
        Small Mobile
==========================================*/

@media (max-width:420px){

    .single-product{

        padding:60px 0;

    }

    .main-image{

        border-radius:16px;

    }

    .thumbnail-gallery img{

        width:65px;

        height:65px;

    }

    .product-info h1{

        font-size:26px;

    }

    .product-price{

        font-size:22px;

    }

    .product-details h2{

        font-size:28px;

    }

    .related-products .section-title h2{

        font-size:30px;

    }

}


/*==========================================
        Animation
==========================================*/

.product-gallery,
.product-info{

    animation:fadeUp .8s ease forwards;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/*==========================================
        Image Loading
==========================================*/

.main-image img{

    transition:

        opacity .35s,

        transform .45s;

}

.main-image.loading img{

    opacity:.35;

}


/*==========================================
        Button Transition
==========================================*/

.variant-btn,
.whatsapp-product,
.thumbnail-gallery img{

    transition:all .35s ease;

}

/*==================================================
            RELATED PRODUCTS
==================================================*/

.related-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    margin-top:50px;

}

.no-related-products{

    grid-column:1/-1;

    text-align:center;

    color:#999;

    padding:60px;

}

.no-related-products p{

    font-size:18px;

}

/*=====================================
        VARIANTS
======================================*/

.variant-section{

    margin-top:35px;

}

.variant-section h4{

    margin-bottom:20px;

}

.variant-option{

    display:block;

    margin-bottom:15px;

    padding:15px;

    border:1px solid #ddd;

    border-radius:10px;

    cursor:pointer;

    transition:.3s;

}

.variant-option:hover{

    border-color:#D4AF37;

}

.variant-option input{

    margin-right:10px;

}

/*==================================
PRODUCT QUANTITY
==================================*/

.quantity-section{

    margin:35px 0;

}

.quantity-section label{

    display:block;

    margin-bottom:15px;

    font-size:20px;

    font-weight:700;

    color:#fff;

}

.quantity-box{

    display:flex;

    align-items:center;

    width:170px;

    height:52px;

    border:1px solid rgba(255,255,255,.15);

    border-radius:12px;

    overflow:hidden;

    background:#181818;

}

.quantity-box button{

    flex:0 0 50px;

    width:50px;

    min-width:50px;

    max-width:50px;

    height:52px;

    border:none;

    background:#181818;

    color:#fff;

    font-size:26px;

    font-weight:700;

    cursor:pointer;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.3s;

}

.quantity-box button:hover{

    background:#D4AF37;

    color:#111;

}

.quantity-box input{

    flex:1;

    width:70px;

    height:52px;

    border:none;

    outline:none;

    background:#111;

    color:#fff;

    text-align:center;

    font-size:20px;

    font-weight:700;

}
