/* Clip the WooCommerce zoom/carousel at its source without changing the page scroll container. */
html.arpc-page-has-table body.single-product div.product[id^="product-"],
html:has(.arpc-wrap) body.single-product div.product[id^="product-"] {
	max-width: 100%;
	overflow-x: clip;
}

html.arpc-page-has-table .woocommerce-product-gallery,
html:has(.arpc-wrap) .woocommerce-product-gallery {
	max-width: 100%;
	overflow-x: clip;
}

.arpc-wrap {
	--arpc-primary: #07458f;
	--arpc-primary-dark: #06336d;
	--arpc-primary-soft: #edf5ff;
	--arpc-accent: #1f7ed0;
	--arpc-text: #253449;
	--arpc-muted: #667085;
	--arpc-border: #dce6f2;
	--arpc-row: #f6f8fb;
	--arpc-label: #eef3f8;
	--arpc-white: #fff;
	--arpc-radius: 6px;
	box-sizing: border-box;
	clear: both;
	display: block;
	width: 100%;
	max-width: 100%;
	max-inline-size: 100%;
	min-width: 0;
	overflow: hidden;
	contain: inline-size;
	margin: 36px 0;
	color: var(--arpc-text);
	font-size: 14px;
	isolation: isolate;
}

.arpc-wrap *,
.arpc-wrap *::before,
.arpc-wrap *::after {
	box-sizing: border-box;
}

.arpc-title {
	position: relative;
	margin: 0 0 16px;
	padding-inline-start: 14px;
	color: var(--arpc-primary-dark);
	font-size: 22px;
	font-weight: 800;
	line-height: 1.5;
	text-align: start;
}

.arpc-title::before {
	position: absolute;
	inset-block: 7px;
	inset-inline-start: 0;
	width: 4px;
	border-radius: 999px;
	background: var(--arpc-accent);
	content: "";
}

.arpc-scroll {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	max-inline-size: 100%;
	overflow-x: auto;
	overflow-y: visible;
	contain: inline-size;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-x pan-y;
	border: 1px solid var(--arpc-border);
	border-radius: 8px;
	background: var(--arpc-white);
	box-shadow: 0 8px 24px rgba(18, 44, 79, 0.06);
}

.arpc-scroll:focus {
	outline: 2px solid rgba(31, 126, 208, 0.24);
	outline-offset: 3px;
}

.arpc-table {
	width: max(100%, calc(170px + (var(--arpc-product-count, 4) * 172px)));
	min-width: calc(170px + (var(--arpc-product-count, 4) * 172px));
	max-width: none;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	background: var(--arpc-white);
}

.arpc-table th,
.arpc-table td {
	min-width: 132px;
	padding: 14px 12px;
	border: 0;
	border-inline-start: 1px solid var(--arpc-border);
	border-block-end: 1px solid var(--arpc-border);
	vertical-align: middle;
	text-align: center;
	font-size: 13.5px;
	line-height: 1.85;
	word-break: normal;
	overflow-wrap: anywhere;
}

.arpc-table tr:last-child th,
.arpc-table tr:last-child td {
	border-block-end: 0;
}

.arpc-table th:first-child,
.arpc-table td:first-child {
	border-inline-start: 0;
}

.arpc-feature-heading,
.arpc-table tbody th {
	width: 170px;
	min-width: 170px;
	background: var(--arpc-label);
	color: var(--arpc-text);
	font-weight: 800;
}

.arpc-product-heading {
	background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}

.arpc-product-card {
	display: flex;
	min-height: 214px;
	align-items: center;
	justify-content: flex-end;
	flex-direction: column;
	gap: 10px;
}

