/* ==========================================================
   SCRIBUBBLE PREMIUM PRODUCT PAGE
========================================================== */

.sb-product{
    max-width:1350px;
    margin:70px auto;
    padding-top: calc(36px + var(--header-h)) !important;
}

.sb-product-top{
    display:grid;
    grid-template-columns:56% 44%;
    gap:70px;
    align-items:start;
}

/* ==========================
   GALLERY
========================== */

.sb-gallery{
    position:sticky;
    top:120px;
}

.sb-main-image{

    position:relative;

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    border:1px solid #f2dfe7;

    box-shadow:
        0 30px 70px rgba(66,27,42,.08);

    aspect-ratio:1/1;

    cursor:zoom-in;
}

.sb-main-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:none;

    transition:
        transform .45s ease,
        opacity .35s ease;
}

.sb-main-image img.active{

    display:block;

    animation:fadeImage .35s ease;
}

.sb-main-image:hover img.active{

    transform:scale(1.03);
}

@keyframes fadeImage{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}


/* ==========================
   THUMBNAILS
========================== */

.sb-thumbs{

    display:flex;

    gap:12px;

    margin-top:22px;

    overflow-x:auto;

    scrollbar-width:none;

}

.sb-thumbs::-webkit-scrollbar{

    display:none;

}

.sb-thumbs img{

    width:82px;

    height:82px;

    object-fit:cover;

    border-radius:18px;

    border:2px solid transparent;

    cursor:pointer;

    transition:.25s;

    flex-shrink:0;

    background:#fff;

}

.sb-thumbs img:hover{

    transform:translateY(-3px);

}

.sb-thumbs img.active{

    border-color:#df8aa8;

}


/* ==========================
   IMAGE COUNTER
========================== */

.sb-counter{

    position:absolute;

    bottom:18px;

    right:18px;

    background:rgba(255,255,255,.92);

    padding:8px 14px;

    border-radius:100px;

    font-size:13px;

    font-weight:600;

    color:#6c4353;

    backdrop-filter:blur(10px);

}


/* ==========================
   ARROWS
========================== */

.sb-prev,
.sb-next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:48px;

    height:48px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.92);

    cursor:pointer;

    font-size:22px;

    transition:.25s;

    opacity:0;

}

.sb-main-image:hover .sb-prev,
.sb-main-image:hover .sb-next{

    opacity:1;

}

.sb-prev{

    left:20px;

}

.sb-next{

    right:20px;

}

.sb-prev:hover,
.sb-next:hover{

    transform:translateY(-50%) scale(1.08);

}
/* ==========================
   Review Star
========================== */

.sb-rating{
    display:flex;
    align-items:center;
    gap:10px;
    margin:12px 0 20px;
}

.sb-rating .star-rating{
    color:#F5A623;
}

.sb-review-count{
    color:#666;
    font-size:.95rem;
}
/* ==============================
   SCRIBUBBLE PRODUCT REVIEWS
============================== */

/* ===== Reviews ===== */

.woocommerce-Reviews{
    margin-top:70px;
}

.woocommerce-Reviews-title{
    text-align:center;
    margin-bottom:35px;
}

.commentlist{
    list-style:none;
    padding:0;
    margin:0 0 50px;
}

.commentlist li{
    margin-bottom:22px;
}

.comment_container{
    display:flex;
    gap:18px;
    align-items:flex-start;
}

.comment_container img.avatar{
    width:54px;
    height:54px;
    border-radius:50%;
    border:3px solid #fff;
    box-shadow:0 6px 18px rgba(0,0,0,.08);
}

.comment-text{

    flex:1;

    background:#fff;

    border:none;

    border-radius:22px;

    padding:24px 28px;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

}

.comment-text p.meta{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:14px;

    font-size:14px;

}

.comment-text .description{

    color:#555;

    line-height:1.8;

    margin-top:10px;

}

.star-rating{

    float:right;

    color:#F4B400;

}

.woocommerce-review__verified{

    color:#4d8c57;

    font-size:13px;

    font-weight:600;

}

#review_form_wrapper{

    background:#fff;

    border-radius:24px;

    padding:36px;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

}

#reply-title{

    font-size:30px;

    margin-bottom:28px;

}

.comment-form textarea,
.comment-form input[type=text],
.comment-form input[type=email]{

    border:1px solid #e7dfd6;

    border-radius:14px;

    padding:14px 18px;

}

.comment-form textarea{

    min-height:170px;

}

.comment-form input:focus,
.comment-form textarea:focus{

    border-color:#caa36b;

    outline:none;

    box-shadow:0 0 0 4px rgba(202,163,107,.12);

}

