/*!
Theme Name: JKL Showcase - OpenCart Navigation
Theme URI: https://www.jkllamps.com/
Description: Reversible child theme that gives the JKL WordPress site the OpenCart storefront navigation.
Author: JKL Components Corporation
Template: jkl-showcase
Version: 0.4.43
Text Domain: jkl-showcase-oc-nav
*/

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

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

:root {
	--jkl-nav-green-950: #12330d;
	--jkl-nav-green-900: #16451c;
	--jkl-nav-green-700: #286f35;
	--jkl-nav-menu-hover: #e7ede8;
	--jkl-nav-orange-500: #f89618;
	--jkl-nav-ink: #202522;
	--jkl-nav-border: #dce3de;
	--jkl-nav-radius-sm: .4rem;
	--jkl-nav-radius: .8rem;
	--jkl-nav-shadow: 0 .9rem 2.5rem rgb(18 51 13 / 11%);
	--jkl-nav-content-width: 82rem;
	--jkl-nav-control-height: 3rem;
	--jkl-nav-header-gap: clamp(1rem, 1.5vw, 1.5rem);
}

/* Match the legacy site's Scheme marquee treatment without forcing Scheme on
 * ordinary content headings. Page copy continues to inherit the parent
 * theme's Lato typography; child-theme controls retain Inter. */
.hero-area .marquee-title {
	font-family: "SchemeRg-Regular", Inter, "Helvetica Neue", Arial, sans-serif;
	font-weight: 900;
	text-transform: uppercase;
}

/* The parent theme renders ordinary content H2s at 33/42 in inherited Lato.
 * Retain that font and weight while bringing the heading scale into balance. */
.entry-content h2 {
	font-size: 27px;
	line-height: 34px;
}

/* Gravity Form 1 is shared by the home and Contact pages. */
.home .gform_wrapper,
.page-id-41 .gform_wrapper {
	box-sizing: border-box;
	width: min(100%, 52rem);
	margin-inline: auto;
	padding: clamp(1rem, 2.5vw, 1.75rem);
	border: 1px solid var(--jkl-nav-border);
	border-radius: var(--jkl-nav-radius);
	background: #f7faf7;
	box-shadow: 0 .45rem 1.25rem rgb(18 51 13 / 7%);
}

.home .gform_wrapper .gfield,
.page-id-41 .gform_wrapper .gfield {
	margin-bottom: 1rem;
}

.home .gform_wrapper label,
.page-id-41 .gform_wrapper label {
	color: var(--jkl-nav-ink);
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-size: .95rem;
	font-weight: 600;
}

.home .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.home .gform_wrapper select,
.home .gform_wrapper textarea,
.page-id-41 .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.page-id-41 .gform_wrapper select,
.page-id-41 .gform_wrapper textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: .35rem 0 0;
	padding: .7rem .8rem;
	border: 1px solid #cfd9d1;
	border-radius: var(--jkl-nav-radius-sm);
	background: #fff;
	color: var(--jkl-nav-ink);
	font: 400 1rem/1.4 Inter, "Helvetica Neue", Arial, sans-serif;
}

.home .gform_wrapper textarea,
.page-id-41 .gform_wrapper textarea {
	min-height: 8rem;
	resize: vertical;
}

.home .gform_wrapper input:focus,
.home .gform_wrapper select:focus,
.home .gform_wrapper textarea:focus,
.page-id-41 .gform_wrapper input:focus,
.page-id-41 .gform_wrapper select:focus,
.page-id-41 .gform_wrapper textarea:focus {
	border-color: var(--jkl-nav-green-700);
	outline: 0;
	box-shadow: 0 0 0 .2rem rgb(40 111 53 / 15%);
}

.home .gform_wrapper .gform_footer,
.page-id-41 .gform_wrapper .gform_footer {
	margin-top: .5rem;
	padding: 0;
	text-align: right;
}

.home .gform_wrapper input[type="submit"],
.home .gform_wrapper button[type="submit"],
.page-id-41 .gform_wrapper input[type="submit"],
.page-id-41 .gform_wrapper button[type="submit"] {
	min-height: 2.75rem;
	margin: 0;
	padding: .65rem 1.25rem;
	border: 1px solid var(--jkl-nav-green-900);
	border-radius: var(--jkl-nav-radius-sm);
	background: var(--jkl-nav-green-900);
	color: #fff;
	font: 600 .95rem/1 Inter, "Helvetica Neue", Arial, sans-serif;
	cursor: pointer;
}

