@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap");

@font-face {
	font-family: "SchemeRg-Regular";
	src: url("../fonts/19F72D_0_0.eot");
	src: url("../fonts/19F72D_0_0.eot?#iefix") format("embedded-opentype"),
		url("../fonts/19F72D_0_0.woff") format("woff"),
		url("../fonts/19F72D_0_0.ttf") format("truetype");
	font-display: swap;
	font-style: normal;
	font-weight: 400;
}

/* One-order receipt access */
.jkl-order-access {
	padding-bottom: 4rem;
	padding-top: 3rem;
}

.jkl-order-access__card {
	background: #fff;
	border: 1px solid #dbe5dc;
	border-radius: .75rem;
	box-shadow: 0 .75rem 2rem rgba(10, 46, 22, .08);
	margin: 0 auto;
	max-width: 38rem;
	padding: 2.25rem;
	text-align: center;
}

.jkl-order-access__icon {
	align-items: center;
	background: #eaf5ed;
	border-radius: 50%;
	color: #1d7137;
	display: inline-flex;
	font-size: 1.4rem;
	height: 3.25rem;
	justify-content: center;
	margin-bottom: 1rem;
	width: 3.25rem;
}

.jkl-order-access__card form {
	display: grid;
	margin: 1.5rem 0 1rem;
}

.jkl-order-access__back {
	color: #246b35;
	font-weight: 600;
}

