/**
 * Faddom Pricing Configurator
 */

 .fpc {
	position: relative;
	/* 1024 content + 16px side padding each */
	max-width: min(1056px, 100%);
	width: 100%;
	margin: 0 auto;
	padding: 34px 16px 70px;
	font-family: var(--faddom-font-body);
	color: var(--faddom-color-aqua-800);
	box-sizing: border-box;
	overflow-x: hidden;
}

/* Step 2 use cases grid: 1128px content + 16px side padding each */
.fpc.fpc--step-2 {
	max-width: min(1160px, 100%);
}

.fpc *,
.fpc *::before,
.fpc *::after {
	box-sizing: border-box;
}

.fpc h1,
.fpc h2,
.fpc h3 {
	font-family: var(--faddom-font-heading);
	font-weight: 400;
}

.fpc h4,
.fpc h5,
.fpc h6 {
	font-family: var(--faddom-font-body);
}

.fpc-progress {
	display: flex;
	gap: 8px;
	max-width: 343px;
	margin: 0 auto 32px;
}

.fpc-progress__seg {
	flex: 1;
	height: 4px;
	border-radius: 99px;
	background: #09848433;
	transition: background 0.25s ease;
}

.fpc-progress__seg.is-active {
	background: var(--faddom-color-aqua-600);
}

.fpc-step[hidden] {
	display: none !important;
}

.fpc-step {
	animation: fpc-fade-in 0.35s ease;
}

/* Keep step 1 / 2 CTAs on the same baseline;  */
@media (min-width: 1025px) {
	#fpc-step-1.is-active,
	#fpc-step-2.is-active {
		display: flex;
		flex-direction: column;
		min-height: 694px;
	}

	#fpc-step-1 .fpc-actions,
	#fpc-step-2 .fpc-actions {
		margin-top: auto;
		padding-top: 32px;
	}
}

#fpc-step-3 {
	max-width: 848px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

@keyframes fpc-fade-in {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}

.fpc-title,
.fpc h2.fpc-title {
	margin: 0 auto 24px;
	text-align: center;
	font-family: var(--faddom-type-heading-small-family) !important;
	font-weight: var(--faddom-type-heading-small-weight) !important;
	font-style: normal !important;
	font-size: 40px!important;
	line-height: 56px!important;
	letter-spacing: var(--faddom-type-heading-small-tracking) !important;
	color: var(--faddom-color-aqua-800) !important;
	width: 100%;
	text-wrap-style: pretty;
}

.fpc-subtitle {
	margin-bottom: 32px!important;
	text-align: center;
	font-family: var(--faddom-type-body-medium-family) !important;
	font-weight: var(--faddom-type-body-medium-weight) !important;
	font-style: normal !important;
	font-size: var(--faddom-type-body-medium-size) !important;
	line-height: var(--faddom-type-body-medium-line) !important;
	letter-spacing: var(--faddom-type-body-medium-tracking) !important;
	color: var(--faddom-color-granite-500) !important;
	max-width: 100%;
	overflow-wrap: break-word;
}

.fpc .fpc-pdf-btn {
	padding: 12px 24px !important;
	font-size: var(--faddom-type-caption-m-size) !important;
	font-weight: var(--faddom-type-caption-m-weight) !important;
	line-height: var(--faddom-type-caption-m-line) !important;
	letter-spacing: var(--faddom-type-caption-m-tracking) !important;
	gap: 8px !important;
	flex-shrink: 0 !important;
}

.fpc-actions {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 32px;
	flex-wrap: wrap;
}

@media (min-width: 1025px) {
	#fpc-next-1,
	#fpc-next-2 {
		min-width: 233px;
	}
}

#fpc-step-3 .fpc-modal .fpc-actions {
	margin-top: 32px;
}