/* Contain legacy floated images and prevent deep-page/mobile overlap. */
.entry-content,
.page-id-622 .entry-content {
	display: flow-root;
	min-width: 0;
	word-break: normal;
	overflow-wrap: break-word;
}

.entry-content img,
.page-id-622 .entry-content img {
	max-width: 100%;
	height: auto;
}

.entry-content a {
	overflow-wrap: break-word;
}

/* Keep legacy deep-page columns inside the viewport without breaking words. */
.entry-content > .gridx,
.entry-content .flex-wrap,
.entry-content .mc-main-content {
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
}

.entry-content p,
.entry-content li,
.jkl-legal-page,
.jkl-legal-page * {
	word-break: normal;
	overflow-wrap: break-word;
}

/* Static distributor directory: explicit cards replace the legacy float grid. */
.jkl-distributors .entry-content {
	padding: clamp(2rem, 4vw, 4rem) 0;
	background: #fff;
}

.jkl-distributors__container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--jkl-nav-content-width);
	margin-inline: auto;
	padding-inline: .75rem;
}

.jkl-distributors__intro {
	max-width: 56rem;
	margin: 0 auto clamp(1.75rem, 3vw, 2.75rem);
	color: #3d4740;
	font: 400 clamp(1rem, 1.3vw, 1.125rem)/1.7 Inter, "Helvetica Neue", Arial, sans-serif;
	text-align: center;
}

.jkl-distributors__intro p {
	margin: 0;
}

.jkl-distributors__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* The parent theme draws list bullets with an absolutely positioned pseudo-element. */
.entry-content .jkl-distributors__grid,
.entry-content .jkl-distributors__grid > .jkl-distributor-card {
	margin-left: 0;
	list-style: none;
}

.entry-content .jkl-distributors__grid > .jkl-distributor-card::before {
	display: none;
	content: none;
}

.jkl-distributor-card {
	min-width: 0;
	margin: 0;
	padding: 0;
}

.jkl-distributor-card > a {
	display: grid;
	grid-template-rows: 9rem auto auto;
	align-items: center;
	gap: .75rem;
	height: 100%;
	box-sizing: border-box;
	padding: 1.25rem;
	border: 1px solid var(--jkl-nav-border);
	border-radius: var(--jkl-nav-radius);
	background: #f7faf7;
	box-shadow: 0 .3rem .9rem rgb(18 51 13 / 5%);
	color: var(--jkl-nav-ink);
	text-align: center;
	text-decoration: none;
	overflow-wrap: normal;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.jkl-distributor-card > a:hover,
.jkl-distributor-card > a:focus-visible {
	border-color: #a8c4ad;
	box-shadow: 0 .65rem 1.5rem rgb(18 51 13 / 11%);
	color: var(--jkl-nav-green-950);
	text-decoration: none;
	transform: translateY(-2px);
}

.jkl-distributor-card > a:focus-visible {
	outline: 3px solid rgb(248 150 24 / 45%);
	outline-offset: 2px;
}

.jkl-distributor-card__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 9rem;
	padding: .5rem;
	box-sizing: border-box;
	border-radius: .55rem;
	background: #fff;
}

.jkl-distributor-card__logo img {
	display: block;
	width: auto;
	max-width: min(100%, 13rem);
	height: auto;
	max-height: 7rem;
	margin: 0;
	padding: 0;
	object-fit: contain;
}

.jkl-distributor-card__name {
	align-self: start;
	color: var(--jkl-nav-green-950);
	font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.3;
}

.jkl-distributor-card__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	align-self: end;
	color: var(--jkl-nav-green-700);
	font: 700 .9rem/1.3 Inter, "Helvetica Neue", Arial, sans-serif;
}

.jkl-distributor-card__action svg {
	width: .75rem;
	height: .75rem;
	fill: currentColor;
}

.jkl-distributors__help {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	margin-top: clamp(2rem, 4vw, 3.5rem);
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid #cadacd;
	border-radius: var(--jkl-nav-radius);
	background: #edf5ee;
}

.jkl-distributors__help h2,
.jkl-distributors__help p {
	margin: 0;
}

