/**
 * Customer page components matching the approved homepage.
 * No orange. No duplicated order-path banner.
 */

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ksw-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 10000;
	background: var(--ksw-blue);
	color: #fff;
	padding: 10px 16px;
	font-weight: 700;
}

.ksw-skip:focus {
	left: 12px;
	top: 12px;
}

body.ksw-design:not(.page-id-2093) .title_outer,
body.ksw-design:not(.page-id-2093) .content_top,
body.ksw-design.woocommerce-page .title_outer,
body.ksw-design.woocommerce-page .content_top {
	display: none !important;
}

.ksw-page,
.ksw-simple-page,
.kenne-products-directory {
	max-width: var(--ksw-max);
	margin: 0 auto 3rem;
	padding: 0 1.25rem 2rem;
	box-sizing: border-box;
}

.ksw-hero {
	background:
		linear-gradient(115deg, rgba(6, 44, 99, 0.94) 0%, rgba(6, 59, 130, 0.88) 48%, rgba(11, 89, 199, 0.82) 100%),
		repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0 12px, transparent 12px 24px);
	color: #fff;
	margin: 0 -1.25rem 1.75rem;
	padding: 1.75rem 1.25rem 1.9rem;
}

@media (min-width: 768px) {
	.ksw-hero {
		margin: 0 0 1.75rem;
		border-radius: 0 0 var(--ksw-radius) var(--ksw-radius);
		padding: 2.1rem 2rem 2.2rem;
	}
}

.ksw-hero-inner {
	max-width: var(--ksw-max);
	margin: 0 auto;
}

.ksw-kicker {
	margin: 0 0 0.45rem;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 700;
	color: #d6e4f7;
}

.ksw-hero h1 {
	color: #fff !important;
	font-size: clamp(1.7rem, 3vw, 2.35rem);
	margin: 0 0 0.55rem;
	border: 0;
}

.ksw-hero .ksw-lead,
.ksw-lead {
	font-size: 1.08rem;
	line-height: 1.5;
	margin: 0 0 1rem;
}

.ksw-hero .ksw-lead {
	color: #eaf1fb;
	max-width: 42rem;
}

.ksw-lead {
	color: var(--ksw-muted);
}

.ksw-hero-actions,
.ksw-page-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 0;
}

.ksw-path-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem;
	margin: 0 0 1.75rem;
}

@media (min-width: 700px) {
	.ksw-path-grid {
		grid-template-columns: 1fr 1fr;
	}
}

.ksw-path-card {
	display: block;
	background: #fff;
	border: 1px solid #c5d7ea;
	border-radius: var(--ksw-radius);
	padding: 1.1rem 1.15rem;
	text-decoration: none !important;
	color: var(--ksw-text) !important;
	box-shadow: 0 1px 4px rgba(6, 59, 130, 0.08);
}

.ksw-path-card strong {
	display: block;
	color: var(--ksw-blue);
	font-size: 1.05rem;
	margin: 0 0 0.35rem;
}

.ksw-path-card span {
	color: var(--ksw-muted);
	font-size: 0.95rem;
	line-height: 1.4;
}

.ksw-path-card:hover,
.ksw-path-card:focus {
	border-color: var(--ksw-bright-blue);
}

.ksw-prose {
	font-size: 1.05rem;
	line-height: 1.55;
}

.ksw-prose p {
	margin: 0 0 1rem;
}

.ksw-prose ul,
.ksw-prose ol {
	margin: 0 0 1rem;
	padding-left: 1.2rem;
}

.ksw-card-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem;
	margin: 0 0 1.5rem;
}

@media (min-width: 768px) {
	.ksw-card-row {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

.ksw-info-card {
	background: var(--ksw-wash);
	border: 1px solid var(--ksw-line);
	border-radius: var(--ksw-radius);
	padding: 1rem 1.1rem;
}

.ksw-info-card h2 {
	border: 0;
	margin: 0 0 0.4rem;
	font-size: 1.05rem;
	padding: 0;
}

.ksw-overlap-note {
	background: var(--ksw-wash);
	border-left: 4px solid var(--ksw-bright-blue);
	margin: 0 0 1.5rem;
}

.ksw-overlap-links {
	margin: 0.5rem 0 0;
}

.ksw-pdp-cta {
	max-width: var(--ksw-max);
	margin: 0 auto 1.25rem;
	padding: 1.1rem 1.25rem;
	background: var(--ksw-wash);
	border: 1px solid #c5d7ea;
	border-radius: var(--ksw-radius);
}

.ksw-pdp-quote-lead {
	color: var(--ksw-muted);
	font-size: 1rem;
	line-height: 1.45;
	margin: 0 0 0.75rem;
}

.ksw-quoted-price-note {
	display: inline-block;
	color: var(--ksw-navy);
	font-weight: 700;
	font-size: 0.95rem;
}

body.ksw-quoted-blade .summary > p.price .woocommerce-Price-amount {
	display: none;
}

body.ksw-pages:not(.page-id-2093) .content a:not(.ksw-btn):not(.button):not(.checkout-button):not(.ksw-path-card) {
	color: var(--ksw-bright-blue);
}

body.ksw-pages .gform_wrapper input[type="text"],
body.ksw-pages .gform_wrapper input[type="email"],
body.ksw-pages .gform_wrapper input[type="tel"],
body.ksw-pages .gform_wrapper textarea,
body.ksw-pages .gform_wrapper select,
body.ksw-pages .woocommerce form .input-text,
body.ksw-pages .woocommerce form select,
body.ksw-pages .woocommerce-account input.input-text,
body.ksw-pages .woocommerce-account select,
.ksw-search-form input[type="search"] {
	border: 1px solid var(--ksw-line);
	border-radius: 4px;
	font-family: var(--ksw-font);
	font-size: 16px;
	color: var(--ksw-text);
	background: #fff;
	padding: 10px 12px;
	max-width: 100%;
	box-sizing: border-box;
	min-height: 44px;
}

.ksw-faq {
	margin: 0 0 1.5rem;
}

.ksw-faq details {
	background: #fff;
	border: 1px solid #c5d7ea;
	border-radius: var(--ksw-radius);
	margin: 0 0 0.65rem;
	padding: 0;
}

.ksw-faq summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--ksw-navy);
	padding: 0.95rem 1.1rem;
	list-style: none;
	min-height: 44px;
}