.jkl-order-access__heading,
.jkl-order-access__actions {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.jkl-order-access__eyebrow {
	color: #587064;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .08em;
	margin: 0 0 .25rem;
	text-transform: uppercase;
}

.jkl-order-access__heading h1 {
	margin-bottom: .25rem;
}

.jkl-order-access__notice {
	margin: 1.5rem 0;
}

.jkl-order-access__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jkl-order-access__section {
	background: #fff;
	border: 1px solid #dbe5dc;
	border-radius: .65rem;
	padding: 1.25rem;
}

.jkl-order-access__section h2 {
	color: #082050;
	font-size: 1.15rem;
	margin-bottom: .85rem;
}

.jkl-order-access__section p {
	margin: 0 0 .25rem;
}

.jkl-order-access__items {
	margin-top: 1rem;
}

.jkl-order-access__actions {
	justify-content: flex-end;
	margin-top: 1.25rem;
}

@media (max-width: 767.98px) {
	.jkl-order-access {
		padding-top: 1.5rem;
	}

	.jkl-order-access__card {
		padding: 1.25rem;
	}

	.jkl-order-access__heading,
	.jkl-order-access__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.jkl-order-access__grid {
		grid-template-columns: 1fr;
	}
}

/* Checkout redesign: isolated from the shared header, footer, and catalog UI. */
#checkout-checkout.jkl-checkout-redesign {
	max-width: 1420px;
	padding-block: 1.5rem 3rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-title {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-title h1 {
	margin: 0;
	color: #0d1748;
	font-size: clamp(2rem, 3vw, 2.75rem);
	line-height: 1.05;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-title__icon {
	display: inline-grid;
	width: 3rem;
	height: 3rem;
	place-items: center;
	border-radius: .65rem;
	background: #e6f4ed;
	color: var(--jkl-green-700);
	font-size: 1.45rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-session {
	margin-left: auto;
	padding: .55rem .8rem;
	border: 1px solid #b9d7c6;
	border-radius: .5rem;
	background: #eef8f2;
	color: var(--jkl-green-700);
	font-size: .85rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-card,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-summary__sticky {
	border: 1px solid #dce4df;
	border-radius: .65rem;
	background: #fff;
	box-shadow: 0 .35rem 1.2rem rgba(20, 66, 44, .045);
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express {
	margin-bottom: 1rem;
	padding: 1rem 1.15rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-section-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: .85rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-section-heading > div {
	display: flex;
	align-items: center;
	gap: .65rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-section-heading i {
	color: var(--jkl-green-700);
	font-size: 1.1rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-section-heading h2 {
	margin: 0;
	color: #0d1748;
	font-family: inherit;
	font-size: 1.08rem;
	font-weight: 800;
	line-height: 1.25;
	text-transform: none;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-section-heading small {
	color: #7b8498;
}

#checkout-checkout.jkl-checkout-redesign [data-jkl-order-summary] [data-jkl-totals-hidden="true"] { display: none !important; }

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-totals-pending {
	display: flex;
	align-items: flex-start;
	gap: .65rem;
	margin: .75rem 0;
	padding: .85rem;
	border: 1px solid #c9dccd;
	border-radius: .4rem;
	background: #f0f6f1;
	color: #235c30;
}
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-totals-pending > i { margin-top: .2rem; }
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-totals-pending strong,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-totals-pending small { display: block; }
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-totals-pending strong { font-size: .875rem; }
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-totals-pending small { margin-top: .25rem; color: #637568; }

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__methods {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .65rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__methods > div,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__methods > div > div {
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__methods > div,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__methods > div > div,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__methods .gpay-card-info-container,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__methods .gpay-card-info-container-fill {
	height: 53px !important;
	min-height: 53px !important;
	max-height: 53px !important;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__methods .googlepay-button-container {
	aspect-ratio: auto !important;
	overflow: hidden;
}

/* Apple renders a custom element, not the PayPal iframe/Google button wrappers.
   Override its inline width-derived height using Apple's sizing properties. */
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__methods apple-pay-button {
	--apple-pay-button-width: 100% !important;
	--apple-pay-button-height: 53px !important;
	/* Keep the shared button height; reduce Apple's proportional label size. */
	--apple-pay-button-box-sizing: border-box !important;
	--apple-pay-button-padding: 6px 0 !important;
	display: block;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 53px !important;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__methods .paypal-button-container,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__methods .paypal-button-container iframe {
	height: 53px !important;
	min-height: 53px !important;
	max-height: 53px !important;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__selection,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__selected {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .8rem .9rem;
	border: 1px solid #b9d7c6;
	border-radius: .5rem;
	background: #eef8f2;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__selection[hidden] {
	display: none;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__selection > div,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__selected > div {
	display: flex;
	align-items: center;
	gap: .55rem;
	color: var(--jkl-green-950);
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__selection i,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__selected i {
	color: var(--jkl-green-700);
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__summary {
	display: grid;
	gap: .12rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__summary small {
	color: #5f6878;
	font-size: .82rem;
	font-weight: 500;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__selection a,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__selected a {
	color: var(--jkl-green-700);
	font-weight: 700;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__selected .jkl-checkout-card-change {
	flex: 0 0 auto;
	width: auto;
	min-width: 6.75rem;
	margin-left: auto;
	padding: .45rem .8rem;
	border: 1px solid var(--jkl-green-700);
	border-radius: .4rem;
	background: #fff;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__provider {
	flex: 0 1 15rem;
	width: 15rem;
	max-width: 100%;
	height: 2.625rem;
	min-height: 2.625rem;
	margin-left: auto;
	overflow: hidden;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__provider > div,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__provider > div > div,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__provider .gpay-card-info-container,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__provider .gpay-card-info-container-fill {
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 2.625rem !important;
	min-height: 2.625rem !important;
	max-height: 2.625rem !important;
	margin: 0 !important;
	padding: 0 !important;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__provider iframe {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 2.625rem !important;
	min-height: 2.625rem !important;
	max-height: 2.625rem !important;
	border: 0 !important;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__provider .googlepay-button-container {
	display: block !important;
	aspect-ratio: auto !important;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__provider apple-pay-button {
	--apple-pay-button-width: 100% !important;
	--apple-pay-button-height: 2.625rem !important;
	display: block;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 2.625rem !important;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-payment__help {
	margin: .85rem 0;
	color: #5f6878;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-create {
	margin-top: 1rem;
	padding: 1rem;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius-sm);
	background: var(--jkl-surface-soft);
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-create h3 {
	margin: 0 0 .35rem;
	color: var(--jkl-green-950);
	font-size: 1rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-create h3 small {
	color: var(--jkl-muted);
	font-size: .85rem;
	font-weight: 400;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-create p {
	margin: 0 0 .8rem;
	color: var(--jkl-muted);
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-create__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-create .alert {
	margin: .8rem 0 0;
}

@media (max-width: 575.98px) {
	#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-create__fields {
		grid-template-columns: 1fr;
	}
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-confirm {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.8rem;
	font-weight: 800;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-confirm[hidden] {
	display: none !important;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express-confirm.disabled {
	pointer-events: auto;
	cursor: not-allowed;
	opacity: .58;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 28rem);
	align-items: start;
	gap: 1rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-summary {
	grid-column: 2;
	grid-row: 1;
	position: sticky;
	top: 9.25rem;
	align-self: start;
	max-height: calc(100vh - 10.25rem);
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__methods {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express .jkl-checkout-section-heading {
	flex-wrap: wrap;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express .jkl-checkout-section-heading small {
	flex-basis: 100%;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-choice > .jkl-checkout-section-heading,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-choice .jkl-checkout-customer-card[hidden] {
	display: none;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-options-grid {
	display: flex;
	flex-direction: column;
	gap: .75rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-customer-card {
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-customer-card:first-child {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: .35rem 1rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-customer-card:first-child h3,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-customer-card:first-child p {
	margin: 0;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-customer-card:first-child p {
	font-size: .85rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-actions {
	display: flex;
	grid-column: 2;
	grid-row: 1 / span 2;
	align-items: center;
	gap: .65rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-options .col {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .55rem 1.4rem;
	margin-bottom: 0 !important;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-choice .form-check {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	min-height: 2.25rem;
	margin: 0;
	padding: .35rem .2rem;
	font-size: 1rem;
	line-height: 1.25;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-choice .form-check-input {
	position: static;
	float: none;
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	margin: 0;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-choice .form-check-label {
	display: inline-flex;
	align-items: center;
	min-height: 1rem;
	margin: 0;
	font-size: .92rem;
	font-weight: 650;
	line-height: 1.2;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-signin {
	padding: .45rem .7rem;
	border: 1px solid rgb(40 111 53 / 30%);
	border-radius: .4rem;
	background: #eef8f2;
	color: var(--jkl-green-800);
	font-size: .9rem;
	font-weight: 700;
	text-decoration: none;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-signin:hover,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-signin:focus-visible,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-create-account:hover,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-create-account:focus-visible {
	border-color: var(--jkl-green-700);
	background: #e0f1e6;
	color: var(--jkl-green-950);
	text-decoration: underline;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-create-account {
	padding: .45rem .7rem;
	border-color: var(--jkl-green-700);
	color: var(--jkl-green-800);
	font-size: .9rem;
	font-weight: 700;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-wallet-divider {
	margin: .15rem 0 -.35rem;
	color: var(--jkl-green-950);
	font-size: .9rem;
	font-weight: 750;
	text-align: center;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-password-help {
	margin: -.15rem 0 .8rem;
	color: var(--jkl-muted);
	font-size: .85rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login-dialog[hidden] {
	display: none !important;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login-dialog {
	position: fixed;
	z-index: 10050;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 1rem;
	background: rgb(7 29 12 / 62%);
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login-dialog .jkl-checkout-login {
	width: min(100%, 31rem);
	max-height: calc(100vh - 2rem);
	overflow: auto;
	padding: 1.25rem;
	border-radius: .6rem;
	background: #fff;
	box-shadow: 0 1rem 3rem rgb(0 0 0 / 28%);
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: .35rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login__header h3 {
	margin: 0;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login__identity {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: .1rem .75rem;
	margin: .75rem 0 1rem;
	padding: .75rem;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius-sm);
	background: var(--jkl-surface-soft);
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login__identity span {
	grid-column: 1;
	color: var(--jkl-muted);
	font-size: .78rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login__identity strong {
	grid-column: 1;
	overflow-wrap: anywhere;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login__identity .btn {
	grid-column: 2;
	grid-row: 1 / span 2;
	padding: .25rem .4rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login__otp-actions {
	display: grid;
	gap: .6rem;
	margin-top: 1rem;
	text-align: center;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login__otp-actions[hidden] {
	display: none;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login__otp-actions > span {
	color: var(--jkl-muted);
	font-size: .8rem;
	font-weight: 700;
	text-transform: uppercase;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login__code-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

#checkout-checkout.jkl-checkout-redesign .form-control,
#checkout-checkout.jkl-checkout-redesign .form-select {
	min-height: 2.5rem;
	padding: .45rem .65rem;
	font-size: .875rem;
}

#checkout-checkout.jkl-checkout-redesign .form-label {
	margin-bottom: .25rem;
	font-size: .85rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-stage fieldset > legend {
	font-family: inherit;
	font-size: 1rem;
}

#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #paypal_card,
#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #paypal_card_container {
	width: 100% !important;
	max-width: none;
	margin: 0;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-main {
	display: grid;
	min-width: 0;
	gap: .85rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-card {
	min-width: 0;
	margin: 0 !important;
	padding: 1rem 1.15rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-card > fieldset > legend,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-stage > fieldset > legend,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-method-launcher > legend {
	display: none;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-stage {
	margin: 0 0 .85rem;
	padding: 1rem 1.15rem;
	border: 1px solid #dce4df;
	border-radius: .65rem;
	background: #fff;
}

#checkout-checkout.jkl-checkout-redesign #checkout-register,
#checkout-checkout.jkl-checkout-redesign #checkout-register > form {
	margin: 0;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-panel--locked {
	opacity: .72;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-summary__sticky {
	position: static;
	max-height: calc(100vh - 10.25rem);
	overflow-y: auto;
	padding: 1rem 1.15rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-summary .jkl-checkout-section-heading h2 {
	padding: 0;
	border: 0;
	background: transparent;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-summary .table-responsive {
	overflow: visible;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-summary table {
	margin: 0;
	font-size: .9rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-summary th,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-summary td {
	padding: .65rem .35rem;
	border-color: #e4e9e6;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-security {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	margin-top: 1rem;
	padding: .75rem;
	border-radius: .45rem;
	background: #eef8f2;
	color: #61769b;
	font-size: .8rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-address-summary {
	margin-bottom: .75rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-address-match {
	display: flex;
	align-items: center;
	gap: .55rem;
	margin: 0 0 .85rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-address-match.form-switch,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-address-match__control {
	display: flex;
	align-items: center;
	gap: .65rem;
	min-height: 2rem;
	margin: 0;
	padding-left: 0;
	line-height: 1.35;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-address-match.form-switch .form-check-input,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-address-match__control .form-check-input {
	position: static;
	float: none;
	flex: 0 0 auto;
	width: 2em;
	height: 1em;
	margin: 0;
	font-size: 20px;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-address-match.form-switch .form-check-label,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-address-match__control .form-check-label {
	display: flex;
	align-items: center;
	min-height: 2rem;
	margin: 0;
	font-size: .9rem;
	font-weight: 500;
	line-height: 1.35;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-address-add {
	margin-left: auto;
	color: var(--jkl-green-700);
	font-size: .9rem;
	font-weight: 600;
	text-decoration: underline;
}

#checkout-checkout.jkl-checkout-redesign #checkout-payment {
	margin-top: .85rem;
}

#checkout-checkout.jkl-checkout-redesign #checkout-payment-method .jkl-checkout-method-launcher,
#checkout-checkout.jkl-checkout-redesign #checkout-payment-method > br {
	display: none;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-order-comment {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-comment-card h2 small {
	color: #7b8498;
	font-size: .85rem;
	font-weight: 500;
}

@media (max-width: 991.98px) {
	#checkout-checkout.jkl-checkout-redesign .jkl-checkout-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	#checkout-checkout.jkl-checkout-redesign .jkl-checkout-summary {
		grid-column: 1;
		grid-row: 1;
		position: static;
		max-height: none;
	}

	#checkout-checkout.jkl-checkout-redesign .jkl-checkout-summary__sticky {
		position: static;
		max-height: none;
		overflow-y: visible;
	}
}

/* The summary sidebar leaves too little room for three wallet buttons on iPad.
   Stack the checkout wallet row at intermediate widths; mobile stays stacked. */
@media (min-width: 576px) and (max-width: 1199.98px) {
	#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__methods {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 575.98px) {
	#checkout-checkout.jkl-checkout-redesign {
		padding-inline: .75rem;
	}

	#checkout-checkout.jkl-checkout-redesign .jkl-checkout-title {
		flex-wrap: wrap;
	}

	#checkout-checkout.jkl-checkout-redesign .jkl-checkout-session {
		width: 100%;
		margin-left: 0;
	}

	#checkout-checkout.jkl-checkout-redesign .jkl-checkout-express__methods {
		grid-template-columns: minmax(0, 1fr);
	}

	#checkout-checkout.jkl-checkout-redesign .jkl-checkout-section-heading {
		align-items: flex-start;
		flex-direction: column;
	}
}

:root {
	--jkl-green-950: #12330d;
	--jkl-green-900: #16451c;
	--jkl-green-800: #1a5423;
	--jkl-green-700: #286f35;
	--jkl-green-100: #e8f1e9;
	--jkl-menu-hover: #e7ede8;
	--jkl-orange-500: #f89618;
	--jkl-ink: #202522;
	--jkl-muted: #66706a;
	--jkl-border: #dce3de;
	--jkl-surface: #fff;
	--jkl-surface-soft: #f5f8f5;
	--jkl-row-alt: #f2f7f2;
	--jkl-radius-sm: .4rem;
	--jkl-radius: .8rem;
	--jkl-radius-lg: 1.25rem;
	--jkl-shadow-sm: 0 .25rem 1rem rgb(18 51 13 / 7%);
	--jkl-shadow: 0 .9rem 2.5rem rgb(18 51 13 / 11%);
	--jkl-content-width: 82rem;
	--jkl-header-control-height: 3rem;
	--jkl-header-gap: clamp(1rem, 1.5vw, 1.5rem);
}

html {
	scroll-behavior: smooth;
}

body {
	color: var(--jkl-ink);
	background: var(--jkl-surface);
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}

/* OpenCart core absolutely positions its footer and reserves a fixed content
 * depth for it. The JKL footer is content-driven, so keep the complete page in
 * normal flow instead of allowing a taller footer to cover page content. */
#container {
	position: static;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 100vh;
	margin-bottom: 0;
}

main {
	flex: 1 0 auto;
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
}

#content,
#column-left,
#column-right {
	padding-bottom: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--jkl-green-950);
	font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
	letter-spacing: -.025em;
}

/* The legacy site reserves Scheme for large page/display headings. */
main h1 {
	font-family: "SchemeRg-Regular", Inter, sans-serif;
	font-weight: 900;
	text-transform: uppercase;
}

#jkl-category-choices-title {
	font-family: "SchemeRg-Regular", Inter, sans-serif;
	font-weight: 400;
	text-transform: uppercase;
}

/* Legacy product names are text headings rather than marquee headings. */
#product-info .jkl-product-detail__title {
	font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	letter-spacing: normal;
	text-transform: none;
}

a {
	color: var(--jkl-green-700);
	text-underline-offset: .18em;
}

a:hover,
a:focus {
	color: var(--jkl-green-950);
}

img {
	max-width: 100%;
}

.container {
	max-width: var(--jkl-content-width);
}

.jkl-skip-link {
	position: fixed;
	top: .75rem;
	left: .75rem;
	z-index: 1100;
	padding: .75rem 1rem;
	border-radius: var(--jkl-radius-sm);
	background: #fff;
	box-shadow: var(--jkl-shadow);
	transform: translateY(-200%);
}

.jkl-skip-link:focus {
	transform: none;
}

.jkl-header {
	position: sticky;
	top: 0;
	z-index: 1010;
	background: var(--jkl-green-900);
	transition: box-shadow 160ms ease;
}

.jkl-has-scrolled .jkl-header {
	box-shadow: var(--jkl-shadow-sm);
}

.jkl-header__inner {
	display: grid;
	grid-template-columns: minmax(11rem, 15rem) minmax(18rem, 1fr) auto;
	align-items: center;
	gap: var(--jkl-header-gap);
	min-height: 5.75rem;
}

.jkl-brand > a {
	display: block;
	width: 15rem;
	max-width: 100%;
}

.jkl-brand img {
	display: block;
	width: 15rem;
	max-width: 100%;
	height: auto;
	max-height: none;
}

.jkl-brand__wordmark {
	color: #fff;
	font: 400 1.65rem/1 "SchemeRg-Regular", Inter, sans-serif;
	text-transform: uppercase;
	text-decoration: none;
}

.jkl-header__search {
	display: flex;
	align-items: center;
	height: var(--jkl-header-control-height);
}

.jkl-header-search {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--jkl-header-control-height);
	width: 100%;
	height: var(--jkl-header-control-height);
	margin: 0;
}

.jkl-header-search__input,
.jkl-header-search__button {
	height: var(--jkl-header-control-height);
	min-height: var(--jkl-header-control-height);
	margin: 0;
	box-sizing: border-box;
	border: 2px solid var(--jkl-border);
	font-size: 1rem;
	line-height: 1;
}

.jkl-header-search__input {
	min-width: 0;
	padding: 0 1rem;
	border-radius: var(--jkl-radius-sm) 0 0 var(--jkl-radius-sm);
	background: #fff;
	color: var(--jkl-ink);
}

.jkl-header-search__button {
	display: inline-grid;
	padding: 0;
	border-left: 0;
	border-radius: 0 var(--jkl-radius-sm) var(--jkl-radius-sm) 0;
	background: #fff;
	color: var(--jkl-green-950);
	place-items: center;
}

.jkl-header-search__input:focus,
.jkl-header-search__button:focus {
	position: relative;
	z-index: 1;
	outline: 0;
	border-color: var(--jkl-green-700);
	box-shadow: 0 0 0 .2rem rgb(40 111 53 / 15%);
}

.jkl-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--jkl-header-gap);
	height: var(--jkl-header-control-height);
}

.jkl-header__phone,
.jkl-header__contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	height: var(--jkl-header-control-height);
	min-height: var(--jkl-header-control-height);
	border-radius: var(--jkl-radius-sm);
	box-sizing: border-box;
	font-weight: 650;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.jkl-header__phone {
	padding: 0 .35rem;
	color: #f4f8f4;
	font-family: Inter, sans-serif;
	font-size: clamp(1.1rem, 1.35vw, 1.25rem);
	font-weight: 700;
	letter-spacing: -.015em;
}

.jkl-header__phone:hover,
.jkl-header__phone:focus {
	color: #fff;
	background: rgb(255 255 255 / 9%);
}

.jkl-header__contact {
	padding: 0 1rem;
	background: var(--jkl-orange-500);
	color: var(--jkl-green-950);
	box-shadow: 0 .25rem .75rem rgb(18 51 13 / 18%);
}

.jkl-header__contact,
.jkl-header__cart .dropdown-toggle {
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-size: .95rem;
	font-weight: 650;
	line-height: 1;
}

.jkl-header__contact:hover,
.jkl-header__contact:focus {
	background: #ffab35;
	color: var(--jkl-green-950);
}

#cart.jkl-header__cart {
	align-self: center;
	height: var(--jkl-header-control-height);
	margin: 0;
}

#cart.jkl-header__cart > .dropdown {
	height: var(--jkl-header-control-height);
	margin: 0;
}

#cart.jkl-header__cart .btn-lg.dropdown-toggle {
	height: var(--jkl-header-control-height);
	min-height: var(--jkl-header-control-height);
	margin: 0;
	padding: 0 1rem;
	border-radius: var(--jkl-radius-sm);
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-size: .95rem;
	font-weight: 650;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
}

.jkl-navigation {
	position: relative;
	border-top: 1px solid rgb(255 255 255 / 16%);
	background: var(--jkl-green-900);
}

.jkl-navigation #menu {
	margin-bottom: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.jkl-navigation #menu.bg-primary {
	background-color: transparent !important;
}

.jkl-navigation #menu .nav > li > a {
	display: flex;
	align-items: center;
	min-width: 0;
	max-width: 100%;
	padding-block: .85rem;
	padding-inline: 1.1rem;
	color: #fff;
	font-size: .95rem;
	font-weight: 500;
	line-height: 1.25;
	overflow-wrap: anywhere;
	text-shadow: none;
	white-space: normal;
}

.jkl-navigation #menu .nav > li > a:hover,
.jkl-navigation #menu .nav > li > a:focus,
.jkl-navigation #menu .nav > li > a:active,
.jkl-navigation #menu .nav > li.show > a {
	background: var(--jkl-green-950);
	color: #fff;
	box-shadow: none;
}

.jkl-navigation #menu,
.jkl-navigation #navbar-menu,
.jkl-menu-parent {
	position: static;
}

.jkl-menu-track {
	position: relative;
	width: max-content;
	max-width: 100%;
}

.jkl-navigation .navbar-nav {
	position: static;
}

.jkl-menu-toggle {
	border: 0;
	background: transparent;
	color: #fff;
	font-size: .65rem;
}

.jkl-menu-indicator {
	flex: 0 0 auto;
	margin-left: .3rem;
	font-size: .6rem;
}

.jkl-menu-parent:hover > .nav-link,
.jkl-menu-parent:focus-within > .nav-link,
.jkl-menu-toggle:hover,
.jkl-menu-toggle:focus,
.jkl-menu-toggle:active,
.jkl-menu-toggle.show,
.jkl-menu-toggle[aria-expanded="true"] {
	background: var(--jkl-green-950);
	color: #fff;
	box-shadow: none;
}

.jkl-navigation .dropdown-menu {
	inset: 100% 0 auto 0 !important;
	width: 100%;
	margin: 0;
	padding: .2rem 0 .35rem;
	border: 0;
	border-radius: 0 0 var(--jkl-radius) var(--jkl-radius);
	box-shadow: var(--jkl-shadow);
	overflow: hidden;
	transform: none !important;
}

.jkl-navigation .dropdown-inner {
	min-width: 0;
	max-width: 100%;
	padding: 0 .35rem;
}

.jkl-navigation .dropdown-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .1rem .4rem;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin: 0;
}

.jkl-navigation .dropdown-grid li {
	min-width: 0;
	max-width: 100%;
}

/* Core OpenCart assigns every submenu column a 200px minimum. That rule is
   wider than the available menu track for several JKL menus and lets labels
   escape the dropdown. Keep every column constrained to its grid cell. */
.jkl-navigation #menu .dropdown-inner > ul {
	width: auto;
	min-width: 0;
	max-width: 100%;
}

.jkl-navigation .dropdown-column-1 .dropdown-grid {
	grid-template-columns: minmax(0, 1fr);
}

.jkl-navigation .dropdown-column-2 .dropdown-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jkl-navigation .dropdown-column-3 .dropdown-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jkl-navigation .dropdown-column-4 .dropdown-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.jkl-navigation .dropdown-item {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	padding: .35rem .45rem;
	box-sizing: border-box;
	font-size: .95rem;
	font-weight: 500;
	line-height: 1.15;
	white-space: normal;
	overflow-wrap: anywhere;
}

.jkl-navigation .dropdown-item:hover,
.jkl-navigation .dropdown-item:focus,
.jkl-navigation .dropdown-item:active,
.jkl-navigation .dropdown-item.active {
	background: var(--jkl-menu-hover);
	color: var(--jkl-ink);
	box-shadow: none;
}

.jkl-navigation .dropdown-menu > .list-unstyled {
	display: none;
}

@media (min-width: 992px) {
	.jkl-menu-parent:hover > .dropdown-menu,
	.jkl-menu-parent:focus-within > .dropdown-menu {
		display: block;
	}
}

main > .container {
	padding-top: clamp(1.5rem, 3vw, 3rem);
	padding-bottom: clamp(2.5rem, 5vw, 5rem);
}

.breadcrumb {
	--bs-breadcrumb-divider-color: var(--jkl-muted);
	margin-bottom: 1.5rem;
	font-size: .9375rem;
}

.btn {
	border-radius: var(--jkl-radius-sm);
	font-weight: 650;
}

.btn-primary {
	--bs-btn-bg: var(--jkl-green-800);
	--bs-btn-border-color: var(--jkl-green-800);
	--bs-btn-hover-bg: var(--jkl-green-950);
	--bs-btn-hover-border-color: var(--jkl-green-950);
	--bs-btn-active-bg: var(--jkl-green-950);
	--bs-btn-active-border-color: var(--jkl-green-950);
	--bs-btn-focus-shadow-rgb: 26, 84, 35;
	--bs-btn-disabled-bg: var(--jkl-green-800);
	--bs-btn-disabled-border-color: var(--jkl-green-800);
}

.btn-info {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--jkl-green-800);
	--bs-btn-border-color: var(--jkl-green-800);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--jkl-green-950);
	--bs-btn-hover-border-color: var(--jkl-green-950);
	--bs-btn-focus-shadow-rgb: 26, 84, 35;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--jkl-green-950);
	--bs-btn-active-border-color: var(--jkl-green-950);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: var(--jkl-green-800);
	--bs-btn-disabled-border-color: var(--jkl-green-800);
}

.btn-outline-primary {
	--bs-btn-color: var(--jkl-green-800);
	--bs-btn-border-color: var(--jkl-green-800);
	--bs-btn-hover-bg: var(--jkl-green-800);
	--bs-btn-hover-border-color: var(--jkl-green-800);
	--bs-btn-focus-shadow-rgb: 26, 84, 35;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--jkl-green-800);
	--bs-btn-active-border-color: var(--jkl-green-800);
	--bs-btn-disabled-color: var(--jkl-green-800);
	--bs-btn-disabled-border-color: var(--jkl-green-800);
}

.form-control,
.form-select {
	min-height: 2.75rem;
	border-color: var(--jkl-border);
	border-radius: var(--jkl-radius-sm);
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
	border-color: var(--jkl-green-700);
	box-shadow: 0 0 0 .2rem rgb(40 111 53 / 15%);
}

.form-check-input:checked,
.form-check-input[type="checkbox"]:indeterminate {
	border-color: var(--jkl-orange-500);
	background-color: var(--jkl-orange-500);
}

.form-switch .form-check-input:focus {
	border-color: var(--jkl-orange-500);
	box-shadow: 0 0 0 .2rem rgb(248 150 24 / 20%);
}

.jkl-password-control {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
}

.jkl-password-control > .form-control {
	border-radius: var(--jkl-radius-sm) 0 0 var(--jkl-radius-sm);
}

.jkl-password-toggle {
	min-width: 3rem;
	border: 1px solid var(--jkl-border);
	border-left: 0;
	border-radius: 0 var(--jkl-radius-sm) var(--jkl-radius-sm) 0;
	background: var(--jkl-surface-soft);
	color: var(--jkl-green-800);
}

#account-account,
#account-edit,
#account-address,
#account-password,
#account-register,
#account-order,
#account-returns,
#account-newsletter,
#account-communications {
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-size: 1rem;
}

#account-edit .form-control,
#account-edit .form-select,
#account-address .form-control,
#account-address .form-select,
#account-password .form-control,
#account-register .form-control,
#account-register .form-select {
	font-size: 1rem;
}

.form-label,
.col-form-label {
	color: var(--jkl-ink);
	font-weight: 600;
}

.card,
.table-responsive,
.list-group {
	border-color: var(--jkl-border);
	border-radius: var(--jkl-radius);
}

.card {
	box-shadow: 0 .2rem .8rem rgb(18 51 13 / 4%);
}

.card-header {
	border-color: var(--jkl-border);
	background: var(--jkl-surface-soft);
	font-weight: 700;
}

.alert {
	border-radius: var(--jkl-radius);
}

#alert {
	top: 1rem;
	left: 50%;
	width: min(36rem, calc(100vw - 2rem));
	margin-left: 0;
	transform: translateX(-50%);
}

#alert .alert {
	box-shadow: var(--jkl-shadow);
}

#alert.jkl-account-alert-host {
	position: static !important;
	top: auto;
	left: auto;
	width: 100%;
	margin: 0 0 1rem;
	padding: 0;
	transform: none;
}

#alert.jkl-account-alert-host .alert {
	margin: 0;
}

.pagination .page-link {
	color: var(--jkl-green-800);
}

.pagination .active > .page-link {
	border-color: var(--jkl-green-800);
	background: var(--jkl-green-800);
	color: #fff;
}

/* Product discovery */
.product-list,
.product-grid {
	margin-bottom: 1.5rem;
}

.jkl-product-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius);
	background: #fff;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.jkl-product-card:hover {
	border-color: rgb(40 111 53 / 35%);
	box-shadow: var(--jkl-shadow);
	transform: translateY(-2px);
}

.jkl-product-card__image {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	padding: 1rem;
	border-bottom: 1px solid var(--jkl-border);
	background: #fff;
}

.jkl-product-card__image img {
	max-height: 15rem;
	object-fit: contain;
}

.jkl-product-card__image--missing,
.jkl-category-choice--missing {
	background: var(--jkl-green-900);
}

.jkl-product-card__image--missing img,
.jkl-category-choice--missing img {
	padding: 1rem;
}

.jkl-product-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.25rem;
}

.jkl-product-card__main,
.jkl-product-card__commerce {
	display: flex;
	flex-direction: column;
}

.jkl-product-card__model {
	margin-bottom: .35rem;
	color: var(--jkl-green-700);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.jkl-product-card__title {
	margin-bottom: .65rem;
	font-size: 1.05rem;
	line-height: 1.35;
}

.jkl-product-card__title a {
	color: var(--jkl-ink);
	text-decoration: none;
}

.jkl-product-card__description {
	display: -webkit-box;
	overflow: hidden;
	margin-bottom: 1rem;
	color: var(--jkl-muted);
	font-size: .9rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.jkl-product-card__price {
	margin-top: auto;
	margin-bottom: 1rem;
	color: var(--jkl-green-950);
	font-size: 1.15rem;
	font-weight: 700;
}

.jkl-product-card__price .price-old {
	margin-left: .4rem;
	color: var(--jkl-muted);
	font-size: .9rem;
	font-weight: 400;
	text-decoration: line-through;
}

.jkl-product-card__price .price-tax {
	display: block;
	color: var(--jkl-muted);
	font-size: .75rem;
	font-weight: 400;
}

.jkl-product-card__rfq {
	margin-top: auto;
	margin-bottom: 1rem;
	color: var(--jkl-green-800);
	font-weight: 700;
}

.jkl-product-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: 1rem;
}

.jkl-product-card__actions form {
	display: contents;
}

.jkl-product-card__actions .btn {
	flex: 1 1 auto;
}

@media (min-width: 768px) {
	/* Increase and center category-row action text without changing the
	 * established control height. */
	.jkl-product-card--list .jkl-product-card__actions .btn,
	.jkl-product-card--list .jkl-product-card__rfq-button {
		height: 2.75rem;
		min-height: 2.75rem;
		padding-top: 0;
		padding-bottom: 0;
		font-size: calc(.84rem + 1px);
	}

	.jkl-product-card--list .jkl-product-card__action-label {
		justify-content: center;
		line-height: 1.1;
	}

	/* A mouse click leaves anchors focused. Define that state explicitly so
	 * Bootstrap or visited-link colors cannot replace the white button text. */
	.jkl-product-card--list .btn-primary,
	.jkl-product-card--list .btn-primary:visited,
	.jkl-product-card--list .btn-primary:focus {
		border-color: var(--jkl-green-800);
		background: var(--jkl-green-800);
		color: #fff;
	}

	.jkl-product-card--list .btn-primary:hover,
	.jkl-product-card--list .btn-primary:active {
		border-color: var(--jkl-green-950);
		background: var(--jkl-green-950);
		color: #fff;
	}

	.jkl-product-card--list .btn-primary:focus {
		box-shadow: 0 0 0 .2rem rgb(40 111 53 / 18%);
	}

	.jkl-product-card--list .btn-outline-secondary,
	.jkl-product-card--list .btn-outline-secondary:visited,
	.jkl-product-card--list .btn-outline-secondary:focus {
		border-color: var(--jkl-green-700);
		background: #fff;
		color: var(--jkl-green-800);
	}

	.jkl-product-card--list .btn-outline-secondary:hover,
	.jkl-product-card--list .btn-outline-secondary:active {
		border-color: var(--jkl-green-950);
		background: var(--jkl-green-950);
		color: #fff;
	}

	.jkl-product-card--list .btn-outline-secondary:focus {
		box-shadow: 0 0 0 .2rem rgb(40 111 53 / 18%);
	}

	/* Shared product grids (related, featured, specials, and similar modules)
	   reserve consistent text rows so their prices and actions line up. */
	.jkl-product-card:not(.jkl-product-card--list) .jkl-product-card__title {
		min-height: 2.835rem;
	}

	.jkl-product-card:not(.jkl-product-card--list) .jkl-product-card__description {
		min-height: 4.05rem;
		line-height: 1.5;
	}

	.jkl-product-card:not(.jkl-product-card--list) .jkl-product-card__commerce {
		margin-top: auto;
	}
}

.jkl-catalog-page {
	padding-top: 1.25rem;
	padding-bottom: 3.5rem;
}

.jkl-catalog-page--hero {
	padding-top: 0;
}

.jkl-catalog-page__body {
	padding-top: 2rem;
	padding-bottom: 1rem;
}

.jkl-category-hero {
	position: relative;
	display: grid;
	min-height: clamp(20rem, 30vw, 28rem);
	overflow: hidden;
	background: #1d3978;
	color: #fff;
	isolation: isolate;
}

.jkl-category-hero__image,
.jkl-category-hero__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.jkl-category-hero__image {
	z-index: -2;
	object-fit: cover;
	object-position: center;
}

.jkl-category-hero__shade {
	z-index: -1;
	background: linear-gradient(90deg, rgb(4 20 49 / 58%) 0%, rgb(4 20 49 / 20%) 52%, rgb(4 20 49 / 5%) 100%);
}

.jkl-category-hero__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.jkl-category-hero h1 {
	max-width: 42rem;
	margin: 0;
	color: #fff;
	font-size: clamp(2rem, 3.2vw, 3.25rem);
	font-weight: 700;
	letter-spacing: .055em;
	line-height: 1.08;
	text-transform: uppercase;
	text-shadow: 0 2px 18px rgb(0 0 0 / 30%);
}

.jkl-category-hero__rule {
	width: min(16rem, 48vw);
	height: .3rem;
	margin: 1.1rem 0 3.75rem;
	background: #28d17c;
}

.jkl-category-breadcrumbs {
	display: inline-flex;
	flex-wrap: nowrap;
	width: auto;
	max-width: 100%;
	margin: 0 0 1.25rem;
	padding: 0;
	border: 1px solid var(--jkl-border);
	border-radius: .3rem;
	background: #fff;
	font-size: .95rem;
	white-space: nowrap;
}

.breadcrumb.jkl-category-breadcrumbs > li.breadcrumb-item {
	display: flex;
	align-items: center;
	height: 2.55rem;
	min-height: 2.55rem;
	padding: 0;
	color: var(--jkl-muted);
}

.breadcrumb.jkl-category-breadcrumbs > li.breadcrumb-item:first-child {
	padding-left: 1rem;
}

.breadcrumb.jkl-category-breadcrumbs > li.breadcrumb-item:last-child {
	padding-right: .85rem;
}

.breadcrumb.jkl-category-breadcrumbs > li.breadcrumb-item::after {
	display: none;
	content: none;
	border: 0;
}

.jkl-category-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	width: 1.7rem;
	min-width: 1.7rem;
	padding: 0;
	line-height: 1;
	float: none;
	color: var(--jkl-muted);
	content: "»";
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
}

.jkl-category-breadcrumbs a {
	display: inline-flex;
	align-items: center;
	height: 100%;
	line-height: 1.25;
	color: var(--jkl-green-800);
	text-decoration: none;
}

.jkl-category-breadcrumbs a:hover {
	color: var(--jkl-green-950);
	text-decoration: underline;
	text-underline-offset: .18em;
}

.jkl-category-breadcrumbs--hero {
	margin: 0;
	border-color: rgb(255 255 255 / 72%);
	background: rgb(3 35 45 / 52%);
	box-shadow: 0 5px 20px rgb(0 0 0 / 12%);
	color: #fff;
	font-size: 1rem;
	backdrop-filter: blur(3px);
}

.jkl-category-breadcrumbs--hero .breadcrumb-item {
	color: rgb(255 255 255 / 82%);
}

.jkl-category-breadcrumbs--hero .breadcrumb-item + .breadcrumb-item::before {
	color: rgb(255 255 255 / 72%);
}

.jkl-category-breadcrumbs--hero a {
	color: #67eda8;
}

.jkl-category-breadcrumbs--hero a:hover {
	color: #fff;
}

.jkl-catalog-heading {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--jkl-border);
}

.jkl-catalog-heading > img {
	width: 9rem;
	height: 7rem;
	object-fit: contain;
}

.jkl-category-choices {
	margin-bottom: 2rem;
}

.jkl-category-choices h2 {
	margin-bottom: 1rem;
	font-size: 1.2rem;
}

.jkl-category-choices__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	gap: .75rem;
}

.jkl-category-choice {
	display: grid;
	grid-template-rows: 7rem auto;
	align-items: center;
	min-height: 9.5rem;
	overflow: hidden;
	border: 1px solid var(--jkl-border);
	background: #fff;
	color: var(--jkl-ink);
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}

.jkl-category-choice:hover {
	border-color: var(--jkl-green-700);
	box-shadow: var(--jkl-shadow-sm);
}

.jkl-category-choice img {
	width: 100%;
	height: 7rem;
	padding: .5rem;
	object-fit: contain;
}

.jkl-category-choice span {
	padding: .75rem;
	border-top: 1px solid var(--jkl-border);
	background: #fff;
}

.jkl-catalog-heading h1 {
	margin-bottom: .65rem;
}

.jkl-catalog-description > :last-child {
	margin-bottom: 0;
}

.jkl-catalog-description--hero {
	margin-bottom: 1.75rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--jkl-border);
	font-size: 1.05rem;
	line-height: 1.65;
}

.jkl-catalog-controls {
	display: flex;
	justify-content: flex-end;
	gap: .75rem;
	margin-bottom: 1rem;
}

.jkl-catalog-controls .input-group {
	width: auto;
	max-width: 20rem;
}

.jkl-sort-bar {
	display: flex;
	align-items: center;
	gap: .7rem;
	margin-bottom: 1rem;
	padding: .45rem .6rem;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius-sm);
	background: var(--jkl-surface-soft);
}

.jkl-sort-bar__label {
	flex: 0 0 auto;
	color: var(--jkl-green-950);
	font-size: .82rem;
	font-weight: 700;
}

.jkl-sort-bar__fields {
	display: flex;
	flex-wrap: wrap;
	gap: .2rem;
}

.jkl-sort-bar__field {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .3rem .5rem;
	border-radius: .3rem;
	color: var(--jkl-green-800);
	font-size: .8rem;
	font-weight: 600;
	text-decoration: none;
}

.jkl-sort-bar__field:hover,
.jkl-sort-bar__field:focus,
.jkl-sort-bar__field.is-active {
	background: var(--jkl-green-800);
	color: #fff;
}

.jkl-product-list,
#product-list.jkl-product-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: .75rem;
	margin-right: 0;
	margin-left: 0;
}

#product-list.jkl-product-list > * {
	width: 100%;
	max-width: none;
	padding-right: 0;
	padding-left: 0;
}

#product-list.jkl-product-list > :nth-child(even) .jkl-product-card--list,
#product-list.jkl-product-list > :nth-child(even) .jkl-product-card--list .jkl-product-card__image {
	background: var(--jkl-row-alt);
}

.jkl-product-card--list {
	display: grid;
	grid-template-columns: 6rem minmax(0, 1fr);
	min-height: 5.75rem;
	border-radius: var(--jkl-radius-sm);
	box-shadow: none;
	cursor: pointer;
}

.jkl-product-card--list:hover {
	box-shadow: var(--jkl-shadow-sm);
	transform: none;
}

.jkl-product-card--list .jkl-product-card__image {
	aspect-ratio: auto;
	padding: .4rem;
	border-right: 1px solid var(--jkl-border);
	border-bottom: 0;
}

.jkl-product-card--list .jkl-product-card__image img {
	max-height: 4.5rem;
}

.jkl-product-card--list .jkl-product-card__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 16.75rem;
	column-gap: .5rem;
	padding: .55rem .85rem;
}

.jkl-product-card--list .jkl-product-card__main {
	display: grid;
	position: relative;
	grid-template:
		"identity documents" auto
		"facts documents" auto
		/ minmax(0, 1fr) 5.75rem;
	align-content: center;
	align-items: start;
	gap: .35rem .5rem;
	min-width: 0;
}

.jkl-product-card--list .jkl-product-card__main--has-note {
	grid-template:
		"identity documents" auto
		"note documents" auto
		/ minmax(0, 1fr) 5.75rem;
}

.jkl-product-card--list .jkl-product-card__main--has-note.jkl-product-card__main--has-facts {
	grid-template:
		"identity identity documents" auto
		"facts note documents" auto
		/ minmax(18rem, 1fr) minmax(12rem, 16rem) 5.75rem;
}

.jkl-product-card--list .jkl-product-card__identity {
	display: flex;
	grid-area: identity;
	align-items: baseline;
	gap: .75rem;
	min-width: 0;
}

.jkl-product-card--list .jkl-product-card__main--has-facts .jkl-product-card__identity,
.jkl-product-card--list .jkl-product-card__main--has-note .jkl-product-card__identity {
	padding-bottom: .35rem;
	border-bottom: 1px solid var(--jkl-border);
}

.jkl-product-card--list .jkl-product-card__model {
	flex: 0 0 auto;
	margin-bottom: 0;
	font-size: .82rem;
}

.jkl-product-card--list .jkl-product-card__title {
	min-width: 0;
	margin-bottom: 0;
	font-size: 1rem;
	line-height: 1.25;
}

.jkl-product-card--list .jkl-product-card__description {
	margin-bottom: 0;
	-webkit-line-clamp: 2;
}

.jkl-product-card--list .jkl-product-card__commerce {
	display: grid;
	grid-template-columns: minmax(6.5rem, 1fr) 7.75rem;
	align-items: center;
	gap: 0;
	width: 100%;
	min-width: 0;
	border-left: 1px solid var(--jkl-border);
	padding-left: .6rem;
}

.jkl-product-card--list .jkl-product-card__price,
.jkl-product-card--list .jkl-product-card__rfq {
	margin: 0;
	padding: 0 .55rem;
	font-size: .9rem;
	text-align: center;
}

.jkl-product-card--list .jkl-product-card__rfq-button {
	display: inline-grid;
	grid-template-columns: auto auto;
	align-items: center;
	justify-content: center;
	column-gap: .4rem;
	justify-self: center;
	width: 7.2rem;
	max-width: calc(100% - 1.1rem);
	margin: 0 auto;
	min-height: 2.25rem;
	padding: .35rem .55rem;
	font-size: .84rem;
	white-space: normal;
}

.jkl-product-card--list .jkl-product-card__rfq-button > i {
	align-self: center;
	margin: 0;
}

.jkl-product-card__facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(6rem, 1fr));
	gap: .25rem .6rem;
	margin: .4rem 0 0;
}

.jkl-product-card--list .jkl-product-card__facts {
	display: flex;
	flex-wrap: wrap;
	grid-area: facts;
	gap: .2rem .75rem;
	margin: 0;
	padding-top: .35rem;
}

.jkl-product-card--list .jkl-product-card__facts > div {
	flex: 1 1 max-content;
}

.jkl-product-card__facts > div {
	min-width: 0;
}

.jkl-product-card__facts dt {
	color: var(--jkl-muted);
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .035em;
	line-height: 1.5;
	text-transform: uppercase;
}

.jkl-product-card__facts dd {
	margin: .05rem 0 0;
	color: var(--jkl-ink);
	font-size: .88rem;
	line-height: 1.35;
}

.jkl-product-card--list .jkl-product-card__facts dd {
	white-space: nowrap;
}

.jkl-product-card__note {
	grid-area: note;
	align-self: start;
	margin: 0;
	color: var(--jkl-ink);
	font-size: .84rem;
	line-height: 1.4;
}

.jkl-product-card--list .jkl-product-card__note {
	padding-top: .35rem;
}

.jkl-product-card__note strong {
	display: block;
	margin-bottom: 0;
	color: var(--jkl-muted);
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.jkl-product-card__note-content {
	display: block;
	margin: .05rem 0 0;
	line-height: 1.35;
}

.jkl-product-card__note-content > :last-child {
	margin-bottom: 0;
}

.jkl-product-card__documents {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .35rem;
	margin-top: 0;
}

.jkl-product-card--list .jkl-product-card__documents {
	grid-area: documents;
	align-self: center;
	align-items: center;
	width: 5.75rem;
}

.jkl-product-card--list .jkl-product-card__main--has-documents .jkl-product-card__documents {
	align-self: stretch;
	justify-content: center;
	padding: 0 .4rem;
}

.jkl-product-card--list .jkl-product-card__main--has-documents::after {
	position: absolute;
	top: 0;
	right: 5.75rem;
	bottom: 0;
	border-left: 1px solid var(--jkl-border);
	content: "";
	pointer-events: none;
}

.jkl-product-card__documents a {
	padding: .18rem .5rem;
	border: 1px solid var(--jkl-border);
	border-radius: 999px;
	background: var(--jkl-surface-soft);
	color: var(--jkl-green-800);
	font-size: .78rem;
	font-weight: 700;
	text-decoration: none;
}

.jkl-product-card__documents a:hover {
	border-color: var(--jkl-green-700);
	background: var(--jkl-green-100);
}

.jkl-product-card--list .jkl-product-card__actions {
	align-items: center;
	justify-content: flex-end;
	height: 100%;
	margin-top: 0;
	padding-left: .55rem;
	border-left: 1px solid var(--jkl-border);
}

.jkl-product-card--list .jkl-product-card__actions .btn {
	display: inline-flex;
	width: 100%;
	min-height: 2.25rem;
	align-items: center;
	justify-content: center;
	padding: .35rem .55rem;
	font-size: .84rem;
	white-space: nowrap;
}

.jkl-product-card--list .jkl-product-card__action-label {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.15;
	white-space: normal;
}

.jkl-pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1.5rem;
}

.jkl-search-form {
	display: grid;
	grid-template-columns: minmax(14rem, 1fr) auto;
	align-items: end;
	gap: 1rem;
	margin-bottom: 2rem;
	padding: 1.25rem;
	border: 1px solid var(--jkl-border);
	background: var(--jkl-surface-soft);
}

.jkl-search-form__action {
	padding-bottom: 1.9rem;
}

.jkl-search-heading {
	margin-bottom: 1rem;
}

.jkl-search-results-title {
	margin-bottom: 1rem;
	font-size: 1.35rem;
}

.jkl-search-empty {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius-sm);
	background: var(--jkl-surface-soft);
	color: var(--jkl-muted);
}

.jkl-search-empty p {
	margin: 0;
}

.rating .fa-star {
	color: var(--jkl-orange-500);
}

/* Product, cart, account, and checkout */
#shopping-cart td form .input-group {
	display: grid;
	grid-template-columns: 4.5rem minmax(.75rem, 1fr) 2.75rem 2.75rem;
	gap: .4rem;
	width: 100%;
	min-width: 14rem;
}

#shopping-cart td form .input-group > .form-control,
#shopping-cart td form .input-group > .btn {
	margin-left: 0 !important;
	border-radius: var(--jkl-radius-sm) !important;
}

#shopping-cart td form .input-group > .form-control {
	grid-column: 1;
	width: 100%;
	min-width: 4.5rem;
	text-align: center;
}

#shopping-cart td form .input-group > .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
}

#shopping-cart td form .input-group > .btn:not(.btn-danger) {
	grid-column: 3;
}

#shopping-cart td form .input-group > .btn-danger {
	grid-column: 4;
	border-color: #c9433a;
	background: #fff;
	color: #a62e27;
}

#shopping-cart td form .input-group > .btn-danger:hover,
#shopping-cart td form .input-group > .btn-danger:focus {
	border-color: #a62e27;
	background: #a62e27;
	color: #fff;
}

#product-info h1 {
	margin-bottom: 1rem;
	font-size: clamp(1.65rem, 2.6vw, 2.03rem);
}

#product-info > .breadcrumb {
	margin-bottom: .9375rem;
}

#product-info .jkl-product-detail__title {
	margin: 0 0 .9375rem;
	color: var(--jkl-ink);
}

#product-info .jkl-product-detail {
	--bs-gutter-x: 2.5rem;
	align-items: stretch;
	margin-bottom: 2rem !important;
}

#product-info .jkl-product-detail__media {
	display: flex;
	justify-content: flex-start;
}

#product-info .jkl-product-detail__media .image {
	width: min(100%, 31.25rem);
}

#product-info .jkl-product-detail__media .image > a:first-child {
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 1;
}

#product-info .jkl-product-detail__media .image > a:first-child img {
	width: 100%;
	height: 100%;
	max-width: 31.25rem;
	max-height: 31.25rem;
	margin-bottom: 0 !important;
	object-fit: contain;
}

#product-info .jkl-product-detail__purchase {
	display: flex;
	flex-direction: column;
	align-self: flex-start;
	min-height: var(--jkl-product-main-media-height, 31.25rem);
}

#product-info .jkl-product-detail__gallery {
	display: grid;
	grid-auto-flow: row;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .75rem;
	width: 100%;
	margin-top: .75rem;
}

#product-info .jkl-product-detail__gallery > a {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	min-width: 0;
}

#product-info .jkl-product-detail__gallery img {
	width: 100%;
	height: 100%;
	margin: 0 !important;
	object-fit: contain;
}

#product-info .jkl-product-meta {
	margin-bottom: 1.25rem;
	font-size: 1.05rem;
	line-height: 1.7;
}

#product-info .jkl-product-meta strong {
	color: var(--jkl-ink);
	font-weight: 700;
}

#product-info .price {
	color: var(--jkl-green-950);
	font-size: 1.4rem;
	font-weight: 700;
}

#product-info .price-new {
	display: inline-flex;
	align-items: baseline;
	gap: .45rem;
	font-size: 22px;
}

.jkl-product-price-label {
	color: var(--jkl-ink);
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1;
}

#product-info #jkl-pack-selector {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: .75rem;
	width: 100%;
	max-width: 42rem;
	/* Keep the selector compact after aligning pack and standard product prices. */
	margin-top: 1.25rem;
}

#product-info .jkl-product-detail__purchase--pack .jkl-product-meta {
	margin-bottom: 1.25rem;
}

#product-info .jkl-product-detail__purchase--pack .jkl-product-price-list,
#product-info .jkl-product-detail__purchase--pack .jkl-product-price-list h2 {
	margin-bottom: 0;
}

#product-info .jkl-product-detail__purchase--pack #jkl-pack-selector {
	margin-bottom: .65rem !important;
}

#product-info #jkl-pack-selector .form-label {
	display: inline-flex;
	align-items: center;
	margin: 0;
	font-size: 1.125rem;
	white-space: nowrap;
}

