/* Cart, checkout, order received, my account, notices, forms. Styles WooCommerce default markup; values measured from the Blocksy site. */
/* 1. notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error { position: relative; display: flex; align-items: center; gap: 12px; margin: 0 0 32px; padding: 10px 10px 10px 55px; min-height: 60px; font-size: 15px; list-style: none; color: var(--km-text); background: var(--km-bg-soft); border-top: 3px solid var(--km-accent-2); border-radius: 0 0 4px 4px; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { position: absolute; top: 50%; inset-inline-start: 22px; width: 18px; height: 18px; margin-top: -9px; content: ""; background: currentColor; border-radius: 50%; opacity: .5; }
.woocommerce-info { border-top-color: #1e85be; }
.woocommerce-message { border-top-color: #28a745; }
.woocommerce-error { flex-direction: column; align-items: flex-start; border-top-color: #c0392b; }
.woocommerce-message .button, .woocommerce-info .button { margin-inline-start: auto; order: 2; }
.woocommerce-error li { margin: 0; }
.woocommerce-notices-wrapper:empty { display: none; }

/* 2. forms */
.woocommerce form .form-row { display: block; margin: 0 0 24px; padding: 0; }
.woocommerce form .form-row label { display: block; margin: 0 0 7.5px; font-size: 15px; font-weight: 500; color: var(--km-text); }
.woocommerce form .form-row .required { color: #c0392b; text-decoration: none; }
.woocommerce form .form-row .optional { font-weight: 400; opacity: .7; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce .coupon input.input-text { width: 100%; height: 50px; min-height: 0; padding: 0 15px; font: 400 16px/1.65 var(--km-font); color: var(--km-text); background: #fff; border: 1px solid var(--km-border); border-radius: var(--km-field-radius); }
.woocommerce form .form-row textarea { height: auto; min-height: 120px; padding: 14px 15px; border-radius: 20px; }
.woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce form .form-row.woocommerce-invalid select { border-color: #c0392b; }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: #28a745; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 48%; }
.woocommerce form .form-row-first { float: left; } .woocommerce form .form-row-last { float: right; }
.woocommerce form .form-row-wide, .woocommerce form .clear { clear: both; }
.woocommerce form .password-input { position: relative; display: block; }
.woocommerce form .password-input input { padding-inline-end: 38px; }
.woocommerce form .show-password-input { position: absolute; top: 50%; inset-inline-end: 14px; width: 14px; height: 14px; margin-top: -7px; padding: 0; background: var(--km-text); border: 0; cursor: pointer; opacity: .7; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C7 5 2.7 8.1 1 12c1.7 3.9 6 7 11 7s9.3-3.1 11-7c-1.7-3.9-6-7-11-7Zm0 11.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm0-7a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C7 5 2.7 8.1 1 12c1.7 3.9 6 7 11 7s9.3-3.1 11-7c-1.7-3.9-6-7-11-7Zm0 11.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm0-7a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.woocommerce input[type=checkbox], .woocommerce input[type=radio] { width: 16px; height: 16px; min-height: 0; margin: 0 9px 0 0; accent-color: var(--km-accent); vertical-align: -3px; }
.woocommerce .select2-container .select2-selection--single { height: 50px; border: 1px solid var(--km-border); border-radius: var(--km-field-radius); }
.woocommerce .select2-container .select2-selection__rendered { line-height: 48px; padding-inline: 15px; }
.woocommerce .select2-container .select2-selection__arrow { height: 48px; }
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button { display: inline-flex; align-items: center; justify-content: center; padding: 5px 25px; font: 500 15px/1.65 var(--km-font); color: #fff; background: var(--km-accent); border: 0; border-radius: 50px; cursor: pointer; }
.woocommerce button.button:hover, .woocommerce a.button:hover { background: var(--km-accent-2); color: #fff; }
.woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .5; cursor: not-allowed; }
.woocommerce .blockUI.blockOverlay { background: rgba(255,255,255,.6) !important; }

/* 3. quantity (same pill as the product page) */
.woocommerce .quantity { position: relative; display: inline-block; width: 70px; height: 40px; }
.woocommerce .quantity input.qty { width: 100%; height: 40px; min-height: 0; padding: 0 28px; font: 500 12.6px/1.65 var(--km-font); text-align: center; border: 1px solid rgba(170,170,170,.533); border-radius: 30px; -moz-appearance: textfield; appearance: textfield; }
.woocommerce .quantity input.qty::-webkit-outer-spin-button, .woocommerce .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce .quantity .km-qty__btn { width: 22.2px; height: 22.2px; margin-top: -11.1px; }

/* 4. cart */
.woocommerce-cart .woocommerce { display: block; }
@media (min-width: 1000px) { .woocommerce-cart .woocommerce:has(.cart-collaterals) { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 0 40px; align-items: start; } .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; } .woocommerce-cart .cart-collaterals { grid-column: 2; grid-row: 2; } .woocommerce-cart .woocommerce-cart-form { grid-column: 1; grid-row: 2; } }
table.shop_table { width: 100%; margin: 7px 0 30px; font-size: 15px; line-height: 1.65; border-collapse: collapse; border: 0; }
table.shop_table th { padding: 22.5px 10.5px; font-weight: 600; text-align: start; color: var(--km-heading); }
table.shop_table td { padding: 22.5px 10.5px; text-align: start; }
table.shop_table :is(th, td):first-child { padding-inline-start: 0; }
table.shop_table :is(th, td):last-child { padding-inline-end: 0; }
table.shop_table tbody tr, table.shop_table tfoot tr { border-top: 1px solid var(--km-border); }
table.shop_table thead tr { border-top: 0; border-bottom: 1px solid var(--km-border); }
.woocommerce-cart-form__contents .product-thumbnail { width: 100px; }
.woocommerce-cart-form__contents .product-thumbnail img { display: block; width: 89.5px; height: 89.5px; object-fit: cover; border-radius: 3px; }
.woocommerce-cart-form__contents .product-name a { font-weight: 500; color: var(--km-text); }
.woocommerce-cart-form__contents .product-name a:hover { color: var(--km-accent); }
.woocommerce-cart-form__contents .product-remove { width: 22px; }
.woocommerce-cart-form__contents a.remove { display: inline-flex; width: 22px; height: 22px; align-items: center; justify-content: center; font-size: 20px; line-height: 1; color: var(--km-text); border-radius: 50%; }
.woocommerce-cart-form__contents a.remove:hover { color: #fff; background: #c0392b; }
.woocommerce-cart-form__contents td.actions { padding-block: 22.5px; }
.woocommerce-cart-form td.actions::after { display: block; clear: both; content: ""; }
.woocommerce-cart-form .coupon { float: left; display: flex; gap: 10px; }
.woocommerce-cart-form td.actions > button[name="update_cart"] { float: right; }
.woocommerce-cart-form .coupon .button, .woocommerce-cart-form .actions > .button { white-space: nowrap; }
.woocommerce-cart-form .coupon input.input-text { width: 220px; }
.woocommerce-cart-form .coupon .button, .woocommerce-cart-form .actions > .button { height: 50px; padding: 0 20px; }
.woocommerce-cart-form .actions > .button { color: var(--km-heading); background: var(--km-bg-soft); }
.cart_totals { padding: 30px; border: 1px solid var(--km-border); border-radius: 30px; }
.cart_totals > h2 { margin: 0 0 14.5px; font: 500 15px/1.5 var(--km-font); color: var(--km-heading); }
.cart_totals table.shop_table { margin: 0 0 30px; }
.cart_totals table.shop_table th { width: 40%; }
.cart_totals .wc-proceed-to-checkout .checkout-button { display: flex; width: 100%; height: 50px; font-size: 15px; }
.woocommerce-shipping-methods { margin: 0 0 22.5px; padding: 0; list-style: none; }
.woocommerce-shipping-destination, .shipping-calculator-button { font-size: 14px; }
.cart-empty { margin-bottom: 20px; }
.return-to-shop .button { display: inline-flex; }
@media (max-width: 689.98px) {
	table.shop_table_responsive thead { display: none; }
	table.shop_table_responsive tbody tr { display: block; padding: 18px 0; }
	table.shop_table_responsive td { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; text-align: end; }
	table.shop_table_responsive td::before { content: attr(data-title); font-weight: 600; color: var(--km-heading); text-align: start; }
	table.shop_table_responsive td.product-thumbnail { display: block; width: auto; text-align: start; }
	table.shop_table_responsive td.product-thumbnail::before, table.shop_table_responsive td.actions::before, table.shop_table_responsive td.product-remove::before { display: none; }
	.woocommerce-cart-form .coupon { float: none; flex-direction: column; align-items: stretch; }
	.woocommerce-cart-form td.actions > button[name="update_cart"] { float: none; width: 100%; margin-top: 10px; }
	.woocommerce-cart-form .coupon input.input-text { width: 100%; }
	.cart_totals { margin-top: 30px; padding: 22px; }
}

/* 5. checkout */
form.checkout { display: block; }
@media (min-width: 1000px) { form.checkout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 35px; align-items: start; } form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; } form.checkout #order_review_heading, form.checkout #order_review { grid-column: 2; } }
.woocommerce-billing-fields > h3, .woocommerce-shipping-fields > h3, .woocommerce-additional-fields > h3, #order_review_heading { margin: 0 0 15px; font: 500 17px/1.5 var(--km-font); color: var(--km-heading); }
#customer_details .col-1, #customer_details .col-2 { float: none; width: 100%; }
#customer_details .col-2 { margin-top: 40px; }
.woocommerce-billing-fields__field-wrapper::after, .woocommerce-shipping-fields__field-wrapper::after { display: block; clear: both; content: ""; }
.woocommerce-checkout-review-order-table { margin: 0 0 24px; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: 14px 10px; }
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td { padding: 5px 0; }
.woocommerce-checkout tr.woocommerce-shipping-totals.shipping { display: flex; }
.woocommerce-checkout tr.woocommerce-shipping-totals.shipping td { display: flex; justify-content: space-between; width: 100%; min-width: 0; max-width: 100%; }
tr.fee.km-bank-discount-row th, tr.fee.km-bank-discount-row td { padding: 5px; }
.woocommerce-checkout-review-order-table .product-name { font-weight: 400; }
.woocommerce-checkout-review-order-table .order-total :is(th, td) { font-size: 17px; font-weight: 700; color: var(--km-heading); }
#payment { background: transparent; border-radius: 0; }
#payment ul.payment_methods { margin: 0; padding: 0; list-style: none; }
#payment .wc_payment_method { margin: 0 0 10px; padding: 15px 20px; border: 1px solid var(--km-border); border-radius: 15px; }
#payment .wc_payment_method > label { display: inline; margin: 0; font-weight: 600; color: var(--km-heading); cursor: pointer; }
#payment .wc_payment_method img { max-height: 24px; margin-inline-start: 8px; vertical-align: middle; }
#payment .payment_box { margin: 12px 0 0; padding: 0; font-size: 14px; }
#payment .payment_box p:last-child { margin-bottom: 0; }
#payment .place-order { margin: 32px 0 0; padding: 0; }
.woocommerce-terms-and-conditions-wrapper { margin: 0 0 30px; font-size: 14px; }
#place_order { display: flex; width: 100%; height: 50px; font-size: 15px; }
.woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 32px; }
.checkout_coupon { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 32px; padding: 20px; border: 1px solid var(--km-border); border-radius: 20px; }
.checkout_coupon .form-row { margin: 0; float: none; width: auto; }
.checkout_coupon .form-row-first { flex: 1; min-width: 200px; }

/* 6. order received */
.woocommerce-order { width: 100%; max-width: none; }
.woocommerce-thankyou-order-received { padding: 18px 22px; font-weight: 500; color: var(--km-heading); background: #eef8f0; border-radius: 12px; }
ul.woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 20px 40px; margin: 24px 0; padding: 20px; list-style: none; border: 1px dashed var(--km-border); border-radius: 15px; }
ul.woocommerce-order-overview li { font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
ul.woocommerce-order-overview li strong { display: block; margin-top: 2px; font-size: 16px; letter-spacing: 0; text-transform: none; color: var(--km-heading); }
.woocommerce-order-details__title, .woocommerce-column__title { font: 500 20px/1.4 var(--km-font); color: var(--km-heading); }
.woocommerce-customer-details address { padding: 16px 20px; font-style: normal; border: 1px solid var(--km-border); border-radius: 15px; }

/* 7. my account */
.woocommerce-account .woocommerce { display: block; }
@media (min-width: 1000px) { .woocommerce-account.logged-in .woocommerce { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; align-items: start; } }
.woocommerce-MyAccount-navigation ul { margin: 0 0 30px; padding: 0; list-style: none; border: 1px solid var(--km-border); border-radius: 20px; overflow: hidden; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 13px 20px; font-weight: 500; color: var(--km-text); border-bottom: 1px solid var(--km-border); }
.woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { color: var(--km-accent); background: var(--km-bg-softer); }
#customer_login { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
@media (min-width: 690px) { #customer_login.u-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
#customer_login h2 { font-size: 24px; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.woocommerce-ResetPassword { padding: 28px; border: 1px solid var(--km-border); border-radius: 25px; }
.woocommerce form.login .form-row-first, .woocommerce form.login .form-row-last, .woocommerce form.register .form-row-first, .woocommerce form.register .form-row-last { float: none; width: 100%; }
.woocommerce-form-login__rememberme { display: inline-flex; align-items: center; margin-inline-end: 20px; }
.woocommerce-LostPassword { margin: 14px 0 0; font-size: 14px; }
.woocommerce-orders-table, .woocommerce-table--order-details { margin-top: 0; }
.woocommerce-Addresses { display: grid; gap: 30px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.woocommerce-Address address { font-style: normal; }
.woocommerce-Address-title h3 { font-size: 18px; }

/* Round 10 account and order screens. */
@media (min-width: 1000px) { .woocommerce-account.logged-in .woocommerce { grid-template-columns: 274.4px minmax(0, 1fr); gap: 30px; } }
.woocommerce-MyAccount-navigation ul { overflow: visible; border: 0; border-radius: 0; }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid #e9ebec; }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-MyAccount-navigation li a { position: relative; display: flex; height: 55px; align-items: center; gap: 10px; padding: 0 20px; font-size: 15px; font-weight: 500; line-height: 24.75px; color: #687279; border: 0; border-radius: 0; text-decoration: none; }
.woocommerce-MyAccount-navigation li a::before { content: ""; display: block; width: 20px; height: 20px; flex: 0 0 20px; background: currentColor; -webkit-mask: var(--km-account-icon) center / contain no-repeat; mask: var(--km-account-icon) center / contain no-repeat; }
.woocommerce-MyAccount-navigation-link--dashboard a { --km-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M2 2h7v7H2zm9 0h7v7h-7zM2 11h7v7H2zm9 0h7v7h-7z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--orders a { --km-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M3 6 10 2l7 4v11H3zm2 1v8h10V7l-5-3zM8 9h4v2H8z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--downloads a { --km-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M9 2h2v8l3-3 1.4 1.4L10 14l-5.4-5.6L6 7l3 3zM3 15h14v3H3z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-address a { --km-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m1 9 9-7 9 7-1.3 1.6L16 9.4V18H4V9.4l-1.7 1.2zm5-1.2V16h8V7.8l-4-3.1zM8 11h4v5H8z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-account a { --km-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 10a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm-7 8a7 7 0 0 1 14 0z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--woo-wish-list a { --km-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 18 2 10a5 5 0 0 1 7-7l1 1 1-1a5 5 0 0 1 7 7z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--waitlist a { --km-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 2h12a2 2 0 0 1 2 2v14H2V4a2 2 0 0 1 2-2zm1 4v2h10V6zm0 4v2h10v-2zm0 4v2h7v-2z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout a { --km-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M3 2h8v2H5v12h6v2H3zm10 3 5 5-5 5v-3H8V8h5z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li.is-active a:hover { color: #fff; background: #ff6310; }
.woocommerce-MyAccount-navigation li a:hover { color: #ff6310; background: #f8f9fa; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content .woocommerce-Address-title h3 { margin: 0 0 15.4px; font-size: 18px; font-weight: 500; line-height: 27px; }
.woocommerce-account .km-page-title { margin: 0; font-size: 30px; font-weight: 500; line-height: 45px; }
.woocommerce-MyAccount-content .woocommerce-Address-title h3 { margin-bottom: 15.4px; }
.woocommerce-MyAccount-content fieldset { margin: 0 0 32px; padding: 30px; border: 1px dashed #e9ebec; border-radius: 0; }
.woocommerce-MyAccount-content fieldset legend { margin-left: -15px; padding: 0 15px; font-size: 14px; font-weight: 600; }
.woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset legend { line-height: 1.5; }
.woocommerce-account .woocommerce-MyAccount-content > p a { color: #ff6310; text-decoration: underline; }
.woocommerce-MyAccount-content .woocommerce-orders-table, .woocommerce-MyAccount-content .woocommerce-table--order-details { border-collapse: separate; border-spacing: 0; }
.woocommerce-MyAccount-content .woocommerce-orders-table thead th { background: #f4f5f6; }
.woocommerce-MyAccount-content .woocommerce-orders-table thead th:first-child { border-radius: 10px 0 0 10px; }
.woocommerce-MyAccount-content .woocommerce-orders-table thead th:last-child { border-radius: 0 10px 10px 0; }
.woocommerce-orders-table__cell-order-status mark, .woocommerce-orders-table__cell-order-status { color: #687279; }
.woocommerce-orders-table__cell-order-status mark { display: inline-block; padding: 5px 10px; background: #f4f5f6; border-radius: 20px; }
.woocommerce-orders-table__cell-order-actions .button { min-height: 36px; padding: 4px 18px !important; color: #687279 !important; background: rgba(224,229,235,.6) !important; }
.woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.km-account-waitlist { display: grid; gap: 12px; }
.km-account-waitlist__row { display: grid; grid-template-columns: 80px minmax(0,1fr) auto; gap: 15px; align-items: center; padding: 12px 0; border-bottom: 1px solid #e9ebec; }
.km-account-waitlist__image img { display: block; width: 80px; height: 80px; object-fit: cover; }
.km-account-waitlist__details { display: grid; gap: 4px; }
.km-account-waitlist__stock, .km-account-waitlist__details time { font-size: 13px; color: #687279; }
.km-account-waitlist__name { font-weight: 500; }
.woocommerce-order .woocommerce-order-details, .woocommerce-order .woocommerce-customer-details { width: 100%; }
.woocommerce-order .woocommerce-customer-details { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 30px; }
.woocommerce-order .woocommerce-columns--addresses { display: contents; }
.woocommerce-order .woocommerce-customer-details address { height: 100%; }
.woocommerce-order .woocommerce-column--shipping-address:empty { display: none; }
.woocommerce-order-details__title, .woocommerce-column__title { margin: 0 0 15.4px; font: 500 18px/27px var(--km-font); }
@media (min-width: 1000px) { .woocommerce-order { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 35px; } .woocommerce-order > .woocommerce-notice, .woocommerce-order > .woocommerce-order-overview { grid-column: 1 / -1; } .woocommerce-order > .woocommerce-order-details { grid-column: 1; } .woocommerce-order > .woocommerce-customer-details { grid-column: 2; align-content: start; } }
@media (max-width: 999.98px) { .woocommerce-order .woocommerce-customer-details { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 689.98px) { .km-account-waitlist__row { grid-template-columns: 64px minmax(0,1fr); } .km-account-waitlist__image img { width: 64px; height: 64px; } .km-account-waitlist__row form { grid-column: 2; } .woocommerce-MyAccount-content fieldset { padding: 20px; } }

/* Guest account: unboxed forms and measured column gutters. */
#customer_login { gap: 0; }
#customer_login h2 { font-size: 20px; line-height: 30px; margin-bottom: 20px; }
#customer_login form.login, #customer_login form.register { padding: 0; border: 0; border-radius: 0; }
#customer_login .form-row { margin-bottom: 24px; }
#customer_login .woocommerce-form-login__rememberme { display: block; margin: 0 0 21px; font-size: 14px; }
@media (min-width: 690px) {
	#customer_login > .u-column1 { padding-inline-end: 40px; }
	#customer_login > .u-column2 { padding-inline-start: 40px; }
}
@media (max-width: 689.98px) {
	#customer_login > .u-column1 { padding-bottom: 30px; }
	#customer_login > .u-column2 { padding-top: 30px; }
}

/* Parity pass 2. Scoped to classic commerce screens; account and footer stay independent. */
:is(.woocommerce-cart, .woocommerce-checkout) .km-page-head { margin-bottom: 40px; }
:is(.woocommerce-cart, .woocommerce-checkout) .km-page-title { margin: 0; font-size: 30px; line-height: 45px; }
:is(.woocommerce-cart, .woocommerce-checkout) .km-page-head .km-breadcrumbs { display: none; }
:is(.woocommerce-cart, .woocommerce-checkout) .quantity .km-qty__btn { position: absolute; top: 50%; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 50%; background: #e9ebec; color: #687279; cursor: pointer; }
:is(.woocommerce-cart, .woocommerce-checkout) .km-qty__btn--minus { left: 5px; }
:is(.woocommerce-cart, .woocommerce-checkout) .km-qty__btn--plus { right: 5px; }
:is(.woocommerce-cart, .woocommerce-checkout) .quantity:has(input[type="hidden"]) .km-qty__btn { display: none; }
:is(.woocommerce-cart, .woocommerce-checkout) .quantity input.qty { padding-inline: 24px; }
.woocommerce-cart-form__contents { margin-bottom: 0; }
.woocommerce-cart-form__contents :is(th, td).product-quantity,
.woocommerce-cart-form__contents :is(th, td).product-subtotal { text-align: center; }
.woocommerce-cart-form__contents td.product-name { font-weight: 400; }
.km-cart-unit-price { display: block; margin-top: 5px; }
.km-cart-mobile-price { display: none; }
.woocommerce-cart-form__contents .product-remove { text-align: end; }
.woocommerce-cart-form__contents a.remove { width: 12px; height: 24px; border-radius: 0; }
.woocommerce-cart-form .actions > button[name="update_cart"] { background: var(--km-accent); color: #fff; }
.woocommerce-cart .cart_totals table.shop_table th { width: auto; }
.woocommerce-cart .cart_totals table.shop_table td { text-align: end; }
.woocommerce-cart .cart_totals :is(.cart-subtotal, .order-total) th::after { content: ':'; }
.woocommerce-cart .cart_totals .shipping th { display: block; padding: 15px 0; }
.woocommerce-cart .cart_totals table.shop_table .shipping td { display: block; padding: 0 0 22.5px; text-align: start; }
.woocommerce-cart .cart_totals .shipping th,
.woocommerce-cart .cart_totals .shipping td { width: 100%; }
.woocommerce-cart .cart_totals table.shop_table tbody { display: block; }
.woocommerce-cart .cart_totals table.shop_table tr { display: flex; width: 100%; justify-content: space-between; }
.woocommerce-cart .cart_totals table.shop_table tr.shipping { display: block; }
.woocommerce-cart .cart_totals .shipping-calculator-button { display: block; margin-block: 10px; color: var(--km-text); }
.woocommerce-cart .cart_totals :is(.woocommerce-shipping-destination, .shipping-calculator-button) { font-size: 15px; }
.woocommerce-cart .cart_totals .shipping-calculator-form { text-align: start; }
.woocommerce-cart .cart_totals .woocommerce-shipping-destination { margin-bottom: 10px; }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button { height: auto; min-height: 34.75px; padding: 5px 25px; }
.woocommerce-cart .cart_totals table.shop_table td::before { display: none; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { display: block; min-height: 60px; padding: 17.5px 10px 17.5px 55px; border: 0; border-radius: 5px; background: #f0f1f3; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon { color: #687279; text-decoration: underline; padding-left: 5px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { width: 15px; height: 15px; margin-top: -7.5px; border-radius: 0; opacity: 1; background: #687279; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a6 6 0 0 0-6 6v6l-3 4h18l-3-4V8a6 6 0 0 0-6-6Zm0 2a4 4 0 0 1 4 4v7l1 1H7l1-1V8a4 4 0 0 1 4-4Zm-2 16a2 2 0 0 0 4 0Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a6 6 0 0 0-6 6v6l-3 4h18l-3-4V8a6 6 0 0 0-6-6Zm0 2a4 4 0 0 1 4 4v7l1 1H7l1-1V8a4 4 0 0 1 4-4Zm-2 16a2 2 0 0 0 4 0Z'/%3E%3C/svg%3E") center / contain no-repeat; }
form.checkout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 35px; }
.km-checkout-details, .km-order-review { min-width: 0; }
.km-order-review { padding: 35px; border: 1px solid #929292; border-radius: 30px; }
.km-order-review #order_review_heading { margin-bottom: 15px; }
.km-order-review table.shop_table { margin: 0 0 30px; }
.km-order-review table.shop_table :is(th, td) { padding: 22.5px 10.5px; }
.km-order-review table.shop_table :is(th, td):first-child { padding-left: 0; }
.km-order-review table.shop_table :is(th, td):last-child { padding-right: 0; text-align: end; }
.km-order-review table.shop_table tbody td { padding: 5px 0; }
.km-order-review table.shop_table .order-total :is(th, td) { font-size: 15px; color: var(--km-text); }
.km-order-review table.shop_table .order-total th { font-weight: 600; }
.km-review-product { display: grid; grid-template-columns: 100px minmax(0, 1fr); align-items: center; gap: 20px; }
.km-review-image img { display: block; width: 100%; height: auto; border-radius: 3px; }
.km-review-title { margin-bottom: 7.5px; }
.km-checkout-quantity { display: inline-block; vertical-align: middle; }
.km-checkout-remove { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 25px; min-height: 0; padding: 0; margin-left: 4px; border: 0; border-radius: 0; background: #f0f0f0; vertical-align: middle; cursor: pointer; }
.km-checkout-remove svg { fill: currentColor; }
.km-order-review .woocommerce-shipping-methods { margin: 0; }
.km-order-review .shipping :is(th, td) { padding-block: 5px; }
.woocommerce-checkout #payment .wc_payment_method { position: relative; margin: 0; padding: 0; border: 1px solid var(--km-border); border-radius: 0; }
.woocommerce-checkout #payment .wc_payment_method + .wc_payment_method { border-top: 0; }
.woocommerce-checkout #payment .wc_payment_method > input { position: absolute; left: 25px; top: 23px; margin: 0; }
.woocommerce-checkout #payment .wc_payment_method > label { display: block; padding: 18px 25px 18px 50px; font-size: 15px; color: var(--km-text); }
.woocommerce-checkout #payment .payment_box { margin: 0; padding: 25px; border-top: 1px solid var(--km-border); font-size: 14px; line-height: 22px; }
.woocommerce-checkout #payment .place-order { margin-top: 32px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin-bottom: 30px; font-size: 14px; }
.woocommerce-checkout .woocommerce-privacy-policy-text p:last-child { margin-bottom: 0; }
.woocommerce-checkout #place_order { height: auto; min-height: 34.75px; padding: 5px 25px; }
@media (min-width: 1000px) {
	form.checkout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.km-checkout-details { grid-column: 1; grid-row: 1; }
	.km-order-review { grid-column: 2; grid-row: 1; }
}
@media (max-width: 999.98px) {
	.woocommerce-cart .cart_totals { margin-top: 40px; }
}
@media (max-width: 689.98px) {
	:is(.woocommerce-cart, .woocommerce-checkout) .km-main > .km-section { width: 88%; padding-block: 50px; }
	:is(.woocommerce-cart, .woocommerce-checkout) .quantity,
	:is(.woocommerce-cart, .woocommerce-checkout) .quantity input.qty { height: 38px; }
	table.woocommerce-cart-form__contents { display: block; margin: 0; }
	table.woocommerce-cart-form__contents :is(thead, tbody) { display: block; }
	.woocommerce-cart-form__contents thead tr { display: block; }
	.woocommerce-cart-form__contents thead th { display: none; }
	.woocommerce-cart-form__contents thead th.product-name { display: block; padding: 19.5px 0; }
	table.woocommerce-cart-form__contents tbody tr { padding: 0; }
	.woocommerce-cart-form__contents tbody tr.cart_item { display: grid; grid-template-columns: 120px 92.5px minmax(0, 1fr) 22px; grid-template-rows: auto auto; padding: 19.5px 0; align-items: center; align-content: center; }
	.woocommerce-cart-form__contents td::before { display: none; }
	.woocommerce-cart-form__contents tbody td { display: block; padding: 0; text-align: start; }
	table.woocommerce-cart-form__contents td.product-thumbnail { grid-column: 1; grid-row: 1 / 3; width: 120px; }
	.woocommerce-cart-form__contents .product-thumbnail img { width: 110px; height: 110px; }
	.woocommerce-cart-form__contents td.product-name { grid-column: 2 / 5; grid-row: 1; padding-left: 10.5px; margin-bottom: 15px; align-self: end; }
	.woocommerce-cart-form__contents td.product-quantity { grid-column: 2; grid-row: 2; padding-left: 10.5px; align-self: start; }
	.woocommerce-cart-form__contents td.product-subtotal { grid-column: 3; grid-row: 2; font-size: 13px; text-align: start; align-self: start; line-height: 38px; }
	.woocommerce-cart-form__contents td.product-remove { grid-column: 4; grid-row: 2; width: auto; text-align: end; align-self: start; height: 38px; padding-top: 7px; }
	.km-cart-unit-price, .km-cart-line-subtotal { display: none; }
	.km-cart-mobile-price { display: inline; white-space: nowrap; }
	.km-cart-mobile-price > span { margin-right: 8px; font-size: 15px; }
	.woocommerce-cart-form__contents td.actions { padding: 19.5px 0; }
	.woocommerce-cart-form .coupon { width: 100%; gap: 10px; }
	.woocommerce-cart-form .coupon .button { width: 100%; }
	.woocommerce-cart .cart_totals { margin-top: 40px; padding: 25px; }
	.woocommerce-cart .cart_totals table.shop_table tr { padding: 0; }
	.woocommerce-cart .cart_totals table.shop_table :is(th, td) { padding-block: 19.5px; }
	.woocommerce-cart .cart_totals table.shop_table .shipping th { padding-block: 15px; }
	.woocommerce-cart .cart_totals table.shop_table .shipping td { padding: 0 0 19.5px; }
	.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { padding: 15px 15px 15px 46px; font-size: 14px; }
	.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { left: 16px; top: 21px; margin-top: 0; }
	.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon { display: block; }
	.km-order-review { padding: 25px; }
	.km-order-review table.shop_table :is(th, td) { padding-block: 19.5px; }
	.km-order-review table.shop_table tbody td { padding-block: 5px; }
	.km-order-review table.shop_table .shipping :is(th, td) { padding-block: 5px; }
	.km-review-product { grid-template-columns: minmax(40px, 1fr) minmax(0, 2fr); }
	.woocommerce-checkout #payment { margin-inline: -26px; }
	.woocommerce-checkout #payment .place-order { padding-inline: 25px; }
}
