/* Responsive, server-rendered NET Success order confirmation. */
body.ns-thank-you-body {
	background: #FDF1ED;
	color: #111111;
}

.ns-thank-you-body .ns-checkout-header {
	width: min(1100px, calc(100% - 48px));
	min-height: 86px;
	margin: 0 auto;
	padding: 16px 0;
	border: 0;
	background: transparent;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	gap: 20px;
}

.ns-thank-you-body .ns-checkout-brand {
	gap: 12px;
	color: #3B1E54;
	font: 700 19px/1.2 'Outfit', sans-serif;
}

.ns-thank-you-body .ns-checkout-brand strong { font-weight: 700; }
.ns-thank-you-body .ns-checkout-brand img.custom-logo {
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	border-radius: 50%;
	object-fit: contain;
}

.ns-thank-you-body .ns-checkout-header-center {
	display: block;
	color: #625D65;
	font: 600 13px/1.4 'Plus Jakarta Sans', sans-serif;
	letter-spacing: .02em;
}

.ns-thank-you-body .ns-checkout-header-back {
	color: #3B1E54;
	font: 600 13px/1.4 'Plus Jakarta Sans', sans-serif;
}

.ns-thank-you-body .ns-checkout-footer { display: none; }

.ns-thank-you-body .ns-checkout-main {
	width: min(1020px, calc(100% - 40px));
	margin: 0 auto;
	padding: 16px 0 56px;
}

.ns-confirmation {
	width: 100%;
	padding: clamp(24px, 4.6vw, 52px);
	border: 1px solid #E8DDE9;
	border-radius: 24px;
	background: #FFFFFF;
	box-shadow: 0 18px 52px rgba(59, 30, 84, .08);
	color: #111111;
	font: 400 17px/1.7 'Plus Jakarta Sans', sans-serif;
}

.ns-confirmation h1,
.ns-confirmation h2 {
	color: #3B1E54;
	font-family: 'Outfit', sans-serif;
}

.ns-confirmation-preview-notice {
	display: grid;
	gap: 4px;
	margin: 0 0 28px;
	padding: 14px 18px;
	border: 1px solid #F8E5DF;
	border-radius: 12px;
	background: #FFF8F5;
	color: #3B1E54;
	font-size: 14px;
	line-height: 1.55;
}

.ns-confirmation-preview-notice strong {
	font-size: 12px;
	letter-spacing: .07em;
}

.ns-confirmation-hero {
	margin: 0 0 30px;
	padding: 0 0 30px;
	border-bottom: 1px solid #EBD5E8;
	text-align: center;
}

.ns-confirmation-icon {
	display: grid;
	width: 60px;
	height: 60px;
	place-items: center;
	margin: 0 auto 17px;
	border: 1px solid #F4B6A6;
	border-radius: 50%;
	background: #FDF1ED;
	color: #3B1E54;
}