#product-info #jkl-pack-selector.required .form-label::before {
	content: "*";
	display: inline-flex;
	align-items: center;
	height: 1em;
	margin-right: .25rem;
	line-height: 1;
}

#product-info #input-product-pack-id {
	height: 2.75rem;
	padding-top: 0;
	padding-bottom: 0;
	font-size: .9375rem;
	line-height: calc(2.75rem - 2px);
}

#product-info #form-product > .mb-3 > .input-group {
	display: grid;
	grid-template-columns: auto 4.5rem minmax(9rem, 1fr) minmax(9rem, 1fr);
	max-width: 42rem;
}

#product-info #form-product .jkl-rfq-secondary {
	white-space: nowrap;
}

#product-info #form-product .jkl-product-checkout {
	height: 100%;
}

#product-info #input-quantity {
	width: 4.5rem;
	text-align: center;
}

.jkl-product-documents {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	margin: 1.75rem 0;
	padding: 1.15rem 1.25rem;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius);
	background: var(--jkl-surface-soft);
}

.jkl-product-documents--purchase {
	align-items: center;
	flex-direction: row;
	margin: auto 0 0;
	padding: 1rem;
}

.jkl-product-support-panels {
	display: grid;
	grid-auto-rows: 4.5rem;
	gap: .5rem;
	margin-top: auto;
}

