/* ==========================================================================
   کپل پا — بازطراحی صفحه‌ی تک‌محصول
   مسیر: wp-content/themes/karigari-child/css/single-product.css
   ========================================================================== */

/* --------------------------------------------------------------------------
   1) توکن‌های طراحی (هم‌رنگ با پالت خود قالب: #cc6833 / کرم / طلایی)
   -------------------------------------------------------------------------- */
body.single-product{
	--kp-accent:      #cc6833;
	--kp-accent-dark: #a94f22;
	--kp-accent-soft: #fbf1ea;
	--kp-gold:        #c6a87d;
	--kp-ink:         #22252b;
	--kp-ink-2:       #4d5058;
	--kp-muted:       #86867f;
	--kp-line:        #e9e2d4;
	--kp-line-2:      #f2ede2;
	--kp-surface:     #ffffff;
	--kp-cream:       #faf7f0;
	--kp-cream-2:     #f4efe3;
	--kp-green:       #2c8a5b;

	--kp-r:    20px;
	--kp-r-md: 14px;
	--kp-r-sm: 10px;

	--kp-shadow:    0 1px 2px rgba(34,37,43,.04), 0 14px 34px -20px rgba(34,37,43,.30);
	--kp-shadow-lg: 0 2px 4px rgba(34,37,43,.05), 0 30px 64px -30px rgba(34,37,43,.38);

	--kp-sticky-top: 96px;
	/* ارتفاع کادر تصویر اصلی؛ تصویر هیچ‌وقت از این بلندتر نمی‌شود */
	--kp-gallery-h: clamp(440px, 66vh, 640px);
}

body.single-product{
	background: var(--kp-cream);
}

/* قالب روی .site مقدار overflow:hidden می‌گذارد و همین باعث می‌شود position:sticky
   از کار بیفتد. clip همان بریدن افقی را می‌دهد ولی اسکرول‌کانتینر نمی‌سازد.
   توجه: overflow روی خود <body> دست‌کاری نشود — به viewport تسری پیدا می‌کند و
   کل صفحه را از اسکرول می‌اندازد. */
body.single-product .site.overflow-hidden{
	overflow: clip !important;
	/* clip برخلاف hidden بلوک‌فرمتینگ‌کانتکست نمی‌سازد؛ بدون این خط ارتفاع
	   .site جمع می‌شود و کل صفحه بریده می‌شود */
	display: flow-root;
}

/* فاصله‌ی بالای صفحه بعد از بردکرامب */
body.single-product div.product{
	padding-block: 8px 56px;
}

body.single-product div.product > .container{
	max-width: 1360px;
	width: 100%;
	margin-inline: auto;
	padding-inline: 24px;
}

/* --------------------------------------------------------------------------
   2) چیدمان دو ستونی: گالری راست (چسبان) — مشخصات چپ
   -------------------------------------------------------------------------- */
body.single-product .single-product-thumb-content{
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
	align-items: start;
	gap: 56px;
	margin: 0;
}

body.single-product .single-product-thumb,
body.single-product .single-product-detail{
	width: 100%;
	max-width: none;
	flex: none;
	padding: 0;
	margin: 0;
}

body.single-product .single-product-thumb{
	position: sticky;
	top: var(--kp-sticky-top);
	/* وسط‌چین کردن از سمت والد، به‌جای margin:auto — مستقل از float و از
	   ترتیب محاسبه‌ی استایل‌ها قابل اتکاست */
	display: flex;
	flex-direction: column;
	align-items: center;
}

