/*
|--------------------------------------------------------------------------
| RESET
|--------------------------------------------------------------------------
*/

.cpd-wrapper *,
.cpd-wrapper *::before,
.cpd-wrapper *::after{

    box-sizing:border-box;
}

.cpd-video{
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
    border-radius: 2px;
    margin: 20px 0;
}

.cpd-video iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/*
|--------------------------------------------------------------------------
| WRAPPER
|--------------------------------------------------------------------------
*/

.cpd-wrapper{

    max-width:1400px;

    margin:0 auto;

    background:#fff;

    overflow:hidden;
}

/*
|--------------------------------------------------------------------------
| DESKTOP
|--------------------------------------------------------------------------
*/

@media(min-width:760px){

    .cpd-wrapper{

        display:grid;

        grid-template-columns:
            minmax(0,60%)
            minmax(300px,40%);

        gap:30px;

        align-items:start;
    }

}

/*
|--------------------------------------------------------------------------
| TOPBAR
|--------------------------------------------------------------------------
*/

.cpd-topbar{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-bottom:18px;

    gap:12px;
}

.cpd-topbar .woocommerce-breadcrumb{

    font-size:13px;

    color:#666;

    overflow:hidden;

    white-space:nowrap;

    text-overflow:ellipsis;
}

.cpd-topbar .woocommerce-breadcrumb a{

    color:#666;

    text-decoration:none;
}

/*
|--------------------------------------------------------------------------
| SHARE
|--------------------------------------------------------------------------
*/

.cpd-share{

    width:42px;

    height:42px;

    border:none;

    border-radius:50%;

    background:#f5f5f5;

    cursor:pointer;

    flex-shrink:0;

    transition:.2s;
}

.cpd-share:hover{

    background:#111;

    color:#fff;
}

/*
|--------------------------------------------------------------------------
| GALLERY
|--------------------------------------------------------------------------
*/

.cpd-gallery{

    width:100%;
}

.cpd-gallery-inner{

    display:flex;

    align-items:flex-start;

    gap:15px;

    width:100%;
}

/*
|--------------------------------------------------------------------------
| MAIN IMAGE
|--------------------------------------------------------------------------
*/

.cpd-main-image-wrap{

    width:100%;

    background:#fafafa;

    border:1px solid #eee;

    border-radius:4px;

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:zoom-in;

}

.cpd-main-image{

    width:100%;

    max-width:100%;

    max-height:620px;

    object-fit:contain;

    transition:.3s;
}

/*
|--------------------------------------------------------------------------
| THUMBNAILS
|--------------------------------------------------------------------------
*/

.cpd-thumbnails{

    display:flex;

    flex-direction:row;

    gap:12px;

    margin-top:15px;

    overflow-x:auto;

    scrollbar-width:none;

    padding-bottom:5px;

}

.cpd-thumbnails::-webkit-scrollbar{

    display:none;

}

.cpd-thumb{

    width:90px;

    height:90px;

    flex:0 0 90px;

    object-fit:cover;

    border-radius:10px;

    border:2px solid #ddd;

    cursor:pointer;

    transition:.25s;

    background:#fff;

}

.cpd-thumb:hover{

    transform:translateY(-3px);

    border-color:#16a34a;

}

.cpd-thumb.active{

    border:2px solid #16a34a;

}


#cpdLightbox{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.92);

    display:none;

    align-items:center;

    justify-content:center;

    z-index:999999;
}

#cpdLightbox.active{

    display:flex;
}

#cpdLightbox img{

    max-width:94vw;

    max-height:94vh;

    object-fit:contain;

    animation:zoom .25s;
}

#cpdClose{

    position:absolute;

    top:20px;

    right:30px;

    color:#fff;

    font-size:42px;

    cursor:pointer;
}

@keyframes zoom{

from{

transform:scale(.8);

opacity:0;

}

to{

transform:scale(1);

opacity:1;

}

}
/*
|--------------------------------------------------------------------------
| RIGHT
|--------------------------------------------------------------------------
*/

.cpd-right{

    width:100%;
}

.cpd-title{

    font-size:18px;

    line-height:1.3;

    color:#111;

    margin:0 0 14px;
}

/*
|--------------------------------------------------------------------------
| RATING
|--------------------------------------------------------------------------
*/

.cpd-rating{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:18px;
}

.cpd-stars{

    color:#ffb400;

    font-size:16px;
}

.cpd-rating span{

    font-size:14px;

    color:#666;
}

/*
|--------------------------------------------------------------------------
| PRICE
|--------------------------------------------------------------------------
*/

.cpd-price{

    color:#ff3d00;

    font-size:22px;

    font-weight:600;

    margin-bottom:16px;
}

.cpd-price del{

    color:#999;

    font-size:22px;

    margin-right:8px;
}

.cpd-price ins{

    text-decoration:none;
}



