.punkycat-select-hidden {
	position: absolute !important;
	left: -99999px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.punkycat-attr-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
}

.punkycat-hide-color-row {
	display: none !important;
}

.punkycat-attr-button {
	border: 1px solid #d0d7de;
	background: #fff;
	color: #222;
	padding: 7px 14px;
	border-radius: 6px;
	cursor: pointer;
	line-height: 1.2;
	font-size: 14px;
}

.punkycat-attr-button.is-active {
	border-color: #111;
	background: #111;
	color: #fff;
}

.punkycat-attr-button.is-disabled,
.punkycat-attr-button[aria-disabled='true'] {
	opacity: 0.35;
	cursor: not-allowed;
	pointer-events: none;
	filter: grayscale(1);
}

.punkycat-variation-gallery {
	display: none !important;
}

.punkycat-variation-gallery__title {
	font-weight: 600;
	margin-bottom: 8px;
	font-size: 14px;
}

.punkycat-variation-gallery__track {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 4px;
}

.punkycat-gallery-thumb {
	border: 1px solid #d0d7de;
	background: #fff;
	padding: 2px;
	border-radius: 6px;
	cursor: pointer;
	min-width: 62px;
}

.punkycat-gallery-thumb.is-active {
	border-color: #111;
}

.punkycat-gallery-thumb img {
	display: block;
	width: 76px;
	height: 76px;
	object-fit: cover;
	border-radius: 4px;
	image-rendering: auto;
}

/* Color gallery filter: hide non-matching slides/thumbs without removing DOM (presentation only). */
.woocommerce-product-gallery__image.punkycat-gallery-hidden,
.flex-control-thumbs li.punkycat-gallery-hidden,
ol.flex-control-thumbs li.punkycat-gallery-hidden {
	display: none !important;
}

.single-product .product.punkycat-custom-gallery-active .woocommerce-product-gallery {
	display: none !important;
}

/*
 * İki sütun: sol galeri / sağ özet — float yerine grid (tema float’u kırınca özet aşağı düşüyordu).
 * span.onsale position:absolute olduğu için akışta yalnızca .images + .summary yan yana hizalanır.
 */
@media (min-width: 768px) {
	.theme-envo-ecommerce.single-product .woocommerce div.product,
	.theme-envo-ecommerce.single-product div.product {
		display: grid;
		grid-template-columns: minmax(0, 48%) minmax(0, 1fr);
		column-gap: 4%;
		align-items: start;
		position: relative;
	}

	.theme-envo-ecommerce.single-product .woocommerce div.product > div.images,
	.theme-envo-ecommerce.single-product div.product > div.images {
		grid-column: 1;
		grid-row: 1;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
		margin-bottom: 0;
		box-sizing: border-box;
	}

	.theme-envo-ecommerce.single-product .woocommerce div.product > div.summary,
	.theme-envo-ecommerce.single-product div.product > div.summary {
		grid-column: 2;
		grid-row: 1;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
		clear: none !important;
		box-sizing: border-box;
	}

	/* Özel renk galerisi: sol sütun — ana görsel Trendyol’a yakın, özet sütunu sıkışmasın */
	.theme-envo-ecommerce.single-product div.product.punkycat-custom-gallery-active > div.images {
		max-width: min(100%, 500px);
	}

	/* Sekmeler, ilgili ürünler: tam genişlik, iki sütunun altında */
	.theme-envo-ecommerce.single-product .woocommerce div.product > .woocommerce-tabs,
	.theme-envo-ecommerce.single-product div.product > .woocommerce-tabs,
	.theme-envo-ecommerce.single-product .woocommerce div.product > section.related.products,
	.theme-envo-ecommerce.single-product div.product > section.related.products,
	.theme-envo-ecommerce.single-product .woocommerce div.product > section.up-sells.upsells,
	.theme-envo-ecommerce.single-product div.product > section.up-sells.upsells {
		grid-column: 1 / -1;
		clear: both;
		width: 100%;
	}
}

@media (max-width: 767px) {
	.theme-envo-ecommerce.single-product .woocommerce div.product,
	.theme-envo-ecommerce.single-product div.product {
		display: block;
	}

	.theme-envo-ecommerce.single-product .woocommerce div.product > div.images,
	.theme-envo-ecommerce.single-product div.product > div.images,
	.theme-envo-ecommerce.single-product .woocommerce div.product > div.summary,
	.theme-envo-ecommerce.single-product div.product > div.summary {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
	}
}

