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

.arpc {
	--arpc-bg: #fbf6ee;
	--arpc-bg-2: #fffdf9;
	--arpc-card: rgba(255, 255, 255, 0.92);
	--arpc-card-solid: #ffffff;
	--arpc-cream: #f6efe3;
	--arpc-cream-2: #fcf8f0;
	--arpc-olive: #516384;
	--arpc-olive-deep: #405171;
	--arpc-olive-soft: #dfeaf8;
	--arpc-hover-blue: #dcf4f8;
	--arpc-hover-blue-strong: #a7dce6;
	--arpc-tab-blue: #dcf4f8;
	--arpc-tab-blue-border: rgba(81, 99, 132, 0.24);
	--arpc-blue: #516384;
	--arpc-blue-dark: #405171;
	--arpc-gold: #c7a55b;
	--arpc-gold-soft: #f2e5ca;
	--arpc-text: #242621;
	--arpc-muted: #767263;
	--arpc-soft-text: #a09a8b;
	--arpc-border: rgba(81, 99, 132, 0.15);
	--arpc-border-strong: rgba(81, 99, 132, 0.38);
	--arpc-shadow: 0 26px 70px rgba(64, 81, 113, 0.12);
	--arpc-shadow-soft: 0 14px 38px rgba(64, 81, 113, 0.08);
	--arpc-radius-xl: 8px;
	--arpc-radius-lg: 8px;
	--arpc-radius-md: 8px;
	--arpc-font-body: "Manrope", "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--arpc-font-title: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--cmsmasters-button-hover-colors-bg: #dcf4f8;
	--cmsmasters-button-hover-colors-color: var(--arpc-text);
	--cmsmasters-button-hover-colors-border: #a7dce6;
	--cmsmasters-button-normal-colors-bg: #ffffff;
	--cmsmasters-button-normal-colors-color: var(--arpc-text);
	--cmsmasters-button-normal-colors-border: rgba(81, 99, 132, 0.18);
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: none;
	margin: 0 auto;
	padding: clamp(34px, 5vw, 72px) clamp(16px, 3.4vw, 48px);
	font-family: var(--arpc-font-body);
	color: var(--arpc-text);
	background:
		radial-gradient(circle at 92% 0%, rgba(199, 165, 91, 0.18) 0 92px, transparent 93px),
		linear-gradient(180deg, #fffdfa 0%, var(--arpc-bg) 56%, #fffdf9 100%);
	overflow: hidden;
}

.arpc::before,
.arpc::after {
	content: "";
	position: absolute;
	z-index: -1;
	pointer-events: none;
	border-radius: 8px;
}

.arpc::before {
	width: 420px;
	height: 420px;
	top: -210px;
	right: -120px;
	background: rgba(199, 165, 91, 0.12);
}

.arpc::after {
	width: 340px;
	height: 340px;
	bottom: 8%;
	left: -190px;
	background: rgba(81, 99, 132, 0.08);
}

.arpc :where(h1, h2, h3, h4, h5, p, ul, ol, li, figure) {
	margin: 0;
	padding: 0;
}

.arpc :where(button, input, select, textarea, a) {
	font: inherit;
}

.arpc svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.75;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.arpc__canvas {
	width: min(100%, 1376px);
	margin: 0 auto;
}

.arpc__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(430px, 610px);
	gap: clamp(28px, 5vw, 82px);
	align-items: start;
	margin-bottom: clamp(28px, 4vw, 42px);
}

.arpc__title {
	font-family: var(--arpc-font-title);
	font-size: clamp(44px, 5.8vw, 68px);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 0.94;
	color: #20231f;
	margin: 0 0 16px;
}

.arpc__subtitle {
	max-width: 710px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.72;
	color: var(--arpc-muted);
}

.arpc__steps {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	padding-top: 2px;
}

.arpc__step {
	position: relative;
	display: grid;
	justify-items: center;
	gap: 12px;
	min-width: 0;
	color: #9a968a;
}

.arpc__step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 27px;
	left: calc(50% + 38px);
	width: calc(100% - 44px);
	height: 1px;
	background-image: linear-gradient(90deg, rgba(81, 99, 132, 0.36) 40%, transparent 40%);
	background-size: 8px 1px;
}

.arpc__step-icon {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border: 1px solid rgba(81, 99, 132, 0.18);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.78);
	color: #b0ab9e;
	box-shadow: 0 8px 22px rgba(64, 81, 113, 0.04);
}

.arpc__step-icon svg {
	width: 25px;
	height: 25px;
}

.arpc__step span:last-child {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

.arpc__step.is-current .arpc__step-icon,
.arpc__step.is-complete .arpc__step-icon {
	border-color: transparent;
	background: var(--arpc-olive);
	color: #fff;
	box-shadow: 0 16px 36px rgba(81, 99, 132, 0.22);
}

.arpc__step.is-current span:last-child,
.arpc__step.is-complete span:last-child {
	color: var(--arpc-olive-deep);
}

.arpc__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 380px);
	gap: 18px;
	align-items: start;
}

.arpc__main-card,
.arpc__summary-card,
.arpc__section-card,
.arpc__features {
	border: 1px solid rgba(81, 99, 132, 0.12);
	background: var(--arpc-card);
	box-shadow: var(--arpc-shadow-soft);
	backdrop-filter: blur(12px);
}

.arpc__main-card {
	border-radius: 8px;
	padding: clamp(24px, 3vw, 34px);
	min-width: 0;
}

.arpc__block-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 22px;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: -0.015em;
	color: var(--arpc-text);
}

.arpc__block-title small {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--arpc-gold);
}

.arpc__family-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 20px;
}

.arpc__family-card {
	position: relative;
	display: grid;
	justify-items: center;
	align-content: center;
	gap: 8px;
	min-width: 0;
	min-height: 112px;
	padding: 12px 6px;
	border: 1px solid rgba(81, 99, 132, 0.12);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.72);
	color: #6f6a5d;
	cursor: pointer;
	transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, color 0.22s ease;
}

