/*
 * KATYA WEBER CERAMICS storefront skin.
 * Scoped to native commerce templates; it does not replace InSales widgets,
 * product forms, variant selection, cart handlers or outside widgets.
 */


body[data-kw-shop-template="true"] {
  --kw-shop-ink: #262625;
  --kw-shop-muted: #686865;
  --kw-shop-line: #2a2a27;
  --kw-shop-soft: #f6f6f3;
  --kw-shop-gutter: 48px;
  --kw-shop-max-width: 1280px;
  --bg: #ffffff;
  --color-btn-bg: #262625;
  --color-accent-text: #262625;
  --color-text-dark: #262625;
  --color-text-light: #ffffff;
  --controls-btn-border-radius: 0px;
  margin: 0;
  background: #ffffff;
  color: var(--kw-shop-ink);
  font-family: Arial, Helvetica, sans-serif;
}

body[data-kw-shop-template="true"] *,
body[data-kw-shop-template="true"] *::before,
body[data-kw-shop-template="true"] *::after {
  box-sizing: border-box;
}

body[data-kw-shop-template="true"] :where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--kw-shop-ink);
  outline-offset: 3px;
}

.kw-shop {
  min-height: 100vh;
  overflow-x: clip;
  background: #ffffff;
  color: var(--kw-shop-ink);
}

.kw-shop-container {
  width: min(calc(100% - var(--kw-shop-gutter) * 2), var(--kw-shop-max-width));
  margin-inline: auto;
}

.kw-shop-layout {
  min-height: 100vh;
  background: #ffffff;
}

.kw-shop-layout > :where(.kw-shop-header, .kw-shop-footer) {
  grid-column: 1 / -1;
  width: 100%;
}

.kw-shop-content,
.kw-shop-sidebar,
.kw-shop-section-top {
  min-width: 0;
}

.kw-shop-content {
  scroll-margin-block-start: 24px;
}

.kw-shop-skip-link {
  position: fixed;
  z-index: 10000;
  top: 12px;
  left: var(--kw-shop-gutter);
  padding: 10px 14px;
  border: 1px solid var(--kw-shop-line);
  background: #ffffff;
  color: var(--kw-shop-ink);
  font-size: 14px;
  line-height: 1.2;
  transform: translateY(-180%);
}

.kw-shop-skip-link:focus {
  transform: translateY(0);
}

.kw-shop-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.kw-shop-rule {
  display: block;
  width: 100%;
  height: 20px;
  object-fit: fill;
  opacity: 0.76;
}

/* Header */

.kw-shop-header {
  position: relative;
  z-index: 20;
  padding-block: 28px 8px;
  background: #ffffff;
}

.kw-shop-header__bar {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) auto auto;
  align-items: center;
  gap: 32px;
  min-height: 50px;
}

.kw-shop-wordmark {
  display: inline-flex;
  flex-direction: column;
  width: fit-content;
  color: var(--kw-shop-ink);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: 0.02em;
  text-decoration: none;
}

.kw-shop-wordmark__craft {
  font-size: 10px;
  letter-spacing: 0.21em;
}

.kw-shop-navigation__list {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.kw-shop-navigation a,
.kw-shop-footer a {
  color: var(--kw-shop-ink);
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.kw-shop-navigation a {
  font-size: 13px;
  line-height: 1.25;
}

.kw-shop-navigation a[aria-current="page"] {
  text-decoration-color: currentColor;
}

.kw-shop-menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 10px;
  border: 0;
  background: transparent;
  color: var(--kw-shop-ink);
  cursor: pointer;
}

.kw-shop-menu-toggle[hidden],
.kw-shop-navigation[hidden] {
  display: none !important;
}

.kw-shop-menu-toggle__icon {
  display: grid;
  gap: 5px;
}

.kw-shop-menu-toggle__icon span {
  display: block;
  width: 22px;
  height: 1px;
  background: currentColor;
  transition: transform 160ms ease, opacity 160ms ease;
}

.kw-shop--menu-open .kw-shop-menu-toggle__icon span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.kw-shop--menu-open .kw-shop-menu-toggle__icon span:nth-child(2) {
  opacity: 0;
}

.kw-shop--menu-open .kw-shop-menu-toggle__icon span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* Native widget presentation. Commerce behavior stays inside system widgets. */

.kw-shop-section-top,
.kw-shop-native,
.kw-shop-sidebar > section {
  color: var(--kw-shop-ink);
  font-family: Arial, Helvetica, sans-serif;
}

.kw-shop :where(h1, h2, h3, h4, p) {
  text-wrap: pretty;
}

.kw-shop :where(h1, h2, h3, h4) {
  color: var(--kw-shop-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  letter-spacing: -0.025em;
}

.kw-shop :where(a) {
  color: var(--kw-shop-ink);
}

.kw-shop-section-top {
  padding-block-start: 16px;
}

.kw-shop-native {
  min-width: 0;
  max-width: 100%;
  padding-block-end: 32px;
}

/* The cart, shared-cart and product recommendation widgets are rendered by
 * InSales after the shell.  Their rows contain long titles, prices and native
 * controls; allow those flex/grid children to shrink instead of widening the
 * page or covering neighbouring controls. */
.kw-shop-native--cart,
.kw-shop-native--shared-cart,
.kw-shop-native--favorite {
  min-width: 0;
  max-width: 100%;
}

.kw-shop-native--cart :where(
  [data-cart-item],
  [class*="cart-item"],
  [class*="cart__"],
  [class*="cart-"],
  [class*="quantity"],
  [class*="counter"],
  [class*="remove"],
  [class*="delete"],
  [class*="recommend"],
  [class*="related"],
  [class*="similar"]
),
.kw-shop-native--shared-cart :where(
  [data-cart-item],
  [class*="cart-item"],
  [class*="cart__"],
  [class*="cart-"],
  [class*="quantity"],
  [class*="counter"],
  [class*="remove"],
  [class*="delete"]
) {
  min-width: 0;
  max-width: 100%;
}

.kw-shop-native--cart :where(
  [class*="title"],
  [class*="name"],
  [class*="description"],
  [class*="price"],
  [class*="total"],
  [class*="summary"]
),
.kw-shop-native--shared-cart :where(
  [class*="title"],
  [class*="name"],
  [class*="description"],
  [class*="price"],
  [class*="total"],
  [class*="summary"]
) {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Cart actions are injected by the native widget. Keep the favorite control
 * and removal link as separate tap targets when the row becomes narrow. */
.kw-shop-native--cart .widget-type_system_widget_v4_cart_2 .item-delete {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}

.kw-shop-native--cart .widget-type_system_widget_v4_cart_2 .item-delete > :where(a, button, [role="button"]) {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
}

@media (min-width: 551px) {
  .kw-shop-native--cart .widget-type_system_widget_v4_cart_2 .cart-item .item-delete {
    grid-column: 2 / 4;
  }
}

.kw-shop-native :where([data-product-card], [class*="product-card"]) {
  color: var(--kw-shop-ink);
}

.kw-shop-native :where([data-product-card], [class*="product-card"]) img {
  background: var(--kw-shop-soft);
}

.kw-shop-native :where([data-product-card-price], [data-product-card-sku]) {
  font-variant-numeric: tabular-nums;
}

.kw-shop-native :where([data-item-add], button[type="submit"], input[type="submit"], .button) {
  min-height: 44px;
  border-radius: 0;
}

body[data-kw-shop-template="true"] :where([data-item-add], button[type="submit"], input[type="submit"], .button) {
  border-color: var(--kw-shop-line);
  border-radius: 0;
}

body[data-kw-shop-template="true"] :where(
  .kw-shop-native .add-cart-counter__btn,
  .kw-shop-native .add-cart-counter__controls-btn,
  .kw-shop-native [data-item-add],
  .kw-shop-native button[type="submit"],
  .kw-shop-native input[type="submit"],
  .kw-shop-native a.button,
  .kw-shop-native button.button
) {
  border: 1px solid var(--kw-shop-line) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  color: var(--kw-shop-ink) !important;
  transition: background-color 140ms ease, color 140ms ease;
}

body[data-kw-shop-template="true"] :where(
  .product-preview__compare-btn,
  [data-compare-trigger],
  .navigation-bar__item-compare
) {
  display: none !important;
}

body[data-kw-shop-template="true"] .favorites_btn {
  min-width: 44px;
  min-height: 44px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--kw-shop-ink) !important;
  opacity: 0.72;
}

body[data-kw-shop-template="true"] .favorites_btn.favorites-added,
body[data-kw-shop-template="true"] .favorites_btn:hover,
body[data-kw-shop-template="true"] .favorites_btn:focus-visible {
  opacity: 1;
}

body[data-kw-shop-template="true"] :where(.noUi-target, .noUi-base, .noUi-connects) {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body[data-kw-shop-template="true"] .noUi-target,
body[data-kw-shop-template="true"] .noUi-connects {
  background: #dfdfda !important;
}

body[data-kw-shop-template="true"] .noUi-connect {
  background: var(--kw-shop-ink) !important;
}

body[data-kw-shop-template="true"] .noUi-handle {
  border: 1px solid var(--kw-shop-line) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: none !important;
  color: var(--kw-shop-ink) !important;
}

body[data-kw-shop-template="true"] .noUi-handle::before,
body[data-kw-shop-template="true"] .noUi-handle::after {
  display: none !important;
}

body[data-kw-shop-template="true"] :where(.navigation-bar__bage, [data-ui-cart-counter]) {
  background: var(--kw-shop-ink) !important;
  color: #ffffff !important;
}

.kw-shop-native :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.outside-widgets :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: 44px;
  border-radius: 0;
}

.kw-shop-native [data-product-variants] {
  color: var(--kw-shop-ink);
}

/* Product imagery/title keep their native links and controls keep their own
 * actions. Clicking the remaining blank card area follows the same product. */
.kw-shop-native .product-preview {
  cursor: pointer;
}

.kw-shop-native .product-preview :where(a, button, input, select, textarea, label, [role="button"]) {
  cursor: pointer;
}

.kw-shop--load-more-ready .kw-shop-native--collection .widget-type_system_widget_v4_pagination_3 {
  display: none !important;
}

.kw-catalog-load-more {
  display: flex;
  justify-content: center;
  padding: 30px var(--kw-shop-gutter) 56px;
}

.kw-catalog-load-more[hidden] {
  display: none !important;
}

.kw-catalog-load-more__button {
  position: relative;
  min-width: 190px;
}

.kw-catalog-load-more__button[hidden] {
  display: none !important;
}

.kw-catalog-load-more__button.is-loading {
  padding-right: 46px;
  cursor: wait;
}

.kw-catalog-load-more__button.is-loading::after {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 14px;
  height: 14px;
  margin-top: -7px;
  border: 1px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: kw-shop-load-more-spin 650ms linear infinite;
  content: "";
}

@keyframes kw-shop-load-more-spin {
  to { transform: rotate(360deg); }
}

body[data-theme-template="favorite"] .product-preview__area-title,
body[data-theme-template="favorite"] .product-preview__title,
body[data-theme-template="favorite"] .product-preview__price {
  min-width: 0;
  overflow-wrap: anywhere;
}

body[data-theme-template="favorite"] .product-preview__area-bottom,
body[data-theme-template="favorite"] .product-preview__controls,
body[data-theme-template="favorite"] .product-preview__controls-left {
  min-width: 0;
}

body[data-theme-template="favorite"] .favorites_btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  margin: 0 !important;
}

@media (max-width: 430px) {
  body[data-theme-template="favorite"] .kw-shop-native--favorite :where(
    .grid-list__item,
    [data-product-card],
    [data-ajax-products-list-item],
    [data-ajax-products-list-item-form],
    .product-preview
  ) {
    min-width: 0;
    max-width: 100%;
  }
}

/* Catalog hierarchy comes from native InSales collections. Empty leaves,
 * including the reserved discount section, are not shown. */

.kw-collection-navigation {
  padding-block: 28px 44px;
}

.kw-collection-navigation__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  margin: 16px 0 0;
  border-top: 1px solid color-mix(in srgb, var(--kw-shop-line) 55%, transparent);
  list-style: none;
}