.jkl-led-alternative-panel,
.jkl-product-support-panels .jkl-product-documents--purchase,
.jkl-product-support-panels .jkl-rfq-purchase-panel {
	height: auto;
	min-height: 4.5rem;
	margin: 0;
	padding: .75rem 1rem;
}

.jkl-product-support-panels .jkl-rfq-purchase-panel--mil-spec {
	padding-block: .5rem;
}

.jkl-product-support-panels .jkl-rfq-purchase-panel--mil-spec > div {
	box-sizing: border-box;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	height: 3.5rem;
	min-width: 0;
	padding-top: .4375rem;
}

.jkl-product-support-panels .jkl-rfq-purchase-panel--mil-spec p {
	display: -webkit-box;
	overflow: hidden;
	font-size: .82rem;
	line-height: 1.15;
	overflow-wrap: anywhere;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.jkl-led-alternative-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	border: 1px solid #efc27e;
	border-radius: var(--jkl-radius);
	background: #fff4df;
	box-shadow: inset .22rem 0 0 var(--jkl-orange-500);
}

.jkl-rfq-purchase-panel h2,
.jkl-led-alternative-panel h2,
.jkl-product-documents h2 {
	margin: 0 0 .2rem;
	color: var(--jkl-green-950);
	font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: -.025em;
	line-height: 1.2;
	text-transform: none;
}

.jkl-led-alternative-panel p {
	margin: 0;
	color: var(--jkl-muted);
	font-size: .9rem;
}

.jkl-led-alternative-panel .btn {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	white-space: nowrap;
}

.jkl-product-documents--purchase .jkl-product-documents__links {
	flex: 0 0 auto;
	justify-content: flex-end;
}

.jkl-product-documents p {
	margin: 0;
	color: var(--jkl-muted);
	font-size: .9rem;
}

.jkl-product-documents__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: .6rem;
}

.jkl-product-documents__links .btn {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	white-space: nowrap;
}

.jkl-specification {
	margin: 2rem 0;
}

.jkl-product-description {
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 2rem 0;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	color: var(--jkl-ink);
	font-size: 1.08rem;
	line-height: 1.72;
}

/* Imported editor content can retain fixed widths or no-wrap declarations.
 * Keep prose inside the full product-content boundary without removing its
 * trusted HTML formatting. */
.jkl-product-description * {
	max-width: 100%;
	white-space: normal !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none;
}

.jkl-product-description a {
	overflow-wrap: anywhere !important;
}

.jkl-product-description img,
.jkl-product-description iframe,
.jkl-product-description video {
	max-width: 100%;
	height: auto;
}

.jkl-product-description > :last-child {
	margin-bottom: 0;
}

.jkl-specification-title {
	margin-bottom: 1rem;
	font-size: 1.45rem;
}

.jkl-specification .table tbody td {
	padding: .7rem .8rem;
	font-size: 1rem;
	line-height: 1.45;
}

.jkl-specification .table {
	margin-bottom: 0;
	border-color: var(--jkl-border);
}

.jkl-specification .table thead td {
	padding: .8rem 1rem;
	background: var(--jkl-green-100);
	color: var(--jkl-green-950);
	font-size: 1rem;
}

.jkl-specification .table tbody tr:nth-child(even) {
	background: var(--jkl-surface-soft);
}

.jkl-specification .table tbody td {
	padding: .7rem 1rem;
	vertical-align: top;
}

.jkl-specification .table tbody td:first-child {
	width: 34%;
	color: var(--jkl-muted);
	font-weight: 600;
}

#form-product,
#shopping-cart,
#checkout-checkout .card,
#account-login .well,
#account-register form {
	border-radius: var(--jkl-radius);
}

#shopping-cart .table,
#checkout-confirm .table {
	vertical-align: middle;
}

.jkl-account-page > .row {
	align-items: flex-start;
	gap: 1.5rem;
}

.jkl-account-page #content > h1 {
	margin-bottom: 1.25rem;
	color: var(--jkl-green-950);
	font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.jkl-account-login-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.jkl-account-login-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: clamp(1.25rem, 2.5vw, 2rem);
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius);
	background: #fff;
	box-shadow: 0 .5rem 1.5rem rgb(18 59 28 / 6%);
}

.jkl-account-login-card form {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.jkl-account-login-card h2 {
	margin: .65rem 0 1rem;
	color: var(--jkl-green-950);
	font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.jkl-account-login-card__icon,
.jkl-account-group__icon {
	display: inline-grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: var(--jkl-green-100);
	color: var(--jkl-green-800);
	font-size: 1.1rem;
}

.jkl-account-login-card__forgotten {
	font-weight: 600;
}

.jkl-sms-otp-disclosure {
	line-height: 1.45;
	text-align: left;
}

.jkl-sms-otp-disclosure > span {
	display: block;
}

.jkl-sms-otp-disclosure > span + span {
	margin-top: .5rem;
}

.jkl-sms-otp-disclosure a {
	text-decoration: underline;
}

.jkl-account-login-card__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .75rem;
	flex-wrap: wrap;
	margin-top: auto;
	padding-top: 1.5rem;
}

/* Compact only the password actions; registration and OTP actions stay unchanged. */
.jkl-account-login-card [data-jkl-account-login-step="methods"] > .jkl-account-login-card__actions {
	flex-wrap: nowrap;
	justify-content: space-between;
	margin-top: .75rem;
	padding-top: 0;
}

.jkl-account-login-card [data-jkl-account-login-step="methods"] > .jkl-account-login-card__actions > .jkl-account-login-card__forgotten {
	flex: 1;
	min-width: 0;
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.35;
}

.jkl-account-login-card [data-jkl-account-login-step="methods"] > .jkl-account-login-card__actions > .btn {
	flex: 0 0 auto;
	width: auto;
	padding: .5rem 1rem;
	font-size: .9rem;
	white-space: nowrap;
}

.jkl-account-login-identity {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-bottom: 1rem;
	padding: .75rem;
	border: 1px solid var(--jkl-border);
	border-radius: .5rem;
	background: var(--jkl-green-100);
}

.jkl-account-login-identity strong {
	overflow-wrap: anywhere;
}

.jkl-account-login-identity .btn {
	margin-left: auto;
}

.jkl-account-login-otp {
	display: grid;
	gap: .55rem;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #dce6df;
}

.jkl-account-login-otp[hidden] {
	display: none;
}

.jkl-account-nav {
	overflow: hidden;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius);
	background: #fff;
	box-shadow: 0 .5rem 1.5rem rgb(18 59 28 / 5%);
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-size: 1rem;
}

.jkl-account-nav h2 {
	margin: 0;
	padding: .9rem 1rem;
	border-bottom: 1px solid var(--jkl-border);
	background: var(--jkl-green-100);
	color: var(--jkl-green-950);
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .025em;
	text-transform: uppercase;
}

.jkl-account-nav .list-group-item {
	padding: .75rem 1rem;
	border-color: var(--jkl-border);
	color: var(--jkl-ink);
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.45;
}

.jkl-account-nav .list-group-item:hover,
.jkl-account-nav .list-group-item:focus {
	background: var(--jkl-surface-soft);
	color: var(--jkl-green-800);
}

.jkl-account-groups {
	display: grid;
	gap: 1rem;
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-size: 1rem;
}

.jkl-account-group {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr);
	gap: 1rem;
	padding: 1.25rem;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius);
	background: #fff;
}

.jkl-account-group h2 {
	margin: .15rem 0 .75rem;
	color: var(--jkl-green-950);
	font-size: 1.35rem;
}

.jkl-account-group ul {
	display: grid;
	gap: .45rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jkl-account-group a {
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-size: 1rem;
	font-weight: 600;
}

/* Keep typography consistent and one pixel smaller across every account page. */
[id^="account-"] p,
[id^="account-"] li,
[id^="account-"] label,
[id^="account-"] .form-control,
[id^="account-"] .form-select,
[id^="account-"] .form-text,
[id^="account-"] .btn,
[id^="account-"] table,
.jkl-account-nav,
.jkl-account-nav h2,
.jkl-account-nav .list-group-item,
.jkl-account-groups,
.jkl-account-group a {
	font-size: calc(1rem - 1px);
}

/* Cart estimate/coupon headers: color only; retain Bootstrap collapse behavior. */
#checkout-cart .accordion {
	--bs-accordion-active-bg: rgba(218, 165, 32, 0.5);
	--bs-accordion-active-color: var(--jkl-ink);
	--bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
	--bs-accordion-btn-focus-box-shadow: 0 0 0 .2rem rgb(40 111 53 / 15%);
}

#checkout-checkout .accordion-item {
	overflow: hidden;
	margin-bottom: .75rem;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius);
}

#checkout-checkout .accordion-button {
	color: var(--jkl-green-950);
	font-weight: 700;
}

#checkout-checkout .accordion-button:not(.collapsed) {
	background: var(--jkl-green-100);
	box-shadow: inset 0 -1px 0 var(--jkl-border);
}

#checkout-checkout .accordion-button:focus {
	border-color: var(--jkl-green-700);
	box-shadow: 0 0 0 .2rem rgb(40 111 53 / 15%);
}

#checkout-checkout {
	max-width: 72rem;
}

#checkout-checkout #content > h1 {
	margin-block: .75rem;
}

#checkout-checkout #content > .row {
	display: grid;
	gap: 1rem;
}