/*
 * Custom color gallery: compact block — bounded footprint (Trendyol-style: small gallery column, not full-bleed hero).
 */
.woocommerce div.product div.images .punkycat-custom-gallery,
.single-product div.product div.images .punkycat-custom-gallery {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	margin-bottom: 0.75em;
}

/* Hover zoom kapsayıcı — sağdaki panel mutlak konumda, özet sütunun üstüne taşabilir (Trendyol) */
.punkycat-main-zoom-hoverzone {
	position: relative;
	display: inline-block;
	vertical-align: top;
	max-width: 100%;
}

.punkycat-main-zoom-stage {
	position: relative;
	z-index: 1;
	display: inline-block;
	max-width: 100%;
	overflow: visible;
}

/* Single authoritative price: hide the secondary variation price block (lower duplicate). */
.single-product .single_variation_wrap .woocommerce-variation-price,
.single-product .single_variation_wrap .woocommerce-variation-price .price,
.single-product .woocommerce-variation.single_variation .woocommerce-variation-price,
.single-product .woocommerce-variation.single_variation .woocommerce-variation-price .price {
	display: none !important;
}

/* Main image: tavan — Trendyol’a yakın daha büyük alan; contain ile kırpma yok */
.punkycat-custom-gallery .punkycat-custom-main-slide {
	width: 100%;
	max-width: min(100%, 420px);
	min-width: 0;
	margin: 0 auto 0 0;
}

.punkycat-custom-main-link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: 0;
	max-height: min(54vh, 540px);
	border: 1px solid #eceff3;
	border-radius: 8px;
	overflow: hidden;
	background: #f8f9fa;
	box-sizing: border-box;
	line-height: 0;
	cursor: default;
}

@media (min-width: 992px) and (hover: hover) {
	.product.punkycat-custom-gallery-active .punkycat-custom-main-link {
		cursor: crosshair;
	}
}

/* Lens: imleç altı dikdörtgen alan (masaüstü) */
.punkycat-zoom-lens {
	position: absolute;
	pointer-events: none;
	z-index: 3;
	display: none;
	border: 1px solid rgba(0, 0, 0, 0.18);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.6);
	background: rgba(255, 255, 255, 0.18);
}

/* Sağda büyütülmüş önizleme — stage içinde; oklardan alttadır */
.punkycat-zoom-pane {
	display: none;
	position: absolute;
	left: calc(100% + 10px);
	top: 0;
	z-index: 4;
	width: min(380px, 44vw);
	height: min(540px, calc(54vh + 2px));
	max-height: min(540px, 72vh);
	border: 1px solid #e8eaed;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
	pointer-events: none;
}

.punkycat-zoom-pane.is-active {
	display: block;
}

.punkycat-zoom-pane__inner {
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-color: #fafafa;
	pointer-events: auto;
}

/* Ana görsel üzerinde önceki / sonraki (küçük galeri) */
.punkycat-main-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 8;
	width: 38px;
	height: 38px;
	padding: 0;
	margin: 0;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
	font-size: 22px;
	line-height: 1;
	color: #222;
	cursor: pointer;
	transition:
		background 0.15s ease,
		box-shadow 0.15s ease;
}

.punkycat-main-nav:hover {
	background: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
}

.punkycat-main-nav--prev {
	left: 10px;
}

.punkycat-main-nav--next {
	right: 10px;
}

@media (max-width: 991px) {
	.punkycat-zoom-pane,
	.punkycat-zoom-pane.is-active {
		display: none !important;
	}

	.punkycat-zoom-lens {
		display: none !important;
	}

	.punkycat-custom-main-link {
		cursor: zoom-in;
	}
}

.punkycat-custom-main-image {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: min(54vh, 540px);
	height: auto;
	margin: 0 auto;
	object-fit: contain;
	object-position: center center;
	background: transparent;
}

@media (max-width: 767px) {
	.punkycat-custom-gallery .punkycat-custom-main-slide {
		max-width: min(100%, 320px);
		margin-left: auto;
		margin-right: auto;
	}

	.punkycat-custom-main-link {
		max-height: min(46vh, 440px);
	}

	.punkycat-custom-main-image {
		max-height: min(46vh, 440px);
	}
}

.punkycat-custom-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.punkycat-custom-thumb {
	border: 1px solid #d0d7de;
	background: #fff;
	padding: 2px;
	border-radius: 6px;
	cursor: pointer;
	line-height: 0;
}

.punkycat-custom-thumb.is-active {
	border-color: #111;
}