.kw-collection-navigation__item {
  min-width: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--kw-shop-line) 55%, transparent);
}

.kw-collection-navigation__link {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  min-height: 64px;
  padding: 20px 16px 18px 0;
  color: var(--kw-shop-ink);
  font-size: 16px;
  line-height: 1.35;
  text-decoration: none;
}

.kw-collection-navigation__count {
  color: var(--kw-shop-muted);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

/* Native widgets own price, variants, stock and cart submission. This block
 * only explains the handmade variation and the catalog policy around repeats. */

.kw-product-craft-note {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, 0.55fr);
  gap: clamp(40px, 7vw, 96px);
  padding-block: 48px 64px;
  border-top: 1px solid color-mix(in srgb, var(--kw-shop-line) 55%, transparent);
}

.kw-product-craft-note h2 {
  max-width: 620px;
  margin: 12px 0 18px;
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1;
}

.kw-product-craft-note__copy > p:not(.kw-shop-eyebrow),
.kw-product-repeatable {
  max-width: 620px;
  margin: 0;
  color: var(--kw-shop-muted);
  font-size: 15px;
  line-height: 1.55;
}

.kw-product-craft-note__status {
  align-self: end;
  padding-top: 12px;
}

.kw-product-status {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.35;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kw-product-status--available::before,
.kw-product-status--sold-out::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 9px;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

.kw-product-craft-note__status .kw-shop-button,
.kw-product-craft-note__status .kw-shop-text-link {
  margin-top: 22px;
}

.kw-shop-sidebar > section {
  border-top: 1px solid color-mix(in srgb, var(--kw-shop-line) 55%, transparent);
}

/* Empty catalog fallback is public-only; editor keeps the native empty widget. */

.kw-shop-empty {
  width: min(calc(100% - var(--kw-shop-gutter) * 2), 760px);
  margin: 64px auto 96px;
  text-align: center;
}

.kw-shop-empty h2 {
  margin: 12px 0 22px;
  font-size: clamp(36px, 5vw, 68px);
  line-height: 0.98;
}

.kw-shop-empty > p:not(.kw-shop-eyebrow) {
  max-width: 530px;
  margin: 0 auto;
  color: var(--kw-shop-muted);
  font-size: 17px;
  line-height: 1.55;
}

.kw-shop-eyebrow {
  margin: 0;
  color: var(--kw-shop-muted);
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.kw-shop-empty__actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin-top: 32px;
}

/* A parent collection is a navigation page, not an empty search result. */
body[data-kw-shop-template="true"] .kw-shop-native--has-subcollections .empty-catalog-message {
  display: none;
}

.kw-shop-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 11px 24px;
  border: 1px solid var(--kw-shop-line);
  background: transparent;
  color: var(--kw-shop-ink);
  font-size: 13px;
  line-height: 1.2;
  text-decoration: none;
}

.kw-shop-text-link {
  color: var(--kw-shop-ink);
  font-size: 13px;
  line-height: 1.2;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

/* Footer */

.kw-shop-footer {
  padding-block: 22px 40px;
  background: #ffffff;
}

.kw-shop-footer__grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.5fr) 1fr minmax(190px, 0.8fr);
  gap: 48px;
  padding-top: 34px;
}

.kw-shop-wordmark--footer {
  display: inline-block;
  font-size: 15px;
  letter-spacing: 0.025em;
}

.kw-shop-footer__description,
.kw-shop-footer__contacts p {
  margin: 14px 0 0;
  color: var(--kw-shop-muted);
  font-size: 13px;
  line-height: 1.45;
}

.kw-shop-footer__navigation,
.kw-shop-footer__contacts {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  line-height: 1.35;
}

.kw-shop-footer__contacts[hidden] {
  display: none !important;
}

.kw-shop-footer__contacts p {
  margin: 0 0 2px;
}

.kw-shop-footer__social-list {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.kw-shop-footer .kw-legal-links {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  font-size: 12px;
  line-height: 1.35;
}

.kw-shop-footer .kw-legal-links a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 32px;
  color: var(--kw-shop-muted);
}

@media (hover: hover) {
  .kw-shop-navigation a:hover,
  .kw-shop-footer a:hover {
    text-decoration-color: currentColor;
  }

  .kw-shop-button:hover,
  body[data-kw-shop-template="true"] [data-item-add]:hover,
  body[data-kw-shop-template="true"] .kw-shop-native .add-cart-counter__btn:hover,
  body[data-kw-shop-template="true"] .kw-shop-native .add-cart-counter__controls-btn:hover,
  body[data-kw-shop-template="true"] .kw-shop-native button[type="submit"]:hover,
  body[data-kw-shop-template="true"] .kw-shop-native input[type="submit"]:hover,
  body[data-kw-shop-template="true"] .kw-shop-native a.button:hover,
  body[data-kw-shop-template="true"] .kw-shop-native button.button:hover {
    background: var(--kw-shop-ink) !important;
    color: #ffffff !important;
  }
}

body[data-kw-shop-template="true"] :where(
  .kw-shop-native .add-cart-counter__btn,
  .kw-shop-native .add-cart-counter__controls-btn,
  .kw-shop-native [data-item-add],
  .kw-shop-native button[type="submit"],
  .kw-shop-native input[type="submit"],
  .kw-shop-native a.button,
  .kw-shop-native button.button
):focus-visible {
  background: var(--kw-shop-ink) !important;
  color: #ffffff !important;
}

body[data-kw-shop-template="true"] :where(
  .kw-shop-native .add-cart-counter__btn,
  .kw-shop-native .add-cart-counter__controls-btn,
  .kw-shop-native [data-item-add],
  .kw-shop-native button[type="submit"],
  .kw-shop-native input[type="submit"],
  .kw-shop-native a.button,
  .kw-shop-native button.button
):active {
  background: #ecece8 !important;
  color: var(--kw-shop-ink) !important;
}