#checkout-checkout #content > .row > [class*="col"] {
	display: grid;
	gap: 1rem;
	width: 100%;
	margin: 0 !important;
}

#checkout-register:not(.jkl-checkout-register-shell),
#checkout-payment-address,
#checkout-shipping-address,
#checkout-shipping-method,
#checkout-payment-method,
#checkout-confirm,
.jkl-checkout-stage {
	overflow: hidden;
	margin-bottom: 0 !important;
	padding: 0;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius);
	background: #fff;
}

.jkl-checkout-register-shell {
	overflow: visible !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.jkl-checkout-register-shell #form-register {
	display: grid;
	gap: 1rem;
	margin: 0;
}

.jkl-checkout-options {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	margin-bottom: 1rem;
}

.jkl-checkout-options > .col {
	flex: 1 1 18rem;
}

.jkl-checkout-options-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.jkl-checkout-customer-card {
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid var(--jkl-border);
	border-radius: calc(var(--jkl-radius) - 2px);
	background: var(--jkl-surface-soft);
}

.jkl-checkout-customer-card h3 {
	margin: 0 0 .5rem;
	color: var(--jkl-green-950);
	font-size: 1.3rem;
}

.jkl-checkout-customer-card__copy {
	margin-bottom: 1.25rem;
	color: var(--jkl-muted);
}

.jkl-checkout-login__links {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1rem;
}

.jkl-checkout-login__forgotten {
	font-weight: 600;
}

/* Compact password actions only inside the checkout sign-in dialog. */
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login-dialog .jkl-checkout-login__links {
	flex-direction: row;
	align-items: center;
	gap: .75rem;
	margin-top: .75rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login-dialog .jkl-checkout-login__forgotten {
	flex: 1 1 auto;
	min-width: 0;
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.35;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-login-dialog .jkl-checkout-login__links .btn {
	flex: 0 0 auto;
	width: auto;
	padding: .5rem 1rem;
	font-size: .9rem;
	white-space: nowrap;
}

.jkl-checkout-stage__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem;
	justify-content: flex-end;
	margin-top: 1rem;
}

.jkl-checkout-stage__actions > .jkl-checkout-account-found {
	flex: 1 1 auto;
	flex-wrap: nowrap;
	margin: 0 auto 0 0;
	max-width: 100%;
}

.jkl-checkout-stage__actions--account-found {
	flex-wrap: nowrap;
	padding: .65rem .75rem;
	border: 1px solid #b9d0bd;
	border-radius: .35rem;
	background: #f2f7f3;
}

.jkl-checkout-stage__actions--account-found > .jkl-checkout-account-found {
	margin-top: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.jkl-checkout-stage__actions--account-found .btn {
	display: inline-flex;
	min-height: 2.5rem;
	align-items: center;
	justify-content: center;
}

.jkl-checkout-stage__actions > #button-register {
	margin-top: 0 !important;
}

#checkout-checkout #button-register,
#checkout-checkout #button-payment-address,
#checkout-checkout #button-shipping-address {
	margin-top: 1rem !important;
}

#checkout-checkout #button-register {
	display: block;
	margin-left: auto;
}

/* Express wallets provide billing details directly to the order session.
 * Keep the underlying OpenCart controls available to its save/confirm logic,
 * while removing the redundant customer-facing billing UI. */
#checkout-checkout.jkl-checkout--express-selected #checkout-payment-address,
#checkout-checkout.jkl-checkout--express-selected .jkl-checkout-address-match {
	display: none !important;
}

#checkout-checkout fieldset {
	margin: 0;
}

.jkl-checkout-toggle {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr) auto;
	align-items: center;
	gap: .75rem;
	width: 100%;
	min-height: 3.75rem;
	padding: .75rem 1rem;
	border: 0;
	background: var(--jkl-surface-soft);
	color: var(--jkl-green-950);
	text-align: left;
	font-size: .9375rem;
	font-weight: 700;
	transition: background-color .18s ease, color .18s ease;
}

.jkl-checkout-toggle:hover {
	background: var(--jkl-green-100);
}

.jkl-checkout-panel--locked > .jkl-checkout-toggle {
	cursor: not-allowed;
	background: #f4f5f4;
	color: #7b827c;
}

.jkl-checkout-panel--locked > .jkl-checkout-toggle .jkl-checkout-toggle__step {
	border-color: #b9bfba;
	color: #7b827c;
}

.jkl-checkout-panel--locked > .jkl-checkout-toggle .fa-chevron-down {
	opacity: .45;
}

.jkl-checkout-toggle:focus-visible {
	position: relative;
	z-index: 1;
	outline: 3px solid rgb(40 111 53 / 22%);
	outline-offset: -3px;
}

.jkl-checkout-toggle__step {
	display: inline-grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border: 1px solid var(--jkl-green-700);
	border-radius: 50%;
	background: #fff;
	color: var(--jkl-green-800);
	font-size: .875rem;
}

.jkl-checkout-toggle .fa-chevron-down {
	transition: transform .2s ease;
}

.jkl-checkout-panel--open > .jkl-checkout-toggle {
	border-bottom: 1px solid var(--jkl-border);
	background: var(--jkl-green-100);
}

.jkl-checkout-panel--open > .jkl-checkout-toggle .fa-chevron-down {
	transform: rotate(180deg);
}

.jkl-checkout-panel__body {
	padding: 1rem 1.25rem;
	font-size: .875rem;
}

.jkl-checkout-panel__body[hidden] {
	display: none !important;
}

.jkl-checkout-panel__body .form-control,
.jkl-checkout-panel__body .form-select {
	font-size: .875rem;
}

.jkl-checkout-panel__body label,
.jkl-checkout-panel__body .form-label,
.jkl-checkout-panel__body .form-check-label,
.jkl-checkout-panel__body .form-text,
.jkl-checkout-panel__body .btn,
.jkl-checkout-methods .form-check label {
	font-size: .875rem;
	line-height: 1.45;
}

#checkout-shipping-method > .jkl-checkout-panel__body,
#checkout-payment-method > .jkl-checkout-panel__body {
	padding-top: .625rem;
}

.jkl-checkout-existing-actions {
	margin-top: 1rem;
}

.jkl-checkout-address-match {
	margin: 0 auto 0 0;
}

.jkl-checkout-address-match + .btn {
	margin-left: auto;
}

.jkl-checkout-panel__body form > .text-end,
.jkl-checkout-methods form > .text-end {
	margin-top: 1rem;
}

.jkl-checkout-method-launcher {
	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;
}

.jkl-checkout-order-comment {
	margin: 1.25rem 0 !important;
	padding: 1rem;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius-sm);
	background: var(--jkl-surface-soft);
}

.jkl-checkout-comment-source {
	display: none !important;
}

.jkl-checkout-order-comment textarea {
	min-height: 7rem;
	background: #fff;
}

#checkout-confirm .jkl-checkout-confirm-preferences,
#checkout-confirm #paypal_card,
#checkout-confirm #paypal_card_tokens,
#checkout-confirm #fastlane_card {
	width: min(100%, 38rem);
	margin-right: 0;
	margin-left: auto;
}

#checkout-confirm .jkl-checkout-confirm-preferences {
	margin-top: .75rem;
	margin-bottom: .9rem;
	padding: .75rem 1rem;
}

#checkout-confirm .jkl-checkout-confirm-preferences .jkl-messaging-consent {
	margin-top: .7rem;
	padding-top: .7rem;
}

#checkout-confirm #paypal_card_container,
#checkout-confirm #paypal_card_tokens_container,
#checkout-confirm #fastlane_card_container,
#checkout-confirm #fastlane_card_form,
#checkout-confirm #fastlane_card_form_container {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
}

#checkout-checkout #checkout-confirm:empty {
	display: none;
}

.jkl-checkout-methods {
	position: static;
	z-index: auto;
	display: block;
	width: auto;
	height: auto;
	overflow: visible;
	margin-top: 0;
	padding: 0 !important;
	background: transparent;
}

.jkl-checkout-methods .modal-dialog {
	max-width: none;
	margin: 0;
	transform: none !important;
}

.jkl-checkout-methods .modal-content {
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.jkl-checkout-methods .modal-header {
	display: none;
}

.jkl-checkout-methods .modal-body {
	padding: 0;
}

.jkl-checkout-methods form > p {
	margin-bottom: 1rem;
}

.jkl-checkout-methods form > p strong {
	display: block;
	margin: .25rem 0;
	padding: .65rem .85rem;
	border: 1px solid var(--jkl-border);
	background: var(--jkl-green-100);
	color: var(--jkl-green-950);
}

.jkl-checkout-methods form > p:first-child strong {
	margin-top: 0;
}

.jkl-checkout-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .65rem;
	min-height: 4.5rem;
	color: var(--jkl-muted);
	font-size: .9375rem;
	font-weight: 600;
}

.jkl-checkout-loading .fa-spinner {
	color: var(--jkl-green-700);
	font-size: 1.15rem;
}

.jkl-checkout-methods .form-check {
	display: grid;
	grid-template-columns: 1.25rem minmax(0, 1fr);
	align-items: center;
	gap: .55rem;
	min-height: 2.5rem;
	margin: 0;
	padding: .4rem .85rem;
	border-top: 1px solid var(--jkl-border);
	border-right: 1px solid var(--jkl-border);
	border-bottom: 1px solid var(--jkl-border);
	border-left: 1px solid var(--jkl-border);
}

.jkl-checkout-methods .form-check + .form-check {
	border-top: 0;
}

/* View Cart: preserve the existing forms/routes while separating totals visually. */
#checkout-cart .jkl-cart-panels {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
	gap: 1.75rem;
	align-items: start;
	margin-top: 1.75rem;
}
#checkout-cart .jkl-cart-panels--summary-only { grid-template-columns: minmax(0, 1fr); }
#checkout-cart .jkl-cart-summary,
#checkout-cart .jkl-cart-options .accordion-item {
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius-sm);
	box-shadow: 0 7px 22px rgb(27 69 36 / 4%);
	background: #fff;
	overflow: hidden;
}
#checkout-cart .jkl-cart-options .accordion-item + .accordion-item { margin-top: 1rem; }
#checkout-cart .jkl-cart-summary { padding: 1.5rem; }
#checkout-cart .jkl-cart-summary h2,
#checkout-cart .jkl-cart-options .accordion-button {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--jkl-ink);
}
#checkout-cart .jkl-cart-options .accordion-button { padding: 1.5rem; background: #fff; box-shadow: none; }
#checkout-cart .jkl-cart-options .accordion-body { padding: 0 1.5rem 1.5rem; }
#checkout-cart .jkl-cart-totals { margin: .5rem 0 1rem; }
#checkout-cart .jkl-cart-totals td { padding: .8rem 0; background: transparent; border-color: var(--jkl-border); }
#checkout-cart .jkl-cart-totals td:first-child { padding-right: 1rem; }
#checkout-cart .jkl-cart-totals tr[data-jkl-cart-total="total"] td { font-size: 1.2rem; font-weight: 700; border-bottom: 0; }
#checkout-cart .jkl-cart-checkout { display: block; width: 100%; }
#checkout-cart .jkl-cart-continue { margin-top: 1.5rem; }
@media (min-width: 768px) {
	#checkout-cart .jkl-cart-layout #output-cart th:first-child { width: 6rem; }
	#checkout-cart .jkl-cart-layout #output-cart th:nth-child(3) { width: 17rem; }
}
#checkout-cart .jkl-cart-tax-notice {
	display: flex;
	gap: .7rem;
	margin: 1.25rem 0;
	padding: .9rem 1rem;
	border: 1px solid #d4e2d4;
	border-radius: .45rem;
	background: #f1f7ef;
	color: #234f29;
	font-size: .875rem;
}
#checkout-cart .jkl-cart-tax-notice[hidden] { display: none; }
#checkout-cart .jkl-cart-tax-notice i { margin-top: .2rem; }
#checkout-cart .jkl-cart-tax-notice strong { display: block; margin-bottom: .25rem; }
#checkout-cart .jkl-cart-tax-notice p { margin: 0; color: #445b47; }
#checkout-cart #button-quote[aria-busy="true"],
.jkl-cart-quote-modal #button-shipping-method[aria-busy="true"] { cursor: wait; }
.jkl-cart-quote-modal .modal-content { border-radius: var(--jkl-radius-sm); }
.jkl-cart-quote-modal .modal-title { font-size: 1.2rem; }
.jkl-cart-quote-modal .form-check { margin: .75rem 0; padding-top: .5rem; padding-bottom: .5rem; }
.jkl-cart-quote-modal .form-check label { cursor: pointer; }
.jkl-cart-quote-modal #button-shipping-method { max-width: 100%; white-space: normal; }
@media (max-width: 991.98px) {
	#checkout-cart .jkl-cart-panels { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
}

.jkl-cart-shipping-quotes {
	position: static;
	z-index: auto;
	display: block;
	width: auto;
	height: auto;
	overflow: visible;
	margin-top: 1.25rem;
	padding: 0 !important;
	background: transparent;
}

.jkl-cart-shipping-quotes .modal-dialog {
	max-width: none;
	margin: 0;
	transform: none !important;
}

.jkl-cart-shipping-quotes .modal-content {
	overflow: hidden;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius-sm);
	box-shadow: none;
}

.jkl-cart-shipping-quotes .modal-header {
	display: none;
}

.jkl-cart-shipping-quotes .modal-body {
	padding: 1rem;
}

.jkl-cart-shipping-quotes form > p:first-child {
	margin-bottom: 1rem;
	color: var(--jkl-muted);
}

.jkl-cart-shipping-quotes form > p:has(> strong) {
	margin: 1rem 0 0;
	padding: .65rem .85rem;
	border-radius: var(--jkl-radius-sm) var(--jkl-radius-sm) 0 0;
	background: var(--jkl-green-800);
	color: #fff;
	text-align: center;
}

.jkl-cart-shipping-quotes .form-check {
	display: grid;
	grid-template-columns: 2.25rem minmax(0, 1fr);
	align-items: center;
	min-height: 3rem;
	margin: 0;
	padding: .55rem .85rem;
	border-right: 1px solid var(--jkl-border);
	border-bottom: 1px solid var(--jkl-border);
	border-left: 1px solid var(--jkl-border);
	background: #fff;
}

.jkl-cart-shipping-quotes .form-check:has(input:checked) {
	background: var(--jkl-green-100);
}

.jkl-cart-shipping-quotes .form-check input {
	position: static;
	float: none;
	width: 1.1rem;
	height: 1.1rem;
	margin: 0;
}

.jkl-cart-shipping-quotes .form-check label {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	margin: 0;
	font-weight: 600;
	cursor: pointer;
}

.jkl-cart-shipping-quotes form > .text-end {
	margin-top: 1rem;
}

.jkl-cart-shipping-selection {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: .35rem 1rem;
	margin-top: 1rem;
	padding: .85rem 1rem;
	border: 1px solid rgb(40 111 53 / 28%);
	border-radius: var(--jkl-radius-sm);
	background: var(--jkl-green-100);
}

.jkl-cart-shipping-selection span {
	color: var(--jkl-muted);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.jkl-cart-shipping-selection strong {
	color: var(--jkl-green-950);
}

.jkl-checkout-methods .form-check input {
	float: none;
	margin: 0;
}

.jkl-checkout-methods .form-check label {
	margin: 0;
}

/* Checkout redesign: keep OpenCart's forms and save endpoints authoritative,
   while presenting them as a modern main flow with a sticky order summary. */
#checkout-checkout .jkl-checkout-session {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin: 0 0 1rem;
	padding: .55rem .8rem;
	border: 1px solid rgb(40 111 53 / 24%);
	border-radius: 999px;
	background: var(--jkl-green-100);
	color: var(--jkl-green-950);
	font-size: .875rem;
	font-weight: 650;
}

#checkout-checkout .jkl-checkout-express {
	margin: 0 0 1.25rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius-sm);
	background: #fff;
	box-shadow: 0 .5rem 1.5rem rgb(15 55 25 / 6%);
}

#checkout-checkout .jkl-checkout-express__heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: .85rem;
}

#checkout-checkout .jkl-checkout-express__heading span {
	display: block;
	margin-bottom: .1rem;
	color: var(--jkl-green-700);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

#checkout-checkout .jkl-checkout-express h2 {
	margin: 0;
	font-family: inherit;
	font-size: 1.15rem;
	font-weight: 750;
	text-transform: none;
}