.jkl-distributors__help h2 {
	color: var(--jkl-nav-green-950);
	font-size: clamp(1.35rem, 2vw, 1.7rem);
	line-height: 1.2;
}

.jkl-distributors__help p {
	margin-top: .4rem;
	color: #475248;
	font: 400 .95rem/1.55 Inter, "Helvetica Neue", Arial, sans-serif;
}

.jkl-distributors__contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: .25rem 1.1rem;
	box-sizing: border-box;
	border-radius: var(--jkl-nav-radius-sm);
	background: var(--jkl-nav-green-900);
	color: #fff !important;
	font: 700 .95rem/1 Inter, "Helvetica Neue", Arial, sans-serif;
	text-decoration: none;
	white-space: nowrap;
}

.jkl-distributors__contact:hover,
.jkl-distributors__contact:focus-visible {
	background: var(--jkl-nav-green-950);
	color: #fff !important;
	text-decoration: none;
}

@media (max-width: 900px) {
	.jkl-distributors__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.jkl-distributors__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.jkl-distributor-card > a {
		grid-template-rows: 7.5rem auto auto;
	}

	.jkl-distributor-card__logo {
		height: 7.5rem;
	}

	.jkl-distributor-card__logo img {
		max-height: 6rem;
	}

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

	.jkl-distributors__contact {
		width: 100%;
	}
}

/* OpenCart-matched footer */
body #content.site-content {
	padding-bottom: clamp(40px, 5vw, 80px);
}

/* Legal pages maintained from the approved JKL source documents. */
.jkl-legal-page {
	max-width: 58rem;
	margin: 0 auto;
	padding: clamp(1rem, 2vw, 2rem) 0;
	color: var(--jkl-nav-ink);
	font: 400 1rem/1.7 Inter, "Helvetica Neue", Arial, sans-serif;
}

.jkl-legal-page h1 {
	margin: 0 0 .5rem;
	color: var(--jkl-nav-green-950);
	font: 900 clamp(2rem, 4vw, 2.75rem)/1.15 Inter, "Helvetica Neue", Arial, sans-serif;
}

.jkl-legal-page h2 {
	margin: 2rem 0 .55rem;
	padding-bottom: .35rem;
	border-bottom: 1px solid var(--jkl-nav-border);
	color: var(--jkl-nav-green-900);
	font: 900 clamp(1.2rem, 2vw, 1.45rem)/1.25 Inter, "Helvetica Neue", Arial, sans-serif;
}

.jkl-legal-page p {
	margin: 0 0 1rem;
}

.jkl-legal-page__effective {
	color: #5f6f63;
	font-size: .92rem;
}

.jkl-legal-page__lede {
	max-width: 50rem;
	font-size: 1.08rem;
}

.jkl-legal-page a {
	color: var(--jkl-nav-green-700);
	font-weight: 600;
}

.jkl-wp-footer,
.jkl-wp-footer * {
	box-sizing: border-box;
}

.jkl-wp-footer.site-footer {
	position: static;
	clear: both;
	width: 100%;
	margin: 0;
	padding: clamp(36px, 4vw, 56px) 0 24px;
	border: 0;
	background: #12330d;
	color: #dce9de;
	font: 400 15px/1.5 Inter, "Helvetica Neue", Arial, sans-serif;
}

.jkl-wp-footer__container {
	width: 100%;
	max-width: var(--jkl-nav-content-width);
	margin-inline: auto;
	padding-inline: .75rem;
}

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

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

.jkl-wp-footer__logo {
	display: inline-block;
	margin-bottom: 16px;
	line-height: 0;
}

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

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

.jkl-wp-footer ul li {
	margin: 0;
	padding: 0;
	line-height: 1.5;
	list-style: none;
}

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

.jkl-wp-footer a,
.jkl-wp-footer ul li a {
	color: #dce9de;
	font-size: 15px;
	text-decoration: none;
}

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

.jkl-wp-footer a.jkl-wp-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-wp-footer__text-link svg {
	width: .9em;
	height: .9em;
	fill: currentColor;
	flex: 0 0 auto;
}

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

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

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

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

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

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

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

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

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

.jkl-wp-footer__social-link svg {
	width: 17px;
	height: 17px;
	fill: currentcolor;
}

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

.jkl-wp-footer__social-link:hover,
.jkl-wp-footer__social-link:focus-visible {
	filter: brightness(.88);
}

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

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