.ksw-faq summary::-webkit-details-marker {
	display: none;
}

.ksw-faq summary:before {
	content: "+";
	display: inline-block;
	width: 1.2em;
	color: var(--ksw-bright-blue);
}

.ksw-faq details[open] summary:before {
	content: "–";
}

.ksw-faq .ksw-faq-body {
	padding: 0 1.1rem 1rem;
	color: var(--ksw-text);
	line-height: 1.5;
}

.ksw-search-form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1.5rem;
}

.ksw-search-form input[type="search"] {
	flex: 1 1 220px;
}

.ksw-search-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.75rem;
}

.ksw-search-list li {
	list-style: none;
	margin: 0;
	background: #fff;
	border: 1px solid #c5d7ea;
	border-radius: var(--ksw-radius);
	padding: 1rem 1.1rem;
}

.ksw-search-list a {
	font-weight: 700;
	color: var(--ksw-blue) !important;
	text-decoration: none;
}

.ksw-empty {
	background: var(--ksw-wash);
	border-radius: var(--ksw-radius);
	padding: 1rem 1.15rem;
}

body.ksw-design .ksw-cart-hero {
	background: var(--ksw-navy);
	color: #fff;
	padding: 1.35rem 1.25rem;
	margin: 0 0 1.25rem;
}

body.ksw-design .ksw-cart-hero h1 {
	color: #fff !important;
	margin: 0 0 0.35rem;
}

body.ksw-design .ksw-cart-hero p {
	margin: 0;
	color: #d6e4f7;
}

body.ksw-design .ksw-cart-card {
	border: 1px solid #c5d7ea;
	border-radius: var(--ksw-radius);
	background: #fff;
}

/* Keep the seven desktop Cart columns inside the clipped card edge. */
@media (min-width: 783px) {
	body.ksw-design.woocommerce-cart .woocommerce-cart-form .ksw-cart-card table.woocommerce-cart-form__contents {
		width: 100% !important;
		max-width: 100% !important;
		table-layout: fixed;
		box-sizing: border-box;
	}

	body.ksw-design.woocommerce-cart .woocommerce-cart-form .ksw-cart-card table.woocommerce-cart-form__contents th,
	body.ksw-design.woocommerce-cart .woocommerce-cart-form .ksw-cart-card table.woocommerce-cart-form__contents tr.cart_item td {
		padding-left: 6px !important;
		padding-right: 6px !important;
		box-sizing: border-box;
	}

	body.ksw-design.woocommerce-cart .woocommerce-cart-form .ksw-cart-card table.woocommerce-cart-form__contents thead tr > :nth-child(1) {
		width: 5%;
	}

	body.ksw-design.woocommerce-cart .woocommerce-cart-form .ksw-cart-card table.woocommerce-cart-form__contents thead tr > :nth-child(2) {
		width: 11%;
	}

	body.ksw-design.woocommerce-cart .woocommerce-cart-form .ksw-cart-card table.woocommerce-cart-form__contents thead tr > :nth-child(3) {
		width: 24%;
	}

	body.ksw-design.woocommerce-cart .woocommerce-cart-form .ksw-cart-card table.woocommerce-cart-form__contents thead tr > :nth-child(4) {
		width: 14%;
	}

	body.ksw-design.woocommerce-cart .woocommerce-cart-form .ksw-cart-card table.woocommerce-cart-form__contents thead tr > :nth-child(5) {
		width: 10%;
	}

	body.ksw-design.woocommerce-cart .woocommerce-cart-form .ksw-cart-card table.woocommerce-cart-form__contents thead tr > :nth-child(6) {
		width: 22%;
	}

	body.ksw-design.woocommerce-cart .woocommerce-cart-form .ksw-cart-card table.woocommerce-cart-form__contents thead tr > :nth-child(7) {
		width: 14%;
	}

	body.ksw-design.woocommerce-cart .cart_totals #shipping_method > li > input.shipping_method[type="radio"],
	body.ksw-design.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods > li > input.shipping_method[type="radio"] {
		margin-left: 0.35rem !important;
	}
}

/*
 * Cart Order Summary shipping rates.
 * WooCommerce puts package rates in the totals amount column, so inherited
 * table-cell / float / shrink-wrap width collapses each option. Take the
 * shipment row out of that column and stretch native radios to the card.
 * Does not calculate shipping or tax; does not hardcode method IDs.
 */
body.ksw-design.woocommerce-cart .cart_totals,
body.ksw-design.woocommerce-cart .cart-collaterals .cart_totals {
	overflow: visible !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

body.ksw-design.woocommerce-cart .cart_totals table.shop_table,
body.ksw-design.woocommerce-cart .cart_totals table.shop_table tbody {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	table-layout: auto !important;
	overflow: visible !important;
	box-sizing: border-box !important;
}

body.ksw-design.woocommerce-cart .cart_totals table.shop_table tr {
	display: flex !important;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0.75rem;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

body.ksw-design.woocommerce-cart .cart_totals table.shop_table tr th,
body.ksw-design.woocommerce-cart .cart_totals table.shop_table tr td {
	display: block !important;
	float: none !important;
	width: auto;
	max-width: 100%;
	box-sizing: border-box !important;
}

body.ksw-design.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals,
body.ksw-design.woocommerce-cart .cart_totals table.shop_table tr.shipping {
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 0.4rem;
}

body.ksw-design.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals > th,
body.ksw-design.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals > td,
body.ksw-design.woocommerce-cart .cart_totals table.shop_table tr.shipping > th,
body.ksw-design.woocommerce-cart .cart_totals table.shop_table tr.shipping > td {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 auto !important;
	text-align: left !important;
	overflow: visible !important;
	overflow-wrap: break-word;
	word-break: normal;
}

body.ksw-design.woocommerce-cart .cart_totals #shipping_method,
body.ksw-design.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0.5rem;
	list-style: none !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0.35rem 0 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

body.ksw-design.woocommerce-cart .cart_totals #shipping_method li,
body.ksw-design.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	align-self: stretch !important;
	gap: 0.65rem;
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 44px;
	margin: 0 !important;
	padding: 0.7rem 0.85rem !important;
	border: 1px solid #c5d7ea !important;
	border-radius: 4px !important;
	background: #fff !important;
	box-sizing: border-box !important;
	text-indent: 0 !important;
	list-style: none !important;
}

body.ksw-design.woocommerce-cart .cart_totals #shipping_method li:has(input:checked),
body.ksw-design.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li:has(input:checked) {
	display: flex !important;
	border-color: var(--ksw-bright-blue) !important;
	background: #f4f7fb !important;
}

body.ksw-design.woocommerce-cart .cart_totals #shipping_method input[type="radio"],
body.ksw-design.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods input[type="radio"] {
	flex: 0 0 auto !important;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	accent-color: var(--ksw-bright-blue);
}

body.ksw-design.woocommerce-cart .cart_totals #shipping_method input[type="radio"]:focus-visible,
body.ksw-design.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods input[type="radio"]:focus-visible {
	outline: 2px solid var(--ksw-bright-blue);
	outline-offset: 2px;
}

body.ksw-design.woocommerce-cart .cart_totals #shipping_method label,
body.ksw-design.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods label {
	display: block !important;
	flex: 1 1 auto !important;
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	text-indent: 0 !important;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ksw-navy);
	white-space: normal !important;
	overflow-wrap: break-word;
	word-break: normal !important;
	cursor: pointer;
}