.arpc-product-image {
	display: flex;
	width: 100%;
	min-height: 92px;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.arpc-product-image img {
	width: auto;
	max-width: 142px;
	max-height: 96px;
	object-fit: contain;
}

.arpc-product-title {
	display: block;
	min-height: 42px;
	color: var(--arpc-primary-dark);
	font-weight: 800;
	line-height: 1.6;
	text-decoration: none;
	overflow-wrap: anywhere;
	word-break: normal;
}

.arpc-product-title:hover {
	color: var(--arpc-accent);
}

.arpc-product-price {
	min-height: 24px;
	color: var(--arpc-text);
	font-weight: 800;
}

.arpc-current-pill,
.arpc-view-button {
	display: inline-flex;
	min-width: 108px;
	min-height: 36px;
	align-items: center;
	justify-content: center;
	padding: 7px 16px;
	border-radius: var(--arpc-radius);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.45;
	text-decoration: none;
	white-space: nowrap;
}

.arpc-current-pill {
	border: 1px solid #b7cce6;
	color: var(--arpc-primary-dark);
	background: var(--arpc-white);
}

.arpc-view-button {
	border: 1px solid var(--arpc-primary);
	color: var(--arpc-white);
	background: var(--arpc-primary);
	box-shadow: 0 8px 18px rgba(7, 69, 143, 0.18);
}

.arpc-view-button:hover {
	color: var(--arpc-white);
	background: var(--arpc-primary-dark);
}

.arpc-table tbody tr:nth-child(odd) td,
.arpc-table tbody tr:nth-child(odd) th {
	background: var(--arpc-row);
}

.arpc-table tbody tr:nth-child(even) td,
.arpc-table tbody tr:nth-child(even) th {
	background: var(--arpc-white);
}

.arpc-table tbody td {
	color: var(--arpc-muted);
}

.arpc-cell-value {
	display: -webkit-box;
	max-width: 100%;
	max-height: 7.4em;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	line-clamp: 4;
}

.arpc-cell-value-truncated {
	cursor: help;
}

.arpc-is-collapsible:not(.arpc-expanded) .arpc-extra-row {
	display: none;
}

.arpc-toggle {
	display: block;
	margin: 16px auto 0;
	padding: 9px 20px;
	border: 1px solid var(--arpc-primary);
	border-radius: var(--arpc-radius);
	color: var(--arpc-primary);
	background: var(--arpc-white);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.45;
	cursor: pointer;
}

.arpc-toggle:hover,
.arpc-toggle:focus {
	color: var(--arpc-white);
	background: var(--arpc-primary);
}

@media (max-width: 768px) {
	.arpc-wrap {
		width: 100%;
		max-width: 100%;
		max-inline-size: 100%;
		overflow: hidden;
		margin: 26px auto;
		font-size: 13px;
	}

	.arpc-title {
		font-size: 18px;
	}

	.arpc-scroll {
		width: 100%;
		max-width: 100%;
		max-inline-size: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		border-radius: 6px;
		-webkit-overflow-scrolling: touch;
	}

	.arpc-table {
		width: max(100%, calc(116px + (var(--arpc-product-count, 4) * 128px)));
		min-width: calc(116px + (var(--arpc-product-count, 4) * 128px));
		table-layout: fixed;
	}

	.arpc-table th,
	.arpc-table td {
		min-width: 112px;
		padding: 11px 8px;
		font-size: 12px;
		line-height: 1.65;
		overflow: hidden;
	}

	.arpc-feature-heading,
	.arpc-table tbody th {
		width: 116px;
		min-width: 116px;
	}

	.arpc-cell-value {
		max-height: 4.95em;
		-webkit-line-clamp: 3;
		line-clamp: 3;
	}

	.arpc-product-card {
		min-height: 168px;
		gap: 7px;
	}

	.arpc-product-image {
		min-height: 58px;
	}

	.arpc-product-image img {
		max-width: 86px;
		max-height: 54px;
	}

	.arpc-product-title {
		display: block;
		min-height: 0;
		font-size: 12px;
		line-height: 1.5;
		overflow: visible;
		text-overflow: clip;
		white-space: normal;
	}

	.arpc-product-price {
		min-height: 20px;
		font-size: 11.5px;
		line-height: 1.45;
	}

	.arpc-current-pill,
	.arpc-view-button {
		min-width: 82px;
		min-height: 31px;
		padding: 5px 9px;
		font-size: 11.5px;
		white-space: normal;
	}
}

@media (max-width: 480px) {
	.arpc-wrap {
		max-width: 100%;
		max-inline-size: 100%;
	}

	.arpc-table {
		width: max(100%, calc(104px + (var(--arpc-product-count, 4) * 128px)));
		min-width: calc(104px + (var(--arpc-product-count, 4) * 128px));
	}

	.arpc-table th,
	.arpc-table td {
		min-width: 100px;
		padding: 10px 7px;
		font-size: 11.5px;
	}

	.arpc-feature-heading,
	.arpc-table tbody th {
		width: 104px;
		min-width: 104px;
	}
}
@media (min-width: 769px) {
	.arpc-wrap {
		width: calc(100% - 40px);
		max-width: 1140px;
		margin-inline: auto;
	}
}
/* Fix product title overflow on laptop/smaller desktop widths */
.arpc-product-title {
	display: -webkit-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	white-space: normal !important;
	word-break: break-word;
	overflow-wrap: anywhere;
	text-align: center;
	direction: rtl;
	unicode-bidi: plaintext;
}

/* Slightly more room for product header on laptop widths */
@media (min-width: 769px) and (max-width: 1366px) {
	.arpc-product-card {
		min-height: 226px;
		gap: 8px;
	}

	.arpc-product-title {
		font-size: 12.5px;
		line-height: 1.55;
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}
}