#checkout-checkout .jkl-checkout-express__heading small,
#checkout-checkout .jkl-checkout-express__note {
	color: var(--jkl-muted);
	font-size: .78rem;
}

#checkout-checkout .jkl-checkout-express__methods {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: center;
	gap: .75rem;
}

#checkout-checkout .jkl-checkout-express__methods > div,
#checkout-checkout .jkl-checkout-express__methods > div > div {
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

#checkout-checkout .jkl-checkout-express__note {
	margin: .7rem 0 0;
	text-align: center;
}

#checkout-checkout .jkl-checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(19rem, 25rem);
	align-items: start;
	gap: 1.5rem;
}

#checkout-checkout .jkl-checkout-layout__column {
	display: contents;
}

#checkout-checkout .jkl-checkout-layout__column > #checkout-register,
#checkout-checkout .jkl-checkout-layout__column > #checkout-shipping-address,
#checkout-checkout .jkl-checkout-layout__column > #checkout-payment-address,
#checkout-checkout .jkl-checkout-layout__column > #checkout-shipping-method,
#checkout-checkout .jkl-checkout-layout__column > #checkout-payment-method,
#checkout-checkout .jkl-checkout-layout__column > #checkout-confirm {
	grid-column: 1;
}

#checkout-checkout .jkl-checkout-summary {
	grid-column: 2;
	grid-row: 1 / span 20;
	min-width: 0;
}

#checkout-checkout .jkl-checkout-summary__sticky {
	position: sticky;
	top: 1rem;
	overflow: hidden;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius-sm);
	background: #fff;
	box-shadow: 0 .75rem 2rem rgb(15 55 25 / 8%);
}

#checkout-checkout .jkl-checkout-summary h2 {
	margin: 0;
	padding: 1rem 1.1rem;
	border-bottom: 1px solid var(--jkl-border);
	background: var(--jkl-green-100);
	color: var(--jkl-green-950);
	font-family: inherit;
	font-size: 1.05rem;
	font-weight: 750;
	text-transform: none;
}

#checkout-checkout .jkl-checkout-summary__content {
	padding: 1rem;
}

#checkout-checkout .jkl-checkout-summary__empty {
	margin: 0;
	color: var(--jkl-muted);
	font-size: .875rem;
}

#checkout-checkout .jkl-checkout-summary .table-responsive {
	margin: 0;
}

#checkout-checkout .jkl-checkout-summary table {
	margin: 0;
	font-size: .8125rem;
}

#checkout-checkout .jkl-checkout-address-summary {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: .8rem;
	padding: .9rem 1rem;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius-sm);
	background: var(--jkl-surface-soft);
}

#checkout-checkout .jkl-checkout-address-summary > i {
	color: var(--jkl-green-700);
	font-size: 1.15rem;
}

#checkout-checkout .jkl-checkout-address-summary > span {
	display: grid;
	gap: .08rem;
	line-height: 1.5;
	font-size: .9375rem;
}

#checkout-checkout .jkl-checkout-address-line {
	display: block;
}

#checkout-checkout .jkl-checkout-address-choice > span {
	display: grid;
	gap: .08rem;
	font-size: .9375rem;
	line-height: 1.45;
}

#checkout-checkout .jkl-checkout-address-select-source {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip-path: inset(50%) !important;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-address-mode-source {
	display: none !important;
}

#checkout-checkout .jkl-checkout-address-add {
	margin-left: auto;
	color: var(--jkl-green-800);
	font-size: .8125rem;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: .15rem;
}

#checkout-checkout .jkl-checkout-address-add:hover,
#checkout-checkout .jkl-checkout-address-add:focus-visible {
	color: var(--jkl-green-950);
}

.jkl-checkout-dialog-open {
	overflow: hidden;
}

#checkout-checkout .jkl-checkout-address-dialog[hidden] {
	display: none !important;
}

#checkout-checkout .jkl-checkout-address-dialog {
	position: fixed;
	z-index: 1060;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 1rem;
}

#checkout-checkout .jkl-checkout-wallet-editor {
	z-index: 10060;
}

#checkout-checkout .jkl-checkout-wallet-editor--shipping > section {
	height: min(94dvh, 56rem);
	max-height: calc(100dvh - 2rem);
}

#checkout-checkout .jkl-checkout-wallet-editor__body > fieldset {
	display: block !important;
	margin: 0;
}

#checkout-checkout .jkl-checkout-wallet-editor__body > fieldset > legend {
	display: none;
}

#checkout-checkout .jkl-checkout-address-dialog__backdrop {
	position: absolute;
	inset: 0;
	background: rgb(8 31 14 / 58%);
}

#checkout-checkout .jkl-checkout-address-dialog > section {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	width: min(100%, 48rem);
	max-height: min(88vh, 50rem);
	overflow: hidden;
	border-radius: var(--jkl-radius-sm);
	background: #fff;
	box-shadow: 0 1.5rem 4rem rgb(0 0 0 / 24%);
}

#checkout-checkout .jkl-checkout-address-dialog header,
#checkout-checkout .jkl-checkout-address-dialog footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	padding: 1rem 1.15rem;
}

#checkout-checkout .jkl-checkout-address-dialog header {
	border-bottom: 1px solid var(--jkl-border);
}

#checkout-checkout .jkl-checkout-address-dialog footer {
	/* Core styles every footer as absolute; dialog actions need their own grid row. */
	position: static;
	bottom: auto;
	width: auto;
	justify-content: flex-end;
	border-top: 1px solid var(--jkl-border);
	background: #fff;
}

#checkout-checkout .jkl-checkout-address-dialog footer [data-address-new] {
	border-color: var(--jkl-green-700);
	background: #eef8f2;
	color: var(--jkl-green-800);
	font-weight: 750;
}

#checkout-checkout .jkl-checkout-address-dialog footer [data-address-new]:hover,
#checkout-checkout .jkl-checkout-address-dialog footer [data-address-new]:focus-visible {
	background: var(--jkl-green-700);
	color: #fff;
}

#checkout-checkout .jkl-checkout-address-dialog h3 {
	margin: 0;
	font-family: inherit;
	font-size: 1.15rem;
	font-weight: 750;
	text-transform: none;
}

#checkout-checkout .jkl-checkout-address-dialog__choices {
	display: grid;
	grid-auto-rows: max-content;
	align-content: start;
	gap: .65rem;
	min-height: 0;
	overflow-y: auto;
	padding: 1rem 1.15rem 2.5rem;
	scroll-padding-bottom: 2.5rem;
}

#checkout-checkout .jkl-checkout-address-editor__body {
	min-height: 0;
	overflow-y: auto;
	padding: 1rem 1.15rem 2.5rem;
	scroll-padding-bottom: 2.5rem;
	scrollbar-gutter: stable;
}

#checkout-checkout .jkl-checkout-address-editor__body > form {
	display: block !important;
	margin: 0;
}

#checkout-checkout .jkl-checkout-address-choice {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: .7rem;
	margin: 0;
	padding: .85rem;
	border: 1px solid var(--jkl-border);
	border-radius: var(--jkl-radius-sm);
	cursor: pointer;
}

#checkout-checkout .jkl-checkout-address-choice:has(input:checked) {
	border-color: var(--jkl-green-700);
	background: var(--jkl-green-100);
}

#checkout-checkout .jkl-checkout-address-choice input {
	margin-top: .2rem;
}

@media (max-width: 991.98px) {
	#checkout-checkout .jkl-checkout-layout {
		grid-template-columns: minmax(0, 1fr) minmax(17rem, 20rem);
		gap: 1rem;
	}
}

@media (max-width: 767.98px) {
	#checkout-checkout .jkl-checkout-layout {
		display: block;
	}

	#checkout-checkout .jkl-checkout-express__heading {
		align-items: start;
		flex-direction: column;
		gap: .25rem;
	}

	#checkout-checkout .jkl-checkout-express__methods {
		grid-template-columns: 1fr;
	}

	#checkout-checkout .jkl-checkout-summary {
		margin-top: 1rem;
	}

	#checkout-checkout .jkl-checkout-summary__sticky {
		position: static;
	}

	#checkout-checkout .jkl-checkout-address-summary {
		grid-template-columns: auto minmax(0, 1fr);
	}

	#checkout-checkout .jkl-checkout-address-summary .btn {
		grid-column: 1 / -1;
		width: 100%;
	}

	.jkl-account-login-grid {
		grid-template-columns: 1fr;
	}

	.jkl-account-page > .row {
		gap: 1rem;
	}

	.jkl-checkout-options-grid {
		grid-template-columns: 1fr;
	}

	#checkout-checkout.jkl-checkout-redesign .jkl-checkout-customer-card:first-child {
		grid-template-columns: 1fr;
	}

	#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-actions {
		grid-column: 1;
		grid-row: auto;
		align-items: stretch;
		flex-direction: column;
	}

	#checkout-checkout.jkl-checkout-redesign .jkl-checkout-account-actions .btn {
		width: 100%;
	}

	.jkl-checkout-login__links {
		align-items: stretch;
		flex-direction: column;
	}

	.jkl-checkout-login__links .btn {
		width: 100%;
	}
}

/* One-page checkout behavior. Keep these overrides strictly within the
   redesigned checkout so legacy account, cart, product, and category views
   retain their established controls and spacing. */
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-core-action,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-existing-actions,
#checkout-checkout.jkl-checkout-redesign #checkout-shipping-method > .jkl-checkout-method-launcher,
#checkout-checkout.jkl-checkout-redesign #checkout-payment-method > .jkl-checkout-method-launcher,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-methods form > .text-end,
#checkout-checkout.jkl-checkout-redesign .jkl-checkout-methods--automatic,
#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #button-confirm {
	display: none !important;
}

#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #checkout-payment > .text-end > .btn:disabled {
	display: none !important;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-stage__actions--passive:empty {
	display: none;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-stage__actions--passive {
	margin-top: .75rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-placeholder {
	margin: 0;
	padding: .8rem .9rem;
	border: 1px dashed #cbd8cf;
	border-radius: .45rem;
	background: #f7faf8;
	color: #657168;
	font-size: .9rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-methods {
	margin: 0;
}

#checkout-checkout.jkl-checkout-redesign #form-shipping-method > p:has(> strong) {
	display: none;
}

#checkout-checkout.jkl-checkout-redesign #form-shipping-method {
	display: grid;
	gap: .45rem;
}

#checkout-checkout.jkl-checkout-redesign #form-shipping-method .form-check {
	grid-template-columns: 1.35rem minmax(0, 1fr);
	min-height: 3rem;
	padding: .55rem .75rem;
	border: 1px solid #dce4df;
	border-radius: .42rem;
	background: #fff;
}

#checkout-checkout.jkl-checkout-redesign #form-shipping-method .form-check + .form-check {
	border-top: 1px solid #dce4df;
}

#checkout-checkout.jkl-checkout-redesign #form-shipping-method .form-check:has(input:checked) {
	border-color: rgb(40 111 53 / 45%);
	background: #eef8f2;
}

#checkout-checkout.jkl-checkout-redesign #form-shipping-method .form-check label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	font-weight: 650;
	cursor: pointer;
}

#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #checkout-payment,
#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #paypal_form,
#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #paypal_card,
#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #paypal_card_container,
#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #paypal_card_form,
#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #fastlane_card,
#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #fastlane_card_container,
#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #fastlane_card_form,
#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #fastlane_card_form_container {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #paypal_card_form,
#checkout-checkout.jkl-checkout-redesign #checkout-payment-method #fastlane_card_form {
	padding: .9rem;
	border-color: #dce4df;
	box-shadow: none;
}

#checkout-checkout.jkl-checkout-redesign #checkout-payment-method .jkl-return-policy-notice {
	margin: .7rem 0 0;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-shipping-selection {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .8rem .9rem;
	border: 1px solid rgb(40 111 53 / 32%);
	border-radius: .45rem;
	background: #eef8f2;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-shipping-selection[hidden] {
	display: none;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-shipping-selection > div {
	display: grid;
	gap: .15rem;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-shipping-selection span {
	color: #6d768b;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .035em;
	text-transform: uppercase;
}

#checkout-checkout.jkl-checkout-redesign .jkl-checkout-shipping-selection strong {
	color: #0d1748;
	font-size: .92rem;
}

.jkl-checkout-shipping-dialog .modal-dialog {
	display: flex;
	align-items: flex-start;
	max-width: 42rem;
	height: calc(100vh - 10rem);
	margin-top: 8.75rem;
	margin-bottom: 1.25rem;
}

.jkl-checkout-shipping-dialog {
	z-index: 12000;
}

body:has(.jkl-checkout-shipping-dialog.show) .modal-backdrop {
	z-index: 11990;
}

.jkl-checkout-shipping-dialog .modal-content {
	display: flex;
	flex-direction: column;
	max-height: 100%;
	overflow: hidden;
}

.jkl-checkout-shipping-dialog .modal-body {
	min-height: 0;
	overflow-y: auto;
}

.jkl-checkout-shipping-dialog form > .text-end {
	display: none;
}

.jkl-checkout-shipping-dialog form > p:has(> strong) {
	margin: .8rem 0 .35rem;
	color: var(--jkl-green-950);
}

.jkl-checkout-shipping-dialog .form-check {
	display: grid;
	grid-template-columns: 1.3rem minmax(0, 1fr);
	align-items: center;
	gap: .55rem;
	min-height: 2.8rem;
	margin: 0 0 .4rem;
	padding: .5rem .7rem;
	border: 1px solid #dce4df;
	border-radius: .4rem;
}

.jkl-checkout-shipping-dialog .form-check:has(input:checked) {
	border-color: rgb(40 111 53 / 45%);
	background: #eef8f2;
}

.jkl-checkout-shipping-dialog .form-check input {
	position: static;
	float: none;
	margin: 0;
}

.jkl-checkout-shipping-dialog .form-check label {
	display: flex;
	align-items: center;
	min-height: 1.3rem;
	margin: 0;
	font-size: .88rem;
	line-height: 1.3;
	cursor: pointer;
}

.jkl-checkout-address-dialog[aria-busy="true"] [data-address-apply],
.jkl-checkout-shipping-dialog[aria-busy="true"] [data-jkl-shipping-apply] {
	cursor: wait;
}

.jkl-checkout-shipping-dialog .jkl-checkout-shipping-actions {
	display: flex;
	flex: 0 0 auto;
	justify-content: flex-end;
	gap: .65rem;
	padding: .8rem 1rem;
	border-top: 1px solid #dce4df;
	background: #fff;
}

.jkl-checkout-shipping-dialog .jkl-checkout-shipping-actions .btn {
	font-size: .875rem;
}

@media (max-width: 767.98px) {
	.jkl-account-heading {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 12px;
		margin-bottom: 16px;
	}

	.jkl-account-heading h1 {
		margin-bottom: 0;
	}
}

.jkl-checkout-wallet-email {
	overflow-wrap: anywhere;
}

/* Footer */
.jkl-footer {
	position: static;
	bottom: auto;
	width: 100%;
	margin-top: 0;
	padding: clamp(36px, 4vw, 56px) 0 24px;
	border: 0;
	background: var(--jkl-green-950);
	color: #dce9de;
	font: 400 15px/1.5 Inter, "Helvetica Neue", Arial, sans-serif;
}

.jkl-footer__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 48px);
}

.jkl-footer h2 {
	margin: 0 0 10px;
	color: #fff;
	font: 700 16px/1.2 Manrope, Inter, sans-serif;
	letter-spacing: .02em;
	text-transform: none;
}

.jkl-footer__logo {
	display: inline-block;
	margin-bottom: 16px;
}

.jkl-footer__logo img {
	display: block;
	width: 200px;
	max-width: 100%;
	height: auto;
}

.jkl-footer__subheading,
.jkl-footer__section-heading,
.jkl-footer__signup {
	margin-top: 20px !important;
}

.jkl-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.jkl-footer li {
	margin: 0;
	padding: 0;
	line-height: 1.5;
}

.jkl-footer li + li {
	margin-top: 1px;
}

.jkl-footer a:not(.btn) {
	color: #dce9de;
	text-decoration: none;
}

.jkl-footer a:hover {
	color: #fff;
	text-decoration: underline;
}

.jkl-footer a.jkl-footer__text-link {
	display: inline-flex;
	align-items: center;
	gap: .25rem;
	padding: .05rem .4rem;
	border-radius: 999px;
	background: rgb(255 255 255 / 12%);
	color: #ffd166;
	font-weight: 700;
	line-height: 1.4;
}