@media (max-width: 1023px) {
  body[data-kw-shop-template="true"] {
    --kw-shop-gutter: 36px;
  }

  .kw-shop-header__bar {
    gap: 20px;
  }

  .kw-shop-navigation__list {
    gap: 20px;
  }

  .kw-shop-footer__grid {
    gap: 32px;
  }

  .kw-collection-navigation__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 759px) {
  body[data-kw-shop-template="true"] {
    --kw-shop-gutter: 24px;
  }

  .kw-shop-header {
    padding-block-start: 18px;
  }

  .kw-shop-header__bar {
    position: relative;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 4px;
  }

  .kw-shop-menu-toggle {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  .kw-shop-wordmark {
    grid-column: 2;
    grid-row: 1;
    font-size: 15px;
  }

  .kw-shop-wordmark__craft {
    font-size: 9px;
  }

  .kw-shop--enhanced .kw-shop-menu-toggle {
    display: inline-flex;
    justify-content: center;
    align-items: center;
  }

  .kw-shop-navigation {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    padding-block: 12px 6px;
  }

  .kw-shop-navigation__list {
    display: grid;
    gap: 0;
  }

  .kw-shop-navigation a {
    display: flex;
    align-items: center;
    min-height: 44px;
    border-top: 1px solid color-mix(in srgb, var(--kw-shop-line) 40%, transparent);
    font-size: 15px;
  }

  .kw-shop-header .kw-header-utilities {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }

  .kw-shop-empty {
    margin-block: 48px 72px;
  }

  .kw-shop-empty__actions {
    flex-direction: column;
    gap: 16px;
  }

  .kw-collection-navigation {
    padding-block: 18px 34px;
  }

  .kw-collection-navigation__list {
    grid-template-columns: 1fr;
  }

  .kw-collection-navigation__link {
    min-height: 56px;
    padding-block: 16px;
  }

  .kw-product-craft-note {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-block: 38px 50px;
  }

  .kw-product-craft-note__status {
    align-self: auto;
    padding-top: 0;
  }

  .kw-shop-button {
    width: 100%;
    max-width: 320px;
  }

  .kw-shop-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px 24px;
    padding-top: 26px;
  }

  .kw-shop-footer__grid > :first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 399px) {
  body[data-kw-shop-template="true"] {
    --kw-shop-gutter: 16px;
  }

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

  .kw-shop-footer__grid > :first-child {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kw-shop *,
  .kw-shop *::before,
  .kw-shop *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* --------------------------------------------------------------------------
 * Design Lab v1 — Editorial Craft commerce pilot
 *
 * Native Generation 4 widgets remain the source of truth.  These rules are
 * intentionally scoped to the isolated Design Lab theme and only reshape the
 * catalog, product, favorites and cart surfaces.
 * ----------------------------------------------------------------------- */

body[data-kw-design-lab="v1"][data-kw-shop-template="true"] {
  --kw-shop-ink: var(--kwdl-ink, #252522);
  --kw-shop-muted: var(--kwdl-muted, #706d67);
  --kw-shop-line: var(--kwdl-line-strong, #aba59c);
  --kw-shop-soft: var(--kwdl-paper, #f5f2ed);
  --kw-shop-gutter: var(--kwdl-gutter, clamp(1rem, 3.5vw, 4.5rem));
  --kw-shop-max-width: var(--kwdl-max, 1440px);
  --kw-commerce-line: var(--kwdl-line, #d8d3cb);
  --kw-commerce-red: var(--kwdl-heart, #b64a43);
  --kw-commerce-danger: var(--kwdl-danger, #8b342f);
  --kw-commerce-radius-control: var(--kwdl-radius-control, 8px);
  --kw-commerce-radius-panel: var(--kwdl-radius-panel, 14px);
  --kw-commerce-fast: var(--kwdl-motion-fast, 180ms);
  --kw-commerce-ease: var(--kwdl-ease, cubic-bezier(0.22, 1, 0.36, 1));
  --controls-btn-border-radius: var(--kw-commerce-radius-control);
  background: var(--kwdl-porcelain, #fcfbf8);
  color: var(--kw-shop-ink);
  font-family: var(--kwdl-font-sans, Arial, Helvetica, sans-serif);
}

body[data-kw-design-lab="v1"][data-kw-shop-template="true"] .kw-shop-layout,
body[data-kw-design-lab="v1"][data-kw-shop-template="true"] .kw-shop-content,
body[data-kw-design-lab="v1"][data-kw-shop-template="true"] .kw-shop-native {
  background: var(--kwdl-porcelain, #fcfbf8);
}

/* Native catalog widgets own their background independently of the shell.
   Match only the two verified surface wrappers, not product images or inputs. */
body[data-kw-design-lab="v1"] .kw-shop-native--collection > .layout.widget-type_system_widget_v4_catalog_4,
body[data-kw-design-lab="v1"] .kw-shop-native--collection > .layout.widget-type_system_widget_v4_catalog_4 > .layout__content,
body[data-kw-design-lab="v1"] .kw-shop-native--favorite > .layout.widget-type_system_widget_v4_catalog_4,
body[data-kw-design-lab="v1"] .kw-shop-native--favorite > .layout.widget-type_system_widget_v4_catalog_4 > .layout__content {
  --bg: var(--kwdl-porcelain, #fcfbf8);
  background-color: var(--kwdl-porcelain, #fcfbf8);
}

/* Breadcrumbs live outside the main catalog panel and have a native white fill. */
body[data-kw-design-lab="v1"]:is([data-theme-template="collection"], [data-theme-template="product"]) .kw-shop-layout .layout.widget-type_system_widget_v4_breadcrumbs_1,
body[data-kw-design-lab="v1"]:is([data-theme-template="collection"], [data-theme-template="product"]) .kw-shop-layout .layout.widget-type_system_widget_v4_breadcrumbs_1 > .layout__content {
  --bg: var(--kwdl-porcelain, #fcfbf8);
  background-color: var(--kwdl-porcelain, #fcfbf8);
}

/* Product and cart widgets retain their own white surface defaults too.
   Change only their outer panels and direct content wrappers. */
body[data-kw-design-lab="v1"] .kw-shop-native--product > :is(
  .layout.widget-type_system_widget_v4_product_1,
  .layout.widget-type_system_widget_v4_product_info_2,
  .layout.widget-type_system_widget_v4_products_related_5,
  .layout.widget-type_system_widget_v4_products_similar_5
),
body[data-kw-design-lab="v1"] .kw-shop-native--product > :is(
  .layout.widget-type_system_widget_v4_product_1,
  .layout.widget-type_system_widget_v4_product_info_2,
  .layout.widget-type_system_widget_v4_products_related_5,
  .layout.widget-type_system_widget_v4_products_similar_5
) > .layout__content,
body[data-kw-design-lab="v1"] .kw-shop-native--cart > :is(
  .layout.widget-type_system_widget_v4_back_to_catalog,
  .layout.widget-type_system_widget_v4_cart_2,
  .layout.widget-type_system_widget_v4_special_products_6
),
body[data-kw-design-lab="v1"] .kw-shop-native--cart > :is(
  .layout.widget-type_system_widget_v4_back_to_catalog,
  .layout.widget-type_system_widget_v4_cart_2,
  .layout.widget-type_system_widget_v4_special_products_6
) > .layout__content {
  --bg: var(--kwdl-porcelain, #fcfbf8);
  background-color: var(--kwdl-porcelain, #fcfbf8);
}

body[data-kw-design-lab="v1"][data-kw-shop-template="true"] .kw-shop-native {
  padding-block-end: clamp(3rem, 7vw, 7.5rem);
}

body[data-kw-design-lab="v1"][data-kw-shop-template="true"] :where(
  .kw-shop-native input:not([type="checkbox"]):not([type="radio"]),
  .kw-shop-native select,
  .kw-shop-native textarea
) {
  min-height: 46px;
  border: 1px solid var(--kw-commerce-line);
  border-radius: var(--kw-commerce-radius-control);
  background: var(--kwdl-white, #ffffff);
  box-shadow: none;
  color: var(--kw-shop-ink);
  font: inherit;
}

body[data-kw-design-lab="v1"][data-kw-shop-template="true"] :where(
  .kw-shop-native input:not([type="checkbox"]):not([type="radio"]),
  .kw-shop-native select,
  .kw-shop-native textarea
):focus {
  border-color: var(--kw-shop-ink);
  box-shadow: 0 0 0 3px rgb(37 37 34 / 0.08);
}

body[data-kw-design-lab="v1"][data-kw-shop-template="true"] :where(
  .kw-shop-native button,
  .kw-shop-native .button,
  .kw-shop-native [role="button"]
) {
  min-height: 44px;
  border-radius: var(--kw-commerce-radius-control) !important;
  font: inherit;
  touch-action: manipulation;
}

body[data-kw-design-lab="v1"][data-kw-shop-template="true"] :where(
  .kw-shop-native button,
  .kw-shop-native .button,
  .kw-shop-native [role="button"]
)[disabled],
body[data-kw-design-lab="v1"][data-kw-shop-template="true"] :where(
  .kw-shop-native button,
  .kw-shop-native .button,
  .kw-shop-native [role="button"]
)[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.45;
}

body[data-kw-design-lab="v1"][data-kw-shop-template="true"] [data-fixed-panels="bottom"] .widget-type_system_widget_v4_bottom_navigation_bar_1 {
  display: none !important;
}

.kw-commerce-masthead {
  padding-block: clamp(2.5rem, 5vw, 5.25rem) clamp(2rem, 4vw, 4rem);
}

.kw-commerce-masthead h1 {
  max-width: 11ch;
  margin: 0.3em 0 0;
  color: var(--kw-shop-ink);
  font-size: var(--kwdl-text-h1, clamp(2.45rem, 4.4vw, 5rem));
  font-weight: 400;
  line-height: var(--kwdl-leading-tight, 0.96);
  letter-spacing: -0.045em;
}

.kw-commerce-masthead__lede {
  max-width: 35rem;
  margin: 1.35rem 0 0;
  color: var(--kw-shop-muted);
  font-size: var(--kwdl-text-body-lg, clamp(1.075rem, 1.2vw, 1.3rem));
  line-height: 1.5;
}

/* Catalog masthead, category navigation and native product cards. */

body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-shop-native--collection > .widget-type_system_widget_v4_page_title_1,
body[data-kw-design-lab="v1"][data-theme-template="favorite"] .kw-shop-native--favorite > .widget-type_system_widget_v4_page_title_1 {
  display: none !important;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-shop-section-top .widget-type_system_widget_v4_page_title_1 {
  display: none !important;
}

.kw-catalog-masthead {
  padding-block-end: clamp(2.25rem, 4vw, 4.25rem);
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-collection-navigation {
  padding-block: 0 clamp(3rem, 5vw, 5rem);
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-collection-navigation__list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 1.5rem;
  margin-top: 1.25rem;
  border-color: var(--kw-commerce-line);
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-collection-navigation__item {
  border-color: var(--kw-commerce-line);
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-collection-navigation__link {
  position: relative;
  min-height: 70px;
  padding: 1.25rem 2rem 1.15rem 0;
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  transition: color var(--kw-commerce-fast) ease;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-collection-navigation__link::after {
  position: absolute;
  top: 50%;
  right: 0;
  font-size: 1rem;
  line-height: 1;
  transform: translateY(-50%);
  content: "↗";
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-collection-navigation__count {
  margin-left: auto;
  padding-right: 0.85rem;
  font-size: var(--kwdl-text-caption, 0.75rem);
}

body[data-kw-design-lab="v1"] :where(
  .kw-shop-native--collection,
  .kw-shop-native--favorite,
  .kw-shop-native--cart
) .widget-type_system_widget_v4_catalog_4 > .layout__content,
body[data-kw-design-lab="v1"] .kw-shop-native--cart .widget-type_system_widget_v4_special_products_6 > .layout__content,
body[data-kw-design-lab="v1"] .kw-shop-native--product :where(
  .widget-type_system_widget_v4_products_related_5,
  .widget-type_system_widget_v4_products_similar_5
) > .layout__content {
  width: 100%;
  max-width: none;
  padding-inline: var(--kw-shop-gutter);
}

body[data-kw-design-lab="v1"] :where(
  .kw-shop-native--collection,
  .kw-shop-native--favorite
) .catalog-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(2.75rem, 4.5vw, 5rem) clamp(1rem, 2vw, 2rem) !important;
  align-items: stretch;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview {
  position: relative;
  min-width: 0;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--kw-shop-ink);
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__content {
  position: relative;
  display: grid;
  grid-template-rows: auto auto auto;
  min-width: 0;
  height: 100%;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__area-photo,
body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__photo,
body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__photo > .img-ratio {
  min-width: 0;
  overflow: hidden;
  border-radius: var(--kwdl-radius-media, 2px);
  background: var(--kw-shop-soft);
}

body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-gallery .product-preview__photo .img-ratio__inner > a[href] {
  display: block;
  touch-action: pan-y pinch-zoom;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__photo > .img-ratio {
  border: 1px solid rgb(37 37 34 / 0.035);
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__available {
  position: absolute;
  z-index: 2;
  top: auto;
  right: auto;
  bottom: 0.75rem;
  left: 0.75rem;
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: calc(100% - 1.5rem);
  height: auto;
  min-height: 28px;
  padding: 0.35rem 0.65rem;
  border: 1px solid rgb(37 37 34 / 0.12);
  border-radius: var(--kwdl-radius-pill, 999px);
  background: var(--kwdl-porcelain, #fcfbf8);
  color: var(--kw-shop-ink);
  font-size: 0.6875rem;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__area-title {
  min-width: 0;
  padding-top: 1rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__title {
  min-width: 0;
  margin: 0;
  font-size: clamp(0.95rem, 1.1vw, 1.08rem);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.015em;
  overflow-wrap: anywhere;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__title a {
  color: var(--kw-shop-ink);
  text-decoration: none;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__area-description {
  display: none;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__area-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  padding-top: 0.55rem;
}

/* This link is deliberately outside native buy controls, which InSales hides
   for unavailable products. Let it wrap independently of the price column. */
body[data-kw-design-lab="v1"] .product-preview__area-bottom > .kw-card-repeat-link.kw-shop-text-link {
  grid-area: action;
  grid-column: 1 / -1;
  justify-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--kw-commerce-line);
  border-radius: var(--kw-commerce-radius-control);
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__price {
  min-width: 0;
  color: var(--kw-shop-ink);
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.25;
  white-space: nowrap;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__controls {
  display: flex;
  align-items: center;
  min-width: 0;
  margin: 0;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__controls-left {
  position: absolute;
  z-index: 3;
  top: 0.75rem;
  right: 0.75rem;
  min-width: 44px;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview .favorites_btn {
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0 !important;
  border: 1px solid rgb(37 37 34 / 0.13) !important;
  border-radius: var(--kwdl-radius-pill, 999px) !important;
  background: var(--kwdl-porcelain, #fcfbf8) !important;
  color: var(--kw-shop-ink) !important;
  cursor: pointer;
  opacity: 1;
  transition: color var(--kw-commerce-fast) ease, border-color var(--kw-commerce-fast) ease, background-color var(--kw-commerce-fast) ease;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview .favorites_btn.favorites-added {
  border-color: rgb(182 74 67 / 0.35) !important;
  background: var(--kwdl-porcelain, #fcfbf8) !important;
  color: var(--kw-commerce-red) !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview .add-cart-counter {
  min-width: 44px;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview .add-cart-counter__btn,
body[data-kw-design-lab="v1"] .kw-shop-native .product-preview .add-cart-counter__controls-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0.55rem 0.75rem !important;
  border: 1px solid var(--kw-commerce-line) !important;
  border-radius: var(--kw-commerce-radius-control) !important;
  background: transparent !important;
  color: var(--kw-shop-ink) !important;
  box-shadow: none !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview .add-cart-counter__controls-btn {
  max-width: 9rem;
  font-size: 0.75rem;
  white-space: nowrap;
}

body[data-kw-design-lab="v1"] .kw-shop-native .stickers {
  z-index: 2;
}

body[data-kw-design-lab="v1"] .kw-shop-native :where(.sticker, .sticker-preorder, .sticker-sale) {
  border-radius: var(--kwdl-radius-pill, 999px);
  background: var(--kw-shop-ink) !important;
  color: var(--kwdl-white, #ffffff) !important;
  box-shadow: none;
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.kw-catalog-load-more {
  position: relative;
  padding-block: clamp(3rem, 6vw, 6rem);
}

body[data-kw-design-lab="v1"] .kw-catalog-load-more::before {
  position: absolute;
  top: 50%;
  right: calc(50% + 8.5rem);
  left: var(--kw-shop-gutter);
  height: 1px;
  background: var(--kw-commerce-line);
  content: "";
}

body[data-kw-design-lab="v1"] .kw-catalog-load-more__button {
  z-index: 1;
  min-width: 13.5rem;
  min-height: 48px;
  padding-inline: 1.5rem;
  border: 1px solid var(--kw-shop-ink);
  border-radius: var(--kw-commerce-radius-control);
  background: var(--kwdl-porcelain, #fcfbf8);
  color: var(--kw-shop-ink);
}

/* Compact native catalog controls. The InSales fields and filter events stay intact. */

body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-shop-sidebar {
  align-self: start;
  width: min(100%, 19rem);
  min-width: 0;
  padding: 0 0 clamp(4rem, 7vw, 7rem);
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-shop-sidebar > section {
  position: sticky;
  top: 1.25rem;
  padding: 0;
  border: 1px solid var(--kw-commerce-line);
  border-radius: var(--kw-commerce-radius-panel);
  background: var(--kwdl-porcelain, #fcfbf8);
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-shop-sidebar :where(
  .widget-type_system_widget_v4_sidebar_filter_2,
  .layout,
  .layout__content
) {
  min-width: 0;
  max-width: 100%;
  padding: 0 !important;
  margin: 0;
  background: transparent !important;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter {
  width: 100%;
  min-width: 0;
  color: var(--kw-shop-ink);
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter__head {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  min-height: 58px;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--kw-commerce-line);
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter__head-title {
  display: block !important;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.01em;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] :where(
  .filter__head-reset,
  .filter .js-reset-filter,
  .filter [data-kw-filter-reset]
) {
  min-height: 44px;
  padding: 0.5rem 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--kw-shop-muted) !important;
  font-size: 0.75rem;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  cursor: pointer;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter__hide-mobile-filter-btn {
  display: none;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-item {
  min-width: 0;
  padding-block: 0;
  border-bottom: 1px solid var(--kw-commerce-line);
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-item:last-child {
  border-bottom: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-item__head {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  min-height: 52px;
  padding: 0.75rem 2.5rem 0.75rem 1rem;
  color: var(--kw-shop-ink);
  font-size: 0.8125rem;
  line-height: 1.35;
  cursor: pointer;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-item__head::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 0.55rem;
  height: 0.55rem;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  content: "";
  transform: translateY(-68%) rotate(45deg);
  transition: transform var(--kw-commerce-fast) var(--kw-commerce-ease);
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-item__head > .icon-angle-down {
  display: none !important;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-item.is-show > .filter-item__head::after {
  transform: translateY(-30%) rotate(225deg);
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-item__content {
  min-width: 0;
  padding: 0 1rem 1rem;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-options-list {
  display: grid;
  gap: 0.25rem;
  padding: 0;
  margin: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-option {
  position: relative;
  display: block;
  min-width: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-option__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  min-height: 44px;
  padding: 0.5rem 0;
  color: var(--kw-shop-muted);
  font-size: 0.8125rem;
  line-height: 1.3;
  cursor: pointer;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-option :where(input[type="checkbox"], input[type="radio"]) {
  width: 18px;
  min-width: 18px;
  height: 18px;
  margin: 0 0.65rem 0 0;
  border-color: var(--kw-commerce-line);
  accent-color: var(--kw-shop-ink);
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-option :where(input[type="checkbox"], input[type="radio"]):checked + .filter-option__content {
  color: var(--kw-shop-ink);
  font-weight: 500;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-option__counter {
  margin-left: auto;
  color: var(--kw-shop-muted);
  font-size: 0.6875rem;
  font-variant-numeric: tabular-nums;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-range {
  min-width: 0;
  padding: 0.25rem 0.4rem 0.5rem;
  margin: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-range__fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.5rem;
  margin-bottom: 1rem;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-range__values {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 0.75rem minmax(0, 1fr);
  align-items: end;
  gap: 0.4rem;
  min-width: 0;
  margin-bottom: 1rem;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-range__values-item {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-range__values-label {
  position: static !important;
  display: block;
  margin-bottom: 0.3rem;
  color: var(--kw-shop-muted);
  font-size: 0.6875rem;
  line-height: 1.2;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-range__values > .delimeter {
  width: auto;
  align-self: end;
  padding-bottom: 0.7rem;
  color: var(--kw-shop-muted);
  font-size: 0.75rem;
  line-height: 1;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-range input {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding-inline: 0.65rem;
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] :where(.noUi-target, .noUi-base, .noUi-connects) {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .noUi-target {
  height: 2px;
  margin-block: 1.25rem;
  background: var(--kw-commerce-line) !important;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .noUi-connect {
  background: var(--kw-shop-ink) !important;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .noUi-handle {
  top: -9px !important;
  width: 20px !important;
  height: 20px !important;
  border: 1px solid var(--kw-shop-ink) !important;
  background: var(--kwdl-porcelain, #fcfbf8) !important;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter__controls {
  display: grid !important;
  gap: 0.5rem;
  padding: 1rem;
  border-top: 1px solid var(--kw-commerce-line);
  background: var(--kwdl-porcelain, #fcfbf8);
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter__controls :where(button, .button, input[type="submit"]) {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--kw-shop-ink) !important;
  border-radius: var(--kw-commerce-radius-control) !important;
  background: var(--kw-shop-ink) !important;
  color: var(--kwdl-white, #ffffff) !important;
  box-shadow: none !important;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .collection-sort {
  display: flex;
  justify-content: stretch;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  max-width: none;
  padding: 1rem;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .collection-sort :is(.collection-order-wrapper, .collection-order, .select-wrapper) {
  width: 100%;
  min-width: 0;
  margin: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .collection-sort :where(.form-control, select) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  padding: 0.65rem 2.4rem 0.65rem 0.8rem;
  border-color: var(--kw-commerce-line);
  background-color: var(--kwdl-porcelain, #fcfbf8);
  color: var(--kw-shop-ink);
  font-size: 0.8125rem;
}

body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-mobile-controls {
  display: none;
}

.kw-filter-backdrop {
  display: none;
}

/* Product: image-led native gallery and one clear native purchase hierarchy. */

body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-shop-native--product > :where(
  .widget-type_system_widget_v4_product_1,
  .widget-type_system_widget_v4_product_info_2,
  .widget-type_system_widget_v4_products_related_5,
  .widget-type_system_widget_v4_products_similar_5
) > .layout__content {
  width: 100%;
  max-width: none;
  padding-inline: var(--kw-shop-gutter);
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .widget-type_system_widget_v4_product_1 {
  padding-block: clamp(2rem, 4vw, 4rem) clamp(3.5rem, 7vw, 7rem);
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product {
  display: grid !important;
  grid-template-columns: minmax(0, 1.32fr) minmax(20rem, 0.68fr);
  grid-template-areas:
    "photo title"
    "photo user-controls"
    "photo variants"
    "photo buy"
    "photo sku"
    "photo description"
    "photo calculate-delivery";
  align-items: start;
  column-gap: clamp(2.5rem, 6vw, 7.5rem);
  row-gap: 0;
  min-width: 0;
  max-width: var(--kw-shop-max-width);
  margin-inline: auto;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__area-photo {
  grid-area: photo;
  min-width: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__area-sku {
  grid-area: sku;
  min-width: 0;
  margin: 0.75rem 0 1rem;
  color: var(--kw-shop-muted);
  font-size: 0.6875rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* No submitted rating is not a zero-star judgement of the piece. */
body[data-kw-design-lab="v1"][data-theme-template="product"] .product__rating[data-rating=""] {
  display: none !important;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__area-title {
  grid-area: title;
  min-width: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] :where(.product__area-user-controls, .product__area-controls) {
  grid-area: user-controls;
  min-width: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__area-variants {
  grid-area: variants;
  min-width: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__area-buy {
  grid-area: buy;
  min-width: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__area-description {
  grid-area: description;
  min-width: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__area-calculate-delivery {
  grid-area: calculate-delivery;
  min-width: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  grid-template-areas: "thumbs main";
  gap: 1rem;
  min-width: 0;
  padding-inline-start: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] :where(
  .product__gallery-main,
  .product__gallery-main .splide,
  .product__gallery-main .splide__track,
  .product__gallery-main .splide__list,
  .product__gallery-main .splide__slide
) {
  min-width: 0;
  max-width: 100%;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-main {
  grid-area: main;
  width: 100%;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-main :where(.splide__slide, .img-ratio) {
  overflow: hidden;
  border: 1px solid rgb(37 37 34 / 0.045);
  border-radius: var(--kwdl-radius-media, 2px);
  background: var(--kw-shop-soft);
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-main img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-tumbs {
  position: static;
  grid-area: thumbs;
  width: 100%;
  min-width: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-tumbs .splide__slide {
  overflow: hidden;
  margin-bottom: 0.65rem;
  border: 1px solid transparent;
  border-radius: var(--kwdl-radius-media, 2px);
  background: var(--kw-shop-soft);
  cursor: pointer;
  opacity: 0.62;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-tumbs .splide__slide.is-active {
  border-color: var(--kw-shop-ink);
  opacity: 1;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-main .splide__arrow {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  border: 1px solid var(--kw-commerce-line) !important;
  border-radius: 50% !important;
  background: var(--kwdl-porcelain, #fcfbf8) !important;
  box-shadow: none !important;
  color: var(--kw-shop-ink) !important;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-main .splide__arrow:not(:disabled) {
  visibility: visible !important;
  opacity: 1 !important;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-main .splide__arrow:disabled {
  visibility: visible !important;
  opacity: 0.35 !important;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-main .splide__track {
  touch-action: pan-y pinch-zoom;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-tumbs .splide__slide:focus-visible {
  outline: 2px solid var(--kw-shop-ink);
  outline-offset: 2px;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-main .splide__pagination {
  gap: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-main .splide__pagination__page {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 32px !important;
  min-width: 32px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-main .splide__pagination__page::before {
  width: 18px;
  height: 1px;
  background: var(--kw-shop-muted);
  content: "";
  transition: width var(--kw-commerce-fast) var(--kw-commerce-ease), background-color var(--kw-commerce-fast) var(--kw-commerce-ease);
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-main .splide__pagination__page.is-active::before {
  width: 28px;
  background: var(--kw-shop-ink);
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__title {
  max-width: 13ch;
  margin: 0;
  color: var(--kw-shop-ink);
  font-size: clamp(2.25rem, 4vw, 4.65rem);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.045em;
  overflow-wrap: anywhere;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__user-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  padding-block: 1rem 1.4rem;
  border-bottom: 1px solid var(--kw-commerce-line);
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__user-controls .favorites_btn {
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0 !important;
  border: 1px solid var(--kw-commerce-line) !important;
  border-radius: 50% !important;
  background: var(--kwdl-porcelain, #fcfbf8) !important;
  color: var(--kw-shop-ink) !important;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__user-controls .favorites_btn.favorites-added {
  border-color: rgb(182 74 67 / 0.4) !important;
  color: var(--kw-commerce-red) !important;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] :where(.product__variants, [data-product-variants]) {
  display: grid;
  gap: 0.85rem;
  padding-block: 1.4rem;
  border-bottom: 1px solid var(--kw-commerce-line);
}

body[data-kw-design-lab="v1"][data-theme-template="product"] :where(.variant-selector, .option-selector, .product__option) {
  min-width: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] :where(.variant-selector__label, .option-selector__label, .product__option-label) {
  display: block;
  margin-bottom: 0.45rem;
  color: var(--kw-shop-muted);
  font-size: 0.75rem;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__area-buy {
  padding-block: 1.5rem;
}

/* The native purchase panel uses a cold gray independently of the page theme.
   Keep these overrides on the PDP; the approved cart surface is unchanged. */
body[data-kw-design-lab="v1"][data-theme-template="product"] .product__buy {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  align-items: center;
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid var(--kw-commerce-line);
  border-radius: var(--kw-commerce-radius-control);
  background: var(--kw-shop-soft) !important;
  box-shadow: none;
}

@media (max-width: 1439px) {
  body[data-kw-design-lab="v1"][data-theme-template="product"] .product__buy {
    grid-template-columns: minmax(0, 1fr);
  }
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__buy > .product__price {
  margin-bottom: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__controls .add-cart-counter__detail {
  background: var(--kwdl-porcelain, #f7f4ef) !important;
  color: var(--kw-shop-ink) !important;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-shop-native--product .product__area-sku {
  margin-block: 0 0.75rem;
  color: #746d64;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__area-sku > .product__sku {
  margin-bottom: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__price {
  margin-bottom: 1.2rem;
  color: var(--kw-shop-ink);
  font-size: clamp(1.4rem, 2vw, 2rem);
  font-variant-numeric: tabular-nums;
  font-weight: 400;
  line-height: 1.1;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.65rem;
  min-width: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__controls .add-cart-counter {
  width: 100%;
  min-width: 0;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__controls :where(
  .add-cart-counter__btn,
  button[type="submit"],
  input[type="submit"]
) {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--kw-shop-ink) !important;
  border-radius: var(--kw-commerce-radius-control) !important;
  background: var(--kw-shop-ink) !important;
  color: var(--kwdl-white, #ffffff) !important;
  box-shadow: none !important;
  font-size: 0.9375rem;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__controls .add-cart-counter__controls-btn {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--kw-commerce-line) !important;
  border-radius: var(--kw-commerce-radius-control) !important;
  background: var(--kwdl-porcelain, #fcfbf8) !important;
  color: var(--kw-shop-ink) !important;
  box-shadow: none !important;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__buy-one-click {
  display: none !important;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] :where(.product__available, .product__not-available) {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 0.35rem 0.65rem;
  border: 1px solid var(--kw-commerce-line);
  border-radius: var(--kwdl-radius-pill, 999px);
  background: var(--kwdl-porcelain, #fcfbf8);
  color: var(--kw-shop-muted);
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] :where(.product__area-description, .product__area-calculate-delivery) {
  padding-block: 1.1rem;
  border-top: 1px solid var(--kw-commerce-line);
  color: var(--kw-shop-muted);
  font-size: 0.875rem;
  line-height: 1.55;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .widget-type_system_widget_v4_product_info_2 {
  padding-block: 0 clamp(3.5rem, 7vw, 7rem);
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .widget-type_system_widget_v4_product_info_2 :where(.tabs, .product-description) {
  max-width: 58rem;
  margin-inline: auto;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .tabs__head {
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  border-bottom: 1px solid var(--kw-commerce-line);
  scrollbar-width: thin;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .tabs__head-item {
  min-height: 46px;
  padding: 0.75rem 0;
  border: 0;
  background: transparent;
  color: var(--kw-shop-muted);
  white-space: nowrap;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .tabs__head-item.is-active {
  color: var(--kw-shop-ink);
  box-shadow: inset 0 -1px 0 var(--kw-shop-ink);
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .tabs__content {
  padding-block: 1.5rem;
  color: var(--kw-shop-muted);
  font-size: 1rem;
  line-height: 1.65;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-craft-note {
  grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.65fr);
  gap: clamp(2.5rem, 7vw, 7.5rem);
  padding-block: clamp(3.5rem, 7vw, 7rem);
  border-top: 1px solid var(--kw-commerce-line);
  border-bottom: 1px solid var(--kw-commerce-line);
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-craft-note h2 {
  max-width: 12ch;
  margin: 0.35em 0 0.45em;
  font-size: clamp(2.2rem, 4.3vw, 4.8rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-craft-note__copy > p:not(.kw-shop-eyebrow) {
  max-width: 42rem;
  font-size: clamp(1rem, 1.2vw, 1.2rem);
  line-height: 1.6;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-variation-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.25rem;
  padding: 1.5rem 0 0;
  margin: 0;
  color: var(--kw-shop-muted);
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  list-style: none;
  text-transform: uppercase;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-variation-list li::before {
  margin-right: 0.45rem;
  color: var(--kw-commerce-red);
  content: "·";
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-craft-note__status {
  align-self: center;
  padding: 1.25rem 0;
  border-top: 1px solid var(--kw-shop-ink);
  border-bottom: 1px solid var(--kw-commerce-line);
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-status {
  margin-bottom: 0.8rem;
  color: var(--kw-shop-ink);
  font-size: 0.6875rem;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-status--sold-out {
  color: var(--kw-commerce-danger);
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-craft-note__status :where(.kw-shop-button, .kw-shop-text-link) {
  width: 100%;
  margin-top: 1.1rem;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-craft-note__status .kw-shop-button {
  border-radius: var(--kw-commerce-radius-control);
}

body[data-kw-design-lab="v1"][data-theme-template="product"] :where(
  .widget-type_system_widget_v4_products_related_5,
  .widget-type_system_widget_v4_products_similar_5
) {
  padding-block: clamp(3.5rem, 6vw, 6rem);
}

body[data-kw-design-lab="v1"][data-theme-template="product"] :where(
  .widget-type_system_widget_v4_products_related_5,
  .widget-type_system_widget_v4_products_similar_5
) .catalog-list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(2rem, 4vw, 4rem) clamp(1rem, 2vw, 2rem) !important;
}

/* Cart: roomy rows on desktop, a deliberately recomposed flow on small screens. */

body[data-kw-design-lab="v1"] :where(.kw-shop-native--cart, .kw-shop-native--shared-cart) > .widget-type_system_widget_v4_page_title_1 {
  display: none !important;
}

body[data-kw-design-lab="v1"][data-theme-template="cart"] .kw-shop-native--cart > .widget-type_system_widget_v4_cart_2 > .layout__content > h1.heading {
  display: none !important;
}

body[data-kw-design-lab="v1"] :where(
  .kw-shop-native--cart .widget-type_system_widget_v4_cart_2,
  .kw-shop-native--shared-cart .widget-type_system_widget_v4_shared_cart_1
) > .layout__content {
  width: 100%;
  max-width: none;
  padding-inline: var(--kw-shop-gutter);
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(19rem, 23rem);
  grid-template-areas: "items summary";
  align-items: start;
  gap: clamp(2rem, 5vw, 5rem);
  min-width: 0;
  max-width: var(--kw-shop-max-width);
  margin-inline: auto;
}

/* The native AJAX cart keeps its form in the DOM after the final item is
   removed and marks it as hidden. Preserve that state even though the design
   layer otherwise promotes the form to a grid. The explicit empty-state class
   is synchronized by kw-shop.js and also rendered from cart.items_count. */
body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart.hidden,
body[data-kw-design-lab="v1"] .kw-shop-native--cart.kw-cart-is-empty .cart__area-controls {
  display: none !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart.kw-cart-is-empty .cart {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "items";
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart.kw-cart-is-empty .cart__area-items {
  border-top: 0;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart__area-items {
  grid-area: items;
  min-width: 0;
  border-top: 1px solid var(--kw-shop-ink);
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart__area-controls {
  grid-area: summary;
  min-width: 0;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item {
  display: grid !important;
  grid-template-columns: 7.5rem minmax(0, 1fr) minmax(6.5rem, auto) minmax(6.5rem, auto);
  grid-template-areas:
    "image title price total"
    "image counter counter delete";
  align-items: start;
  gap: 0.75rem 1.25rem;
  min-width: 0;
  padding-block: 1.5rem;
  border-bottom: 1px solid var(--kw-commerce-line);
  background: transparent;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-image {
  grid-area: image;
  width: 7.5rem;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--kwdl-radius-media, 2px);
  background: var(--kw-shop-soft);
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-title {
  grid-area: title;
  min-width: 0;
  color: var(--kw-shop-ink);
  font-size: clamp(1rem, 1.3vw, 1.2rem);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-title a {
  color: var(--kw-shop-ink);
  text-decoration-color: transparent;
  text-underline-offset: 4px;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-price {
  grid-area: price;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-total {
  grid-area: total;
  color: var(--kw-shop-ink);
  font-weight: 500;
  text-align: right;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item :where(.item-price, .item-total) {
  min-width: 0;
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.4;
  white-space: nowrap;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-counter {
  grid-area: counter;
  min-width: 0;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .counter {
  display: inline-grid;
  grid-template-columns: 44px minmax(2.75rem, 3.5rem) 44px;
  align-items: center;
  min-width: 0;
  border: 1px solid var(--kw-commerce-line);
  border-radius: var(--kw-commerce-radius-control);
  overflow: hidden;
  background: var(--kwdl-porcelain, #fcfbf8);
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .counter :where(button, .counter-button) {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--kw-shop-ink) !important;
  box-shadow: none !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .counter .counter-input {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0.4rem 0.25rem;
  border: 0;
  border-right: 1px solid var(--kw-commerce-line);
  border-left: 1px solid var(--kw-commerce-line);
  border-radius: 0;
  background: transparent;
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
  text-align: center;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-delete {
  grid-area: delete;
  justify-content: flex-end;
  align-items: center;
  min-width: 0;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-delete :where(a, button, [role="button"]) {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0.4rem;
  border: 0 !important;
  background: transparent !important;
  color: var(--kw-shop-muted) !important;
  font-size: 0.75rem;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart__sticky {
  position: sticky;
  top: 1.25rem;
  min-width: 0;
  padding: 1.4rem;
  border: 1px solid var(--kw-commerce-line);
  border-radius: var(--kw-commerce-radius-panel);
  background: var(--kw-shop-soft);
  box-shadow: none;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart :where(.cart__count, .cart__total, .cart__discount, .cart__delivery) {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  min-width: 0;
  padding-block: 0.7rem;
  border-bottom: 1px solid var(--kw-commerce-line);
  font-size: 0.875rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart__total {
  padding-block: 1rem;
  color: var(--kw-shop-ink);
  font-size: clamp(1.15rem, 1.8vw, 1.5rem);
  font-weight: 500;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .coupon {
  min-width: 0;
  border-bottom: 1px solid var(--kw-commerce-line);
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .coupon-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 48px;
  color: var(--kw-shop-ink);
  font-size: 0.8125rem;
  cursor: pointer;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .coupon-content {
  padding-bottom: 1rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .coupon-content.hidden {
  display: none;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .coupon-content :where(input, .form-control) {
  width: 100%;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart :where(.cart__cart-controls, .cart__controls) {
  display: grid;
  gap: 0.65rem;
  padding-top: 1.25rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart [data-cart-submit] {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--kw-shop-ink) !important;
  border-radius: var(--kw-commerce-radius-control) !important;
  background: var(--kw-shop-ink) !important;
  color: var(--kwdl-white, #ffffff) !important;
  box-shadow: none !important;
  font-size: 0.9375rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart :where(.js-cart-empty, .empty-cart, .cart-empty, .empty-cart-message),
body[data-kw-design-lab="v1"] .kw-shop-native--favorite :where(.empty-catalog-message, .favorites-empty),
body[data-kw-design-lab="v1"] .kw-shop-native--shared-cart :where(.empty-cart, .shared-cart-empty) {
  width: min(calc(100% - var(--kw-shop-gutter) * 2), 46rem);
  margin: 1rem auto clamp(4rem, 8vw, 8rem);
  padding: clamp(2rem, 5vw, 4.5rem);
  border: 1px solid var(--kw-commerce-line);
  border-radius: var(--kw-commerce-radius-panel);
  background: var(--kw-shop-soft);
  color: var(--kw-shop-muted);
  text-align: center;
}

body[data-kw-design-lab="v1"] .kw-shop-native--shared-cart .widget-type_system_widget_v4_shared_cart_1 {
  min-width: 0;
}

body[data-kw-design-lab="v1"] .kw-shop-native--shared-cart :where(.shared-cart, .shared-cart__items, .shared-cart-item) {
  min-width: 0;
  max-width: 100%;
}

body[data-kw-design-lab="v1"] .kw-shop-native--favorite .catalog-list {
  padding-bottom: clamp(3rem, 6vw, 6rem);
}

@media (hover: hover) {
  body[data-kw-design-lab="v1"] .kw-shop-native .product-preview:hover .product-preview__photo > .img-ratio {
    border-color: rgb(37 37 34 / 0.16);
  }

  body[data-kw-design-lab="v1"] .kw-shop-native .product-preview:hover .product-preview__title a,
  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-title a:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter__controls :where(button, .button, input[type="submit"]):hover,
  body[data-kw-design-lab="v1"][data-theme-template="product"] .product__controls :where(.add-cart-counter__btn, button[type="submit"], input[type="submit"]):hover,
  body[data-kw-design-lab="v1"] .kw-shop-native--cart [data-cart-submit]:hover {
    background: #3a3935 !important;
    color: var(--kwdl-white, #ffffff) !important;
  }
}

@media (max-width: 1199px) {
  body[data-kw-design-lab="v1"][data-theme-template="product"] .product {
    grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
    column-gap: 2.5rem;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item {
    grid-template-columns: 6.5rem minmax(0, 1fr) auto;
    grid-template-areas:
      "image title total"
      "image price price"
      "image counter delete";
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-image {
    width: 6.5rem;
  }
}

@media (max-width: 1024px) {
  body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "main";
    gap: 0;
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-tumbs {
    display: none !important;
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] .widget-type_system_widget_v4_product_info_2 > .layout__content > .tabs > .tabs__head {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  body[data-kw-design-lab="v1"] :where(
    .kw-shop-native--collection,
    .kw-shop-native--favorite
  ) .catalog-list,
  body[data-kw-design-lab="v1"][data-theme-template="product"] :where(
    .widget-type_system_widget_v4_products_related_5,
    .widget-type_system_widget_v4_products_similar_5
  ) .catalog-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart {
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 19rem);
    gap: 2rem;
  }
}

@media (max-width: 899px) {
  body[data-kw-design-lab="v1"][data-theme-template="product"] .product {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "photo"
      "title"
      "user-controls"
      "variants"
      "buy"
      "sku"
      "description"
      "calculate-delivery";
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] .product__area-sku {
    margin-top: 0.75rem;
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] .product__title {
    max-width: 16ch;
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-craft-note {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-craft-note__status {
    align-self: auto;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart {
    display: block !important;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart__area-controls {
    margin-top: 2rem;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart__sticky {
    position: static;
    padding: clamp(1.1rem, 4vw, 1.5rem);
  }
}

@media (min-width: 1100px) {
  /* The native desktop grid already provides the outer margin and column gap.
     A second page gutter inside each column displaced the heading, cards and
     sort control. Keep the catalog's content on one shared vertical edge. */
  body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-shop-native--collection :is(.kw-catalog-masthead, .kw-collection-navigation) {
    width: 100%;
    margin-inline: 0;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-catalog-masthead {
    padding-block: 0 2.25rem;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-collection-navigation {
    padding-bottom: 2rem;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-shop-native--collection > .layout.widget-type_system_widget_v4_catalog_4 {
    padding-inline: 0;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-shop-sidebar .filter {
    position: static !important;
    display: block !important;
    height: auto !important;
    max-height: none !important;
    visibility: visible !important;
    transform: none !important;
  }
}

@media (max-width: 1099px) {
  html.kw-shop-filter-lock,
  html.kw-shop-filter-lock body {
    overflow: hidden;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-shop-sidebar {
    position: static;
    width: 100%;
    height: 0;
    min-height: 0;
    padding: 0;
    overflow: visible;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-shop-sidebar > section {
    position: static;
    height: 0;
    min-height: 0;
    border: 0;
    background: transparent;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-mobile-controls {
    position: sticky;
    z-index: 12;
    top: 0;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.5rem;
    width: auto;
    padding: 0.6rem var(--kw-shop-gutter);
    border-top: 1px solid var(--kw-commerce-line);
    border-bottom: 1px solid var(--kw-commerce-line);
    background: var(--kwdl-porcelain, #fcfbf8);
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-mobile-controls :where(
    .collection-sort,
    .collection-sort__select,
    .select-wrapper
  ) {
    width: 100%;
    min-width: 0;
    padding: 0;
    margin: 0;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-mobile-controls :where(select, .form-control) {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 0.55rem 1.9rem 0.55rem 0.7rem;
    border: 1px solid var(--kw-commerce-line);
    border-radius: var(--kw-commerce-radius-control);
    background: var(--kwdl-porcelain, #fcfbf8);
    color: var(--kw-shop-ink);
    font-size: 0.75rem;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-filter-trigger {
    position: relative;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 0.55rem 0.7rem !important;
    border: 1px solid var(--kw-commerce-line) !important;
    border-radius: var(--kw-commerce-radius-control) !important;
    background: var(--kwdl-porcelain, #fcfbf8) !important;
    color: var(--kw-shop-ink) !important;
    box-shadow: none !important;
    font-size: 0.75rem;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-filter-trigger.has-active-filters {
    border-color: var(--kw-shop-ink) !important;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-filter-selected-count {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding-inline: 0.3rem;
    border-radius: var(--kwdl-radius-pill, 999px);
    background: var(--kw-shop-ink);
    color: var(--kwdl-white, #ffffff);
    font-size: 0.625rem;
    font-variant-numeric: tabular-nums;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-filter-selected-count[hidden] {
    display: none;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter {
    position: fixed !important;
    z-index: 1040;
    inset: auto 0 0 !important;
    display: flex !important;
    flex-direction: column;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: min(86dvh, 46rem) !important;
    padding: 0;
    border: 1px solid var(--kw-commerce-line);
    border-bottom: 0;
    border-radius: var(--kw-commerce-radius-panel) var(--kw-commerce-radius-panel) 0 0;
    overflow: hidden;
    background: var(--kwdl-porcelain, #fcfbf8);
    box-shadow: 0 -12px 40px rgb(37 37 34 / 0.12);
    visibility: hidden !important;
    opacity: 0;
    transform: translateY(calc(100% + 2rem)) !important;
    transition: transform var(--kw-commerce-fast) var(--kw-commerce-ease), opacity var(--kw-commerce-fast) ease, visibility 0s linear var(--kw-commerce-fast);
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter.is-show-mobile {
    visibility: visible !important;
    opacity: 1;
    transform: translateY(0) !important;
    transition-delay: 0s;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter[aria-hidden="true"] {
    pointer-events: none;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter__head {
    flex: 0 0 auto;
    min-height: 62px;
    padding-inline: var(--kw-shop-gutter);
    background: var(--kwdl-porcelain, #fcfbf8);
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter__hide-mobile-filter-btn {
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    order: -1;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--kw-shop-ink) !important;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] :where(.filter__body, .filter__content, .filter__items) {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-item__head {
    padding-inline: var(--kw-shop-gutter) calc(var(--kw-shop-gutter) + 1.5rem);
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-item__head::after {
    right: var(--kw-shop-gutter);
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-item__content {
    padding-inline: var(--kw-shop-gutter);
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter__controls {
    position: sticky;
    z-index: 2;
    bottom: 0;
    flex: 0 0 auto;
    padding: 0.75rem var(--kw-shop-gutter) calc(0.75rem + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--kw-commerce-line);
    background: var(--kwdl-porcelain, #fcfbf8);
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-filter-backdrop:not([hidden]) {
    position: fixed;
    z-index: 1035;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0 !important;
    background: rgb(37 37 34 / 0.48);
    cursor: default;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .collection-sort:not(.filter-mobile-controls .collection-sort) {
    display: none;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-shop-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] :where(
    .kw-shop-content,
    .kw-shop-sidebar,
    .kw-shop-section-top
  ) {
    grid-column: 1 / -1 !important;
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 759px) {

  body[data-kw-design-lab="v1"] .kw-commerce-masthead {
    padding-block: 2.25rem 2rem;
  }

  body[data-kw-design-lab="v1"] .kw-commerce-masthead h1 {
    max-width: 14ch;
    font-size: clamp(2.35rem, 12vw, 3.75rem);
  }

  body[data-kw-design-lab="v1"][data-theme-template="collection"] .kw-collection-navigation__list {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] .widget-type_system_widget_v4_product_1 {
    padding-block: 1.5rem 3.5rem;
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "main";
    gap: 0;
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-tumbs {
    display: none !important;
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-main .splide__arrow--prev {
    left: 0.75rem;
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] .product__gallery-main .splide__arrow--next {
    right: 0.75rem;
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] .product__title {
    font-size: clamp(2.25rem, 11vw, 3.6rem);
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-craft-note {
    gap: 2rem;
    padding-block: 3.5rem;
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-craft-note h2 {
    font-size: clamp(2.2rem, 10vw, 3.5rem);
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item {
    grid-template-columns: 6rem minmax(0, 1fr) auto;
    grid-template-areas:
      "image title title"
      "image price total"
      "image counter counter"
      "image delete delete";
    gap: 0.5rem 0.9rem;
    padding-block: 1.15rem;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-image {
    width: 6rem;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-total {
    text-align: right;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-delete {
    justify-content: flex-start;
    padding-top: 0.25rem;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart__area-controls {
    margin-inline: calc(var(--kw-shop-gutter) * -1);
    margin-bottom: calc(-1 * clamp(3rem, 7vw, 7.5rem));
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart__sticky {
    padding: 1.25rem var(--kw-shop-gutter) calc(1.25rem + env(safe-area-inset-bottom, 0px));
    border-inline: 0;
    border-bottom: 0;
    border-radius: var(--kw-commerce-radius-panel) var(--kw-commerce-radius-panel) 0 0;
    background: var(--kw-shop-soft);
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart [data-cart-submit] {
    min-height: 54px;
  }

  body[data-kw-design-lab="v1"][data-kw-shop-template="true"] .kw-shop-native {
    padding-block-end: calc(3rem + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 560px) {
  body[data-kw-design-lab="v1"] :where(
    .kw-shop-native--collection,
    .kw-shop-native--favorite
  ) .catalog-list {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 3.25rem !important;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__area-title {
    padding-top: 0.85rem;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__title {
    font-size: 1.05rem;
  }

  body[data-kw-design-lab="v1"][data-theme-template="product"] :where(
    .widget-type_system_widget_v4_products_related_5,
    .widget-type_system_widget_v4_products_similar_5
  ) .catalog-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 430px) {
  body[data-kw-design-lab="v1"][data-theme-template="collection"] .filter-mobile-controls {
    padding-inline: 1rem;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item {
    grid-template-columns: 5.25rem minmax(0, 1fr);
    grid-template-areas:
      "image title"
      "image price"
      "image total"
      "image counter"
      "delete delete";
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-image {
    width: 5.25rem;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-total {
    text-align: left;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .counter {
    grid-template-columns: 44px minmax(2.5rem, 1fr) 44px;
    width: min(100%, 10rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-kw-design-lab="v1"] .filter,
  body[data-kw-design-lab="v1"] .filter-item__head::after,
  body[data-kw-design-lab="v1"] .product-preview__photo img {
    transition: none !important;
  }
}

/* --------------------------------------------------------------------------
   Design Lab QA pass: reset the native card columns instead of compensating
   for them with per-breakpoint margins. These rules intentionally sit last,
   after every widget stylesheet, and remain scoped to the unpublished lab.
   -------------------------------------------------------------------------- */

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview {
  width: 100% !important;
  max-width: none !important;
  height: 100%;
  padding: 0 !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__content {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto minmax(min-content, 1fr) auto !important;
  grid-template-areas:
    "photo"
    "tools"
    "title"
    "bottom" !important;
  width: 100% !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__area-photo {
  grid-area: photo !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0;
  align-self: start;
  aspect-ratio: 3 / 4;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__area-title {
  grid-area: title !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-height: 3.7em;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__area-bottom {
  grid-area: bottom !important;
  grid-column: 1 / -1 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas:
    "price"
    "availability"
    "action"
    "sku" !important;
  align-items: start;
  gap: 0.65rem;
  width: 100% !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__photo {
  position: relative;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible;
  background: transparent;
}

body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-gallery__controls {
  position: static;
  inset: auto;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 0.4rem;
  pointer-events: none;
}

body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-gallery__control {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 1px solid rgb(37 37 34 / 0.2);
  border-radius: var(--kw-commerce-radius-control);
  background: rgb(252 251 248 / 0.94);
  color: var(--kw-shop-ink);
  font: inherit;
  font-size: 1rem;
  line-height: 1;
  box-shadow: none;
  cursor: pointer;
  pointer-events: auto;
  transition: color var(--kw-commerce-fast) ease, border-color var(--kw-commerce-fast) ease, background-color var(--kw-commerce-fast) ease;
}

body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-gallery__controls.is-loading .kw-card-gallery__control {
  cursor: wait;
  opacity: 0.55;
}

body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-gallery__control--next {
  grid-column: 3;
}

body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-gallery__control:disabled {
  cursor: default;
  opacity: 0.35;
}

body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-gallery__status {
  grid-column: 2;
  justify-self: center;
  min-width: 3rem;
  padding: 0.35rem 0.55rem;
  border-radius: var(--kwdl-radius-pill, 999px);
  background: rgb(252 251 248 / 0.92);
  color: var(--kw-shop-ink);
  font-size: 0.6875rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  text-align: center;
  pointer-events: none;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__user-controls .favorites_btn {
  width: auto;
  max-width: 100%;
  height: auto;
  min-height: 44px;
  padding: 0.65rem 0.85rem !important;
  border-radius: var(--kw-commerce-radius-control) !important;
  overflow: visible;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__photo > .img-ratio {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  height: auto !important;
  padding-top: 0 !important;
  aspect-ratio: 3 / 4;
  overflow: hidden;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__photo img {
  max-width: none;
  object-fit: contain !important;
}

/* Unavailable pieces remain objects to consider, not disabled thumbnails.
   Native purchase disabling stays intact; only the image fade is removed. */
body[data-kw-design-lab="v1"] .kw-shop-native .product-preview.is-all-variants-not-available .product-preview__photo img,
body[data-kw-design-lab="v1"] .kw-shop-native .product-preview.not-available .product-preview__photo img {
  opacity: 1 !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview .product-preview__available,
body[data-kw-design-lab="v1"] .kw-shop-native .product-preview .product-preview__not-available {
  grid-area: availability;
  position: static !important;
  inset: auto !important;
  gap: 0.45rem;
  width: fit-content;
  max-width: 100%;
  min-height: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--kw-shop-muted);
  font-size: 0.8125rem !important;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none !important;
  white-space: normal;
}

body[data-kw-design-lab="v1"] .kw-shop-native :where(.product-preview__available, .product-preview__not-available)::before {
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--kw-commerce-red);
  content: "";
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__controls-left {
  position: absolute !important;
  z-index: 4;
  top: 0.65rem !important;
  right: 0.65rem !important;
  bottom: auto !important;
  left: auto !important;
  display: block !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__price {
  grid-area: price;
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.35;
}

/* Native price span has its own type and unavailable colour rules. Inherit the
   card price scale rather than making the visible amount larger or faded. */
body[data-kw-design-lab="v1"] .kw-shop-native .product-preview .product-preview__price > .product-preview__price-cur {
  color: var(--kw-shop-ink) !important;
  font-size: inherit !important;
  font-weight: inherit;
  line-height: inherit;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__area-bottom > .kw-product-sku {
  grid-area: sku;
  margin-top: 0.15rem;
  color: #746d64;
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview[data-kw-repeatable="true"] .product-preview__detail-btn {
  display: none !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview[data-kw-repeatable="true"] .product-preview__area-bottom > .product-preview__controls {
  min-height: 0;
  height: 0;
  padding: 0;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__detail-btn {
  width: 100%;
  min-height: 44px;
  font-size: 0.875rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__area-bottom > [itemprop="offers"] {
  display: none !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__area-bottom > .product-preview__controls {
  grid-area: action;
  grid-column: 1 !important;
  grid-row: 3 !important;
  justify-self: stretch;
  width: 100%;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview .add-cart-counter,
body[data-kw-design-lab="v1"] .kw-shop-native .product-preview .add-cart-counter__btn,
body[data-kw-design-lab="v1"] .kw-shop-native .product-preview .add-cart-counter__controls-btn {
  width: 100% !important;
  max-width: none !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview .add-cart-counter__btn {
  gap: 0.55rem;
  font-size: 0.875rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview .add-cart-counter__btn::after {
  content: "В корзину";
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .product__area-buy :where(.product__available, .product__not-available) {
  position: static !important;
  inset: auto !important;
  margin: 0 0 0.9rem;
}

body[data-kw-design-lab="v1"][data-theme-template="product"] .kw-product-area--empty {
  display: none !important;
}

body[data-kw-design-lab="v1"] .widget-type_system_widget_v4_special_products_6 .special-products__slider-controls {
  display: none !important;
}

body[data-kw-design-lab="v1"] .widget-type_system_widget_v4_special_products_6 .splide__arrows {
  position: static !important;
  display: flex !important;
  justify-content: flex-end;
  gap: 0.5rem;
  width: 100%;
  padding-bottom: 1rem;
}

body[data-kw-design-lab="v1"] .widget-type_system_widget_v4_special_products_6 .splide__arrow {
  position: static !important;
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border: 1px solid var(--kw-commerce-line) !important;
  border-radius: var(--kw-commerce-radius-control) !important;
  background: transparent !important;
  color: var(--kw-shop-ink) !important;
  box-shadow: none !important;
  opacity: 1;
  transform: none !important;
}

body[data-kw-design-lab="v1"] .widget-type_system_widget_v4_special_products_6 .splide__arrow:disabled {
  opacity: 0.35;
}

body[data-kw-design-lab="v1"] .kw-shop-footer .kw-shop-container {
  width: min(calc(100% - var(--kw-shop-gutter) * 2), 1080px);
}

@media (max-width: 1099px) {
  body[data-kw-design-lab="v1"] :where(
    .kw-shop-native--collection,
    .kw-shop-native--favorite
  ) .widget-type_system_widget_v4_catalog_4 > .layout__content {
    padding-inline: var(--kw-shop-gutter);
  }
}

@media (max-width: 759px) {
  body[data-kw-design-lab="v1"] :where(
    .kw-shop-native--collection,
    .kw-shop-native--favorite
  ) .catalog-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2.75rem 0.85rem !important;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__area-title {
    padding-top: 0.75rem;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__title {
    font-size: 0.875rem;
    line-height: 1.38;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__price {
    font-size: 1rem;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-gallery__controls {
    right: 0.4rem;
    bottom: 0.4rem;
    left: 0.4rem;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-gallery__status {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }

}

/* The page shell already supplies side gutters: do not inset its catalog again. */
body[data-kw-design-lab="v1"] :is(.kw-shop-native--collection, .kw-shop-native--favorite) .widget-type_system_widget_v4_catalog_4 > .layout__content {
  padding-inline: 0;
}

/* Native .catalog cancels its old column padding with negative side margins.
   Our grid has no padded columns: preserve the widget's outer mobile gutter. */
body[data-kw-design-lab="v1"] :is(.kw-shop-native--collection, .kw-shop-native--favorite) .widget-type_system_widget_v4_catalog_4 .catalog {
  margin-inline: 0 !important;
}

@media (max-width: 339px) {
  body[data-kw-design-lab="v1"] :where(
    .kw-shop-native--collection,
    .kw-shop-native--favorite
  ) .catalog-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (hover: hover) {
  body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-gallery__control:not(:disabled):hover {
    border-color: var(--kw-shop-ink);
    background: var(--kw-shop-ink);
    color: #fff;
  }

  body[data-kw-design-lab="v1"] .widget-type_system_widget_v4_special_products_6 .splide__arrow:not(:disabled):hover {
    border-color: var(--kw-shop-ink) !important;
    background: var(--kw-shop-ink) !important;
    color: #fff !important;
  }
}

/* V14.5: the object owns the photograph; secondary tools have a separate row. */
body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-tools {
  grid-area: tools;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  min-width: 0;
  min-height: 44px;
  padding-top: 0.25rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-tools .kw-card-gallery__controls {
  flex: 1 1 auto;
  position: static !important;
  inset: auto !important;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  gap: 0;
}

body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-tools button.kw-card-gallery__control {
  border: 0 !important;
  background: transparent !important;
  color: var(--kw-shop-ink) !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-tools button.kw-card-gallery__control:focus-visible {
  outline: 2px solid var(--kw-shop-ink);
  outline-offset: 2px;
}

body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-tools .kw-card-gallery__status {
  position: static !important;
  width: auto !important;
  min-width: 0;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  background: transparent;
}

body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-tools .favorites_btn {
  flex: 0 0 44px;
  border: 0 !important;
  background: transparent !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-tools .favorites_btn .btn-icon {
  font-size: 19px !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__area-title {
  padding-top: 0.25rem;
  min-height: 3.1em;
}

body[data-kw-design-lab="v1"] .kw-shop-native .product-preview__controls-left:empty {
  display: none !important;
}

/* Avoid the native widget's second gutter and padded slide columns. */
body[data-kw-design-lab="v1"] .kw-shop-native--cart > :is(.widget-type_system_widget_v4_cart_2, .widget-type_system_widget_v4_back_to_catalog, .widget-type_system_widget_v4_special_products_6),
body[data-kw-design-lab="v1"] .kw-shop-native--product > :is(.widget-type_system_widget_v4_products_related_5, .widget-type_system_widget_v4_products_similar_5) {
  padding-inline: 0;
}

body[data-kw-design-lab="v1"] .kw-shop-native :is(.widget-type_system_widget_v4_special_products_6, .widget-type_system_widget_v4_products_related_5, .widget-type_system_widget_v4_products_similar_5) .splide__slide {
  padding-inline: 0;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .kw-cart-masthead {
  padding-block: clamp(2rem, 3vw, 3rem) 1.25rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .kw-order-help {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.75rem;
  max-width: 40rem;
  margin: 0.75rem 0 0;
  color: var(--kw-shop-muted);
  font-size: 0.875rem;
  line-height: 1.5;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .kw-order-help__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  min-height: 44px;
  max-width: 100%;
  color: var(--kw-shop-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .kw-order-help__link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .widget-type_system_widget_v4_back_to_catalog > .layout__content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 var(--kw-shop-gutter) 1.5rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart a.button.back_to_catalog {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 44px;
  padding: 0.5rem 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--kw-shop-muted) !important;
  text-decoration: underline;
  text-underline-offset: 4px;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart__area-controls-sticky {
  position: sticky;
  top: 1rem;
  display: grid;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px solid var(--kw-commerce-line);
  border-radius: var(--kw-commerce-radius-panel);
  background: var(--kw-shop-soft);
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart :is(.cart__area-count, .cart__area-coupon) {
  padding: 0;
  background: transparent;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .coupon-content:not(.hidden) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.65rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .coupon-button.button[data-coupon-submit] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  justify-self: stretch;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 0.65rem 1rem !important;
  border: 1px solid var(--kw-commerce-line) !important;
  background: transparent !important;
  color: var(--kw-shop-ink) !important;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-top: 1rem;
  border-top: 1px solid var(--kw-commerce-line);
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .total::before {
  content: "Итого";
  font-size: 1rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item {
  grid-template-columns: 9rem minmax(0, 1fr) auto;
  grid-template-areas: "image title total" "image price price" "image counter counter" "image delete delete";
  align-items: start;
  row-gap: 0.6rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item > .item-image {
  width: 9rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item > .item-image .img-ratio {
  display: block;
  width: 100% !important;
  height: auto !important;
  padding-top: 0 !important;
  aspect-ratio: 3 / 4;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item > .item-image img.item-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-counter {
  justify-self: start;
  align-self: start;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart .widget-type_system_widget_v4_cart_2 .cart-item .item-delete {
  grid-area: delete;
  justify-content: flex-start;
  align-self: end;
  gap: 0.25rem 0.75rem;
}

body[data-kw-design-lab="v1"] .kw-shop-native--cart :where(.empty-cart, .empty-cart-message) {
  margin-bottom: 1.5rem;
  padding: 2rem;
}

@media (max-width: 899px) {
  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart__area-controls {
    margin: 1.5rem 0 0 !important;
    width: 100%;
    min-width: 0;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart__area-controls-sticky {
    position: static;
  }
}

@media (max-width: 550px) {
  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item {
    grid-template-columns: 6.5rem minmax(0, 1fr);
    grid-template-areas: "image title" "image price" "image total" "image counter" "delete delete";
    column-gap: 1rem;
  }
  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item > .item-image { width: 6.5rem; }
  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart-item .item-total { text-align: left; }
  body[data-kw-design-lab="v1"] .kw-shop-native--cart .cart__area-controls-sticky { padding: 1.1rem; }
}

@media (max-width: 400px) {
  body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-tools .kw-card-gallery__controls {
    grid-template-columns: 44px 44px;
    justify-content: space-between;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-tools .kw-card-gallery__control--next {
    grid-column: 2;
  }

  body[data-kw-design-lab="v1"] .kw-shop-native .kw-card-tools .kw-card-gallery__status {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }
}
