/* Mazzraty single product — v2.0 */

:root{
}

body.single-product{
    background:var(--mz-color-background);
    --theme-content-vertical-spacing:0px!important;
}

.single-product .hero-section,
.single-product .page-title,
.single-product .entry-header,
.single-product [class*="page-title"]{
    display:none!important;
}

.single-product #main-container,
.single-product main,
.single-product .site-main{
    margin-top:0!important;
    padding-top:0!important;
}

.single-product .site-main > .ct-container,
.single-product .ct-container{
    max-width:1240px;
}

.single-product div.product{
    display:grid!important;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:64px;
    align-items:start;
    padding:72px 0 0;
    margin:0!important;
}

.single-product div.product::before,
.single-product div.product::after{
    display:none!important;
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary{
    float:none!important;
    width:auto!important;
    margin:0!important;
}

.single-product div.product .woocommerce-product-gallery{
    position:sticky;
    top:24px;
    overflow:hidden;
    border:1px solid color-mix(in srgb, var(--mz-color-primary) 10%, transparent);
    border-radius:22px;
    background:linear-gradient(145deg,var(--mz-color-product-surface-a),var(--mz-color-product-surface-b));
}

.single-product div.product .woocommerce-product-gallery__wrapper{
    margin:0!important;
}

.single-product div.product .woocommerce-product-gallery__image{
    background:transparent;
}

.single-product div.product .woocommerce-product-gallery__image img{
    width:100%!important;
    aspect-ratio:1/1;
    object-fit:contain;
    padding:34px;
    background:transparent;
}

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

.single-product .woocommerce-product-gallery .flex-control-thumbs li{
    width:auto!important;
    float:none!important;
    margin:0!important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img{
    border:1px solid color-mix(in srgb, var(--mz-color-primary) 12%, transparent);
    border-radius:10px;
    background:var(--mz-color-white);
}

.single-product div.product .summary{
    padding:18px 0 36px;
    text-align:right;
}

.mz-product-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
    color:var(--mz-color-accent-dark);
    font-size:13px;
    font-weight:750;
}

.mz-product-kicker::before{
    content:"";
    width:28px;
    height:1px;
    background:currentColor;
}

.single-product .product_title{
    margin:0 0 18px!important;
    color:var(--mz-color-primary)!important;
    font-size:clamp(34px,4vw,52px)!important;
    line-height:1.35!important;
    font-weight:800!important;
}

.single-product div.product p.price,
.single-product div.product span.price{
    margin:0 0 22px!important;
    color:var(--mz-color-primary)!important;
    font-size:24px!important;
    font-weight:850!important;
}

.single-product .woocommerce-product-details__short-description{
    margin-bottom:22px;
    color:var(--mz-color-muted);
    font-size:16px;
    line-height:2.05;
}

.single-product .woocommerce-product-details__short-description p{
    margin:0;
}

.mz-product-uses{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:24px 0;
}

.mz-product-use{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:58px;
    padding:10px 12px;
    border:1px solid color-mix(in srgb, var(--mz-color-accent) 17%, transparent);
    border-radius:12px;
    background:var(--mz-color-tone-faf4e9);
    color:var(--mz-color-primary);
    font-size:13px;
    font-weight:750;
}

.mz-product-use__icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:color-mix(in srgb, var(--mz-color-accent) 13%, transparent);
    color:var(--mz-color-accent-dark);
}

.mz-product-use__icon svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.single-product form.cart{
    display:flex!important;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
    margin:26px 0 18px!important;
}

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

.single-product form.cart .quantity input.qty{
    width:82px!important;
    min-height:50px;
    border:1px solid color-mix(in srgb, var(--mz-color-primary) 18%, transparent)!important;
    border-radius:10px!important;
    background:var(--mz-color-white)!important;
    color:var(--mz-color-text)!important;
    font-family:'Vazirmatn',sans-serif!important;
}

.single-product form.cart .single_add_to_cart_button{
    min-height:50px!important;
    padding:11px 28px!important;
    border-radius:10px!important;
    background:var(--mz-color-primary)!important;
    color:var(--mz-color-white)!important;
    font-size:15px!important;
    font-weight:800!important;
}

.single-product form.cart .single_add_to_cart_button:hover{
    background:var(--mz-color-accent)!important;
    color:var(--mz-color-text)!important;
}

.single-product .product_meta{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid color-mix(in srgb, var(--mz-color-primary) 12%, transparent);
    color:var(--mz-color-muted);
    font-size:13px;
    line-height:2;
}

.single-product .product_meta a{
    color:var(--mz-color-primary);
}

