/*
 * Kemy Market v4.46.0 — Unified Interface Stability Layer
 *
 * This stylesheet intentionally loads last. The theme has accumulated several
 * route-specific compatibility releases; this layer resolves their cascade
 * conflicts without removing integrations that older marketplace plugins use.
 * The seller operations dashboard is deliberately excluded.
 */

:root {
  --km-blue: #1369df;
  --km-blue-dark: #0c2b5a;
  --km-blue-hover: #0b57c1;
  --km-blue-soft: #eef6ff;
  --km-orange: #f28c28;
  --km-orange-dark: #9a4b00;
  --km-orange-soft: #fff7ed;
  --km-on-orange: #17212b;
  --km-bg: #f4f7fb;
  --km-page: #f4f7fb;
  --km-card: #ffffff;
  --km-text: #17212b;
  --km-muted: #667085;
  --km-border: #d7e3f0;
  --km-border-strong: #b9d0e8;
  --km-success: #067647;
  --km-danger: #b42318;
  --km-focus: rgba(19, 105, 223, .24);
  --km-shadow-sm: 0 5px 16px rgba(12, 43, 90, .06);
  --km-shadow: 0 12px 32px rgba(12, 43, 90, .09);
  --km-radius-sm: 12px;
  --km-radius: 18px;
  --km-radius-lg: 24px;
  --km-content: 1280px;
}

html {
  overflow-x: clip;
}

body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) {
  overflow-wrap: break-word;
  background: var(--km-page);
  color: var(--km-text);
}

body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) .km-container {
  width: min(var(--km-content), calc(100% - 32px));
}

body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) :where(input, select, textarea, button) {
  font: inherit;
}

body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--km-focus);
  outline-offset: 2px;
}

body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) :where(input, select, textarea) {
  max-width: 100%;
}

body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) .km-main > .km-container.km-panel {
  overflow: visible;
  border-color: var(--km-border);
  border-radius: var(--km-radius-lg);
  box-shadow: var(--km-shadow-sm);
}

body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) .entry-content {
  min-width: 0;
}

body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) .entry-content :where(h1, h2, h3, h4) {
  color: var(--km-blue-dark);
  line-height: 1.2;
}

body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) .entry-content :where(p, li, dd) {
  overflow-wrap: anywhere;
}

/* Header and navigation */
.km-topbar {
  background: var(--km-blue-dark) !important;
}

.km-topbar__inner {
  min-width: 0;
}