body.ksw-design.woocommerce-cart .cart_totals .woocommerce-info,
body.ksw-design.woocommerce-cart .cart_totals .woocommerce-message {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow-wrap: break-word;
}

body.ksw-design.woocommerce-cart .cart_totals .kenne-saw-express-panel,
body.ksw-design.woocommerce-checkout .kenne-saw-express-panel {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

body.ksw-design .kenne-saw-express-panel[hidden] {
	display: none !important;
}

body.ksw-design.woocommerce-cart .cart_totals .kenne-saw-faster-toggle,
body.ksw-design.woocommerce-checkout .kenne-saw-faster-toggle {
	display: block;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-top: 0.5rem;
	box-sizing: border-box !important;
}

body.ksw-design .kenne-saw-faster-toggle a,
body.ksw-design .kenne-saw-faster-toggle .ksw-express-toggle {
	display: inline-block;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ksw-bright-blue) !important;
	font: inherit;
	font-weight: 700;
	line-height: 1.35;
	text-align: left;
	text-decoration: underline;
	cursor: pointer;
}

body.ksw-design .kenne-saw-faster-toggle .ksw-express-toggle:focus-visible,
body.ksw-design .kenne-saw-faster-toggle a:focus-visible {
	outline: 2px solid var(--ksw-bright-blue);
	outline-offset: 2px;
}

body.ksw-design.woocommerce-cart .cart_totals table.shop_table tr.fee:has([data-title="GA Sales Tax"]) {
	display: none !important;
}

body.ksw-design.woocommerce-cart .cart_totals a.ksw-change-shipping {
	display: none !important;
}

body.ksw-design.woocommerce-checkout .ksw-compact-coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	max-width: 100%;
	margin: 0.75rem 0 0;
	box-sizing: border-box;
}

body.ksw-design.woocommerce-checkout #ksw_coupon_code {
	flex: 1 1 140px;
	min-width: 0;
	min-height: 40px;
	padding: 0 12px;
	border: 1px solid #cfd7df;
	border-radius: 4px;
	background: #fff;
	color: var(--ksw-text);
	box-sizing: border-box;
}

body.ksw-design.woocommerce-checkout #ksw_apply_coupon {
	flex: 0 0 auto;
	min-height: 40px;
	padding: 0 16px;
	background: var(--ksw-bright-blue) !important;
	color: #fff !important;
	border: 1px solid var(--ksw-bright-blue) !important;
	border-radius: 4px;
	font-weight: 700;
	cursor: pointer;
}

body.ksw-design.woocommerce-checkout #ksw_apply_coupon:hover,
body.ksw-design.woocommerce-checkout #ksw_apply_coupon:focus {
	background: #074ca9 !important;
	border-color: #074ca9 !important;
	color: #fff !important;
}

@media (max-width: 782px) {
	body.ksw-design.woocommerce-cart .cart_totals table.shop_table,
	body.ksw-design.woocommerce-cart .cart_totals table.shop_table:not(.woocommerce-orders-table):not(.my_account_orders):not(.ksw-order-record-table) {
		display: block !important;
		overflow-x: visible !important;
		overflow: visible !important;
	}
}

@media (max-width: 400px) {
	body.ksw-design.woocommerce-cart .cart_totals #shipping_method li,
	body.ksw-design.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li {
		padding: 0.65rem 0.75rem;
		min-height: 44px;
	}

	body.ksw-design.woocommerce-checkout .ksw-compact-coupon {
		flex-direction: column;
		align-items: stretch;
	}

	body.ksw-design.woocommerce-checkout #ksw_coupon_code,
	body.ksw-design.woocommerce-checkout #ksw_apply_coupon {
		width: 100%;
	}
}

/*
 * Account layout: never grid the whole .woocommerce wrapper.
 * Child 1.3.0 put the hero, nav, and cards into a 220px first column
 * when Bridge shrink-wrapped that wrapper, leaving the rest of the page empty.
 */
body.ksw-design.woocommerce-account .content,
body.ksw-design.woocommerce-account .content .container,
body.ksw-design.woocommerce-account .content .container_inner,
body.ksw-design.woocommerce-account .woocommerce,
body.ksw-design.ksw-account-page .woocommerce {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	display: block !important;
	box-sizing: border-box;
}

body.ksw-design.woocommerce-account .two_columns,
body.ksw-design.woocommerce-account .column1,
body.ksw-design.woocommerce-account .column2,
body.ksw-design.woocommerce-account .grid_section {
	width: 100% !important;
	float: none !important;
}

.ksw-account {
	width: 100%;
	max-width: var(--ksw-max);
	margin: 0 auto 2.5rem;
	padding: 0 1.25rem;
	box-sizing: border-box;
}

.ksw-account-hero {
	width: 100%;
	margin: 0 0 1.25rem;
	padding: 1.35rem 0 0.35rem;
	background: transparent;
	color: var(--ksw-text);
	border: 0;
	border-radius: 0;
	box-sizing: border-box;
}

body.ksw-design.woocommerce-account .ksw-account-hero h1,
body.ksw-design.ksw-account-page .ksw-account-hero h1,
.ksw-account-hero h1 {
	color: var(--ksw-navy) !important;
	margin: 0 0 0.45rem;
	border: 0;
	padding: 0;
	font-size: clamp(1.7rem, 3vw, 2.2rem) !important;
	line-height: 1.2 !important;
	visibility: visible !important;
	opacity: 1 !important;
	display: block !important;
}