.arpc__family-card:hover,
.arpc__family-card:focus-visible {
	transform: translateY(-2px);
	border-color: var(--arpc-hover-blue-strong);
	background: var(--arpc-hover-blue);
	box-shadow: 0 18px 30px rgba(72, 135, 148, 0.12);
	outline: none;
}

.arpc__family-card.is-active {
	border-color: var(--arpc-hover-blue-strong);
	background: linear-gradient(180deg, #f7fdfe 0%, var(--arpc-hover-blue) 100%);
	color: #20231f;
	box-shadow: 0 18px 32px rgba(72, 135, 148, 0.12);
}

.arpc__family-card:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.arpc__family-icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	color: currentColor;
}

.arpc__family-title {
	width: 100%;
	min-width: 0;
	min-height: 30px;
	overflow: hidden;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.22;
	text-align: center;
	word-break: normal;
	overflow-wrap: anywhere;
}

.arpc__chosen {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	margin-bottom: 24px;
	padding: 16px 18px;
	border: 1px solid var(--arpc-hover-blue-strong);
	border-radius: 8px;
	background: linear-gradient(90deg, #f7fdfe 0%, var(--arpc-hover-blue) 54%, #fbf8ee 100%);
	cursor: pointer;
	box-shadow: 0 14px 28px rgba(72, 135, 148, 0.10);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

.arpc__chosen:hover,
.arpc__chosen:focus-within {
	transform: translateY(-1px);
	border-color: #98dce7;
	background: linear-gradient(90deg, #f4fcfe 0%, #dcf4f8 58%, #fffaf0 100%);
	box-shadow: 0 18px 34px rgba(72, 135, 148, 0.15);
}

.arpc__chosen-copy {
	position: relative;
	display: block;
	min-width: 0;
}



.arpc__chosen-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 7px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #52606a;
}

.arpc__chosen-label::after {
	content: "падащо меню";
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	padding: 0 9px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.76);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #405171;
}

.arpc__chosen-description {
	display: block;
	margin-top: 3px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	color: #8c8678;
}

.arpc__category {
	display: block;
	width: 100%;
	min-height: 44px;
	padding: 0 48px 0 14px;
	border: 1px solid rgba(81, 99, 132, 0.22);
	border-radius: 8px;
	background-color: rgba(255, 255, 255, 0.86);
	background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 19l10 10 10-10' fill='none' stroke='%23405171' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 15px center;
	background-size: 18px 18px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.65), 0 8px 18px rgba(64, 81, 113, 0.05);
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.012em;
	color: var(--arpc-text);
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.arpc__category:hover,
.arpc__category:focus {
	border-color: #98dce7;
	background-color: #fff;
	box-shadow: 0 0 0 4px rgba(217, 243, 247, 0.75);
}


.arpc__toolbar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 270px);
	gap: 18px;
	align-items: start;
	margin-bottom: 24px;
}

.arpc__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	align-items: stretch;
	min-width: 0;
}

.arpc__group-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 116px;
	min-height: 44px;
	padding: 0 22px;
	border: 1px solid rgba(81, 99, 132, 0.14);
	border-right-width: 0;
	background: rgba(255, 255, 255, 0.82);
	color: #20231f;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.arpc__group-tab:first-child {
	border-radius: 8px;
}

.arpc__group-tab:last-child {
	border-right-width: 1px;
	border-radius: 8px;
}

.arpc__group-tab:only-child {
	border-radius: 8px;
	border-right-width: 1px;
}

.arpc__group-tab:hover,
.arpc__group-tab:focus-visible {
	background: var(--arpc-tab-blue);
	color: #20231f;
	border-color: var(--arpc-tab-blue-border);
	box-shadow: 0 10px 22px rgba(81, 99, 132, 0.12);
	outline: none;
}