.jkl-wp-footer ul .jkl-wp-footer__usa {
	margin-top: auto;
	padding-top: 12px;
}

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

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

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

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

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

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

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

.jkl-wp-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-wp-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px) {
	.jkl-wp-footer__grid {
		grid-template-columns: 1fr;
	}

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

.jkl-wp-header,
.jkl-wp-header * {
	box-sizing: border-box;
}

.jkl-wp-header,
.home .jkl-wp-header,
.page-variation .jkl-wp-header {
	position: sticky !important;
	top: 0;
	z-index: 1010;
	width: 100%;
	height: auto;
	background: var(--jkl-nav-green-900);
	box-shadow: none;
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	transition: box-shadow 160ms ease;
}

/*
 * The parent theme applies overflow-x:hidden to #page. That makes #page a
 * scrolling ancestor and prevents position:sticky from following the browser
 * viewport. "clip" still contains horizontal overflow without creating a
 * scrolling ancestor.
 */
body,
.site {
	overflow-x: clip;
}

.jkl-wp-scrolled .jkl-wp-header {
	box-shadow: 0 .25rem 1rem rgb(18 51 13 / 16%);
}

.jkl-wp-header__container {
	width: 100%;
	max-width: var(--jkl-nav-content-width);
	padding-inline: .75rem;
	margin-inline: auto;
}

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

.jkl-wp-brand {
	display: block;
	width: 200px;
	max-width: 100%;
	line-height: 0;
}

.jkl-wp-brand img {
	display: block;
	width: 200px;
	max-width: 200px;
	height: auto;
	max-height: none;
	margin: 0;
}

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

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

.jkl-wp-search input.jkl-wp-search__input {
	width: 100%;
	min-width: 0;
	padding: 0 1rem;
	border: 2px solid var(--jkl-nav-border);
	border-radius: var(--jkl-nav-radius-sm) 0 0 var(--jkl-nav-radius-sm);
	background: #fff;
	color: var(--jkl-nav-ink);
	font-family: Inter, sans-serif;
}

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

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

.jkl-wp-search__button:hover,
.jkl-wp-search__button:focus {
	position: relative;
	z-index: 1;
	border-color: var(--jkl-nav-green-700);
	background: #fff;
	color: var(--jkl-nav-green-950);
	outline: 0;
	box-shadow: 0 0 0 .2rem rgb(40 111 53 / 15%);
}

.jkl-wp-icon {
	display: inline-block;
	flex: 0 0 auto;
	width: 1em;
	height: 1em;
	overflow: visible;
	vertical-align: -.125em;
	fill: currentColor;
}

.jkl-wp-icon--cart {
	width: 1.125em;
}

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

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

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

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

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

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

.jkl-wp-cart-shell {
	position: relative;
	flex: 0 0 auto;
	width: auto;
	min-width: 180px;
}

.jkl-wp-cart {
	width: auto;
	min-width: 180px;
	padding: 0 1rem;
	gap: .4rem;
	border: 1px solid #212529;
	background: #212529;
	color: #fff;
	font-size: .95rem;
	font-weight: 650;
}

.jkl-wp-cart[aria-expanded="true"] {
	background: #0d1710;
}

.jkl-wp-cart:hover,
.jkl-wp-cart:focus {
	background: #0d1710;
	color: #fff;
}

.jkl-wp-cart-panel {
	position: absolute;
	top: calc(100% + .125rem);
	right: 0;
	z-index: 1000;
	width: min(596px, calc(100vw - 1.5rem));
	min-width: min(300px, calc(100vw - 1.5rem));
	max-width: calc(100vw - 1.5rem);
	max-height: min(70vh, 42rem);
	margin: 0;
	padding: .5rem;
	border: 1px solid rgb(0 0 0 / 17.5%);
	border-radius: .25rem;
	background: #eee;
	background-clip: padding-box;
	color: #212529;
	font: 400 13px/1.8 Inter, "Helvetica Neue", Arial, sans-serif;
	text-align: left;
	white-space: normal;
	overflow: auto;
}

.jkl-wp-cart-panel[hidden] {
	display: none;
}

.jkl-wp-cart-panel.is-empty {
	width: auto;
	min-width: 0;
}

.jkl-wp-cart-panel.is-empty > .text-center {
	min-width: 300px;
	padding: 1.5rem !important;
	text-align: center !important;
}

.jkl-wp-cart-panel.is-loading {
	min-height: 5rem;
	cursor: progress;
}

.jkl-wp-cart-panel.is-loading::before {
	content: "Refreshing cart…";
	display: grid;
	min-height: 3.5rem;
	color: #66706a;
	place-items: center;
}

.jkl-wp-cart-panel ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.jkl-wp-cart-panel > ul > li {
	min-width: 300px;
}

.jkl-wp-cart-panel table {
	width: 100%;
	margin: 0 0 .5rem;
	border-collapse: collapse;
	background: #fff;
	vertical-align: top;
}

.jkl-wp-cart-panel td {
	min-width: 0;
	padding: .5rem;
	border: 0;
	border-bottom: 1px solid #dee2e6;
	background: #fff;
	color: #000;
	font-size: 13px;
	line-height: 1.8;
	text-align: left;
	vertical-align: top;
}

.jkl-wp-cart-panel .table-striped tr:nth-child(odd) td {
	background: #f2f2f2;
}

.jkl-wp-cart-panel .table-striped {
	table-layout: fixed;
}

.jkl-wp-cart-panel .table-striped td:nth-child(1) {
	width: 20%;
}

.jkl-wp-cart-panel .table-striped td:nth-child(2) {
	width: 52%;
	text-align: left !important;
}

.jkl-wp-cart-panel .table-striped td:nth-child(3) {
	width: 7%;
}

.jkl-wp-cart-panel .table-striped td:nth-child(4) {
	width: 12%;
}

.jkl-wp-cart-panel .table-striped td:nth-child(5) {
	width: 9%;
}

.jkl-wp-cart-panel td:first-child {
	text-align: center;
}

.jkl-wp-cart-panel img {
	display: block;
	width: 100px;
	min-width: 100px;
	max-width: 100px;
	height: auto;
	padding: .25rem;
	border: 1px solid #dee2e6;
	border-radius: .25rem;
	background: #fff;
	margin-inline: auto;
}

.jkl-wp-cart-panel a {
	color: var(--jkl-nav-green-700);
	font-weight: 400;
	text-decoration: none;
}

.jkl-wp-cart-panel a:hover,
.jkl-wp-cart-panel a:focus {
	color: var(--jkl-nav-green-950);
	text-decoration: underline;
}

.jkl-wp-cart-panel .text-end {
	text-align: right !important;
}

.jkl-wp-cart-panel .text-center {
	text-align: center !important;
}

.jkl-wp-cart-panel .text-nowrap {
	white-space: nowrap !important;
}

.jkl-wp-cart-panel .table-striped td:last-child {
	text-align: center !important;
}

.jkl-wp-cart-panel small {
	color: #66706a;
	font-size: .875em;
}

.jkl-wp-cart-panel form {
	margin: 0;
}

.jkl-wp-cart-panel button {
	display: inline-block;
	margin: 0;
	padding: .35rem .75rem;
	border: 1px solid #da4f49;
	border-radius: .25rem;
	background: #da4f49;
	color: #fff;
	font: 400 13px/1.8 Inter, sans-serif;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
}

.jkl-wp-cart-panel button:hover,
.jkl-wp-cart-panel button:focus {
	border-color: #ae3f3a;
	background: #b9433e;
	color: #fff;
}

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

.jkl-wp-cart-panel .table-sm {
	border: 1px solid #dee2e6;
	background: #fff;
}

.jkl-wp-cart-panel .table-sm tr:nth-child(odd) td {
	background: #fff;
}

.jkl-wp-cart-panel .table-sm td {
	min-width: 0;
	padding: .25rem;
	border-right: 1px solid #dee2e6;
	border-bottom: 1px solid #dee2e6;
	background: #fff;
	font-size: 13px;
	line-height: 1.8;
	vertical-align: top;
}

.jkl-wp-cart-panel .table-sm td:first-child {
	width: auto;
}

.jkl-wp-cart-panel p {
	margin: 0 0 1rem;
}

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

.jkl-wp-cart-panel p.text-end > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	height: 2.25rem;
	padding: 0 .8rem;
	border: 1px solid #195c28;
	border-radius: .3rem;
	background: #195c28;
	color: #fff;
	font: 700 .875rem/1 Inter, "Helvetica Neue", Arial, sans-serif;
	text-decoration: none;
	white-space: nowrap;
}

