/* ==========================================================================
   XGATE — Single product template styles
   Loaded only on single product pages (see inc/product-gallery.php).
   Gallery-specific rules live in xg-gallery.css; page-level rules go here.
   ========================================================================== */

/* Layout: two-column product summary (flex)
   -------------------------------------------------------------------------- */
.single-product div.product {
	--sp-gap: 32px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-gap);
	align-items: flex-start;
}

.single-product div.product .woocommerce-product-gallery {
	flex: 0 0 calc(40.23% - var(--sp-gap) / 2);
	float: none;
	max-width: 100%;
}

.single-product div.product .entry-summary {
	flex: 0 0 calc(59.77% - var(--sp-gap) / 2);
	float: none;
	max-width: 100%;
}

/* Full-width rows below the two columns */
.single-product div.product .woocommerce-tabs,
.single-product div.product .related.products,
.single-product div.product .upsells.products {
	flex: 0 0 100%;
}

/* Summary: title, price, meta
   -------------------------------------------------------------------------- */
.single-product .product_title {
	margin: 0 0 16px;
	font-weight: 900;
	font-size: 56px;
	line-height: 60px;
	letter-spacing: -5%;
}

.single-product .entry-summary .price {
	font-size: 1.4em;
	margin-bottom: 16px;
}

.single-product .product_meta {
	margin-top: 20px;
	font-size: 0.9em;
	color: #666;
}

/* Spec cards grid
   -------------------------------------------------------------------------- */
.single-product .product_meta {
	margin: 0;
	font-size: inherit;
	color: inherit;
}

.xg-specs {
	--xg-specs-gap: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--xg-specs-gap);
}

.xg-specs__card {
	flex: 0 0 calc((100% - 3 * var(--xg-specs-gap)) / 4);
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px;
	background: #F5F5F5;
	box-sizing: border-box;
	border-radius: 8px;
}

.xg-specs__label {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #8A8A8A;
}

.xg-specs__value {
	font-size: 14px;
	font-weight: 700;
	color: #1E1E1E;
	line-height: 1.35;
}

/* Subtitle line
   -------------------------------------------------------------------------- */
.xg-subtitle {
	margin: 0 0 20px;
	font-size: 15px;
	color: #6E6E6E;
}

/* Action buttons
   -------------------------------------------------------------------------- */
.xg-actions {
	--xg-actions-gap: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--xg-actions-gap);
	margin: 24px 0;
}

.xg-btn {
	flex: 0 0 calc((100% - var(--xg-actions-gap)) / 2);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 28px;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	letter-spacing: 0;
	text-decoration: none;
	box-sizing: border-box;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.xg-btn svg {
	flex: 0 0 auto;
}

.xg-btn--primary {
	background: #43A977;
	border: 1px solid #43A977;
	color: #fff;
}

.xg-btn--secondary {
	background: #fff;
	border: 1px solid #D4D4D4;
	color: #1E1E1E;
}

.xg-btn--secondary svg {
	color: #43A977;
}

/* Document cards
   -------------------------------------------------------------------------- */
.xg-docs {
	--xg-docs-gap: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--xg-docs-gap);
}

.xg-docs__card {
	flex: 0 0 calc((100% - 2 * var(--xg-docs-gap)) / 3);
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	background: #EFF9F3;
	text-decoration: none;
	box-sizing: border-box;
	transition: background-color 0.15s ease;
	border-radius: 8px;
}

.xg-docs__card svg {
	flex: 0 0 auto;
}

.xg-docs__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.xg-docs__title {
	font-size: 14px;
	font-weight: 700;
	color: #1E1E1E;
	line-height: 1.3;
}

.xg-docs__meta {
	font-size: 12px;
	color: #8A8A8A;
	line-height: 1.3;
}

/* Product tabs
   -------------------------------------------------------------------------- */
.single-product .woocommerce-tabs {
	margin-top: 40px;
	border: 1px solid #D4D4D4;
	border-radius: 12px;
	padding: 0 24px 24px;
	margin-bottom: 48px;
}

.single-product .woocommerce-tabs ul.wc-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid #E5E5E5;
}

.single-product .woocommerce-tabs ul.wc-tabs li {
	margin: 0;
	padding: 0;
}

