/* Everyday Peptides product and research presentation. */

body.single-product {
	--ep-navy: #102f4b;
	--ep-blue: #117dad;
	--ep-blue-dark: #0a638d;
	--ep-blue-soft: #edf7fb;
	--ep-ink: #17324a;
	--ep-muted: #64798a;
	--ep-line: #d7e2ea;
	--ep-panel: #f6f9fb;
	--ep-warning-bg: #fff7e9;
	--ep-warning-border: #e2a54b;
	--ep-warning-text: #6b4309;
}

/* Cart: a calm, readable workspace for both the Cart block and classic cart. */
body.woocommerce-cart {
	--ep-cart-navy: #102f4b;
	--ep-cart-blue: #087fb1;
	--ep-cart-blue-dark: #06678f;
	--ep-cart-ink: #17324a;
	--ep-cart-muted: #607589;
	--ep-cart-line: #d8e4ec;
	--ep-cart-panel: #f5f9fc;
	--ep-cart-soft-blue: #eaf6fb;
}

body.woocommerce-cart main.site-main {
	box-sizing: border-box !important;
	margin: 0 auto !important;
	max-width: 1220px !important;
	min-height: 430px;
	padding: 44px 24px 72px !important;
	width: 100% !important;
}

body.woocommerce-cart main.site-main > article,
body.woocommerce-cart main.site-main .page-content,
body.woocommerce-cart main.site-main .entry-content {
	box-sizing: border-box !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: none !important;
	width: 100% !important;
}

body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .page-header .entry-title,
body.woocommerce-cart main.site-main > h1 {
	color: var(--ep-cart-navy) !important;
	font-size: clamp(34px, 3vw, 44px) !important;
	font-weight: 800 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.08 !important;
	margin: 0 0 30px !important;
	padding: 0 !important;
	position: static !important;
	transform: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-cart .woocommerce {
	color: var(--ep-cart-ink);
	font-size: 15px;
	line-height: 1.55;
}

body.woocommerce-cart .wc-block-components-sidebar-layout {
	align-items: start !important;
	display: grid !important;
	gap: 30px !important;
	grid-template-columns: minmax(0, 1.7fr) minmax(310px, 0.9fr) !important;
	margin: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-cart .wc-block-cart__main {
	background: #fff !important;
	border: 1px solid var(--ep-cart-line) !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 32px rgba(16, 47, 75, 0.07) !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 24px 26px !important;
	width: 100% !important;
}

body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-cart .wc-block-cart__sidebar {
	background: var(--ep-cart-panel) !important;
	border: 1px solid var(--ep-cart-line) !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 32px rgba(16, 47, 75, 0.06) !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 24px !important;
	position: sticky !important;
	top: 24px !important;
	width: 100% !important;
}

body.woocommerce-cart table.wc-block-cart-items,
body.woocommerce-cart table.shop_table.cart {
	border: 0 !important;
	border-collapse: collapse !important;
	margin: 0 !important;
	width: 100% !important;
}

body.woocommerce-cart table.wc-block-cart-items thead,
body.woocommerce-cart table.shop_table.cart thead {
	border-bottom: 1px solid var(--ep-cart-line) !important;
}

body.woocommerce-cart table.wc-block-cart-items thead th,
body.woocommerce-cart table.shop_table.cart thead th {
	color: #38546a !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: 0.065em !important;
	line-height: 1.35 !important;
	padding: 0 0 13px !important;
	text-transform: uppercase !important;
}

body.woocommerce-cart table.wc-block-cart-items tbody tr,
body.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
	border-bottom: 1px solid var(--ep-cart-line) !important;
}

body.woocommerce-cart table.wc-block-cart-items tbody tr:last-child,
body.woocommerce-cart table.shop_table.cart tbody tr.cart_item:last-child {
	border-bottom: 0 !important;
}

body.woocommerce-cart table.wc-block-cart-items tbody td,
body.woocommerce-cart table.shop_table.cart tbody td {
	border: 0 !important;
	box-sizing: border-box !important;
	padding-bottom: 24px !important;
	padding-top: 24px !important;
	vertical-align: top !important;
}

body.woocommerce-cart .wc-block-cart-item__image,
body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
	padding-right: 18px !important;
	width: 116px !important;
}

body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
	background: #f4f7f8 !important;
	border: 1px solid #e1e8ed !important;
	border-radius: 10px !important;
	box-sizing: border-box !important;
	display: block !important;
	height: 96px !important;
	margin: 0 !important;
	object-fit: contain !important;
	width: 96px !important;
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart table.shop_table.cart td.product-name > a {
	color: var(--ep-cart-navy) !important;
	display: inline-block !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	margin: 0 0 5px !important;
	text-decoration: none !important;
}

