/**
 * PDP layout switcher styles.
 * Loaded only on single product pages by the child theme.
 *
 * 3-column layout:
 *   - left column: product gallery
 *   - center column: product title, price, short description, selectors
 *   - right column: sticky purchase card (dynamic price, quantity, add-to-cart,
 *     shipping / trust widgets)
 *
 * The layout is constrained to the standard Shoptimizer site width (1170px)
 * and mirrors the Printley reference: configuration in the center, checkout
 * controls on the right.
 */

.single-product .pdp-3col {
	display: block;
}

.single-product .pdp-3col-gallery,
.single-product .pdp-3col-options,
.single-product .pdp-3col-purchase {
	min-width: 0;
}

.single-product .pdp-3col-options,
.single-product .pdp-3col-purchase {
	margin-top: 24px;
}

@media (min-width: 993px) {
	/* Constrain the 3-column layout to the same width as .top-bar (1960px). */
	.single-product .pdp-3col {
		padding: 0 40px;
		max-width: calc(1920px + 40px);
		margin: 0 auto;
	}

	/* The grid container spans the three columns. Variable products use the
	 * variations form; simple products use a neutral .pdp-3col-grid div. */
	.single-product .pdp-3col > .variations_form.cart,
	.single-product .pdp-3col > .pdp-3col-grid {
		display: grid;
		grid-template-columns: 1fr 1.1fr minmax(300px, 24%);
		gap: 40px;
		align-items: start;
		width: 100%;
	}

	/* Parent theme clearfix pseudo-elements become grid items otherwise, shifting the columns.
	 * Suppress them on the grid container.
	 */
	.single-product .pdp-3col > .variations_form.cart::before,
	.single-product .pdp-3col > .variations_form.cart::after,
	.single-product .pdp-3col > .pdp-3col-grid::before,
	.single-product .pdp-3col > .pdp-3col-grid::after {
		content: none;
		display: none;
	}

	/* Move prev/next product arrows into the archive-header row next to breadcrumbs. */
	.pdp-layout-3col .archive-header {
		overflow: visible;
	}

	.pdp-layout-3col .archive-header .col-full {
		position: relative;
		width: 100%;
		max-width: 1920px;
		margin-left: auto;
		margin-right: auto;
		padding: 0.75rem 40px;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
	}

	.pdp-layout-3col .archive-header .woocommerce-breadcrumb {
		flex: 0 1 auto;
		margin: 0;
		padding-top: 0;
		padding-bottom: 0;
	}

	.pdp-layout-3col .archive-header .shoptimizer-product-prevnext {
		position: relative;
		top: auto;
		right: auto;
		margin-left: auto;
		display: inline-flex;
		flex-shrink: 0;
	}

	.pdp-layout-3col .archive-header .shoptimizer-product-prevnext .tooltip {
		margin-top: 26px;
	}

	.single-product .pdp-3col > .variations_form.cart > .pdp-3col-options,
	.single-product .pdp-3col > .pdp-3col-grid > .pdp-3col-options {
		grid-column: 2;
	}

	.single-product .pdp-3col > .variations_form.cart > .pdp-3col-purchase,
	.single-product .pdp-3col > .pdp-3col-grid > .pdp-3col-purchase {
		grid-column: 3;
	}

	.single-product .pdp-3col-gallery,
	.single-product .pdp-3col-options,
	.single-product .pdp-3col-purchase {
		margin-top: 0;
	}

	/* Center column: product identity (no price — price lives in the purchase card). */
	.single-product .pdp-3col-options .product_title {
		font-size: 2rem;
		line-height: 1.25;
		margin-bottom: 12px;
	}

	.single-product .pdp-3col-options .woocommerce-product-rating {
		margin-bottom: 12px;
	}

	.single-product .pdp-3col-options .woocommerce-product-details__short-description {
		font-size: 1rem;
		line-height: 1.6;
		color: #444;
		margin-bottom: 20px;
	}

	/* Center column: configuration selectors. */
	.single-product .pdp-3col-options .pdp-form-config {
		width: 100%;
	}

	.single-product .pdp-3col-options .pdp-form-config .variations {
		width: 100%;
		margin: 0 0 18px;
		border: 0;
	}

	.single-product .pdp-3col-options .pdp-form-config .variations th,
	.single-product .pdp-3col-options .pdp-form-config .variations td {
		padding: 8px 0;
		border: 0;
		vertical-align: top;
	}

	.single-product .pdp-3col-options .pdp-form-config .variations label {
		font-weight: 600;
		color: #111;
	}

	.single-product .pdp-3col-options .pdp-form-config .variations select {
		width: 100%;
		min-height: 44px;
		padding: 10px 12px;
		border: 1px solid #d0d0d0;
		border-radius: 8px;
		background: #fff;
		font-size: 1rem;
	}

	.single-product .pdp-3col-options .pdp-form-config .reset_variations_alert {
		margin-bottom: 12px;
	}

	/* PinkPriceRules product options (Laminavimas / Medžiaga) in center. */
	.single-product .pdp-3col-options .ppr-product-options {
		margin-bottom: 18px;
	}

	.single-product .pdp-3col-options .ppr-product-option {
		margin-bottom: 16px;
	}

	.single-product .pdp-3col-options .ppr-product-option fieldset {
		border: 0;
		padding: 0;
		margin: 0;
	}

	.single-product .pdp-3col-options .ppr-product-option legend {
		font-weight: 600;
		color: #111;
		margin-bottom: 8px;
		font-size: 1rem;
	}

	.single-product .pdp-3col-options .ppr-product-option__choice {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 8px 12px;
		margin: 0 6px 6px 0;
		border: 1px solid #d0d0d0;
		border-radius: 8px;
		font-size: 0.95rem;
		cursor: pointer;
		transition: border-color 0.15s ease, background 0.15s ease;
	}

	.single-product .pdp-3col-options .ppr-product-option__choice input[type="radio"] {
		margin: 0;
		accent-color: #1e4db3;
	}

	.single-product .pdp-3col-options .ppr-product-option__choice:hover {
		border-color: #1e4db3;
		background: #f8fbff;
	}

	/* Right column: sticky purchase card. */
	.single-product .pdp-3col-purchase {
		position: sticky;
		top: 24px;
		border: 1px solid rgba(0, 0, 0, 0.08);
		border-radius: 15px;
		padding: 24px;
		background: #fff;
		align-self: start;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
	}

	/* Make the product image occupy ~90% of the left gallery column width. */
	.single-product .pdp-3col-gallery {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.single-product .pdp-3col-gallery .woocommerce-product-gallery {
		width: 90%;
		max-width: 90%;
	}

	.single-product .pdp-3col-gallery .woocommerce-product-gallery__wrapper,
	.single-product .pdp-3col-gallery .woocommerce-product-gallery__image,
	.single-product .pdp-3col-gallery .woocommerce-product-gallery__image img,
	.single-product .pdp-3col-gallery .flex-viewport {
		width: 100%;
	}

	.single-product .pdp-3col-gallery .woocommerce-product-gallery__image img {
		max-width: 100%;
		width: 100%;
		height: auto;
		object-fit: contain;
	}

	.single-product .pdp-3col-gallery .woocommerce-product-gallery .flex-control-thumbs {
		margin-top: 16px;
	}

	.single-product .pdp-3col-gallery .woocommerce-product-gallery .flex-control-thumbs li {
		width: 72px;
		margin-right: 12px;
	}

	/* Pre-card total price. */
	.single-product .pdp-3col-purchase .pdp-card-total,
	.single-product .pdp-3col-purchase .woocommerce-variation .woocommerce-variation-price {
		font-size: 1.45rem;
		font-weight: 700;
		color: #111;
		margin-bottom: 18px;
		padding-bottom: 14px;
		border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	}

	.single-product .pdp-3col-purchase .pdp-card-total .price {
		font-size: inherit;
		font-weight: inherit;
		color: inherit;
		margin: 0;
		display: inline;
	}

	/* Right card: base price (variable-product range), quantity limits and VAT toggle. */
	.single-product .pdp-3col-purchase .price {
		font-size: 1.5rem;
		font-weight: 700;
		color: #111;
		margin: 0 0 12px;
	}

	.single-product .pdp-3col-purchase .price del {
		color: #767676;
		font-weight: 400;
	}

	.single-product .pdp-3col-purchase .price ins {
		text-decoration: none;
	}

	.single-product .pdp-3col-purchase .ppr-qty-limits-info {
		margin: 0 0 10px;
		font-size: 0.95rem;
		color: #444;
	}

	/* Quantity + button stack in the right card. */
	.single-product .pdp-3col-purchase .variations_button {
		display: flex;
		flex-direction: column;
		gap: 14px;
	}

	.single-product .pdp-3col-purchase .variations_button .quantity {
		width: 100%;
	}

	.single-product .pdp-3col-purchase .variations_button .quantity input[type="number"] {
		width: 100%;
		min-height: 48px;
		padding: 10px 12px;
		border: 1px solid #d0d0d0;
		border-radius: 8px;
		font-size: 1rem;
		text-align: center;
	}

	.single-product .pdp-3col-purchase .variations_button .single_add_to_cart_button {
		width: 100%;
		min-height: 52px;
		border-radius: 10px;
		font-size: 1.05rem;
		font-weight: 700;
		letter-spacing: 0.02em;
		float: none;
		margin-left: 0;
		margin-right: 0;
		max-width: 100%;
		min-width: 0;
		white-space: normal;
		box-sizing: border-box;
	}

	.single-product .pdp-3col-purchase .woocommerce-variation {
		margin-bottom: 14px;
	}

	/* Complementary blocks below the card. */
	.single-product .pdp-3col-purchase .product-widget,
	.single-product .pdp-3col-purchase .call-back-feature,
	.single-product .pdp-3col-purchase .pdp-complementary {
		margin-top: 18px;
	}

	/* PinkPriceRules pricing table / VAT toggle live in the purchase card. */
	.single-product .pdp-3col-purchase .ppr-pricing-table {
		margin-top: 18px;
	}

	.single-product .pdp-3col-purchase .ppr-vat-toggle-standalone {
		margin-bottom: 10px;
	}

	.single-product .pdp-3col-purchase .ppr-vat-toggle button {
		border: 1px solid #d0d0d0;
		border-radius: 8px;
		padding: 6px 12px;
		font-size: 0.9rem;
		background: #fff;
		cursor: pointer;
	}

	.single-product .pdp-3col-purchase .ppr-vat-toggle button.active {
		background: #1e4db3;
		color: #fff;
		border-color: #1e4db3;
	}
}

@media (min-width: 1200px) {
	.single-product .pdp-3col {
		gap: 48px;
	}

	.single-product .pdp-3col-purchase {
		padding: 28px;
	}
}

/* Mobile: stack the three columns vertically and drop the sticky card. */
@media (max-width: 992px) {
	.single-product .pdp-3col {
		padding: 0 15px;
	}

	.single-product .pdp-3col > .variations_form.cart,
	.single-product .pdp-3col > .pdp-3col-grid {
		display: block;
	}

	.single-product .pdp-3col-gallery,
	.single-product .pdp-3col-options,
	.single-product .pdp-3col-purchase {
		width: 100%;
		max-width: 100%;
		margin-bottom: 24px;
		grid-column: auto;
	}

	.single-product .pdp-3col-purchase {
		position: static;
		border: 1px solid rgba(0, 0, 0, 0.08);
		border-radius: 15px;
		padding: 20px;
		background: #fff;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
	}

	.single-product .pdp-3col-purchase .variations_button .single_add_to_cart_button {
		width: 100%;
	}
}
