/*
 * 0.4.7 rich-content correction
 *
 * The approved local reference uses one continuous split card: the media and
 * copy share an outer surface, the two desktop columns are equal-height, and
 * the copy is vertically centered. The rules below only target the existing
 * dynamic Glade rich-content DOM. They do not change product data, schema,
 * 3D event handling, Shop cards, or the WooCommerce product gallery.
 */

/* Any authored rich-content family opts into the centered wide tab. Plain
 * description prose remains on product.css's readable 860px measure. */
body.glade-single-product .woocommerce-tabs .wc-tab:has(
	.glade-pd-bento,
	.glade-product-story,
	.gmh26,
	.ghpd26-systemcard,
	.ghpd26-detailcard,
	.ghlb26-clean-card,
	.ghlb26-wastecard,
	.ghlb26-multicard,
	.gsc26-open-card,
	.psl26,
	.ghb26,
	.ghmop26,
	.ghbf26,
	.ghdc26,
	.ghec26,
	.ghfw26,
	.ghsl26,
	.ghfc26,
	.gct26,
	.glade-feature,
	.glade-feature-list
) {
	width: 100%;
	max-width: none;
	margin-inline: auto;
}

/*
 * 0.6.7 one-piece Rich HTML correction layer.
 *
 * Product-specific design remains authored in one WordPress HTML document;
 * this stable wrapper opts every future family into the same WooCommerce tab
 * width, media containment, box sizing and long-content safeguards.
 */
body.glade-single-product .woocommerce-tabs .wc-tab .glade-product-story {
	display: block;
	width: min(1320px, calc(100vw - 48px));
	max-width: 100%;
	min-width: 0;
	margin-inline: auto;
	overflow-wrap: break-word;
	word-break: normal;
}

/*
 * Theme-owned overflow fallback for one-piece stories.
 *
 * Some legacy one-piece products shipped a global rule such as
 * `.woocommerce div.product .woocommerce-Tabs-panel { overflow: visible }`
 * to counter theme tab clipping. That affordance belongs to the theme, not
 * to product content: it is provided here scoped to the story host so the
 * product-specific style block can drop the global selector entirely.
 */