.fpc-actions--split {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
	gap: 8px;
	width: max-content;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.fpc-actions--split .faddom-btn {
	width: 100%;
	min-height: 56px;
}

.fpc-actions.fpc-actions--split-row {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	max-width: 100%;
	margin-top: 24px;
}

.fpc-validation {
	min-height: 1.25em;
	margin: 12px 0 0;
	text-align: center;
	color: #c0392b;
	font-size: 0.9rem;
}

.fpc-trial-link {
	margin: 32px 0 0;
	text-align: center;
	font-family: var(--faddom-type-body-xsmall-family);
	font-size: var(--faddom-type-body-xsmall-size);
	font-weight: var(--faddom-type-body-xsmall-weight);
	line-height: var(--faddom-type-body-xsmall-line);
	letter-spacing: var(--faddom-type-body-xsmall-tracking);
	color: var(--faddom-color-aqua-800);
}

.fpc-trial-link a {
	color: var(--faddom-color-aqua-500);
	font-weight: inherit;
	text-decoration: none;
}

.fpc-trial-link a:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.fpc-carousel {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 32px;
	margin-bottom: 24px;
	width: 100%;
	max-width: 100%;
}

.fpc button.fpc-carousel__arrow,
.fpc .fpc-carousel__arrow {
	flex-shrink: 0 !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	border: 1px solid #06232333;
	background: var(--faddom-color-white) !important;
	background-color: var(--faddom-color-white) !important;
	background-image: none !important;
	color: var(--faddom-color-aqua-900) !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	text-transform: none !important;
	transition: opacity 0.2s ease, transform 0.15s ease !important;
}

.fpc button.fpc-carousel__arrow:hover,
.fpc .fpc-carousel__arrow:hover {
	transform: scale(1.05);
}

.fpc button.fpc-carousel__arrow.is-disabled,
.fpc .fpc-carousel__arrow.is-disabled {
	opacity: 0.35 !important;
	pointer-events: none !important;
}

.fpc-carousel__track {
	position: relative;
	overflow: hidden;
	/* 4×198 + 4×8 — matches env-card width at 1024px / 5 */
	width: 824px;
	max-width: calc(100% - 100px);
	height: 72px;
	-webkit-mask-image: linear-gradient(
		to right,
		transparent 0%,
		#000 72px,
		#000 calc(100% - 72px),
		transparent 100%
	);
	mask-image: linear-gradient(
		to right,
		transparent 0%,
		#000 72px,
		#000 calc(100% - 72px),
		transparent 100%
	);
}

.fpc-carousel__inner {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 100%;
	will-change: transform;
}

.fpc button.fpc-server-card,
.fpc .fpc-server-card {
	flex: 0 0 198px !important;
	width: 198px !important;
	height: 70px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 8px !important;
	border: 1px solid rgba(6, 35, 35, 0.2) !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	background-image: none !important;
	box-shadow: none !important;
	cursor: pointer !important;
	font-family: var(--faddom-font-body) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	font-size: 18px !important;
	line-height: 28px !important;
	letter-spacing: -0.01em !important;
	text-align: center !important;
	text-transform: none !important;
	color: #032d2d !important;
	padding: 16px 24px !important;
	opacity: 1 !important;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.fpc button.fpc-server-card:hover,
.fpc .fpc-server-card:hover {
	border-color: rgba(6, 35, 35, 0.35) !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #032d2d !important;
	transform: none;
}

.fpc button.fpc-server-card.is-selected,
.fpc button.fpc-server-card.is-selected:hover,
.fpc .fpc-server-card.is-selected,
.fpc .fpc-server-card.is-selected:hover {
	background: var(--faddom-color-aqua-600) !important;
	background-color: var(--faddom-color-aqua-600) !important;
	border-color: var(--faddom-color-aqua-600) !important;
	color: var(--faddom-color-white) !important;
	box-shadow: none !important;
	opacity: 1 !important;
}

.fpc-env {
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
}

.fpc-env__group + .fpc-env__group {
	margin-top: 24px;
}

.fpc-env__divider {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
	width: 100%;
	max-width: 1024px;
	font-family: var(--faddom-type-caption-s-family);
	font-weight: var(--faddom-type-caption-s-weight);
	font-style: normal;
	font-size: var(--faddom-type-caption-s-size);
	line-height: var(--faddom-type-caption-s-line);
	letter-spacing: var(--faddom-type-caption-s-tracking);
	text-transform: var(--faddom-type-caption-s-transform);
	color: var(--faddom-color-aqua-800);
}

.fpc-env__divider span {
	flex-shrink: 0;
	white-space: nowrap;
}

.fpc-env__divider::before,
.fpc-env__divider::after {
	content: "";
	flex: 1 1 auto;
	min-width: 0;
	height: 1px;
	background: #0623231A;
}

.fpc-env__grid {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
	gap: 8px;
	width: 100%;
	max-width: 1024px;
}

.fpc button.fpc-env-card,
.fpc .fpc-env-card {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 1 1 0 !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	height: 78px !important;
	min-height: 78px !important;
	padding: 17px 24px !important;
	border-radius: 8px !important;
	border: 1px solid var(--faddom-color-border) !important;
	background: var(--faddom-color-white) !important;
	background-color: var(--faddom-color-white) !important;
	background-image: none !important;
	cursor: pointer !important;
	text-transform: none !important;
	overflow: hidden !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
}

.fpc button.fpc-env-card:hover:not(.is-selected),
.fpc .fpc-env-card:hover:not(.is-selected) {
	transform: translateY(-2px);
	border-color: #c5d4d3 !important;
	background: var(--faddom-color-white) !important;
	background-color: var(--faddom-color-white) !important;
}

.fpc .fpc-env-card img,
.fpc .fpc-env-card__logo {
	max-width: 100%;
	max-height: 46px;
	width: auto;
	height: auto;
	object-fit: contain;
	pointer-events: none;
	display: block;
	flex-shrink: 0;
}

.fpc button.fpc-env-card.is-selected,
.fpc button.fpc-env-card.is-selected:hover,
.fpc .fpc-env-card.is-selected,
.fpc .fpc-env-card.is-selected:hover {
	background: var(--faddom-color-aqua-600) !important;
	background-color: var(--faddom-color-aqua-600) !important;
	border-color: var(--faddom-color-aqua-600) !important;
	transform: none !important;
}

/* Raster / patterned logos (e.g. Hyper-V): fallback invert when selected */
.fpc .fpc-env-card.is-selected img,
.fpc .fpc-env-card.is-selected .fpc-env-card__logo--raster {
	filter: invert(1) grayscale(1);
}

.fpc .fpc-env-card.is-selected .fpc-env-card__logo:not(.fpc-env-card__logo--raster) {
	filter: none;
}

.fpc .fpc-env-card[data-val="Oracle"].is-selected img {
	filter: none;
}

.fpc-usecases {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	width: 100%;
	max-width: 1128px;
	margin: 0 auto;
}

.fpc button.fpc-uc,
.fpc .fpc-uc {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 4px !important;
	min-height: 136px !important;
	height: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 16px!important;
	border-radius: 8px !important;
	border: none !important;
	box-shadow: inset 0 0 0 1px var(--faddom-color-border) !important;
	background-color: var(--faddom-color-white) !important;
	cursor: pointer !important;
	text-align: left !important;
	transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease !important;
}

.fpc button.fpc-uc:hover:not(.is-selected),
.fpc .fpc-uc:hover:not(.is-selected) {
	transform: translateY(-2px);
}

.fpc-uc__icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 6px;
	background: var(--faddom-color-aqua-75);
	color: var(--faddom-color-aqua-900);
	flex-shrink: 0;
}

.fpc-uc__icon-wrap svg {
	width: 20px;
	height: 20px;
}

.fpc-uc__name {
	display: block;
	width: 100%;
	font-family: var(--faddom-type-body-medium-family);
	font-size: var(--faddom-type-body-medium-size);
	font-weight: var(--faddom-type-body-medium-weight);
	line-height: var(--faddom-type-body-medium-line);
	letter-spacing: var(--faddom-type-body-medium-tracking);
	color: var(--faddom-color-aqua-800);
	max-width: 100%;
	white-space: normal !important;
	overflow-wrap: break-word;
	word-wrap: break-word;
	word-break: break-word;
	hyphens: auto;
	margin-top:12px;
}

.fpc-uc__desc {
	display: block;
	width: 100%;
	font-family: var(--faddom-type-body-xsmall-family);
	font-size: var(--faddom-type-body-xsmall-size);
	font-weight: var(--faddom-type-body-xsmall-weight);
	line-height: var(--faddom-type-body-xsmall-line);
	letter-spacing: var(--faddom-type-body-xsmall-tracking);
	color: var(--faddom-color-granite-500);
	max-width: 100%;
	white-space: normal !important;
}

.fpc-uc__check {
	position: absolute;
	top: 24px;
	right: 16px;
	width: 24px;
	height: 24px;
	display: none;
	line-height: 0;
	pointer-events: none;
}

.fpc-uc__check svg {
	display: block;
	width: 24px;
	height: 24px;
}

.fpc button.fpc-uc.is-selected,
.fpc button.fpc-uc.is-selected:hover,
.fpc .fpc-uc.is-selected,
.fpc .fpc-uc.is-selected:hover {
	background-color: var(--faddom-color-aqua-600) !important;
	box-shadow: inset 0 0 0 1px var(--faddom-color-aqua-600) !important;
	color: var(--faddom-color-white) !important;
	transform: none !important;
}

.fpc .fpc-uc.is-selected .fpc-uc__icon-wrap {
	background: #FFFFFF80!important;
}

.fpc .fpc-uc.is-selected .fpc-uc__name,
.fpc .fpc-uc.is-selected .fpc-uc__desc {
	color: var(--faddom-color-white) !important;
}

.fpc .fpc-uc.is-selected .fpc-uc__check {
	display: inline-flex;
}

.fpc-banner {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 24px;
	margin: 32px 0 0;
	border-radius: 8px;
	background: var(--faddom-color-aqua-25);
	border: 1px solid #06232333;
}

.fpc-banner__icon {
	flex-shrink: 0;
	color: var(--faddom-color-aqua-800);
	background-color: var(--faddom-color-aqua-75);
	border-radius: 6px;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.fpc-banner__text {
	margin: 0;
	flex: 1;
	font-size: var(--faddom-type-body-small-size);
	font-weight: var(--faddom-type-body-small-weight);
	line-height: var(--faddom-type-body-small-line);
	letter-spacing: var(--faddom-type-body-small-tracking);
	color: var(--faddom-color-granite-500);
	padding-right: 56px;
}

.fpc-banner__cta {
	flex-shrink: 0;
	padding-block: 12px!important;
	display: flex;
	align-items: center;
	justify-content: center;
	/* faddom-btn--fit sets align-self:flex-start; override to center in banner */
	align-self: center !important;
}

.fpc-pdf-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: center !important;
}

.fpc-results {
	margin: 32px 0;
	padding-top: 32px;
	border-top: 1px solid #06232333;
}

.fpc-results__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 72px;
	margin-bottom: 16px;
}