.single-product .woocommerce-tabs ul.wc-tabs li a {
	display: block;
	padding: 18px 0 14px;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	font-size: 15px;
	font-weight: 600;
	color: #6E6E6E;
	text-decoration: none;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.single-product .woocommerce-tabs ul.wc-tabs li.active a {
	color: #1B7A63;
	border-bottom-color: #1B7A63;
}

.single-product .woocommerce-Tabs-panel h2:first-child {
	display: none; /* WC injects a duplicate tab heading into each panel */
}

.xg-tab-placeholder {
	margin: 0;
	color: #8A8A8A;
}

/* Sizes tab
   -------------------------------------------------------------------------- */
.xg-sizes {
	--xg-sizes-gap: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--xg-sizes-gap);
}

.xg-sizes__card {
	flex: 0 0 calc((100% - 4 * var(--xg-sizes-gap)) / 5);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 16px;
	border: 1px solid #D4D4D4;
	background: #FAFAFA;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
	transition: border-color 0.15s ease, background-color 0.15s ease;
	border-radius: 10px;
}

.xg-sizes__card .prod-thumb-wrapper {
	position: relative;
	width: 100px;
	height: 100px;
	padding: 10px;
	background-color: #fff;
}

.prod-thumb-wrapper::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
	pointer-events: none;
}

.xg-sizes__card img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	margin-bottom: 8px;
}

.xg-sizes__card.is-current {
	border-color: #43A977;
	background: #EFF9F3;
}

.xg-sizes__size {
	font-size: 14px;
	font-weight: 700;
	color: #1E1E1E;
	line-height: 1.35;
}

.xg-sizes__sku {
	font-size: 12px;
	color: #8A8A8A;
	font-family: monospace;
}


/* Sizes tab — header line
   -------------------------------------------------------------------------- */
.xg-sizes__header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 16px;
}

.xg-sizes__family {
	font-size: 15px;
	font-weight: 700;
	color: #1E1E1E;
}

.xg-sizes__family span:not(:first-child)::before {
	content: ' · ';
	color: #1E1E1E;
	font-weight: 700;
}

.xg-sizes__family span:last-child {
	color: #006775;
}

.xg-sizes__count {
	font-size: 13px;
	color: #8A8A8A;
	white-space: nowrap;
}

/* Sizes tab — bottom specs line
   -------------------------------------------------------------------------- */
.xg-sizes__footer {
	margin-top: 16px;
	padding: 12px 16px;
	background: #F5F5F5;
	font-size: 13px;
	color: #1E1E1E;
}

.xg-sizes__footer .xg-sizes__spec:not(:first-child)::before {
	content: ' · ';
	color: #8A8A8A;
}

.xg-sizes__footer strong {
	font-weight: 700;
}

/* Specifications tab
   -------------------------------------------------------------------------- */
.xg-specs-tab {
	--xg-specs-tab-gap: 32px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--xg-specs-tab-gap);
	align-items: flex-start;
}

.xg-specs-tab__main {
	flex: 0 0 calc(58% - var(--xg-specs-tab-gap) / 2);
}

.xg-specs-tab__aside {
	flex: 0 0 calc(42% - var(--xg-specs-tab-gap) / 2);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.xg-specs-tab__title {
	margin: 0 0 16px;
	font-size: 20px;
	font-weight: 700;
	color: #006775;
}

.xg-specs-tab__table {
	margin: 0;
	border: 1px solid #E5E5E5;
	border-radius: 8px;
	overflow: hidden;
}

.xg-specs-tab__row {
	display: flex;
}

.xg-specs-tab__row:not(:last-child) {
	border-bottom: 1px solid #E5E5E5;
}

.xg-specs-tab__row dt {
	flex: 0 0 38%;
	padding: 14px 16px;
	background: #FAFAFA;
	border-right: 1px solid #E5E5E5;
	font-size: 14px;
	font-weight: 400;
	color: #6E6E6E;
	box-sizing: border-box;
}

.xg-specs-tab__row dd {
	flex: 1;
	margin: 0;
	padding: 14px 16px;
	font-size: 14px;
	color: #1E1E1E;
}

.xg-callout {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px 20px;
	border-left: 3px solid #43A977;
	background: linear-gradient(90deg, #E8F6EE 0%, rgba(232, 246, 238, 0) 100%);
}

.xg-callout__title {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #1B7A63;
}

.xg-callout__text {
	font-size: 14px;
	color: #1E1E1E;
	line-height: 1.5;
}

/* Compatibility tab
   -------------------------------------------------------------------------- */
.xg-compat__hero {
	padding: 24px;
	background: linear-gradient(90deg, #E8F6EE 0%, rgba(232, 246, 238, 0) 100%);
	margin-bottom: 32px;
}

.xg-compat__hero-title {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 700;
	color: #1E1E1E;
}

.xg-compat__hero-text {
	margin: 0 0 16px;
	font-size: 14px;
	color: #4A4A4A;
}

.xg-compat__hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.xg-compat__hero-actions .xg-btn {
	flex: 0 0 auto;
	padding: 12px 24px;
	font-size: 14px;
}

.xg-btn--dark {
	background: #006775;
	border: 1px solid #006775;
	color: #fff;
}

.xg-compat__cols {
	--xg-compat-gap: 40px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--xg-compat-gap);
	align-items: flex-start;
}

.xg-compat__systems {
	flex: 0 0 calc(62% - var(--xg-compat-gap) / 2);
}

.xg-compat__checks {
	flex: 0 0 calc(38% - var(--xg-compat-gap) / 2);
}

.xg-compat__row-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 12px;
	margin-bottom: 16px;
	border-bottom: 1px solid #E5E5E5;
}

.xg-compat__row-head h4,
.xg-compat__checks h4 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: #171717;
}