.comment-form input[type=submit]{

    background:#2d2d2d;

    color:#fff;

    border:none;

    border-radius:999px;

    padding:14px 34px;

    transition:.25s;

}

.comment-form input[type=submit]:hover{

    background:#111;

}

@media(max-width:768px){

.comment_container{
    flex-direction:column;
}

.comment_container img.avatar{
    width:50px;
    height:50px;
}

#review_form_wrapper{
    padding:24px;
}

.woocommerce-Reviews-title{
    font-size:1.6rem;
}

}


/* ==========================
   SUMMARY
========================== */

.sb-summary{

    padding-top:20px;

}

.product_title{

    font-family:"Coiny",cursive;

    font-size:38px;

    line-height:1.1;

    color:#7d3d5d;

    margin-bottom:0px;

    font-weight:400;

}

.sb-short-desc{

    margin-top:32px;

    padding-top:0;

    border:none;

    font-size:18px;

    line-height:1.9;

    color:#6d5b63;

}


.sb-price{

    font-size:27px;

    color:#c85788;

    font-weight:700;

    margin-bottom:35px;

}

.sb-price del{

    color:#999;

    font-size:22px;

    margin-right:12px;

}

.sb-price ins{

    text-decoration:none;

}


/* ==========================
   QUANTITY
========================== */

.quantity{

    margin-bottom:28px;

}

.quantity input{

    width:110px !important;

    height:55px;

    border-radius:100px;

    border:1px solid #e8d6de;

    font-size:18px;

    text-align:center;

    background:#fff;

}


/* ==========================
   BUTTON
========================== */

.single_add_to_cart_button{

    width:100%;

    height:52px;

    border-radius:100px !important;

    background:#d4558c !important;

    color:#fff !important;

    border:none !important;

    font-size:17px !important;

    font-weight:600;

    letter-spacing:.05em;

    transition:.3s;

}

.single_add_to_cart_button:hover{

    background:#9d3f67 !important;

    transform:translateY(-2px);

    box-shadow:0 15px 35px rgba(157,63,103,.25);

}


/* ==========================
   BADGES
========================== */

.sb-highlights{

    margin-top:35px;

    display:grid;

    gap:15px;

}

.sb-highlights div{

    padding:14px 18px;

    border-radius:16px;

    background:#fff8fb;

    border:1px solid #f4dce6;

    color:#7b5362;

}
/* ==========================================================
   PRODUCT DETAILS
==========================================================*/

.sb-product-details{

    margin-top:20px;

    background:#fff;

    border-radius:28px;

    padding:45px;

    border:1px solid #f2dce6;

    box-shadow:0 20px 60px rgba(60,25,40,.05);

}

.sb-section-title{

    font-size:26px;

    font-weight:700;

    color:#6b3450;

    margin-bottom:35px;

}

.sb-attributes{

    display:grid;

    grid-template-columns:1fr;

    gap:18px;

}

.sb-attr{

    display:grid;

    grid-template-columns:220px 1fr;

    align-items:center;

    padding:18px 0;

    border-bottom:1px solid #f2e6eb;

}

.sb-attr:last-child{

    border:none;

}

.sb-attr-label{

    font-weight:600;

    color:#7b5362;

    font-size:15px;

    text-transform:uppercase;

    letter-spacing:.08em;

}

.sb-attr-value{

    color:#555;

    font-size:17px;

}
.sb-sale-badge{

    position:absolute;

    top:22px;

    right:22px;

    z-index:10;

    background:#7b2f50;

    color:#fff;

    padding:12px 18px;

    border-radius:999px;

    font-size:13px;

    font-weight:700;

    letter-spacing:.12em;

    box-shadow:0 15px 35px rgba(123,47,80,.28);

}

/* ==========================================================
   DESCRIPTION
==========================================================*/

.sb-description{

    margin-top:15px;

    background:#fff;

    border-radius:28px;

    padding:45px;

    border:1px solid #f2dce6;

    box-shadow:0 20px 60px rgba(60,25,40,.05);

}

.sb-description-content{

    color:#666;

    line-height:2;

    font-size:17px;

}

.sb-description-content p{

    margin-bottom:18px;

}


/* ==========================================================
   RELATED PRODUCTS
==========================================================*/

.sb-related{

    margin-top:50px;

}

.sb-related-scroll{

    display:flex;

    gap:28px;

    overflow-x:auto;

    scroll-snap-type:x mandatory;

    padding-bottom:15px;

    scrollbar-width:none;

}

.sb-related-scroll::-webkit-scrollbar{

    display:none;

}

.sb-related-scroll .product{

    flex:0 0 320px;

    scroll-snap-align:start;

    list-style:none;

    margin:0;

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    border:1px solid #f3e3ea;

    transition:.35s;

}