.km-topbar__inner > div:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.km-topbar__links {
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.km-topbar__links::-webkit-scrollbar,
.km-nav__inner::-webkit-scrollbar,
.km-mobile-quick-strip::-webkit-scrollbar {
  display: none;
}

.km-header {
  background: #fff !important;
  border-bottom: 1px solid var(--km-border);
}

.km-header__inner,
.km-header__search,
.km-header__actions {
  min-width: 0;
}

.km-clean-logo--kemy-only,
.km-clean-logo--kemy-only .km-clean-logo__kemy {
  color: #101828 !important;
}

.km-search {
  width: 100%;
  border-color: var(--km-blue) !important;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(19, 105, 223, .1);
}

.km-search button {
  background: var(--km-orange) !important;
  color: var(--km-on-orange) !important;
}

.km-nav {
  background: var(--km-blue) !important;
}

.km-nav__inner {
  max-width: 100%;
}

.km-departments {
  background: var(--km-orange) !important;
  color: var(--km-on-orange) !important;
}

.km-icon-action {
  min-width: 0;
  border-color: var(--km-border);
  box-shadow: none;
}

.km-icon-action:hover {
  border-color: #b9d0f6;
  background: var(--km-blue-soft);
  color: var(--km-blue-dark);
}

.km-cart,
.km-cart:hover {
  border-color: var(--km-blue) !important;
  background: var(--km-blue) !important;
  color: #fff !important;
}

/* Footer */
.km-footer,
.site-footer,
footer.km-footer {
  overflow: hidden;
  background: linear-gradient(135deg, #071d3d 0%, #0c2b5a 70%, #1369df 100%) !important;
  color: #fff !important;
}

.km-footer__grid {
  grid-template-columns: minmax(240px, 1.6fr) repeat(3, minmax(150px, 1fr));
}

.km-footer h3,
.km-footer strong {
  color: #fff !important;
}

.km-footer p,
.km-footer a,
.km-footer li,
.km-footer__bottom {
  color: #dbe8f8 !important;
}

.km-footer a:hover,
.km-footer a:focus-visible {
  color: #fff !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.km-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 24px;
  padding: 18px 0;
  border-top: 1px solid rgba(255, 255, 255, .16);
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.km-footer__legal a {
  font-size: 12px;
  font-weight: 750;
}

/* Shared cards, notices, controls and product cards */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  max-width: 100%;
  border-radius: 14px !important;
  color: var(--km-text) !important;
}

.km-product-card {
  min-width: 0;
  border-color: var(--km-border) !important;
  border-radius: var(--km-radius) !important;
  box-shadow: var(--km-shadow-sm) !important;
}

.km-product-card:hover {
  border-color: #b9d0f6 !important;
  box-shadow: var(--km-shadow) !important;
}

.km-product-card__image {
  overflow: hidden;
  background: #f8fbff !important;
}

.km-product-card__body {
  min-width: 0;
}

.km-product-card__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.km-v429-recent-card h3 a,
.km-v439-store-product-card__title,
.km-v4403-card-title,
.km-v4404-store-card__title,
.kemy-mp-store-product-title,
.kemy-v692-product-title {
  display: -webkit-box !important;
  min-height: 2.6em !important;
  max-height: 2.6em !important;
  overflow: hidden !important;
  color: var(--km-text) !important;
  line-height: 1.3 !important;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.km-product-card__price,
.km-product-card__price .amount,
.km-price-now strong,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount {
  color: var(--km-blue-dark) !important;
}

.km-product-card__button,
.woocommerce ul.products li.product .button {
  border: 1px solid #b9d0f6 !important;
  border-radius: 12px !important;
  background: var(--km-blue-soft) !important;
  color: var(--km-blue-dark) !important;
  box-shadow: none !important;
}

.km-product-card__button:hover,
.woocommerce ul.products li.product .button:hover {
  border-color: var(--km-blue) !important;
  background: var(--km-blue) !important;
  color: #fff !important;
}

/* Bright brand orange uses dark ink for accessible small text. */
.km-badge,
.km-section--deals .km-badge,
.woocommerce span.onsale,
.km-cart-count,
.km-mega__intro a,
.km-campaign-card em,
.km-qv-cart,
.km-store-primary,
.km-buy-now-button,
.km-cart-checkout-button,
.km-checkout-payment-wrap #payment #place_order,
.km-checkout-mobile-sticky-bar__button,
.km-cart-mobile-sticky-bar__button {
  color: var(--km-on-orange) !important;
}

.km-product-row {
  grid-auto-columns: calc((100% - 56px) / 5) !important;
  align-items: stretch;
}

.km-product-grid:not(.km-shop-product-grid):not(.km-tools-grid):not(.km-store-product-grid) {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.km-product-row .km-product-card,
.km-product-grid .km-product-card {
  width: 100%;
  height: 100%;
}

.km-rating-stars__fill {
  color: #f59e0b !important;
}

/* Shop, category and search results */
.km-shop-main {
  min-width: 0;
  padding-top: 18px;
}

.km-shop-hero {
  border-color: rgba(255, 255, 255, .16) !important;
  background: linear-gradient(125deg, var(--km-blue-dark) 0%, var(--km-blue) 82%, var(--km-orange) 100%) !important;
}

.km-shop-hero h1,
.km-shop-hero__description,
.km-shop-hero__description p,
.km-shop-hero__stats span {
  color: #fff !important;
}

.km-shop-layout {
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 20px !important;
  min-width: 0;
}

.km-shop-sidebar {
  min-width: 0;
}

.km-shop-products {
  min-width: 0;
}

.km-filter-card,
.km-shop-widget,
.km-shop-toolbar,
.km-shop-cat-strip,
.km-active-filters {
  border-color: var(--km-border) !important;
  box-shadow: var(--km-shadow-sm) !important;
}

.km-shop-toolbar {
  min-width: 0;
}

.km-shop-toolbar__sort,
.km-shop-toolbar__sort form,
.km-shop-toolbar__sort select {
  min-width: 0;
  max-width: 100%;
}

.km-shop-product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch;
}

.km-shop-pagination ul,
.woocommerce-pagination ul.page-numbers {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  border: 0 !important;
}

/* Single product */
.km-single-product-top {
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 1fr) 292px !important;
  gap: 18px !important;
}

.km-single-product-top > *,
.km-single-lower-grid > * {
  min-width: 0;
}

.km-single-gallery-card,
.km-single-summary-card,
.km-single-side-card,
.km-single-tabs-card,
.km-single-specs,
.km-single-related-section > section,
.km-single-related-section .related {
  border-color: var(--km-border) !important;
  border-radius: var(--km-radius-lg) !important;
  box-shadow: var(--km-shadow-sm) !important;
}

.km-single-title {
  color: var(--km-text) !important;
  font-size: clamp(25px, 2.25vw, 34px) !important;
  overflow-wrap: anywhere;
}

.km-single-price-box .km-price-stack {
  border-color: #f0c58c !important;
  background: var(--km-orange-soft) !important;
}

.km-single-short-description,
.km-single-tabs-card .woocommerce-Tabs-panel {
  color: #475467 !important;
}

.km-single-buy-card {
  border-color: #b9d0f6 !important;
  background: linear-gradient(180deg, #fff, var(--km-blue-soft)) !important;
}

.km-single-buy-card .single_add_to_cart_button {
  background: var(--km-blue) !important;
  color: #fff !important;
}

.km-buy-now-button {
  background: var(--km-orange) !important;
  color: var(--km-on-orange) !important;
}

.km-single-tabs-card .woocommerce-tabs,
.km-single-tabs-card .woocommerce-Tabs-panel,
.km-single-tabs-card table {
  max-width: 100%;
}

.km-single-tabs-card table {
  display: block;
  overflow-x: auto;
}

.km-single-related-section ul.products {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* Remove the generic page shell from custom WooCommerce screens. */
body.woocommerce-cart .km-main > .km-container.km-panel,
body.woocommerce-checkout .km-main > .km-container.km-panel,
body.woocommerce-account .km-main > .km-container.km-panel {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.woocommerce-cart .km-main > .km-container.km-panel > article > h1:first-child,
body.woocommerce-checkout .km-main > .km-container.km-panel > article > h1:first-child,
body.woocommerce-account .km-main > .km-container.km-panel > article > h1:first-child {
  display: none !important;
}

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-account .entry-content,
body.woocommerce-cart .entry-content > .woocommerce,
body.woocommerce-checkout .entry-content > .woocommerce,
body.woocommerce-account .entry-content > .woocommerce {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Cart */
body.woocommerce-cart .km-cart-page {
  width: min(var(--km-content), calc(100% - 32px)) !important;
  max-width: var(--km-content) !important;
  padding: 24px 0 54px !important;
}

body.woocommerce-cart .woocommerce-cart-form.km-cart-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 20px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.km-cart-hero,
.km-cart-items-card,
.km-cart-summary-card,
.km-empty-cart-card {
  border-color: var(--km-border) !important;
  box-shadow: var(--km-shadow-sm) !important;
}

.km-cart-hero {
  background: linear-gradient(135deg, #fff, var(--km-blue-soft)) !important;
}

.km-cart-items-card,
.km-cart-summary-card,
.km-cart-item__main {
  min-width: 0;
}

.km-cart-item h3,
.km-cart-item h3 a {
  color: var(--km-text) !important;
  overflow-wrap: anywhere;
}

.km-cart-checkout-button {
  background: var(--km-orange) !important;
  color: var(--km-on-orange) !important;
}

.km-cart-update,
.km-cart-coupon button {
  border: 0 !important;
  background: var(--km-blue) !important;
  color: #fff !important;
}

.km-cart-summary-sticky {
  top: 116px;
}

body.woocommerce-cart .km-cart-summary-card .cart-collaterals,
body.woocommerce-cart .km-cart-summary-card .km-cart-totals-wrap {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Checkout and order confirmation */
.km-checkout-page,
.km-order-received-page {
  min-width: 0;
  padding: 24px 0 54px !important;
}

.km-checkout-page > .km-container,
.km-order-received-page > .km-container {
  width: min(var(--km-content), calc(100% - 32px));
}

body.woocommerce-checkout form.checkout.km-checkout-form {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.km-checkout-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 390px !important;
  gap: 20px !important;
  align-items: start;
}

.km-checkout-main,
.km-checkout-side,
.km-checkout-card,
.km-checkout-summary-card {
  min-width: 0;
}

.km-checkout-hero,
.km-checkout-card,
.km-checkout-summary-card,
.km-thankyou-card,
.km-thankyou-panel,
.km-order-received-page .woocommerce-order-details,
.km-order-received-page .woocommerce-customer-details {
  border-color: var(--km-border) !important;
  box-shadow: var(--km-shadow-sm) !important;
}

.km-checkout-hero {
  background: linear-gradient(135deg, #fff, var(--km-blue-soft)) !important;
}

.km-checkout-fields-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  min-width: 0;
}

.km-checkout-fields-panel .form-row {
  min-width: 0;
}

.km-checkout-fields-panel :where(input.input-text, select, textarea),
.km-checkout-fields-panel .select2-container .select2-selection--single {
  width: 100% !important;
  min-height: 46px !important;
  border: 1px solid var(--km-border-strong) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--km-text) !important;
}

.km-checkout-side {
  position: sticky;
  top: 116px;
}

body.woocommerce-checkout .woocommerce-checkout-review-order.km-checkout-review-order {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.km-checkout-payment-wrap #payment #place_order {
  background: var(--km-orange) !important;
  color: var(--km-on-orange) !important;
}

.km-checkout-product__body strong {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.km-thankyou-grid {
  grid-template-columns: minmax(0, 1fr) 380px !important;
  gap: 20px !important;
}

.km-order-received-page table.shop_table {
  width: 100%;
}

/* My Account: root repair plus one coherent account system. */
body.woocommerce-account .woocommerce {
  display: block !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-account .km-account-page {
  width: min(var(--km-content), calc(100% - 32px)) !important;
  max-width: var(--km-content) !important;
  margin: 0 auto !important;
  padding: 24px 0 64px !important;
}

body.woocommerce-account .km-account-layout {
  display: grid !important;
  grid-template-columns: minmax(230px, 260px) minmax(0, 1fr) !important;
  gap: 20px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

body.woocommerce-account .km-account-sidebar,
body.woocommerce-account .km-account-content {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  float: none !important;
  border: 1px solid var(--km-border) !important;
  border-radius: var(--km-radius-lg) !important;
  background: #fff !important;
  box-shadow: var(--km-shadow-sm) !important;
}

body.woocommerce-account .km-account-sidebar {
  position: sticky !important;
  top: 116px !important;
  overflow: hidden !important;
  padding: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation.km-account-nav {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.woocommerce-account .km-account-nav__head {
  padding: 20px !important;
  border-bottom: 1px solid var(--km-border) !important;
  background: linear-gradient(135deg, var(--km-blue-dark), var(--km-blue)) !important;
}

body.woocommerce-account .km-account-nav__head span,
body.woocommerce-account .km-account-nav__head small {
  color: #fff !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 10px !important;
  list-style: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li,
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
  min-width: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: #344054 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  text-align: left !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  border-color: #b9d0f6 !important;
  background: var(--km-blue-soft) !important;
  color: var(--km-blue-dark) !important;
}

body.woocommerce-account .km-account-nav__icon {
  flex: 0 0 30px;
  width: 30px !important;
  height: 30px !important;
  background: #f2f6fb !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active .km-account-nav__icon {
  background: #fff !important;
}

body.woocommerce-account .woocommerce-MyAccount-content.km-account-content {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 24px !important;
  overflow: visible !important;
}

body.woocommerce-account .km-account-dashboard {
  display: grid !important;
  gap: 20px !important;
  min-width: 0;
}

body.woocommerce-account .km-account-welcome {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  gap: 18px !important;
  align-items: center !important;
  padding: 22px !important;
  border: 1px solid #b9d0f6 !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, var(--km-blue-soft), #fff 72%) !important;
}

body.woocommerce-account .km-account-welcome__main,
body.woocommerce-account .km-account-welcome__text {
  min-width: 0;
}

body.woocommerce-account .km-account-welcome__avatar {
  background: var(--km-blue) !important;
  color: #fff !important;
}

body.woocommerce-account .km-account-welcome__text > span {
  background: #fff !important;
  color: var(--km-blue-dark) !important;
}

body.woocommerce-account .km-account-welcome h2 {
  color: var(--km-blue-dark) !important;
  font-size: clamp(25px, 2.6vw, 34px) !important;
}

body.woocommerce-account .km-account-welcome__button {
  grid-column: auto !important;
  background: var(--km-blue) !important;
  color: #fff !important;
  white-space: nowrap;
}

body.woocommerce-account .km-account-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.woocommerce-account .km-account-card,
body.woocommerce-account .km-account-card--seller {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 18px !important;
  grid-template-areas: "icon title arrow" "icon desc arrow" !important;
  min-width: 0 !important;
  min-height: 108px !important;
  padding: 16px !important;
  column-gap: 11px !important;
  row-gap: 4px !important;
  border: 1px solid var(--km-border) !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: var(--km-text) !important;
  box-shadow: none !important;
}

body.woocommerce-account .km-account-card:hover {
  transform: translateY(-2px);
  border-color: #b9d0f6 !important;
  box-shadow: var(--km-shadow-sm) !important;
}

body.woocommerce-account .km-account-card__icon {
  grid-area: icon !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 13px !important;
  background: var(--km-blue-soft) !important;
}

body.woocommerce-account .km-account-card__arrow {
  position: static !important;
  grid-area: arrow !important;
  align-self: center !important;
  color: var(--km-blue) !important;
}

body.woocommerce-account .km-account-card strong {
  grid-area: title !important;
  align-self: end;
  color: var(--km-text) !important;
}

body.woocommerce-account .km-account-card small {
  grid-area: desc !important;
  align-self: start;
  color: var(--km-muted) !important;
}

body.woocommerce-account .km-account-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

body.woocommerce-account .km-account-panel,
body.woocommerce-account .km-account-recent,
body.woocommerce-account .km-account-empty-state {
  min-width: 0;
  border-color: var(--km-border) !important;
  box-shadow: none !important;
}

body.woocommerce-account .km-account-section-head a,
body.woocommerce-account .km-account-panel__button,
body.woocommerce-account .km-account-empty-small a {
  color: var(--km-blue) !important;
}

body.woocommerce-account .km-orders-compact-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.woocommerce-account .km-orders-compact-card {
  padding: 18px !important;
  border-color: var(--km-border) !important;
  border-radius: 18px !important;
  background: #f8fbff !important;
}

body.woocommerce-account .km-orders-compact-card__secondary {
  justify-items: end !important;
  padding: 7px 9px !important;
  border: 1px solid var(--km-blue) !important;
  border-radius: 11px !important;
  background: var(--km-blue) !important;
  text-align: right !important;
}

body.woocommerce-account .km-orders-compact-card__secondary em,
body.woocommerce-account .km-orders-compact-card__secondary b,
body.woocommerce-account .km-orders-compact-card__secondary .amount,
body.woocommerce-account .km-orders-compact-card__secondary bdi {
  color: #fff !important;
}

body.woocommerce-account .km-orders-compact-card__actions .button,
body.woocommerce-account .woocommerce-button,
body.woocommerce-account button.button {
  border: 1px solid var(--km-blue) !important;
  border-radius: 11px !important;
  background: var(--km-blue) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.woocommerce-account .woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

body.woocommerce-account .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-Addresses::after {
  display: none !important;
}

body.woocommerce-account .woocommerce-Addresses .col-1,
body.woocommerce-account .woocommerce-Addresses .col-2 {
  width: 100% !important;
  min-width: 0;
  float: none !important;
  margin: 0 !important;
  padding: 18px;
  border: 1px solid var(--km-border);
  border-radius: 16px;
  background: #f8fbff;
}

body.woocommerce-account .woocommerce-MyAccount-content form .form-row {
  min-width: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content :where(input.input-text, select, textarea) {
  width: 100% !important;
  min-height: 46px !important;
  border: 1px solid var(--km-border-strong) !important;
  border-radius: 11px !important;
  background: #fff !important;
  color: var(--km-text) !important;
}

body.woocommerce-account .woocommerce-MyAccount-content fieldset {
  min-width: 0;
  margin: 22px 0;
  padding: 18px;
  border: 1px solid var(--km-border);
  border-radius: 16px;
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
  width: 100% !important;
  max-width: 100%;
}

/* Guest account */
body.woocommerce-account .km-account-page--guest .km-account-hero {
  background: linear-gradient(125deg, var(--km-blue-dark), var(--km-blue) 84%, var(--km-orange)) !important;
}

body.woocommerce-account .km-auth-layout {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body.woocommerce-account .km-auth-panel {
  min-width: 0;
  border-color: var(--km-border) !important;
  box-shadow: var(--km-shadow-sm) !important;
}

body.woocommerce-account .km-auth-panel--info {
  background: linear-gradient(145deg, var(--km-blue-dark), var(--km-blue)) !important;
  color: #fff !important;
}

body.woocommerce-account .km-auth-panel--info :where(h2, h3, p, li, span) {
  color: #fff !important;
}

/* Support, help, contact, FAQ and tracking */
.km-support-page {
  overflow: hidden;
  background: var(--km-page) !important;
}

.km-support-hero {
  background: linear-gradient(125deg, var(--km-blue-dark), var(--km-blue) 84%, var(--km-orange)) !important;
}

.km-support-hero h1,
.km-support-hero p,
.km-support-hero__card,
.km-support-hero__card strong,
.km-support-hero__card a {
  color: #fff !important;
}

.km-support-grid,
.km-help-grid,
.km-contact-layout,
.km-track-layout {
  min-width: 0;
}

.km-support-card,
.km-help-card,
.km-contact-panel,
.km-contact-side,
.km-track-panel,
.km-track-side,
.km-faq-item {
  min-width: 0;
  border-color: var(--km-border) !important;
  box-shadow: var(--km-shadow-sm) !important;
}

.km-support-card p,
.km-help-card p,
.km-contact-panel p,
.km-contact-side p,
.km-track-panel p,
.km-track-side p,
.km-faq-item p {
  color: #475467 !important;
}

.km-contact-form :where(input, select, textarea),
.km-track-panel :where(input, select, textarea) {
  border-color: var(--km-border-strong) !important;
  background: #fff !important;
  color: var(--km-text) !important;
}

.km-contact-form button,
.km-track-panel .button {
  background: var(--km-blue) !important;
  color: #fff !important;
}

/* Policies and long-form information */
.km-legal-page {
  width: 100%;
  max-width: 980px !important;
  min-width: 0;
  margin: 0 auto !important;
  color: var(--km-text) !important;
}

.km-legal-page h2 {
  padding-top: 4px;
  color: var(--km-blue-dark) !important;
}

.km-legal-page :where(p, li, dd) {
  color: #344054 !important;
}

.km-legal-meta {
  display: inline-flex;
  max-width: 100%;
  white-space: normal;
}

.km-policy-centre-nav,
.km-legal-notice,
.km-policy-help-box {
  border-color: #b9d0f6 !important;
  background: var(--km-blue-soft) !important;
}

.km-policy-centre-nav a {
  border-color: #b9d0f6 !important;
  color: var(--km-blue-dark) !important;
}

.km-policy-table-wrap {
  max-width: 100%;
  overflow-x: auto !important;
  border-color: var(--km-border) !important;
  -webkit-overflow-scrolling: touch;
}

.km-policy-table {
  width: 100%;
  min-width: 660px;
}

.km-legal-details {
  border-color: var(--km-border) !important;
}

/* Wishlist, comparison, recently viewed and shopping tools */
.km-tools-page {
  background: var(--km-page) !important;
}

.km-tools-hero {
  background: linear-gradient(125deg, var(--km-blue-dark), var(--km-blue)) !important;
}

.km-tools-hero :where(h1, p, span, a) {
  color: #fff;
}

.km-tools-shell,
.km-compare-wrap,
.km-tools-empty,
.km-v429-recently-viewed {
  max-width: 100%;
  min-width: 0;
  border-color: var(--km-border) !important;
  box-shadow: var(--km-shadow-sm) !important;
}

.km-tools-grid,
.km-v429-recently-viewed__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.km-compare-wrap {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
}

.km-v429-recent-card__price {
  border-color: #b9d0f6 !important;
  background: #fff !important;
}

/* Public stores and seller application. Seller dashboard remains excluded. */
body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) :where(.km-store-page, .km-v4403-store-page, .kemy-mp-public-store, .km-seller-page) {
  max-width: 100%;
  min-width: 0;
}

body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) :where(.km-store-hero, .km-v4403-store-hero, .kemy-mp-store-public-hero, .km-seller-hero) {
  background-color: var(--km-blue-dark) !important;
}

body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) :where(.km-store-about, .km-store-products, .km-seller-intro, .km-seller-panel, .km-seller-form-card) {
  min-width: 0;
  border-color: var(--km-border) !important;
  box-shadow: var(--km-shadow-sm) !important;
}

body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) :where(.km-store-product-grid, .km-v4403-product-grid, .km-v4404-store-product-grid, .kemy-mp-store-products-grid, .kemy-v692-products-grid) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  min-width: 0;
}

body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) :where(.km-seller-form input, .km-seller-form select, .km-seller-form textarea, .km-v4401-apply-form input, .km-v4401-apply-form select, .km-v4401-apply-form textarea) {
  width: 100% !important;
  min-height: 46px !important;
  border: 1px solid var(--km-border-strong) !important;
  border-radius: 11px !important;
  background: #fff !important;
  color: var(--km-text) !important;
}

/* Desktop header density */
@media (min-width: 1241px) {
  .km-header__inner {
    grid-template-columns: 190px minmax(360px, 1fr) auto !important;
    gap: 14px !important;
  }
}

@media (min-width: 1025px) and (max-width: 1240px) {
  .km-header__inner {
    grid-template-columns: 150px minmax(300px, 1fr) auto !important;
    gap: 10px !important;
  }

  .km-header__actions {
    gap: 6px !important;
  }

  .km-header__actions .km-action__text {
    display: none !important;
  }

  .km-header__actions .km-icon-action {
    width: 42px;
    height: 42px;
    justify-content: center;
    padding: 0 !important;
  }

  .km-search__category {
    flex-basis: 145px !important;
    width: 145px !important;
    min-width: 120px !important;
  }
}

@media (max-width: 1180px) {
  .km-product-row {
    grid-auto-columns: calc((100% - 42px) / 4) !important;
  }

  .km-product-grid:not(.km-shop-product-grid):not(.km-tools-grid):not(.km-store-product-grid) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .km-tools-grid,
  .km-v429-recently-viewed__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .km-single-product-top {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  .km-single-side-card {
    grid-column: 1 / -1;
  }

  .km-single-trust-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body.woocommerce-account .km-account-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) :where(.km-store-product-grid, .km-v4403-product-grid, .km-v4404-store-product-grid, .kemy-mp-store-products-grid, .kemy-v692-products-grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1024px) {
  .km-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .km-shop-layout {
    grid-template-columns: 230px minmax(0, 1fr) !important;
  }

  .km-shop-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.woocommerce-cart .woocommerce-cart-form.km-cart-layout,
  .km-checkout-layout,
  .km-thankyou-grid {
    grid-template-columns: 1fr !important;
  }

  .km-cart-summary-sticky,
  .km-checkout-side {
    position: static !important;
  }

  body.woocommerce-account .km-account-layout {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-account .km-account-sidebar {
    position: static !important;
    overflow: hidden !important;
  }

  body.woocommerce-account .km-account-nav__head {
    display: none !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 7px !important;
    overflow-x: auto !important;
    scrollbar-width: none;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
    display: none;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li a {
    white-space: nowrap;
  }
}

@media (max-width: 820px) {
  .km-shop-layout {
    grid-template-columns: 1fr !important;
  }

  .km-shop-sidebar {
    width: min(340px, 88vw) !important;
    max-width: 88vw;
  }

  .km-shop-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .km-single-product-top,
  .km-single-lower-grid {
    grid-template-columns: 1fr !important;
  }

  .km-single-side-card {
    grid-column: auto;
  }

  .km-single-related-section ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.woocommerce-account .km-account-grid-2 {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-account .km-orders-compact-list {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) .km-container,
  .km-checkout-page > .km-container,
  .km-order-received-page > .km-container,
  body.woocommerce-cart .km-cart-page,
  body.woocommerce-account .km-account-page {
    width: min(100% - 20px, var(--km-content)) !important;
  }

  body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) .km-main > .km-container.km-panel {
    padding: 18px !important;
    border-radius: 18px;
  }

  body.woocommerce-cart .km-main > .km-container.km-panel,
  body.woocommerce-checkout .km-main > .km-container.km-panel,
  body.woocommerce-account .km-main > .km-container.km-panel {
    width: 100% !important;
    padding: 0 !important;
  }

  .km-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 24px 16px;
  }

  .km-footer__grid > div:first-child {
    grid-column: 1 / -1;
  }

  .km-product-row {
    grid-auto-columns: calc((100% - 10px) / 2) !important;
    gap: 10px !important;
  }

  .km-product-grid,
  .km-product-grid:not(.km-shop-product-grid):not(.km-tools-grid):not(.km-store-product-grid),
  .km-tools-grid,
  .km-v429-recently-viewed__grid,
  body:not(.page-template-template-seller-dashboard) ul.products,
  .km-single-related-section ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .km-product-card__body {
    padding: 10px !important;
  }

  .km-product-card__title {
    font-size: 13px !important;
  }

  .km-product-card__price,
  .km-price-now strong {
    font-size: 15px !important;
  }

  .km-shop-hero__content {
    min-height: 170px !important;
    padding: 20px !important;
  }

  .km-shop-hero h1 {
    font-size: clamp(28px, 9vw, 36px) !important;
  }

  .km-single-trust-grid {
    grid-template-columns: 1fr !important;
  }

  .km-cart-hero,
  .km-checkout-hero {
    align-items: flex-start !important;
    flex-direction: column !important;
    padding: 18px !important;
    border-radius: 18px !important;
  }

  .km-cart-steps {
    width: 100%;
    min-width: 0 !important;
    justify-content: flex-start !important;
    overflow-x: auto;
  }

  .km-cart-item {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 14px !important;
  }

  .km-cart-item__image img {
    width: 92px !important;
    height: 92px !important;
  }

  .km-cart-item__actions {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .km-cart-qty-wrap {
    grid-row: 2;
    grid-column: 1 / -1;
  }

  .km-cart-actions-row,
  .km-cart-card-head {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .km-cart-coupon,
  .km-cart-coupon > div,
  .km-cart-coupon input,
  .km-cart-update {
    width: 100% !important;
    min-width: 0 !important;
  }

  .km-checkout-card-head,
  .km-checkout-fields-grid,
  .km-checkout-order-summary,
  .km-checkout-payment-wrap {
    min-width: 0;
  }

  .km-checkout-fields-panel .woocommerce-billing-fields__field-wrapper,
  .km-checkout-fields-panel .woocommerce-shipping-fields__field-wrapper,
  .km-checkout-fields-panel .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr !important;
  }

  .km-order-received-page table.shop_table,
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.woocommerce-account .km-account-content,
  body.woocommerce-account .woocommerce-MyAccount-content.km-account-content {
    padding: 16px !important;
    border-radius: 18px !important;
  }

  body.woocommerce-account .km-account-welcome {
    grid-template-columns: 1fr auto !important;
    padding: 18px !important;
  }

  body.woocommerce-account .km-account-welcome__button {
    grid-column: 1 / -1 !important;
    width: 100%;
  }

  body.woocommerce-account .km-account-cards,
  body.woocommerce-account .km-auth-layout,
  body.woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-account .km-orders-compact-card__summary,
  body.woocommerce-account .km-orders-compact-card__footer {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.woocommerce-account .km-orders-compact-card__secondary {
    justify-items: start !important;
    text-align: left !important;
  }

  body.woocommerce-account .km-orders-compact-card__actions {
    justify-content: flex-start !important;
  }

  .km-support-grid,
  .km-help-grid,
  .km-form-grid {
    grid-template-columns: 1fr !important;
  }

  .km-policy-centre-nav > div {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .km-legal-page {
    font-size: 15px !important;
  }

  body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) :where(.km-store-product-grid, .km-v4403-product-grid, .km-v4404-store-product-grid, .kemy-mp-store-products-grid, .kemy-v692-products-grid),
  body.km-v4401-force-store-page ul.products,
  body.km-v4401-force-store-page .products,
  body.km-v4401-force-store-page .km-v4401-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

@media (max-width: 520px) {
  .km-header__inner {
    grid-template-columns: minmax(92px, 1fr) auto !important;
  }

  .km-header__actions {
    gap: 5px !important;
  }

  .km-header__actions .km-icon-action {
    width: 36px !important;
    height: 36px !important;
  }

  .km-track-action {
    display: none !important;
  }

  .km-search__category {
    display: none;
  }

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

  .km-footer__grid > div:first-child {
    grid-column: auto;
  }

  .km-cart-item {
    grid-template-columns: 76px minmax(0, 1fr) !important;
  }

  .km-cart-item__image img {
    width: 76px !important;
    height: 76px !important;
  }

  .km-cart-item__title-row {
    gap: 8px !important;
  }

  .km-cart-item h3 {
    font-size: 14px !important;
  }

  .km-cart-item__actions {
    grid-template-columns: 1fr !important;
  }

  .km-cart-qty-wrap {
    grid-row: auto;
    grid-column: auto;
  }

  .km-cart-subtotal-block {
    text-align: left !important;
  }

  body.woocommerce-account .km-account-welcome {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-account .km-account-welcome__art {
    display: none !important;
  }

  body.woocommerce-account .km-account-welcome__main {
    align-items: flex-start !important;
  }

  body.woocommerce-account .km-account-card,
  body.woocommerce-account .km-account-card--seller {
    grid-template-columns: 42px minmax(0, 1fr) 16px !important;
  }

  .km-policy-centre-nav > div {
    grid-template-columns: 1fr !important;
  }

  .km-policy-centre-nav a {
    justify-content: flex-start !important;
    text-align: left !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) *,
  body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) *::before,
  body:not(.page-template-template-seller-dashboard):not(.km-v441-seller-dashboard-page) *::after {
    scroll-behavior: auto !important;
  }
}