.xg-compat__row-head--sub {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 10px;
}

.xg-compat__row-head h5 {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: #006775;
}

.xg-compat__row-head span {
	font-size: 13px;
	color: #8A8A8A;
	white-space: nowrap;
}

.xg-compat__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
}

.xg-compat__pill {
	padding: 6px 10px;
	border: 1px solid #E5E5E5;
	background: #fff;
	font-size: 14px;
	font-weight: 600;
	color: #404040;
	border-radius: 6px;
}

.xg-compat__pill--own {
	border-color: #D2F2F8;
	background: #D2F2F8;
	color: #006775;
}

.xg-compat__checks h4 {
	margin-bottom: 16px;
}

.xg-compat__steps {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: xg-step;
}

.xg-compat__steps li {
	counter-increment: xg-step;
	position: relative;
	padding: 0 0 16px 44px;
	margin-bottom: 16px;
	border-bottom: 1px solid #E5E5E5;
}

.xg-compat__steps li:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

.xg-compat__steps li::before {
	content: counter(xg-step);
	position: absolute;
	left: 0;
	top: 0;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #E7F4F9;
	color: #006775;
	font-size: 13px;
	font-weight: 700;
}

.xg-compat__steps strong {
	display: block;
	margin-bottom: 4px;
	font-size: 14px;
	color: #1E1E1E;
}

.xg-compat__steps span {
	font-size: 13px;
	color: #6E6E6E;
	line-height: 1.5;
}

.xg-compat__disclaimer {
	margin: 24px 0 0;
	padding-top: 16px;
	border-top: 1px solid #E5E5E5;
	font-size: 12px;
	color: #A0A0A0;
}

/* Components tab
   -------------------------------------------------------------------------- */
.xg-components__heading {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 700;
	color: #006775;
}

.xg-components__intro {
	margin: 0 0 20px;
	font-size: 14px;
	color: #6E6E6E;
}

.xg-components {
	--xg-comp-gap: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--xg-comp-gap);
}

.xg-components__card {
	flex: 0 0 calc((100% - 6 * var(--xg-comp-gap)) / 7);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 20px 12px;
	border: 1px solid #ECECEC;
	border-radius: 10px;
	background: #F7F8F8;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
	transition: border-color 0.15s ease;
}

.xg-components__card img {
	width: 56px;
	height: 84px;
	object-fit: contain;
	margin-bottom: 8px;
}

.xg-components__title {
	font-size: 14px;
	font-weight: 700;
	color: #1E1E1E;
	line-height: 1.3;
}

.xg-components__desc {
	font-size: 12px;
	color: #8A8A8A;
	line-height: 1.4;
}

.xg-components__sku {
	margin-top: 4px;
	font-size: 12px;
	font-weight: 700;
	color: #006775;
	font-family: monospace;
}


/* Drilling Protocol tab
   -------------------------------------------------------------------------- */
.xg-drilling__heading {
	margin: 0 0 16px;
	font-size: 20px;
	font-weight: 700;
	color: #006775;
}

.xg-drilling {
	margin: 0 0 24px;
}

.xg-drilling:last-child {
	margin-bottom: 0;
}

.xg-drilling img {
	display: block;
	width: 100%;
	height: auto;
}