.arpc__group-tab.is-active {
	border-color: var(--arpc-tab-blue-border);
	background: linear-gradient(180deg, #f6f9ff 0%, var(--arpc-tab-blue) 100%);
	color: #20231f;
	box-shadow: 0 12px 24px rgba(81, 99, 132, 0.13);
}

.arpc__group-tab em {
	display: inline-grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 8px;
	background: rgba(81, 99, 132, 0.08);
	font-style: normal;
	font-size: 11px;
	font-weight: 600;
}

.arpc__group-tab.is-active em {
	background: rgba(255, 255, 255, 0.72);
	color: #20231f;
}

.arpc__search-wrap {
	position: relative;
	display: block;
}

.arpc__search-wrap svg {
	position: absolute;
	top: 50%;
	right: 16px;
	width: 21px;
	height: 21px;
	transform: translateY(-50%);
	color: #706b60;
	pointer-events: none;
}

.arpc__search {
	width: 100%;
	min-height: 48px;
	padding: 0 48px 0 18px;
	border: 1px solid rgba(81, 99, 132, 0.13);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.84);
	box-shadow: none;
	outline: none;
	font-size: 14px;
	font-weight: 600;
	color: var(--arpc-text);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.arpc__search::placeholder {
	color: #a8a195;
}

.arpc__search:focus {
	border-color: #98dce7;
	box-shadow: 0 0 0 4px rgba(217, 243, 247, 0.75);
}

.arpc__services {
	min-height: 280px;
}

.arpc__service-section {
	display: block;
}

.arpc__visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

.arpc__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.arpc__item {
	position: relative;
	display: grid;
	grid-template-columns: 62px minmax(0, 1fr);
	gap: 16px;
	min-height: 118px;
	padding: 18px 42px 18px 18px;
	border: 1px solid rgba(81, 99, 132, 0.14);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 12px 24px rgba(64, 81, 113, 0.035);
	cursor: pointer;
	transition: transform 0.22s ease, border-color 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
}

.arpc__item:hover,
.arpc__item:focus-within {
	transform: translateY(-2px);
	border-color: var(--arpc-hover-blue-strong);
	background: var(--arpc-hover-blue);
	box-shadow: 0 20px 36px rgba(72, 135, 148, 0.12);
}

.arpc__item.is-selected {
	border-color: var(--arpc-hover-blue-strong);
	background: linear-gradient(145deg, #ffffff 0%, var(--arpc-hover-blue) 100%);
	box-shadow: inset 0 0 0 1px rgba(137, 207, 219, 0.62), 0 20px 34px rgba(72, 135, 148, 0.10);
}

.arpc__item[hidden] {
	display: none;
}

.arpc__checkbox {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	appearance: none;
	-webkit-appearance: none;
	width: 18px;
	height: 18px;
	margin: 0;
	border: 1px solid rgba(81, 99, 132, 0.2);
	border-radius: 8px;
	background: #fff;
	box-shadow: inset 0 0 0 2px #fff;
	cursor: pointer;
	transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.arpc__checkbox:checked {
	border-color: #9bdde8;
	background: var(--arpc-hover-blue);
	box-shadow: inset 0 0 0 4px var(--arpc-hover-blue);
}

.arpc__checkbox:checked::after {
	content: "";
	position: absolute;
	left: 4px;
	top: 1px;
	width: 6px;
	height: 10px;
	border: solid #20231f;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.arpc__checkbox:focus-visible {
	outline: 3px solid rgba(155, 221, 232, 0.7);
	outline-offset: 3px;
}

.arpc__item-icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	align-self: center;
	justify-self: center;
	margin-left: 4px;
	color: #8d8777;
}

.arpc__item-icon svg {
	width: 47px;
	height: 47px;
	stroke-width: 1.45;
}

.arpc__item.is-selected .arpc__item-icon {
	color: #405171;
}

.arpc__item-main {
	display: grid;
	gap: 7px;
	align-content: center;
	min-width: 0;
}

.arpc__item-name {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: #2f312c;
}

.arpc__item-sub {
	font-size: 11px;
	font-weight: 600;
	line-height: 1.45;
	color: #837e70;
}

.arpc__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
}

.arpc__price strong,
.arpc__quote {
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	color: #171914;
}

.arpc__duration {
	display: inline-flex;
	align-items: center;
	min-height: 21px;
	padding: 0 8px;
	border-radius: 8px;
	background: var(--arpc-olive-soft);
	font-size: 11px;
	font-weight: 600;
	color: var(--arpc-olive);
}

.arpc__item-info {
	position: absolute;
	right: 14px;
	bottom: 14px;
	display: grid;
	place-items: center;
	width: 19px;
	height: 19px;
	color: #aaa597;
}

.arpc__item-info svg {
	stroke-width: 2;
}

.arpc__vat-note {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
	font-size: 13px;
	font-weight: 600;
	color: #8a8478;
}

.arpc__vat-note svg {
	width: 18px;
	height: 18px;
	color: #9c9789;
}

.arpc__empty {
	margin-top: 18px;
	padding: 24px;
	border: 1px dashed rgba(81, 99, 132, 0.22);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.62);
	font-weight: 600;
	text-align: center;
	color: var(--arpc-muted);
}

.arpc__summary-wrap {
	position: sticky;
	top: 24px;
	min-width: 0;
}

.arpc__summary-card {
	border-radius: 8px;
	padding: 18px;
}

.arpc__summary-top {
	position: relative;
	overflow: hidden;
	min-height: 150px;
	padding: 22px 24px;
	border-radius: 8px;
	background:
		radial-gradient(circle at 85% 10%, rgba(255, 255, 255, 0.14) 0 68px, transparent 69px),
		linear-gradient(135deg, #516384 0%, #405171 100%);
	color: #fff;
}

.arpc__summary-label {
	margin-bottom: 12px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
}

.arpc__total {
	display: flex;
	align-items: baseline;
	gap: 5px;
	line-height: 1;
}

.arpc__total-number {
	font-family: var(--arpc-font-title);
	font-size: 63px;
	font-weight: 600;
	letter-spacing: -0.04em;
	font-variant-numeric: tabular-nums;
}

.arpc__total-currency {
	font-family: var(--arpc-font-title);
	font-size: 33px;
	font-weight: 600;
}

.arpc__selected-count {
	display: inline-flex;
	align-items: center;
	min-height: 31px;
	margin-top: 16px;
	padding: 0 15px;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.08);
	font-size: 14px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.9);
}

.arpc__vat-chip {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	margin: 18px 0;
	padding: 0 16px;
	border: 1px solid rgba(199, 165, 91, 0.18);
	border-radius: 8px;
	background: linear-gradient(180deg, #fff8ed 0%, #fbf1e3 100%);
	font-size: 14px;
	font-weight: 600;
	color: #9b7b3f;
}

.arpc__vat-chip svg {
	width: 20px;
	height: 20px;
}

.arpc__selected-box {
	padding: 18px;
	border: 1px solid rgba(81, 99, 132, 0.10);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.74);
}

.arpc__selected-heading {
	margin-bottom: 14px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: #9b9587;
}

.arpc__selected-list {
	display: grid;
	gap: 0;
}

.arpc__selected-item {
	display: grid;
	grid-template-columns: 8px minmax(0, 1fr) max-content 24px;
	gap: 8px;
	align-items: center;
	width: 100%;
	min-width: 0;
	min-height: 30px;
	overflow: hidden;
	font-size: 12px;
	font-weight: 600;
	color: #565348;
}

.arpc__selected-dot {
	width: 4px;
	height: 4px;
	border-radius: 8px;
	background: #405171;
}

