/* Vienos prekės puslapis: galerija, santrauka, variantai, skirtukai, susijusios prekės. */

body.single-product {
	--dsp-green: #033521;
	--dsp-green-hover: #0a4a30;
	--dsp-mint: #d5efe0;
	--dsp-mint-light: #ecf7f1;
	--dsp-text: #131313;
	--dsp-muted: #5b6a63;
	--dsp-border: #e1e8ed;
	--dsp-shadow: 0 4px 30px rgba(30, 30, 30, .03);
}

/* === Breadcrumbs (tik prekės puslapyje) === */
@media (max-width: 689.98px) {
	.single-product .hero-section[data-type="type-1"] .ct-breadcrumbs {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	/* Dabartinė prekė jau matoma H1 – mobiliajame jos nekartojame */
	.single-product .hero-section[data-type="type-1"] .ct-breadcrumbs .last-item,
	.single-product .hero-section[data-type="type-1"] .ct-breadcrumbs > span:nth-last-child(2) .ct-separator {
		display: none;
	}
}

/* === Galerija === */
.single-product .product-entry-wrapper .woocommerce-product-gallery .ct-media-container {
	border-radius: 12px;
	overflow: hidden;
	background: var(--dsp-mint-light);
}
/* Prekių nuotraukos kvadratinės – nerėžiame jų į 3:4 */
.single-product .product-entry-wrapper .woocommerce-product-gallery .ct-media-container img {
	aspect-ratio: 1 / 1 !important;
	object-fit: cover;
}
.single-product .woocommerce-product-gallery .flexy-pills img,
.single-product .woocommerce-product-gallery [class*="thumbs"] img {
	border-radius: 8px;
}

/* Akcijos ženkliukas */
.single-product .product-entry-wrapper .onsale {
	top: 16px;
	left: 16px;
	right: auto;
	min-height: 0;
	padding: 6px 12px;
	border-radius: 6px;
	background: var(--dsp-mint);
	color: var(--dsp-green);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .06em;
	text-transform: uppercase;
	box-shadow: 0 2px 10px rgba(3, 53, 33, .12);
}

/* === Santrauka === */
.single-product .entry-summary .product_title {
	font-size: clamp(26px, 2.3vw, 34px);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -.01em;
	color: var(--dsp-green);
	margin-bottom: 14px;
}

/* Kaina */
.single-product .entry-summary > .price {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--dsp-green);
}
/* Blocksy kainą su nuolaida apgaubia .sale-price (del + ins) */
.single-product .entry-summary .price .sale-price {
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 12px;
}
.single-product .entry-summary .price ins {
	order: -1;
	text-decoration: none;
	background: none;
	color: var(--dsp-green);
}
.single-product .entry-summary .price del {
	font-size: 17px;
	font-weight: 500;
	color: #7d8b84;
	opacity: 1;
}
.single-product .entry-summary .price del .amount {
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

/* Trumpas aprašymas */
.single-product .entry-summary .woocommerce-product-details__short-description {
	font-size: 16px;
	line-height: 1.65;
	color: #3d4a44;
	max-width: 62ch;
}
.single-product .entry-summary .ct-product-divider {
	border-color: var(--dsp-border);
}

/* === Variantai === */
.single-product .entry-summary table.variations {
	margin-bottom: 8px;
}
.single-product .entry-summary table.variations tr {
	margin-bottom: 20px;
}
.single-product .entry-summary table.variations th.label {
	padding-bottom: 10px;
}
.single-product .entry-summary table.variations th.label label {
	font-size: 14px;
	font-weight: 600;
	color: var(--dsp-text);
	letter-spacing: .01em;
}

/* Mygtukų tipo variantai */
.single-product .variations_form [data-swatches-type="button"] {
	--swatches-gap: 10px;
}
.single-product .variations_form [data-swatches-type="button"] .ct-swatch {
	height: 46px;
	min-width: 64px;
	padding: 0 18px;
	border: 1.5px solid var(--swatch-button-border-color, var(--dsp-border));
	border-radius: 8px;
	background: var(--swatch-button-background-color, #fff);
	font-size: 14px;
	font-weight: 600;
	color: var(--swatch-button-text-color, var(--dsp-text));
}
.single-product .variations_form [data-swatches-type="button"] .ct-swatch-container:hover .ct-swatch {
	--swatch-button-border-color: var(--dsp-green);
}
.single-product .variations_form [data-swatches-type="button"] [aria-pressed="true"] .ct-swatch {
	--swatch-button-text-color: #fff;
	--swatch-button-border-color: var(--dsp-green);
	--swatch-button-background-color: var(--dsp-green);
}
/* Mygtukų tekstas jau matomas – patarimo debesėlio nereikia */
.single-product .variations_form [data-swatches-type="button"] .ct-tooltip {
	display: none;
}

/* Spalvų variantai */
.single-product .variations_form [data-swatches-type="color"] {
	--swatch-size: 42px;
	--swatches-gap: 12px;
}
.single-product .variations_form [data-swatches-type="color"] .ct-swatch {
	padding: 3px;
	border: 2px solid transparent;
	transition: border-color .15s ease;
}
.single-product .variations_form [data-swatches-type="color"] .ct-swatch-content {
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .14);
}
.single-product .variations_form [data-swatches-type="color"] .ct-swatch-container:hover .ct-swatch {
	border-color: #9db8aa;
}
.single-product .variations_form [data-swatches-type="color"] [aria-pressed="true"] .ct-swatch {
	border-color: var(--dsp-green);
}

/* Neprieinami variantai */
.single-product .variations_form .ct-out-of-stock .ct-swatch {
	border-style: dashed;
}
.single-product .variations_form [data-swatches-type="button"] .ct-out-of-stock .ct-swatch-content {
	text-decoration: line-through;
}

/* Klaviatūros fokusas */
.single-product .variations_form .ct-swatch-container:focus-visible {
	outline: 2px solid var(--dsp-green);
	outline-offset: 3px;
}

/* „Išvalyti“ nuoroda */
.single-product .variations_form a.reset_variations {
	display: inline-block;
	margin-top: 12px;
	font-size: 13px;
	font-weight: 500;
	color: var(--dsp-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.single-product .variations_form a.reset_variations:hover {
	color: var(--dsp-green);
}

/* Pasirinkto varianto kaina / likutis.
   Viršuje lieka pagrindinė kaina; varianto kaina rodoma maža ir prislopinta,
   kad nekonkuruotų su ja (dvi didelės kainos vienu metu). */
.single-product .single_variation .woocommerce-variation-price {
	margin-bottom: 8px;
}
.single-product .single_variation .woocommerce-variation-price .price {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 8px;
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--dsp-muted);
}
.single-product .single_variation .woocommerce-variation-price .price::before {
	content: "Pasirinkto varianto kaina:";
	font-weight: 500;
}
.single-product .single_variation .woocommerce-variation-price .price :is(ins, ins .amount, .amount) {
	color: var(--dsp-green);
	text-decoration: none;
}
/* Pasirinkto varianto kaina / likutis */
.single-product .single_variation_wrap .woocommerce-variation:not(:empty) {
	margin-bottom: 16px;
}
.single-product .single_variation_wrap .woocommerce-variation-description p {
	margin-bottom: 8px;
	font-size: 15px;
	color: #3d4a44;
}

/* === Likutis === */
body.single-product .entry-summary p.stock {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--dsp-mint-light);
	color: #17663f;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
}
body.single-product .entry-summary p.stock::before {
	content: "";
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #22a45d;
	box-shadow: 0 0 0 3px rgba(34, 164, 93, .18);
}
body.single-product .entry-summary p.stock.out-of-stock {
	background: #fdeceb;
	color: #a3261c;
}
body.single-product .entry-summary p.stock.out-of-stock::before {
	background: #d83428;
	box-shadow: 0 0 0 3px rgba(216, 52, 40, .15);
}
body.single-product .entry-summary p.stock.available-on-backorder {
	background: #fff6e5;
	color: #8a5a00;
}
body.single-product .entry-summary p.stock.available-on-backorder::before {
	background: #e0a100;
	box-shadow: 0 0 0 3px rgba(224, 161, 0, .18);
}

/* === Kiekis + „Į krepšelį“ === */
.single-product .entry-summary .ct-cart-actions {
	--quantity-height: 52px;
	--theme-button-min-height: 52px;
	gap: 12px;
}
.single-product .entry-summary .quantity[data-type="type-2"] {
	--quantity-width: 124px;
	border-radius: 6px;
}
.single-product .entry-summary .quantity[data-type="type-2"] input.qty {
	border-color: var(--dsp-border);
	border-radius: 6px;
	font-size: 16px;
	font-weight: 600;
	color: var(--dsp-text);
}
.single-product .entry-summary .quantity[data-type="type-2"] :is(.ct-increase, .ct-decrease) {
	color: var(--dsp-green);
}
.single-product .entry-summary .quantity[data-type="type-2"] :is(.ct-increase, .ct-decrease):hover {
	color: var(--dsp-green-hover);
}
.single-product .entry-summary .single_add_to_cart_button {
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .01em;
	border-radius: 6px;
	box-shadow: 0 6px 18px rgba(3, 53, 33, .14);
	transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.single-product .entry-summary .single_add_to_cart_button:not(.disabled):hover {
	box-shadow: 0 8px 22px rgba(3, 53, 33, .2);
}
.single-product .entry-summary .single_add_to_cart_button.disabled {
	box-shadow: none;
	cursor: not-allowed;
}

/* „Krepšelis →“ nuoroda po AJAX įdėjimo (kaip greitoje peržiūroje) */
.single-product .entry-summary .ct-cart-actions a.added_to_cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 20px;
	border-radius: 6px;
	background: #fff;
	color: var(--dsp-green);
	box-shadow: inset 0 0 0 1px var(--dsp-green);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color .15s ease;
}
.single-product .entry-summary .ct-cart-actions a.added_to_cart:hover {
	background: var(--dsp-mint-light);
	color: var(--dsp-green);
}
.single-product .entry-summary .ct-cart-actions a.added_to_cart::after {
	content: "\2192";
	margin-inline-start: 8px;
}

/* Dovanų kupono gavėjo laukai (dsp-kuponai.php) */
.single-product .dsp-gift-fields:not(:empty) {
	display: grid;
	gap: 14px;
	margin: 0 0 20px;
	padding: 20px;
	border: 1px solid var(--dsp-border);
	border-radius: 12px;
	background: var(--dsp-mint-light);
}
.single-product .dsp-gift-fields p {
	margin: 0;
	padding: 0;
}
.single-product .dsp-gift-fields label .optional {
	font-weight: 400;
	color: var(--dsp-muted);
}
.single-product .dsp-gift-fields textarea {
	height: 100px;
	min-height: 88px;
	resize: vertical;
}
.single-product .dsp-gift-fields label {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 600;
	color: var(--dsp-text);
}
.single-product .dsp-gift-fields :is(input[type="text"], input[type="email"], textarea) {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid #c3d1c9;
	border-radius: 8px;
	background: #fff;
	font-size: 15px;
}
.single-product .dsp-gift-fields :is(input, textarea):focus {
	border-color: var(--dsp-green);
	outline: none;
	box-shadow: 0 0 0 3px rgba(3, 53, 33, .1);
}

/* === Meta (kodas, kategorija) === */
.single-product .entry-summary .product_meta {
	display: grid;
	gap: 6px;
	font-size: 13px;
	color: var(--dsp-muted);
}
.single-product .entry-summary .product_meta > span {
	font-weight: 600;
	letter-spacing: .04em;
}
.single-product .entry-summary .product_meta > span > :is(span, a) {
	margin-left: 4px;
	font-weight: 500;
	letter-spacing: .02em;
	text-transform: none;
	color: var(--dsp-text);
}
.single-product .entry-summary .product_meta a {
	text-decoration: underline;
	text-decoration-color: rgba(3, 53, 33, .3);
	text-underline-offset: 3px;
}
.single-product .entry-summary .product_meta a:hover {
	color: var(--dsp-green);
	text-decoration-color: currentColor;
}

/* === Skirtukai === */
body.single-product div.product div.woocommerce-tabs {
	margin-top: 56px;
}
body.single-product div.product div.woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	gap: 32px;
	border-bottom: 1px solid var(--dsp-border);
	border-top: 0;
}
body.single-product div.product div.woocommerce-tabs ul.tabs li {
	margin: 0;
	border: 0;
	flex: 0 0 auto;
}
body.single-product div.product div.woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 14px 0;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dsp-muted);
	white-space: nowrap;
}
body.single-product div.product div.woocommerce-tabs ul.tabs li a:hover {
	color: var(--dsp-green);
}
body.single-product div.product div.woocommerce-tabs ul.tabs li.active a {
	color: var(--dsp-green);
}
body.single-product div.product div.woocommerce-tabs[data-type*="type-1"] ul.tabs li::before,
body.single-product div.product div.woocommerce-tabs[data-type*="type-1"] ul.tabs li.active::before {
	height: 2px;
	background: var(--dsp-green);
}
body.single-product div.product div.woocommerce-tabs .woocommerce-Tabs-panel {
	padding-top: 32px;
}
/* Skirtukų turinys lygiuojamas su skirtukais kairėje (WP „constrained“ maketas jį centruoja) */
body.single-product div.product div.woocommerce-tabs .woocommerce-Tabs-panel.is-layout-constrained {
	padding-inline: max(0px, calc((100% - min(var(--theme-container-width, 100%), var(--theme-block-max-width, 100%))) / 2));
}
body.single-product div.product div.woocommerce-tabs .woocommerce-Tabs-panel.is-layout-constrained > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Savybių lentelė */
body.single-product div.product div.woocommerce-tabs table.shop_attributes {
	max-width: 760px;
	margin: 0;
	border: 1px solid var(--dsp-border);
	border-radius: 12px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #fff;
}
body.single-product div.product div.woocommerce-tabs table.shop_attributes :is(th, td) {
	padding: 14px 20px;
	border: 0;
	border-bottom: 1px solid var(--dsp-border);
	font-size: 15px;
	line-height: 1.5;
	background: none;
}
body.single-product div.product div.woocommerce-tabs table.shop_attributes tr:last-child :is(th, td) {
	border-bottom: 0;
}
body.single-product div.product div.woocommerce-tabs table.shop_attributes th {
	width: 34%;
	background: var(--dsp-mint-light);
	font-weight: 600;
	color: var(--dsp-green);
}
body.single-product div.product div.woocommerce-tabs table.shop_attributes td {
	color: #3d4a44;
}
body.single-product div.product div.woocommerce-tabs table.shop_attributes td p {
	margin: 0;
}