.sb-related-scroll .product:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.sb-related-scroll ul{

    display:contents;

}


/* WooCommerce cards */

.sb-related img{

    width:100%;

    aspect-ratio:1;

    object-fit:cover;

}

.sb-related h2,
.sb-related .woocommerce-loop-product__title{

    font-size:18px !important;

    color:#6b3450;

    padding:18px;

    margin:0;

}

.sb-related .price{

    display:block;

    padding:0 18px 18px;

    color:#c85788 !important;

    font-weight:700;

}

.sb-related .button{

    margin:0 18px 20px !important;

    border-radius:100px !important;

    width:calc(100% - 36px);

    background:#d4558c !important;

    color:#fff !important;

    text-align:center;

}


/* ==========================================================
   LIGHTBOX
==========================================================*/

.sb-lightbox{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.92);

    display:none;

    justify-content:center;

    align-items:center;

    z-index:99999;

}

.sb-lightbox.active{

    display:flex;

}

.sb-lightbox img{

    max-width:88vw;

    max-height:88vh;

    border-radius:18px;

}

.sb-lightbox button{

    position:absolute;

    width:60px;

    height:60px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.12);

    color:#fff;

    cursor:pointer;

    font-size:26px;

    backdrop-filter:blur(10px);

}

.sb-lightbox-close{

    top:35px;

    right:35px;

}

.sb-lightbox-prev,
.sb-lightbox-next{
    display:none !important;
}


/* ==========================================================
   ANIMATIONS
==========================================================*/

.sb-main-image,
.sb-product-details,
.sb-description,
.sb-related .product{

    transition:.35s;

}

.sb-product-details:hover,
.sb-description:hover{

    transform:translateY(-3px);

}
/* ===========================
   ADD TO CART LAYOUT
=========================== */

.sb-cart form.cart{

    display:flex;

    align-items:center;

    gap:18px;

    margin:25px 0;

}

.sb-cart .quantity{

    margin:0 !important;

}

.sb-cart .single_add_to_cart_button{

    flex:1;

    margin:0 !important;

}
.sb-cart .quantity{

    display:flex;

    align-items:center;

    border:1px solid #ead8df;

    border-radius:999px;

    overflow:hidden;

    height:58px;

    background:#fff;

}

.sb-cart .quantity input{

    width:55px !important;

    border:none !important;

    text-align:center;

    font-size:18px;

    background:transparent;

    padding:0;

    appearance:textfield;

    -moz-appearance:textfield;

}

.sb-cart .quantity input::-webkit-inner-spin-button,
.sb-cart .quantity input::-webkit-outer-spin-button{

    appearance:none;

    margin:0;

}
.sb-minus,
.sb-plus{

    width:52px;

    height:58px;

    border:none;

    background:#fff;

    color:#8b4565;

    font-size:24px;

    cursor:pointer;

    transition:.25s;

}

.sb-minus:hover,
.sb-plus:hover{

    background:#faf4f7;

}
.sb-feature-list{

    margin:0;

    padding-left:22px;

    color:#555;

}

.sb-feature-list li{

    margin-bottom:10px;

    line-height:1.8;

}

.sb-feature-list li:last-child{

    margin-bottom:0;

}

/* ==========================================================
   RESPONSIVE
==========================================================*/

@media(max-width:1100px){

    .sb-product{

        padding:0 25px;

    }

    .sb-product-top{

        grid-template-columns:1fr;

        gap:45px;

    }

    .sb-gallery{

        position:relative;

        top:auto;

    }

}


@media(max-width:768px){

    .sb-product{

        margin:35px auto;
        padding:0 5px;
        padding-top: 1px !important;

    }

    .product_title{

        font-size:25px;
        text-align:center;
        padding-top: 0px !important;
    }

    .sb-short-desc{

        order:4;

    }

    .sb-price{

        font-size:20px;
        text-align:center;

    justify-content:center;

        margin-bottom:25px;

    }

    .sb-thumbs img{

        width:70px;

        height:70px;

    }

    .sb-product-details,
    .sb-description{

        padding:28px;

    }

    .sb-attr{

        grid-template-columns:1fr;

        gap:8px;

    }

    .sb-attr-label{

        font-size:13px;

    }

    .sb-related-scroll .product{

        flex:0 0 270px;

    }

    .sb-lightbox img{

        max-width:96vw;

    }
        .sb-product-top{

        display:flex;

        flex-direction:column;

    }

    .sb-gallery{

        order:1;

    }

    .sb-summary{

        order:2;

    }

    .sb-description{

        order:3;

    }

}
/* Hide arrows in fullscreen lightbox */
.pswp__button--arrow--left,
.pswp__button--arrow--right{
    display:none !important;
}