.arpc__selected-name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.arpc__selected-price {
	font-weight: 600;
	color: #22241f;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.arpc__remove-selected {
	position: static !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	justify-self: end !important;
	width: 22px !important;
	min-width: 22px !important;
	max-width: 22px !important;
	height: 22px !important;
	min-height: 22px !important;
	max-height: 22px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #7a8498 !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	text-align: center !important;
	text-indent: 0 !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	text-transform: none !important;
	overflow: hidden !important;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transform: none !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.arpc__remove-selected::before,
.arpc__remove-selected::after {
	content: none !important;
	display: none !important;
}

.arpc__remove-selected:hover,
.arpc__remove-selected:focus-visible {
	background: #dcf4f8 !important;
	background-color: #dcf4f8 !important;
	background-image: none !important;
	color: var(--arpc-blue-dark) !important;
	box-shadow: none !important;
	outline: none !important;
	transform: none !important;
}

.arpc__selected-empty {
	padding: 18px 0 4px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.55;
	color: #928d80;
}

.arpc__actions {
	display: grid;
	gap: 12px;
	margin-top: 18px;
}

.arpc__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 50px;
	padding: 0 20px;
	border: 1px solid rgba(81, 99, 132, 0.12);
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	text-decoration: none !important;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	color: #817a6c;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.arpc__button svg {
	width: 19px;
	height: 19px;
}

.arpc__button:hover,
.arpc__button:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 14px 26px rgba(72, 135, 148, 0.10);
	outline: none;
}

.arpc__button:not(.arpc__button--primary):hover,
.arpc__button:not(.arpc__button--primary):focus-visible {
	border-color: var(--arpc-hover-blue-strong);
	background: var(--arpc-hover-blue);
	color: #20231f;
}

.arpc__button--primary {
	min-height: 58px;
	border-color: transparent;
	border-radius: 8px;
	background: linear-gradient(180deg, var(--arpc-blue) 0%, var(--arpc-blue-dark) 100%);
	box-shadow: 0 16px 34px rgba(81, 99, 132, 0.24);
	color: #fff !important;
}

.arpc__button--ghost {
	background: rgba(255, 255, 255, 0.62);
}

.arpc__button:disabled,
.arpc__button.is-disabled {
	pointer-events: none;
	opacity: 0.52;
	filter: grayscale(0.2);
}

.arpc__secure-note {
	display: flex;
	align-items: flex-start;
	width: 100%;
	min-width: 0;
	max-width: none;
	gap: 11px;
	margin-top: 14px;
	padding: 12px 14px;
	border: 1px solid rgba(81, 99, 132, 0.12);
	border-radius: 8px;
	background: linear-gradient(135deg, rgba(220, 244, 248, 0.58), rgba(255, 253, 249, 0.92));
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	color: #69675e;
}

.arpc__secure-note svg {
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	margin-top: 1px;
	color: var(--arpc-olive);
}

.arpc__secure-copy {
	display: block;
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	max-width: none;
	white-space: normal;
	word-break: normal;
	overflow-wrap: break-word;
	hyphens: none;
}

.arpc__below {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.82fr);
	gap: 18px;
	margin-top: 22px;
}

.arpc__section-card {
	border-radius: 8px;
	padding: 22px;
}

.arpc__section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.arpc__section-head h3 {
	font-family: var(--arpc-font-title);
	font-size: 30px;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1;
	color: #22241f;
}

.arpc__view-all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 0;
	background: transparent;
	font-size: 13px;
	font-weight: 600;
	color: var(--arpc-blue);
	text-decoration: none !important;
	cursor: pointer;
}

.arpc__combos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.arpc__combo {
	display: grid;
	min-width: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid rgba(81, 99, 132, 0.12);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.86);
	text-align: left;
	color: var(--arpc-text);
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.arpc__combo:hover,
.arpc__combo:focus-visible {
	transform: translateY(-2px);
	border-color: var(--arpc-hover-blue-strong);
	background: var(--arpc-hover-blue);
	box-shadow: 0 18px 28px rgba(72, 135, 148, 0.12);
	outline: none;
}

.arpc__combo:disabled {
	opacity: 0.52;
	cursor: not-allowed;
}