/* Atsiliepimai */
.single-product #reviews {
	max-width: 1100px;
}
.single-product #reviews .woocommerce-Reviews-title {
	font-size: 22px;
	font-weight: 600;
	color: var(--dsp-green);
	margin-bottom: 8px;
}
.single-product #reviews .woocommerce-noreviews {
	color: var(--dsp-muted);
	margin-bottom: 24px;
}
.single-product #review_form_wrapper {
	padding: 28px;
	border: 1px solid var(--dsp-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: var(--dsp-shadow);
}
.single-product #review_form .comment-reply-title {
	display: block;
	margin-bottom: 18px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--dsp-text);
}
.single-product #review_form .comment-form label {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dsp-text);
}
.single-product #review_form .comment-form .required {
	color: #b3261e;
}
.single-product #review_form p.stars a {
	color: var(--dsp-green);
}
.single-product #review_form textarea {
	min-height: 140px;
	border-color: var(--dsp-border);
	border-radius: 8px;
}
.single-product #review_form :is(textarea, input[type="text"], input[type="email"]):focus {
	border-color: var(--dsp-green);
	box-shadow: 0 0 0 3px rgba(3, 53, 33, .1);
}
.single-product #review_form .form-submit {
	margin-bottom: 0;
}
.single-product #review_form .form-submit .submit {
	min-height: 48px;
	padding: 0 28px;
	border-radius: 6px;
	background: var(--dsp-green);
	color: #fff;
	font-weight: 600;
}
.single-product #review_form .form-submit .submit:hover {
	background: var(--dsp-green-hover);
}