.jkl-footer__text-link svg {
	width: .9em;
	height: .9em;
	fill: currentColor;
	flex: 0 0 auto;
}

.jkl-footer a.jkl-footer__text-link:hover,
.jkl-footer a.jkl-footer__text-link:focus-visible {
	background: rgb(255 255 255 / 20%);
	color: #fff;
}

.jkl-footer address {
	margin: 0;
	color: #dce9de;
	font: normal 15px/1.75 Inter, "Helvetica Neue", Arial, sans-serif;
}

.jkl-footer__google-rating {
	margin-top: 16px;
	font-size: 14px;
	line-height: 1.6;
}

.jkl-footer__google-rating a {
	display: inline-block;
	max-width: 100%;
}

.jkl-footer__google-stars {
	color: #ffd166;
	letter-spacing: .08em;
}

.jkl-footer__google-review-count {
	display: block;
}

.jkl-footer__social {
	display: flex;
	gap: 9px;
}

.jkl-footer__social a {
	display: inline-grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	color: #fff !important;
	font-size: 17px;
	text-decoration: none !important;
}

.jkl-footer__social-link--youtube {
	background: #f00;
}

#tab-specification tbody td:last-child {
	white-space: pre-line;
}

.jkl-footer__social a:hover,
.jkl-footer__social a:focus-visible {
	filter: brightness(.88);
	color: #fff !important;
}

.jkl-footer__about {
	display: flex;
	flex-direction: column;
}

.jkl-footer__about > ul {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.jkl-footer__usa {
	margin-top: auto !important;
	padding-top: 12px;
}

.jkl-footer__usa img {
	display: block;
	width: 128px;
	height: auto;
}

.jkl-footer__signup label {
	display: block;
	margin-bottom: 5px;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
}

.jkl-footer__signup input[type="email"] {
	display: block;
	width: 100%;
	height: 38px;
	padding: 6px 10px;
	border: 1px solid rgb(255 255 255 / 35%);
	border-radius: var(--jkl-radius-sm);
	background: #fff;
}

.jkl-footer__signup button {
	margin: 0;
	padding: 7px 14px;
	border: 0;
	border-radius: var(--jkl-radius-sm);
	background: var(--jkl-orange-500);
	color: var(--jkl-green-950);
	font: 700 15px/1.5 Inter, sans-serif;
}

@media (min-width: 768px) and (max-width: 1199.98px) {
	body {
		overflow-x: clip;
	}

	.container,
	.jkl-header > .container,
	.jkl-navigation .container {
		width: 90%;
		max-width: none;
		padding-right: 20px;
		padding-left: 20px;
	}

	.jkl-product-card--list,
	.jkl-product-card--list .jkl-product-card__content,
	.jkl-product-card--list .jkl-product-card__main,
	.jkl-product-card--list .jkl-product-card__commerce,
	.jkl-catalog-heading,
	.jkl-sort-bar {
		min-width: 0;
	}

	.jkl-product-card--list .jkl-product-card__content {
		grid-template-columns: minmax(0, 1fr) minmax(14rem, 15.5rem);
	}
}

.jkl-footer__signup-actions {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-top: 10px;
}

.jkl-footer__mailchimp {
	display: inline-block;
	margin: 0;
}

.jkl-footer__mailchimp img {
	display: block;
	width: 128px;
	height: auto;
	filter: brightness(0) invert(1);
	opacity: .9;
}

.jkl-footer__bottom {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-top: 48px;
	padding-top: 20px;
	border-top: 1px solid rgb(255 255 255 / 18%);
	color: #b9cdbc;
	font-size: 13px;
}

@media (max-width: 991.98px) {
	.jkl-header__inner {
		grid-template-columns: minmax(9rem, 1fr) minmax(12rem, 2fr);
	}

	.jkl-header__actions {
		grid-column: 1 / -1;
		justify-content: center;
		padding-bottom: 1rem;
	}

	.jkl-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767.98px) {
	.jkl-header {
		position: relative;
	}

	#product-info .jkl-product-detail {
		--bs-gutter-x: 1.5rem;
	}

	#product-info .jkl-product-detail__purchase {
		min-height: 0;
		margin-top: 1.25rem;
	}

	#product-info #form-product > .mb-3 > .input-group {
		grid-template-columns: auto 4rem minmax(8rem, 1fr);
	}

	#product-info #form-product .jkl-product-checkout {
		grid-column: 1 / -1;
		height: auto;
		margin-top: .6rem;
	}

	.jkl-product-support-panels {
		grid-auto-rows: auto;
		margin-top: 1.25rem;
	}

	.jkl-led-alternative-panel,
	.jkl-rfq-purchase-panel {
		align-items: flex-start;
		flex-direction: column;
	}

	.jkl-product-support-panels .jkl-rfq-purchase-panel--mil-spec > div {
		height: auto;
		padding-top: 0;
	}

	.jkl-product-support-panels .jkl-rfq-purchase-panel--mil-spec p {
		display: block;
		overflow: visible;
		-webkit-line-clamp: initial;
	}

	.jkl-product-documents--purchase {
		align-items: flex-start;
		flex-direction: column;
		margin-top: 1.25rem;
	}

	.jkl-header__inner {
		grid-template-columns: 1fr;
		gap: 1rem;
		padding: 1rem 0;
	}

	.jkl-brand img {
		max-height: 3.75rem;
		margin-inline: auto;
	}

	.jkl-header__actions {
		grid-column: auto;
		flex-wrap: wrap;
		padding-bottom: 0;
	}

	.jkl-header__phone,
	.jkl-header__contact {
		flex: 1 1 auto;
	}

	.jkl-header__cart {
		flex: 1 1 100%;
	}

	.jkl-navigation #menu {
		padding: .5rem 0;
	}

	.jkl-navigation #menu .navbar-nav {
		width: 100%;
	}

	.jkl-menu-track {
		position: static;
		width: 100%;
	}

	.jkl-menu-parent {
		display: grid;
		grid-template-columns: 1fr 3rem;
		position: relative;
	}

	.jkl-menu-parent > .dropdown-menu {
		grid-column: 1 / -1;
		position: static !important;
		width: 100%;
		padding: .5rem;
		box-shadow: none;
	}

	.jkl-menu-indicator {
		display: none;
	}

	.jkl-navigation .dropdown-inner {
		padding: 0;
	}

	.jkl-navigation .dropdown-grid {
		display: block;
	}

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

	.jkl-footer__grid {
		grid-template-columns: 1fr;
	}

	.jkl-footer__bottom {
		flex-direction: column;
	}

	.jkl-catalog-heading {
		display: block;
	}

	.jkl-catalog-heading > img {
		margin-bottom: 1rem;
	}

	.jkl-category-hero {
		min-height: 18rem;
	}

	.jkl-category-hero__content {
		justify-content: flex-end;
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.jkl-category-hero__rule {
		margin: .8rem 0 2rem;
	}

	.jkl-category-breadcrumbs {
		overflow-x: auto;
		font-size: .88rem;
	}

	.breadcrumb.jkl-category-breadcrumbs > li.breadcrumb-item {
		height: 2.35rem;
		min-height: 2.35rem;
	}

	.breadcrumb.jkl-category-breadcrumbs > li.breadcrumb-item:first-child {
		padding-left: .7rem;
	}

	.breadcrumb.jkl-category-breadcrumbs > li.breadcrumb-item:last-child {
		padding-right: .7rem;
	}

	.jkl-category-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
		width: 1.4rem;
		min-width: 1.4rem;
	}

	.jkl-product-documents {
		display: grid;
	}

	.jkl-product-documents__links {
		justify-content: flex-start;
	}

	.jkl-catalog-controls {
		display: grid;
	}

	.jkl-catalog-controls .input-group {
		width: 100%;
		max-width: none;
	}

	.jkl-product-card--list {
		grid-template-columns: 1fr;
	}

	.jkl-product-card--list .jkl-product-card__image {
		height: 8rem;
		border-right: 0;
		border-bottom: 1px solid var(--jkl-border);
	}

	.jkl-product-card--list .jkl-product-card__image img {
		max-height: 6.5rem;
	}

	.jkl-product-card--list .jkl-product-card__content {
		display: flex;
		padding: .9rem;
	}

	.jkl-product-card--list .jkl-product-card__main {
		display: flex;
	}

	.jkl-product-card--list .jkl-product-card__commerce {
		display: flex;
		align-items: flex-start;
		margin-top: .75rem;
		padding-left: 0;
		border-left: 0;
	}

	.jkl-product-card--list .jkl-product-card__rfq-button {
		align-self: flex-start;
		justify-self: start;
		width: auto;
		max-width: none;
		margin: 0;
	}

	.jkl-product-card--list .jkl-product-card__price,
	.jkl-product-card--list .jkl-product-card__rfq {
		margin-top: .4rem;
		text-align: left;
	}

	.jkl-product-card--list .jkl-product-card__description {
		display: none;
	}

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

	.jkl-product-card--list .jkl-product-card__facts dd {
		white-space: normal;
	}

	.jkl-product-card__documents {
		flex-direction: row;
		margin-top: .45rem;
	}

	.jkl-product-card--list .jkl-product-card__actions {
		justify-content: flex-start;
		height: auto;
		padding-left: 0;
		border-left: 0;
	}

	.jkl-product-card--list .jkl-product-card__actions .btn {
		padding-inline: .65rem;
		font-size: .85rem;
	}

	.jkl-pagination,
	.jkl-search-form {
		display: grid;
	}

	.jkl-search-form__action {
		padding-bottom: 0;
	}

	.jkl-specification .table tbody td:first-child {
		width: 45%;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}
.jkl-checkout-account-found {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-top: .55rem;
	padding: .65rem .75rem;
	border: 1px solid #b9d0bd;
	border-radius: .35rem;
	background: #f2f7f3;
	color: #153f1d;
}

.jkl-checkout-account-found > span {
	min-width: 0;
}

.jkl-checkout-account-found > .btn {
	flex: 0 0 auto;
	min-width: 5.25rem;
	white-space: nowrap;
}

#cart.jkl-header__cart .dropdown-menu p.text-end {
	display: flex;
	justify-content: flex-end;
	gap: .5rem;
	margin: .5rem 0 0;
	white-space: nowrap;
	font-size: 0;
}

#cart.jkl-header__cart .dropdown-menu p.text-end > a {
	display: inline-flex;
	height: 2.25rem;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	padding: 0 .8rem;
	border: 1px solid #195c28;
	border-radius: .3rem;
	background: #195c28;
	color: #fff;
	font-weight: 700;
	font-size: .875rem;
	text-decoration: none;
	white-space: nowrap;
}

#cart.jkl-header__cart .dropdown-menu form .btn-danger {
	display: inline-flex;
	width: 2.25rem;
	height: 2.25rem;
	align-items: center;
	justify-content: center;
	padding: 0;
}

#cart.jkl-header__cart .dropdown-menu p.text-end > a:hover,
#cart.jkl-header__cart .dropdown-menu p.text-end > a:focus {
	border-color: #0f461d;
	background: #0f461d;
	color: #fff;
}

/* Mobile storefront refinement. Keep every rule in this block scoped to
 * phone-sized viewports so the approved desktop presentation is unchanged. */