.jkl-wp-cart-panel p.text-end > a:hover,
.jkl-wp-cart-panel p.text-end > a:focus {
	border-color: #0f461d;
	background: #0f461d;
	color: #fff;
	text-decoration: none;
}

.jkl-wp-cart-panel__icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	overflow: visible;
	vertical-align: -.125em;
	fill: currentColor;
}

.jkl-wp-cart-panel__error {
	padding: 1rem;
	text-align: center;
}

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

.jkl-wp-menu-button {
	display: none;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	width: 100%;
	min-height: 3rem;
	border: 0;
	background: transparent;
	color: #fff;
	font: 600 1rem/1 Inter, sans-serif;
	cursor: pointer;
}

.jkl-wp-menu-button svg {
	width: 1.25rem;
	height: 1.25rem;
	stroke: currentColor;
}

.jkl-wp-menu-track {
	position: relative;
	width: max-content;
	max-width: 100%;
	margin-left: 1rem;
}

.jkl-wp-menu,
.jkl-wp-menu .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.jkl-wp-menu {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
}

.jkl-wp-menu > .menu-item {
	position: static;
	margin: 0;
	padding: 0;
}

.jkl-wp-menu > .menu-item > a {
	display: flex;
	align-items: center;
	padding-block: .85rem;
	padding-inline: 1.1rem;
	background: transparent;
	color: #fff !important;
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-size: .95rem;
	font-weight: 500;
	line-height: 1.25;
	text-decoration: none;
	white-space: normal;
}