.fpc-results__intro,
.fpc-features__title {
	margin: 0;
	font-family: var(--faddom-type-title-small-family) !important;
	font-size: var(--faddom-type-title-small-size) !important;
	font-weight: var(--faddom-type-title-small-weight) !important;
	line-height: var(--faddom-type-title-small-line) !important;
	letter-spacing: var(--faddom-type-title-small-tracking) !important;
	color: var(--faddom-color-aqua-800) !important;
}

.fpc-results__intro {
	flex: 1;
}

.fpc-features__title {
	margin-bottom: 16px;
}

.fpc-results__card {
	padding: 24px;
	border-radius: 8px;
	background: var(--faddom-color-aqua-25);
	border: 1px solid #06232333;
}

.fpc-summary {
	width: 100%;
	border: none !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	margin-bottom: 0;
}

.fpc-summary thead,
.fpc-summary tbody,
.fpc-summary tr,
.fpc-summary th,
.fpc-summary td {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

.fpc-summary tr:nth-child(odd),
.fpc-summary tr:nth-child(even),
.fpc-summary tr:hover,
.fpc-summary tr:nth-child(odd) th,
.fpc-summary tr:nth-child(odd) td,
.fpc-summary tr:nth-child(even) th,
.fpc-summary tr:nth-child(even) td {
	background: transparent !important;
	background-color: transparent !important;
}

.fpc-summary th,
.fpc-summary td {
	padding: 16px !important;
	border: none !important;
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
	border-bottom: 1px solid #06232333 !important;
	vertical-align: top !important;
	text-align: left !important;
}

.fpc-summary tr:last-child th,
.fpc-summary tr:last-child td {
	border-bottom: none !important;
}

.fpc-summary th {
	width: 50%;
	font-family: var(--faddom-type-body-medium-emphasis-family) !important;
	font-size: var(--faddom-type-body-medium-emphasis-size) !important;
	font-weight: var(--faddom-type-body-medium-emphasis-weight) !important;
	line-height: var(--faddom-type-body-medium-emphasis-line) !important;
	letter-spacing: var(--faddom-type-body-medium-emphasis-tracking) !important;
	color: var(--faddom-color-aqua-800) !important;
}

.fpc-summary td {
	font-family: var(--faddom-type-body-medium-family) !important;
	font-size: var(--faddom-type-body-medium-size) !important;
	font-weight: var(--faddom-type-body-medium-weight) !important;
	line-height: var(--faddom-type-body-medium-line) !important;
	letter-spacing: var(--faddom-type-body-medium-tracking) !important;
	color: var(--faddom-color-granite-500) !important;
}

.fpc-multi {
	display: block;
}


.fpc-mod {
	border: 1px solid #06232333;
	border-radius: 8px;
	background: var(--faddom-color-white);
	margin-bottom: 16px;
	overflow: hidden;
}

.fpc.is-gate-open #fpc-step-3 {
	pointer-events: none;
}