/* === Susijusios prekės === */
.single-product section.related.products,
.single-product section.up-sells.products {
	margin-top: 72px;
	padding-top: 56px;
	border-top: 1px solid var(--dsp-border);
}
.single-product :is(section.related, section.up-sells) > h2 {
	margin-bottom: 28px;
	font-size: clamp(22px, 2vw, 28px);
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--dsp-green);
}

/* === Plaukiojanti „Į krepšelį“ juosta === */
.single-product .ct-floating-bar {
	background: #fff;
	box-shadow: 0 -6px 24px rgba(3, 53, 33, .08);
	border-top: 1px solid var(--dsp-border);
}
.single-product .ct-floating-bar .ct-media-container {
	max-width: 48px;
	border-radius: 8px;
	background: var(--dsp-mint-light);
}
.single-product .ct-floating-bar .ct-media-container img {
	aspect-ratio: 1 / 1 !important;
}
.single-product .ct-floating-bar .product-title {
	color: var(--dsp-text);
}
.single-product .ct-floating-bar .price {
	font-size: 14px;
	font-weight: 700;
	color: var(--dsp-green);
}
.single-product .ct-floating-bar :is(.single_add_to_cart_button, .product_type_variable.button, .added_to_cart) {
	--theme-button-min-height: 44px;
	border-radius: 6px;
	font-weight: 600;
}