.jkl-wp-menu > .menu-item-has-children > a::after {
	content: "";
	width: .42rem;
	height: .42rem;
	margin: -.2rem 0 0 .45rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
}

.jkl-wp-menu > .menu-item:hover > a,
.jkl-wp-menu > .menu-item:focus-within > a,
.jkl-wp-menu > .current-menu-item > a,
.jkl-wp-menu > .current-menu-ancestor > a {
	background: var(--jkl-nav-green-950);
	color: #fff !important;
}

.jkl-wp-submenu-toggle {
	display: none;
	border: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
}

.jkl-wp-submenu-toggle svg {
	display: block;
	width: .65rem;
	height: .65rem;
	fill: currentColor;
	overflow: visible;
	transition: transform 140ms ease;
}

.jkl-wp-menu > .menu-item > .sub-menu {
	display: none;
	position: absolute;
	inset: 100% 0 auto 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .1rem .4rem;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	padding: .2rem .35rem .35rem;
	border: 0;
	border-radius: 0 0 var(--jkl-nav-radius) var(--jkl-nav-radius);
	background: #fff;
	box-shadow: var(--jkl-nav-shadow);
	overflow: hidden;
}

.jkl-wp-menu > .jkl-wp-columns-1 > .sub-menu {
	grid-template-columns: minmax(0, 1fr);
}

