.kra-bks,
.kra-bks * {
	box-sizing: border-box;
}

.kra-bks {
	--kra-navy: #0a2740;
	--kra-blue: #033159;
	--kra-gold: #ac874b;
	--kra-cream: #f2ebe7;
	--kra-white: #fff;
	--kra-text: #262626;
	--kra-muted: #66717a;
	--kra-border: #d8dde2;
	--kra-error: #9e2b2b;
	max-width: 980px;
	margin: 36px auto;
	color: var(--kra-text);
	font-family: Poppins, Roboto, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.55;
}

.kra-bks h2,
.kra-bks legend {
	color: var(--kra-navy);
	font-family: "DM Serif Text", Georgia, serif;
}

.kra-bks-heading {
	margin-bottom: 28px;
}

.kra-bks-heading h2 {
	margin: 2px 0 8px;
	font-size: clamp(29px, 4vw, 42px);
	font-weight: 400;
	line-height: 1.15;
}

.kra-bks-heading > p:last-child {
	max-width: 720px;
	margin: 0;
	color: var(--kra-muted);
}

.kra-bks-eyebrow {
	margin: 0;
	color: var(--kra-gold);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.kra-bks-progress {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 580px;
	margin: 0 auto 38px;
	color: var(--kra-muted);
	font-size: 14px;
	font-weight: 600;
}

.kra-bks-progress__item {
	display: flex;
	align-items: center;
	gap: 9px;
	white-space: nowrap;
}

.kra-bks-progress__item span {
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border: 1px solid var(--kra-border);
	border-radius: 50%;
	background: var(--kra-white);
}

.kra-bks-progress__item.is-active,
.kra-bks-progress__item.is-done {
	color: var(--kra-navy);
}

.kra-bks-progress__item.is-active span,
.kra-bks-progress__item.is-done span {
	border-color: var(--kra-navy);
	background: var(--kra-navy);
	color: var(--kra-white);
}

.kra-bks-progress__line {
	width: 90px;
	height: 1px;
	margin: 0 14px;
	background: var(--kra-border);
}

.kra-bks.is-enhanced .kra-bks-step[data-step="2"] {
	display: none;
}

.kra-bks.is-enhanced.is-step-2 .kra-bks-step[data-step="1"] {
	display: none;
}

.kra-bks.is-enhanced.is-step-2 .kra-bks-step[data-step="2"] {
	display: block;
}

.kra-bks-packages {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-bottom: 24px;
}

.kra-bks-package {
	position: relative;
	display: block;
	cursor: pointer;
}

.kra-bks-package input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.kra-bks-package__card {
	position: relative;
	display: flex;
	min-height: 260px;
	height: 100%;
	padding: 32px;
	flex-direction: column;
	border: 2px solid var(--kra-border);
	border-radius: 6px;
	background: var(--kra-white);
	box-shadow: 0 10px 30px rgba(10, 39, 64, .06);
	transition: border-color .2s, box-shadow .2s, transform .2s;
}

.kra-bks-package:hover .kra-bks-package__card {
	border-color: #b7a483;
	transform: translateY(-2px);
}

.kra-bks-package input:focus-visible + .kra-bks-package__card {
	outline: 3px solid rgba(172, 135, 75, .35);
	outline-offset: 3px;
}

.kra-bks-package input:checked + .kra-bks-package__card {
	border-color: var(--kra-gold);
	box-shadow: 0 14px 36px rgba(10, 39, 64, .13);
}

.kra-bks-package__check {
	position: absolute;
	top: 18px;
	right: 18px;
	display: grid;
	width: 27px;
	height: 27px;
	place-items: center;
	border: 1px solid var(--kra-border);
	border-radius: 50%;
	color: transparent;
}

.kra-bks-package input:checked + .kra-bks-package__card .kra-bks-package__check {
	border-color: var(--kra-gold);
	background: var(--kra-gold);
	color: var(--kra-white);
}

.kra-bks-package__card > strong {
	max-width: 82%;
	margin-bottom: 12px;
	color: var(--kra-navy);
	font-size: 19px;
	line-height: 1.35;
}

.kra-bks-package__price {
	margin-bottom: 20px;
	color: var(--kra-navy);
	font-family: "DM Serif Text", Georgia, serif;
	font-size: 38px;
	line-height: 1;
}

.kra-bks-package__description {
	color: var(--kra-muted);
	font-size: 14px;
}

.kra-bks-button {
	display: inline-flex;
	min-height: 50px;
	padding: 13px 24px;
	align-items: center;
	justify-content: center;
	gap: 12px;
	border: 1px solid transparent;
	border-radius: 3px;
	font: inherit;
	font-weight: 700;
	line-height: 1.25;
	cursor: pointer;
	transition: background .2s, color .2s, border-color .2s;
}

.kra-bks .kra-bks-button.kra-bks-button--primary,
.kra-bks button.kra-bks-button.kra-bks-button--primary {
	border-color: var(--kra-navy) !important;
	background-color: var(--kra-navy) !important;
	background-image: none !important;
	color: var(--kra-white) !important;
	-webkit-text-fill-color: var(--kra-white) !important;
}

.kra-bks .kra-bks-button.kra-bks-button--primary:hover,
.kra-bks .kra-bks-button.kra-bks-button--primary:focus,
.kra-bks .kra-bks-button.kra-bks-button--primary:focus-visible,
.kra-bks button.kra-bks-button.kra-bks-button--primary:hover,
.kra-bks button.kra-bks-button.kra-bks-button--primary:focus {
	border-color: var(--kra-blue) !important;
	background-color: var(--kra-blue) !important;
	background-image: none !important;
	color: var(--kra-white) !important;
	-webkit-text-fill-color: var(--kra-white) !important;
}

.kra-bks .kra-bks-button.kra-bks-button--primary *,
.kra-bks .kra-bks-button.kra-bks-button--primary:hover * {
	color: var(--kra-white) !important;
	-webkit-text-fill-color: var(--kra-white) !important;
}

.kra-bks-button--secondary {
	border-color: var(--kra-border);
	background: var(--kra-white);
	color: var(--kra-navy);
}

.kra-bks-button--secondary:hover,
.kra-bks-button--secondary:focus-visible {
	border-color: var(--kra-navy);
}

.kra-bks-fieldset {
	margin: 0 0 26px;
	padding: 28px;
	border: 1px solid var(--kra-border);
	border-radius: 5px;
	background: var(--kra-white);
	box-shadow: 0 7px 24px rgba(10, 39, 64, .04);
}

.kra-bks-fieldset legend {
	padding: 0 10px;
	font-size: 24px;
}

.kra-bks-grid {
	display: grid;
	gap: 20px;
}

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

.kra-bks-grid__wide {
	grid-column: 1 / -1;
}

.kra-bks-field label {
	display: block;
	margin-bottom: 7px;
	color: var(--kra-navy);
	font-size: 14px;
	font-weight: 700;
}

.kra-bks-field label span,
.kra-bks-checkbox b {
	color: var(--kra-error);
}

.kra-bks-field input,
.kra-bks-field textarea,
.kra-bks-withdrawal input {
	width: 100%;
	min-height: 47px;
	padding: 11px 13px;
	border: 1px solid var(--kra-border);
	border-radius: 3px;
	background: #fff;
	color: var(--kra-text);
	font: inherit;
}

.kra-bks-field textarea {
	min-height: auto;
	resize: vertical;
}

.kra-bks-field input:focus,
.kra-bks-field textarea:focus,
.kra-bks-withdrawal input:focus {
	border-color: var(--kra-gold);
	box-shadow: 0 0 0 3px rgba(172, 135, 75, .16);
	outline: 0;
}

.kra-bks-help {
	margin-top: 0;
	color: var(--kra-muted);
	font-size: 14px;
}

.kra-bks-upload-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.kra-bks-upload {
	padding: 0;
	border: 1px dashed #aeb8c0;
	border-radius: 5px;
	background: #fafbfc;
	overflow: hidden;
}

.kra-bks-upload > label {
	display: flex;
	min-height: 210px;
	padding: 24px;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	cursor: pointer;
}

.kra-bks-upload:hover {
	border-color: var(--kra-gold);
	background: #fffdfa;
}

.kra-bks-upload__icon {
	display: grid;
	width: 42px;
	height: 42px;
	margin-bottom: 12px;
	place-items: center;
	border-radius: 50%;
	background: var(--kra-cream);
	color: var(--kra-gold);
	font-size: 25px;
}

.kra-bks-upload strong {
	color: var(--kra-navy);
}

.kra-bks-upload small {
	min-height: 44px;
	margin: 5px 0 14px;
	color: var(--kra-muted);
	font-size: 12px;
}

.kra-bks-upload__button {
	color: var(--kra-blue);
	font-size: 13px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.kra-bks-upload input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.kra-bks-file-list {
	margin: 0;
	padding: 0 14px 12px 30px;
	color: var(--kra-muted);
	font-size: 12px;
}

.kra-bks-legal {
	background: #fcfaf8;
}

.kra-bks-legal details {
	margin-bottom: 18px;
	border-bottom: 1px solid var(--kra-border);
}

.kra-bks-legal__summary {
	margin-bottom: 20px;
	padding: 20px;
	border-left: 4px solid var(--kra-gold);
	background: var(--kra-white);
}

.kra-bks-legal__summary h3 {
	margin: 0 0 12px;
	color: var(--kra-navy);
	font-family: "DM Serif Text", Georgia, serif;
	font-size: 22px;
	font-weight: 400;
}

.kra-bks-legal__summary > div {
	font-size: 13px;
}

.kra-bks-legal summary {
	padding: 8px 0 16px;
	color: var(--kra-navy);
	font-weight: 700;
	cursor: pointer;
}

.kra-bks-legal__text {
	max-height: 360px;
	margin-bottom: 18px;
	padding: 18px;
	overflow: auto;
	border: 1px solid var(--kra-border);
	background: #fff;
	font-size: 13px;
}

.kra-bks-checkbox {
	display: grid;
	margin: 15px 0;
	grid-template-columns: 22px 1fr;
	gap: 10px;
	align-items: start;
	color: var(--kra-text);
	font-size: 13px;
	cursor: pointer;
}

.kra-bks-checkbox input {
	width: 19px;
	height: 19px;
	margin-top: 2px;
	accent-color: var(--kra-gold);
}

.kra-bks-order-summary {
	display: grid;
	margin: 26px 0 12px;
	padding: 20px 24px;
	grid-template-columns: 1fr auto;
	gap: 2px 24px;
	border-left: 4px solid var(--kra-gold);
	background: var(--kra-cream);
}

.kra-bks-order-summary > span,
.kra-bks-order-summary > small {
	grid-column: 1 / -1;
	color: var(--kra-muted);
	font-size: 12px;
}

.kra-bks-order-summary > strong {
	color: var(--kra-navy);
}

.kra-bks-order-summary > b {
	color: var(--kra-navy);
	font-size: 20px;
}

.kra-bks-order-note {
	margin: 10px 0 22px;
	color: var(--kra-muted);
	font-size: 12px;
}

.kra-bks-actions {
	display: flex;
	justify-content: space-between;
	gap: 14px;
}

.kra-bks-alert {
	margin-bottom: 26px;
	padding: 18px 20px;
	border-radius: 4px;
}

.kra-bks-alert--error {
	border-left: 4px solid var(--kra-error);
	background: #fff1f1;
	color: #681b1b;
}

.kra-bks-alert ul {
	margin: 8px 0 0 20px;
}

.kra-bks-inline-error {
	color: var(--kra-error);
	font-size: 13px;
	font-weight: 600;
}

.kra-bks-success {
	padding: 48px 30px;
	border: 1px solid #cddbd1;
	border-radius: 5px;
	background: #f4faf5;
	text-align: center;
}

.kra-bks-success__icon {
	display: grid;
	width: 56px;
	height: 56px;
	margin: 0 auto 16px;
	place-items: center;
	border-radius: 50%;
	background: var(--kra-navy);
	color: #fff;
	font-size: 28px;
}

.kra-bks-success h2 {
	margin: 0 0 10px;
}

.kra-bks-withdrawal {
	max-width: 720px;
}

.kra-bks-withdrawal .kra-bks-form {
	padding: 30px;
	border: 1px solid var(--kra-border);
	background: #fff;
	box-shadow: 0 10px 34px rgba(10, 39, 64, .08);
}

.kra-bks-withdrawal .kra-bks-field {
	margin-bottom: 20px;
}

.kra-bks-withdrawal__statement {
	margin: 24px 0;
	padding: 18px;
	border-left: 4px solid var(--kra-gold);
	background: var(--kra-cream);
}

.kra-bks-withdrawal__statement p {
	margin: 5px 0 0;
}

.kra-bks-hp {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.kra-bks-footer {
	clear: both;
	padding: 16px 20px;
	background: #0a2740;
	text-align: center;
}

.kra-bks-footer .kra-bks-withdrawal-link {
	display: inline-block;
	padding: 8px 13px;
	background: transparent !important;
	color: #fff !important;
	font-family: Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: underline !important;
}

.kra-bks-footer .kra-bks-withdrawal-link:hover,
.kra-bks-footer .kra-bks-withdrawal-link:focus {
	color: #fff !important;
	text-decoration-thickness: 2px !important;
}

.kra-bks-footer .kra-bks-withdrawal-link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

@media (max-width: 700px) {
	.kra-bks {
		margin: 24px auto;
	}

	.kra-bks-packages,
	.kra-bks-grid--2,
	.kra-bks-upload-grid {
		grid-template-columns: 1fr;
	}

	.kra-bks-fieldset {
		padding: 20px 16px;
	}

	.kra-bks-progress {
		justify-content: space-between;
		font-size: 12px;
	}

	.kra-bks-progress__line {
		width: 36px;
		margin: 0 7px;
	}

	.kra-bks-actions {
		align-items: stretch;
		flex-direction: column-reverse;
	}

	.kra-bks-button {
		width: 100%;
	}

	.kra-bks-order-summary {
		grid-template-columns: 1fr;
	}

	.kra-bks-order-summary > b {
		margin-top: 5px;
	}

	.kra-bks-withdrawal .kra-bks-form {
		padding: 22px 16px;
	}

}

@media (prefers-reduced-motion: reduce) {
	.kra-bks-package__card,
	.kra-bks-button {
		transition: none;
	}
}