.mz-product-order-notes{
    display:grid;
    gap:0;
    margin-top:20px;
    border:1px solid color-mix(in srgb, var(--mz-color-primary) 12%, transparent);
    border-radius:14px;
    overflow:hidden;
    background:var(--mz-color-white);
}

.mz-product-order-notes>div{
    display:grid;
    grid-template-columns:120px 1fr;
    gap:16px;
    padding:14px 16px;
}

.mz-product-order-notes>div+div{
    border-top:1px solid color-mix(in srgb, var(--mz-color-primary) 10%, transparent);
}

.mz-product-order-notes strong{
    color:var(--mz-color-primary);
    font-size:13px;
}

.mz-product-order-notes span{
    color:var(--mz-color-muted);
    font-size:13px;
    line-height:1.8;
}

.mz-product-order-notes a{
    color:var(--mz-color-accent-dark);
    font-weight:700;
}

.single-product .mz-product-story,
.single-product .woocommerce-tabs,
.single-product .mz-product-extra,
.single-product .related,
.single-product .up-sells{
    grid-column:1/-1;
}

.mz-product-story{
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    margin-top:78px;
    padding:74px max(20px, calc((100vw - 1180px)/2));
    background:var(--mz-color-sesame-light);
}

.mz-product-story__heading{
    max-width:720px;
    margin:0 auto 34px;
    text-align:center;
}

.mz-product-story__heading h2{
    margin:0 0 12px;
    color:var(--mz-color-primary);
    font-size:clamp(28px,3vw,40px);
}

.mz-product-story__heading p{
    margin:0;
    color:var(--mz-color-muted);
    line-height:2;
}

.mz-product-story__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.mz-product-story__grid article{
    padding:28px;
    border:1px solid color-mix(in srgb, var(--mz-color-primary) 10%, transparent);
    border-radius:16px;
    background:color-mix(in srgb, var(--mz-color-background) 76%, transparent);
}

.mz-product-story__grid article>span{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    margin-bottom:20px;
    border-radius:50%;
    background:var(--mz-color-primary);
    color:var(--mz-color-accent-light);
    font-size:11px;
    font-weight:850;
}

.mz-product-story__grid h3{
    margin:0 0 9px;
    color:var(--mz-color-primary);
    font-size:18px;
}

.mz-product-story__grid p{
    margin:0;
    color:var(--mz-color-muted);
    font-size:14px;
    line-height:2;
}

.single-product .woocommerce-tabs{
    margin:0!important;
    padding:78px 0 56px;
}

.single-product .woocommerce-tabs ul.tabs{
    display:flex!important;
    flex-wrap:wrap;
    gap:10px;
    padding:0!important;
    margin:0 0 26px!important;
    border:0!important;
}

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

.single-product .woocommerce-tabs ul.tabs li{
    margin:0!important;
    padding:0!important;
    border:1px solid color-mix(in srgb, var(--mz-color-primary) 13%, transparent)!important;
    border-radius:999px!important;
    background:var(--mz-color-white)!important;
}

.single-product .woocommerce-tabs ul.tabs li a{
    padding:10px 20px!important;
    color:var(--mz-color-primary)!important;
    font-weight:750!important;
}

.single-product .woocommerce-tabs ul.tabs li.active{
    background:var(--mz-color-primary)!important;
}

.single-product .woocommerce-tabs ul.tabs li.active a{
    color:var(--mz-color-white)!important;
}

.single-product .woocommerce-Tabs-panel{
    padding:30px!important;
    border:1px solid color-mix(in srgb, var(--mz-color-primary) 10%, transparent);
    border-radius:18px;
    background:var(--mz-color-white);
    color:var(--mz-color-muted);
    line-height:2.1;
}

.single-product .woocommerce-Tabs-panel h2{
    color:var(--mz-color-primary);
    font-size:26px;
}

.single-product table.shop_attributes{
    border:0!important;
}

.single-product table.shop_attributes th,
.single-product table.shop_attributes td{
    padding:14px 16px!important;
    border-color:color-mix(in srgb, var(--mz-color-primary) 10%, transparent)!important;
    background:transparent!important;
}

.single-product table.shop_attributes th{
    color:var(--mz-color-primary);
}

.mz-product-extra{
    width:100%;
    padding:16px 0 20px;
}

.mz-product-wholesale{
    display:grid;
    grid-template-columns:1fr auto;
    gap:36px;
    align-items:center;
    margin-bottom:72px;
    padding:42px 46px;
    border-radius:20px;
    background:linear-gradient(120deg,var(--mz-color-sesame),var(--mz-color-tone-e8d3aa));
}