.jkl-wp-menu > .jkl-wp-columns-2 > .sub-menu {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jkl-wp-menu > .jkl-wp-columns-3 > .sub-menu {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jkl-wp-menu > .jkl-wp-columns-4 > .sub-menu {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.jkl-wp-menu > .menu-item:hover > .sub-menu,
.jkl-wp-menu > .menu-item:focus-within > .sub-menu {
	display: grid;
}

.jkl-wp-menu .sub-menu .menu-item {
	min-width: 0;
	margin: 0;
	padding: 0;
}

.jkl-wp-menu .sub-menu a {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	padding: .35rem .45rem;
	box-sizing: border-box;
	border-radius: .25rem;
	color: var(--jkl-nav-ink);
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-size: .95rem !important;
	font-weight: 500 !important;
	line-height: 1.15 !important;
	text-decoration: none;
	white-space: normal;
	overflow-wrap: anywhere;
}

/*
 * The legacy parent makes home and variation heroes 688px tall. Match the
 * current OpenCart category banner instead: responsive, with a 448px cap.
 */
.hero-area,
.home .hero-area,
.page-variation .hero-area {
	height: clamp(20rem, 30vw, 28rem);
	min-height: clamp(20rem, 30vw, 28rem);
}

.jkl-wp-menu .sub-menu a:hover,
.jkl-wp-menu .sub-menu a:focus,
.jkl-wp-menu .sub-menu .current-menu-item > a {
	background: var(--jkl-nav-menu-hover);
	color: var(--jkl-nav-ink) !important;
}

.jkl-wp-menu .sub-menu .sub-menu {
	display: block;
	margin: .15rem 0 .35rem .6rem;
	padding-left: .45rem;
	border-left: 2px solid var(--jkl-nav-border);
}

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

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

@media (max-width: 767px) {
	.jkl-wp-header__inner {
		grid-template-columns: 1fr;
		gap: 1rem;
		padding-block: 1rem;
	}

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

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

	.jkl-wp-phone,
	.jkl-wp-contact {
		flex: 1 1 auto;
	}

	.jkl-wp-cart-shell {
		flex: 1 1 100%;
		width: 100%;
	}

	.jkl-wp-cart-panel {
		position: absolute;
		top: calc(100% + .5rem);
		right: 0;
		bottom: auto;
		left: auto;
		width: calc(100vw - 1.75rem);
		max-height: min(70dvh, 36rem);
	}

	.jkl-wp-cart-panel > ul > li {
		min-width: 100%;
	}

	.jkl-wp-cart-panel.is-empty > .text-center {
		min-width: 100%;
	}

	.jkl-wp-nav-ready .jkl-wp-menu-button {
		display: flex;
		justify-content: space-between;
		min-height: 2.75rem;
		padding: .5rem 0;
	}

	.jkl-wp-nav-ready .jkl-wp-menu-panel {
		display: none;
	}

	.jkl-wp-nav-ready .jkl-wp-navigation.is-open .jkl-wp-menu-panel {
		display: block;
	}

	.jkl-wp-menu-track {
		position: static;
		width: 100%;
		height: auto;
		margin: 0;
	}

	.jkl-wp-menu {
		display: block;
		width: 100%;
		height: auto;
		padding-bottom: .5rem;
	}

	.jkl-wp-menu > .menu-item {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 3rem;
	}

	.jkl-wp-menu > .menu-item > a {
		min-width: 0;
		height: auto;
		min-height: 2.75rem;
		padding: .65rem .75rem;
		white-space: normal;
	}

	.jkl-wp-menu > .menu-item-has-children > a::after {
		content: none;
	}

	.jkl-wp-submenu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 3rem;
		min-height: 2.75rem;
	}

	.jkl-wp-submenu-toggle svg {
		display: block !important;
		width: .65rem;
		height: .65rem;
		fill: #fff;
		overflow: visible;
	}

	.jkl-wp-nav-ready .jkl-wp-menu > .menu-item > .sub-menu,
	.jkl-wp-nav-ready .jkl-wp-menu > .menu-item:hover > .sub-menu,
	.jkl-wp-nav-ready .jkl-wp-menu > .menu-item:focus-within > .sub-menu {
		display: none;
		grid-column: 1 / -1;
		position: static;
		width: 100%;
		padding: .5rem;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.jkl-wp-nav-ready .jkl-wp-menu > .menu-item.is-submenu-open > .sub-menu {
		display: block;
	}

	.jkl-wp-menu > .menu-item.is-submenu-open > .jkl-wp-submenu-toggle svg {
		transform: rotate(180deg);
	}

	.jkl-wp-menu .sub-menu a {
		padding: .65rem .75rem;
	}

	.hero-area,
	.home .hero-area,
	.page-variation .hero-area {
		height: 18rem;
		min-height: 18rem;
	}
}

/* Mobile-only parity with the OpenCart storefront. Desktop header, menu,
 * mini-cart, hero, and footer geometry is intentionally untouched. */
@media (max-width: 767px) {
	.home .gform_wrapper,
	.page-id-41 .gform_wrapper {
		width: 100%;
		padding: 1rem;
	}

	.home .gform_wrapper .gform_footer,
	.page-id-41 .gform_wrapper .gform_footer {
		text-align: left;
	}

	.home .gform_wrapper input[type="submit"],
	.home .gform_wrapper button[type="submit"],
	.page-id-41 .gform_wrapper input[type="submit"],
	.page-id-41 .gform_wrapper button[type="submit"] {
		width: 100%;
	}

	.page-id-622 .entry-content img.alignleft,
	.page-id-622 .entry-content img.alignright,
	.page-id-622 .entry-content .alignleft,
	.page-id-622 .entry-content .alignright {
		float: none;
		display: block;
		max-width: 100%;
		margin: 1rem auto;
	}

	.jkl-wp-header__container,
	.jkl-wp-footer__container {
		padding-right: .875rem;
		padding-left: .875rem;
	}

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

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

	.jkl-wp-brand,
	.jkl-wp-brand img {
		width: 9.75rem;
		max-width: 100%;
	}

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

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

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

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

	.jkl-wp-header__actions {
		display: contents;
	}

	.jkl-wp-phone,
	.jkl-wp-contact,
	.jkl-wp-cart {
		height: 2.75rem;
		min-height: 2.75rem;
	}

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

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

	.jkl-wp-cart-shell {
		grid-area: cart;
		width: auto;
		min-width: 0;
	}

	.jkl-wp-cart {
		width: 100%;
		min-width: 0;
		padding-inline: .7rem;
		font-size: .84rem;
		white-space: nowrap;
	}

	.jkl-wp-cart-panel {
		top: calc(100% + .5rem);
		right: 0;
		bottom: auto;
		left: auto;
		max-height: 70dvh;
		padding: .4rem;
	}

	.jkl-wp-cart-panel .table-striped td {
		padding: .35rem;
		font-size: .78rem;
		line-height: 1.45;
	}

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

	.jkl-wp-cart-panel img {
		width: 100%;
		min-width: 0;
		max-width: 4rem;
	}

	.jkl-wp-cart-panel p.text-end {
		justify-content: stretch;
	}

	.jkl-wp-cart-panel p.text-end > a {
		flex: 1 1 0;
		padding: 0 .55rem;
	}

	.jkl-wp-menu-button,
	.jkl-wp-menu > .menu-item > a {
		min-height: 2.75rem;
	}

	.jkl-wp-menu .sub-menu a {
		min-height: 2.75rem;
		padding: .65rem .75rem;
	}

	body:not(.home) .hero-area {
		height: auto;
		min-height: 14rem;
		overflow: hidden;
	}

	body:not(.home) .hero-area > .gridx {
		position: relative;
		min-height: 14rem;
	}

	body:not(.home) .hero-area .full-hero-text-container {
		position: relative;
		top: auto;
		width: 100%;
		max-width: 100%;
		height: auto;
		min-height: 14rem;
		margin: 0;
		padding: 2rem 0 4.75rem;
		box-sizing: border-box;
	}

	body:not(.home) .hero-area .full-hero-text {
		position: static;
		transform: none;
	}

	body:not(.home) .hero-area .marquee-title {
		font-size: clamp(2rem, 9vw, 2.65rem);
		line-height: 1.08;
		word-break: normal;
		overflow-wrap: break-word;
	}

	body:not(.home) .hero-area .hero-breadcrumbs {
		bottom: 1rem;
		max-width: 100%;
		margin: 0;
		line-height: 1.45;
		word-break: normal;
		overflow-wrap: break-word;
	}

	.home .hero-area {
		height: 28rem;
		min-height: 28rem;
	}

	.home .hero-area > .gridx {
		position: relative;
		height: 100%;
	}

	.home .full-hero-text-container {
		display: flex;
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		align-items: flex-end;
		margin: 0;
		padding: 1.75rem 1.25rem;
	}

	.home .full-hero-text {
		width: 100%;
	}

	.home .marquee-title {
		font-size: clamp(2rem, 10vw, 2.65rem);
		line-height: 1.02;
	}

	.home .marquee-title::after {
		max-width: 70%;
		margin-block: .75rem;
	}

	.home .marquee-tagline,
	.home .marquee-tagline p {
		margin-top: 0;
		font-size: 1rem;
		line-height: 1.45;
	}

	.jkl-wp-footer.site-footer {
		padding: 2rem 0 1.25rem;
	}

	.jkl-wp-footer__grid {
		gap: 1.75rem;
	}

	.jkl-wp-footer__logo {
		margin-bottom: .75rem;
	}

	.jkl-wp-footer__logo img {
		width: 11rem;
	}

	.jkl-wp-footer__subheading,
	.jkl-wp-footer__section-heading,
	.jkl-wp-footer__signup {
		margin-top: 1rem !important;
	}

	.jkl-wp-footer__bottom {
		gap: .4rem;
		margin-top: 2rem;
		padding-top: 1rem;
	}
}

@media (max-width: 420px) {
	.jkl-wp-footer__signup-actions {
		align-items: flex-start;
		flex-direction: column;
	}
}