@media (max-width: 767.98px) {
	body {
		overflow-x: clip;
	}

	.container,
	.jkl-header > .container,
	.jkl-navigation .container {
		padding-right: .875rem;
		padding-left: .875rem;
	}

	main > .container {
		padding-top: 1.25rem;
		padding-bottom: 2.75rem;
	}

	main h1 {
		font-size: clamp(1.65rem, 8vw, 2.1rem);
		line-height: 1.15;
	}

	.breadcrumb:not(.jkl-category-breadcrumbs) {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-bottom: 1rem;
		padding-bottom: .25rem;
		white-space: nowrap;
		scrollbar-width: thin;
	}

	#product-info > .breadcrumb {
		display: grid;
		grid-template-columns: 1fr;
		overflow: visible;
		padding: 0;
		border: 1px solid var(--jkl-border);
		border-radius: var(--jkl-radius-sm);
		white-space: normal;
	}

	#product-info > .breadcrumb > .breadcrumb-item {
		display: flex;
		width: 100%;
		min-height: 2.25rem;
		align-items: center;
		padding: .4rem .7rem;
		border-bottom: 1px solid var(--jkl-border);
	}

	#product-info > .breadcrumb > .breadcrumb-item:last-child {
		border-bottom: 0;
	}

	#product-info > .breadcrumb > .breadcrumb-item + .breadcrumb-item::before {
		width: 1.1rem;
		min-width: 1.1rem;
		padding: 0;
		content: "\203A";
		text-align: center;
		transform: rotate(90deg);
	}

	.jkl-header__inner {
		grid-template-areas:
			"brand phone"
			"search search"
			"contact cart";
		grid-template-columns: minmax(0, 1fr) auto;
		gap: .6rem .5rem;
		padding: .75rem 0;
	}

	.jkl-brand {
		grid-area: brand;
	}

	.jkl-brand > a,
	.jkl-brand img {
		width: 9.75rem;
	}

	.jkl-brand img {
		margin-inline: 0;
	}

	.jkl-header__search {
		grid-area: search;
	}

	.jkl-header__search,
	.jkl-header-search,
	.jkl-header-search__input,
	.jkl-header-search__button {
		height: 2.75rem;
		min-height: 2.75rem;
	}

	.jkl-header-search {
		grid-template-columns: minmax(0, 1fr) 2.75rem;
	}

	.jkl-header__actions {
		display: contents;
	}

	.jkl-header__phone,
	.jkl-header__contact,
	#cart.jkl-header__cart,
	#cart.jkl-header__cart > .dropdown,
	#cart.jkl-header__cart .btn-lg.dropdown-toggle {
		height: 2.75rem;
		min-height: 2.75rem;
	}

	.jkl-header__phone {
		grid-area: phone;
		justify-content: flex-end;
		padding: 0;
		font-size: .95rem;
	}

	.jkl-header__contact {
		grid-area: contact;
		width: 100%;
		padding: 0 .85rem;
	}

	#cart.jkl-header__cart {
		grid-area: cart;
		width: 100%;
		min-width: 0;
	}

	#cart.jkl-header__cart .btn-lg.dropdown-toggle {
		width: 100%;
		padding-inline: .7rem;
		font-size: .84rem;
		white-space: nowrap;
	}

	#cart.jkl-header__cart .dropdown-menu {
		width: calc(100vw - 1.75rem);
		max-width: calc(100vw - 1.75rem);
		max-height: 70vh;
		overflow: auto;
	}

	#cart.jkl-header__cart .dropdown-menu .table-striped {
		table-layout: fixed;
	}

	#cart.jkl-header__cart .dropdown-menu .table-striped td {
		padding: .35rem;
		font-size: .78rem;
		line-height: 1.45;
	}

	#cart.jkl-header__cart .dropdown-menu .table-striped td:nth-child(1) { width: 18%; }
	#cart.jkl-header__cart .dropdown-menu .table-striped td:nth-child(2) { width: 42%; }
	#cart.jkl-header__cart .dropdown-menu .table-striped td:nth-child(3) { width: 10%; }
	#cart.jkl-header__cart .dropdown-menu .table-striped td:nth-child(4) { width: 18%; }
	#cart.jkl-header__cart .dropdown-menu .table-striped td:nth-child(5) { width: 12%; }

	#cart.jkl-header__cart .dropdown-menu .table-striped img {
		width: 100%;
		min-width: 0;
		height: auto;
	}

	#cart.jkl-header__cart .dropdown-menu p.text-end {
		justify-content: stretch;
	}

	#cart.jkl-header__cart .dropdown-menu p.text-end > a {
		flex: 1 1 0;
		padding: 0 .55rem;
	}

	.jkl-navigation #menu .nav > li > a,
	.jkl-navigation .dropdown-item {
		min-height: 2.75rem;
		padding: .65rem .75rem;
	}

	.jkl-category-hero {
		min-height: 14rem;
	}

	.jkl-category-hero__content {
		padding-top: 1.5rem;
		padding-bottom: 1.5rem;
	}

	.jkl-category-hero h1 {
		font-size: clamp(1.65rem, 8vw, 2.15rem);
		letter-spacing: .025em;
	}

	.jkl-category-hero__rule {
		margin: .7rem 0 1.5rem;
	}

	.jkl-catalog-page {
		padding-top: 1rem;
		padding-bottom: 2.75rem;
	}

	.jkl-catalog-page__body {
		padding-top: 1rem;
	}

	.jkl-catalog-page--hero {
		padding-top: 0;
	}

	.jkl-category-choices__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .55rem;
	}

	.jkl-category-choice {
		grid-template-rows: 6rem auto;
		min-height: 8.5rem;
		font-size: .9rem;
	}

	.jkl-category-choice img {
		height: 6rem;
	}

	.jkl-category-choice span {
		padding: .6rem .45rem;
	}

	.jkl-sort-bar {
		align-items: flex-start;
		flex-direction: column;
		gap: .35rem;
	}

	.jkl-sort-bar__fields {
		width: 100%;
	}

	.jkl-product-card--list .jkl-product-card__content,
	.jkl-product-card--list .jkl-product-card__main,
	.jkl-product-card--list .jkl-product-card__commerce {
		width: 100%;
	}

	.jkl-product-card--list .jkl-product-card__image {
		height: 6.75rem;
	}

	.jkl-product-card--list .jkl-product-card__image img {
		max-height: 5.5rem;
	}

	.jkl-product-card--list .jkl-product-card__content,
	.jkl-product-card--list .jkl-product-card__main {
		flex-direction: column;
	}

	.jkl-product-card--list .jkl-product-card__content {
		padding: .75rem;
	}

	.jkl-product-card--list .jkl-product-card__identity {
		flex-direction: column;
		align-items: flex-start;
		gap: .18rem;
	}

	.jkl-product-card--list .jkl-product-card__model,
	.jkl-product-card--list .jkl-product-card__title {
		width: 100%;
	}

	.jkl-product-card--list .jkl-product-card__facts {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
		gap: .45rem .75rem;
	}

	.jkl-product-card--list .jkl-product-card__facts > div {
		min-width: 0;
	}

	.jkl-product-card--list .jkl-product-card__note {
		width: 100%;
	}

	.jkl-product-card--list .jkl-product-card__main--has-documents::after {
		content: none;
	}

	.jkl-product-card--list .jkl-product-card__documents {
		align-self: flex-start;
		align-items: flex-start;
		width: auto;
		min-height: 0;
		padding: 0;
	}

	.jkl-product-card--list .jkl-product-card__documents[aria-hidden="true"] {
		display: none;
	}

	.jkl-product-card--list .jkl-product-card__commerce {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
		gap: .5rem;
		margin-top: .65rem;
	}

	.jkl-product-card--list .jkl-product-card__price,
	.jkl-product-card--list .jkl-product-card__rfq {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 2.75rem;
		margin: 0;
		padding: .3rem;
		text-align: center;
	}

	.jkl-product-card__facts {
		grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
		gap: .65rem .85rem;
	}

	.jkl-product-card--list .jkl-product-card__documents,
	.jkl-product-card--list .jkl-product-card__actions,
	.jkl-product-card--list .jkl-product-card__actions .btn,
	.jkl-product-card--list .jkl-product-card__rfq-button {
		width: 100%;
	}

	.jkl-product-card--list .jkl-product-card__rfq-button,
	.jkl-product-card--list .jkl-product-card__actions {
		margin: 0;
	}

	.jkl-product-card--list .jkl-product-card__actions .btn,
	.jkl-product-card--list .jkl-product-card__rfq-button {
		min-height: 2.75rem;
	}

	#product-info h1,
	#product-info .jkl-product-detail__title {
		font-size: clamp(1.65rem, 8vw, 2.1rem);
	}

	#product-info .jkl-product-detail {
		margin-bottom: 1.5rem !important;
	}

	#product-info .jkl-product-detail__media,
	#product-info .jkl-product-detail__media .image {
		width: 100%;
	}

	#product-info .jkl-product-detail__purchase {
		width: 100%;
		margin-top: 1rem;
	}

	#product-info .jkl-product-meta {
		margin-bottom: .9rem;
		font-size: 1rem;
		line-height: 1.55;
	}

	#product-info #jkl-pack-selector {
		grid-template-columns: auto minmax(0, 1fr);
		gap: .55rem;
		margin-top: 1.25rem;
	}

	#product-info #jkl-pack-selector .form-label {
		font-size: 1rem;
	}

	#product-info #form-product > .mb-3 > .input-group {
		grid-template-columns: auto 4rem minmax(0, 1fr);
		width: 100%;
		max-width: none;
	}

	#product-info #form-product .jkl-product-checkout {
		width: 100%;
		min-height: 2.75rem;
	}

	.jkl-product-support-panels {
		gap: .65rem;
	}

	.jkl-led-alternative-panel,
	.jkl-rfq-purchase-panel,
	.jkl-product-documents--purchase {
		width: 100%;
		min-height: 0;
		padding: .9rem;
	}

	.jkl-led-alternative-panel .btn,
	.jkl-rfq-purchase-panel .jkl-rfq-secondary,
	.jkl-product-documents__links,
	.jkl-product-documents__links .btn {
		width: 100%;
	}

	.jkl-product-documents__links {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
		align-items: stretch;
		gap: .5rem;
	}

	.jkl-led-alternative-panel .btn,
	.jkl-rfq-purchase-panel .jkl-rfq-secondary,
	.jkl-product-documents__links .btn {
		justify-content: center;
		min-height: 2.75rem;
		margin: 0;
		padding: .5rem .75rem;
	}

	.jkl-product-documents__links .btn {
		justify-content: center;
	}

	.jkl-product-description {
		margin: 1.5rem 0;
		font-size: 1rem;
		line-height: 1.65;
	}

	.jkl-specification {
		margin: 1.5rem 0;
		overflow-x: auto;
	}

	.jkl-specification .table tbody td,
	.jkl-specification .table thead td {
		padding: .6rem .7rem;
		font-size: .9rem;
	}

	#shopping-cart td form .input-group {
		grid-template-columns: 4rem minmax(.5rem, 1fr) 2.5rem 2.5rem;
		min-width: 12rem;
	}

	#shopping-cart td form .input-group > .btn {
		width: 2.5rem;
		height: 2.5rem;
	}

	#shopping-cart .jkl-mobile-cart-table {
		overflow: visible;
	}

	#shopping-cart .jkl-mobile-cart-table table,
	#shopping-cart .jkl-mobile-cart-table tbody,
	#shopping-cart .jkl-mobile-cart-table tfoot,
	#shopping-cart .jkl-mobile-cart-table tr,
	#shopping-cart .jkl-mobile-cart-table td {
		display: block;
		width: 100%;
	}

	#shopping-cart .jkl-mobile-cart-table thead {
		display: none;
	}

	#shopping-cart .jkl-mobile-cart-table tbody > tr {
		display: grid;
		grid-template-columns: 4.75rem minmax(0, 1fr);
		gap: .6rem .75rem;
		margin-bottom: .8rem;
		padding: .75rem;
		border: 1px solid var(--jkl-border);
		border-radius: var(--jkl-radius-sm);
		background: #fff;
	}

	#shopping-cart .jkl-mobile-cart-table tbody > tr > td {
		padding: 0;
		border: 0;
		text-align: left !important;
	}

	#shopping-cart .jkl-mobile-cart-table tbody > tr > td:first-child {
		grid-row: 1 / span 3;
	}

	#shopping-cart .jkl-mobile-cart-table tbody > tr > td:first-child img {
		width: 100%;
		height: auto;
	}

	#shopping-cart .jkl-mobile-cart-table tbody > tr > td:nth-child(3) {
		grid-column: 2;
	}

	#shopping-cart .jkl-mobile-cart-table tbody > tr > td:nth-child(4),
	#shopping-cart .jkl-mobile-cart-table tbody > tr > td:nth-child(5) {
		display: flex;
		grid-column: 2;
		align-items: center;
		justify-content: space-between;
		gap: .75rem;
	}

	#shopping-cart .jkl-mobile-cart-table tbody > tr > td:nth-child(4)::before,
	#shopping-cart .jkl-mobile-cart-table tbody > tr > td:nth-child(5)::before {
		color: var(--jkl-muted);
		font-size: .75rem;
		font-weight: 700;
		content: attr(data-jkl-label);
		text-transform: uppercase;
	}

	#shopping-cart .jkl-mobile-cart-table td form .input-group {
		grid-template-columns: minmax(0, 1fr) 2.5rem 2.5rem;
		width: 100%;
		min-width: 0;
	}

	#shopping-cart .jkl-mobile-cart-table tfoot {
		margin-top: .4rem;
		border: 1px solid var(--jkl-border);
		border-radius: var(--jkl-radius-sm);
		overflow: hidden;
	}

	#shopping-cart .jkl-mobile-cart-table tfoot tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	#shopping-cart .jkl-mobile-cart-table tfoot td {
		padding: .55rem .7rem;
		border: 0;
		border-bottom: 1px solid var(--jkl-border);
	}

	#shopping-cart .jkl-mobile-cart-table tfoot tr:last-child td {
		border-bottom: 0;
	}

	#account-order .jkl-mobile-order-list,
	#account-order .jkl-mobile-order-products {
		overflow: visible;
	}

	#account-order .jkl-mobile-order-list thead,
	#account-order .jkl-mobile-order-products thead {
		display: none;
	}

	#account-order .jkl-mobile-order-list table,
	#account-order .jkl-mobile-order-list tbody,
	#account-order .jkl-mobile-order-products table,
	#account-order .jkl-mobile-order-products tbody {
		display: block;
		width: 100%;
	}

	#account-order .jkl-mobile-order-list tbody > tr,
	#account-order .jkl-mobile-order-products tbody > tr[id^="product-row-"] {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .5rem .9rem;
		margin-bottom: .75rem;
		padding: .75rem;
		border: 1px solid var(--jkl-border);
		border-radius: var(--jkl-radius-sm);
	}

	#account-order .jkl-mobile-order-list tbody > tr > td,
	#account-order .jkl-mobile-order-products tbody > tr[id^="product-row-"] > td {
		display: flex;
		min-width: 0;
		align-items: flex-start;
		justify-content: space-between;
		gap: .65rem;
		padding: 0;
		border: 0;
		text-align: right !important;
	}

	#account-order .jkl-mobile-order-list tbody > tr > td::before,
	#account-order .jkl-mobile-order-products tbody > tr[id^="product-row-"] > td::before {
		color: var(--jkl-muted);
		font-size: .72rem;
		font-weight: 700;
		content: attr(data-jkl-label);
		text-align: left;
		text-transform: uppercase;
	}

	#account-order .jkl-mobile-order-list tbody > tr > td:last-child,
	#account-order .jkl-mobile-order-products tbody > tr[id^="product-row-"] > td:first-child,
	#account-order .jkl-mobile-order-products tbody > tr[id^="product-row-"] > td:last-child {
		grid-column: 1 / -1;
	}

	#account-order .jkl-mobile-order-list tbody > tr > td:last-child::before {
		content: none;
	}

	#account-order .jkl-mobile-order-list tbody > tr > td:last-child .btn {
		width: 100%;
	}

	#account-order .jkl-mobile-order-products tbody > tr[id^="product-row-"] > td:first-child {
		display: block;
		text-align: left !important;
	}

	#account-order .jkl-mobile-order-products tbody > tr[id^="product-row-"] > td:first-child::before,
	#account-order .jkl-mobile-order-products tbody > tr[id^="product-row-"] > td:last-child::before {
		display: block;
		margin-bottom: .3rem;
	}

	#account-order .jkl-mobile-order-products tbody > tr[id^="product-row-"] > td:last-child .d-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
		gap: .5rem;
	}

	#account-order .jkl-mobile-order-products tbody > tr[id^="product-row-"] > td:last-child {
		display: block;
		width: 100% !important;
		text-align: left !important;
	}

	#account-order .jkl-mobile-order-products tbody > tr[id^="product-row-"] > td:last-child .btn {
		display: inline-flex;
		width: 100%;
		min-width: 0;
		min-height: 2.75rem;
		align-items: center;
		justify-content: center;
		margin: 0 !important;
		padding-inline: .5rem;
		white-space: nowrap;
	}

	#account-order .jkl-mobile-order-products tbody > tr:not([id^="product-row-"]) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	#account-order .jkl-mobile-order-products tbody > tr:not([id^="product-row-"]) > td {
		display: none;
	}

	#account-order .jkl-mobile-order-products tbody > tr:not([id^="product-row-"]) > td:nth-last-child(3),
	#account-order .jkl-mobile-order-products tbody > tr:not([id^="product-row-"]) > td:nth-last-child(2) {
		display: block;
		width: auto;
		padding: .45rem;
		border: 0;
	}

	.jkl-account-login-card,
	.jkl-account-group {
		padding: 1rem;
	}

	.jkl-account-group {
		grid-template-columns: 2.5rem minmax(0, 1fr);
		gap: .75rem;
	}

	.jkl-account-group__icon {
		width: 2.5rem;
		height: 2.5rem;
	}

	.jkl-checkout-toggle {
		grid-template-columns: 1.8rem minmax(0, 1fr) auto;
		gap: .6rem;
		min-height: 3.35rem;
		padding: .65rem .75rem;
	}

	.jkl-checkout-toggle__step {
		width: 1.8rem;
		height: 1.8rem;
	}

	.jkl-checkout-panel__body {
		padding: .85rem;
	}

	.jkl-checkout-customer-card,
	.jkl-checkout-order-comment,
	.jkl-cart-shipping-quotes .modal-body {
		padding: .85rem;
	}

	.jkl-checkout-stage__actions,
	.jkl-checkout-existing-actions,
	.jkl-checkout-panel__body form > .text-end,
	.jkl-checkout-methods form > .text-end {
		width: 100%;
	}

	.jkl-checkout-stage__actions > .btn,
	.jkl-checkout-existing-actions .btn,
	.jkl-checkout-panel__body form > .text-end .btn,
	.jkl-checkout-methods form > .text-end .btn {
		width: 100%;
		min-height: 2.75rem;
	}

	.jkl-checkout-account-found {
		align-items: stretch;
		flex-direction: column;
	}

	.jkl-checkout-stage__actions--account-found {
		align-items: stretch;
		flex-direction: column;
	}

	.jkl-checkout-account-found > .btn {
		width: 100%;
	}

	.jkl-cart-shipping-quotes .form-check label {
		align-items: flex-start;
		gap: .65rem;
	}

	.jkl-footer {
		padding: 2rem 0 1.25rem;
	}

	.jkl-footer__grid {
		gap: 1.75rem;
	}

	.jkl-footer__logo {
		margin-bottom: .75rem;
	}

	.jkl-footer__logo img {
		width: 11rem;
	}

	.jkl-footer__subheading,
	.jkl-footer__section-heading,
	.jkl-footer__signup {
		margin-top: 1rem !important;
	}

	.jkl-footer__bottom {
		gap: .4rem;
		margin-top: 2rem;
		padding-top: 1rem;
	}
}
.jkl-checkout-login__external {
	display: grid;
	gap: .55rem;
	margin-top: .75rem;
	padding-top: .75rem;
	border-top: 1px solid #dce6df;
}

.jkl-checkout-login__external[hidden] {
	display: none;
}

.jkl-account-login-external {
	display: grid;
	gap: .55rem;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #dce6df;
}
.jkl-security-page #content > h1 { display: flex; gap: .65rem; align-items: center; }
.jkl-security-card { margin: 1rem 0; padding: 1.25rem; border: 1px solid #dce6df; border-radius: .75rem; background: #fff; box-shadow: 0 .2rem .75rem rgba(10, 55, 25, .04); }
.jkl-security-card h2 { margin: 0 0 .75rem; color: #071a52; font-size: 1.25rem; }
.jkl-security-proof-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; }
.jkl-security-proof-grid > *, .jkl-security-contact > * { padding: 1rem; border: 1px solid #dce6df; border-radius: .55rem; background: #f7faf8; }
.jkl-security-proof-grid form, .jkl-security-code-form { display: grid; gap: .65rem; }
.jkl-security-contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.jkl-security-identities { display: grid; gap: .75rem; }
.jkl-security-identity { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid #dce6df; border-radius: .55rem; background: #f7faf8; }
.jkl-security-activity { margin: 0; padding: 0; list-style: none; }
.jkl-security-activity li { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid #e6ece8; }
.jkl-security-activity li:last-child { border-bottom: 0; }
.jkl-security-activity span { color: #68758a; white-space: nowrap; }
@media (max-width: 575.98px) { .jkl-security-identity, .jkl-security-activity li { align-items: flex-start; flex-direction: column; } .jkl-security-activity span { white-space: normal; } }
.jkl-checkout-address-choice__source {
	display: block;
	margin-bottom: 0.2rem;
	color: var(--jkl-green, #17652a);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