.fpc button.fpc-mod__header,
.fpc .fpc-mod__header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	padding: 16px 24px !important;
	border: none !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	cursor: pointer !important;
	font-family: var(--faddom-font-body) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: var(--faddom-color-aqua-800) !important;
	text-align: left !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	box-shadow: none !important;
}

.fpc button.fpc-mod__header:hover,
.fpc .fpc-mod__header:hover {
	background: transparent !important;
	background-color: transparent !important;
	color: var(--faddom-color-aqua-800) !important;
}

.fpc button.fpc-modal__close,
.fpc .fpc-modal__close {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	width: 36px !important;
	height: 36px !important;
	border: none !important;
	border-radius: 50% !important;
	background: #f3f6f6 !important;
	background-color: #f3f6f6 !important;
	color: var(--faddom-color-granite-500) !important;
	cursor: pointer !important;
	font-size: 14px !important;
	padding: 0 !important;
	box-shadow: none !important;
	text-transform: none !important;
}

.fpc button.fpc-modal__close:hover,
.fpc .fpc-modal__close:hover {
	background: #e8ecec !important;
	background-color: #e8ecec !important;
	color: var(--faddom-color-granite-500) !important;
}

.fpc-mod__header-left {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--faddom-type-body-large-emphasis-family) !important;
	font-size: var(--faddom-type-body-large-emphasis-size) !important;
	font-weight: var(--faddom-type-body-large-emphasis-weight) !important;
	line-height: var(--faddom-type-body-large-emphasis-line) !important;
	letter-spacing: var(--faddom-type-body-large-emphasis-tracking) !important;
	color: var(--faddom-color-aqua-800) !important;
}