/*
|--------------------------------------------------------------------------
| SHORT DESCRIPTION
|--------------------------------------------------------------------------
*/

.cpd-short-description{

    font-size:13px;
    margin-top: 10px;


    line-height:1.9;
    background: #f8f8f8;

    color:#444;
}

/*
|--------------------------------------------------------------------------
| ACTIONS
|--------------------------------------------------------------------------
*/

.cpd-actions{

    margin-top:10px;

    padding-top:10px;

    border-top:1px solid #f1f1f1;
}

.cpd-actions form.cart{

    display:flex;

    flex-direction:column;

    gap:10px;
}

/*
|--------------------------------------------------------------------------
| QUANTITY
|--------------------------------------------------------------------------
*/

.cpd-actions .quantity{

    width:180px;

    max-width:100%;

    height:54px;

    border:1px solid #eee;

    border-radius:16px;

    overflow:hidden;
}

.cpd-actions .quantity input.qty{

    width:100%;

    height:100%;

    border: 1px solid #dddddd !important;

    text-align:center;

    font-size:18px;

    font-weight:600;
}

/*
|--------------------------------------------------------------------------
| BUTTONS
|--------------------------------------------------------------------------
*/

.cpd-actions button.single_add_to_cart_button,
.cpd-buy-now{

    width:100%;

    height:50px;

    border-radius:4px !important;

    font-size:15px;

    font-weight:700;

    transition:.2s;
}

.cpd-actions button.single_add_to_cart_button{

    background:#fff !important;

    border:1px solid #111 !important;

    color:#111 !important;
}

.cpd-actions button.single_add_to_cart_button:hover{

    background:#111 !important;

    color:#fff !important;
}

.cpd-buy-now{

    border:none;

    background:linear-gradient(
        135deg,
        #ff9500,
        #ff6600
    );

    color:#fff;

    cursor:pointer;
}

/*
|--------------------------------------------------------------------------
| FEATURES
|--------------------------------------------------------------------------
*/

.cpd-features{

    display:grid;

    grid-template-columns:
        repeat(2,1fr);

    gap:14px;

    margin-top:10px;
}

.cpd-feature{

    display:flex;

    align-items:center;

    gap:6px;

    padding:8px;

    border-radius:12px;

    background:#f0f0f0;
}

.cpd-feature i{

    font-size:20px;

    color:#111;
}

.cpd-feature strong{

    display:block;

    font-size:14px;

    color:#111;
}

.cpd-feature span{

    font-size:12px;

    color:#666;
}

/*
|--------------------------------------------------------------------------
| DESCRIPTION
|--------------------------------------------------------------------------
*/

.cpd-description{

    margin-top:4px;

    padding-top:4px;

    border-top:1px solid #f1f1f1;
}

@media(min-width:760px){

    .cpd-description{

        grid-column:1/-1;
    }

}

.cpd-description h2{

    margin:0 0 24px;

    font-size:18px;

    color:#111;
}

.cpd-description-content{

    font-size:15px;

    line-height:2;

    color:#444;
}

.cpd-description-content img{

    max-width:100%;

    height:auto;

    border-radius:16px;
}

/*
|--------------------------------------------------------------------------
| RELATED
|--------------------------------------------------------------------------
*/

.cpd-related{

    margin-top:20px;
    margin-bottom: 60px;
}

@media(min-width:760px){

    .cpd-related{

        grid-column:1/-1;
    }

}

.cpd-related-header{

    margin-bottom:20px;
}

.cpd-related-header h2{

    font-size:18px;

    margin:0;
}

/*
|--------------------------------------------------------------------------
| RELATED GRID
|--------------------------------------------------------------------------
*/

.cpd-related-grid{

    display:grid;

    grid-template-columns:
        repeat(7,minmax(0,1fr));

    gap:18px;
}

/*
|--------------------------------------------------------------------------
| CARD
|--------------------------------------------------------------------------
*/

.cpd-related-card{

    background:#fff;

    border-radius:12px;

    overflow:hidden;

    border:1px solid #f1f1f1;

    transition:.25s;
    box-shadow: 0 4px 14px rgba(0,0,0,0.09);
}

.cpd-related-card:hover{

    transform:translateY(-4px);

    box-shadow:
        0 10px 28px rgba(0,0,0,.08);
}

.cpd-related-card a{

    display:block;

    text-decoration:none;

    padding:14px;
}

.cpd-related-image-wrap{

    background:#fafafa;

    border-radius:12px;

    overflow:hidden;

    margin-bottom:14px;
}

.cpd-related-card img{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;
}

.cpd-related-card h3{

    font-size:14px;

    line-height:1.5;

    color:#111;

    margin:0 0 10px;

    display:-webkit-box;

    -webkit-line-clamp:2;

    -webkit-box-orient:vertical;

    overflow:hidden;

    min-height:42px;
}

.cpd-related-price{

    color:#ff3d00;

    font-size:14px;

    font-weight:600;

    margin-bottom:8px;
}

