

	/* ================================================================
	 * DESKTOP ONLY
	 * ================================================================ */
	@media (min-width: 1024px) {

		/*
		 * Both gallery and summary must start from exactly
		 * the same grid row position.
		 */
		body.single-product
		.product-entry-wrapper.is-width-constrained {
			align-items: start !important;
		}


		/*
		 * ------------------------------------------------------------
		 * NORMAL STATE
		 * ------------------------------------------------------------
		 *
		 * This selector is intentionally more specific than the old
		 * Product Page rule:
		 *
		 * body.admin-bar.single-product ... > .summary {
		 *     top:56px !important;
		 * }
		 *
		 * That old top value was moving the whole information column
		 * downward on desktop while position was being changed to
		 * relative by Header 03.
		 */
		body.single-product
		.product-entry-wrapper.is-width-constrained
		> .summary.entry-summary.entry-summary-items,

		body.admin-bar.single-product
		.product-entry-wrapper.is-width-constrained
		> .summary.entry-summary.entry-summary-items {

			position: relative !important;

			top: auto !important;
			right: auto !important;
			bottom: auto !important;
			left: auto !important;

			inset-block-start: auto !important;
			inset-block-end: auto !important;

			margin-top: 0 !important;
			margin-block-start: 0 !important;

			padding-top: 0 !important;
			padding-block-start: 0 !important;

			transform: none !important;
			translate: none !important;

			align-self: start !important;

			min-height: 0 !important;
			height: max-content !important;

			z-index: 3 !important;
		}


		/*
		 * The information card is the first child of the summary.
		 * Prevent any inherited/default top spacing from pushing it down.
		 */
		body.single-product
		.product-entry-wrapper.is-width-constrained
		> .summary.entry-summary.entry-summary-items
		> .plsn-product-brand-card:first-child {

			margin-top: 0 !important;
			margin-block-start: 0 !important;

			transform: none !important;
			translate: none !important;
		}


		/* The adaptive column controller and header-2.css own sticky positioning. */


		/*
		 * Keep the product hierarchy usable by native position: sticky.
		 * A vertical overflow container here can break sticky completely.
		 */
		body.single-product #main,
		body.single-product #main > .ct-container,
		body.single-product #main > .ct-container-full,
		body.single-product #main article,
		body.single-product #main div.product,
		body.single-product
		.product-entry-wrapper.is-width-constrained {

			overflow-y: visible !important;
		}


		body.single-product
		.product-entry-wrapper.is-width-constrained {

			position: relative !important;
			contain: none !important;
		}
	}


	/* ================================================================
	 * TABLET + MOBILE
	 *
	 * Explicit protection so this desktop repair cannot introduce
	 * the desktop top offset into <= 1023px layouts.
	 * ================================================================ */
	@media (max-width: 1023px) {

		body.single-product
		.product-entry-wrapper.is-width-constrained
		> .summary.entry-summary.entry-summary-items {

			top: auto !important;
			inset-block-start: auto !important;
		}
	}


	/* ================================================================
	 * ANCHOR / TAB OFFSET
	 * ================================================================ */
	body.single-product
	:is(
		#tab-description,
		#tab-reviews,
		.woocommerce-tabs,
		.product-entry-wrapper
	) {

		scroll-margin-top: var(
			--plsn-content-sticky-top,
			64px
		) !important;
	}