.fpc-mod__toggle {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--faddom-color-aqua-25);
	color: var(--faddom-color-aqua-900);
	font-weight: 400;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	cursor: pointer;
	line-height: 1;
	transition: background 0.2s ease;
}

.fpc-mod__body {
	display: none;
	padding: 8px 24px 16px;
}

.fpc-mod.is-open .fpc-mod__body {
	display: block;
}

.fpc-feat {
	display: grid;
	grid-template-columns: minmax(180px, 1.15fr) auto 1fr;
	align-items: center;
	gap: 16px 8px;
	padding: 16px;
	box-shadow: inset 0 -1px 0 0 #06232333;
}

.fpc-feat:last-child {
	box-shadow: none;
}

.fpc-feat__name {
	font-family: var(--faddom-type-body-small-emphasis-family);
	font-size: var(--faddom-type-body-small-emphasis-size);
	font-weight: var(--faddom-type-body-small-emphasis-weight);
	line-height: var(--faddom-type-body-small-emphasis-line);
	letter-spacing: var(--faddom-type-body-small-emphasis-tracking);
	color: var(--faddom-color-aqua-800);
}

.fpc-feat__check {
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--faddom-color-aqua-500);
}

.fpc-feat__check svg {
	width: 20px;
	height: 20px;
	display: block;
}