body.ksw-design.woocommerce-account .ksw-account-hero .ksw-lead,
body.ksw-design.ksw-account-page .ksw-account-hero .ksw-lead,
.ksw-account-hero .ksw-lead {
	margin: 0;
	color: #3d4654 !important;
	max-width: 46rem;
	font-size: 1.05rem;
	line-height: 1.5;
	opacity: 1 !important;
}

.ksw-account-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	width: 100%;
	align-items: start;
	box-sizing: border-box;
}

@media (min-width: 782px) {
	.ksw-account-layout {
		grid-template-columns: 240px minmax(0, 1fr);
	}
}

.ksw-account-layout .woocommerce-MyAccount-navigation,
.ksw-account-layout .woocommerce-MyAccount-content,
body.ksw-design.woocommerce-account .woocommerce-MyAccount-navigation,
body.ksw-design.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	box-sizing: border-box;
	border: 1px solid #c5d7ea;
	border-radius: var(--ksw-radius);
	background: #fff;
}

body.ksw-design.woocommerce-account .woocommerce-MyAccount-navigation {
	padding: 1rem;
}

body.ksw-design.woocommerce-account .woocommerce-MyAccount-content {
	padding: 1.1rem 1.25rem;
	min-height: 0;
	overflow-x: hidden;
	overflow-wrap: break-word;
	word-break: normal;
}

body.ksw-design.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.ksw-design.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.ksw-design.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	color: var(--ksw-blue);
	font-weight: 700;
	padding: 0.55rem 0.2rem;
	min-height: 44px;
	text-decoration: none;
}

body.ksw-design.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
body.ksw-design.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	color: var(--ksw-bright-blue);
}

body.ksw-design.woocommerce-edit-account .password-input,
body.ksw-design.woocommerce-edit-account .ksw-password-field {
	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

body.ksw-design.woocommerce-edit-account .password-input input,
body.ksw-design.woocommerce-edit-account .ksw-password-field input,
body.ksw-design.woocommerce-edit-account #password_current,
body.ksw-design.woocommerce-edit-account #password_1,
body.ksw-design.woocommerce-edit-account #password_2 {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding-right: 4.6rem;
}

body.ksw-design.woocommerce-edit-account .show-password-input {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	width: auto !important;
	height: auto !important;
	min-width: 0;
	min-height: 32px;
	margin: 0;
	padding: 4px 8px;
	border: 0;
	border-radius: 4px;
	background: #f4f7fb !important;
	color: var(--ksw-blue) !important;
	box-shadow: none !important;
	font-family: var(--ksw-font);
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-indent: 0;
	overflow: hidden;
}

body.ksw-design.woocommerce-edit-account .show-password-input::before,
body.ksw-design.woocommerce-edit-account .show-password-input::after {
	content: none !important;
	display: none !important;
	background: none !important;
	border: 0 !important;
	width: 0 !important;
	height: 0 !important;
}

body.ksw-design.woocommerce-edit-account .ksw-password-field .show-password-input {
	display: none !important;
}

body.ksw-design.woocommerce-edit-account .ksw-password-toggle {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 4px 8px;
	border: 1px solid #c5d7ea;
	border-radius: 4px;
	background: #f4f7fb;
	color: var(--ksw-blue);
	font-family: var(--ksw-font);
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	box-sizing: border-box;
}

body.ksw-design.woocommerce-edit-account .ksw-password-toggle:hover {
	background: #e8eef6;
	color: var(--ksw-navy);
}

body.ksw-design.woocommerce-edit-account .ksw-password-toggle:focus {
	outline: 3px solid var(--ksw-focus);
	outline-offset: 2px;
}

body.ksw-design.woocommerce-edit-account input::-ms-reveal,
body.ksw-design.woocommerce-edit-account input::-ms-clear {
	display: none;
}

.ksw-saved-empty {
	margin: 0;
	padding: 1rem 1.1rem 1.15rem;
	background: var(--ksw-wash);
	border: 1px solid #c5d7ea;
	border-radius: var(--ksw-radius);
	box-sizing: border-box;
	max-width: 100%;
}

.ksw-saved-empty h2 {
	margin: 0 0 0.45rem;
	padding: 0;
	border: 0;
	font-size: 1.15rem;
	color: var(--ksw-navy);
}

.ksw-saved-empty p {
	margin: 0 0 0.9rem;
	color: #3d4654;
	line-height: 1.45;
}

.ksw-saved-empty .ksw-page-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 0;
}

.ksw-saved-empty .ksw-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

body.ksw-design.woocommerce-account .woocommerce-MyAccount-content:has(.ksw-saved-empty) > p {
	display: none !important;
}

@media (max-width: 400px) {
	.ksw-saved-empty .ksw-btn {
		width: 100%;
		text-align: center;
	}
}

