
/* ==========================================
   Shiny Gallery - Single Product
   ========================================== */

:root {
    --shlly-pink: #f467b1;
    --shlly-pink-dark: #ed2997;
    --shlly-text: #222;
    --shlly-border: #eeeeee;
}

/* Background */

body.single-product {
    background-color: #fff;
    background-image: url('https://shainygallery.ir/wp-content/uploads/2022/10/Layer-10-copy-2-1.png');
    background-repeat: repeat;
    background-position: center top;
    background-attachment: fixed;
}

/* Main */

.shlly-single-product {
    width: 100%;
    padding: 55px 15px 70px;
    direction: rtl;
    font-family: inherit;
}

.shlly-single-container {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
}

/* Product Layout */

.shlly-product-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 45px;
    align-items: start;
    padding: 20px 15px 55px;
    background: rgba(255,255,255,.94);
}

/* Gallery */

.shlly-product-gallery {
    min-width: 0;
}

.shlly-product-gallery .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.shlly-product-gallery .woocommerce-product-gallery__wrapper {
    width: 100%;
}

.shlly-product-gallery .woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.shlly-product-gallery .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 8px !important;
    padding: 0 !important;
}

.shlly-product-gallery .flex-control-thumbs li {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.shlly-product-gallery .flex-control-thumbs img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    opacity: .75;
    transition: .2s;
}

.shlly-product-gallery .flex-control-thumbs img:hover,
.shlly-product-gallery .flex-control-thumbs img.flex-active {
    opacity: 1;
    outline: 2px solid var(--shlly-pink);
}

/* Sale Badge */

.shlly-product-gallery .onsale {
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    min-height: auto;
    min-width: auto;
    padding: 7px 12px;
    border-radius: 0;
    background: var(--shlly-pink-dark);
    color: #fff;
    font-size: 12px;
}

/* Summary */

.shlly-product-summary {
    min-width: 0;
    padding: 0 5px;
    color: var(--shlly-text);
}

.shlly-product-heading {
    margin-bottom: 18px;
}

.shlly-product-summary .product_title {
    margin: 0 0 12px;
    color: #171717;
    font-size: 23px;
    font-weight: 800;
    line-height: 1.8;
}

.shlly-product-categories {
    color: var(--shlly-pink-dark);
    font-size: 12px;
}

.shlly-product-categories a {
    color: var(--shlly-pink-dark);
}

/* Rating */

.shlly-product-summary .woocommerce-product-rating {
    margin-bottom: 15px;
    font-size: 12px;
}

.shlly-product-summary .star-rating {
    float: right;
    margin-left: 8px;
    color: #f4b400;
}

/* Description */

.shlly-product-summary .woocommerce-product-details__short-description {
    margin: 20px 0;
    color: #333;
    font-size: 13px;
    line-height: 2.1;
}

.shlly-product-summary .woocommerce-product-details__short-description p {
    margin-bottom: 10px;
}

/* Price */

.shlly-product-summary p.price,
.shlly-product-summary span.price {
    display: block;
    margin: 25px 0 !important;
    color: #111;
    font-size: 22px !important;
    font-weight: 800;
}

.shlly-product-summary .price del {
    color: #999;
    font-size: 14px;
    opacity: .8;
}

.shlly-product-summary .price ins {
    color: #111;
    text-decoration: none;
}

/* Stock */

.shlly-product-summary .stock {
    margin: 12px 0;
    font-size: 12px;
    font-weight: 600;
}

.shlly-product-summary .stock.in-stock {
    color: #35a45b;
}

.shlly-product-summary .stock.out-of-stock {
    color: #e04479;
}

/* Add to Cart */

.shlly-product-cart {
    margin: 25px 0;
}

