.woocommerce-page ul.products,
.km-products ul.products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin: 0 !important; }
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.km-products ul.products::before,
.km-products ul.products::after { display: none; }
.woocommerce-page ul.products li.product,
.km-products ul.products li.product { overflow: hidden; width: auto !important; min-width: 0; margin: 0 !important; padding: 0 0 22px; border: 1px solid var(--km-line); border-radius: var(--km-radius); background: var(--km-surface); transition: 160ms ease; }
.woocommerce-page #main-content ul.products li.product:nth-child(n),
.km-products ul.products li.product:nth-child(n) { width: 100% !important; margin: 0 !important; clear: none !important; float: none !important; }
.woocommerce-page ul.products li.product:hover,
.km-products ul.products li.product:hover { border-color: var(--km-line-strong); transform: translateY(-4px); box-shadow: var(--km-shadow); }
.woocommerce ul.products li.product a { display: block; min-width: 0; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1; margin: 0 0 20px !important; object-fit: cover; background: var(--km-paper); }
.woocommerce ul.products li.product .et_overlay { display: none !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.km-test-badge { margin-inline: 20px !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 !important; color: var(--km-ink); font-size: clamp(20px,2vw,25px) !important; line-height: 1.08; overflow-wrap: break-word; word-break: normal; hyphens: none; text-transform: none; }
.woocommerce ul.products li.product .price { margin-top: 9px; color: var(--km-accent-dark) !important; font-weight: 800; }
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit { padding: 12px 18px !important; border: 1px solid var(--km-ink) !important; border-radius: 999px !important; background: var(--km-ink) !important; color: #fff !important; font-size: 12px !important; font-weight: 760 !important; letter-spacing: .035em; }
.woocommerce ul.products li.product .button::after,
.woocommerce a.button::after,
.woocommerce button.button::after { display: none !important; }
.woocommerce span.onsale { min-width: auto; min-height: auto; padding: 7px 10px; border-radius: 999px; background: var(--km-clay); color: #fff; font-size: 10px; line-height: 1; letter-spacing: .06em; }
.km-test-badge { display: inline-block; margin-bottom: 12px; padding: 5px 8px; border: 1px solid var(--km-alert); border-radius: 999px; color: var(--km-alert); font-size: 9px; font-weight: 800; letter-spacing: .06em; }
.km-test-product-notice { margin: 18px 0; padding: 16px 18px; border: 1px solid rgba(155,61,52,.35); border-radius: var(--km-radius-sm); background: #fff5f3; color: #6f2019; font-weight: 700; }
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { color: var(--km-muted); }
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content { padding-top: 34px; }
.woocommerce-message,
.woocommerce-info { border-radius: var(--km-radius-sm); border-top-color: var(--km-accent) !important; background: var(--km-ink) !important; }
.woocommerce-error { border-radius: var(--km-radius-sm); border-top-color: var(--km-alert) !important; background: var(--km-alert) !important; }
.woocommerce-page #sidebar { display: none; }
.woocommerce-page #left-area { float: none; width: 100%; padding-right: 0; }
.woocommerce-page #main-content .container::before { display: none; }
.woocommerce-page #main-content .container { width: min(var(--km-content),calc(100% - 64px)); max-width: var(--km-content); padding-block: 78px 100px; }
.woocommerce-page .entry-title { margin-bottom: 36px; font-size: clamp(42px,5vw,70px); }
.woocommerce-page .woocommerce-result-count,
.woocommerce-page .woocommerce-ordering { margin-bottom: 30px; }
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.km-product-template .price,
.km-product-template .woocommerce-variation-price .price { color: var(--km-accent-dark) !important; }
.woocommerce div.product .product_meta a,
.km-product-template .product_meta a { border-bottom: 2px solid var(--km-clay); color: var(--km-ink) !important; }
.single-product form.cart .quantity { display: inline-grid !important; width: auto !important; grid-template-columns: 44px minmax(54px,64px) 44px; align-items: stretch; overflow: hidden; margin: 0 10px 0 0 !important; border: 1px solid var(--km-line-strong); border-radius: 999px; background: #fff; vertical-align: middle; }
.single-product form.cart .quantity .qty { width: 100% !important; min-width: 0; height: 44px; margin: 0 !important; padding: 0 4px !important; border: 0 !important; border-right: 1px solid var(--km-line); border-left: 1px solid var(--km-line); border-radius: 0 !important; background: #fff; color: var(--km-ink); font-size: 15px; font-weight: 800; text-align: center; appearance: textfield; -moz-appearance: textfield; }
.single-product form.cart .quantity .qty::-webkit-inner-spin-button,
.single-product form.cart .quantity .qty::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.single-product form.cart .km-qty-button { display: grid; width: 44px; min-width: 44px; height: 44px; place-items: center; margin: 0; padding: 0; border: 0; background: transparent; color: var(--km-ink); font: inherit; font-size: 22px; font-weight: 760; line-height: 1; cursor: pointer; transition: background 150ms ease,color 150ms ease; }
.single-product form.cart .km-qty-button:hover { background: var(--km-accent-soft); color: var(--km-accent-dark); }
.single-product form.cart .km-qty-button:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(47,91,211,.28); outline-offset: -3px; }
.woocommerce table.shop_table,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register { border-radius: var(--km-radius); border-color: var(--km-line); background: var(--km-surface); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce select { min-height: 46px; padding: 10px 12px; border: 1px solid var(--km-line-strong); border-radius: var(--km-radius-sm); background: #fff; color: var(--km-ink); }
.km-product-specs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 18px 0 0; border-top: 1px solid var(--km-line); border-left: 1px solid var(--km-line); }
.km-product-specs div { min-width: 0; padding: 16px; border-right: 1px solid var(--km-line); border-bottom: 1px solid var(--km-line); }
.km-product-specs dt { color: var(--km-muted); font-size: 10px; font-weight: 780; letter-spacing: .06em; text-transform: uppercase; }
.km-product-specs dd { margin: 6px 0 0; font-weight: 700; overflow-wrap: anywhere; }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review { padding: 24px; border: 1px solid var(--km-line); border-radius: var(--km-radius); background: var(--km-surface); }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 11px 17px !important; border-radius: 999px; font-size: 13px !important; font-weight: 780; line-height: 1.2; }