body.glade-single-product .woocommerce-tabs .wc-tab:has(> .glade-product-story) {
	overflow: visible;
}
body.glade-single-product .woocommerce-tabs .wc-tab:has(> .glade-product-story) > .glade-product-story {
	overflow: visible;
}
body.glade-single-product .woocommerce-tabs .wc-tab:has(> .glade-product-story) > .glade-product-story * {
	max-width: 100%;
	min-width: 0;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-product-story,
body.glade-single-product .woocommerce-tabs .wc-tab .glade-product-story *,
body.glade-single-product .woocommerce-tabs .wc-tab .glade-product-story *::before,
body.glade-single-product .woocommerce-tabs .wc-tab .glade-product-story *::after {
	box-sizing: border-box;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-product-story :where(section, article, div, figure) {
	min-width: 0;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-product-story :where(img, video, iframe, canvas, svg, model-viewer) {
	max-width: 100%;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-product-story img {
	height: auto;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-product-story :where(p, li) {
	max-width: none;
}

@media (max-width: 900px) {
	body.glade-single-product .woocommerce-tabs .wc-tab .glade-product-story {
		width: min(calc(100vw - 32px), 720px);
	}
}

@media (max-width: 520px) {
	body.glade-single-product .woocommerce-tabs .wc-tab .glade-product-story {
		width: calc(100vw - 28px);
	}
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-pd-bento {
	width: min(1320px, calc(100vw - 48px));
	margin-inline: auto;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-pd-bento .glade-bento-container {
	width: 100%;
	max-width: 1320px;
	margin-inline: auto;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-pd-bento .glade-seo-intro {
	width: min(100%, 820px);
	max-width: 820px;
	margin-inline: auto;
	column-count: 1 !important;
	columns: auto !important;
	text-align: left !important;
	text-align-last: auto !important;
	hyphens: none !important;
}

/* One continuous desktop card. The gap and inner radii from the legacy
 * inline CSS are intentionally neutralized so the split surface is seamless.
 */
body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-row {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
	align-items: stretch;
	gap: 0;
	overflow: hidden;
	border: 1px solid #eae7e0;
	border-radius: 20px;
	background: #fff;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-row > .glade-bento-main,
body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-row > .glade-bento-side {
	min-width: 0;
	min-height: 0 !important;
	height: auto;
	align-self: stretch;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-row > .glade-bento-main {
	display: flex;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: #ebe8e2;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-row > .glade-bento-side {
	display: flex;
	flex-direction: column;
	gap: 0;
	background: #fff;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-side > .glade-bento-box {
	flex: 1 1 0;
	min-height: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	transform: none;
	justify-content: center;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-side > .glade-bento-box + .glade-bento-box {
	border-top: 1px solid #eae7e0;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-row > .glade-bento-main:hover,
body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-side > .glade-bento-box:hover {
	transform: none;
	box-shadow: none;
}

/* Desktop media fills the media track. cover is controlled here only for the
 * existing rich-content media, preserving the approved split-card silhouette.
 */
body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-main > .glade-model-stage,
body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-main > img,
body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-main > video {
	width: 100%;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-main > img,
body.glade-single-product .woocommerce-tabs .wc-tab .glade-model-stage .glade-model-fallback {
	display: block;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: 50% 50%;
}

body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-main > .glade-bento-video,
body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-main > video {
	position: absolute;
	inset: 0;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

/* The model stage keeps its existing controlled 520px/400px runtime height;
 * only the surrounding rich-content row is released from fake min-heights.
 */
body.glade-single-product .glade-model-launch {
	position: absolute;
	z-index: 12;
	top: 24px;
	left: 32px;
	border: 0;
	border-radius: 30px;
	padding: 10px 16px;
	background: #fff;
	color: var(--glade-child-ink);
	font: 600 0.7rem/1 var(--glade-child-body);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

body.glade-single-product .glade-model-launch:focus-visible {
	outline: 3px solid var(--glade-child-accent);
	outline-offset: 3px;
}

body.glade-single-product .glade-model-stage {
	position: relative;
	display: grid;
	width: 100%;
	height: 520px;
	min-height: 0;
	grid-template-areas: 'model-stage';
	overflow: hidden;
	background: #f2efea;
}

body.glade-single-product .glade-model-stage model-viewer,
body.glade-single-product .glade-model-stage .glade-model-fallback {
	grid-area: model-stage;
	width: 100%;
	height: 100%;
	min-height: 0;
}

body.glade-single-product .glade-model-stage model-viewer {
	display: block;
	z-index: 1;
	visibility: hidden;
	opacity: 0;
	object-fit: contain;
	transition: opacity 0.2s ease;
}

body.glade-single-product .glade-model-stage model-viewer[hidden] {
	display: block !important;
}

body.glade-single-product .glade-model-stage .glade-model-fallback {
	position: relative;
	z-index: 2;
	visibility: visible;
	opacity: 1;
	transition: opacity 0.2s ease;
}

body.glade-single-product .glade-model-loading .glade-model-stage model-viewer {
	visibility: visible;
	opacity: 0.01;
}

body.glade-single-product .glade-model-ready .glade-model-stage model-viewer {
	visibility: visible;
	opacity: 1;
}

body.glade-single-product .glade-model-ready .glade-model-stage .glade-model-fallback {
	visibility: hidden;
	opacity: 0;
}

body.glade-single-product .glade-model-error .glade-model-stage model-viewer {
	visibility: hidden;
	opacity: 0;
}

body.glade-single-product .glade-model-status {
	position: absolute;
	z-index: 11;
	right: 24px;
	bottom: 24px;
	left: 24px;
	margin: 0;
	text-align: center;
	color: #686158;
	font-size: 0.86rem;
}

body.glade-single-product .glade-model-fallback {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: 50% 50%;
	background: #f2efea;
}

body.glade-single-product .glade-model-fallback[hidden] {
	display: block !important;
}

body.glade-single-product .glade-model-loading .glade-model-launch {
	opacity: 0.7;
	cursor: wait;
}

body.glade-single-product .glade-model-error {
	min-height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 28px;
	background: #eee8df;
}

body.glade-single-product .glade-model-error .glade-model-launch {
	top: auto;
	bottom: 62px;
}

@media (max-width: 900px) {
	body.glade-single-product .woocommerce-tabs .wc-tab .glade-pd-bento {
		width: calc(100vw - 32px);
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-row {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-row > .glade-bento-main {
		order: 1;
		width: 100%;
		height: auto;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-row > .glade-bento-side {
		order: 2;
		width: 100%;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-main > img,
	body.glade-single-product .woocommerce-tabs .wc-tab .glade-model-stage .glade-model-fallback {
		height: auto;
		object-fit: contain;
	}

	body.glade-single-product .glade-model-stage {
		height: auto;
	}

	body.glade-single-product .glade-model-loading .glade-model-stage,
	body.glade-single-product .glade-model-ready .glade-model-stage {
		height: 400px;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-row > .glade-bento-main.glade-bento-box--media {
		padding: 0;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .glade-bento-row > .glade-bento-side > .glade-bento-box {
		flex: 0 0 auto;
		padding: 28px;
	}
}

/* Legacy rich-content media compatibility. These are authored media
 * containers, not product-specific selectors. On desktop the media fills the
 * stretched card track; on mobile the source image returns to its natural
 * ratio so the product is not destructively cropped. Composite scene cards
 * are intentionally excluded because their lower copy is real content, not
 * an empty media tail. */
body.glade-single-product .woocommerce-tabs .wc-tab :is(
	.glade-bento-main,
	.gmh26-space-img,
	.gmh26-detail-image,
	.gmh26-cta-image,
	.psl26-detail-img,
	.psl26-cta-img,
	.ghb26-heroimg,
	.ghb26-system-img,
	.ghb26-detail-img,
	.ghb26-cta-img,
	.gsc26-open-img,
	.gsc26-detail-img,
	.gsc26-ctaimg,
	.ghmop26-heroimg,
	.ghmop26-system-img,
	.ghmop26-detail-img,
	.ghmop26-storage-img,
	.ghmop26-ctaimg,
	.ghbf26-heroimg,
	.ghbf26-smart-img,
	.ghbf26-feedimg,
	.ghbf26-ctaimg,
	.ghpd26-heroimg,
	.ghpd26-systemimg,
	.ghpd26-detailimg,
	.ghlb26-heroimg,
	.ghlb26-clean-img,
	.ghlb26-wasteimg,
	.ghlb26-video-frame,
	.ghlb26-multiimg,
	.ghdc26-heroimg,
	.ghdc26-hwimg,
	.ghdc26-gpsimg,
	.ghdc26-nearimg,
	.ghdc26-buildimg,
	.ghec26-heroimg,
	.ghec26-cardimg,
	.ghec26-gaugeimg,
	.ghec26-sceneimg,
	.ghec26-frontimg,
	.ghfw26-heroimg,
	.ghfw26-img,
	.ghsl26-heroimg,
	.ghsl26-img,
	.ghfc26-main-image,
	.ghfc26-wide-image,
	.ghfc26-cta-image,
	.gct26-split-img,
	.gct26-material-img,
	.gct26-cta-img,
	.glade-video-wrapper
) {
	display: flex;
	align-self: stretch;
	width: 100%;
	height: auto;
	min-height: 0;
	overflow: hidden;
}

body.glade-single-product .woocommerce-tabs .wc-tab :is(
	.glade-bento-main,
	.gmh26-space-img,
	.gmh26-detail-image,
	.gmh26-cta-image,
	.psl26-detail-img,
	.psl26-cta-img,
	.ghb26-heroimg,
	.ghb26-system-img,
	.ghb26-detail-img,
	.ghb26-cta-img,
	.gsc26-open-img,
	.gsc26-detail-img,
	.gsc26-ctaimg,
	.ghmop26-heroimg,
	.ghmop26-system-img,
	.ghmop26-detail-img,
	.ghmop26-storage-img,
	.ghmop26-ctaimg,
	.ghbf26-heroimg,
	.ghbf26-smart-img,
	.ghbf26-feedimg,
	.ghbf26-ctaimg,
	.ghpd26-heroimg,
	.ghpd26-systemimg,
	.ghpd26-detailimg,
	.ghlb26-heroimg,
	.ghlb26-clean-img,
	.ghlb26-wasteimg,
	.ghlb26-video-frame,
	.ghlb26-multiimg,
	.ghdc26-heroimg,
	.ghdc26-hwimg,
	.ghdc26-gpsimg,
	.ghdc26-nearimg,
	.ghdc26-buildimg,
	.ghec26-heroimg,
	.ghec26-cardimg,
	.ghec26-gaugeimg,
	.ghec26-sceneimg,
	.ghec26-frontimg,
	.ghfw26-heroimg,
	.ghfw26-img,
	.ghsl26-heroimg,
	.ghsl26-img,
	.ghfc26-main-image,
	.ghfc26-wide-image,
	.ghfc26-cta-image,
	.gct26-split-img,
	.gct26-material-img,
	.gct26-cta-img,
	.glade-video-wrapper
) > :is(img, video) {
	display: block;
	flex: 1 1 auto;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: 50% 50%;
}

@media (max-width: 900px) {
	body.glade-single-product .woocommerce-tabs .wc-tab :is(
		.glade-bento-main,
		.gmh26-space-img,
		.gmh26-detail-image,
		.gmh26-cta-image,
		.psl26-detail-img,
		.psl26-cta-img,
		.ghb26-heroimg,
		.ghb26-system-img,
		.ghb26-detail-img,
		.ghb26-cta-img,
		.gsc26-open-img,
		.gsc26-detail-img,
		.gsc26-ctaimg,
		.ghmop26-heroimg,
		.ghmop26-system-img,
		.ghmop26-detail-img,
		.ghmop26-storage-img,
		.ghmop26-ctaimg,
		.ghbf26-heroimg,
		.ghbf26-smart-img,
		.ghbf26-feedimg,
		.ghbf26-ctaimg,
		.ghpd26-heroimg,
		.ghpd26-systemimg,
		.ghpd26-detailimg,
		.ghlb26-heroimg,
		.ghlb26-clean-img,
		.ghlb26-wasteimg,
		.ghlb26-video-frame,
		.ghlb26-multiimg,
		.ghdc26-heroimg,
		.ghdc26-hwimg,
		.ghdc26-gpsimg,
		.ghdc26-nearimg,
		.ghdc26-buildimg,
		.ghec26-heroimg,
		.ghec26-cardimg,
		.ghec26-gaugeimg,
		.ghec26-sceneimg,
		.ghec26-frontimg,
		.ghfw26-heroimg,
		.ghfw26-img,
		.ghsl26-heroimg,
		.ghsl26-img,
		.ghfc26-main-image,
		.ghfc26-wide-image,
		.ghfc26-cta-image,
		.gct26-split-img,
		.gct26-material-img,
		.gct26-cta-img,
		.glade-video-wrapper
	) {
		display: block;
		height: auto;
		min-height: 0;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab :is(
		.glade-bento-main,
		.gmh26-space-img,
		.gmh26-detail-image,
		.gmh26-cta-image,
		.psl26-detail-img,
		.psl26-cta-img,
		.ghb26-heroimg,
		.ghb26-system-img,
		.ghb26-detail-img,
		.ghb26-cta-img,
		.gsc26-open-img,
		.gsc26-detail-img,
		.gsc26-ctaimg,
		.ghmop26-heroimg,
		.ghmop26-system-img,
		.ghmop26-detail-img,
		.ghmop26-storage-img,
		.ghmop26-ctaimg,
		.ghbf26-heroimg,
		.ghbf26-smart-img,
		.ghbf26-feedimg,
		.ghbf26-ctaimg,
		.ghpd26-heroimg,
		.ghpd26-systemimg,
		.ghpd26-detailimg,
		.ghlb26-heroimg,
		.ghlb26-clean-img,
		.ghlb26-wasteimg,
		.ghlb26-video-frame,
		.ghlb26-multiimg,
		.ghdc26-heroimg,
		.ghdc26-hwimg,
		.ghdc26-gpsimg,
		.ghdc26-nearimg,
		.ghdc26-buildimg,
		.ghec26-heroimg,
		.ghec26-cardimg,
		.ghec26-gaugeimg,
		.ghec26-sceneimg,
		.ghec26-frontimg,
		.ghfw26-heroimg,
		.ghfw26-img,
		.ghsl26-heroimg,
		.ghsl26-img,
		.ghfc26-main-image,
		.ghfc26-wide-image,
		.ghfc26-cta-image,
		.gct26-split-img,
		.gct26-material-img,
		.gct26-cta-img,
		.glade-video-wrapper
	) > :is(img, video) {
		flex: none;
		width: 100%;
		height: auto;
		min-height: 0;
		object-fit: contain;
		object-position: 50% 50%;
	}
}

/*
 * 0.4.9 family adapters.
 *
 * ghpd26-* and ghlb26-* are older, product-description-owned compositions.
 * Their desktop grid rows were allowed to stretch the media cell to the
 * height of a longer copy column while the image retained a fixed
 * 560/540/520px minimum. Keep the shared split-card silhouette, let the
 * media image fill the actual row with controlled cover behavior, and center
 * the complete copy group inside the white panel.
 */
body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-systemcard,
body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-detailcard,
body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-clean-card,
body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-wastecard,
body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-multicard {
	align-items: stretch;
	height: auto;
	min-height: 0;
}

body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-systemimg,
body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-detailimg,
body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-clean-img,
body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-wasteimg,
body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-multiimg {
	align-self: stretch;
	height: auto;
	min-height: 0;
	background: transparent;
	overflow: hidden;
}

body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-systemimg img,
body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-detailimg img,
body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-clean-img img,
body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-wasteimg img,
body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-multiimg img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: 50% 50%;
}

body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-systemcopy,
body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-detailcopy,
body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-clean-copy,
body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-wastecopy,
body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-multicopy {
	align-self: stretch;
	height: auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

@media (max-width: 900px) {
	body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-systemcard,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-detailcard,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-clean-card,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-wastecard,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-multicard {
		align-items: start;
		grid-template-columns: minmax(0, 1fr);
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-systemimg,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-detailimg,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-clean-img,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-wasteimg,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-multiimg {
		width: 100%;
		height: auto;
		min-height: 0;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-systemimg img,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-detailimg img,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-clean-img img,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-wasteimg img,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-multiimg img {
		height: auto;
		object-fit: contain;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-systemcopy,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghpd26-detailcopy,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-clean-copy,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-wastecopy,
	body.glade-single-product .woocommerce-tabs .wc-tab .ghlb26-multicopy {
		width: 100%;
		height: auto;
		min-height: 0;
	}
}

@media (max-width: 520px) {
	body.glade-single-product .woocommerce-tabs .wc-tab .glade-pd-bento {
		width: calc(100vw - 28px);
	}
}

/*
 * 0.4.8 legacy compatibility.
 *
 * Published products may still contain historic gsc26-* description markup.
 * Keep this adapter inside the WooCommerce product-description surface; do
 * not rewrite stored HTML in PHP or JavaScript. The row height is
 * content-driven while the media track fills that row.
 */
body.glade-single-product .woocommerce-tabs .wc-tab .gsc26-open-card {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
	align-items: stretch;
	gap: 0;
	min-height: 0;
	height: auto;
	border-radius: 20px;
	overflow: hidden;
}

body.glade-single-product .woocommerce-tabs .wc-tab .gsc26-open-img {
	display: flex;
	align-self: stretch;
	min-width: 0;
	min-height: 0;
	height: auto;
	overflow: hidden;
	background: transparent;
}

body.glade-single-product .woocommerce-tabs .wc-tab .gsc26-open-img img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: 50% 50%;
}

body.glade-single-product .woocommerce-tabs .wc-tab .gsc26-open-copy {
	align-self: stretch;
	min-width: 0;
	min-height: 0;
	height: auto;
	justify-content: center;
}

/*
 * 0.5.1 gmh26 correction.
 *
 * The live Construction Details family used a 340px image minimum inside a
 * 560px equal-height row. That left the media background visible below the
 * image. This family-scoped adapter keeps the desktop split card equal-height
 * while making the image track fill the row. The mobile rule restores the
 * source image ratio instead of cropping it.
 */
body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-detail-grid {
	align-items: stretch;
}

body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-detail {
	box-sizing: border-box;
	align-items: stretch;
	height: auto;
	min-height: 0 !important;
	overflow: hidden;
}

body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-detail-image {
	box-sizing: border-box;
	display: flex;
	align-self: stretch;
	height: auto;
	min-height: 0 !important;
	overflow: hidden;
	background: transparent;
}

body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-detail-image img {
	box-sizing: border-box;
	display: block;
	flex: 1 1 auto;
	width: 100%;
	height: 100% !important;
	min-height: 0 !important;
	object-fit: cover;
	object-position: 50% 50%;
}

body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-detail-copy {
	box-sizing: border-box;
	align-self: stretch;
	height: auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-detail-copy h3,
body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-detail-copy h4 {
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}

/*
 * 0.5.1 complete-page correction for the legacy gmh26 family.
 *
 * Blocksy's readable tab width is intentionally 860px, but this product's
 * description is a wide, authored rich-content composition. The family
 * marker opts only this rich-content tab into the article's centered width;
 * ordinary product prose keeps the readable-width rule.
 */
body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-cta-box {
	align-items: stretch;
	min-height: 0;
	overflow: hidden;
}

body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-cta-image {
	display: flex;
	align-self: stretch;
	height: auto;
	min-height: 0;
	overflow: hidden;
	background: transparent;
}

body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-cta-image img {
	display: block;
	flex: 1 1 auto;
	width: 100%;
	height: 100% !important;
	min-height: 0 !important;
	object-fit: cover;
	object-position: 50% 50%;
}

body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-cta-copy {
	align-self: stretch;
	min-width: 0;
}

@media (max-width: 900px) {
	body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-detail {
	grid-template-columns: minmax(0, 1fr);
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-detail-image {
	display: block;
	width: 100%;
	height: auto;
	min-height: 0 !important;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-detail-image img {
	width: 100%;
	height: auto !important;
	min-height: 0 !important;
	object-fit: contain;
	object-position: 50% 50%;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-detail-copy {
	width: 100%;
	height: auto;
	min-height: 0;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-cta-box {
	grid-template-columns: minmax(0, 1fr);
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-cta-image {
	display: block;
	width: 100%;
	height: auto;
	min-height: 0;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .gmh26-cta-image img {
	width: 100%;
	height: auto !important;
	min-height: 0 !important;
	object-fit: contain;
	object-position: 50% 50%;
	}
}

@media (max-width: 900px) {
	body.glade-single-product .woocommerce-tabs .wc-tab .gsc26-open-card {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .gsc26-open-img {
		display: block;
		width: 100%;
		height: auto;
		min-height: 0;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .gsc26-open-img img {
		width: 100%;
		height: auto;
		min-height: 0;
		object-fit: contain;
	}

	body.glade-single-product .woocommerce-tabs .wc-tab .gsc26-open-copy {
		width: 100%;
		height: auto;
		min-height: 0;
		padding: 28px;
	}
}