.xg-drilling__mobile {
	display: none;
}

.xg-drilling__sub {
	margin: 0 0 20px;
	font-size: 14px;
	color: #6E6E6E;
}

.xg-cases {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.case-card {
	border-radius: 24px;
	overflow: hidden;
	position: relative;
	border: 0.9px solid #006675;
}

.xg-cases > * {
	flex: 0 0 calc(25% - 15px);
}

.case-img-wrapper {
	aspect-ratio: 1.024;
	position: relative;
	background: linear-gradient(180deg, rgba(22, 104, 112, 0) 0%, #006675 100%);
}

.author-photo-wrapper {
	aspect-ratio: 1;
	position: relative;
	width: 43.45%;
	border: 5px solid #fff;
	border-radius: 50%;
	overflow: hidden;
	margin-top: -67px;
	margin-left: auto;
	margin-right: auto;
	z-index: 10;
}

.author-photo-wrapper img, .case-img-wrapper img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: -1;
}

.case-card:not(.intro-card) .the-case-details {
	padding: 0 18px 100px 18px;
}

.case-date {
	font-weight: 400;
	font-size: 14px;
	line-height: 18px;
	color: #80B4BB;
	margin-bottom: 11px;
}

.woocommerce-product-details__short-description {
	font-weight: 400;
	font-size: 15px;
	line-height: 22px;
	letter-spacing: 0%;
	margin: 20px 0;
}

.xg-cases .case-card:not(.intro-card) .the-case-details .content h4 {
	font-weight: 700;
	font-size: 17px;
	line-height: 22px;
	margin: 0;
}

.case-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0 12px;
}

.case-tags__item {
	padding: 4px 12px;
	border-radius: 999px;
	background: #EFFAF3;
	font-weight: 500;
	font-size: 14px;
	line-height: 16px;
	letter-spacing: 0%;
	color: #307D57;
}

.case-card:not(.intro-card) .a-link {
	position: absolute;
	right: 18px;
	bottom: 19px;
	display: block;
	width: fit-content;
	margin-left: auto;
	font-weight: 700;
	font-size: 17px;
	line-height: 100%;
	color: #00AC73;
}

.case-card:not(.intro-card) .the-case-details {
	padding: 0 18px 100px 18px;
}

.the-case-details {
	margin-top: auto;
}

a.more-cases {
	display: flex !important;
	margin-left: auto !important;
}

/* Case Studies tab
   -------------------------------------------------------------------------- */
.xg-cases__heading {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 700;
	color: #006775;
}

.xg-cases__sub {
	margin: 0 0 20px;
	font-size: 14px;
	color: #6E6E6E;
}

/* CAD/CAM Libraries tab
   -------------------------------------------------------------------------- */
.xg-cadcam__heading {
	margin: 0 0 34px;
	font-size: 20px;
	font-weight: 700;
	color: #006775;
}

.xg-cadcam__sub {
	margin: 0 0 20px;
	font-size: 14px;
	color: #6E6E6E;
}

.xg-cadcam {
	--xg-cadcam-gap: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--xg-cadcam-gap);
}

.xg-cadcam__card {
	flex: 0 0 calc((100% - 3 * var(--xg-cadcam-gap)) / 4);
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border: 1px solid #E5E5E5;
	border-radius: 10px;
	background: #fff;
	text-decoration: none;
	box-sizing: border-box;
	transition: border-color 0.15s ease;
}

.xg-cadcam__card svg,
.xg-cadcam__card img.xg-cadcam__icon {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	object-fit: contain;
}

.xg-cadcam__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.xg-cadcam__title {
	font-size: 14px;
	font-weight: 700;
	color: #1E1E1E;
	line-height: 1.3;
}

.xg-cadcam__meta {
	font-size: 12px;
	color: #8A8A8A;
	line-height: 1.3;
}

/* Downloads tab
   -------------------------------------------------------------------------- */
.xg-downloads__group {
	margin-bottom: 28px;
}

.xg-downloads__group:last-child {
	margin-bottom: 0;
}

.xg-downloads__group-title {
	margin: 0 0 16px;
	font-size: 16px;
	font-weight: 700;
	color: #006775;
}

/* Downloads cards: 3 per row (CAD/CAM stays 4) */
.xg-downloads__group .xg-cadcam__card {
	flex: 0 0 calc((100% - 2 * var(--xg-cadcam-gap)) / 3);
}