.mz-product-wholesale h2{
    margin:0 0 10px;
    color:var(--mz-color-primary);
    font-size:clamp(26px,3vw,38px);
}

.mz-product-wholesale p{
    margin:0;
    max-width:760px;
    color:color-mix(in srgb, var(--mz-color-text) 74%, transparent);
    line-height:2;
}

.mz-product-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:10px 24px;
    border-radius:10px;
    text-decoration:none!important;
    font-weight:800;
}

.mz-product-btn--gold{
    background:var(--mz-color-accent);
    color:var(--mz-color-text)!important;
}

.mz-product-btn--gold:hover{
    background:var(--mz-color-accent-light);
}

.mz-product-faq{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:68px;
    padding:8px 0 54px;
}

.mz-product-faq__intro h2{
    margin:0 0 12px;
    color:var(--mz-color-primary);
    font-size:clamp(28px,3vw,40px);
}

.mz-product-faq__intro p{
    color:var(--mz-color-muted);
    line-height:2;
}

.mz-product-faq__intro a{
    color:var(--mz-color-accent-dark);
    font-weight:750;
}

.mz-product-faq__list details{
    border-bottom:1px solid color-mix(in srgb, var(--mz-color-primary) 13%, transparent);
}

.mz-product-faq__list summary{
    position:relative;
    padding:18px 32px 18px 0;
    color:var(--mz-color-text);
    font-weight:750;
    cursor:pointer;
    list-style:none;
}

.mz-product-faq__list summary::-webkit-details-marker{
    display:none;
}

.mz-product-faq__list summary::before{
    content:"+";
    position:absolute;
    right:0;
    color:var(--mz-color-accent);
    font-size:18px;
}

.mz-product-faq__list details[open] summary::before{
    content:"−";
}

.mz-product-faq__list p{
    margin:0;
    padding:0 32px 18px 0;
    color:var(--mz-color-muted);
    line-height:2;
    font-size:14px;
}

.single-product .related,
.single-product .up-sells{
    padding:58px 0 76px;
    border-top:1px solid color-mix(in srgb, var(--mz-color-primary) 10%, transparent);
}

.single-product .related>h2,
.single-product .up-sells>h2{
    margin:0 0 28px;
    color:var(--mz-color-primary);
    font-size:32px;
}

.single-product .related ul.products,
.single-product .up-sells ul.products{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:20px!important;
}

.single-product .related ul.products li.product,
.single-product .up-sells ul.products li.product{
    width:auto!important;
    float:none!important;
    margin:0!important;
    overflow:hidden;
    border:1px solid color-mix(in srgb, var(--mz-color-primary) 10%, transparent);
    border-radius:16px;
    background:var(--mz-color-white);
}

.single-product .related ul.products li.product a img,
.single-product .up-sells ul.products li.product a img{
    aspect-ratio:1/1;
    width:100%!important;
    object-fit:contain;
    padding:18px;
    margin:0 0 16px!important;
    background:linear-gradient(145deg,var(--mz-color-product-surface-a),var(--mz-color-product-surface-b));
}

.single-product .related .woocommerce-loop-product__title,
.single-product .up-sells .woocommerce-loop-product__title{
    padding-inline:18px!important;
    color:var(--mz-color-text);
    font-size:16px!important;
}

.single-product .related .price,
.single-product .up-sells .price{
    padding-inline:18px;
    color:var(--mz-color-primary)!important;
}

.single-product .related .button,
.single-product .up-sells .button{
    margin:0 18px 20px!important;
    border-radius:9px!important;
    background:var(--mz-color-primary)!important;
    color:var(--mz-color-white)!important;
}