.punkycat-custom-thumb img {
	display: block;
	width: 76px;
	height: 76px;
	object-fit: cover;
	border-radius: 4px;
	image-rendering: auto;
}

/* -------------------------------------------------------------------------
 * Trendyol-tarzı ürün özeti: renk görselleri, beden, Şimdi Al + Sepete Ekle
 * ------------------------------------------------------------------------- */

:root {
	--punkycat-accent: #f27a1a;
	--punkycat-accent-hover: #d86a12;
	--punkycat-muted-bg: #f5f5f5;
	--punkycat-border: #e8e8e8;
}

/* Varyasyon tablosu: blok etiket, kompakt */
.single-product table.variations {
	border: none;
	margin-bottom: 1.25rem;
}

.single-product table.variations tr {
	display: block;
	margin-bottom: 1rem;
}

.single-product table.variations th.label {
	display: block;
	width: 100%;
	text-align: left;
	padding: 0 0 6px;
	font-weight: 600;
	font-size: 14px;
	color: #1a1a1a;
	border: none;
}

.single-product table.variations td.value {
	display: block;
	width: 100%;
	padding: 0;
	border: none;
}

.single-product table.variations .reset_variations {
	display: inline-block;
	margin-top: 6px;
	font-size: 13px;
}

/* Renk swatch — küçük kare görseller */
/* Renk satırı: seçili renk metni + swatch’lar */
.punkycat-color-ui {
	margin-top: 2px;
}

.punkycat-selected-color-display {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
	color: #1a1a1a;
	line-height: 1.35;
	min-height: 1.35em;
}

.punkycat-selected-color-display:empty {
	display: none;
}

.punkycat-color-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 0;
}

.punkycat-color-swatch {
	width: 68px;
	height: 68px;
	padding: 0;
	border: 2px solid var(--punkycat-border);
	border-radius: 4px;
	background: #fff;
	cursor: pointer;
	line-height: 0;
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.punkycat-color-swatch:hover {
	border-color: #ccc;
}

.punkycat-color-swatch.is-active {
	border-color: var(--punkycat-accent);
	box-shadow: 0 0 0 1px var(--punkycat-accent);
}

.punkycat-color-swatch__img,
.punkycat-color-swatch__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.punkycat-color-swatch__fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 10px;
	font-weight: 600;
	color: #333;
	text-align: center;
	line-height: 1.1;
	padding: 2px;
}

/* Beden butonları — turuncu seçim */
.punkycat-attr-buttons {
	gap: 10px;
	margin-top: 6px;
}

.punkycat-attr-button {
	border: 2px solid var(--punkycat-border);
	border-radius: 4px;
	background: #fff;
	color: #333;
	padding: 10px 16px;
	min-width: 44px;
	font-weight: 600;
	font-size: 14px;
}

.punkycat-attr-button:hover {
	border-color: #ccc;
}

.punkycat-attr-button.is-active {
	border-color: var(--punkycat-accent);
	color: var(--punkycat-accent);
	background: #fff;
}

/* Miktar + Şimdi Al + Sepete Ekle — yan yana (Trendyol); tema block/100% kırılır */
.single-product .woocommerce-variation-add-to-cart.variations_button,
.single-product form.cart:not(.variations_form) {
	display: flex !important;
	flex-flow: row wrap !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 10px;
	margin-top: 0.5rem;
	width: 100%;
	box-sizing: border-box;
}

.single-product .woocommerce-variation-add-to-cart.variations_button .quantity,
.single-product form.cart:not(.variations_form) .quantity {
	order: 0;
	width: auto !important;
	max-width: 100%;
	flex: 0 0 auto;
	margin: 0 !important;
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	vertical-align: middle;
}

/* Kompakt miktar: tema 40px / 18px yüzünden kabarık görünüyordu */
.single-product div.product form.cart .quantity .qty {
	height: 32px !important;
	min-height: 32px;
	line-height: 1.25 !important;
	font-size: 14px !important;
	padding: 4px 6px !important;
	width: 2.75em !important;
	min-width: 2.5em;
	max-width: 4.5em;
	border-radius: 4px;
	box-sizing: border-box;
}

.single-product div.product form.cart .quantity .plus,
.single-product div.product form.cart .quantity .minus {
	float: none !important;
	height: 32px !important;
	min-width: 32px;
	padding: 0 10px !important;
	line-height: 30px !important;
	font-size: 16px !important;
	font-weight: 600;
	border-radius: 4px;
	box-sizing: border-box;
}

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