.categoriesProducts-section {
	margin-bottom: 80px;
}

.categoriesProducts-section figure {
	display: flex;
}


@media (hover: hover) and (pointer: fine) {
	.xg-cadcam__card:hover {
		border-color: #43A977;
	}
	.xg-components__card:hover {
		border-color: #43A977;
	}
	.xg-docs__card:hover {
		background: #E2F4EA;
	}
	.single-product .woocommerce-tabs ul.wc-tabs li a:hover {
		color: #1B7A63;
	}
	.xg-btn--primary:hover {
		background: #389466;
		border-color: #389466;
		color: #fff;
	}

	.xg-btn--secondary:hover {
		border-color: #43A977;
		color: #1E1E1E;
	}
	
	.xg-docs__card:hover {
		background: #E2F4EA;
	}
	.xg-docs__card:hover {
		background: #E2F4EA;
	}
	.single-product .woocommerce-tabs ul.wc-tabs li a:hover {
		color: #1B7A63;
	}
}


/* Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
	.woocommerce-tabs ul.wc-tabs {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		position: relative;
	}
	
	.woocommerce-tabs ul.wc-tabs::-webkit-scrollbar {
		display: none;
	}
	
	.woocommerce-tabs ul.wc-tabs li {
		flex: 0 0 auto;
		scroll-snap-align: center;
	}
	.single .categoriesProducts-section h2 {
		font-weight: 900;
		font-size: 32px;
		line-height: 36px;
		letter-spacing: -5%;
		margin-bottom: 16px;
	}
	.xg-sizes {
		--xg-sizes-gap: 10px;
	}
	.xg-sizes__card {
		padding: 14px 12px;
	}
	.single-product .woocommerce-tabs {
		margin-top: 0;
	}
	.single-product .product_title {
		font-weight: 900;
		font-size: 32px;
		line-height: 36px;
		letter-spacing: -5%;
		margin-bottom: 6px;
	}
	.xg-subtitle {
		margin: 0 0 16px;
		font-weight: 400;
		font-size: 14px;
		line-height: 16px;
		letter-spacing: 0%;
	}
	.xg-downloads__group .xg-cadcam__card {
		flex: 0 0 100%;
	}
	.xg-cadcam__card {
		flex: 0 0 100%;
	}
	.xg-cases > * {
		flex: 0 0 calc(100% - 15px);
	}
	.xg-drilling__desktop {
		display: none;
	}
	
	.xg-drilling__mobile {
		display: block;
	}
	.xg-components__card {
		flex: 0 0 calc((100% - var(--xg-comp-gap)) / 2);
	}
	
	.xg-compat__systems,
	.xg-compat__checks {
		flex: 0 0 100%;
	}
	
	.xg-specs-tab__main,
	.xg-specs-tab__aside {
		flex: 0 0 100%;
	}
	
	.xg-specs-tab__table {
		border: none;
	}
	
	.xg-specs-tab__row {
		flex-direction: column;
		padding: 12px 0;
	}
	
	.xg-specs-tab__row dt {
		flex: none;
		padding: 0 0 2px;
		background: none;
		border-right: none;
		font-size: 12px;
		color: #8A8A8A;
	}
	
	.xg-specs-tab__row dd {
		padding: 0;
		font-size: 15px;
		font-weight: 700;
	}
	.single-product .woocommerce-tabs {
		padding: 0 16px 16px;
		width: 100%;
	}
	
	.single-product .woocommerce-tabs ul.wc-tabs {
		gap: 20px;
		overflow-x: auto;
		flex-wrap: nowrap;
		white-space: nowrap;
	}
	
	.single-product div.product {
		--sp-gap: 24px;
	}

	.single-product div.product .woocommerce-product-gallery,
	.single-product div.product .entry-summary {
		flex: 0 0 100%;
	}
	
	.xg-specs__card {
		flex: 0 0 calc((100% - var(--xg-specs-gap)) / 2);
		border: 1px solid #E5E5E5;
		padding: 11px 12px;
		gap: 3px;
	}
	
	.xg-actions {
		margin: 16px 0;
		--xg-actions-gap: 12px;
	}
	
	.xg-btn {
		flex: 0 0 100%;
	}
	
	.xg-docs__card {
		flex: 0 0 100%;
	}
	
	.xg-sizes__card {
		flex: 0 0 calc((100% - var(--xg-sizes-gap)) / 2);
	}
}