@media(max-width:900px){
    .single-product div.product{
        grid-template-columns:1fr;
        gap:34px;
        padding-top:42px;
    }

    .single-product div.product .woocommerce-product-gallery{
        position:relative;
        top:auto;
    }

    .mz-product-story__grid{
        grid-template-columns:1fr;
    }

    .mz-product-wholesale{
        grid-template-columns:1fr;
    }

    .mz-product-faq{
        grid-template-columns:1fr;
        gap:36px;
    }

    .single-product .related ul.products,
    .single-product .up-sells ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media(max-width:600px){
    .single-product div.product{
        padding-top:26px;
    }

    .single-product div.product .woocommerce-product-gallery__image img{
        padding:18px;
    }

    .single-product div.product .summary{
        padding-top:0;
    }

    .mz-product-uses{
        grid-template-columns:1fr;
    }

    .mz-product-order-notes>div{
        grid-template-columns:1fr;
        gap:5px;
    }

    .mz-product-story{
        margin-top:48px;
        padding-top:56px;
        padding-bottom:56px;
    }

    .single-product .woocommerce-tabs{
        padding-top:56px;
    }

    .single-product .woocommerce-Tabs-panel{
        padding:20px!important;
    }

    .mz-product-wholesale{
        padding:30px 24px;
        margin-bottom:54px;
    }

    .single-product .related ul.products,
    .single-product .up-sells ul.products{
        grid-template-columns:1fr!important;
    }
}


/* v2.1 — Blocksy single-product layout correction */

/*
 * Blocksy wraps gallery + summary in .product-entry-wrapper.
 * Keep WooCommerce's outer .product as the document flow and build the
 * two-column purchase area on Blocksy's wrapper instead.
 */
.single-product div.product{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    padding-top:0!important;
}

.single-product .product-entry-wrapper{
    display:grid!important;
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
    gap:58px!important;
    align-items:start!important;
    width:100%!important;
    max-width:1180px!important;
    margin:0 auto!important;
    padding:64px 0 72px!important;
}

.single-product .product-entry-wrapper > .woocommerce-product-gallery,
.single-product .product-entry-wrapper > .summary,
.single-product .product-entry-wrapper > .entry-summary{
    float:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    flex:none!important;
}

.single-product .product-entry-wrapper > .summary,
.single-product .product-entry-wrapper > .entry-summary{
    position:relative!important;
    top:auto!important;
    align-self:start!important;
    padding:8px 0 0!important;
}

/* Fallback for a standard WooCommerce template without Blocksy's wrapper. */
@supports selector(.product:has(> .woocommerce-product-gallery)) {
    .single-product div.product:not(:has(> .product-entry-wrapper)):has(> .woocommerce-product-gallery){
        display:grid!important;
        grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
        gap:58px!important;
        align-items:start!important;
        max-width:1180px!important;
        margin:0 auto!important;
        padding:64px 0 72px!important;
    }

    .single-product div.product:not(:has(> .product-entry-wrapper)) > .woocommerce-tabs,
    .single-product div.product:not(:has(> .product-entry-wrapper)) > .mz-product-story,
    .single-product div.product:not(:has(> .product-entry-wrapper)) > .mz-product-extra,
    .single-product div.product:not(:has(> .product-entry-wrapper)) > .related,
    .single-product div.product:not(:has(> .product-entry-wrapper)) > .up-sells{
        grid-column:1 / -1;
    }
}

.single-product .product-entry-wrapper .woocommerce-product-gallery{
    position:relative!important;
    top:auto!important;
    max-width:none!important;
}

.single-product .product-entry-wrapper .woocommerce-product-gallery__image img{
    max-height:620px;
}

.single-product .product_title{
    font-size:clamp(32px,3.4vw,46px)!important;
    line-height:1.42!important;
    max-width:620px;
}

.single-product .woocommerce-product-details__short-description{
    max-width:590px;
}

.single-product .mz-product-uses,
.single-product form.cart,
.single-product .mz-product-order-notes,
.single-product .product_meta{
    width:100%!important;
    max-width:590px!important;
}

.single-product .mz-product-order-notes{
    margin-bottom:0!important;
}

.single-product .product_meta{
    padding-bottom:0!important;
}

/* Stop Blocksy sticky summary/gallery settings from creating large vertical gaps. */
.single-product .product-entry-wrapper [data-sticky]{
    top:auto!important;
}

.single-product .product-entry-wrapper .ct-sticky-container,
.single-product .product-entry-wrapper .ct-sticky-state{
    position:relative!important;
    top:auto!important;
    height:auto!important;
}

/* Custom sections should start immediately after the purchase area. */
.single-product .mz-product-story{
    margin-top:0!important;
}

.single-product .woocommerce-tabs{
    clear:both;
}

@media(max-width:900px){
    .single-product .product-entry-wrapper{
        grid-template-columns:1fr!important;
        gap:30px!important;
        padding:36px 0 48px!important;
    }

    .single-product .product-entry-wrapper > .summary,
    .single-product .product-entry-wrapper > .entry-summary{
        padding-top:0!important;
    }

    .single-product .product-entry-wrapper .woocommerce-product-gallery__image img{
        max-height:none;
    }
}

@media(max-width:600px){
    .single-product .product-entry-wrapper{
        padding:24px 0 38px!important;
    }

    .single-product .product_title{
        font-size:32px!important;
    }
}


/* v2.2 — visual polish after real product check */
.single-product .product_title{
    font-size:clamp(30px,3vw,42px)!important;
    line-height:1.48!important;
}

.single-product div.product .woocommerce-product-gallery__image img{
    padding:28px!important;
}

.single-product .woocommerce-product-details__short-description{
    font-size:15px!important;
    line-height:2!important;
}

.single-product .product_meta{
    margin-top:20px!important;
    padding-top:16px!important;
    opacity:.82;
}

.single-product .mz-product-story__heading{
    max-width:680px;
}

.single-product .woocommerce-tabs{
    padding-top:68px!important;
}

.single-product .related,
.single-product .up-sells{
    padding-top:52px!important;
}

.single-product .related>h2,
.single-product .up-sells>h2{
    width:min(820px,100%);
    margin:0 auto 28px!important;
    text-align:right;
}

.single-product .related ul.products,
.single-product .up-sells ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:min(820px,100%);
    margin-inline:auto!important;
}