.ns-confirmation-icon svg {
	width: 28px;
	height: 28px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ns-confirmation .ns-confirmation-label {
	display: block;
	margin: 0 0 9px;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: #6F5680;
	font: 700 12px/1.5 'Plus Jakarta Sans', sans-serif;
	letter-spacing: .08em;
}

.ns-confirmation h1 {
	max-width: 760px;
	margin: 0 auto 8px;
	font-size: clamp(34px, 4vw, 40px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.025em;
	text-wrap: balance;
}

.ns-confirmation .ns-confirmation-subtitle {
	margin: 0 auto 11px;
	font-size: clamp(22px, 2.6vw, 26px);
	font-weight: 600;
	line-height: 1.3;
	text-wrap: balance;
}

.ns-confirmation p { margin-top: 0; }

.ns-confirmation-intro {
	max-width: 740px;
	margin: 0 auto !important;
	color: #39323D;
	font-size: 17px;
	line-height: 1.7;
}

.ns-confirmation-layout {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
	align-items: stretch;
	gap: 22px;
}

.ns-confirmation-card {
	min-width: 0;
	padding: clamp(20px, 2.6vw, 28px);
	border: 1px solid #E8DDE9;
	border-radius: 18px;
	background: #FFFFFF;
}

.ns-confirmation h2 {
	margin: 0 0 12px;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
}

.ns-confirmation-details { margin: 0; }

.ns-confirmation-details > div {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid #EBD5E8;
	font: 400 15px/1.55 'Plus Jakarta Sans', sans-serif;
}

.ns-confirmation-details > div:last-child { border-bottom: 0; }
.ns-confirmation-details dt { color: #625D65; }
.ns-confirmation-details dd {
	min-width: 0;
	margin: 0;
	color: #3B1E54;
	font-weight: 600;
	text-align: right;
	overflow-wrap: anywhere;
}

.ns-confirmation-status {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 7px;
	color: #3B1E54;
	font-weight: 700;
}

.ns-confirmation-status svg {
	width: 17px;
	height: 17px;
	flex: 0 0 17px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ns-confirmation-details > .ns-confirmation-total {
	margin: 9px 0 0;
	padding: 14px 15px;
	border: 0;
	border-radius: 12px;
	background: #FDF1ED;
}

.ns-confirmation-total dt { color: #3F3544; font-weight: 600; }
.ns-confirmation-total dd { font-size: 16px; font-weight: 700; }

.ns-confirmation-steps {
	display: grid;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ns-confirmation-steps li {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	align-items: start;
	gap: 12px;
	padding: 0;
	color: #26202A;
	font-size: 15px;
	line-height: 1.65;
}

.ns-confirmation-step-icon {
	display: inline-flex;
	width: 22px;
	height: 24px;
	align-items: center;
	justify-content: center;
	color: #3B1E54;
}

.ns-confirmation-step-icon svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ns-confirmation-steps strong {
	display: block;
	margin: 0 0 3px;
	color: #3B1E54;
	font: 600 16px/1.4 'Outfit', sans-serif;
}

.ns-confirmation-steps li > div > span { display: block; }
.ns-confirmation-steps li:nth-child(3) { margin-top: 0; }

.ns-confirmation-resource-link {
	display: inline-flex;
	margin-top: 5px;
	color: #3B1E54;
	font-size: 15px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ns-confirmation-downloads summary { cursor: pointer; }
.ns-confirmation-downloads ol {
	display: grid;
	gap: 7px;
	margin: 8px 0 0;
	padding-left: 20px;
}

.ns-confirmation-downloads a {
	color: #3B1E54;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.ns-confirmation-access-note {
	display: block;
	margin-top: 5px;
	color: #625D65;
	font-size: 13px;
}

.ns-confirmation-next > p {
	margin: 0;
	color: #514653;
	font-size: 16px;
}

.ns-confirmation-button {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	max-width: 100%;
	padding: 12px 24px;
	border: 1px solid transparent;
	border-radius: 99px;
	font: 700 16px/1.4 'Plus Jakarta Sans', sans-serif;
	text-align: center;
	text-decoration: none;
}

.ns-confirmation-button-primary {
	background: #3B1E54;
	color: #FFFFFF;
}

.ns-confirmation-button-primary:hover {
	background: #4C286B;
	color: #FFFFFF;
}

.ns-confirmation-next .ns-confirmation-button { margin-top: 20px; }

.ns-confirmation-support {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 22px;
	padding: 20px 24px;
	border: 1px solid #F8E5DF;
	border-radius: 18px;
	background: #FDF1ED;
}

.ns-confirmation-support h2 {
	margin: 0 0 4px;
	font-size: 22px;
}

.ns-confirmation-support p {
	margin: 0;
	color: #514653;
	font-size: 15px;
	line-height: 1.6;
}

.ns-confirmation-support > a {
	flex: 0 0 auto;
	color: #3B1E54;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.ns-confirmation-support > a:hover { text-decoration: underline; }

.ns-confirmation-return {
	margin: 24px 0 0;
	text-align: center;
}

.ns-thank-you-body .ns-confirmation .ns-confirmation-return .ns-confirmation-button { width: min(320px, 100%) !important; }

.ns-confirmation-editor-copy {
	margin-top: 20px;
	padding: 20px;
	border: 1px solid #E8DDE9;
	border-radius: 18px;
	background: #FFFFFF;
	color: #514653;
}

.ns-confirmation-editor-copy > :first-child { margin-top: 0; }
.ns-confirmation-editor-copy > :last-child { margin-bottom: 0; }
.ns-confirmation.is-invalid .ns-confirmation-hero { margin-bottom: 24px; }

.ns-thank-you-body .ns-checkout-header a:focus-visible,
.ns-confirmation a:focus-visible,
.ns-confirmation summary:focus-visible {
	outline: 3px solid #3B1E54;
	outline-offset: 4px;
}

@media (max-width: 760px) {
	.ns-confirmation-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.ns-confirmation-card { padding: 22px; }
	.ns-confirmation-support { align-items: flex-start; flex-direction: column; gap: 8px; }
}

@media (max-width: 600px) {
	.ns-thank-you-body .ns-checkout-header {
		width: calc(100% - 32px);
		min-height: 70px;
		padding: 12px 0;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px;
	}
	.ns-thank-you-body .ns-checkout-brand { gap: 9px; font-size: 17px; }
	.ns-thank-you-body .ns-checkout-brand img.custom-logo { width: 42px; height: 42px; flex-basis: 42px; }
	.ns-thank-you-body .ns-checkout-header-center { justify-self: end; font-size: 11px; }
	.ns-thank-you-body .ns-checkout-header-back { display: none; }
	.ns-thank-you-body .ns-checkout-main { width: calc(100% - 24px); padding: 8px 0 32px; }
	.ns-confirmation { padding: 24px 20px; border-radius: 20px; font-size: 16px; }
	.ns-confirmation-preview-notice { margin-bottom: 22px; padding: 12px 14px; font-size: 13px; }
	.ns-confirmation-hero { margin-bottom: 22px; padding-bottom: 22px; }
	.ns-confirmation-icon { width: 54px; height: 54px; margin-bottom: 14px; }
	.ns-confirmation-icon svg { width: 25px; height: 25px; }
	.ns-confirmation .ns-confirmation-label { font-size: 10px; }
	.ns-confirmation h1 { font-size: clamp(30px, 8vw, 36px); }
	.ns-confirmation .ns-confirmation-subtitle { font-size: 22px; }
	.ns-confirmation-intro { font-size: 15px; line-height: 1.65; }
	.ns-confirmation-layout { gap: 14px; }
	.ns-confirmation-card { padding: 19px; border-radius: 16px; }
	.ns-confirmation h2,
	.ns-confirmation-support h2 { font-size: 20px; }
	.ns-confirmation-details > div { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 10px; padding: 12px 0; font-size: 14px; }
	.ns-confirmation-details > .ns-confirmation-total { padding: 12px; }
	.ns-confirmation-steps { gap: 15px; }
	.ns-confirmation-steps li { grid-template-columns: 20px minmax(0, 1fr); gap: 10px; font-size: 14px; }
	.ns-confirmation-steps strong { font-size: 15px; }
	.ns-confirmation-support { margin-top: 16px; padding: 18px; border-radius: 16px; }
	.ns-confirmation-support p { font-size: 14px; }
	.ns-confirmation-support > a { font-size: 15px; }
	.ns-confirmation-return { margin-top: 18px; }
	.ns-thank-you-body .ns-confirmation .ns-confirmation-return .ns-confirmation-button { width: 100% !important; }
}

@media (max-width: 360px) {
	.ns-confirmation { padding: 21px 16px; }
	.ns-confirmation-card { padding: 17px 15px; }
	.ns-confirmation-details > div { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 8px; font-size: 13px; }
	.ns-confirmation-details dd { overflow-wrap: anywhere; }
}
