/* Final product-page contract. Enqueued at PHP_INT_MAX after plugin styles. */
body.single-product{overflow-x:clip}
.single-product .woocommerce-shell{width:min(calc(100% - 32px),1240px)!important;max-width:100%!important;margin-inline:auto!important;padding:28px 0 56px!important}
.single-product div.product.type-product{width:100%!important;max-width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr)!important;grid-template-areas:"title title" "gallery summary" "tabs tabs" "related related"!important;align-items:start!important;gap:clamp(22px,3vw,42px)!important;margin:0!important}
.single-product div.product.type-product::before,.single-product div.product.type-product::after{display:none!important;content:none!important}
.single-product .zc-product-heading{grid-area:title!important;min-width:0!important;margin:0!important;padding:0 0 14px!important}
.single-product .zc-product-page-title{max-width:none!important;margin:0!important;font-size:clamp(1.75rem,3vw,2.75rem)!important;line-height:1.35!important;overflow-wrap:anywhere}
.single-product div.product.type-product>.woocommerce-product-gallery{grid-area:gallery!important;position:relative!important;float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
.single-product div.product.type-product>.summary{grid-area:summary!important;position:static!important;float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:clamp(18px,2.5vw,30px)!important;overflow:visible!important;border-radius:20px!important}
.single-product div.product.type-product>.woocommerce-tabs{grid-area:tabs!important;float:none!important;clear:both!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
.single-product div.product.type-product>section:is(.related,.upsells).products{grid-area:related!important;float:none!important;clear:both!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
.single-product :where(.summary,form.cart,.variations_form,.single_variation_wrap,.woocommerce-variation-add-to-cart,.tm-extra-product-options,.tc-extra-product-options){max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
.single-product .woocommerce-product-gallery__wrapper{max-width:none!important;min-width:0!important;margin:0!important;padding:0!important}
.single-product .woocommerce-product-gallery__image>a{width:100%!important;display:grid!important;place-items:center!important;aspect-ratio:1!important}
.single-product .woocommerce-product-gallery__image img{width:100%!important;height:100%!important;max-width:100%!important;display:block!important;object-fit:contain!important;object-position:50% 50%!important;margin:0 auto!important}
/* WooCommerce still initializes FlexSlider for some one-image products. Its
   inline track width/translate is useful for a real slider, but in RTL it can
   offset the only image inside the square frame. Collapse only that degenerate
   track; galleries with two or more real slides retain native slider motion. */
.single-product .woocommerce-product-gallery.zc-gallery--single .flex-viewport{width:100%!important;height:auto!important;max-width:100%!important;overflow:hidden!important}
.single-product .woocommerce-product-gallery.zc-gallery--single .woocommerce-product-gallery__wrapper{width:100%!important;max-width:100%!important;display:block!important;transform:none!important;transition:none!important}
.single-product .woocommerce-product-gallery.zc-gallery--single .woocommerce-product-gallery__image:not(.clone){width:100%!important;max-width:100%!important;float:none!important;display:block!important;margin:0!important}
.single-product .woocommerce-product-gallery.zc-gallery--single .woocommerce-product-gallery__image.clone{display:none!important}
.single-product .woocommerce-tabs ul.tabs{max-width:100%!important;display:flex!important;flex-wrap:nowrap!important;gap:7px!important;margin:0 0 10px!important;padding:0!important;overflow-x:auto!important;overflow-y:hidden!important}
.single-product .woocommerce-tabs ul.tabs li{flex:0 0 auto!important;margin:0!important}
.single-product .woocommerce-tabs .panel{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:clamp(16px,3vw,30px)!important;overflow-wrap:anywhere!important}
.single-product :where(table,select,input,textarea){max-width:100%}

/* Product 1.2 — stable first paint, complete desktop thumbnails and EPO media. */
/* Before WooCommerce creates FlexSlider, stack all slides in the same reserved
   square and paint only the first one. This prevents the gallery from first
   appearing below the product and then jumping into place. */
.single-product .woocommerce-product-gallery:not(.flexslider)>.woocommerce-product-gallery__wrapper{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;aspect-ratio:1!important;overflow:hidden!important}
.single-product .woocommerce-product-gallery:not(.flexslider)>.woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image{grid-area:1/1!important;width:100%!important;min-width:0!important;margin:0!important}
.single-product .woocommerce-product-gallery:not(.flexslider)>.woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image:not(:first-child){visibility:hidden!important;pointer-events:none!important}
.single-product .woocommerce-product-gallery .flex-viewport{width:100%!important;max-width:100%!important;overflow:hidden!important;border-radius:17px!important}
@media(max-width:900px){.single-product .woocommerce-product-gallery .flex-viewport,.single-product .woocommerce-product-gallery__wrapper{touch-action:pan-y pinch-zoom}}
.single-product div.product .woocommerce-product-gallery.flexslider .woocommerce-product-gallery__wrapper{display:block!important;align-items:initial!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important}
.single-product div.product .woocommerce-product-gallery.flexslider .woocommerce-product-gallery__image{display:block!important;float:left!important;flex:none!important;margin:0!important;border:0!important}
.single-product .flex-control-thumbs{position:static!important;clear:both!important;width:100%!important;max-width:100%!important;gap:10px!important;margin-block:14px 0!important;padding:2px!important;border:0!important;background:transparent!important;box-shadow:none!important}
.single-product .flex-control-thumbs>li{position:relative!important;width:92px!important;min-width:92px!important;max-width:92px!important;height:92px!important;margin:0!important;overflow:visible!important}
.single-product .flex-control-thumbs>li>img{width:92px!important;min-width:92px!important;max-width:92px!important;height:92px!important;display:block!important;object-fit:cover!important;aspect-ratio:1!important;border-radius:11px!important}
.single-product .flex-control-thumbs>li.zc-gallery-thumb--video::after{position:absolute;inset-inline-start:6px;inset-block-end:6px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid rgb(255 255 255/.72);border-radius:999px;background:rgba(15,23,42,.9);color:#fff;font-size:.62rem;font-weight:800;line-height:1.35;box-shadow:0 3px 10px rgb(15 23 42/.28);pointer-events:none;content:"▶  ویدئو"}
.single-product .flex-control-thumbs>li.zc-gallery-thumb--video>img{border:2px solid var(--zc26-blue,#195eea)!important;filter:saturate(.9)}
.single-product .flex-control-thumbs:empty,.single-product .flex-control-thumbs:has(>li:only-child){display:none!important}
.single-product .zc-gallery-scroll-hint[hidden]{display:none!important}
@media(min-width:901px){
 .single-product .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(auto-fill,92px)!important;justify-content:start!important;overflow:visible!important}
 .single-product .zc-gallery-scroll-hint{display:none!important}
}
/* ThemeComplete owns section/field width, items-per-row, wrapping, spacing,
   conditional visibility and selection geometry. The theme decorates only
   the media and the lightbox control already emitted by the plugin. */
.single-product :where(.tm-extra-product-options,.tc-extra-product-options) .tc-lightbox-image-wrap{position:relative!important;isolation:isolate!important;border-radius:10px!important}
.single-product :where(.tm-extra-product-options,.tc-extra-product-options) img.tc-lightbox-image{max-width:100%!important;height:auto!important;vertical-align:middle!important;border-radius:10px!important;box-shadow:0 1px 3px rgba(15,23,42,.12)!important}
.single-product :where(.tm-extra-product-options,.tc-extra-product-options) .tm-epo-field-label:focus-within .tc-lightbox-image-wrap{outline:3px solid var(--zc-primary)!important;outline-offset:2px!important;border-radius:10px!important}
.single-product :where(.tm-extra-product-options,.tc-extra-product-options) .tc-lightbox-wrap{position:absolute!important;z-index:3!important;right:2px!important;bottom:2px!important;left:auto!important;top:auto!important;width:clamp(20px,30%,34px)!important;min-width:20px!important;max-width:34px!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:1!important;margin:0!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important;transform:none!important}
.single-product :where(.tm-extra-product-options,.tc-extra-product-options) :where(.tc-lightbox-button,.tm-lightbox-button){position:static!important;z-index:3!important;width:100%!important;min-width:0!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:none!important;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.82)!important;border-radius:8px!important;background:rgba(15,23,42,.84)!important;color:#fff!important;font-size:clamp(10px,1vw,15px)!important;line-height:1!important;box-shadow:0 2px 7px rgba(15,23,42,.2)!important;transform:none!important}
.single-product :where(.tm-extra-product-options,.tc-extra-product-options) :where(.tc-lightbox-button,.tm-lightbox-button) :where(i,span,svg){width:50%!important;height:50%!important;max-width:16px!important;max-height:16px!important;margin:auto!important;font-size:inherit!important;line-height:1!important}
/* Keep only the outer WooCommerce purchase flow unclipped. ThemeComplete
   remains responsible for all inner field geometry and responsive columns. */
.single-product div.product.type-product>.summary :where(form.cart,.variations_form,.single_variation_wrap,.woocommerce-variation-add-to-cart){height:auto!important;max-height:none!important;overflow:visible!important}

/* Native WooCommerce variation picker.
   This contract is intentionally limited to WooCommerce's own variations
   table; add-on plugins keep full ownership of their grids and field rows. */
body.single-product form.variations_form.cart table.variations{
 width:100%!important;max-width:100%!important;margin:18px 0!important;padding:0!important;border:0!important;border-collapse:separate!important;border-spacing:0 12px!important;background:transparent!important;box-sizing:border-box!important
}
body.single-product form.variations_form.cart table.variations>tbody{
 width:100%!important;box-sizing:border-box!important
}
body.single-product form.variations_form.cart table.variations>tbody>tr{
 width:100%!important;min-width:0!important;margin:0!important;background:var(--zc26-paper,#f6f8fc)!important;box-shadow:0 1px 2px rgb(11 23 48/.04)!important;box-sizing:border-box!important
}
/* ThemeComplete hides only the native attribute rows it replaces. Responsive
   WooCommerce table CSS may force cells/rows back to display:block on phones,
   overriding the plugin's inline display:none. Preserve that explicit plugin
   decision without guessing which attributes are customized. */
body.single-product form.variations_form.cart table.variations[hidden],
body.single-product form.variations_form.cart table.variations[style*="display: none" i],
body.single-product form.variations_form.cart table.variations[style*="display:none" i],
body.single-product form.variations_form.cart table.variations :is(tr,th,td,select)[hidden],
body.single-product form.variations_form.cart table.variations :is(tr,th,td,select)[style*="display: none" i],
body.single-product form.variations_form.cart table.variations :is(tr,th,td,select)[style*="display:none" i]{display:none!important}
body.single-product form.variations_form.cart table.variations>tbody>tr>th.label,
body.single-product form.variations_form.cart table.variations>tbody>tr>td.value{
 max-width:100%!important;margin:0!important;padding:14px!important;border-block:1px solid var(--zc26-line,#dce4ef)!important;text-align:right!important;box-sizing:border-box!important
}
body.single-product form.variations_form.cart table.variations>tbody>tr>th.label{width:34%!important;border-inline-start:1px solid var(--zc26-line,#dce4ef)!important;border-radius:0 14px 14px 0!important}
body.single-product form.variations_form.cart table.variations>tbody>tr>td.value{width:66%!important;border-inline-end:1px solid var(--zc26-line,#dce4ef)!important;border-radius:14px 0 0 14px!important}
body.single-product form.variations_form.cart table.variations th.label label{
 display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;color:var(--zc26-ink,#0b1730)!important;font-size:.9rem!important;font-weight:800!important;line-height:1.7!important
}
body.single-product form.variations_form.cart table.variations th.label label:before{
 width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--zc26-blue,#195eea);content:""
}
body.single-product form.variations_form.cart table.variations td.value select{
 width:100%!important;max-width:100%!important;min-height:52px!important;margin:0!important;padding:10px 14px 10px 44px!important;border:1px solid var(--zc26-line-strong,#bdcbe0)!important;border-radius:10px!important;background-color:#fff!important;color:var(--zc26-ink,#0b1730)!important;font:inherit!important;font-size:.94rem!important;font-weight:600!important;line-height:1.6!important;text-align:right!important;box-shadow:inset 0 1px 0 rgb(11 23 48/.025)!important;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease
}
body.single-product form.variations_form.cart table.variations td.value select:hover{
 border-color:#9db9f6!important;background-color:#fff!important
}
body.single-product form.variations_form.cart table.variations td.value select:focus,
body.single-product form.variations_form.cart table.variations td.value select:focus-visible{
 border-color:var(--zc26-blue,#195eea)!important;outline:2px solid rgb(25 94 234/.14)!important;outline-offset:1px!important;box-shadow:none!important
}
body.single-product form.variations_form.cart table.variations .reset_variations{
 width:max-content!important;max-width:100%!important;min-height:36px!important;margin:8px 0 0!important;padding:5px 10px!important;border-color:var(--zc26-line-strong,#bdcbe0)!important;border-radius:9px!important;background:#fff!important;color:var(--zc26-blue-deep,#1649b9)!important;font-size:.7rem!important
}
body.single-product form.variations_form.cart table.variations .reset_variations:hover{
 border-color:var(--zc26-blue,#195eea)!important;background:var(--zc26-blue-soft,#edf4ff)!important;transform:none!important
}
@media(max-width:520px){
 body.single-product form.variations_form.cart table.variations{margin-block:14px!important}
 body.single-product form.variations_form.cart table.variations>tbody>tr>th.label,
 body.single-product form.variations_form.cart table.variations>tbody>tr>td.value{padding:12px 10px!important}
 body.single-product form.variations_form.cart table.variations td.value select{min-height:50px!important;font-size:.9rem!important}
}
@media(max-width:900px){
 .single-product .woocommerce-shell{width:calc(100% - 24px)!important;padding:18px 0 40px!important}
 .single-product div.product.type-product{display:flex!important;flex-direction:column!important;gap:16px!important}
 .single-product div.product.type-product>.zc-product-heading{order:0!important;width:100%!important}
 .single-product div.product.type-product>.woocommerce-product-gallery{order:1!important;width:100%!important}
 .single-product div.product.type-product>.summary{order:2!important;width:100%!important}
 .single-product div.product.type-product>.woocommerce-tabs{order:3!important;width:100%!important}
 .single-product div.product.type-product>section:is(.related,.upsells).products{order:4!important;width:100%!important}
 .single-product .woocommerce-product-gallery__trigger{top:12px!important;right:auto!important;left:12px!important}
 .single-product .woocommerce-product-gallery__image>a{aspect-ratio:1!important}
 .single-product .flex-control-thumbs{display:flex!important;width:100%!important;max-width:100%!important;flex-flow:row nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scroll-padding-inline:2px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--zc26-line-strong,#bdcbe0) transparent}
 .single-product .flex-control-thumbs>li{scroll-snap-align:start}
 .single-product .summary :where(.price,.woocommerce-product-rating,.stock){max-width:100%!important}
 .single-product form.cart,.single-product form.variations_form{width:100%!important;max-width:100%!important;margin-inline:0!important}
 .single-product table.variations{width:100%!important;max-width:100%!important}
}
@media(max-width:520px){
 .single-product .woocommerce-shell{width:calc(100% - 20px)!important;padding-top:12px!important}
 .single-product .zc-product-heading{padding-bottom:8px!important}
 .single-product .zc-product-heading__type{font-size:.66rem!important}
 .single-product .zc-product-page-title{font-size:clamp(1.45rem,7.5vw,2rem)!important;line-height:1.45!important}
 .single-product div.product.type-product>.summary{padding:14px 12px!important;border-radius:16px!important}
 .single-product .flex-control-thumbs{gap:8px!important;margin-top:10px!important}
 .single-product .flex-control-thumbs>li{width:72px!important;min-width:72px!important;max-width:72px!important;height:72px!important;flex:0 0 72px!important}
 .single-product .flex-control-thumbs>li>img{width:72px!important;min-width:72px!important;max-width:72px!important;height:72px!important}
 .single-product .flex-control-thumbs>li.zc-gallery-thumb--video::after{inset-inline-start:4px;inset-block-end:4px;padding:3px 5px;font-size:.56rem}
 .single-product .woocommerce-tabs ul.tabs{width:100%!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(88px,1fr))!important;gap:6px!important;overflow:visible!important;scroll-snap-type:none}
 .single-product .woocommerce-tabs ul.tabs li{width:auto!important;min-width:0!important;scroll-snap-align:none}
 .single-product .woocommerce-tabs ul.tabs li a{width:100%!important;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:7px 6px!important;font-size:.69rem!important;line-height:1.55!important;text-align:center!important;white-space:normal!important}
 .single-product .woocommerce-tabs .panel{padding:14px 11px!important}
 .single-product .woocommerce-variation-add-to-cart,.single-product form.cart:not(.variations_form):not(.grouped_form){display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;gap:8px!important}
 .single-product .woocommerce-variation-add-to-cart>* ,.single-product form.cart:not(.variations_form):not(.grouped_form)>*{grid-column:1/-1!important;max-width:100%!important;min-width:0!important}
 .single-product .woocommerce-variation-add-to-cart>.quantity:not(:has(input[type=hidden])),.single-product form.cart:not(.variations_form):not(.grouped_form)>.quantity:not(:has(input[type=hidden])){grid-column:1!important;width:104px!important;min-width:104px!important}
 .single-product .woocommerce-variation-add-to-cart>.single_add_to_cart_button,.single-product form.cart:not(.variations_form):not(.grouped_form)>.single_add_to_cart_button{grid-column:2!important;width:100%!important;min-width:0!important;padding-inline:12px!important;font-size:.8rem!important}
 .single-product .tm-extra-product-options-totals{grid-template-columns:minmax(0,1fr) auto!important;padding:12px!important;column-gap:8px!important}
}