.arpc__combo-media {
	display: grid;
	place-items: center;
	height: 106px;
	color: rgba(81, 99, 132, 0.68);
	background:
		linear-gradient(135deg, rgba(255,255,255,0.18), rgba(255,255,255,0.72)),
		linear-gradient(135deg, #e7ded0, #f9f4ec);
}

.arpc__combo-media svg {
	width: 64px;
	height: 64px;
	stroke-width: 1.25;
}

.arpc__combo-media--face {
	background:
		radial-gradient(circle at 22% 28%, rgba(255, 255, 255, 0.8), transparent 26%),
		linear-gradient(135deg, #eadad0, #f8efe7 55%, #d6c3b9);
}

.arpc__combo-media--legs {
	background:
		radial-gradient(circle at 76% 30%, rgba(255, 255, 255, 0.85), transparent 26%),
		linear-gradient(135deg, #e8ddce, #f7f0e6 54%, #d8c9bd);
}

.arpc__combo-media--body,
.arpc__combo-media--device {
	background:
		radial-gradient(circle at 72% 22%, rgba(255, 255, 255, 0.85), transparent 24%),
		linear-gradient(135deg, #d7dacf, #f4efe4 56%, #e5d8c5);
}

.arpc__combo-body {
	display: grid;
	gap: 8px;
	padding: 14px;
}

.arpc__combo-body strong {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	color: #2f312c;
}

.arpc__combo-body em {
	min-height: 34px;
	font-style: normal;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.45;
	color: #746f63;
}

.arpc__combo-body b {
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	color: #22241f;
}

.arpc__faq {
	display: grid;
	gap: 10px;
}

.arpc__faq details {
	border: 1px solid rgba(81, 99, 132, 0.12);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.72);
	overflow: hidden;
}

.arpc__faq summary {
	position: relative;
	list-style: none;
	padding: 16px 44px 16px 18px;
	font-size: 14px;
	font-weight: 600;
	color: #57544b;
	cursor: pointer;
}

.arpc__faq summary::-webkit-details-marker {
	display: none;
}

.arpc__faq summary::after {
	content: "⌄";
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 20px;
	line-height: 1;
	color: var(--arpc-olive);
}

.arpc__faq details[open] summary::after {
	transform: translateY(-50%) rotate(180deg);
}

.arpc__faq p {
	padding: 0 18px 16px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.65;
	color: var(--arpc-muted);
}

.arpc__features {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	justify-items: stretch;
	width: 100%;
	min-width: 0;
	gap: 12px;
	margin-top: 22px;
	padding: 16px;
	border-radius: 8px;
	background: rgba(255, 253, 249, 0.78);
}

.arpc__feature {
	display: flex;
	align-items: flex-start;
	justify-self: stretch;
	width: 100%;
	min-width: 0;
	max-width: none;
	min-height: 94px;
	gap: 12px;
	padding: 15px;
	border: 1px solid rgba(81, 99, 132, 0.10);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 8px 22px rgba(64, 81, 113, 0.05);
}

.arpc__feature-icon {
	display: grid;
	place-items: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border-radius: 8px;
	background: rgba(242, 229, 202, 0.48);
	color: #b79857;
}

.arpc__feature-icon svg {
	width: 29px;
	height: 29px;
}

.arpc__feature-copy {
	display: block;
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	max-width: none;
	padding-top: 1px;
	white-space: normal;
	word-break: normal;
	overflow-wrap: break-word;
	hyphens: none;
}

.arpc__feature strong {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: none;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	color: #565348;
	white-space: normal;
	word-break: normal;
	overflow-wrap: break-word;
	hyphens: none;
}

.arpc__feature-copy > span {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: none;
	margin-top: 3px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.45;
	color: #8c877a;
	white-space: normal;
	word-break: normal;
	overflow-wrap: break-word;
	hyphens: none;
}

.arpc__toast {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 999999;
	max-width: min(360px, calc(100vw - 44px));
	padding: 14px 18px;
	border-radius: 8px;
	background: #405171;
	box-shadow: 0 18px 38px rgba(0, 0, 0, 0.18);
	font-family: var(--arpc-font-body, sans-serif);
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.arpc__toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 1180px) {
	.arpc__hero,
	.arpc__layout,
	.arpc__below {
		grid-template-columns: 1fr;
	}

	.arpc__steps {
		max-width: 680px;
	}

	.arpc__summary-wrap {
		position: static;
	}

	.arpc__summary-card {
		display: grid;
		grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1fr);
		gap: 18px;
		align-items: start;
	}

	.arpc__vat-chip {
		grid-column: 1;
	}

	.arpc__selected-box,
	.arpc__actions,
	.arpc__secure-note {
		grid-column: 2;
	}

	.arpc__selected-box {
		grid-row: 1 / span 2;
	}
}


@media (max-width: 1120px) {
	.arpc__family-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.arpc__family-card {
		min-height: 108px;
	}
}

@media (max-width: 980px) {
	.arpc__family-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.arpc__items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.arpc__toolbar {
		grid-template-columns: 1fr;
	}

	.arpc__combos,
	.arpc__features {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.arpc {
		padding-inline: 14px;
	}

	.arpc__hero {
		gap: 24px;
	}

	.arpc__steps {
		grid-template-columns: repeat(2, 1fr);
		gap: 18px 10px;
	}

	.arpc__step::after {
		display: none;
	}

	.arpc__main-card,
	.arpc__section-card,
	.arpc__summary-card {
		border-radius: 8px;
		padding: 18px;
	}

	.arpc__family-grid {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 4px;
	}

	.arpc__family-card {
		min-width: 138px;
		scroll-snap-align: start;
	}

	.arpc__chosen {
		grid-template-columns: minmax(0, 1fr);
		padding: 14px;
	}


	.arpc__category {
		padding-right: 44px;
		font-size: 16px;
		background-position: right 13px center;
	}


	.arpc__tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 3px;
	}

	.arpc__group-tab {
		min-width: auto;
		white-space: nowrap;
		border-right-width: 1px;
		border-radius: 8px;
	}

	.arpc__items,
	.arpc__combos,
	.arpc__features {
		grid-template-columns: 1fr;
	}

	.arpc__item {
		grid-template-columns: 54px minmax(0, 1fr);
	}

	.arpc__summary-card {
		display: block;
	}

	.arpc__vat-chip,
	.arpc__selected-box,
	.arpc__actions,
	.arpc__secure-note {
		grid-column: auto;
	}

	.arpc__total-number {
		font-size: 54px;
	}

	.arpc__total-currency {
		font-size: 29px;
	}
}

@media (max-width: 480px) {
	.arpc__title {
		font-size: 42px;
	}

	.arpc__subtitle {
		font-size: 14px;
	}

	.arpc__item {
		min-height: 112px;
		padding: 16px 38px 16px 14px;
		gap: 12px;
	}

	.arpc__item-name {
		font-size: 15px;
	}

	.arpc__selected-item {
		grid-template-columns: 8px minmax(0, 1fr) max-content 24px;
	}

	.arpc__selected-price {
		grid-column: auto;
		font-size: 12px;
	}
}


/* Theme compatibility: CMSMasters and similar themes often style every button globally.
   These overrides keep the calculator on the requested slate-blue palette and keep the remove X contained. */
.arpc,
.arpc * {
	--cmsmasters-button-hover-colors-bg: #dcf4f8;
	--cmsmasters-button-hover-colors-color: var(--arpc-text);
	--cmsmasters-button-hover-colors-border: #a7dce6;
}

.arpc button.arpc__family-card:hover,
.arpc button.arpc__family-card:focus-visible,
.arpc button.arpc__group-tab:hover,
.arpc button.arpc__group-tab:focus-visible,
.arpc button.arpc__view-all:hover,
.arpc button.arpc__view-all:focus-visible,
.arpc button.arpc__combo:hover,
.arpc button.arpc__combo:focus-visible {
	background-color: #dcf4f8 !important;
	background-image: none !important;
	color: #20231f !important;
}

.arpc button.arpc__button--primary:hover,
.arpc button.arpc__button--primary:focus-visible,
.arpc a.arpc__button--primary:hover,
.arpc a.arpc__button--primary:focus-visible {
	background-color: var(--arpc-hover-blue) !important;
	background-image: none !important;
	border-color: var(--arpc-hover-blue-strong) !important;
	color: #20231f !important;
}

.arpc .arpc__selected-list .arpc__selected-item .arpc__remove-selected {
	position: static !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	justify-self: end !important;
	width: 22px !important;
	min-width: 22px !important;
	max-width: 22px !important;
	height: 22px !important;
	min-height: 22px !important;
	max-height: 22px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #7a8498 !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	text-align: center !important;
	text-indent: 0 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	overflow: hidden !important;
}

.arpc .arpc__selected-list .arpc__selected-item .arpc__remove-selected::before,
.arpc .arpc__selected-list .arpc__selected-item .arpc__remove-selected::after {
	content: none !important;
	display: none !important;
}

.arpc .arpc__selected-list .arpc__selected-item .arpc__remove-selected:hover,
.arpc .arpc__selected-list .arpc__selected-item .arpc__remove-selected:focus-visible {
	background: #dcf4f8 !important;
	background-color: #dcf4f8 !important;
	background-image: none !important;
	color: var(--arpc-blue-dark) !important;
	box-shadow: none !important;
	transform: none !important;
}


/* v2.4.0: requested light-blue hover surface across calculator controls. */
.arpc,
.arpc * {
	--cmsmasters-button-hover-colors-bg: #dcf4f8 !important;
	--cmsmasters-button-hover-colors-color: var(--arpc-text) !important;
	--cmsmasters-button-hover-colors-border: #a7dce6 !important;
}

.arpc button:hover,
.arpc a.arpc__button:hover {
	--cmsmasters-button-hover-colors-bg: #dcf4f8 !important;
}

/* v2.6.0: mobile QA layer. Keeps the total visible while the user is selecting services on phones. */
.arpc__mobile-total {
	display: none;
}

@media (max-width: 760px) {
	.arpc {
		padding-bottom: max(34px, calc(34px + env(safe-area-inset-bottom)));
	}

	.arpc__family-grid,
	.arpc__tabs {
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.arpc__family-grid::-webkit-scrollbar,
	.arpc__tabs::-webkit-scrollbar {
		display: none;
	}

	.arpc__mobile-total {
		position: fixed;
		left: max(12px, env(safe-area-inset-left));
		right: max(12px, env(safe-area-inset-right));
		bottom: max(12px, env(safe-area-inset-bottom));
		z-index: 999998;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"copy price"
			"cta cta";
		gap: 7px 12px;
		align-items: center;
		width: auto;
		max-width: min(520px, calc(100vw - 24px));
		min-height: 72px;
		margin: 0 auto;
		padding: 12px 14px;
		border: 1px solid rgba(81, 99, 132, 0.20) !important;
		border-radius: 8px !important;
		background: rgba(255, 255, 255, 0.94) !important;
		background-image: linear-gradient(135deg, rgba(220, 244, 248, 0.95), rgba(255, 253, 249, 0.98)) !important;
		box-shadow: 0 18px 42px rgba(64, 81, 113, 0.16) !important;
		backdrop-filter: blur(14px);
		color: var(--arpc-text) !important;
		font-family: var(--arpc-font-body);
		text-align: left;
		text-decoration: none !important;
		text-transform: none !important;
		cursor: pointer;
		opacity: 0;
		pointer-events: none;
		transform: translateY(14px);
		appearance: none;
		-webkit-appearance: none;
		transition: opacity 0.2s ease, transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
	}

	.arpc.is-mobile-total-visible:not(.is-mobile-summary-visible) .arpc__mobile-total.has-selection {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.arpc__mobile-total::before,
	.arpc__mobile-total::after {
		content: none !important;
		display: none !important;
	}

	.arpc__mobile-total:hover,
	.arpc__mobile-total:focus-visible {
		border-color: var(--arpc-hover-blue-strong) !important;
		background: #dcf4f8 !important;
		box-shadow: 0 20px 44px rgba(64, 81, 113, 0.18) !important;
		outline: none !important;
		transform: none !important;
	}

	.arpc__mobile-total-copy {
		grid-area: copy;
		display: grid;
		gap: 3px;
		min-width: 0;
	}

	.arpc__mobile-total-label {
		font-size: 11px;
		font-weight: 600;
		letter-spacing: 0.14em;
		line-height: 1.1;
		text-transform: uppercase;
		color: #6d778e;
	}

	.arpc__mobile-total-count {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font-size: 12px;
		font-weight: 600;
		line-height: 1.25;
		color: #6a665b;
	}

	.arpc__mobile-total-price {
		grid-area: price;
		display: grid;
		justify-items: end;
		gap: 3px;
		white-space: nowrap;
	}

	.arpc__mobile-total-price strong {
		font-size: 20px;
		font-weight: 600;
		line-height: 1;
		letter-spacing: -0.02em;
		color: #20231f;
		font-variant-numeric: tabular-nums;
	}

	.arpc__mobile-total-cta {
		grid-area: cta;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 30px;
		padding: 0 12px;
		border-radius: 8px;
		background: var(--arpc-blue);
		font-size: 11px;
		font-weight: 600;
		letter-spacing: 0.13em;
		line-height: 1;
		text-transform: uppercase;
		color: #fff;
	}
}

@media (max-width: 480px) {
	.arpc__mobile-total {
		margin-top: -2px;
		padding: 11px 12px;
		border-radius: 8px !important;
	}

	.arpc__mobile-total-price strong {
		font-size: 18px;
	}

	.arpc__mobile-total-cta {
		min-height: 28px;
	}
}

@media (max-width: 760px) {
	.arpc__toast {
		bottom: max(104px, calc(104px + env(safe-area-inset-bottom)));
	}
}

@media (prefers-reduced-motion: reduce) {
	.arpc *,
	.arpc *::before,
	.arpc *::after,
	.arpc__toast {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* v2.8.0: isolate the security note and benefits strip from theme-level width and word-break rules. */
.arpc .arpc__summary-card .arpc__secure-note {
	display: flex !important;
	align-items: flex-start !important;
	justify-self: stretch !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
}

.arpc .arpc__summary-card .arpc__secure-note > svg {
	flex: 0 0 24px !important;
	width: 24px !important;
	min-width: 24px !important;
	max-width: 24px !important;
	height: 24px !important;
}

.arpc .arpc__summary-card .arpc__secure-note > .arpc__secure-copy,
.arpc .arpc__features > .arpc__feature > .arpc__feature-copy,
.arpc .arpc__features > .arpc__feature > .arpc__feature-copy > strong,
.arpc .arpc__features > .arpc__feature > .arpc__feature-copy > span {
	display: block !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	writing-mode: horizontal-tb !important;
	text-orientation: mixed !important;
	hyphens: none !important;
}

.arpc .arpc__features {
	display: grid !important;
	align-items: stretch !important;
	justify-items: stretch !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
}

.arpc .arpc__features > .arpc__feature {
	display: flex !important;
	align-items: flex-start !important;
	justify-self: stretch !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
}

.arpc .arpc__features > .arpc__feature > .arpc__feature-icon {
	flex: 0 0 42px !important;
	width: 42px !important;
	min-width: 42px !important;
	max-width: 42px !important;
}

.arpc .arpc__features > .arpc__feature > .arpc__feature-copy {
	flex: 1 1 auto !important;
}

.arpc .arpc__features > .arpc__feature > .arpc__feature-copy > strong,
.arpc .arpc__features > .arpc__feature > .arpc__feature-copy > span {
	width: 100% !important;
}


/* v2.9.0: clearer hierarchy, exact 8px radii and mobile-first usability cleanup. */
.arpc {
	--arpc-card: #ffffff;
	--arpc-shadow-soft: 0 8px 24px rgba(64, 81, 113, 0.06);
	--arpc-radius-xl: 8px;
	--arpc-radius-lg: 8px;
	--arpc-radius-md: 8px;
	padding: clamp(28px, 4vw, 56px) clamp(14px, 3vw, 36px);
	background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}

.arpc::before,
.arpc::after {
	display: none;
}

.arpc__canvas {
	width: min(100%, 1280px);
}

.arpc__hero {
	grid-template-columns: minmax(0, 1fr) minmax(420px, 560px);
	gap: clamp(24px, 4vw, 56px);
	margin-bottom: 28px;
}

.arpc__title {
	margin-bottom: 12px;
	font-size: clamp(38px, 4.5vw, 56px);
	line-height: 1;
}

.arpc__subtitle {
	max-width: 650px;
	line-height: 1.6;
}

.arpc__steps {
	gap: 10px;
}

.arpc__step {
	gap: 8px;
}

.arpc__step:not(:last-child)::after {
	top: 21px;
	left: calc(50% + 30px);
	width: calc(100% - 34px);
	background: rgba(81, 99, 132, 0.22);
}

.arpc__step-icon {
	width: 44px;
	height: 44px;
	box-shadow: none;
}

.arpc__step-icon svg {
	width: 21px;
	height: 21px;
}

.arpc__step span:last-child {
	font-size: 12px;
}

.arpc__main-card,
.arpc__summary-card,
.arpc__section-card,
.arpc__features {
	box-shadow: var(--arpc-shadow-soft);
	backdrop-filter: none;
}

.arpc__main-card {
	padding: clamp(20px, 2.5vw, 28px);
}

.arpc__block-title {
	margin-bottom: 18px;
}

.arpc__block-title small {
	display: none;
}

.arpc__family-grid {
	gap: 10px;
	margin-bottom: 18px;
}

.arpc__family-card {
	min-height: 92px;
	padding: 10px 6px;
	box-shadow: none;
}

.arpc__family-card:hover,
.arpc__family-card:focus-visible,
.arpc__family-card.is-active {
	transform: none;
	box-shadow: 0 8px 20px rgba(72, 135, 148, 0.09);
}

.arpc__family-icon {
	width: 34px;
	height: 34px;
}

.arpc__family-title {
	min-height: 28px;
	font-size: 12.5px;
}

.arpc__chosen {
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	margin-bottom: 18px;
	padding: 14px;
	background: #f3fbfc;
	box-shadow: none;
}

.arpc__chosen:hover,
.arpc__chosen:focus-within {
	transform: none;
	background: #eef9fb;
	box-shadow: 0 0 0 3px rgba(217, 243, 247, 0.72);
}



.arpc__chosen-label::after {
	display: none;
}

.arpc__category {
	min-height: 46px;
	box-shadow: none;
	font-size: 16px;
}

.arpc__toolbar {
	gap: 12px;
	margin-bottom: 18px;
}

.arpc__tabs {
	gap: 8px;
}

.arpc__group-tab,
.arpc__group-tab:first-child,
.arpc__group-tab:last-child,
.arpc__group-tab:only-child {
	min-width: 0;
	min-height: 44px;
	padding: 0 14px;
	border-right-width: 1px;
}

.arpc__group-tab:hover,
.arpc__group-tab:focus-visible,
.arpc__group-tab.is-active {
	box-shadow: none;
}

.arpc__search {
	min-height: 44px;
}

.arpc__items {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.arpc__item {
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 12px;
	min-height: 104px;
	padding: 14px 38px 14px 14px;
	box-shadow: none;
}

.arpc__item:hover,
.arpc__item:focus-within,
.arpc__item.is-selected {
	transform: none;
	box-shadow: 0 8px 20px rgba(72, 135, 148, 0.09);
}

.arpc__checkbox {
	top: 13px;
	left: 13px;
}

.arpc__item-icon {
	width: 42px;
	height: 42px;
	margin-left: 5px;
}

.arpc__item-icon svg {
	width: 38px;
	height: 38px;
}

.arpc__item-main {
	gap: 5px;
}

.arpc__item-name {
	font-size: 15px;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.arpc__item-sub {
	font-size: 12px;
}

.arpc__vat-note {
	margin-top: 18px;
}

.arpc__summary-top {
	min-height: 132px;
	padding: 18px;
	background: linear-gradient(135deg, #516384 0%, #405171 100%);
}

.arpc__total-number {
	font-size: 52px;
}

.arpc__total-currency {
	font-size: 28px;
}

.arpc__selected-count {
	margin-top: 12px;
}

.arpc__vat-chip {
	min-height: 44px;
	margin: 14px 0;
}

.arpc__selected-box {
	padding: 14px;
}

.arpc__selected-item {
	align-items: start;
	padding: 5px 0;
}

.arpc__selected-name {
	overflow: visible;
	text-overflow: clip;
	white-space: normal;
	overflow-wrap: anywhere;
}

.arpc__actions {
	gap: 8px;
	margin-top: 14px;
}

.arpc__button {
	min-height: 46px;
	padding: 0 16px;
	text-transform: none;
	letter-spacing: 0.01em;
	font-size: 13px;
}

.arpc__button--primary {
	min-height: 50px;
}

.arpc__secure-note {
	margin-top: 12px;
}

.arpc__below {
	margin-top: 18px;
}

.arpc__section-card {
	padding: 18px;
}

.arpc__section-head h3 {
	font-size: 26px;
}

.arpc__features {
	gap: 10px;
	margin-top: 18px;
	padding: 12px;
}

.arpc__feature {
	min-height: 80px;
	padding: 12px;
	box-shadow: none;
}

.arpc__canvas,
.arpc__hero,
.arpc__layout,
.arpc__main-card,
.arpc__toolbar,
.arpc__items,
.arpc__item,
.arpc__item-main,
.arpc__summary-card,
.arpc__below,
.arpc__features {
	min-width: 0;
}

@media (max-width: 1180px) {
	.arpc__hero {
		grid-template-columns: 1fr;
	}

	.arpc__summary-card {
		display: block;
	}

	.arpc__vat-chip,
	.arpc__selected-box,
	.arpc__actions,
	.arpc__secure-note {
		grid-column: auto;
	}

	.arpc__selected-box {
		grid-row: auto;
	}
}

@media (max-width: 760px) {
	.arpc {
		padding: 24px 12px max(34px, calc(34px + env(safe-area-inset-bottom)));
	}

	.arpc__hero {
		gap: 16px;
		margin-bottom: 20px;
	}

	.arpc__steps {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 6px;
	}

	.arpc__step {
		gap: 6px;
	}

	.arpc__step-icon {
		width: 34px;
		height: 34px;
	}

	.arpc__step-icon svg {
		width: 17px;
		height: 17px;
	}

	.arpc__step span:last-child {
		font-size: 10px;
		line-height: 1.25;
		text-align: center;
		white-space: normal;
	}

	.arpc__main-card,
	.arpc__section-card,
	.arpc__summary-card {
		padding: 14px;
	}

	.arpc__family-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		overflow: visible;
		scroll-snap-type: none;
	}

	.arpc__family-card {
		grid-template-columns: 30px minmax(0, 1fr);
		justify-items: start;
		align-content: center;
		min-width: 0;
		min-height: 72px;
		gap: 8px;
		padding: 10px;
	}

	.arpc__family-icon {
		width: 30px;
		height: 30px;
	}

	.arpc__family-title {
		min-height: 0;
		text-align: left;
	}

	.arpc__chosen {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
		padding: 12px;
	}


	.arpc__category {
		min-height: 48px;
		font-size: 16px;
	}

	.arpc__tabs {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		overflow: visible;
	}

	.arpc__group-tab,
	.arpc__group-tab:first-child,
	.arpc__group-tab:last-child,
	.arpc__group-tab:only-child {
		min-height: 44px;
		padding: 8px 10px;
		line-height: 1.25;
		white-space: normal;
	}

	.arpc__items,
	.arpc__combos,
	.arpc__features {
		grid-template-columns: 1fr;
	}

	.arpc__item {
		grid-template-columns: 42px minmax(0, 1fr);
		min-height: 96px;
		padding: 13px 34px 13px 12px;
	}

	.arpc__mobile-total {
		max-width: calc(100vw - 24px);
	}
}

@media (max-width: 480px) {
	.arpc__title {
		font-size: 34px;
	}

	.arpc__subtitle {
		font-size: 14px;
	}

	.arpc__chosen {
		grid-template-columns: 1fr;
	}


	.arpc__item {
		gap: 10px;
	}

	.arpc__mobile-total {
		padding: 10px 11px;
	}
}


/* v2.9.1: clean package cards, sans-serif combinations heading and icon-free dropdown. */
.arpc__section-card--combos .arpc__section-head h3 {
	font-family: var(--arpc-font-body) !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	font-style: normal !important;
	line-height: 1.2 !important;
	letter-spacing: -0.025em !important;
	text-transform: none !important;
}

.arpc button.arpc__combo,
.arpc button.arpc__combo :where(strong, em, b) {
	font-family: var(--arpc-font-body) !important;
	font-style: normal !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	white-space: normal !important;
}

.arpc button.arpc__combo {
	height: 100%;
	line-height: 1.4 !important;
}

.arpc__combo-body {
	grid-template-rows: auto minmax(0, 1fr) auto;
	min-width: 0;
	height: 100%;
}

.arpc__combo-body strong {
	font-size: 15px !important;
	line-height: 1.3 !important;
	overflow-wrap: anywhere;
}

.arpc__combo-body em {
	min-height: 0;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.55 !important;
	color: #746f63 !important;
	word-break: normal;
	overflow-wrap: anywhere;
}

.arpc__combo-body b {
	align-self: end;
	margin-top: 4px;
	font-size: 18px !important;
	line-height: 1.1 !important;
}

@media (max-width: 760px) {
	.arpc__section-card--combos .arpc__section-head h3 {
		font-size: 20px !important;
	}
}