.cpd-related-price del{

    font-size:13px;

    color:#999;

    margin-right:6px;
}

.cpd-related-price ins{

    text-decoration:none;
}

.cpd-related-sold{

    font-size:12px;

    color:#777;
}

/*
|--------------------------------------------------------------------------
| TABLET
|--------------------------------------------------------------------------
*/
@media(max-width:1024px){
    .cpd-related-grid{

    display:grid;

    grid-template-columns:
        repeat(5,minmax(0,1fr));

    gap:10px;

    }
}

@media(max-width:768px){
    .cpd-related-grid{

    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:10px;

    }
}
@media(max-width:760px){

    .cpd-gallery-inner{

        flex-direction:column;
    }

    .cpd-thumbnails{

        width:100%;

        flex-direction:row;

        overflow-x:auto;

        gap:10px;

        scrollbar-width:none;
    }

    .cpd-thumbnails::-webkit-scrollbar{

        display:none;
    }

    .cpd-thumb{

        min-width:74px;

        width:74px;

        height:74px;
        border: 1px solid #8c8c8c !important;
    }

    .cpd-main-image{

        height:auto;

        aspect-ratio:1/1;

        padding:4px;
    }

    .cpd-features{

        grid-template-columns:
            repeat(2,1fr);
    }

}

/*
|--------------------------------------------------------------------------
| MOBILE RELATED PRODUCTS FIX
|--------------------------------------------------------------------------
*/

@media(max-width:500px){

    .cpd-related{

        width:100%;

        overflow:hidden;
    }

    .cpd-related-grid{

        display:flex !important;

        gap:12px;

        overflow-x:auto;

        overflow-y:hidden;

        padding-bottom:6px;

        scroll-snap-type:x mandatory;

        scrollbar-width:none;

        -webkit-overflow-scrolling:touch;
    }

    .cpd-related-grid::-webkit-scrollbar{

        display:none;
    }

    .cpd-related-card{

        box-shadow: 0 4px 14px rgba(0,0,0,0.08);
        flex:0 0 160px;

        min-width:160px;

        max-width:160px;

        border-radius:12px;

        scroll-snap-align:start;
    }

    .cpd-related-card a{

        padding:5px;
    }

    .cpd-related-image-wrap{

        margin-bottom:10px;

        border-radius:14px;
    }

    .cpd-related-card img{

        width:100%;

        aspect-ratio:1/1;

        object-fit:cover;
    }

    .cpd-related-card h3{

        font-size:13px;

        line-height:1.45;

        min-height:38px;

        margin-bottom:8px;
    }

    .cpd-related-price{

        font-size:17px;

        margin-bottom:4px;
    }

    .cpd-related-price del{

        font-size:12px;
    }

    .cpd-related-sold{

        font-size:11px;
    }

}

/*
|--------------------------------------------------------------------------
| MOBILE OVERFLOW FIX
|--------------------------------------------------------------------------
*/

html,
body{

    overflow-x:hidden;
}

body{

    max-width:100vw;
}

.cpd-wrapper{

    width:100%;

    max-width:100%;

    overflow:hidden;
}

.cpd-gallery,
.cpd-right,
.cpd-description,
.cpd-related{

    width:100%;

    max-width:100%;
}

.cpd-gallery-inner{

    width:100%;

    max-width:100%;
}

.cpd-main-image-wrap{

    width:100%;

    max-width:100%;

    overflow:hidden;
}

.cpd-main-image{

    width:100%;

    max-width:100%;

    display:block;
}

/*
|--------------------------------------------------------------------------
| CART FIX
|--------------------------------------------------------------------------
*/

.cpd-actions form.cart{

    width:100%;

    max-width:100%;
}

.cpd-actions .quantity{

    min-width:0;
}

.cpd-actions button{

    min-width:0;
}

/*
|--------------------------------------------------------------------------
| RELATED FIX
|--------------------------------------------------------------------------
*/

.cpd-related-grid{

    width:100%;
}

.cpd-related-card{

    max-width:100%;
}

/*
|--------------------------------------------------------------------------
| IMAGE FIX
|--------------------------------------------------------------------------
*/

img{

    max-width:100%;

    height:auto;
}

/*
|--------------------------------------------------------------------------
| MOBILE STRICT FIX
|--------------------------------------------------------------------------
*/

@media(max-width:500px){

    .cpd-gallery-inner{

        display:flex;

        flex-direction:column;

        gap:12px;
    }

    .cpd-thumbnails{

        width:100%;

        max-width:100%;

        overflow-x:auto;

        overflow-y:hidden;
    }

    .cpd-main-image{

        aspect-ratio:1/1;

        height:auto;
    }

    .cpd-related{

        overflow:hidden;
    }

    .cpd-related-grid{

        overflow-x:auto;

        padding-bottom:4px;
    }

}