body.single-product .single-product-detail .summary.entry-summary{
	margin: 0;
	padding: 0;
	width: 100%;
	float: none;
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* دکمه‌های شناور قبلی/بعدی محصول — کوچک و بی‌سروصدا */
body.single-product .prev_next_buttons{
	opacity: .35;
	transition: opacity .25s ease;
}
body.single-product .prev_next_buttons:hover{ opacity: 1; }

/* --------------------------------------------------------------------------
   3) گالری — بازنویسی کامل (اسلایدر RTL قالب خراب بود و تصاویر بیرون از کادر
      رندر می‌شدند؛ اینجا اسلایدر خنثی و یک گالری ساده‌ی پایدار جایگزین می‌شود)
   -------------------------------------------------------------------------- */
body.single-product .single-product-thumbnail{
	display: flex;
	flex-direction: column;
	gap: 14px;
	/* عرض از ارتفاع مجاز مشتق می‌شود تا تصویر ۳:۴ بدون حاشیه‌ی خالی جا شود */
	width: 100%;
	max-width: min(100%, calc(var(--kp-gallery-h) * 0.75));
	float: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* خنثی‌سازی flexslider */
body.single-product .single-product-thumbnail .flex-viewport{
	height: auto !important;
	overflow: visible !important;
	transition: none !important;
}
body.single-product .woocommerce-product-gallery{
	position: relative;
	margin: 0 !important;
	width: 100% !important;
	float: none !important;
	opacity: 1 !important;
}
body.single-product .woocommerce-product-gallery__wrapper{
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	transform: none !important;
	transition: none !important;

	position: relative;
	aspect-ratio: 3 / 4;
	background: var(--kp-surface);
	border: 1px solid var(--kp-line);
	border-radius: var(--kp-r);
	overflow: hidden;
	box-shadow: var(--kp-shadow);
}
body.single-product .woocommerce-product-gallery__image{
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	float: none !important;
	margin: 0 !important;
	display: block !important;
	opacity: 0;
	visibility: hidden;
	transition: opacity .35s ease;
	pointer-events: none;
}
body.single-product .woocommerce-product-gallery__image.kp-active{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 2;
}
body.single-product .woocommerce-product-gallery__image > a{
	display: block;
	width: 100%;
	height: 100%;
	cursor: zoom-in;
}
body.single-product .woocommerce-product-gallery__image img:not(.zoomImg){
	width: 100% !important;
	height: 100% !important;
	/* قالب روی تصویر محصول min-width می‌گذارد؛ بدون صفر کردن آن، width:100%
	   کوتاه‌تر نمی‌شود و تصویرِ محصولاتِ تک‌عکسی از کادر می‌زند بیرون. */
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain;
	object-position: center;
	background: var(--kp-cream);
	display: block;
}
/* زوم درون‌صفحه‌ای قالب با object-fit جور در نمی‌آید */
body.single-product .woocommerce-product-gallery img.zoomImg{ display: none !important; }

/* کنترل‌های خراب قالب */
body.single-product .flex-control-thumbs,
body.single-product .flex-direction-nav{ display: none !important; }

/* دکمه‌ی تمام‌صفحه */
body.single-product .woocommerce-product-gallery__trigger{
	position: absolute;
	top: 16px;
	inset-inline-start: 16px;
	z-index: 6;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(255,255,255,.92);
	border: 1px solid var(--kp-line);
	box-shadow: 0 6px 18px -8px rgba(34,37,43,.4);
	backdrop-filter: blur(6px);
	transition: transform .2s ease, background .2s ease;
	font-size: 0;
}
body.single-product .woocommerce-product-gallery__trigger:hover{
	transform: scale(1.06);
	background: #fff;
}
body.single-product .woocommerce-product-gallery__trigger img.emoji,
body.single-product .woocommerce-product-gallery__trigger span{
	width: 19px;
	height: 19px;
	margin: 0;
}

/* پیمایش روی تصویر اصلی */
body.single-product .kp-gal-nav{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	width: 46px;
	height: 46px;
	display: grid;
	place-items: center;
	border: 1px solid var(--kp-line);
	border-radius: 50%;
	background: rgba(255,255,255,.9);
	color: var(--kp-ink);
	cursor: pointer;
	opacity: 0;
	transition: opacity .25s ease, background .2s ease, transform .2s ease;
	padding: 0;
}
body.single-product .single-product-thumbnail:hover .kp-gal-nav{ opacity: 1; }
body.single-product .kp-gal-nav:hover{ background: var(--kp-accent); color: #fff; border-color: var(--kp-accent); }
body.single-product .kp-gal-nav--prev{ inset-inline-end: 14px; }
body.single-product .kp-gal-nav--next{ inset-inline-start: 14px; }
body.single-product .kp-gal-nav svg{ width: 17px; height: 17px; }

/* شمارنده */
body.single-product .kp-gal-count{
	position: absolute;
	bottom: 16px;
	inset-inline-end: 16px;
	z-index: 5;
	padding: 5px 13px;
	border-radius: 999px;
	background: rgba(34,37,43,.72);
	color: #fff;
	font-size: 12.5px;
	letter-spacing: .3px;
	backdrop-filter: blur(4px);
}

/* نوار بندانگشتی */
body.single-product .kp-thumbs{
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}
body.single-product .kp-thumbs li{
	margin: 0;
	padding: 0;
	list-style: none;
}
body.single-product .kp-thumb{
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	padding: 0;
	border: 1.5px solid var(--kp-line);
	border-radius: var(--kp-r-md);
	overflow: hidden;
	background: var(--kp-surface);
	cursor: pointer;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body.single-product .kp-thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .35s ease;
}
body.single-product .kp-thumb:hover{ transform: translateY(-2px); box-shadow: var(--kp-shadow); }
body.single-product .kp-thumb:hover img{ transform: scale(1.06); }
body.single-product .kp-thumb.is-active{
	border-color: var(--kp-accent);
	box-shadow: 0 0 0 3px var(--kp-accent-soft);
}

/* --------------------------------------------------------------------------
   4) ستون مشخصات
   -------------------------------------------------------------------------- */

/* --- سرتیتر: دسته‌بندی، عنوان، امتیاز --- */
body.single-product .kp-eyebrow{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}
body.single-product .kp-eyebrow a{
	font-size: 12.5px;
	line-height: 1;
	padding: 7px 13px;
	border-radius: 999px;
	background: var(--kp-cream-2);
	color: var(--kp-ink-2);
	border: 1px solid var(--kp-line);
	text-decoration: none;
	transition: all .2s ease;
}
body.single-product .kp-eyebrow a:hover{
	background: var(--kp-accent);
	border-color: var(--kp-accent);
	color: #fff;
}

body.single-product .entry-summary h1.product_title{
	font-size: clamp(26px, 2.4vw, 36px);
	line-height: 1.45;
	font-weight: 700;
	color: var(--kp-ink);
	margin: 0 0 12px;
	padding: 0;
	letter-spacing: -.2px;
}

body.single-product .entry-summary .woocommerce-product-rating{
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 20px;
	padding: 0 0 20px;
	border-bottom: 1px solid var(--kp-line);
	font-size: 13.5px;
	color: var(--kp-muted);
	float: none;
}
body.single-product .entry-summary .woocommerce-product-rating .star-rating{
	color: var(--kp-accent);
	margin: 0;
	float: none;
}
body.single-product .entry-summary .woocommerce-product-rating a{
	color: var(--kp-muted);
	text-decoration: none;
	border-bottom: 1px dashed var(--kp-line);
}
body.single-product .entry-summary .woocommerce-product-rating a:hover{ color: var(--kp-accent); }

/* قیمت خالی ووکامرس را پنهان کن (قیمت‌ها داخل متن محصول‌اند) */
body.single-product .entry-summary > p.price:empty{ display: none; }
body.single-product .entry-summary > p.price{
	font-size: 26px;
	font-weight: 700;
	color: var(--kp-accent);
	margin: 0 0 18px;
}

/* --- پاراگراف معرفی --- */
body.single-product .kp-lead{
	font-size: 16px;
	line-height: 2.1;
	color: var(--kp-ink-2);
	margin: 0 0 22px;
	padding: 16px 18px;
	background: var(--kp-cream);
	border: 1px solid var(--kp-line-2);
	border-inline-start: 3px solid var(--kp-gold);
	border-radius: var(--kp-r-sm);
}
body.single-product .kp-lead img.emoji{ display: none; }

/* --- خلاصه‌ی «قیمت از» --- */
body.single-product .kp-price-from{
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 20px;
}
body.single-product .kp-price-from__label{
	font-size: 14px;
	color: var(--kp-muted);
}
body.single-product .kp-price-from__value{
	font-size: clamp(26px, 2.2vw, 33px);
	font-weight: 800;
	color: var(--kp-accent);
	letter-spacing: -.5px;
}
body.single-product .kp-price-from__unit{
	font-size: 15px;
	font-weight: 500;
	color: var(--kp-ink-2);
}

/* --- جدول قیمت اجزا --- */
body.single-product .kp-pricelist{
	background: var(--kp-surface);
	border: 1px solid var(--kp-line);
	border-radius: var(--kp-r);
	overflow: hidden;
	box-shadow: var(--kp-shadow);
	margin: 0 0 22px;
}
body.single-product .kp-pricelist__head{
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 15px 20px;
	background: var(--kp-cream-2);
	border-bottom: 1px solid var(--kp-line);
	font-size: 15px;
	font-weight: 700;
	color: var(--kp-ink);
}
body.single-product .kp-pricelist__head svg{
	width: 18px;
	height: 18px;
	color: var(--kp-accent);
	flex: none;
}
body.single-product .kp-pricelist__row{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 15px 20px;
	border-bottom: 1px solid var(--kp-line-2);
	transition: background .18s ease;
}
body.single-product .kp-pricelist__row:last-child{ border-bottom: 0; }
body.single-product .kp-pricelist__row:hover{ background: var(--kp-cream); }
body.single-product .kp-pricelist__name{
	font-size: 14.5px;
	line-height: 1.85;
	color: var(--kp-ink-2);
	flex: 1 1 auto;
	min-width: 0;
}
body.single-product .kp-pricelist__price{
	flex: none;
	font-size: 16px;
	font-weight: 700;
	color: var(--kp-ink);
	white-space: nowrap;
	direction: rtl;
}
body.single-product .kp-pricelist__price span{
	font-size: 12.5px;
	font-weight: 500;
	color: var(--kp-muted);
	margin-inline-start: 4px;
}
body.single-product .kp-pricelist__group{
	padding: 11px 20px;
	background: var(--kp-cream);
	border-bottom: 1px solid var(--kp-line-2);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .4px;
	color: var(--kp-muted);
}

/* --- مزیت‌ها --- */
body.single-product .kp-features{
	display: grid;
	gap: 10px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}
body.single-product .kp-features li{
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 13px 16px;
	background: var(--kp-surface);
	border: 1px solid var(--kp-line-2);
	border-radius: var(--kp-r-md);
	font-size: 14.5px;
	line-height: 1.8;
	color: var(--kp-ink-2);
	list-style: none;
}
body.single-product .kp-features li svg{
	width: 20px;
	height: 20px;
	flex: none;
	color: var(--kp-accent);
}

/* --- بلوک اقدام (تماس / واتساپ) --- */
body.single-product .kp-cta{
	background: linear-gradient(140deg, #ffffff 0%, var(--kp-cream) 100%);
	border: 1px solid var(--kp-line);
	border-radius: var(--kp-r);
	padding: 22px;
	box-shadow: var(--kp-shadow-lg);
	margin: 0 0 24px;
}
body.single-product .kp-cta__title{
	font-size: 15.5px;
	font-weight: 700;
	color: var(--kp-ink);
	margin: 0 0 6px;
}
body.single-product .kp-cta__note{
	font-size: 13.5px;
	line-height: 1.9;
	color: var(--kp-muted);
	margin: 0 0 18px;
}
body.single-product .kp-cta__actions{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
body.single-product .kp-btn{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 15px 18px;
	border-radius: var(--kp-r-md);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	border: 1.5px solid transparent;
	cursor: pointer;
	transition: transform .18s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
	line-height: 1;
}
body.single-product .kp-btn svg{ width: 18px; height: 18px; flex: none; }
body.single-product .kp-btn:hover{ transform: translateY(-2px); }
body.single-product .kp-btn--primary{
	background: var(--kp-accent);
	color: #fff;
	box-shadow: 0 10px 24px -12px rgba(204,104,51,.9);
}
body.single-product .kp-btn--primary:hover{ background: var(--kp-accent-dark); color: #fff; }
body.single-product .kp-btn--ghost{
	background: var(--kp-surface);
	color: var(--kp-ink);
	border-color: var(--kp-line);
}
body.single-product .kp-btn--ghost:hover{ border-color: var(--kp-accent); color: var(--kp-accent); }

/* ---- فرم خرید: محصول ساده و محصول متغیر ----
   ساده:  form.cart > .quantity + .cart-wrap
   متغیر: form.variations_form > table.variations + .single_variation_wrap
                                  > .woocommerce-variation-add-to-cart
                                    > .quantity + .cart-wrap                */

body.single-product .entry-summary form.cart{
	margin: 0 0 24px;
	width: 100%;
}
/* محصول متغیر باید بلوکی بماند تا جدول انتخاب‌ها و بلوک خرید روی هم بیفتند */
body.single-product .entry-summary form.variations_form{
	display: block;
}

/* ردیف «تعداد + دکمه‌ی خرید» — در هر دو نوع محصول */
body.single-product .entry-summary form.cart:not(.variations_form),
body.single-product .entry-summary .woocommerce-variation-add-to-cart{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

/* --- انتخاب ویژگی‌ها (محصول متغیر) --- */
body.single-product .entry-summary table.variations{
	width: 100%;
	margin: 0 0 18px;
	border: 0;
	border-collapse: collapse;
	background: none;
	box-shadow: none;
}
body.single-product .entry-summary table.variations tr,
body.single-product .entry-summary table.variations td{
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
}
body.single-product .entry-summary table.variations td.label{
	margin-bottom: 8px;
}
body.single-product .entry-summary table.variations td.label label{
	font-size: 14px;
	font-weight: 600;
	color: var(--kp-ink);
	margin: 0;
}
body.single-product .entry-summary table.variations td.value{
	margin-bottom: 14px;
}
body.single-product .entry-summary .variations select{
	width: 100%;
	height: 52px;
	padding: 0 16px;
	border: 1px solid var(--kp-line);
	border-radius: var(--kp-r-md);
	background: var(--kp-surface);
	color: var(--kp-ink);
	font-family: inherit;
	font-size: 14.5px;
	cursor: pointer;
	transition: border-color .2s ease;
}
body.single-product .entry-summary .variations select:focus{
	outline: none;
	border-color: var(--kp-accent);
}
body.single-product .entry-summary a.reset_variations{
	display: inline-block;
	margin-top: 8px;
	font-size: 13px;
	color: var(--kp-muted);
	text-decoration: none;
	border-bottom: 1px dashed var(--kp-line);
}
body.single-product .entry-summary a.reset_variations:hover{ color: var(--kp-accent); }

/* قیمت واریِیشن انتخاب‌شده */
body.single-product .entry-summary .woocommerce-variation-price{
	margin-bottom: 14px;
}
body.single-product .entry-summary .woocommerce-variation-price .price{
	font-size: 24px;
	font-weight: 800;
	color: var(--kp-accent);
}
body.single-product .entry-summary .woocommerce-variation-availability p{
	margin: 0 0 12px;
	font-size: 13.5px;
	color: var(--kp-muted);
}

/* --- انتخابگر تعداد --- */
body.single-product .entry-summary .quantity{
	display: flex;
	align-items: center;
	flex: none;
	border: 1px solid var(--kp-line);
	border-radius: var(--kp-r-md);
	overflow: hidden;
	background: var(--kp-surface);
	height: 54px;
}
body.single-product .entry-summary .quantity .qty_button{
	width: 42px;
	height: 52px;
	border: 0;
	padding: 0;
	background: transparent;
	color: var(--kp-ink-2);
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background .18s ease, color .18s ease;
}
body.single-product .entry-summary .quantity .qty_button:hover{
	background: var(--kp-cream-2);
	color: var(--kp-accent);
}
body.single-product .entry-summary .quantity input.qty{
	width: 52px;
	height: 52px;
	border: 0;
	padding: 0;
	text-align: center;
	background: transparent;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	color: var(--kp-ink);
	-moz-appearance: textfield;
}
body.single-product .entry-summary .quantity input.qty::-webkit-outer-spin-button,
body.single-product .entry-summary .quantity input.qty::-webkit-inner-spin-button{
	-webkit-appearance: none;
	margin: 0;
}

/* --- دکمه‌ی افزودن به سبد --- */
body.single-product .entry-summary .cart-wrap{
	flex: 1 1 220px;
	min-width: 0;
}
body.single-product .entry-summary .single_add_to_cart_button,
body.single-product .entry-summary .cart-wrap > .button{
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	height: 54px !important;
	min-height: 54px !important;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: var(--kp-r-md) !important;
	background: var(--kp-accent) !important;
	color: #fff !important;
	font-size: 15.5px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-decoration: none;
	box-shadow: 0 10px 24px -12px rgba(204,104,51,.9);
	transition: background .2s ease, transform .18s ease;
}
body.single-product .entry-summary .single_add_to_cart_button:hover,
body.single-product .entry-summary .cart-wrap > .button:hover{
	background: var(--kp-accent-dark) !important;
	transform: translateY(-2px);
}
body.single-product .entry-summary .single_add_to_cart_button svg,
body.single-product .entry-summary .cart-wrap > .button svg{
	width: 18px;
	height: 18px;
	flex: none;
}
/* تا وقتی ویژگی‌ها انتخاب نشده‌اند */
body.single-product .entry-summary .single_add_to_cart_button.disabled,
body.single-product .entry-summary .single_add_to_cart_button:disabled{
	background: var(--kp-line) !important;
	color: var(--kp-muted) !important;
	box-shadow: none;
	cursor: not-allowed;
}
body.single-product .entry-summary .single_add_to_cart_button.disabled:hover{
	transform: none;
	background: var(--kp-line) !important;
}

/* --- دکمه‌ی «خرید سریع» (رفتن مستقیم به تسویه) --- */
body.single-product .entry-summary .buy-now-wrap{
	flex: 1 1 100%;
	width: 100%;
	margin: 0;
}
body.single-product .entry-summary .buy-now-wrap > .button{
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	height: 52px !important;
	min-height: 52px !important;
	padding: 0 22px !important;
	border: 1.5px solid var(--kp-ink) !important;
	border-radius: var(--kp-r-md) !important;
	background: transparent !important;
	color: var(--kp-ink) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-decoration: none;
	box-shadow: none;
	transition: background .2s ease, color .2s ease, transform .18s ease;
}
body.single-product .entry-summary .buy-now-wrap > .button:hover{
	background: var(--kp-ink) !important;
	color: #fff !important;
	transform: translateY(-2px);
}
body.single-product .entry-summary .buy-now-wrap svg{
	width: 17px;
	height: 17px;
	flex: none;
}

@media (max-width: 480px){
	body.single-product .entry-summary .cart-wrap{ flex: 1 1 100%; }
}

/* --- زمان ارسال / ارسال رایگان --- */
body.single-product .entry-summary .product-estimate{
	margin: 4px 0 0;
}
body.single-product .entry-summary .delivery-shipping-wrap{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 10px;
}
body.single-product .entry-summary .delivery-shipping-wrap > div{
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 13px 16px;
	background: var(--kp-surface);
	border: 1px solid var(--kp-line-2);
	border-radius: var(--kp-r-md);
}
body.single-product .entry-summary .delivery-shipping-wrap > div::before{
	content: "";
	display: none;
}
body.single-product .entry-summary .delivery-shipping-wrap span{
	font-size: 12.5px;
	color: var(--kp-muted);
	line-height: 1.7;
}
body.single-product .entry-summary .delivery-shipping-wrap p{
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--kp-ink);
	line-height: 1.8;
}

/* --- برچسب‌ها به‌شکل چیپ --- */
body.single-product .entry-summary .product_meta .tagged_as a{
	display: inline-block;
	padding: 5px 12px;
	margin: 2px 0;
	border-radius: 999px;
	background: var(--kp-cream-2);
	border: 1px solid var(--kp-line);
	color: var(--kp-ink-2);
	font-size: 12.5px;
	line-height: 1.6;
	text-decoration: none;
	transition: all .2s ease;
}
body.single-product .entry-summary .product_meta .tagged_as a:hover{
	background: var(--kp-accent);
	border-color: var(--kp-accent);
	color: #fff;
}
body.single-product .entry-summary .product_meta > span{
	align-items: center;
}

/* --- ردیف علاقه‌مندی / مقایسه / اشتراک --- */
body.single-product .entry-summary .product-button-wrap,
body.single-product .entry-summary a.compare{
	margin: 0;
}
body.single-product .kp-utility{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 16px 0;
	border-block: 1px solid var(--kp-line);
	margin: 0 0 20px;
}
body.single-product .kp-utility .product-button-wrap,
body.single-product .kp-utility .product-button-hv{
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}

/* پوسته‌های .btn-hv قالب، دایره + تولتیپ مطلق دارند؛ کاملاً خنثی می‌شوند و
   خودِ لینک داخلشان به‌شکل دکمه‌ی قرصی درمی‌آید */
body.single-product .kp-utility .btn-hv,
body.single-product .kp-utility .btn-hv > div,
body.single-product .kp-utility .yith-add-to-wishlist-button-block{
	display: inline-flex !important;
	position: static !important;
	align-items: center;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
}
body.single-product .kp-utility .btn-hv::before,
body.single-product .kp-utility .btn-hv::after,
body.single-product .kp-utility .btn-hv > *::before,
body.single-product .kp-utility .btn-hv > *::after{
	content: none !important;
	display: none !important;
}

/* «مشاهده سریع» در صفحه‌ی خود محصول بی‌معنی است */
body.single-product .kp-utility .quickview{ display: none !important; }

body.single-product .kp-utility a{
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	width: auto !important;
	height: auto !important;
	padding: 11px 17px !important;
	border: 1px solid var(--kp-line) !important;
	border-radius: 999px !important;
	background: var(--kp-surface) !important;
	color: var(--kp-ink-2) !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	white-space: nowrap;
	transition: border-color .2s ease, color .2s ease, background .2s ease;
}
body.single-product .kp-utility a:hover{
	border-color: var(--kp-accent) !important;
	color: var(--kp-accent) !important;
	background: var(--kp-accent-soft) !important;
}
body.single-product .kp-utility a .label,
body.single-product .kp-utility a span{
	display: inline !important;
	position: static !important;
	opacity: 1 !important;
	visibility: visible !important;
	font-size: inherit !important;
	color: inherit !important;
	background: none !important;
	transform: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.single-product .kp-utility svg{
	width: 17px !important;
	height: 17px !important;
	flex: none;
}

/* --- متای محصول --- */
body.single-product .entry-summary .product_meta{
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 0;
	margin: 0;
	border: 0;
	font-size: 13.5px;
	color: var(--kp-muted);
}
body.single-product .entry-summary .product_meta > span{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 0;
	border: 0;
}
body.single-product .entry-summary .product_meta a{
	color: var(--kp-ink-2);
	text-decoration: none;
	border-bottom: 1px dashed var(--kp-line);
}
body.single-product .entry-summary .product_meta a:hover{ color: var(--kp-accent); }

/* توضیحات کوتاه خام: وقتی JS ساختاردهی کرده باشد پنهان می‌شود */
body.single-product .woocommerce-product-details__short-description{
	font-size: 15px;
	line-height: 2.15;
	color: var(--kp-ink-2);
	margin: 0 0 22px;
}
body.single-product .woocommerce-product-details__short-description p{ margin: 0 0 12px; }
body.single-product .woocommerce-product-details__short-description > :last-child{ margin-bottom: 0; }
body.single-product.kp-structured .woocommerce-product-details__short-description{ display: none; }

/* جدول مشخصات محصول (table.wc-specs یا هر جدول داخل توضیحات) */
body.single-product .woocommerce-product-details__short-description table{
	width: 100%;
	margin: 0;
	border: 1px solid var(--kp-line);
	border-radius: var(--kp-r-md);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: var(--kp-surface);
	box-shadow: var(--kp-shadow);
	font-size: 14.5px;
	/* ستون‌های مقدار بدون توجه به طول متن، مساوی تقسیم شوند */
	table-layout: fixed;
}
body.single-product .woocommerce-product-details__short-description table td,
body.single-product .woocommerce-product-details__short-description table th{
	overflow-wrap: break-word;
	word-break: break-word;
}
body.single-product .woocommerce-product-details__short-description table tr > *{
	padding: 13px 16px;
	border: 0;
	border-bottom: 1px solid var(--kp-line-2);
	line-height: 1.9;
	vertical-align: middle;
}
body.single-product .woocommerce-product-details__short-description table tr:last-child > *{
	border-bottom: 0;
}
/* ستون اول = عنوان مشخصه. فقط «اولین سلول هر ردیف» هدف است، نه هر th —
   در جدول‌های مقایسه‌ای ردیف سرستون کاملاً از th ساخته شده و اگر به همه‌ی
   th عرض بدهیم، ستون‌ها به‌هم می‌ریزند (۲۴۰/۲۴۰/۹۲ به‌جای تقسیم مساوی). */
body.single-product .woocommerce-product-details__short-description table tr > :first-child{
	width: 38%;
	background: var(--kp-cream);
	border-inline-end: 1px solid var(--kp-line-2);
	font-weight: 600;
	color: var(--kp-ink);
	text-align: start !important;
}
/* ستون‌های مقدار — هرچند تا که باشند، به‌طور مساوی تقسیم می‌شوند */
body.single-product .woocommerce-product-details__short-description table tr > :not(:first-child){
	width: auto;
	color: var(--kp-ink-2);
	text-align: start !important;
	background: var(--kp-surface);
}
/* جداکننده‌ی عمودی بین ستون‌های مقدار در جدول‌های چندستونی */
body.single-product .woocommerce-product-details__short-description table tr > :not(:first-child):not(:last-child){
	border-inline-end: 1px solid var(--kp-line-2);
}

/* ردیف سرستون (سلول دوم به بعد هم th است) */
body.single-product .woocommerce-product-details__short-description table tr > th:nth-child(n+2){
	background: var(--kp-cream-2);
	font-weight: 700;
	color: var(--kp-ink);
	text-align: start !important;
}
body.single-product .woocommerce-product-details__short-description table tr:has(> th:nth-child(2)) > :first-child{
	background: var(--kp-cream-2);
	font-weight: 700;
}
body.single-product .woocommerce-product-details__short-description table strong{
	font-weight: 600;
	color: var(--kp-ink);
}

@media (max-width: 480px){
	body.single-product .woocommerce-product-details__short-description table{ font-size: 13.5px; }
	body.single-product .woocommerce-product-details__short-description table tr > *{ padding: 11px 13px; }
	/* فقط سلول اول هر ردیف — نه هر th (جدول‌های چندستونی را خراب می‌کند) */
	body.single-product .woocommerce-product-details__short-description table tr > :first-child{ width: 34%; }
	body.single-product .woocommerce-product-details__short-description table tr > *{ line-height: 1.8; }
}

/* --------------------------------------------------------------------------
   5) تب‌ها، دیدگاه‌ها، محصولات مرتبط
   -------------------------------------------------------------------------- */
/* تب‌ها و بخش‌های پایین صفحه هرکدام در ظرف متفاوتی هستند و float دارند، برای
   همین margin:auto رویشان اثر نمی‌کرد و سه لبه‌ی افقی متفاوت می‌ساختند
   (۰، ۲۸ و ۵۷). با برداشتن float، هر سه روی همان خط ستون محصول می‌نشینند.

   نکته‌ی مهم: هر کدام از این بلوک‌ها فرزندان شناور دارند، پس همراه با
   float:none حتماً باید display:flow-root بگیرند — وگرنه ارتفاعشان جمع
   می‌شود. (بدون این، کادر تب‌ها به ۲۲px جمع می‌شد و خط بالا/پایینش به‌شکل
   یک جداکننده‌ی سرگردان نزدیک ابتدای صفحه ظاهر می‌شد.) */
body.single-product div.product > .container{
	display: flow-root;
}
body.single-product .single-product-thumb-content{
	float: none !important;
}
body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .recent-product{
	float: none !important;
	clear: none !important;
	display: flow-root;
}
body.single-product .woocommerce-tabs,
body.single-product .recent-product{
	max-width: 1360px;
	margin-inline: auto !important;
	padding-inline: 24px;
	box-sizing: border-box;
}

/* ریتم عمودی یکدست: ۵۶px بین همه‌ی بخش‌های پایین صفحه.
   (padding-bottom خودِ div.product فاصله‌ی «مرتبط ← مشاهده‌شده» را می‌سازد،
   پس margin آن دو صفر می‌ماند تا ۵۶ دوبار جمع نشود و ۱۱۲ نشود.) */
body.single-product .woocommerce-tabs{
	margin-top: 56px !important;
	margin-bottom: 56px !important;
}
body.single-product .related.products{
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
body.single-product .recent-product{
	margin-top: 0 !important;
	margin-bottom: 56px !important;
}
body.single-product .woocommerce-tabs ul.tabs{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 22px;
	padding: 0;
	border: 0;
	list-style: none;
}
body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after{ display: none; }
body.single-product .woocommerce-tabs ul.tabs li{
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	border-radius: 999px;
}
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after{ display: none !important; }
body.single-product .woocommerce-tabs ul.tabs li a{
	display: block;
	padding: 12px 22px;
	border-radius: 999px;
	background: var(--kp-surface);
	border: 1px solid var(--kp-line);
	color: var(--kp-ink-2);
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
	transition: all .2s ease;
}
body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li a:hover{
	background: var(--kp-accent);
	border-color: var(--kp-accent);
	color: #fff;
}
body.single-product .woocommerce-tabs .panel{
	background: var(--kp-surface);
	border: 1px solid var(--kp-line);
	border-radius: var(--kp-r);
	padding: 30px;
	margin: 0;
	box-shadow: var(--kp-shadow);
	font-size: 15px;
	line-height: 2.1;
	color: var(--kp-ink-2);
}
body.single-product .woocommerce-tabs .panel > h2:first-child{ display: none; }

body.single-product #review_form .comment-form{
	display: grid;
	gap: 14px;
}
body.single-product #review_form input[type="text"],
body.single-product #review_form input[type="email"],
body.single-product #review_form textarea{
	width: 100%;
	padding: 13px 16px;
	border: 1px solid var(--kp-line);
	border-radius: var(--kp-r-sm);
	background: var(--kp-cream);
	font-family: inherit;
	font-size: 14.5px;
	transition: border-color .2s ease, background .2s ease;
}
body.single-product #review_form input:focus,
body.single-product #review_form textarea:focus{
	outline: none;
	border-color: var(--kp-accent);
	background: #fff;
}
body.single-product #review_form .submit{
	justify-self: start;
	padding: 14px 32px;
	border: 0;
	border-radius: var(--kp-r-md);
	background: var(--kp-accent);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s ease;
}
body.single-product #review_form .submit:hover{ background: var(--kp-accent-dark); }

/* عنوان بخش‌ها h3 است نه h2 */
body.single-product .related > h2,
body.single-product .related > h3,
body.single-product .up-sells > h2,
body.single-product .up-sells > h3,
body.single-product .recent-product > h2,
body.single-product .recent-product > h3,
body.single-product .recent-product .product-section-title{
	font-size: 22px;
	font-weight: 700;
	color: var(--kp-ink);
	margin: 0 0 22px;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--kp-line);
	text-align: start;
	text-transform: none;
}

/* کارت محصولات مرتبط/مشاهده‌شده: تصاویر با نسبت‌های مختلف بارگذاری می‌شوند و
   شبکه را ناهموار می‌کنند (۳۸۲px کنار ۴۰۸px). یک قاب ثابت برایشان می‌گذاریم. */
body.single-product .related .thumbnail-wrap,
body.single-product .up-sells .thumbnail-wrap,
body.single-product .recent-product .thumbnail-wrap{
	position: relative;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border-radius: var(--kp-r-md);
	background: var(--kp-cream);
}
body.single-product .related .thumbnail-wrap > a,
body.single-product .up-sells .thumbnail-wrap > a,
body.single-product .recent-product .thumbnail-wrap > a{
	display: block;
	width: 100%;
	height: 100%;
}
body.single-product .related .thumbnail-wrap img,
body.single-product .up-sells .thumbnail-wrap img,
body.single-product .recent-product .thumbnail-wrap img{
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center;
}

/* --------------------------------------------------------------------------
   6) نوار اقدام چسبان موبایل
   -------------------------------------------------------------------------- */
body.single-product .kp-mobilebar{
	display: none;
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 980;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
	background: rgba(255,255,255,.96);
	backdrop-filter: blur(10px);
	border-top: 1px solid var(--kp-line);
	box-shadow: 0 -8px 28px -18px rgba(34,37,43,.5);
}
body.single-product .kp-mobilebar__price{
	display: flex;
	flex-direction: column;
	gap: 3px;
	line-height: 1.3;
	min-width: 0;
}
body.single-product .kp-mobilebar__price small{ font-size: 11.5px; color: var(--kp-muted); }
body.single-product .kp-mobilebar__price strong{ font-size: 17px; font-weight: 800; color: var(--kp-accent); }
body.single-product .kp-mobilebar .kp-btn{ flex: none; padding: 14px 22px; }

/* --------------------------------------------------------------------------
   7) ریسپانسیو
   -------------------------------------------------------------------------- */
@media (max-width: 1199px){
	body.single-product .single-product-thumb-content{ gap: 36px; }
	body.single-product .kp-thumbs{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 991px){
	body.single-product .single-product-thumb-content{
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
	}
	body.single-product .single-product-thumb{ position: static; }
	body.single-product .single-product-thumbnail{ max-width: 560px; }
	body.single-product .woocommerce-product-gallery__wrapper{ aspect-ratio: 4 / 5; }
	body.single-product .kp-thumbs{ grid-template-columns: repeat(5, minmax(0, 1fr)); }
	body.single-product .prev_next_buttons{ display: none !important; }
}

@media (max-width: 767px){
	/* ناودان یکدست ۱۶px. بلوک‌های پایین صفحه هرکدام در ظرفی با آفست متفاوت
	   نشسته‌اند (۰، ۱۲− و ۱۲)، پس به‌جای پدینگ روی خودشان، پدینگ را روی
	   شبکه‌ی داخلی‌شان می‌گذاریم که در همه‌ی حالت‌ها ۰..۱۰۰٪ است. */
	body.single-product .woocommerce-tabs{ padding-inline: 16px; }
	body.single-product .single-product-thumb-content{ padding-inline: 16px !important; }
	body.single-product .related .products,
	body.single-product .recent-product .products,
	body.single-product .related > h2,
	body.single-product .related > h3,
	body.single-product .recent-product > h2,
	body.single-product .recent-product > h3,
	body.single-product .recent-product .product-section-title{ padding-inline: 16px; }
	body.single-product .recent-product{ padding-inline: 0; }

	/* فاصله‌ی زیر نوار چسبان باید بعد از آخرین بخش صفحه باشد، نه ته
	   div.product — «محصولات مشاهده شده» بیرون از آن است و زیر نوار می‌ماند. */
	body.single-product div.product{ padding-bottom: 0 !important; }
	body.single-product .related.products{ margin-bottom: 56px !important; }
	body.single-product{ padding-bottom: 104px; }

	body.single-product .single-product-thumbnail{ max-width: 100%; }
	body.single-product .woocommerce-product-gallery__wrapper{
		aspect-ratio: 1 / 1;
		border-radius: var(--kp-r-md);
	}
	body.single-product .kp-thumbs{ grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
	body.single-product .kp-gal-nav{ opacity: 1; width: 40px; height: 40px; }

	body.single-product .entry-summary h1.product_title{ font-size: 23px; }

	/* برچسب روی خط خودش تا بازه‌ی قیمت در یک سطر جا شود */
	body.single-product .kp-price-from{ gap: 8px 10px; }
	body.single-product .kp-price-from__label:first-child{ flex: 1 0 100%; }
	body.single-product .kp-price-from__value{ font-size: 21px; }

	body.single-product .kp-pricelist__row{
		flex-direction: column;
		align-items: flex-start;
		gap: 7px;
		padding: 14px 16px;
	}
	body.single-product .kp-pricelist__price{ font-size: 17px; color: var(--kp-accent); }

	body.single-product .kp-cta{ padding: 18px; }
	body.single-product .kp-cta__actions{ grid-template-columns: 1fr; }

	body.single-product .woocommerce-tabs .panel{ padding: 20px; }

	body.single-product .kp-mobilebar{ display: flex; }
}

/* دسترس‌پذیری */
body.single-product .kp-btn:focus-visible,
body.single-product .kp-thumb:focus-visible,
body.single-product .kp-gal-nav:focus-visible{
	outline: 2px solid var(--kp-accent);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce){
	body.single-product *,
	body.single-product *::before,
	body.single-product *::after{
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}