.fpc-feat__desc {
	font-family: var(--faddom-type-body-small-family);
	font-size: var(--faddom-type-body-small-size);
	font-weight: var(--faddom-type-body-small-weight);
	line-height: var(--faddom-type-body-small-line);
	letter-spacing: var(--faddom-type-body-small-tracking);
	color: var(--faddom-color-granite-500);
}

.fpc-modal[hidden] {
	display: none !important;
}

.fpc-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	padding: 20px;
}

/*
 * Prevent modal from overlapping the sticky top menu on short screens.
 * Menu height: 76px desktop, 49px mobile.
 */
.fpc-modal {
	--fpc-top-menu-h: 76px;
}

@media (max-width: 768px) {
	.fpc-modal {
		--fpc-top-menu-h: 49px;
	}
}

@media (max-height: 870px) {
	.fpc-modal {
		align-items: flex-start;
		padding-top: calc(var(--fpc-top-menu-h) + 24px);
	}
}

.fpc-modal__backdrop {
	position: fixed;
	inset: 0;
	background: rgba(232, 240, 242, 0.55);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.fpc-modal__dialog {
	position: relative;
	flex-shrink: 0;
	margin: auto;
	animation: fpc-modal-in 0.28s ease;
}

@keyframes fpc-modal-in {
	from { opacity: 0; transform: translateY(12px) scale(0.98); }
	to { opacity: 1; transform: none; }
}

.fpc-modal__dialog .fpc-trial-card__title {
	margin-bottom: 0;
}

.fpc-modal__subtitle {
	margin: 24px auto 32px;
	font-family: var(--faddom-type-body-medium-family) !important;
	font-size: var(--faddom-type-body-medium-size) !important;
	font-weight: var(--faddom-type-body-medium-weight) !important;
	line-height: var(--faddom-type-body-medium-line) !important;
	letter-spacing: var(--faddom-type-body-medium-tracking) !important;
	font-style: normal;
	text-align: center !important;
	color: var(--faddom-color-granite-500) !important;
	max-width: 386px;
}

.fpc-field {
	display: block;
	text-align: left;
	margin-bottom: 24px;
}

.fpc-field__label {
	display: block;
	margin-bottom: 6px;
	font-size: var(--faddom-type-body-xsmall-emphasis-size);
	font-weight: var(--faddom-type-body-xsmall-emphasis-weight);
	line-height: var(--faddom-type-body-xsmall-emphasis-line);
	letter-spacing: var(--faddom-type-body-xsmall-emphasis-tracking);
	color: var(--faddom-color-dark);
}

.fpc .fpc-field input,
.fpc .fpc-field input:hover,
.fpc .fpc-field input:focus {
	width: 100% !important;
	padding: 14px 16px!important;
	border: none !important;
	box-shadow: #06232333 0 0 0 1px inset !important;
	border-radius: 10px !important;
	font-family: var(--faddom-font-body) !important;
	font-size: var(--faddom-type-body-small-size) !important;
	font-weight: var(--faddom-type-body-small-weight) !important;
	line-height: 20px !important;
	letter-spacing: var(--faddom-type-body-small-tracking) !important;
	color: var(--faddom-color-aqua-800) !important;
	background-color: var(--faddom-color-white) !important;
	outline: none !important;
}

.fpc .fpc-field input:focus {
	box-shadow: #08585833 0 0 0 1px inset !important;
}

.fpc-field input::placeholder {
	color: var(--faddom-color-granite-400);
}

.fpc-trial-card {
	width: min(532px, 100%);
	margin: 0 auto;
	padding: 64px 32px;
	border-radius: 16px;
	background: var(--faddom-color-white);
	text-align: center;
}

.fpc-trial-card__title {
	margin: 0 0 32px;
	font-family: var(--faddom-type-title-medium-family) !important;
	font-size: var(--faddom-type-title-medium-size) !important;
	font-weight: var(--faddom-type-title-medium-weight) !important;
	line-height: var(--faddom-type-title-medium-line) !important;
	letter-spacing: var(--faddom-type-title-medium-tracking) !important;
	color: var(--faddom-color-aqua-800) !important;
	text-align: center;
}

.fpc-trial-card__body {
	padding: 0 40px;
}

.fpc-trial-card__body .faddom-btn {
	padding: 12px;
}

.fpc-trial-card .fpc-validation {
	margin-top: 8px;
	margin-bottom: 0;
}

body.fpc-modal-open {
	overflow: hidden;
}

@media (max-width: 1024px) {
	.fpc-usecases {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.fpc-env__grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		justify-content: stretch;
	}

	.fpc button.fpc-env-card,
	.fpc .fpc-env-card {
		flex: none !important;
		width: 100% !important;
		max-width: 100% !important;
		height: 84px !important;
		min-height: 84px !important;
		padding: 19px 16px !important;
	}
	
}

@media (max-width: 768px) {
	.fpc {
		padding: 40px 16px;
	}

	.fpc-progress {
		margin: 0 auto 32px;
		max-width: 151px;
	}

	.fpc-title,
	.fpc h2.fpc-title {
		margin: 0 auto 16px;
		max-width:320px;
		text-wrap-style: auto;
		font-size: var(--faddom-type-heading-small-size) !important;
		line-height: var(--faddom-type-heading-small-line) !important;
	}

	.fpc-subtitle {
		margin-bottom:24px!important;
	}
	.fpc-actions {
		margin-top: 36px;
	}

	.fpc-usecases {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: 100% !important;
		max-width: 100% !important;
		align-items: stretch;
	}

	.fpc button.fpc-uc,
	.fpc .fpc-uc {
		height: 100% !important;
		min-height: 126px !important;
		gap: 6px !important;
		white-space: normal !important;
		justify-content: flex-start !important;
	}

	.fpc .fpc-uc__icon-wrap {
		display: none !important;
	}

	.fpc .fpc-uc__name {
		color: #032d2d !important;
		margin: 0 !important;
	}

	.fpc .fpc-uc__desc {
		color: #486666 !important;
		margin-top: 0 !important;
	}

	.fpc .fpc-uc.is-selected .fpc-uc__name,
	.fpc .fpc-uc.is-selected .fpc-uc__desc {
		color: #ffffff !important;
	}

	.fpc .fpc-uc.is-selected .fpc-uc__check {
		display:none;
	}

	.fpc-env__grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fpc button.fpc-env-card,
	.fpc .fpc-env-card {
		width: 100% !important;
		max-width: 100% !important;
		height: 64px !important;
		min-height: 64px !important;
		padding: 12px 10px !important;
	}

	.fpc-banner {
		flex-direction: column;
		align-items: stretch;
		text-align: left;
		padding: 16px;
		margin-top: 24px;
	}

	.fpc-banner__icon {
		display: none;
	}

	.fpc-banner__text {
		padding-right: 0;
		text-align: left;
	}

	.fpc-banner__cta,
	.fpc-pdf-btn {
		align-self: flex-start !important;
	}

	.fpc-results__head {
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
	}

	.fpc-results__card {
		padding: 24px 16px;
	}

	.fpc-feat {
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 16px 0;
	}

	.fpc-feat__check {
		display: none;
	}

	.fpc-summary th,
	.fpc-summary td {
		display: block;
		width: 100%;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.fpc-summary th {
		padding-top: 16px !important;
		padding-bottom: 4px !important;
		border-bottom: none !important;
	}

	.fpc-summary td {
		padding-top: 4px !important;
		padding-bottom: 16px !important;
	}

	.fpc-trial-link {
		margin: 16px 0 0;
	}
	.fpc-carousel {
		gap: 0;
		width: 100%;
		max-width: 100%;
	}

	.fpc button.fpc-carousel__arrow,
	.fpc .fpc-carousel__arrow {
		display: none !important;
	}

	.fpc-carousel__track {
		width: 100% !important;
		max-width: 100%;
		height: 64px;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		padding: 0;
		-webkit-mask-image: linear-gradient(
			to right,
			transparent 0%,
			#000 56px,
			#000 calc(100% - 56px),
			transparent 100%
		);
		mask-image: linear-gradient(
			to right,
			transparent 0%,
			#000 56px,
			#000 calc(100% - 56px),
			transparent 100%
		);
	}

	.fpc-carousel__track::-webkit-scrollbar {
		display: none;
	}

	.fpc-carousel__inner {
		display: flex;
		align-items: center;
		gap: 10px;
		width: max-content;
		height: 100%;
		padding: 0;
		transform: none !important;
	}

	.fpc button.fpc-server-card,
	.fpc .fpc-server-card {
		flex: 0 0 198px !important;
		width: 198px !important;
		height: 64px !important;
		padding: 19px 24px !important;
		border-radius: 8px !important;
		font-size: 16px !important;
		line-height: 24px !important;
		letter-spacing: -0.01em !important;
		font-weight: 400 !important;
		color: #032d2d !important;
		border: 1px solid rgba(6, 35, 35, 0.2) !important;
		background: #ffffff !important;
		scroll-snap-align: center;
		opacity: 1 !important;
		filter: none !important;
	}

	.fpc button.fpc-server-card.is-selected,
	.fpc button.fpc-server-card.is-selected:hover,
	.fpc .fpc-server-card.is-selected,
	.fpc .fpc-server-card.is-selected:hover {
		background: #085858 !important;
		background-color: #085858 !important;
		border-color: #085858 !important;
		color: #ffffff !important;
		opacity: 1 !important;
	}

	.fpc-env,
	.fpc-env__grid,
	.fpc-usecases,
	.fpc-banner,
	.fpc-results,
	.fpc-features {
		max-width: 100%;
	}

	.fpc-env-card img {
		max-width: 100%;
		height: auto;
	}

	.fpc-modal {
		padding: 16px;
		align-items: center;
	}

	.fpc-modal__dialog {
		width: 100%;
		max-width: 100%;
	}

	.fpc-trial-card {
		padding: 32px 16px 22px;
		border-radius: 16px;
	}

	.fpc-trial-card__title {
		padding: 0;
		text-wrap-style: pretty;
	}

	.fpc-trial-card__body {
		padding: 0;
	}

	.fpc-actions--split {
		display: flex;
		flex-direction: column;
		width: 100%;
		gap: 16px;
	}

	#fpc-step-2 .fpc-actions--split, #fpc-step-3 .fpc-actions--split {
		flex-direction: column-reverse;
	}

	.fpc-actions--split .faddom-btn {
		width: 100%;
		min-height: 0 !important;
	}

	.fpc button.faddom-btn--primary,
	.fpc .faddom-btn--primary {
		width: 100%;
	}

	.fpc-feat__name {
		font-family: var(--faddom-type-body-medium-emphasis-family);
		font-size: var(--faddom-type-body-medium-emphasis-size);
		font-weight: var(--faddom-type-body-medium-emphasis-weight);
		line-height: var(--faddom-type-body-medium-emphasis-line);
		letter-spacing: var(--faddom-type-body-medium-emphasis-tracking);
	}
	
	.fpc-feat__desc {
		font-family: var(--faddom-type-body-medium-family);
		font-size: var(--faddom-type-body-medium-size);
		font-weight: var(--faddom-type-body-medium-weight);
		line-height: var(--faddom-type-body-medium-line);
		letter-spacing: var(--faddom-type-body-medium-tracking);
	}
}