.single-product .woocommerce-variation-add-to-cart.variations_button .punkycat-buy-now,
.single-product form.cart:not(.variations_form) .punkycat-buy-now {
	order: 1;
	flex: 1 1 0 !important;
	min-width: 120px !important;
	width: auto !important;
	max-width: none !important;
	font-weight: 700;
	font-size: 15px;
	padding: 14px 16px;
	line-height: 1.2;
	border: 2px solid var(--punkycat-accent) !important;
	background: #fff !important;
	color: var(--punkycat-accent) !important;
	border-radius: 4px;
	box-shadow: none;
}

.single-product .woocommerce-variation-add-to-cart.variations_button .punkycat-buy-now:hover,
.single-product form.cart:not(.variations_form) .punkycat-buy-now:hover {
	background: #fff8f3 !important;
	border-color: var(--punkycat-accent-hover) !important;
	color: var(--punkycat-accent-hover) !important;
}

.single-product .woocommerce-variation-add-to-cart.variations_button .single_add_to_cart_button,
.single-product form.cart:not(.variations_form) .single_add_to_cart_button {
	order: 2;
	flex: 1 1 0 !important;
	min-width: 120px !important;
	width: auto !important;
	max-width: none !important;
	font-weight: 700;
	font-size: 15px;
	padding: 14px 16px !important;
	line-height: 1.2;
	border: none !important;
	background: var(--punkycat-accent) !important;
	color: #fff !important;
	border-radius: 4px;
}

.single-product .woocommerce-variation-add-to-cart.variations_button .single_add_to_cart_button:hover,
.single-product form.cart:not(.variations_form) .single_add_to_cart_button:hover {
	background: var(--punkycat-accent-hover) !important;
	color: #fff !important;
}

/* Öne çıkan özellikler grid */
.punkycat-featured-attrs {
	margin: 1.5rem 0 1.25rem;
	padding: 16px;
	background: var(--punkycat-muted-bg);
	border-radius: 8px;
	border: 1px solid var(--punkycat-border);
}

.punkycat-featured-attrs__title {
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 700;
	color: #1a1a1a;
}

.punkycat-featured-attrs__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 20px;
}

@media (max-width: 480px) {
	.punkycat-featured-attrs__grid {
		grid-template-columns: 1fr;
	}
}

.punkycat-featured-attrs__cell {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0;
}

.punkycat-featured-attrs__label {
	font-size: 12px;
	color: #666;
	line-height: 1.3;
}

.punkycat-featured-attrs__value {
	font-size: 14px;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.3;
}

/* Kısa açıklama / ürün metni okunabilirlik */
.single-product div.product .woocommerce-product-details__short-description,
.single-product div.product .entry-summary .woocommerce-product-details__short-description {
	font-size: 14px;
	line-height: 1.6;
	color: #444;
}

.single-product div.product .woocommerce-product-details__short-description ul,
.single-product div.product .woocommerce-tabs .panel ul {
	margin: 0.75em 0;
	padding-left: 1.2em;
}

.single-product div.product .woocommerce-product-details__short-description li,
.single-product div.product .woocommerce-tabs .panel#tab-description li {
	margin-bottom: 0.35em;
}

/* PhotoSwipe: Trendyol tarzı beyaz yuvarlak oklar — yatay konum JS ile hesaplanır,
   bu sayede oklar her zaman görselin içinde kalır (dar portrait görsellerde taşma olmaz). */
.single-product .pswp__button--arrow--left,
.single-product .pswp__button--arrow--right {
	width: 46px;
	height: 46px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.97) !important;
	box-shadow: 0 3px 14px rgba(0, 0, 0, 0.22);
	opacity: 1;
	/* JS sets left/right; override any defaults that place them at viewport edge */
	margin-top: -23px;
}

.single-product .pswp__button--arrow--left::before,
.single-product .pswp__button--arrow--right::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border-top: 2.5px solid #111;
	border-right: 2.5px solid #111;
	background: transparent;
	transform-origin: center center;
}

.single-product .pswp__button--arrow--left::before {
	transform: translate(-35%, -50%) rotate(-135deg);
}

.single-product .pswp__button--arrow--right::before {
	transform: translate(-65%, -50%) rotate(45deg);
}

/* Mobilde okları gizle (PhotoSwipe varsayılanı) */
@media (max-width: 767px) {
	.single-product .pswp__button--arrow--left,
	.single-product .pswp__button--arrow--right {
		display: none !important;
	}
}

/* (Removed) Old theme-specific rules that hid variation price and del/ins. */