.shlly-product-cart form.cart {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.shlly-product-cart form.cart .quantity {
    margin: 0 !important;
}

.shlly-product-cart form.cart .quantity input.qty {
    width: 65px;
    height: 43px;
    padding: 5px;
    border: 1px solid #ddd;
    border-radius: 0;
    background: #fff;
    color: #222;
    text-align: center;
}

.shlly-product-cart form.cart .single_add_to_cart_button {
    min-height: 43px;
    padding: 10px 22px;
    border: none;
    border-radius: 3px;
    background: #5840c9;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    transition: .2s;
}

.shlly-product-cart form.cart .single_add_to_cart_button:hover {
    background: var(--shlly-pink-dark);
    color: #fff;
}

.shlly-product-cart form.cart .single_add_to_cart_button:disabled {
    opacity: .5;
    cursor: not-allowed;
}

/* Variable Products */

.shlly-product-cart table.variations {
    width: 100%;
    margin-bottom: 15px;
}

.shlly-product-cart table.variations td,
.shlly-product-cart table.variations th {
    padding: 8px 5px;
    text-align: right;
}

.shlly-product-cart table.variations select {
    min-height: 40px;
    padding: 8px;
    border: 1px solid #ddd;
    background: #fff;
}

.shlly-product-cart .reset_variations {
    color: var(--shlly-pink-dark);
    font-size: 11px;
}

/* Product Meta */

.shlly-product-meta {
    padding: 15px 0;
    border-top: 1px solid var(--shlly-border);
    border-bottom: 1px solid var(--shlly-border);
    font-size: 12px;
    line-height: 2.2;
}

.shlly-product-meta .sku_wrapper,
.shlly-product-meta .posted_in,
.shlly-product-meta .tagged_as {
    display: block;
}

.shlly-product-meta a {
    color: var(--shlly-pink-dark);
}

/* Sharing */

.shlly-product-sharing {
    margin-top: 15px;
}

.shlly-product-sharing .social {
    font-size: 12px;
}

/* Tabs */

.shlly-product-tabs {
    margin-top: 50px;
    padding: 25px;
    background: rgba(255,255,255,.95);
    border-top: 1px solid var(--shlly-border);
}

.shlly-product-tabs .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 25px;
    padding: 0 !important;
    margin: 0 0 25px !important;
}

.shlly-product-tabs .woocommerce-tabs ul.tabs::before,
.shlly-product-tabs .woocommerce-tabs ul.tabs li::before,
.shlly-product-tabs .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.shlly-product-tabs .woocommerce-tabs ul.tabs li {
    padding: 10px 0 !important;
    margin: 0 !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.shlly-product-tabs .woocommerce-tabs ul.tabs li.active {
    border-bottom-color: var(--shlly-pink) !important;
}

.shlly-product-tabs .woocommerce-tabs ul.tabs li a {
    color: #222;
    font-size: 13px;
    font-weight: 700;
}

.shlly-product-tabs .woocommerce-Tabs-panel {
    font-size: 13px;
    line-height: 2.1;
}

/* Reviews */

.shlly-product-tabs #reviews #comments ol.commentlist {
    padding: 0;
}

.shlly-product-tabs #review_form_wrapper {
    margin-top: 25px;
}

.shlly-product-tabs #review_form input,
.shlly-product-tabs #review_form textarea {
    border: 1px solid #ddd;
    border-radius: 0;
    padding: 10px;
}

/* Related and Upsells */

.shlly-product-upsells,
.shlly-product-related {
    margin-top: 70px;
    padding: 25px;
    background: rgba(255,255,255,.95);
}

.shlly-product-upsells h2,
.shlly-product-related h2 {
    margin-bottom: 25px;
    color: #111;
    font-size: 20px;
    font-weight: 800;
}

.shlly-product-upsells ul.products,
.shlly-product-related ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.shlly-product-upsells ul.products li.product,
.shlly-product-related ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    text-align: center;
}

.shlly-product-upsells ul.products li.product img,
.shlly-product-related ul.products li.product img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.shlly-product-upsells ul.products li.product .woocommerce-loop-product__title,
.shlly-product-related ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
}

/* Tablet */

@media (max-width: 900px) {

    .shlly-product-main {
        gap: 25px;
    }

}

/* Mobile */

@media (max-width: 600px) {

    .shlly-single-product {
        padding: 20px 10px 40px;
    }

    .shlly-product-main {
        display: flex;
        flex-direction: column;
        gap: 30px;
        padding: 10px;
    }

    .shlly-product-gallery,
    .shlly-product-summary {
        width: 100%;
    }

    .shlly-product-summary .product_title {
        font-size: 19px;
    }

    .shlly-product-summary p.price,
    .shlly-product-summary span.price {
        font-size: 19px !important;
    }

    .shlly-product-tabs {
        margin-top: 25px;
        padding: 15px;
    }

    .shlly-product-tabs .woocommerce-tabs ul.tabs {
        gap: 15px;
    }

    .shlly-product-upsells,
    .shlly-product-related {
        margin-top: 35px;
        padding: 15px;
    }

    .shlly-product-upsells ul.products,
    .shlly-product-related ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 15px 10px;
    }

}