body.ksw-design.woocommerce-account .kenne-my-blades,
body.ksw-design.woocommerce-account .kenne-my-blade,
body.ksw-design.woocommerce-account .kenne-saved-blades {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

body.ksw-design.woocommerce-account .kenne-my-blade-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

body.ksw-design.woocommerce-account .kenne-my-blade-actions input[type="number"],
body.ksw-design.woocommerce-account .kenne-my-blade-actions button,
body.ksw-design.woocommerce-account .woocommerce-form-login .button,
body.ksw-design.woocommerce-account .woocommerce-form-register .button {
	min-height: 44px;
}

body.ksw-design.woocommerce-account {
	overflow-x: hidden;
}

body.ksw-design.woocommerce-account .woocommerce-form-login,
body.ksw-design.woocommerce-account .u-columns,
body.ksw-design.woocommerce-account .woocommerce-Addresses {
	width: 100%;
	max-width: none;
	float: none;
	box-sizing: border-box;
}

.kenne-my-blades .button,
.kenne-my-blades-empty .button {
	background: var(--ksw-bright-blue) !important;
	color: #fff !important;
}

.kenne-my-blades > h3 {
	display: none;
}

body.ksw-design .woocommerce table.shop_table {
	max-width: 100%;
}

/*
 * Hide leftover Code Snippet Recent Orders so its oversized Buy Again
 * row cannot push past the content-panel border.
 */
body.ksw-design.woocommerce-account .kenne-recent-orders {
	display: none !important;
}

.ksw-recent-orders,
.ksw-recent-orders-table {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.ksw-recent-orders {
	margin: 1.15rem 0 0;
}

.ksw-recent-orders-heading {
	margin: 0 0 0.55rem;
	padding: 0;
	border: 0;
	font-size: 1.05rem;
	color: var(--ksw-navy);
}

/*
 * Orders table: fit inside the content panel. Desktop uses a fixed 100%
 * layout so the four-slot action group cannot push past the border.
 */
body.ksw-design.woocommerce-account table.woocommerce-orders-table,
body.ksw-design.woocommerce-account table.my_account_orders {
	width: 100% !important;
	max-width: 100% !important;
	table-layout: auto;
	border-collapse: collapse;
	border-spacing: 0;
	box-sizing: border-box;
}

body.ksw-design.woocommerce-account table.woocommerce-orders-table th,
body.ksw-design.woocommerce-account table.my_account_orders th {
	overflow-wrap: normal;
	word-break: normal;
	font-size: 0.84rem;
	font-weight: 700;
	color: var(--ksw-navy);
	padding: 0.5rem 0.4rem;
	vertical-align: middle;
}

body.ksw-design.woocommerce-account table.woocommerce-orders-table td,
body.ksw-design.woocommerce-account table.my_account_orders td {
	overflow-wrap: normal;
	word-break: normal;
	vertical-align: middle;
	padding: 0.5rem 0.4rem;
	font-size: 0.88rem;
}

body.ksw-design.woocommerce-account .woocommerce-orders-table__cell-order-number,
body.ksw-design.woocommerce-account .woocommerce-orders-table__cell-order-status,
body.ksw-design.woocommerce-account .woocommerce-orders-table__cell-order-total,
body.ksw-design.woocommerce-account table.my_account_orders td.order-number,
body.ksw-design.woocommerce-account table.my_account_orders td.order-status,
body.ksw-design.woocommerce-account table.my_account_orders td.order-total {
	white-space: nowrap;
}

body.ksw-design.woocommerce-account .ksw-order-total {
	display: inline-flex;
	align-items: baseline;
	white-space: nowrap;
	gap: 0;
}

@media (min-width: 782px) {
	body.ksw-design.woocommerce-account table.woocommerce-orders-table,
	body.ksw-design.woocommerce-account table.my_account_orders {
		table-layout: fixed;
	}

	body.ksw-design.woocommerce-account .woocommerce-orders-table__header-order-number,
	body.ksw-design.woocommerce-account table.my_account_orders th.order-number {
		width: 10%;
	}

	body.ksw-design.woocommerce-account .woocommerce-orders-table__header-order-date,
	body.ksw-design.woocommerce-account table.my_account_orders th.order-date {
		width: 15%;
	}

	body.ksw-design.woocommerce-account .woocommerce-orders-table__header-order-status,
	body.ksw-design.woocommerce-account table.my_account_orders th.order-status {
		width: 13%;
	}

	body.ksw-design.woocommerce-account .woocommerce-orders-table__header-order-total,
	body.ksw-design.woocommerce-account table.my_account_orders th.order-total {
		width: 18%;
	}

	body.ksw-design.woocommerce-account .woocommerce-orders-table__header-order-actions,
	body.ksw-design.woocommerce-account table.my_account_orders th.order-actions {
		width: 44%;
	}

	body.ksw-design.woocommerce-account .woocommerce-orders-table__header-order-total,
	body.ksw-design.woocommerce-account .woocommerce-orders-table__cell-order-total,
	body.ksw-design.woocommerce-account table.my_account_orders th.order-total,
	body.ksw-design.woocommerce-account table.my_account_orders td.order-total,
	body.ksw-design.woocommerce-account .woocommerce-orders-table__header-order-actions,
	body.ksw-design.woocommerce-account .woocommerce-orders-table__cell-order-actions,
	body.ksw-design.woocommerce-account table.my_account_orders th.order-actions,
	body.ksw-design.woocommerce-account table.my_account_orders td.order-actions {
		min-width: 0;
		overflow: hidden;
		vertical-align: middle;
	}

	body.ksw-design.woocommerce-account .ksw-order-actions {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 4px;
		width: 100%;
		max-width: 100%;
		align-items: center;
		box-sizing: border-box;
	}

	body.ksw-design.woocommerce-account .ksw-order-action {
		width: 100% !important;
		min-width: 0 !important;
		padding: 4px 6px !important;
		font-size: 12px !important;
	}

	body.ksw-design.woocommerce-account .ksw-recent-orders .ksw-order-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

body.ksw-design.woocommerce-account .woocommerce-orders-table__header-order-actions,
body.ksw-design.woocommerce-account .woocommerce-orders-table__cell-order-actions,
body.ksw-design.woocommerce-account table.my_account_orders th.order-actions,
body.ksw-design.woocommerce-account table.my_account_orders td.order-actions {
	white-space: nowrap;
	vertical-align: middle;
}

body.ksw-design.woocommerce-account .ksw-order-actions {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 4px;
	width: 100%;
	max-width: 100%;
	align-items: center;
	box-sizing: border-box;
}

body.ksw-design.woocommerce-account .ksw-recent-orders .ksw-order-actions {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.ksw-design.woocommerce-account .ksw-order-action {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	float: none !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 4px 6px !important;
	box-sizing: border-box;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-align: center;
	white-space: nowrap !important;
	border-radius: 4px !important;
	border-width: 1px !important;
	border-style: solid !important;
}

body.ksw-design.woocommerce-account a.ksw-order-action {
	background: var(--ksw-bright-blue) !important;
	color: #fff !important;
	border-color: var(--ksw-bright-blue) !important;
	text-decoration: none !important;
	cursor: pointer;
}

body.ksw-design.woocommerce-account a.ksw-order-action:hover {
	background: #074ca9 !important;
	border-color: #074ca9 !important;
	color: #fff !important;
}

body.ksw-design.woocommerce-account .ksw-order-action--unavailable,
body.ksw-design.woocommerce-account button.ksw-order-action--unavailable {
	background: #e7edf4 !important;
	color: #3d4654 !important;
	border-color: #d3dbe6 !important;
	box-shadow: none !important;
	opacity: 1 !important;
	cursor: default !important;
	pointer-events: none !important;
}

/*
 * Email confirmation: readable copy, then one compact button.
 * Do not paint the whole WooCommerce notice as a giant clickable control.
 */
body.ksw-design.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.ksw-design.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notice--info,
body.ksw-design.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info,
body.ksw-design.woocommerce-account .wc-block-components-notice-banner.is-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.65rem;
	float: none !important;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0 0 1.1rem;
	padding: 0.9rem 1rem 0.95rem !important;
	background: #f4f7fb !important;
	color: #3d4654 !important;
	border: 1px solid #c5d7ea !important;
	border-left: 4px solid var(--ksw-bright-blue) !important;
	border-radius: var(--ksw-radius);
	box-shadow: none !important;
	font-size: 0.98rem;
	font-weight: 400;
	line-height: 1.5;
	text-decoration: none !important;
	text-transform: none !important;
	cursor: default;
}

body.ksw-design.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before,
body.ksw-design.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info::before,
body.ksw-design.woocommerce-account .wc-block-components-notice-banner.is-info::before {
	display: none !important;
}

body.ksw-design.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info > a.button,
body.ksw-design.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info > a.woocommerce-button,
body.ksw-design.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info > a.woocommerce-Button,
body.ksw-design.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info > a.button,
body.ksw-design.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info > a.woocommerce-Button,
body.ksw-design.woocommerce-account .wc-block-components-notice-banner.is-info a.button,
body.ksw-design.woocommerce-account .wc-block-components-notice-banner.is-info a.woocommerce-button,
body.ksw-design.woocommerce-account .wc-block-components-notice-banner.is-info a.woocommerce-Button {
	order: 2;
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	width: auto !important;
	max-width: 100%;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 6px 12px !important;
	background: var(--ksw-bright-blue) !important;
	color: #fff !important;
	border: 1px solid var(--ksw-bright-blue) !important;
	border-radius: 4px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	white-space: nowrap;
	cursor: pointer;
}

@media (max-width: 782px) {
	body.ksw-design.woocommerce-account table.woocommerce-orders-table,
	body.ksw-design.woocommerce-account table.my_account_orders {
		display: block;
		overflow-x: visible !important;
		border: 0;
	}

	body.ksw-design.woocommerce-account table.woocommerce-orders-table thead,
	body.ksw-design.woocommerce-account table.my_account_orders thead {
		display: none;
	}

	body.ksw-design.woocommerce-account table.woocommerce-orders-table tbody,
	body.ksw-design.woocommerce-account table.my_account_orders tbody,
	body.ksw-design.woocommerce-account table.woocommerce-orders-table tr,
	body.ksw-design.woocommerce-account table.my_account_orders tr {
		display: block;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	body.ksw-design.woocommerce-account table.woocommerce-orders-table tr,
	body.ksw-design.woocommerce-account table.my_account_orders tr {
		margin: 0 0 0.85rem;
		padding: 0.75rem 0.85rem;
		background: #fff;
		border: 1px solid #c5d7ea;
		border-radius: var(--ksw-radius);
	}

	body.ksw-design.woocommerce-account table.woocommerce-orders-table td,
	body.ksw-design.woocommerce-account table.my_account_orders td {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 0.75rem;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		padding: 0.35rem 0;
		border: 0;
		text-align: right;
		box-sizing: border-box;
		white-space: normal;
	}

	body.ksw-design.woocommerce-account table.woocommerce-orders-table td::before,
	body.ksw-design.woocommerce-account table.my_account_orders td::before {
		content: attr(data-title);
		flex: 0 0 38%;
		font-weight: 700;
		color: var(--ksw-navy);
		text-align: left;
		white-space: nowrap;
	}

	body.ksw-design.woocommerce-account .woocommerce-orders-table__cell-order-status,
	body.ksw-design.woocommerce-account table.my_account_orders td.order-status {
		white-space: normal;
	}

	body.ksw-design.woocommerce-account .woocommerce-orders-table__header-order-total,
	body.ksw-design.woocommerce-account .woocommerce-orders-table__cell-order-total,
	body.ksw-design.woocommerce-account table.my_account_orders td.order-total {
		min-width: 0;
		width: 100%;
	}

	body.ksw-design.woocommerce-account .ksw-order-total {
		white-space: nowrap;
	}

	body.ksw-design.woocommerce-account .woocommerce-orders-table__header-order-actions,
	body.ksw-design.woocommerce-account .woocommerce-orders-table__cell-order-actions,
	body.ksw-design.woocommerce-account table.my_account_orders td.order-actions {
		display: block !important;
		width: 100%;
		min-width: 0;
		white-space: normal;
		padding-top: 0.55rem;
	}

	body.ksw-design.woocommerce-account .woocommerce-orders-table__cell-order-actions::before,
	body.ksw-design.woocommerce-account table.my_account_orders td.order-actions::before {
		display: block;
		margin: 0 0 0.4rem;
	}

	body.ksw-design.woocommerce-account .ksw-order-actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		width: 100%;
		max-width: 100%;
		gap: 6px;
	}

	body.ksw-design.woocommerce-account .ksw-recent-orders .ksw-order-actions {
		grid-template-columns: 1fr 1fr;
	}

	body.ksw-design.woocommerce-account .ksw-order-action {
		width: 100% !important;
		min-width: 0;
	}
}

body.ksw-design .woocommerce .cart-collaterals,
body.ksw-design #order_review,
body.ksw-design.woocommerce-checkout #customer_details {
	box-sizing: border-box;
}

body.ksw-design.woocommerce-checkout .woocommerce {
	border-color: var(--ksw-blue);
}

body.ksw-design.woocommerce-checkout .woo_section_title {
	background: var(--ksw-navy) !important;
}

body.ksw-design img,
body.ksw-pages img {
	max-width: 100%;
	height: auto;
}

.ksw-page,
.ksw-simple-page,
.ksw-pdp-cta,
.ksw-hero {
	overflow-wrap: anywhere;
}

/*
 * View Order / order record. Display-only stored WooCommerce values.
 */
body.ksw-design.woocommerce-view-order .woocommerce-MyAccount-content,
body.ksw-design.woocommerce-order-received .woocommerce-order {
	overflow-x: hidden;
}

body.ksw-design.woocommerce-view-order .kenne-my-blades-order-again,
body.ksw-design.woocommerce-order-received .kenne-my-blades-order-again,
.ksw-order-record:has(.ksw-order-reorder) .order-again {
	display: none !important;
}

.ksw-order-record,
.ksw-order-record-page,
.ksw-order-record-body {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.ksw-order-record-header {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.55rem 1rem;
	margin: 0 0 1.1rem;
	padding: 0.85rem 1rem;
	background: var(--ksw-wash);
	border: 1px solid #c5d7ea;
	border-radius: var(--ksw-radius);
}

.ksw-order-record-meta {
	margin: 0;
}

.ksw-order-record-meta dt {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ksw-muted);
}

.ksw-order-record-meta dd {
	margin: 0.15rem 0 0;
	font-size: 0.98rem;
	font-weight: 700;
	color: var(--ksw-navy);
	overflow-wrap: anywhere;
	word-break: break-word;
}

.ksw-order-record-heading {
	margin: 0 0 0.55rem;
	padding: 0;
	border: 0;
	font-size: 1.05rem;
	color: var(--ksw-navy);
}

.ksw-order-record-table-wrap,
.ksw-order-record-summary-wrap {
	width: 100%;
	max-width: 100%;
	margin: 0 0 1.1rem;
	overflow-x: hidden;
}

.ksw-order-record-table {
	width: 100% !important;
	max-width: 100% !important;
	table-layout: fixed;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid #c5d7ea;
	border-radius: var(--ksw-radius);
}

.ksw-order-record-table th,
.ksw-order-record-table td {
	padding: 0.55rem 0.5rem;
	vertical-align: top;
	border-bottom: 1px solid #e3e8ef;
	font-size: 0.9rem;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.ksw-order-record-table thead th {
	background: #f4f7fb;
	color: var(--ksw-navy);
	font-size: 0.78rem;
	font-weight: 700;
	text-align: left;
	white-space: nowrap;
}

.ksw-order-record-table .ksw-col-length,
.ksw-order-record-table .ksw-col-qty {
	white-space: nowrap;
	overflow-wrap: normal;
	word-break: normal;
}

.ksw-order-record-table .ksw-col-unit,
.ksw-order-record-table .ksw-col-total {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.ksw-order-record-table .ksw-col-product {
	width: 38%;
}

.ksw-order-record-table .ksw-col-length {
	width: 14%;
}

.ksw-order-record-table .ksw-col-qty {
	width: 10%;
}

.ksw-order-record-table .ksw-col-unit {
	width: 18%;
}

.ksw-order-record-table .ksw-col-total {
	width: 20%;
	font-weight: 700;
}

.ksw-order-product {
	min-width: 0;
}

.ksw-order-product-name {
	font-weight: 700;
	color: var(--ksw-navy);
}

.ksw-order-spec {
	margin: 0.2rem 0 0;
	font-size: 0.82rem;
	color: #3d4654;
}

.ksw-order-record-summary {
	width: 100%;
	max-width: 22rem;
	margin-left: auto;
	border-collapse: collapse;
	border: 1px solid #c5d7ea;
	border-radius: var(--ksw-radius);
	background: #fff;
}

.ksw-order-record-summary th,
.ksw-order-record-summary td {
	padding: 0.45rem 0.7rem;
	font-size: 0.9rem;
	border-bottom: 1px solid #e3e8ef;
}

.ksw-order-record-summary th {
	text-align: left;
	font-weight: 600;
	color: #3d4654;
}

.ksw-order-record-summary td {
	text-align: right;
	white-space: nowrap;
	color: var(--ksw-text);
}

.ksw-order-record-summary tr:last-child th,
.ksw-order-record-summary tr:last-child td {
	border-bottom: 0;
	background: #f4f7fb;
	font-weight: 700;
	color: var(--ksw-navy);
}

.ksw-order-record-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
	margin: 0 0 1.15rem;
}

a.ksw-order-reorder {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px !important;
	background: var(--ksw-bright-blue) !important;
	color: #fff !important;
	border-radius: 4px;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	text-transform: none !important;
}

.ksw-order-back {
	color: var(--ksw-blue);
	font-weight: 700;
	text-decoration: none;
}

.ksw-order-back:hover {
	text-decoration: underline;
}

.ksw-order-record-addresses {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem;
	margin: 0 0 0.5rem;
}

.ksw-order-address-card {
	padding: 0.85rem 1rem;
	background: #fff;
	border: 1px solid #c5d7ea;
	border-radius: var(--ksw-radius);
	min-width: 0;
}

.ksw-order-address-card address {
	margin: 0;
	font-style: normal;
	line-height: 1.45;
	color: var(--ksw-text);
	overflow-wrap: anywhere;
	word-break: break-word;
}

.ksw-order-contact {
	margin: 0.45rem 0 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.ksw-order-record-notes {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	background: #f4f7fb;
	border: 1px solid #c5d7ea;
	border-radius: var(--ksw-radius);
}

.ksw-order-record-notes ol {
	margin: 0;
	padding: 0 0 0 1.1rem;
}

@media (min-width: 782px) {
	.ksw-order-record-header {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.ksw-order-record-addresses {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 782px) {
	body.ksw-design .woocommerce table.ksw-order-record-table {
		display: block;
		overflow-x: visible !important;
		border: 0;
		background: transparent;
	}

	body.ksw-design .woocommerce table.ksw-order-record-table thead {
		display: none;
	}

	body.ksw-design .woocommerce table.ksw-order-record-table tbody,
	body.ksw-design .woocommerce table.ksw-order-record-table tr {
		display: block;
		width: 100%;
	}

	body.ksw-design .woocommerce table.ksw-order-record-table tr {
		margin: 0 0 0.75rem;
		padding: 0.7rem 0.8rem;
		background: #fff;
		border: 1px solid #c5d7ea;
		border-radius: var(--ksw-radius);
	}

	body.ksw-design .woocommerce table.ksw-order-record-table td {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 0.75rem;
		width: 100%;
		padding: 0.3rem 0;
		border: 0;
		white-space: normal;
		text-align: right;
	}

	body.ksw-design .woocommerce table.ksw-order-record-table td::before {
		content: attr(data-title);
		flex: 0 0 42%;
		font-weight: 700;
		color: var(--ksw-navy);
		text-align: left;
		white-space: nowrap;
	}

	body.ksw-design .woocommerce table.ksw-order-record-table .ksw-col-product {
		align-items: flex-start;
	}

	body.ksw-design .woocommerce table.ksw-order-record-table .ksw-order-product {
		flex: 1 1 auto;
		min-width: 0;
		text-align: right;
	}

	.ksw-order-record-summary {
		max-width: none;
		margin-left: 0;
	}

	a.ksw-order-reorder,
	.ksw-order-back {
		width: 100%;
		text-align: center;
		justify-content: center;
		box-sizing: border-box;
	}
}

@media (max-width: 400px) {
	.ksw-order-record-header {
		grid-template-columns: 1fr;
	}

	body.ksw-design .woocommerce table.ksw-order-record-table td::before {
		flex-basis: 38%;
		white-space: normal;
	}
}

body.ksw-design .button,
body.ksw-design a.button,
body.ksw-design .woocommerce a.button,
body.ksw-design .woocommerce button.button,
body.ksw-design .woocommerce input.button,
body.ksw-design .checkout-button,
body.ksw-design #place_order,
body.ksw-design #ksw_apply_coupon,
body.ksw-design .kenne-my-blade .button {
	background: var(--ksw-bright-blue) !important;
	color: #fff !important;
	border-color: var(--ksw-bright-blue) !important;
}

body.ksw-design .button:hover,
body.ksw-design a.button:hover,
body.ksw-design .woocommerce a.button:hover,
body.ksw-design .woocommerce button.button:hover,
body.ksw-design .checkout-button:hover,
body.ksw-design #place_order:hover,
body.ksw-design #ksw_apply_coupon:hover {
	background: #074ca9 !important;
}

@media (max-width: 782px) {
	body.ksw-design .woocommerce table.shop_table:not(.woocommerce-orders-table):not(.my_account_orders):not(.ksw-order-record-table) {
		display: block;
		overflow-x: auto;
	}
}

@media (max-width: 600px) {
	.ksw-hero-actions .ksw-btn,
	.ksw-page-actions .ksw-btn {
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}

	.ksw-page h1,
	.ksw-simple-page h1 {
		font-size: 1.65rem;
	}
}

/*
 * Quick Quote controls. Display-only: match dropdown height to text fields.
 * Does not change options, IDs, JS, pricing, or Snippet 9.
 */
body.ksw-design .kenne-saw-quick-quote .kenne-quote-field input,
body.ksw-design .kenne-saw-quick-quote .kenne-quote-field select,
body.ksw-design .kenne-saw-quick-quote #kenne_blade_style,
body.ksw-design .kenne-saw-quick-quote #kenne_blade,
body.ksw-design .kenne-saw-quick-quote #kenne_delivery_method,
body.ksw-design .kenne-saw-quick-quote #kenne_length,
body.ksw-design .kenne-saw-quick-quote #kenne_quantity,
body.ksw-design .kenne-saw-quick-quote #kenne_zip {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	margin: 0;
	padding: 0 12px !important;
	border: 1px solid #cfd7df !important;
	border-radius: 5px !important;
	background-color: #fff !important;
	color: var(--ksw-text) !important;
	font-family: var(--ksw-font) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 38px !important;
	vertical-align: middle;
	box-shadow: none;
}

body.ksw-design .kenne-saw-quick-quote .kenne-quote-field select,
body.ksw-design .kenne-saw-quick-quote #kenne_blade_style,
body.ksw-design .kenne-saw-quick-quote #kenne_blade,
body.ksw-design .kenne-saw-quick-quote #kenne_delivery_method {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	padding-right: 2.4rem !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23063b82' d='M1.1.4L6 5.3 10.9.4 12 1.5 6 7.5 0 1.5z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 12px 8px !important;
	cursor: pointer;
}

body.ksw-design .kenne-saw-quick-quote .kenne-quote-field select::-ms-expand {
	display: none;
}

body.ksw-design .kenne-saw-quick-quote .kenne-quote-field input:hover,
body.ksw-design .kenne-saw-quick-quote .kenne-quote-field select:hover {
	border-color: #9eb4c9 !important;
}

body.ksw-design .kenne-saw-quick-quote .kenne-quote-field input:focus,
body.ksw-design .kenne-saw-quick-quote .kenne-quote-field select:focus,
body.ksw-design .kenne-saw-quick-quote .kenne-quote-field:focus-within input,
body.ksw-design .kenne-saw-quick-quote .kenne-quote-field:focus-within select {
	outline: 0;
	border-color: var(--ksw-bright-blue) !important;
	box-shadow: 0 0 0 2px rgba(11, 89, 199, 0.15) !important;
}

body.ksw-design .kenne-saw-quick-quote .kenne-quote-field input:disabled,
body.ksw-design .kenne-saw-quick-quote .kenne-quote-field select:disabled {
	background-color: #f4f7fb !important;
	color: var(--ksw-muted) !important;
	border-color: #d8dde5 !important;
	cursor: not-allowed;
	opacity: 1;
}

body.ksw-design .kenne-saw-quick-quote .kenne-quote-field input:disabled:hover,
body.ksw-design .kenne-saw-quick-quote .kenne-quote-field select:disabled:hover {
	border-color: #d8dde5 !important;
}

body.ksw-design .kenne-saw-quick-quote .kenne-quote-field input[aria-invalid="true"],
body.ksw-design .kenne-saw-quick-quote .kenne-quote-field select[aria-invalid="true"],
body.ksw-design .kenne-saw-quick-quote .kenne-quote-field input.error,
body.ksw-design .kenne-saw-quick-quote .kenne-quote-field select.error {
	border-color: #c62828 !important;
}

@media (max-width: 900px) {
	body.ksw-design .kenne-saw-quick-quote .kenne-quote-field input,
	body.ksw-design .kenne-saw-quick-quote .kenne-quote-field select,
	body.ksw-design .kenne-saw-quick-quote #kenne_blade_style,
	body.ksw-design .kenne-saw-quick-quote #kenne_blade,
	body.ksw-design .kenne-saw-quick-quote #kenne_delivery_method {
		width: 100% !important;
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		font-size: 16px !important;
	}
}

@media (max-width: 400px) {
	body.ksw-design .kenne-saw-quick-quote .kenne-quote-field select,
	body.ksw-design .kenne-saw-quick-quote #kenne_blade_style,
	body.ksw-design .kenne-saw-quick-quote #kenne_blade,
	body.ksw-design .kenne-saw-quick-quote #kenne_delivery_method {
		padding-right: 2.4rem !important;
		background-position: right 10px center !important;
	}
}