/* === Planšetė === */
@media (min-width: 690px) and (max-width: 999.98px) {
	/* Planšetėje galerija ir santrauka greta – kitaip 1:1 nuotrauka užima visą ekraną */
	.single-product .product-entry-wrapper {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: 32px;
		align-items: start;
	}
	.single-product .product-entry-wrapper > .woocommerce-product-gallery {
		width: auto;
		margin-bottom: 0;
	}
	.single-product .product-entry-wrapper > .entry-summary {
		width: auto;
	}
	.single-product .entry-summary .product_title {
		font-size: 26px;
	}
}
@media (max-width: 999.98px) {
	body.single-product div.product div.woocommerce-tabs {
		margin-top: 40px;
	}
}

/* === Mobilusis === */
@media (max-width: 689.98px) {
	/* Prekės puslapyje pagrindinis veiksmas – pirkimas: klinikos juostą pakeičia „Į krepšelį“ juosta */
	body.single-product .ds-mobile-floating-actions {
		display: none;
	}
	body.single-product {
		padding-bottom: calc(76px + env(safe-area-inset-bottom));
	}

	.single-product .product-entry-wrapper > .woocommerce-product-gallery {
		margin-bottom: 28px;
	}
	.single-product .entry-summary .product_title {
		font-size: 26px;
		margin-bottom: 10px;
	}
	.single-product .entry-summary > .price {
		font-size: 22px;
	}
	.single-product .entry-summary .woocommerce-product-details__short-description {
		font-size: 15px;
	}
	.single-product .product-entry-wrapper .onsale {
		top: 12px;
		left: 12px;
	}

	.single-product .entry-summary .quantity[data-type="type-2"] {
		--quantity-width: 116px;
	}
	.single-product .entry-summary .ct-cart-actions {
		gap: 10px;
	}

	/* Skirtukai: horizontali juosta vietoj sustatytų vienas po kito */
	body.single-product div.product div.woocommerce-tabs {
		margin-top: 36px;
	}
	body.single-product div.product div.woocommerce-tabs ul.tabs {
		flex-direction: row;
		gap: 24px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	body.single-product div.product div.woocommerce-tabs ul.tabs::-webkit-scrollbar {
		display: none;
	}
	body.single-product div.product div.woocommerce-tabs ul.tabs li {
		width: auto;
	}
	body.single-product div.product div.woocommerce-tabs ul.tabs li a {
		padding: 14px 0;
		font-size: 15px;
		text-align: left;
	}
	body.single-product div.product div.woocommerce-tabs .woocommerce-Tabs-panel {
		padding-top: 24px;
	}
	body.single-product div.product div.woocommerce-tabs table.shop_attributes :is(th, td) {
		padding: 12px 14px;
		font-size: 14px;
	}
	body.single-product div.product div.woocommerce-tabs table.shop_attributes th {
		width: 40%;
	}
	.single-product #review_form_wrapper {
		padding: 20px;
	}

	.single-product section.related.products,
	.single-product section.up-sells.products {
		margin-top: 48px;
		padding-top: 40px;
	}
	.single-product :is(section.related, section.up-sells) > h2 {
		margin-bottom: 20px;
	}

	/* Plaukiojanti juosta: aiškus mygtukas su tekstu, ne tik ikona */
	.single-product .ct-floating-bar {
		height: auto;
		min-height: 70px;
		padding: 10px 0 calc(10px + env(safe-area-inset-bottom));
	}
	.single-product .ct-floating-bar .ct-container {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 12px;
	}
	.single-product .ct-floating-bar-content {
		gap: 10px;
	}
	.single-product .ct-floating-bar .ct-media-container {
		max-width: 44px;
		flex: 0 0 44px;
	}
	.single-product .ct-floating-bar .product-title {
		font-size: 14px;
	}
	.single-product .ct-floating-bar-actions :is(.added_to_cart, .single_add_to_cart_button, .product_type_variable.button) {
		min-width: 0;
		max-width: none;
		padding: 0 16px;
		--theme-button-padding: 0 16px;
		--theme-button-min-height: 46px;
		min-height: 46px;
		font-size: 14px !important;
		white-space: nowrap;
	}
	.single-product .ct-floating-bar-actions :is(.added_to_cart, .single_add_to_cart_button, .product_type_variable.button)::after {
		display: none;
	}
}

/* Varianto kaina atnaujinama viršuje (JS functions.php) — apatinė dubliuojanti kaina nerodoma */
.single-product .single_variation .woocommerce-variation-price {
	display: none;
}
/* Mobiliame mažesnis tarpas tarp prekės meta ir skirtukų */
@media (max-width: 689.98px) {
	body.single-product div.product div.woocommerce-tabs {
		margin-top: 24px;
		padding-top: 24px;
	}
}