@media(max-width:700px){
    .single-product .related ul.products,
    .single-product .up-sells ul.products{
        grid-template-columns:1fr!important;
        width:100%;
    }

    .single-product .related>h2,
    .single-product .up-sells>h2{
        width:100%;
    }
}


/* v2.3 — one consistent content gutter across the product page */
.single-product{
    --mz-product-gutter:clamp(16px,3vw,32px);
}

.single-product .product-entry-wrapper,
.single-product .woocommerce-tabs,
.single-product .mz-product-extra,
.single-product .related,
.single-product .up-sells{
    width:min(1180px,calc(100% - (var(--mz-product-gutter) * 2)))!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box;
}

.single-product .mz-product-story{
    padding-left:max(var(--mz-product-gutter),calc((100vw - 1180px)/2))!important;
    padding-right:max(var(--mz-product-gutter),calc((100vw - 1180px)/2))!important;
    box-sizing:border-box;
}

.single-product .mz-product-story__heading,
.single-product .mz-product-story__grid{
    width:100%;
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
}

.single-product .mz-product-story__heading{
    max-width:720px;
}

.single-product .woocommerce-Tabs-panel,
.single-product .mz-product-wholesale,
.single-product .mz-product-faq{
    box-sizing:border-box;
}

@media(max-width:600px){
    .single-product{--mz-product-gutter:16px;}
}


/* v2.4 — one container system for the whole product page */
.single-product{
    --mz-product-gutter:clamp(18px,3vw,32px);
    --mz-product-width:1180px;
}

.single-product .product-entry-wrapper{
    width:min(var(--mz-product-width),calc(100% - (var(--mz-product-gutter) * 2)))!important;
    max-width:none!important;
}

.single-product .mz-product-story{
    padding-left:0!important;
    padding-right:0!important;
}

.single-product .mz-product-story__heading,
.single-product .mz-product-story__grid{
    width:min(var(--mz-product-width),calc(100% - (var(--mz-product-gutter) * 2)));
    margin-left:auto;
    margin-right:auto;
}

.single-product .mz-product-story__heading{
    margin-bottom:34px;
}

.single-product .woocommerce-tabs,
.single-product .mz-product-extra,
.single-product .related,
.single-product .up-sells{
    width:min(var(--mz-product-width),calc(100% - (var(--mz-product-gutter) * 2)))!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

.single-product .woocommerce-Tabs-panel{
    text-align:right;
}

.single-product .woocommerce-Tabs-panel > *:first-child{
    margin-top:0;
}

.single-product .woocommerce-Tabs-panel > *:last-child{
    margin-bottom:0;
}

.single-product .mz-product-wholesale,
.single-product .mz-product-faq{
    width:100%;
}

.single-product .related>h2,
.single-product .up-sells>h2,
.single-product .related ul.products,
.single-product .up-sells ul.products{
    width:100%!important;
    max-width:920px;
    margin-left:auto!important;
    margin-right:auto!important;
}

.single-product .product_meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px 18px;
}

.single-product .product_meta > span{
    display:inline-flex;
    gap:5px;
}

.single-product form.cart{
    align-items:stretch!important;
}

.single-product form.cart .quantity,
.single-product form.cart .quantity input.qty,
.single-product form.cart .single_add_to_cart_button{
    min-height:50px!important;
}

@media(max-width:600px){
    .single-product{
        --mz-product-gutter:16px;
    }

    .single-product .mz-product-story__heading,
    .single-product .mz-product-story__grid,
    .single-product .woocommerce-tabs,
    .single-product .mz-product-extra,
    .single-product .related,
    .single-product .up-sells{
        width:calc(100% - 32px)!important;
    }
}