body.woocommerce-cart .wc-block-components-product-name:hover,
body.woocommerce-cart .wc-block-components-product-name:focus-visible,
body.woocommerce-cart table.shop_table.cart td.product-name > a:hover,
body.woocommerce-cart table.shop_table.cart td.product-name > a:focus-visible {
	color: var(--ep-cart-blue) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-details,
body.woocommerce-cart table.shop_table.cart .variation,
body.woocommerce-cart table.shop_table.cart .wc-item-meta {
	color: var(--ep-cart-muted) !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	margin: 4px 0 9px !important;
}

body.woocommerce-cart .wc-block-components-product-metadata__description {
	display: -webkit-box !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	max-width: 520px;
	overflow: hidden !important;
}

body.woocommerce-cart .ep-research-document-link,
body.woocommerce-cart .wc-block-components-product-details .ep-research-document-link,
body.woocommerce-cart table.shop_table.cart .ep-research-document-link {
	background: var(--ep-cart-soft-blue) !important;
	border: 1px solid #b9dceb !important;
	border-radius: 7px !important;
	color: #075f87 !important;
	display: inline-flex !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	margin: 5px 6px 0 0 !important;
	min-height: 34px !important;
	padding: 7px 10px !important;
	text-decoration: none !important;
}

body.woocommerce-cart .ep-research-document-link:hover,
body.woocommerce-cart .ep-research-document-link:focus-visible {
	background: var(--ep-cart-navy) !important;
	border-color: var(--ep-cart-navy) !important;
	color: #fff !important;
}

body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart table.shop_table.cart .product-price,
body.woocommerce-cart table.shop_table.cart .product-subtotal {
	color: var(--ep-cart-navy) !important;
	font-size: 14px !important;
	font-weight: 750 !important;
}

body.woocommerce-cart .wc-block-components-product-price__regular,
body.woocommerce-cart table.shop_table.cart del {
	color: #748697 !important;
	font-weight: 500 !important;
}

body.woocommerce-cart .wc-block-components-sale-badge,
body.woocommerce-cart .wc-block-components-product-badge {
	background: #edf7fb !important;
	border: 0 !important;
	border-radius: 5px !important;
	color: #146889 !important;
	font-size: 11px !important;
	font-weight: 750 !important;
	padding: 4px 7px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart table.shop_table.cart .quantity {
	align-items: stretch !important;
	background: #fff !important;
	border: 1px solid #b9c9d5 !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	display: inline-flex !important;
	height: 38px !important;
	margin: 8px 10px 0 0 !important;
	min-width: 108px !important;
	overflow: hidden !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector::after {
	border: 0 !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button,
body.woocommerce-cart .wc-block-components-quantity-selector__input,
body.woocommerce-cart table.shop_table.cart .quantity input,
body.woocommerce-cart table.shop_table.cart .quantity button {
	background: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--ep-cart-ink) !important;
	font-size: 14px !important;
	height: 36px !important;
	line-height: 36px !important;
	min-height: 36px !important;
	padding: 0 !important;
	text-align: center !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button,
body.woocommerce-cart table.shop_table.cart .quantity button {
	color: var(--ep-cart-blue-dark) !important;
	font-size: 18px !important;
	width: 34px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button:hover,
body.woocommerce-cart .wc-block-components-quantity-selector__button:focus-visible,
body.woocommerce-cart table.shop_table.cart .quantity button:hover,
body.woocommerce-cart table.shop_table.cart .quantity button:focus-visible {
	background: var(--ep-cart-soft-blue) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__input,
body.woocommerce-cart table.shop_table.cart .quantity input.qty {
	font-weight: 750 !important;
	width: 38px !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart table.shop_table.cart a.remove {
	align-items: center !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 7px !important;
	color: #587184 !important;
	display: inline-flex !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	justify-content: center !important;
	margin-top: 8px !important;
	min-height: 38px !important;
	min-width: 38px !important;
	padding: 7px !important;
	text-decoration: none !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover,
body.woocommerce-cart .wc-block-cart-item__remove-link:focus-visible,
body.woocommerce-cart table.shop_table.cart a.remove:hover,
body.woocommerce-cart table.shop_table.cart a.remove:focus-visible {
	background: #fff0f0 !important;
	color: #a73535 !important;
}

body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-cart .cart_totals h2 {
	color: var(--ep-cart-navy) !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	letter-spacing: -0.01em !important;
	line-height: 1.3 !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	text-align: left !important;
	text-transform: none !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-totals-block {
	border-color: var(--ep-cart-line) !important;
	padding: 14px 0 !important;
}

body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-item__value,
body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td {
	color: var(--ep-cart-ink) !important;
	font-size: 15px !important;
	line-height: 1.45 !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
	color: var(--ep-cart-navy) !important;
	font-size: 20px !important;
	font-weight: 850 !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon-link,
body.woocommerce-cart .wc-block-components-panel__button {
	color: var(--ep-cart-blue-dark) !important;
	font-size: 14px !important;
	font-weight: 750 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
}

body.woocommerce-cart .wc-block-cart__submit-container,
body.woocommerce-cart .wc-block-cart__submit,
body.woocommerce-cart .wc-proceed-to-checkout {
	margin: 18px 0 0 !important;
	padding: 0 !important;
}

body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	align-items: center !important;
	background: var(--ep-cart-blue) !important;
	border: 1px solid var(--ep-cart-blue) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	color: #fff !important;
	display: flex !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	justify-content: center !important;
	letter-spacing: 0 !important;
	line-height: 1.3 !important;
	min-height: 50px !important;
	padding: 13px 20px !important;
	text-decoration: none !important;
	text-transform: none !important;
	width: 100% !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button:focus-visible,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible {
	background: var(--ep-cart-navy) !important;
	border-color: var(--ep-cart-navy) !important;
}

/* Classic cart fallback. */
body.woocommerce-cart form.woocommerce-cart-form {
	background: #fff !important;
	border: 1px solid var(--ep-cart-line) !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 32px rgba(16, 47, 75, 0.07) !important;
	box-sizing: border-box !important;
	padding: 24px 26px !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
	background: var(--ep-cart-panel) !important;
	border: 1px solid var(--ep-cart-line) !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 32px rgba(16, 47, 75, 0.06) !important;
	box-sizing: border-box !important;
	padding: 24px !important;
}

@media (max-width: 767px) {
	body.woocommerce-cart main.site-main {
		min-height: 0 !important;
		overflow: hidden !important;
		padding: 24px 16px 46px !important;
	}

	body.woocommerce-cart h1.entry-title,
	body.woocommerce-cart .page-header .entry-title,
	body.woocommerce-cart main.site-main > h1 {
		font-size: 32px !important;
		line-height: 1.12 !important;
		margin-bottom: 20px !important;
	}

	body.woocommerce-cart .wc-block-components-sidebar-layout {
		display: flex !important;
		flex-direction: column !important;
		gap: 16px !important;
		width: 100% !important;
	}

	body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
	body.woocommerce-cart .wc-block-cart__main,
	body.woocommerce-cart .wc-block-components-sidebar,
	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-cart form.woocommerce-cart-form,
	body.woocommerce-cart .cart-collaterals .cart_totals {
		border-radius: 11px !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
		max-width: 100% !important;
		padding: 16px !important;
		position: static !important;
		width: 100% !important;
	}

	body.woocommerce-cart table.wc-block-cart-items {
		display: block !important;
		max-width: 100% !important;
		overflow: visible !important;
		width: 100% !important;
	}

	body.woocommerce-cart table.wc-block-cart-items thead {
		display: none !important;
	}

	body.woocommerce-cart table.wc-block-cart-items tbody {
		display: block !important;
		width: 100% !important;
	}

	body.woocommerce-cart table.wc-block-cart-items tbody tr {
		display: grid !important;
		gap: 0 12px !important;
		grid-template-columns: 72px minmax(0, 1fr) auto !important;
		padding: 18px 0 !important;
		width: 100% !important;
	}

	body.woocommerce-cart table.wc-block-cart-items tbody tr:first-child {
		padding-top: 2px !important;
	}

	body.woocommerce-cart table.wc-block-cart-items tbody td {
		display: block !important;
		max-width: 100% !important;
		padding: 0 !important;
		width: auto !important;
	}

	body.woocommerce-cart .wc-block-cart-item__image {
		grid-column: 1 !important;
		grid-row: 1 / span 2 !important;
		padding: 0 !important;
		width: 72px !important;
	}

	body.woocommerce-cart .wc-block-cart-item__image img,
	body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
		height: 68px !important;
		width: 68px !important;
	}

	body.woocommerce-cart .wc-block-cart-item__product {
		grid-column: 2 !important;
		grid-row: 1 / span 2 !important;
		min-width: 0 !important;
	}

	body.woocommerce-cart .wc-block-cart-item__total {
		grid-column: 3 !important;
		grid-row: 1 !important;
		min-width: 58px !important;
		padding-left: 6px !important;
		text-align: right !important;
	}

	body.woocommerce-cart .wc-block-components-product-name,
	body.woocommerce-cart table.shop_table.cart td.product-name > a {
		font-size: 15px !important;
		overflow-wrap: anywhere !important;
	}

	body.woocommerce-cart .wc-block-components-product-metadata,
	body.woocommerce-cart .wc-block-components-product-details {
		font-size: 12px !important;
		line-height: 1.45 !important;
	}

	body.woocommerce-cart .ep-research-document-link,
	body.woocommerce-cart .wc-block-components-product-details .ep-research-document-link,
	body.woocommerce-cart table.shop_table.cart .ep-research-document-link {
		font-size: 12px !important;
		margin: 6px 0 0 !important;
		min-height: 38px !important;
		padding: 8px 9px !important;
		width: 100% !important;
	}

	body.woocommerce-cart .wc-block-components-quantity-selector,
	body.woocommerce-cart table.shop_table.cart .quantity {
		height: 40px !important;
		margin-top: 10px !important;
		min-width: 112px !important;
	}

	body.woocommerce-cart .wc-block-cart-item__remove-link,
	body.woocommerce-cart table.shop_table.cart a.remove {
		margin-left: 2px !important;
		margin-top: 10px !important;
	}

	body.woocommerce-cart .wc-block-cart__totals-title,
	body.woocommerce-cart .cart_totals h2 {
		font-size: 19px !important;
		margin-bottom: 10px !important;
	}

	body.woocommerce-cart .wc-block-components-totals-wrapper {
		padding: 12px 0 !important;
	}

	body.woocommerce-cart .wc-block-cart__submit-button,
	body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		min-height: 52px !important;
	}

	body.woocommerce-cart .wc-block-cart__sidebar {
		margin-bottom: 0 !important;
	}

	body.woocommerce-cart footer,
	body.woocommerce-cart .site-footer {
		margin-top: 0 !important;
	}
}

@media (max-width: 360px) {
	body.woocommerce-cart table.wc-block-cart-items tbody tr {
		grid-template-columns: 72px minmax(0, 1fr) !important;
	}

	body.woocommerce-cart .wc-block-cart-item__image {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	body.woocommerce-cart .wc-block-cart-item__product {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}

	body.woocommerce-cart .wc-block-cart-item__total {
		grid-column: 2 !important;
		grid-row: 2 !important;
		justify-self: end !important;
		margin-top: 10px !important;
		min-width: 0 !important;
		padding-left: 0 !important;
	}
}

.ep-product-research-auto,
.ep-research-card,
.ep-research-specifications,
.ep-research-documents {
	box-sizing: border-box;
	clear: both;
}

.ep-product-research-auto {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 24px 0 0;
}

.ep-research-gallery-specifications {
	box-sizing: border-box;
	clear: both;
	display: none;
	width: 100%;
}

.ep-research-card,
.ep-research-specifications,
.ep-research-documents {
	background: #f7fafc;
	border: 1px solid #d6e1ea;
	border-radius: 10px;
	margin: 0 0 16px;
	overflow: hidden;
	padding: 0;
}

.ep-product-research-auto .ep-research-card,
.ep-product-research-auto .ep-research-specifications,
.ep-product-research-auto .ep-research-documents {
	margin: 0;
}

.ep-research-card-summary {
	align-items: center;
	color: #102f4b;
	cursor: pointer;
	display: flex;
	font-size: 18px;
	font-weight: 750;
	gap: 14px;
	justify-content: space-between;
	line-height: 1.3;
	list-style: none;
	margin: 0;
	padding: 16px 18px;
}

.ep-research-card-summary::-webkit-details-marker {
	display: none;
}

.ep-research-card-summary::marker {
	content: "";
}

.ep-research-card-summary:focus-visible {
	box-shadow: inset 0 0 0 3px rgba(17, 125, 173, 0.28);
	outline: 0;
}

.ep-research-card-heading {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	gap: 8px 12px;
	min-width: 0;
}

.ep-research-card-title {
	display: block;
	min-width: 0;
	overflow-wrap: anywhere;
}

.ep-research-testing-method-badge {
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.045em;
	line-height: 1.2;
	padding: 6px 9px;
	text-transform: uppercase;
	white-space: nowrap;
}

.ep-research-coa-summary > .ep-research-card-summary {
	background: #102f4b;
	color: #fff;
}

.ep-research-coa-summary > .ep-research-card-summary:focus-visible {
	box-shadow: inset 0 0 0 3px rgba(92, 201, 239, 0.55);
}

.ep-research-coa-summary > .ep-research-card-summary .ep-research-card-icon {
	border-color: #65c9ec;
}

.ep-research-card-icon {
	border-bottom: 2px solid #117dad;
	border-right: 2px solid #117dad;
	flex: 0 0 9px;
	height: 9px;
	margin-right: 3px;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 160ms ease;
	width: 9px;
}

.ep-research-card[open] .ep-research-card-icon {
	transform: rotate(225deg) translate(-2px, -2px);
}

.ep-research-card-body {
	padding: 0 18px 18px;
}

.ep-research-coa-summary > .ep-research-card-body {
	padding-top: 16px;
}

.ep-research-coa-results {
	margin: 0 0 16px;
}

.ep-research-variation-context {
	background: #f1f7fa;
	border-left: 3px solid #117dad;
	border-radius: 5px;
	color: #31556e;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 12px;
	padding: 7px 10px;
}

.ep-research-coa-results:last-child {
	margin-bottom: 0;
}

.ep-research-coa-results .ep-research-specification-row {
	grid-template-columns: minmax(130px, 0.72fr) minmax(0, 1.28fr);
}

.ep-research-specifications dl {
	margin: 0;
}

.ep-research-specification-row {
	align-items: start;
	border-top: 1px solid #dfe8ef;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(130px, 0.8fr) minmax(0, 1.2fr);
	padding: 7px 0;
}

.ep-research-specification-row:first-child {
	border-top: 0;
}

.ep-research-specification-row dt,
.ep-research-specification-row dd {
	font-size: 14px;
	line-height: 1.4;
	min-width: 0;
}

.ep-research-specification-row dt {
	color: #314f67;
	font-weight: 700;
}

.ep-research-specification-row dd {
	color: #13293d;
	hyphens: none;
	margin: 0;
	overflow-wrap: anywhere;
	word-break: normal;
}

.ep-research-documents-context {
	color: #4c6476;
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 12px;
}

.ep-research-document-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ep-research-document-link {
	align-items: center;
	border-radius: 7px;
	box-sizing: border-box;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	justify-content: center;
	line-height: 1.35;
	min-height: 40px;
	padding: 9px 14px;
}

.ep-research-document-link {
	background: #117dad;
	border: 1px solid #117dad;
	color: #fff !important;
	text-decoration: none !important;
}

.ep-research-document-link:hover,
.ep-research-document-link:focus-visible {
	background: #102f4b;
	border-color: #102f4b;
	color: #fff !important;
}

.ep-document-separator {
	display: none;
}

.ep-ruo-notice {
	background: #edf7fb;
	border: 1px solid #c9e2ed;
	border-left: 3px solid #117dad;
	border-radius: 8px;
	box-sizing: border-box;
	color: #29465d;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.55;
	margin: 0;
	padding: 13px 15px;
}

.ep-order-research-documents {
	font-size: 0.92em;
	margin-top: 6px;
}

.woocommerce td.product-name dl.variation dd .ep-research-document-link,
.woocommerce td.product-name .wc-item-meta .ep-research-document-link {
	background: transparent;
	border: 0;
	color: #087fb1 !important;
	display: inline;
	font-weight: 700;
	min-height: 0;
	padding: 0;
}

/* Single-product canvas and desktop composition. */
@media (min-width: 768px) {
	body.single-product main.site-main {
		box-sizing: border-box !important;
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: 1180px !important;
		padding: 34px 0 0 !important;
		width: calc(100% - 48px) !important;
	}

	body.single-product div.product.type-product {
		box-sizing: border-box !important;
		display: flow-root !important;
		margin: 0 0 40px !important;
		overflow: visible !important;
		position: relative !important;
		width: 100% !important;
	}

	body.single-product div.product::after {
		clear: both !important;
		content: "" !important;
		display: table !important;
	}

	body.single-product .woocommerce-breadcrumb {
		clear: both !important;
		color: #71808d !important;
		display: block !important;
		font-size: 13px !important;
		line-height: 1.5 !important;
		margin: 0 0 18px !important;
		position: static !important;
		transform: none !important;
	}

	body.single-product div.product .woocommerce-product-gallery {
		box-sizing: border-box !important;
		float: left !important;
		margin: 0 0 36px !important;
		width: 48% !important;
	}

	body.single-product div.product .woocommerce-product-gallery__wrapper {
		margin: 0 !important;
	}

	body.single-product div.product .woocommerce-product-gallery__image {
		background: #f5f8f9 !important;
		border: 1px solid #e3e9ed !important;
		border-radius: 12px !important;
		overflow: hidden !important;
	}

	body.single-product div.product .woocommerce-product-gallery__image > a > img:not(.zoomImg),
	body.single-product div.product .woocommerce-product-gallery__image > img:not(.zoomImg) {
		display: block !important;
		margin: 0 !important;
		width: 100% !important;
	}

	body.single-product div.product .woocommerce-product-gallery__image img.zoomImg {
		max-width: none !important;
	}

	body.single-product div.product .summary.entry-summary {
		align-items: stretch !important;
		box-sizing: border-box !important;
		display: flex !important;
		float: right !important;
		flex-direction: column !important;
		gap: 0 !important;
		justify-content: flex-start !important;
		line-height: 1.55 !important;
		margin: 0 0 36px !important;
		max-width: none !important;
		min-height: 0 !important;
		overflow: visible !important;
		padding: 2px 0 0 !important;
		position: static !important;
		transform: none !important;
		width: 47% !important;
	}

	body.single-product div.product .summary.entry-summary > * {
		box-sizing: border-box !important;
		clear: both !important;
		float: none !important;
		height: auto !important;
		inset: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		position: static !important;
		transform: none !important;
		z-index: auto !important;
	}

	body.single-product div.product .summary.entry-summary .product_title.entry-title {
		color: #102f4b !important;
		display: block !important;
		font-size: clamp(36px, 3vw, 46px) !important;
		font-weight: 750 !important;
		letter-spacing: -0.025em !important;
		line-height: 1.12 !important;
		margin: 0 !important;
		overflow-wrap: anywhere !important;
		padding: 0 0 12px !important;
		white-space: normal !important;
	}

	body.single-product div.product .summary.entry-summary > p.price,
	body.single-product div.product .summary.entry-summary > span.price {
		align-items: baseline !important;
		color: #117dad !important;
		display: inline-flex !important;
		flex-wrap: wrap !important;
		font-size: 20px !important;
		font-weight: 750 !important;
		gap: 10px !important;
		line-height: 1.35 !important;
		margin: 0 !important;
		padding: 0 0 18px !important;
		width: auto !important;
	}

	body.single-product div.product .summary.entry-summary .woocommerce-product-details__short-description {
		color: #2a455a !important;
		font-size: 15px !important;
		line-height: 1.65 !important;
		margin: 0 0 18px !important;
		width: 100% !important;
	}

	body.single-product div.product .summary.entry-summary .woocommerce-product-details__short-description p {
		font-size: inherit !important;
		line-height: inherit !important;
		margin: 0 0 10px !important;
	}

	body.single-product div.product form.variations_form.cart {
		margin: 0 0 18px !important;
		width: 100% !important;
	}

	body.single-product div.product form.variations_form table.variations {
		background: #f6f9fb !important;
		border: 1px solid #dce6ed !important;
		border-radius: 10px !important;
		box-sizing: border-box !important;
		display: block !important;
		margin: 0 0 14px !important;
		padding: 14px 16px !important;
		width: 100% !important;
	}

	body.single-product div.product form.variations_form table.variations tbody {
		display: block !important;
		width: 100% !important;
	}

	body.single-product div.product form.variations_form table.variations tr {
		align-items: center !important;
		display: grid !important;
		gap: 14px !important;
		grid-template-columns: minmax(120px, 0.42fr) minmax(180px, 1fr) !important;
		width: 100% !important;
	}

	body.single-product div.product form.variations_form table.variations th,
	body.single-product div.product form.variations_form table.variations td {
		display: block !important;
		float: none !important;
		line-height: 1.4 !important;
		padding: 0 !important;
		position: static !important;
		text-align: left !important;
		width: auto !important;
	}

	body.single-product div.product form.variations_form table.variations label {
		color: #27465f !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 1.4 !important;
	}

	body.single-product div.product form.variations_form table.variations select {
		background-color: #fff !important;
		border: 1px solid #aebdca !important;
		border-radius: 7px !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
		color: #17324a !important;
		font-size: 14px !important;
		height: 42px !important;
		line-height: 1.3 !important;
		max-width: none !important;
		padding: 0 38px 0 12px !important;
		width: 100% !important;
	}

	body.single-product div.product form.variations_form .reset_variations {
		color: #117dad !important;
		font-size: 12px !important;
		line-height: 1.4 !important;
		margin-top: 6px !important;
		text-decoration: none !important;
	}

	body.single-product div.product .single_variation_wrap,
	body.single-product div.product .woocommerce-variation,
	body.single-product div.product .woocommerce-variation-price {
		box-sizing: border-box !important;
		clear: both !important;
		float: none !important;
		height: auto !important;
		min-height: 0 !important;
		position: static !important;
		transform: none !important;
		width: 100% !important;
	}

	body.single-product div.product .woocommerce-variation-price {
		margin: 0 0 10px !important;
	}

	body.single-product div.product .woocommerce-variation-price .price {
		align-items: baseline !important;
		color: #117dad !important;
		display: inline-flex !important;
		flex-wrap: wrap !important;
		font-size: 20px !important;
		font-weight: 750 !important;
		gap: 10px !important;
		justify-content: flex-start !important;
		line-height: 1.35 !important;
		margin: 0 !important;
		padding: 0 !important;
		width: auto !important;
	}

	body.single-product div.product .summary.entry-summary .price del,
	body.single-product div.product .summary.entry-summary .price del .woocommerce-Price-amount {
		color: #758797 !important;
		font-weight: 500 !important;
		opacity: 1 !important;
	}

	body.single-product div.product .summary.entry-summary .price ins,
	body.single-product div.product .summary.entry-summary .price ins .woocommerce-Price-amount,
	body.single-product div.product .summary.entry-summary .price > .woocommerce-Price-amount {
		color: #117dad !important;
		font-weight: 800 !important;
		text-decoration: none !important;
	}

	body.single-product div.product .summary.entry-summary .price *,
	body.single-product div.product .summary.entry-summary .price .woocommerce-Price-amount {
		float: none !important;
		height: auto !important;
		inset: auto !important;
		line-height: inherit !important;
		position: static !important;
		transform: none !important;
		vertical-align: baseline !important;
	}

	body.single-product div.product .woocommerce-variation-availability,
	body.single-product div.product .woocommerce-variation-availability p,
	body.single-product div.product p.stock {
		color: #9a5a12 !important;
		font-size: 13px !important;
		font-weight: 650 !important;
		line-height: 1.45 !important;
		margin: 0 0 8px !important;
	}

	body.single-product div.product form.cart .woocommerce-variation-add-to-cart,
	body.single-product div.product form.cart:not(.variations_form) {
		align-items: stretch !important;
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
		margin-bottom: 18px !important;
	}

	body.single-product div.product form.cart .quantity {
		float: none !important;
		margin: 0 !important;
	}

	body.single-product div.product form.cart .quantity .qty {
		border: 1px solid #aebdca !important;
		border-radius: 7px !important;
		box-shadow: none !important;
		color: #17324a !important;
		height: 44px !important;
		width: 58px !important;
	}

	body.single-product div.product form.cart .button,
	body.single-product div.product .summary.entry-summary .single_add_to_cart_button {
		background: #117dad !important;
		border: 0 !important;
		border-radius: 7px !important;
		box-shadow: none !important;
		color: #fff !important;
		font-size: 14px !important;
		font-weight: 750 !important;
		line-height: 1.2 !important;
		min-height: 44px !important;
		padding: 0 20px !important;
		text-shadow: none !important;
	}

	body.single-product div.product form.cart .button:hover,
	body.single-product div.product form.cart .button:focus-visible {
		background: #0a638d !important;
	}

	body.single-product div.product form.cart .button.disabled,
	body.single-product div.product form.cart .button:disabled,
	body.single-product div.product form.cart .button[disabled] {
		background: #8b9ca9 !important;
		color: #fff !important;
		cursor: not-allowed !important;
		opacity: 1 !important;
	}

	body.single-product div.product .summary.entry-summary .ep-product-research-auto {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
		margin: 4px 0 16px !important;
		padding: 0 !important;
		width: 100% !important;
	}

	body.single-product div.product .summary.entry-summary .ep-product-research-auto > *,
	body.single-product div.product .summary.entry-summary .ep-research-card,
	body.single-product div.product .summary.entry-summary .ep-research-card-body,
	body.single-product div.product .summary.entry-summary .ep-research-card-summary,
	body.single-product div.product .summary.entry-summary .ep-research-specifications,
	body.single-product div.product .summary.entry-summary .ep-research-documents,
	body.single-product div.product .summary.entry-summary .ep-research-document-links,
	body.single-product div.product .summary.entry-summary .ep-ruo-notice {
		box-sizing: border-box !important;
		clear: both !important;
		float: none !important;
		height: auto !important;
		inset: auto !important;
		max-width: 100% !important;
		min-height: 0 !important;
		position: static !important;
		transform: none !important;
		width: 100% !important;
	}

	body.single-product div.product .summary.entry-summary .ep-research-card {
		background: #f7fafc !important;
		border: 1px solid #d6e1ea !important;
		border-radius: 10px !important;
		display: block !important;
		margin: 0 !important;
		overflow: hidden !important;
	}

	body.single-product div.product .summary.entry-summary .ep-research-card-summary {
		display: flex !important;
		font-size: 18px !important;
		line-height: 1.3 !important;
		margin: 0 !important;
		padding: 16px 18px !important;
	}

	body.single-product div.product .summary.entry-summary .ep-research-card-body {
		display: block !important;
		padding: 0 18px 18px !important;
	}

	body.single-product div.product .summary.entry-summary .ep-research-card:not([open]) .ep-research-card-body {
		display: none !important;
	}

	body.single-product div.product .summary.entry-summary .ep-research-specification-row,
	body.single-product div.product .summary.entry-summary .ep-research-specification-row dt,
	body.single-product div.product .summary.entry-summary .ep-research-specification-row dd {
		line-height: 1.4 !important;
	}

	body.single-product div.product .summary.entry-summary .ep-research-document-links {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 10px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.single-product div.product .summary.entry-summary .ep-ruo-notice {
		display: block !important;
		margin: 0 !important;
	}

	body.single-product div.product.ep-research-gallery-layout-ready
		.woocommerce-product-gallery
		.ep-research-gallery-specifications {
		box-sizing: border-box !important;
		clear: both !important;
		display: block !important;
		margin-top: 18px;
		margin-right: 0 !important;
		margin-bottom: 0 !important;
		margin-left: 0 !important;
		max-width: none !important;
		padding: 0 !important;
		width: 100% !important;
	}

	body.single-product div.product.ep-research-gallery-layout-ready
		.woocommerce-product-gallery
		.ep-research-gallery-specifications
		.ep-research-gallery-specifications-card {
		background: #f7fafc !important;
		border: 1px solid #d6e1ea !important;
		border-radius: 10px !important;
		box-sizing: border-box !important;
		display: block !important;
		margin: 0 !important;
		overflow: hidden !important;
		width: 100% !important;
	}

	body.single-product div.product.ep-research-gallery-layout-ready
		.summary.entry-summary
		.ep-product-research-auto
		> .ep-research-specifications {
		display: none !important;
	}

	body.single-product div.product .summary.entry-summary .product_meta {
		border-top: 1px solid #dce5eb !important;
		box-sizing: border-box !important;
		color: #5c7181 !important;
		display: block !important;
		font-size: 13px !important;
		line-height: 1.65 !important;
		margin: 12px 0 0 !important;
		padding: 14px 0 0 !important;
		width: 100% !important;
	}

	body.single-product div.product .summary.entry-summary .product_meta *,
	body.single-product div.product .summary.entry-summary .product_meta a {
		float: none !important;
		height: auto !important;
		line-height: inherit !important;
		position: static !important;
		transform: none !important;
	}

	body.single-product div.product .summary.entry-summary .product_meta a {
		color: #117dad !important;
	}

	body.single-product div.product span.onsale {
		align-items: center !important;
		background: #117dad !important;
		border: 3px solid #fff !important;
		border-radius: 999px !important;
		box-shadow: 0 4px 12px rgba(16, 47, 75, 0.16) !important;
		color: #fff !important;
		display: inline-flex !important;
		font-size: 12px !important;
		font-weight: 800 !important;
		height: 48px !important;
		justify-content: center !important;
		line-height: 1 !important;
		min-height: 0 !important;
		min-width: 48px !important;
		padding: 0 8px !important;
	}

	/* Product tabs and long-form information. */
	body.single-product div.product .woocommerce-tabs {
		box-sizing: border-box !important;
		clear: both !important;
		float: none !important;
		margin: 24px 0 0 !important;
		padding: 0 !important;
		position: static !important;
		transform: none !important;
		width: 100% !important;
	}

	body.single-product div.product .woocommerce-tabs ul.tabs {
		align-items: flex-end !important;
		border-bottom: 1px solid #d7e2ea !important;
		display: flex !important;
		gap: 4px !important;
		line-height: 1.4 !important;
		list-style: none !important;
		margin: 0 !important;
		overflow: visible !important;
		padding: 0 !important;
	}

	body.single-product div.product .woocommerce-tabs ul.tabs::before,
	body.single-product div.product .woocommerce-tabs ul.tabs::after,
	body.single-product div.product .woocommerce-tabs ul.tabs li::before,
	body.single-product div.product .woocommerce-tabs ul.tabs li::after {
		display: none !important;
	}

	body.single-product div.product .woocommerce-tabs ul.tabs li {
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		display: block !important;
		float: none !important;
		line-height: 1.4 !important;
		margin: 0 !important;
		padding: 0 !important;
		position: static !important;
	}

	body.single-product div.product .woocommerce-tabs ul.tabs li a {
		border-bottom: 3px solid transparent !important;
		color: #617487 !important;
		display: block !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		line-height: 1.4 !important;
		margin: 0 !important;
		padding: 12px 16px 10px !important;
		text-decoration: none !important;
	}

	body.single-product div.product .woocommerce-tabs ul.tabs li.active a {
		border-bottom-color: #117dad !important;
		color: #102f4b !important;
	}

	body.single-product div.product .woocommerce-tabs .panel {
		box-sizing: border-box !important;
		clear: both !important;
		color: #29445a !important;
		float: none !important;
		font-size: 15px !important;
		line-height: 1.7 !important;
		margin: 0 !important;
		padding: 24px 2px 12px !important;
		position: static !important;
		transform: none !important;
		width: 100% !important;
	}

	body.single-product div.product .woocommerce-tabs .panel > *,
	body.single-product div.product .woocommerce-tabs .panel p,
	body.single-product div.product .woocommerce-tabs .panel li,
	body.single-product div.product .woocommerce-tabs .panel strong {
		font-size: inherit !important;
		line-height: inherit !important;
		position: static !important;
		transform: none !important;
	}

	body.single-product div.product .woocommerce-tabs .panel h2 {
		color: #102f4b !important;
		font-size: 30px !important;
		font-weight: 750 !important;
		letter-spacing: -0.015em !important;
		line-height: 1.2 !important;
		margin: 0 0 16px !important;
		padding: 0 !important;
	}

	body.single-product div.product .woocommerce-tabs .panel p {
		margin: 0 0 14px !important;
	}

	body.single-product div.product table.woocommerce-product-attributes {
		border: 1px solid #d7e2ea !important;
		border-collapse: separate !important;
		border-radius: 8px !important;
		border-spacing: 0 !important;
		overflow: hidden !important;
		width: 100% !important;
	}

	body.single-product div.product table.woocommerce-product-attributes th,
	body.single-product div.product table.woocommerce-product-attributes td {
		border: 0 !important;
		border-bottom: 1px solid #e2e9ee !important;
		font-size: 14px !important;
		line-height: 1.5 !important;
		padding: 12px 14px !important;
		text-align: left !important;
	}

	body.single-product div.product table.woocommerce-product-attributes th {
		background: #f3f7fa !important;
		color: #27465f !important;
		font-weight: 700 !important;
		width: 190px !important;
	}

	body.single-product div.product table.woocommerce-product-attributes tr:last-child th,
	body.single-product div.product table.woocommerce-product-attributes tr:last-child td {
		border-bottom: 0 !important;
	}

	/* Related items use real cards instead of the theme's compressed loop. */
	body.single-product div.product .related.products,
	body.single-product div.product .upsells.products {
		box-sizing: border-box !important;
		clear: both !important;
		float: none !important;
		margin: 34px 0 8px !important;
		padding: 0 !important;
		position: static !important;
		transform: none !important;
		width: 100% !important;
	}

	body.single-product div.product .related.products > h2,
	body.single-product div.product .upsells.products > h2 {
		color: #102f4b !important;
		font-size: 30px !important;
		font-weight: 750 !important;
		letter-spacing: -0.015em !important;
		line-height: 1.2 !important;
		margin: 0 0 18px !important;
		padding: 0 !important;
	}

	body.single-product div.product .related.products ul.products,
	body.single-product div.product .upsells.products ul.products {
		align-items: stretch !important;
		display: grid !important;
		gap: 22px !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
	}

	body.single-product div.product .related.products ul.products::before,
	body.single-product div.product .related.products ul.products::after,
	body.single-product div.product .upsells.products ul.products::before,
	body.single-product div.product .upsells.products ul.products::after {
		display: none !important;
	}

	body.single-product div.product .related.products ul.products li.product,
	body.single-product div.product .upsells.products ul.products li.product {
		align-self: stretch !important;
		background: #fff !important;
		border: 1px solid #e0e7ec !important;
		border-radius: 10px !important;
		box-shadow: 0 5px 18px rgba(16, 47, 75, 0.06) !important;
		box-sizing: border-box !important;
		display: flex !important;
		float: none !important;
		flex-direction: column !important;
		height: 100% !important;
		margin: 0 !important;
		min-width: 0 !important;
		overflow: hidden !important;
		padding: 0 0 16px !important;
		position: relative !important;
		transform: none !important;
		width: auto !important;
	}

	body.single-product div.product .related.products li.product a.woocommerce-LoopProduct-link,
	body.single-product div.product .upsells.products li.product a.woocommerce-LoopProduct-link {
		display: flex !important;
		flex: 1 1 auto !important;
		flex-direction: column !important;
		min-height: 0 !important;
		text-decoration: none !important;
		width: 100% !important;
	}

	body.single-product div.product .related.products li.product img,
	body.single-product div.product .upsells.products li.product img {
		aspect-ratio: 1 / 1 !important;
		background: #f5f8f9 !important;
		display: block !important;
		height: auto !important;
		margin: 0 0 14px !important;
		object-fit: contain !important;
		width: 100% !important;
	}

	body.single-product div.product .related.products li.product .woocommerce-loop-product__title,
	body.single-product div.product .upsells.products li.product .woocommerce-loop-product__title {
		color: #17324a !important;
		font-size: 15px !important;
		font-weight: 750 !important;
		line-height: 1.35 !important;
		margin: 0 !important;
		padding: 0 14px 7px !important;
	}

	body.single-product div.product .related.products li.product .price,
	body.single-product div.product .upsells.products li.product .price {
		align-items: baseline !important;
		color: #117dad !important;
		display: inline-flex !important;
		flex-wrap: wrap !important;
		font-size: 14px !important;
		font-weight: 750 !important;
		gap: 7px !important;
		line-height: 1.4 !important;
		margin: auto 0 0 !important;
		padding: 0 14px 12px !important;
	}

	body.single-product div.product .related.products li.product .price del,
	body.single-product div.product .upsells.products li.product .price del {
		color: #7b8b97 !important;
		opacity: 1 !important;
	}

	body.single-product div.product .related.products li.product .price ins,
	body.single-product div.product .upsells.products li.product .price ins {
		color: #117dad !important;
		font-weight: 800 !important;
		text-decoration: none !important;
	}

	body.single-product div.product .related.products li.product .button,
	body.single-product div.product .upsells.products li.product .button {
		align-items: center !important;
		align-self: stretch !important;
		background: #e9f4f8 !important;
		border: 0 !important;
		border-radius: 6px !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
		color: #0a638d !important;
		display: flex !important;
		font-size: 13px !important;
		font-weight: 750 !important;
		line-height: 1.2 !important;
		justify-content: center !important;
		margin: 0 14px !important;
		min-height: 38px !important;
		padding: 11px 14px !important;
		text-decoration: none !important;
		width: calc(100% - 28px) !important;
	}

	body.single-product div.product .related.products li.product .button:hover,
	body.single-product div.product .upsells.products li.product .button:hover {
		background: #117dad !important;
		color: #fff !important;
	}

	body.single-product div.product .related.products li.product .onsale,
	body.single-product div.product .upsells.products li.product .onsale {
		height: 44px !important;
		left: auto !important;
		min-width: 44px !important;
		right: 10px !important;
		top: 10px !important;
	}
}

/* Mobile keeps the approved stacked product layout and responsive research cards. */
@media (max-width: 767px) {
	body.single-product main.site-main {
		box-sizing: border-box;
		margin-left: auto;
		margin-right: auto;
		width: calc(100% - 24px);
	}

	body.single-product div.product .product_title.entry-title {
		color: #102f4b !important;
		font-size: 30px !important;
		letter-spacing: -0.015em !important;
		line-height: 1.18 !important;
		margin-bottom: 10px !important;
	}

	body.single-product div.product .summary > p.price,
	body.single-product div.product .summary > span.price,
	body.single-product div.product .woocommerce-variation-price .price {
		align-items: baseline !important;
		color: #117dad !important;
		display: inline-flex !important;
		flex-wrap: wrap !important;
		font-size: 18px !important;
		font-weight: 750 !important;
		gap: 8px !important;
		justify-content: flex-start !important;
		line-height: 1.4 !important;
		width: auto !important;
	}

	body.single-product div.product .price del,
	body.single-product div.product .price del .woocommerce-Price-amount {
		color: #758797 !important;
		opacity: 1 !important;
	}

	body.single-product div.product .price ins,
	body.single-product div.product .price ins .woocommerce-Price-amount,
	body.single-product div.product .price > .woocommerce-Price-amount {
		color: #117dad !important;
		font-weight: 800 !important;
		text-decoration: none !important;
	}

	body.single-product div.product span.onsale {
		background: #117dad !important;
		color: #fff !important;
	}

	body.single-product div.product form.variations_form table.variations {
		background: #f6f9fb !important;
		border: 1px solid #dce6ed !important;
		border-radius: 9px !important;
		box-sizing: border-box !important;
		padding: 12px !important;
	}

	body.single-product div.product form.variations_form table.variations label {
		color: #27465f !important;
		font-weight: 700 !important;
	}

	body.single-product div.product form.variations_form table.variations select {
		background-color: #fff !important;
		border: 1px solid #aebdca !important;
		border-radius: 7px !important;
		box-shadow: none !important;
		color: #17324a !important;
	}

	body.single-product div.product form.cart .button,
	body.single-product div.product .summary.entry-summary .single_add_to_cart_button {
		background: #117dad !important;
		border-radius: 7px !important;
		color: #fff !important;
	}

	body.single-product div.product form.cart .button.disabled,
	body.single-product div.product form.cart .button:disabled,
	body.single-product div.product form.cart .button[disabled] {
		background: #8b9ca9 !important;
		color: #fff !important;
		opacity: 1 !important;
	}

	.ep-product-research-auto {
		gap: 10px;
	}

	.ep-research-card,
	.ep-research-specifications,
	.ep-research-documents {
		margin-bottom: 12px;
	}

	.ep-product-research-auto .ep-research-card,
	.ep-product-research-auto .ep-research-specifications,
	.ep-product-research-auto .ep-research-documents {
		margin-bottom: 0;
	}

	.ep-research-card-summary {
		font-size: 17px;
		padding: 16px 14px;
	}

	.ep-research-coa-summary > .ep-research-card-summary {
		align-items: flex-start;
	}

	.ep-research-card-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}

	.ep-research-testing-method-badge {
		font-size: 10px;
		max-width: 100%;
		white-space: normal;
	}

	.ep-research-card-body {
		padding: 0 14px 15px;
	}

	.ep-research-specification-row {
		gap: 3px;
		grid-template-columns: 1fr;
		padding: 10px 0;
	}

	.ep-research-coa-results .ep-research-specification-row {
		grid-template-columns: 1fr;
	}

	.ep-research-document-links {
		flex-direction: column;
	}

	.ep-research-document-link {
		width: 100%;
	}

	body.single-product div.product .woocommerce-tabs {
		clear: both !important;
		margin-top: 28px !important;
		width: 100% !important;
	}

	body.single-product div.product .woocommerce-tabs ul.tabs {
		border-bottom: 1px solid #d7e2ea !important;
		display: flex !important;
		gap: 2px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.single-product div.product .woocommerce-tabs ul.tabs::before,
	body.single-product div.product .woocommerce-tabs ul.tabs::after,
	body.single-product div.product .woocommerce-tabs ul.tabs li::before,
	body.single-product div.product .woocommerce-tabs ul.tabs li::after {
		display: none !important;
	}

	body.single-product div.product .woocommerce-tabs ul.tabs li {
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.single-product div.product .woocommerce-tabs ul.tabs li a {
		border-bottom: 3px solid transparent !important;
		color: #617487 !important;
		font-size: 14px !important;
		line-height: 1.35 !important;
		padding: 11px 10px 9px !important;
	}

	body.single-product div.product .woocommerce-tabs ul.tabs li.active a {
		border-bottom-color: #117dad !important;
		color: #102f4b !important;
	}

	body.single-product div.product .woocommerce-tabs .panel {
		color: #29445a !important;
		font-size: 15px !important;
		line-height: 1.7 !important;
		margin: 0 !important;
		padding: 22px 0 6px !important;
	}

	body.single-product div.product .woocommerce-tabs .panel h2 {
		color: #102f4b !important;
		font-size: 26px !important;
		line-height: 1.2 !important;
		margin: 0 0 14px !important;
	}

	body.single-product div.product .woocommerce-tabs .panel p,
	body.single-product div.product .woocommerce-tabs .panel li,
	body.single-product div.product .woocommerce-tabs .panel strong {
		font-size: inherit !important;
		line-height: inherit !important;
	}

	body.single-product div.product table.woocommerce-product-attributes th,
	body.single-product div.product table.woocommerce-product-attributes td {
		display: block !important;
		font-size: 13px !important;
		line-height: 1.5 !important;
		padding: 9px !important;
		width: 100% !important;
	}

	body.single-product div.product .related.products,
	body.single-product div.product .upsells.products {
		clear: both !important;
		margin: 30px 0 0 !important;
		width: 100% !important;
	}

	body.single-product div.product .related.products > h2,
	body.single-product div.product .upsells.products > h2 {
		color: #102f4b !important;
		font-size: 26px !important;
		line-height: 1.2 !important;
		margin: 0 0 15px !important;
	}

	body.single-product div.product .related.products ul.products,
	body.single-product div.product .upsells.products ul.products {
		align-items: stretch !important;
		display: grid !important;
		gap: 14px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.single-product div.product .related.products ul.products::before,
	body.single-product div.product .related.products ul.products::after,
	body.single-product div.product .upsells.products ul.products::before,
	body.single-product div.product .upsells.products ul.products::after {
		display: none !important;
	}

	body.single-product div.product .related.products ul.products li.product,
	body.single-product div.product .upsells.products ul.products li.product {
		align-self: stretch !important;
		background: #fff !important;
		border: 1px solid #e0e7ec !important;
		border-radius: 9px !important;
		box-sizing: border-box !important;
		display: flex !important;
		float: none !important;
		flex-direction: column !important;
		height: 100% !important;
		margin: 0 !important;
		min-width: 0 !important;
		overflow: hidden !important;
		padding: 0 0 12px !important;
		position: relative !important;
		width: auto !important;
	}

	body.single-product div.product .related.products li.product a.woocommerce-LoopProduct-link,
	body.single-product div.product .upsells.products li.product a.woocommerce-LoopProduct-link {
		display: flex !important;
		flex: 1 1 auto !important;
		flex-direction: column !important;
		min-height: 0 !important;
		text-decoration: none !important;
		width: 100% !important;
	}

	body.single-product div.product .related.products li.product img,
	body.single-product div.product .upsells.products li.product img {
		aspect-ratio: 1 / 1 !important;
		background: #f5f8f9 !important;
		display: block !important;
		margin: 0 0 10px !important;
		object-fit: contain !important;
		width: 100% !important;
	}

	body.single-product div.product .related.products li.product .woocommerce-loop-product__title,
	body.single-product div.product .upsells.products li.product .woocommerce-loop-product__title {
		color: #17324a !important;
		font-size: 14px !important;
		font-weight: 750 !important;
		line-height: 1.35 !important;
		margin: 0 !important;
		padding: 0 10px 6px !important;
	}

	body.single-product div.product .related.products li.product .price,
	body.single-product div.product .upsells.products li.product .price {
		align-items: baseline !important;
		color: #117dad !important;
		display: inline-flex !important;
		flex-wrap: wrap !important;
		font-size: 13px !important;
		font-weight: 750 !important;
		gap: 5px !important;
		line-height: 1.4 !important;
		margin: auto 0 0 !important;
		padding: 0 10px 10px !important;
	}

	body.single-product div.product .related.products li.product .price del,
	body.single-product div.product .upsells.products li.product .price del {
		color: #7b8b97 !important;
		opacity: 1 !important;
	}

	body.single-product div.product .related.products li.product .price ins,
	body.single-product div.product .upsells.products li.product .price ins {
		color: #117dad !important;
		font-weight: 800 !important;
		text-decoration: none !important;
	}

	body.single-product div.product .related.products li.product .button,
	body.single-product div.product .upsells.products li.product .button {
		align-items: center !important;
		align-self: stretch !important;
		background: #e9f4f8 !important;
		border-radius: 6px !important;
		box-sizing: border-box !important;
		color: #0a638d !important;
		display: flex !important;
		font-size: 12px !important;
		font-weight: 750 !important;
		line-height: 1.2 !important;
		justify-content: center !important;
		margin: 0 10px !important;
		min-height: 36px !important;
		padding: 10px 12px !important;
		width: calc(100% - 20px) !important;
	}

	body.single-product div.product .related.products li.product .onsale,
	body.single-product div.product .upsells.products li.product .onsale {
		background: #117dad !important;
		color: #fff !important;
		left: auto !important;
		right: 7px !important;
		top: 7px !important;
	}
}

body.single-product div.product .related.products .ep-related-products-view-all {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	margin: 22px 0 0;
	padding: 0 0 18px;
	width: 100%;
}

body.single-product div.product .related.products .ep-related-products-view-all__link,
body.single-product div.product .related.products .ep-related-products-view-all__link:visited {
	align-items: center;
	background: #102f4b !important;
	border: 1px solid #102f4b !important;
	border-radius: 7px;
	box-shadow: none !important;
	box-sizing: border-box;
	color: #fff !important;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	line-height: 1.2;
	max-width: 100%;
	min-height: 44px;
	min-width: 176px;
	padding: 12px 26px;
	text-align: center;
	text-decoration: none !important;
}

body.single-product div.product .related.products .ep-related-products-view-all__link:hover,
body.single-product div.product .related.products .ep-related-products-view-all__link:focus-visible {
	background: #117dad !important;
	border-color: #117dad !important;
	color: #fff !important;
}

body.single-product div.product .related.products .ep-related-products-view-all__link:focus-visible {
	outline: 3px solid rgba(17, 125, 173, 0.35);
	outline-offset: 3px;
}

@media (max-width: 767px) {
	body.single-product div.product .related.products .ep-related-products-view-all {
		margin-top: 18px;
		padding-bottom: 20px;
	}

	body.single-product div.product .related.products .ep-related-products-view-all__link {
		width: min(100%, 220px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ep-research-card-icon {
		transition: none;
	}
}
